A bug where inspecting a group with no variables, but one or more forms, showed an empty group has been fixed.The main pages for reports, queries, forms, schedulers and updaters were hanged so that the options contains a link to the group page when appropriate. a bug where an error message text was missing was fixed (errEntityNotEditable). It was not possible to delete a row of a row place holder value from a member record. Fixed. The fix to ensure builtin indexes were kept updated (in 1.0.5) broke storing values into message variables with unique indexed values. Fixed. Also, the new or changed message callback was indexing all indexed variables not only builtins variables, which wasted cycles when a message was udpated. Fixed. When a picture is uploaded, the routines that deal with this now leave clues in the page table for other routines to know what picture shortcuts were created. A new postprocesser, pictureUpload, provides a way for managing editors to give some or all members the ability to upload pictures to a website. The postprocessor is interested in only two values a picture shortcut and an optional description field. The postprocessor always redirects the user to the standard manila view picture page. To use this postprocessor, create a group, with 2 user transaction variables theTitle (picture shortcut) and theDescription (no HTML string). Make a form with a picture upload rendering for the Title, set the post processor to pictureUpload. Control access to this form using the accessible To in the options (a cohort may be used here). The picture rendering for a string variable with picture shortcut semantics allows limiting the size of pictures upload to fall within a box, with a specifiable padding. The error messages generated when pictures fall outside the permitted range are now much improved. Also, there are two new ways that the shortcut can be generated "initials then Title" and "initials then timestamp". Initials means the first character of each word in the name of the member who does the upload. These options reduce the probability of name clashes when many members are independently loading pictures , for example with the pictureUpload postprocessor. a bug that stopped schema dumps, with message "Unexpected table externalurls found" was fixed. An observation by Jans Storms led to an optimization of the 3 operators for indexed string variables that cannot be handled with binary searches and subsequently perform serial operations on indexes - contains, endsWith and uniqueIndex Values. Serial operations in a tight loop need to yield control to allow other threads (hits and housekeeping) to run from time to time. AddedValues was yielding too often - after each index entry was processed - so such searches were slower than necessary. The optimization consists of changing the logic to yield after N entries, the trick is knowing what value N should take. Too high a value means one hit thread can "hog" the available CPU at the expense of other hits. To help fine tuning, a new preference in the Search and Query panel "Pause index loop ops after" is now available. The value may be changed to any integer form 0 to 999, with a default of 137. It is only used when the operators are constructed for a new variable or when the variable methods are rebuilt, so changing the number has no immediate effect. -- - David Bayly. Programmer and digest reader. dbayly at udena dot ch Digest Readers do it once a day.

|