[Zope-Checkins] CVS: Zope/lib/python/Products/Transience/dtml - addTransientObjectContainer.dtml:1.8.144.1 manageTransientObjectContainer.dtml:1.9.16.1

Chris McDonough chrism at plope.com
Sat May 22 23:52:26 EDT 2004


Update of /cvs-repository/Zope/lib/python/Products/Transience/dtml
In directory cvs.zope.org:/tmp/cvs-serv16636/lib/python/Products/Transience/dtml

Modified Files:
      Tag: Zope-2_7-branch
	addTransientObjectContainer.dtml 
	manageTransientObjectContainer.dtml 
Log Message:
- Add "instance-local" "period" to TransientObjectContainer.  This allows
  users to dial a knob which may (or may not) reduce the number of conflicts
  that happen during heavy sessioning usage by reducing the frequency at
  which buckets potentially expire at the cost of expiration time
  accuracy.  Previously, this setting was hardcoded to 20 (seconds) at
  module scope.

- Add 'session-resolution-seconds' to zope.conf.in/zopeschema.xml to
  control instance-local period for /temp_folder/session_data.

- Update TOC UI, interface, and help files to deal with instance-local
  period.

- Update OFS/Application to deal with instance-local period for default
  /temp/session_data TOC.

- Use __setstate__ for TOC upgrade instead of a dedicated _upgrade method
  (it was too hard to figure out where to call _upgrade from and when to
  call it).

- Perform a few formatting changes that should make it easier to merge the 2.7
  branch with the HEAD going forward.  I beseech those who make formatting
  changes to a branch or the HEAD make them to the other at that time
  as well, especially with the SVN/CVS split it's very painful to do merging
  when there are non-substantive differences between HEAD/maint.  When I was
  a child, I never thought I would need to use the word "beseech", however, it
  has indeed happened.



=== Zope/lib/python/Products/Transience/dtml/addTransientObjectContainer.dtml 1.8 => 1.8.144.1 ===
--- Zope/lib/python/Products/Transience/dtml/addTransientObjectContainer.dtml:1.8	Wed Nov 21 17:46:36 2001
+++ Zope/lib/python/Products/Transience/dtml/addTransientObjectContainer.dtml	Sat May 22 23:51:56 2004
@@ -62,7 +62,7 @@
 <TR>
   <TD ALIGN="LEFT" VALIGN="TOP">
     <div class="form-label">
-      Data object timeout in minutes
+      Data object timeout (in minutes)
    </div>
     <div class="form-help">
       ("0" means no expiration)
@@ -70,6 +70,20 @@
   </TD>
   <TD ALIGN="LEFT" VALIGN="TOP">
     <INPUT TYPE="TEXT" NAME="timeout_mins:int" SIZE="10" value="20">
+  </TD>
+</TR>
+
+<TR>
+  <TD ALIGN="LEFT" VALIGN="TOP">
+    <div class="form-label">
+      Timeout resolution (in seconds)
+   </div>
+    <div class="form-help">
+      (accept the default if you're not sure)
+    </div>
+  </TD>
+  <TD ALIGN="LEFT" VALIGN="TOP">
+    <INPUT TYPE="TEXT" NAME="period_secs:int" SIZE="10" value="20">
   </TD>
 </TR>
 


=== Zope/lib/python/Products/Transience/dtml/manageTransientObjectContainer.dtml 1.9 => 1.9.16.1 ===
--- Zope/lib/python/Products/Transience/dtml/manageTransientObjectContainer.dtml:1.9	Sun Dec 22 12:54:04 2002
+++ Zope/lib/python/Products/Transience/dtml/manageTransientObjectContainer.dtml	Sat May 22 23:51:56 2004
@@ -5,7 +5,6 @@
            help_topic='Transience-change.stx'
 	   )">
 
-
 <form action="manage_changeTransientObjectContainer" method="post">
 
 <p class="form-help">
@@ -13,7 +12,9 @@
 Transient data will persist, but only for a user-specified period of time
 (the "data object timeout") after which it will be flushed.
 </p>
+
 <dtml-call nudge><!-- turn the buckets if necessary -->
+
 <p class="form-label">
 <font color="green">
 <dtml-let l=getLen>
@@ -43,7 +44,7 @@
 <tr>
   <td align="left" valign="top">
     <div class="form-label">
-     Data object timeout value in minutes
+     Data object timeout value (in minutes)
     </div>
     <div class="form-help">
       ("0" means no expiration)
@@ -58,6 +59,26 @@
 <tr>
   <td align="left" valign="top">
     <div class="form-label">
+     Timeout resolution (in seconds)
+    </div>
+    <div class="form-help">
+      Defines what the "resolution" of item timeout is. Setting this higher
+      allows the transience machinery to do fewer "writes" at the expense of
+      causing items to time out later than the "Data object timeout value" by
+      a factor of (at most) this many seconds.  This number must divide evenly
+      into the number of timeout seconds ("Data object timeout value" * 60)
+      and cannot be set higher than the timeout value in seconds.
+    </div>
+  </td>
+  <td align="left" valign="top">
+    <input type="text" name="period_secs:int" size=10
+     value=&dtml-getPeriodSeconds;>
+  </td>
+</tr>
+
+<tr>
+  <td align="left" valign="top">
+    <div class="form-label">
      Maximum number of subobjects
     </div>
     <div class="form-help">
@@ -100,6 +121,22 @@
   </td>
 </tr>
 
+<dtml-let l=getLen>
+<dtml-if l>
+<tr>
+<td colspan=2>
+<br/>
+<p class="form-label">
+<font color="red">WARNING!</font>
+All data objects existing in this transient object container
+will be deleted when the data object timeout or expiration resolution
+is changed.
+</p>
+</tr>
+</td>
+</dtml-if>
+</dtml-let>
+
 <tr>
   <td></td>
   <td>
@@ -108,13 +145,6 @@
 </tr>
 </table>
 </form>
-
-<p class="form-label">
-<font color="red">WARNING!</font>
-The data objects existing in this transient object container
-will be deleted when the data object timeout is changed.
-</p>
-
 
 
 <dtml-var manage_page_footer>




More information about the Zope-Checkins mailing list