/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 67 by frank, Tue Aug 21 13:15:51 2007 UTC revision 428 by bh, Wed Nov 24 17:06:59 2010 UTC
# Line 1  Line 1 
1  2007-08-17      Frank Koormann <[email protected]>  2010-11-24  Bernhard Herzog  <[email protected]>
2    
3            * formed/formed/plugins/export/rules_sh.py: expand star-import.
4    
5    2010-11-24  Bernhard Herzog  <[email protected]>
6    
7            * formed/formed/plugins/export/rules_sh.py (sql_OperatorUnary):
8            Put parentheses around the comparison for the KNOWN operator in
9            the generated SQL to ensure correct evaluation order.
10    
11    2010-11-24  Bernhard Herzog  <[email protected]>
12    
13            * formed/formed/plugins/export/rules_sh.py (binary_operator_map):
14            New.  Map binary formed expr operators to their SQL counterparts.
15            (sql_OperatorBinary): Use binary_operator_map instead of a cascade
16            of if-statements with lots of code duplication.  Also, put
17            parentheses around the resulting SQL expression to make sure the
18            expression is correctly.  This fixes a problem with WASKO tagging
19            rules, where the a FormEd expression of the form like "2 1 1980
20            date 1 1 1980 date - 93 *" would be incorrectly converted to the
21            SQL expression "93 * '1980-01-02'::date - '1980-01-01'::date"
22    
23    2010-11-24  Bernhard Herzog  <[email protected]>
24    
25            * formed/formed/plugins/export/rules_sh.py: Fix formatting.
26    
27    2010-11-15  Torsten Irlaender <[email protected]>
28    
29            * formed/formed/model/data.py: Do not set attribute "repeat" for
30            Repeat-Groups.
31    
32    2010-11-10  Torsten Irlaender <[email protected]>
33    
34            * formed/formed/plugins/modify/rules.py: Fixed date sequence rule
35            checks for date in future.
36    
37    2010-11-08  Roland Geider <[email protected]>
38    
39            * formed/formed/plugins/export/xsd.py: validate formedtree.xml
40    
41    2010-11-08  Roland Geider <[email protected]>
42    
43            * formed/formed/model/data.py,
44              formed/formed/plugins/export/xsd.py,
45              formed/formed/config.py: issue1131: generate XSD for case exports
46    
47    2010-10-21  Torsten Irlaender <[email protected]>
48    
49            * formed/formed/plugins/export/rules_sh.py: Added new LE-Operator
50            * formed/formed/plugins/modify/rules.py: Add error rule to force phase
51              relevant datefields not to be "unknown".
52    
53    2010-10-12  Roland Geider <[email protected]>
54    
55            * formed/formed/plugins/export/rules_sh.py: Ignore rules if any fields
56              in the rule are in a repeat group
57    
58    2010-10-11  Roland Geider <[email protected]>
59    
60            * formed/plugins/export/rules_sh.py: Added support to more opperators
61              to be able to export the WASKO case
62    
63    2010-10-06  Torsten Irlaender <[email protected]>
64    
65            * formed/formed/plugins/export/rules_sh.py (generate_tagging): Fixed
66            gerating SQL for Rules
67            * formed/formed/plugins/export/rules_sh.py (sql_date): Fixed sql_date
68            function.
69    
70    2010-10-05  Torsten Irländer <[email protected]>
71    
72            * formed/formed/model/data.py: Fixed error when setting tag attribute.
73            * formed/formed/plugins/export/rules_sh.py: Added generating exporting
74              tagging-xml
75            * formed/formed/plugins/modify/rules.py: Do not generate automatic
76              tagids for rules.
77    
78    2010-10-04  Torsten Irländer <[email protected]>
79    
80            * formed/formed/model/data.py (RuleLeaf.__init__): Added new attribute
81            "tag" for rule-leafs
82            * formed/formed/config.py: Added export rules as XML to Menu
83            * formed/formed/plugins/modify/rules.py
84            (GenerateRequiredRules.generateDateSequenceRules): Generate automatic
85            tag ids for date-sequence rules
86    
87    2010-09-30  Torsten Irländer <[email protected]>
88    
89            * formed/formed/plugins/export/rules_sh.py
90            (ExportRulesAsSH.doExport): Filter out duplicted rules.
91    
92    2010-09-20  Frank Koormann   <[email protected]>
93    
94            * formed/formed/plugins/export/latex.py (RecursiveExporter):
95            Add "required"-field information to output and include
96            choice list contents.
97    
98    2010-09-16  Bernhard Herzog  <[email protected]>
99    
100            Avoid database deadlocks that can happen when database clients try
101            to work with the same case using two separate database
102            connections.  See mpuls/issue1145 for details.
103    
104            * formed/formed/plugins/export/rg_sql.py (SQL_TEMPLATE): Split the
105            computation of the new json structure description into the new
106            database function compute_case_structure
107            (TRIGGER_TMPL): Change the trigger functions to immediately update
108            the cached json structure description instead of just setting the
109            modified flag.  This avoids the lazy recomputation that makes what
110            seems like a read-only access (calling get_case_structure) into a
111            writing access (updates of the cache).  The writes lock the row in
112            the case_structure table which prevent other connections from
113            accessing the same case.  As part of this, the delete triggers are
114            now AFTER triggers because the repeat groups instance must have
115            been removed when the structure is recomputed.
116            (SUBSELECT_TMPL): Since the delete trigger is now an after
117            trigger, we need to change the way the master id is computed.  We
118            cannot join with the repeatgroup table in question because the row
119            has already been deleted.  However, we can use the master_id
120            column of the OLD row to select the row of the parent table.
121            (create_triggers): Avoid the inner joins with the current repeat
122            group for the above mentioned reasons.  In the very common case of
123            repeat groups which are direct children of the master_tbl, we can
124            compare the master_tbl.id directly with the row's master_id.
125    
126    2010-09-14 Roland Geider <[email protected]>
127    
128            * formed/formed/plugins/export/xsd.py: issue1131: update XSD for new
129              formedtree structure
130    
131    2010-09-01 Roland Geider <[email protected]>
132    
133            * formed/formed/plugins/modify/rules.py: issue1050: mandatory fields
134              appearing double.
135              The problem was that the way the formEditor handled fields with
136              manually created rules changed. Instead of ignoring fields (very
137              early behaviour) or always generating them (early behaviour), now the
138              formED will only ignore fields with rules which name starts with
139              'required-rule-manual'. This is helpful when the rules for mandatory
140              fields are more complex (e.g. mother's name is only required if
141              mother is known).
142    
143    2010-08-10  Torsten Irländer <[email protected]>
144    
145            * contrib/diff_formed.py: New helperscript to diff to given
146              formedtrees
147    
148    2010-08-09      Roland Geider <[email protected]>
149    
150            * formed/model/exprtree.py: fixed typo
151    
152    2010-08-04  Bernhard Herzog  <[email protected]>
153    
154            * formed/po/de_DE.po: Update translations
155    
156    2010-08-04  Bernhard Herzog  <[email protected]>
157    
158            * formed/po/formed.pot: Regenerated.
159    
160            * formed/po/de_DE.po: Update.
161    
162    2010-08-04  Bernhard Herzog  <[email protected]>
163    
164            * formed/po/Makefile: Use correct filename of the pot-file in the
165            usage message
166    
167    2010-08-04  Bernhard Herzog  <[email protected]>
168    
169            * formed/po/Makefile (LIST_POTFILES): Sort the file names to make
170            the order of entries in the .pot-file more predictable.
171    
172    2010-08-04  Bernhard Herzog  <[email protected]>
173    
174            * formed/formed/model/nodecomponents.py (RootNode.__init__)
175            (RootNode.getVersion, RootNode.setVersion): Add attribute
176            "version" and accessor methods.
177    
178            * formed/formed/main.py (MainFrame.OnSetDocumentVersion): New. Let
179            the user set the document version.
180            (MainFrame._createMenuBar): Add menu item for OnSetDocumentVersion
181    
182    2010-08-02  Bernhard Herzog  <[email protected]>
183    
184            * formed/formed.py, formed/formed/io/document.py,
185            formed/formed/io/factories.py, formed/formed/io/parser.py,
186            formed/formed/model/data.py, formed/formed/model/event.py,
187            formed/formed/model/expr.py, formed/formed/model/exprtree.py,
188            formed/formed/model/memory.py, formed/formed/model/misc.py,
189            formed/formed/model/nodecomponents.py,
190            formed/formed/model/persistent.py: Fix coding declaration to be
191            acceptable to both python and Emacs.
192    
193    2010-07-29  Torsten Irländer <[email protected]>
194    
195            * formed/formed/model/data.py: Added "invisible" attribute to
196            BoolLeafs. This can be used to hide options in choicelists. so the
197            user can not select the value in the user interface. But the db will
198            have this option so is ist still present in the db an can be used
199            * formed/formed/model/exprtree.py: Added "days" function.
200    
201    2010-07-26      Roland Geider <[email protected]>
202    
203            * formed/formed/model/nodecomponents.py,
204              formed/formed/plugins/modify/rules.py: generated date rules take
205              into consideration repeat groups
206    
207    2010-07-21  Torsten Irländer <[email protected]>
208    
209            Issue870
210    
211            * formed/formed/plugins/modify/rules.py (descriptions): Do not collect
212            all headers to the referenced fields. Only list labels of the error
213            fields, which should be distinct enough.
214    
215            Issue851
216    
217            * formed/formed/model/data.py
218              formed/formed/plugins/export/new_sql.py
219              formed/formed/plugins/web/view_renderer.py
220              formed/formed/io/document.py
221              formed/formed/config.py: Added Float-Field to Formed
222    
223    2010-06-11  Bernhard Herzog  <[email protected]>
224    
225            * formed/formed/plugins/export/rg_sql.py
226            (CREATE_DELETE_MASTER_TMPL): In create_master_tbl, call
227            create_master_ds to create the master tbl entry.  This way we can
228            add SQL code that's specific to an MPuls instance to
229            create_master_ds and still have create_master_tbl use that new
230            code.  This is useful for e.g. the JMD-Struktur part.
231    
232    2010-06-02      Roland Geider <[email protected]>
233    
234            * formed/formed/plugins/modify/rules.py: make the names of generated
235              date-sequence-rules unique
236    
237    2010-06-02      Roland Geider <[email protected]>
238    
239            * formed/plugins/export/xls.py: updated regular expression
240    
241    2010-05-17      Frank Koormann <[email protected]>
242    
243            * formed/formed/plugins/export/latex.py: Improved section labeling.
244    
245            * formed/formed/plugins/export/xls.py:
246              Export references (ie where are the lists used).
247    
248    2010-04-30  Torsten Irländer <[email protected]>
249    
250            * formed/formed/plugins/modify/rules.py (VariableType.substitute): Do
251            not generate "%"-rules for required fields in repeat-groups.
252    
253    2010-04-28      Roland Geider <[email protected]>
254    
255            * formed/plugins/export/xls.py: Radiogroups are exported
256            * formed/plugins/export/xsd.py: WASKA formedtree.xml validates XSD
257              JMD formedtree.xml validates XSD
258    
259    2010-04-08  Torsten Irländer <[email protected]>
260    
261            * formed/formed/plugins/modify/rules.py
262            (GenerateRequiredRules.generateDateSequenceRules): Add error mark to
263            rules. Generete each rule twice to be able to render errors at both
264            datefields.
265    
266    2010-04-07  Torsten Irländer <[email protected]>
267    
268            * formed/formed/plugins/export/rg_sql.py: Added "Revision"-Tag.
269    
270    2010-04-06  Torsten Irländer <[email protected]>
271    
272            * formed/formed/io/document.py (_toXML): Added comment with
273            "$Revision"-tag. This tag will/can then be substituted by the VCS.
274            * formed/formed/plugins/export/new_sql.py
275            (ExportAsSQLFilter.doExport): Added comment with
276            "$Revision"-tag. This tag will/can then be substituted by the VCS.
277            * formed/formed/model/exprtree.py: Added years operator.
278    
279    2010-03-30      Roland Geider <[email protected]>
280    
281            * formed/formed/plugins/export/latex.py: Added filter
282    
283    2010-03-25      Roland Geider <[email protected]>
284    
285            * formed/formed/plugins/export/xsd.py: Generate valid XML
286    
287    2010-02-11      Frank Koormann <[email protected]>
288    
289            * formed/formed/plugins/export/xls.py: Allow groups in choices.
290    
291    2009-12-02      Torsten Irländer <[email protected]>
292    
293            * formed/formed/plugins/export/typemap.py: do not ignore conditional
294              nodes on traversal.
295    
296    2009-11-17      Sascha L. Teichmann <[email protected]>
297    
298            * formed/formed/model/exprtree.py: Recognize '%' vars
299              in compilation. Does not eval it!
300    
301            * formed/formed/plugins/modify/rules.py: Generate '%' vars
302              for variables in repeat groups.
303    
304    2009-11-13      Sascha L. Teichmann <[email protected]>
305    
306            * formed/formed/plugins/export/typemap.py: Fixed to work
307            with new repeat group nodes.
308    
309    2009-10-28      Sascha L. Teichmann <[email protected]>
310    
311            * formed/formed/plugins/export/xsd.py,
312            formed/formed/plugins/export/sql.py,
313            formed/formed/plugins/export/new_sql.py: Allow groups in choices.
314    
315    2009-10-07      Frank Koormann <[email protected]>
316    
317            * formed/formed/plugins/export/latex.py:
318            Adjusted textprocessing to escape tex-active characters.
319    
320    2009-10-07      Sascha L. Teichmann <[email protected]>
321    
322            * formed/formed/plugins/export/html.py, formed/formed/plugins/export/latex.py,
323            formed/formed/plugins/export/html2.py: Adjusted to cope with
324            "semi-complete" implementation of logbook tree structure.
325    
326    2009-06-18      Torsten Irländer <[email protected]>
327    
328            * formed/formed/plugins/export/new_sql.py,
329              formed/formed/plugins/export/rg_sql.py: Fixed some sql errors, and
330              added permissions.
331    
332    2009-06-18      Torsten Irländer <[email protected]>
333    
334            * formed/formed/plugins/export/new_sql.py: Commented out generation of
335            page_views, as they do not work with rgroups.
336    
337    2009-06-17      Torsten Irländer <[email protected]>
338    
339            * formed/formed/plugins/export/new_sql.py: Fixed anonymize function
340            and rolenames.
341    
342    2009-06-17      Sascha L. Teichmann <[email protected]>
343    
344            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
345    
346    2009-05-26      Sascha L. Teichmann <[email protected]>
347    
348            * formed/formed/plugins/names/filter.py: small optimization.
349    
350    2009-05-26      Sascha L. Teichmann <[email protected]>
351    
352            * formed/formed/plugins/names/filter.py: Repaired unique filter for
353              nodecomponent names.
354    
355    2009-05-06      Sascha L. Teichmann <[email protected]>
356    
357            * formed/formed/plugins/export/rg_sql.py: Only create depending
358              repeat groups if no uuid is given. If a uuid is given then
359              the creation is triggered by an xml import.
360    
361    2009-04-28      Sascha L. Teichmann <[email protected]>
362    
363            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
364              replace the old one. The new one faciliates the new RepeatNode instead
365              of the Group.isRepeat() method to tell if something is to be repeated.
366    
367            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
368              The old one is deactivated.
369    
370            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
371    
372    2009-04-28      Sascha L. Teichmann <[email protected]>
373    
374            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
375              TODO: Adjust execution rights.
376    
377    2009-04-27      Sascha L. Teichmann <[email protected]>
378    
379            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
380              Add functions to create dataset.
381    
382    2009-04-24      Sascha L. Teichmann <[email protected]>
383    
384            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
385              tree structure functions in database.
386    
387            * formed/formed/config.py: load plug-in.
388    
389    2009-04-16      Sascha L. Teichmann <[email protected]>
390    
391            * formed/formed/model/data.py: Added 'digest' attribute to
392              RepeatNode. Removed needless methods
393    
394    2009-04-16      Sascha L. Teichmann <[email protected]>
395    
396            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
397              more readable with '=' and '<>'.
398    
399    2009-04-02      Sascha L. Teichmann <[email protected]>
400    
401            * formed/formed/plugins/export/sql.py: call anonymization
402              of uuid on anonymization of case.
403    
404    2009-03-31      Sascha L. Teichmann <[email protected]>
405    
406            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
407              case_anonymize().
408    
409    2009-03-31      Sascha L. Teichmann <[email protected]>
410    
411            * formed/formed/model/exprtree.py: Add some code to pretty print
412              the trees infix.
413    
414            * formed/formed/plugins/export/rules.py: New. Exporter for human
415              readable rules.
416    
417            * formed/formed/plugins/export/html.py: Fixed HTML generation.
418    
419            * formed/formed/config.py: Added new new Rule export plug-in.
420    
421    2009-03-31      Sascha L. Teichmann <[email protected]>
422    
423            * formed/formed/model/exprtree.py: Fixes from server. Raise
424              exceptions if there is less or more than one element on stack
425              after compilation of expression.
426    
427    2009-03-20      Sascha L. Teichmann <[email protected]>
428    
429            * formed/formed/model/data.py: Removed debug output
430    
431            * formed/formed/plugins/modify/rules.py: Fixed error message.
432              Generate past and future rules.
433    
434    2009-03-16      Sascha L. Teichmann <[email protected]>
435    
436            * formed/formed/model/exprtree.py: Forget to call today with context.
437    
438    2009-03-16      Sascha L. Teichmann <[email protected]>
439    
440            * formed/formed/io/document.py: Fixed syntax typo.
441    
442    2009-03-16      Sascha L. Teichmann <[email protected]>
443    
444            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
445    
446    2009-03-16      Sascha L. Teichmann <[email protected]>
447    
448            * formed/formed/model/data.py: Added ConditionalNode
449    
450            * formed/formed/io/document.py: Make ConditionalNode loadable.
451    
452    2009-03-13      Sascha L. Teichmann <[email protected]>
453    
454            * formed/formed/plugins/modify/rules.py: Make the error descriptions
455              in date sequence rules more precise.
456    
457    2009-03-13      Sascha L. Teichmann <[email protected]>
458    
459            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
460    
461    2009-03-13      Sascha L. Teichmann <[email protected]>
462    
463            * formed/formed/model/exprtree.py: New tree based expression engine.
464    
465            * formed/formed/model/__init__.py, formed/formed/model/data.py:
466              Adjusted imports.
467    
468    2009-03-12      Torsten Irländer <[email protected]>
469    2009-06-17      Sascha L. Teichmann <[email protected]>
470    
471            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
472    
473    2009-05-26      Sascha L. Teichmann <[email protected]>
474    
475            * formed/formed/plugins/names/filter.py: small optimization.
476    
477    2009-05-26      Sascha L. Teichmann <[email protected]>
478    
479            * formed/formed/plugins/names/filter.py: Repaired unique filter for
480              nodecomponent names.
481    
482    2009-05-06      Sascha L. Teichmann <[email protected]>
483    
484            * formed/formed/plugins/export/rg_sql.py: Only create depending
485              repeat groups if no uuid is given. If a uuid is given then
486              the creation is triggered by an xml import.
487    
488    2009-04-28      Sascha L. Teichmann <[email protected]>
489    
490            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
491              replace the old one. The new one faciliates the new RepeatNode instead
492              of the Group.isRepeat() method to tell if something is to be repeated.
493    
494            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
495              The old one is deactivated.
496    
497            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
498    
499    2009-04-28      Sascha L. Teichmann <[email protected]>
500    
501            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
502              TODO: Adjust execution rights.
503    
504    2009-04-27      Sascha L. Teichmann <[email protected]>
505    
506            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
507              Add functions to create dataset.
508    
509    2009-04-24      Sascha L. Teichmann <[email protected]>
510    
511            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
512              tree structure functions in database.
513    
514            * formed/formed/config.py: load plug-in.
515    
516    2009-04-16      Sascha L. Teichmann <[email protected]>
517    
518            * formed/formed/model/data.py: Added 'digest' attribute to
519              RepeatNode. Removed needless methods
520    
521    2009-04-16      Sascha L. Teichmann <[email protected]>
522    
523            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
524              more readable with '=' and '<>'.
525    
526    2009-04-02      Sascha L. Teichmann <[email protected]>
527    
528            * formed/formed/plugins/export/sql.py: call anonymization
529              of uuid on anonymization of case.
530    
531    2009-03-31      Sascha L. Teichmann <[email protected]>
532    
533            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
534              case_anonymize().
535    
536    2009-03-31      Sascha L. Teichmann <[email protected]>
537    
538            * formed/formed/model/exprtree.py: Add some code to pretty print
539              the trees infix.
540    
541            * formed/formed/plugins/export/rules.py: New. Exporter for human
542              readable rules.
543    
544            * formed/formed/plugins/export/html.py: Fixed HTML generation.
545    
546            * formed/formed/config.py: Added new new Rule export plug-in.
547    
548    2009-03-31      Sascha L. Teichmann <[email protected]>
549    
550            * formed/formed/model/exprtree.py: Fixes from server. Raise
551              exceptions if there is less or more than one element on stack
552              after compilation of expression.
553    
554    2009-03-20      Sascha L. Teichmann <[email protected]>
555    
556            * formed/formed/model/data.py: Removed debug output
557    
558            * formed/formed/plugins/modify/rules.py: Fixed error message.
559              Generate past and future rules.
560    
561    2009-03-16      Sascha L. Teichmann <[email protected]>
562    
563            * formed/formed/model/exprtree.py: Forget to call today with context.
564    
565    2009-03-16      Sascha L. Teichmann <[email protected]>
566    
567            * formed/formed/io/document.py: Fixed syntax typo.
568    
569    2009-03-16      Sascha L. Teichmann <[email protected]>
570    
571            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
572    
573    2009-03-16      Sascha L. Teichmann <[email protected]>
574    
575            * formed/formed/model/data.py: Added ConditionalNode
576    
577            * formed/formed/io/document.py: Make ConditionalNode loadable.
578    
579    2009-03-13      Sascha L. Teichmann <[email protected]>
580    
581            * formed/formed/plugins/modify/rules.py: Make the error descriptions
582              in date sequence rules more precise.
583    
584    2009-03-13      Sascha L. Teichmann <[email protected]>
585    
586            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
587    
588    2009-03-13      Sascha L. Teichmann <[email protected]>
589    
590            * formed/formed/model/exprtree.py: New tree based expression engine.
591    
592            * formed/formed/model/__init__.py, formed/formed/model/data.py:
593              Adjusted imports.
594    
595    2009-03-12      Torsten Irländer <[email protected]>
596    2009-06-17      Sascha L. Teichmann <[email protected]>
597    
598            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
599    
600    2009-05-26      Sascha L. Teichmann <[email protected]>
601    
602            * formed/formed/plugins/names/filter.py: small optimization.
603    
604    2009-05-26      Sascha L. Teichmann <[email protected]>
605    
606            * formed/formed/plugins/names/filter.py: Repaired unique filter for
607              nodecomponent names.
608    
609    2009-05-06      Sascha L. Teichmann <[email protected]>
610    
611            * formed/formed/plugins/export/rg_sql.py: Only create depending
612              repeat groups if no uuid is given. If a uuid is given then
613              the creation is triggered by an xml import.
614    
615    2009-04-28      Sascha L. Teichmann <[email protected]>
616    
617            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
618              replace the old one. The new one faciliates the new RepeatNode instead
619              of the Group.isRepeat() method to tell if something is to be repeated.
620    
621            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
622              The old one is deactivated.
623    
624            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
625    
626    2009-04-28      Sascha L. Teichmann <[email protected]>
627    
628            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
629              TODO: Adjust execution rights.
630    
631    2009-04-27      Sascha L. Teichmann <[email protected]>
632    
633            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
634              Add functions to create dataset.
635    
636    2009-04-24      Sascha L. Teichmann <[email protected]>
637    
638            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
639              tree structure functions in database.
640    
641            * formed/formed/config.py: load plug-in.
642    
643    2009-04-16      Sascha L. Teichmann <[email protected]>
644    
645            * formed/formed/model/data.py: Added 'digest' attribute to
646              RepeatNode. Removed needless methods
647    
648    2009-04-16      Sascha L. Teichmann <[email protected]>
649    
650            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
651              more readable with '=' and '<>'.
652    
653    2009-04-02      Sascha L. Teichmann <[email protected]>
654    
655            * formed/formed/plugins/export/sql.py: call anonymization
656              of uuid on anonymization of case.
657    
658    2009-03-31      Sascha L. Teichmann <[email protected]>
659    
660            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
661              case_anonymize().
662    
663    2009-03-31      Sascha L. Teichmann <[email protected]>
664    
665            * formed/formed/model/exprtree.py: Add some code to pretty print
666              the trees infix.
667    
668            * formed/formed/plugins/export/rules.py: New. Exporter for human
669              readable rules.
670    
671            * formed/formed/plugins/export/html.py: Fixed HTML generation.
672    
673            * formed/formed/config.py: Added new new Rule export plug-in.
674    
675    2009-03-31      Sascha L. Teichmann <[email protected]>
676    
677            * formed/formed/model/exprtree.py: Fixes from server. Raise
678              exceptions if there is less or more than one element on stack
679              after compilation of expression.
680    
681    2009-03-20      Sascha L. Teichmann <[email protected]>
682    
683            * formed/formed/model/data.py: Removed debug output
684    
685            * formed/formed/plugins/modify/rules.py: Fixed error message.
686              Generate past and future rules.
687    
688    2009-03-16      Sascha L. Teichmann <[email protected]>
689    
690            * formed/formed/model/exprtree.py: Forget to call today with context.
691    
692    2009-03-16      Sascha L. Teichmann <[email protected]>
693    
694            * formed/formed/io/document.py: Fixed syntax typo.
695    
696    2009-03-16      Sascha L. Teichmann <[email protected]>
697    
698            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
699    
700    2009-03-16      Sascha L. Teichmann <[email protected]>
701    
702            * formed/formed/model/data.py: Added ConditionalNode
703    
704            * formed/formed/io/document.py: Make ConditionalNode loadable.
705    
706    2009-03-13      Sascha L. Teichmann <[email protected]>
707    
708            * formed/formed/plugins/modify/rules.py: Make the error descriptions
709              in date sequence rules more precise.
710    
711    2009-03-13      Sascha L. Teichmann <[email protected]>
712    
713            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
714    
715    2009-03-13      Sascha L. Teichmann <[email protected]>
716    
717            * formed/formed/model/exprtree.py: New tree based expression engine.
718    
719            * formed/formed/model/__init__.py, formed/formed/model/data.py:
720              Adjusted imports.
721    
722    2009-03-12      Torsten Irländer <[email protected]>
723    
724            Introduced new order attribute for date fields
725    
726            * formed/formed/model/data.py: Order fields can be used to define to
727            ordering of datefields withing the document. Needed for automatic
728            generation of consistency rules.
729    
730    2009-02-09      Sascha L. Teichmann <[email protected]>
731    
732            * formed/formed/model/data.py: Allow pages to be 'invisible'.
733    
734    2009-02-09      Sascha L. Teichmann <[email protected]>
735    
736            * formed/formed/plugins/export/sql.py: Fixed problem with
737              description reference tables of radio groups.
738    
739    2009-02-09      Sascha L. Teichmann <[email protected]>
740    
741            * formed/formed/plugins/export/sql.py: replace '-' in names
742              by '_'.
743              
744    2009-02-09      Sascha L. Teichmann <[email protected]>
745    
746            * formed/formed/plugins/export/sql.py: to figure ou which
747              tables are equal the insert statememnts are lower cased
748              and sorted before they are compared. This reduces the number
749              of generated referfence tables.
750    
751    2009-02-09      Sascha L. Teichmann <[email protected]>
752    
753            Repair SQL schema creation for radio groups.
754    
755            * formed/formed/plugins/export/sql.py: radio groups are handled
756              like choices now.
757    
758    2009-02-09      Sascha L. Teichmann <[email protected]>
759    
760            Make it startable again.
761    
762            * formed/formed/plugins/export/xls.py: Import pyExcelerator only
763              when plug-in is called.
764    
765            * formed/formed/model/nodecomponents.py: Event routing was messed up.
766              Rewired root node with document.
767    
768            * formed/formed/plugins/web/help.py: Removed old xml.ext import.
769              XXX: This breaks creating help by now!
770    
771            * formed/formed/io/parser.py: Replace old deprecated base class
772              by new one.
773    
774            * formed/formed/main.py: Do not crash if locale cannot be set.
775    
776            * formed/formed/ui/controls.py: Use document.getCase() instead
777              of document.case to prevent uninitialized dereferences.
778    
779    2009-01-22      Torsten Irländer <[email protected]>
780    
781            Implemented new XML-Format for formed xml files.
782    
783            * formed/formed/model/nodecomponents.py,
784              formed/formed/io/document.py,
785              formed/formed/main.py,
786              formed/formed/ui/controls.py: Introduced new "case" and "logbook"
787              node. Under case is the definition of the formular. logbook will
788              hold the defintion of logboog entrys. For now only the part under
789              "case" can be modified.  
790    
791    2009-01-21      Torsten Irländer <[email protected]>
792    
793            Changed way how XSD-Scheme is generated
794    
795            * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support
796              logbookentrys. The scheme definiton is now hardcoded in the
797              exporter as it will rarely change. It logbookpart will not be
798              generated from the formedtree anymore.
799    
800    2009-01-20      Torsten Irländer <[email protected]>
801    
802            Support Logbook entrys in xsd schema export
803    
804            * formed/formed/model/data.py: Repeatnode are now handeld as
805              repeatgroups in xsd-export
806            * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support
807              logbookentrys. The scheme will now validate against an xmlfile from
808              the offlineclient.
809    
810    2009-01-09      Torsten Irländer <[email protected]>
811    
812            Added new repeat node
813    
814            * formed/formed/model/data.py,
815              formed/formed/io/document.py: Added repeatnode to the formedtree.
816              TODO: Remove repeatgroup handling from the groupnode.
817    
818    2009-01-08      Torsten Irländer <[email protected]>
819    
820            Add isset operator to autogenerated rules.
821    
822            * formed/formed/plugins/modify/rules.py: Add issed operator to standard
823              autogenerated rules.
824    
825    2008-12-17      Frank Koormann <[email protected]>
826    
827            * formed/formed/plugins/export/latex.py: Export form as set of
828            latex tables to be included into a master document. The export
829            generates section marks to structure the form and placeholders for
830            help texts to be merged in by a post processing step.
831    
832    2008-12-04      Sascha L. Teichmann <[email protected]>
833    
834            * formed/formed/model/expr.py: Added 'today' which pushes the current date
835              on the stack.
836    
837    2008-12-03      Sascha L. Teichmann <[email protected]>
838    
839            * formed/formed/plugins/web/controllers.py: compute changeset more correctly in
840              storage of fields.
841    
842            * formed/formed/plugins/export/xsd.py: Added unknown int -999999 to integer
843              fields as an accepted value. Generate schema for radio groups too.
844    
845    2008-12-01      Torsten Irländer <[email protected]>
846    
847            Added autmatic generation of required rules
848    
849            * formed/formed/model/data.py,
850              formed/formed/model/expr.py,
851              formed/formed/plugins/modify/rules.py: Default rules for required
852              fields can now be generated.
853    
854    2008-11-28      Sascha L. Teichmann <[email protected]>
855    
856            * formed/formed/model/data.py, formed/formed/model/nodecomponents.py:
857              Ported WidgetCollector from Offline client.
858    
859            * formed/formed/plugins/modify/__init__.py, formed/formed/plugins/modify,
860              formed/formed/plugins/modify/rules.py: Stub for required rules generator.
861    
862            * formed/formed/config.py: Bind new filter to FormEd
863    
864    2008-11-27      Torsten Irländer <[email protected]>
865    
866            * formed/formed/model/data.py: Added new attribute mark for rules
867    
868    2008-11-10      Torsten Irländer <[email protected]>
869    
870            Implemented radio-matrix elements. radio elelement having the same
871            options can now be rendered in table form.
872    
873            * formed/formed/model/data.py,
874              formed/formed/io/document.py: Added new radio-matrix element to the
875              model and gui
876            * formed/formed/plugins/web/view_renderer.py: Write html-renderer for
877              the radio-matrix element.
878    
879    2008-11.03      Torsten Irländer <[email protected]>
880    
881            * formed/formed/model/data.py: Fixed import error
882    
883    2008-10-29      Sascha L. Teichmann <[email protected]>
884    
885            Relative paths in external choices are now possible. Relative paths are
886            relative to path of the master document.
887    
888            * formed/model/data.py: external choice are now storing the path to the
889              master document.
890    
891            * formed/formed/io/document.py: Pass context to SAX builder.
892    
893            * formed/formed/io/factories.py: For new created nodes look if there
894              is a method 'setLoadContext' and call it.
895    
896    2008-09-04      Sascha L. Teichmann <[email protected]>
897    
898            * doc/beschreibung.txt: New. Initial description of FormEd (german).
899    
900    2008-08-22      Sascha L. Teichmann <[email protected]>
901    
902            * formed/formed/model/nodecomponents.py: Added attribute 'flags'.
903    
904    2008-08-21      Sascha L. Teichmann <[email protected]>
905    
906            * formed/formed/io/document.py: Indent tree while saving
907            * formed/formed/main.py: removed needless print
908    
909    2008-08-15      Sascha L. Teichmann <[email protected]>
910    
911            * LICENSE: New GPLv3
912            * */*.py, *.sh: Added reference to LICENSE
913    
914    2008-08-15      Sascha L. Teichmann <[email protected]>
915    
916            * tools: removed because there a no tools any more.
917    
918    2008-08-15      Sascha L. Teichmann <[email protected]>
919    
920            * tools/formed: moved one level up because its the only
921              part of this project now.
922    
923    2008-08-15      Sascha L. Teichmann <[email protected]>
924    
925            * tools/anonym/*: Removed as it belongs to mpuls WASKA
926    
927    2008-08-15      Sascha L. Teichmann <[email protected]>
928    
929            * pdf2xfa/*: removed. It belongs to mpuls
930    
931    2008-08-13 L. Teichmann <[email protected]>
932    
933            i18n of the plug-ins:
934            * tools/formed/formed/plugins/export/diff.py,
935              tools/formed/formed/plugins/export/data.py,
936              tools/formed/formed/plugins/export/old_sql.py,
937              tools/formed/formed/plugins/export/latex.py,
938              tools/formed/formed/plugins/export/xsd.py,
939              tools/formed/formed/plugins/export/sql.py,
940              tools/formed/formed/plugins/export/typemap.py,
941              tools/formed/formed/plugins/export/html.py,
942              tools/formed/formed/plugins/export/mode.py,
943              tools/formed/formed/plugins/export/html2.py,
944              tools/formed/formed/plugins/export/xls.py,
945              tools/formed/formed/plugins/names/filter.py,
946              tools/formed/formed/plugins/plugin.py,
947              tools/formed/formed/plugins/web/help.py,
948              tools/formed/formed/plugins/web/form_renderer.py,
949              tools/formed/formed/plugins/web/plugin.py,
950              tools/formed/formed/plugins/web/error_renderer.py,
951              tools/formed/formed/plugins/web/view_renderer.py,
952              tools/formed/formed/plugins/web/semantic.py,
953              tools/formed/formed/plugins/web/cache.py,
954              tools/formed/formed/plugins/web/server.py,
955              tools/formed/formed/plugins/web/controllers.py,
956              tools/formed/formed/plugins/web/renderer.py,
957              tools/formed/formed/plugins/ui/controls.py,
958              tools/formed/formed/config.py: _("")s the stuff
959              tools/formed/po/formed.pot, tools/formed/po/de_DE.po:
960              extracted and translated.
961    
962    2008-08-08      Sascha L. Teichmann <[email protected]>
963    
964            First version of FormEd i18n. After checkout go to tools/formed/po/ and
965            say 'make mo'. Afterwards you can start FormEd as usual.
966    
967            * tools/formed/resources: New. Place to places ressources like *.mo files
968            * tools/formed/formed/main.py, tools/formed/formed/ui/controls.py: Add _("")s
969              
970            * tools/formed/po,
971              tools/formed/po/Makefile,
972              tools/formed/po/formed.pot,
973              tools/formed/po/de_DE.po: i18n stuff.
974    
975    2008-08-08      Sascha L. Teichmann <[email protected]>
976    
977            * tools/anonym/xmlexport.py: Only export cases which are not
978              'schwebend geloescht'.
979    
980    2008-07-23      Sascha L. Teichmann <[email protected]>
981    
982            Fixed issue472
983    
984            * tools/anonym/xmlimport.py: Regenerate dicts from current form ed tree.
985    
986    2008-07-17      Sascha L. Teichmann <[email protected]>
987    
988            * tools/anonym/xmlimport.py: removed marking of invalid cases
989            * tools/anonym/cron.importAnonXml.sh: re-inserted here.
990    
991    2008-07.07      Torsten Irländer <[email protected]>
992    
993            * tools/formed/formed/plugins/export/latex.py
994              tools/formed/formed/config.py: Added new LaTex Export. Beware this
995              is even more ugly the HTML Export.
996            * tools/formed/formed/plugins/export/html.py: Added information on
997              anonymisation to the html export.
998    
999    2008-07-07      Sascha L. Teichmann <[email protected]>
1000    
1001            * tools/anonym/xmlimport.py: Mark cases if they are inconsistent.
1002    
1003    2008-07-07      Sascha L. Teichmann <[email protected]>
1004    
1005            * tools/anonym/xmlimport.py: Updated to schema 1.5. (Which is incompatible to 1.4)
1006    
1007    2008-07-07      Sascha L. Teichmann <[email protected]>  
1008            
1009            * tools/formed/formed/plugins/export/html.py: Added additional column
1010            to the html export with information how each field will get
1011            anonymized.
1012    
1013    2008-07-07      Sascha L. Teichmann <[email protected]>  
1014    
1015            * tools/anonym/xmlimport.py: sync with productive version.
1016    
1017    2008-06-10      Torsten Irländer <[email protected]>
1018    
1019            * tools/formed/formed/plugins/export/sql.py: grant admin permission to
1020              call anonymize function
1021    
1022    2008-05-21      Sascha L. Teichmann <[email protected]>  
1023    
1024            * tools/formed/formed/plugins/export/xsd.py: Brought encoding
1025              back to UTF-8.
1026    
1027    2008-05-21      Frank Koormann <[email protected]>
1028    
1029            * tools/formed/formed/plugins/export/xls.py: New, export key value
1030            tables as excel workbook with one sheet per table.
1031    
1032            * tools/formed/formed/config.py: ExportKeyValueTableAsXLS added.
1033    
1034    2008-05-21      Frank Koormann <[email protected]>
1035    
1036            * tools/formed/formed/plugins/export/xsd.py
1037            (SchemaCreator._createChoice): Fix use of choices name.
1038    
1039    2008-04-29      Sascha L. Teichmann <[email protected]>
1040    
1041            * tools/formed/formed/plugins/export/xsd.py: Use substitution group
1042              to allow arbitrary order of repeat groups.
1043    
1044    2008-04-29      Sascha L. Teichmann <[email protected]>
1045    
1046            * tools/formed/formed/plugins/export/xsd.py: Removed a needless
1047              character.
1048    
1049    2008-04-29      Sascha L. Teichmann <[email protected]>
1050    
1051            * tools/formed/formed/plugins/export/xsd.py: Added annotations
1052              to fields.
1053    
1054    2008-04-29      Sascha L. Teichmann <[email protected]>
1055    
1056            * tools/formed/formed/plugins/export/xsd.py: Added for
1057              choice fields.
1058    
1059    2008-04-29      Sascha L. Teichmann <[email protected]>
1060    
1061            * tools/formed/formed/plugins/export/xsd.py: Added support for
1062              boolean fields based on enumerations.
1063    
1064    2008-04-28      Sascha L. Teichmann <[email protected]>
1065    
1066            * tools/formed/formed/plugins/export/xsd.py: Added support for
1067              date, text and textarea fields.
1068    
1069    2008-04-28      Sascha L. Teichmann <[email protected]>
1070    
1071            * tools/formed/formed/plugins/export/xsd.py: Added support for
1072              repeat groups and integer fields.
1073    
1074    2008-04-28      Sascha L. Teichmann <[email protected]>
1075    
1076            * tools/formed/formed/plugins/export/xsd.py: New. plug-in for
1077              exporting as XML schema. not ready, yet.
1078    
1079            * tools/formed/formed/config.py: Use new plug-in.
1080    
1081            * tools/formed/formed/plugins/export/sql.py: Fixed wrong GUI text.
1082    
1083    2008-04-17      Torsten Irländer <[email protected]>
1084    
1085            * tools/formed/formed/plugins/export/sql.py: Changed WHERE clause in
1086            for the views because of the new group permissions.
1087    
1088    2008-04-09      Sascha L. Teichmann <[email protected]>
1089    
1090            * tools/anonym/cron.deleteOldAnonymized.sh: New. cron job to delete
1091              old anonymized cases.
1092    
1093    2008-04-01      Sascha L. Teichmann <[email protected]>
1094    
1095            * tools/anonym/xmlexport.py: Removed "WHERE einverstaendniserklaerung = 1"
1096              from clause to select datasets.
1097              Replace ']]>' in CDATA sections with correct splitted replacement.
1098    
1099    2008-03-12      Sascha L. Teichmann <[email protected]>
1100            
1101            * tools/anonym/cron.importAnonXml.sh: Added absolut path to  xmlimport
1102              script.
1103    
1104            * tools/anonym/xmlimport.py: commented out database port from
1105              connectionstring.
1106    
1107    2008-03-12      Sascha L. Teichmann <[email protected]>
1108    
1109            * tools/formed/formed/plugins/export/sql.py: Fixed bug in generation
1110              of anonymization of repeat groups (wrong id was given).
1111    
1112    2008-03-11      Sascha L. Teichmann <[email protected]>
1113    
1114            * tools/formed/formed/plugins/export/sql.py: Generate no update
1115              statements for relations which have no anonym functions applied.
1116    
1117    2008-03-11      Sascha L. Teichmann <[email protected]>
1118    
1119            * tools/formed/formed/plugins/export/sql.py: Added a newline after
1120              'COMMIT;' in the last line.
1121    
1122    2008-03-11      Sascha L. Teichmann <[email protected]>
1123    
1124            * tools/formed/formed/plugins/export/sql.py: Fixed syntax of
1125              generated anonymize_case() function.
1126              
1127    2008-03-11      Sascha L. Teichmann <[email protected]>
1128    
1129            * tools/formed/formed/plugins/export/sql.py: Added code to
1130              generate a plpgsql function anonymize_case() that anonymized
1131              a given case and all of its depending repeat groups.
1132    
1133    2008-03-06      Sascha L. Teichmann <[email protected]>
1134    
1135            * tools/anonym/xmlimport.py: remove print of insert statement.
1136    
1137            * tools/formed/formed/plugins/export/sql.py: Print generation date in ISO.
1138    
1139    2008-03-03      Torsten Irländer <[email protected]>
1140    
1141            * anonym/cron.sendAnonXml.sh,
1142              anonym/getDbList.sh: Modified script to be used directly in the
1143              production environment (Copied running scripts from production
1144              server)
1145    
1146            * cron.importAnonXml.sh: Added deleting of ols cases. Modified script
1147              to be used in a production environment (Cpoied running script from
1148              production server)
1149    
1150            * tools/anonym/xmlexport.py: Added "WHERE" clause to SQL-Statement to
1151              ensure that only valid cases get exported
1152    
1153    2008-02-27      Sascha L. Teichmann <[email protected]>
1154    
1155            * tools/anonym/xmlimport.py: Fixed bug in date converter.
1156    
1157    2008-02-27      Sascha L. Teichmann <[email protected]>
1158    
1159            * tools/anonym/xmlimport.py: Simpilied version
1160    
1161    2008-02-27      Sascha L. Teichmann <[email protected]>
1162    
1163            * tools/anonym/cron.importAnonXml.sh: Add sudo call for
1164              xmlimport.py and parameters.
1165    
1166            * tools/anonym/xmlimport.py: Various bug fixes. Not working yet. :-/
1167    
1168            * tools/anonym/xmlexport.py: Use python interpreter without env
1169              because of sudo context.
1170    
1171    2008-02-26      Sascha L. Teichmann <[email protected]>
1172    
1173            * tools/anonym/xmlimport.py: added support for getopt. add
1174              support to force in fkz in import of case.
1175    
1176    2008-02-26      Sascha L. Teichmann <[email protected]>
1177    
1178            * tools/anonym/xmlimport.py: Implemented logic to create/update cases.
1179    
1180            * tools/anonym/html.awk: produces valid HTML.
1181    
1182    2008-02-25      Sascha L. Teichmann <[email protected]>
1183    
1184            * tools/anonym/joincsv.py: Fix a logic bug.
1185    
1186    2008-02-25      Torsten Irlaender <[email protected]>
1187    
1188            * tools/anonym/cron.importAnonXml.sh: Added shellscript for importing
1189              exportted cases. It will read all files from a directory and import
1190              the files into the DB. After that the script will cleanup the
1191              directory.
1192    
1193    2008-02-25      Torsten Irländer <[email protected]>
1194            
1195            * tools/anonym/cron.sendAnonXml.sh,
1196              tools/anonym/xmlexport.py,
1197              tools/anonym/getDbList.sh: Added shell-scripts for exporting cases
1198    
1199    2008-02-25      Sascha L. Teichmann <[email protected]>
1200    
1201            * tools/anonym/joincsv.py: Fixed typo which generated wrong number of cols.
1202    
1203    2008-02-25      Sascha L. Teichmann <[email protected]>
1204    
1205            * tools/anonym/joincsv.py: New. Joins CSV files.
1206    
1207            * tools/anonym/html.awk: New. Converts CSV to HTML
1208    
1209    2008-02-25      Sascha L. Teichmann <[email protected]>
1210    
1211            * tools/anonym/xmlimport.py: New. Added generation of
1212              update statements.
1213    
1214    2008-02-25      Sascha L. Teichmann <[email protected]>
1215    
1216            * tools/anonym/xmlimport.py: New. Base for importing
1217              XML from cron.
1218    
1219    2008-02-24      Sascha L. Teichmann <[email protected]>
1220    
1221            * tools/formed/formed/plugins/export/html2.py: New. plug-in
1222              for a simplified HTML output
1223    
1224            * tools/formed/formed/plugins/export/typemap.py: New. plug-in
1225              for dump schema as python dictionary.
1226    
1227            * tools/formed/formed/config.py: Enable new plug-ins. Out comment
1228              old stored procedure and view generators.
1229    
1230    2008-02-19      Sascha L. Teichmann <[email protected]>
1231    
1232            * tools/anonym/xmlexport.py: New. Export all cases in database
1233              as XML.
1234    
1235    2008-02-18      Sascha L. Teichmann <[email protected]>
1236    
1237            * tools/anonym/anoymncsv.py: separate field with '\t' now.
1238              all '\t's are replaced by '   ' before. '\r\n' are removed too.
1239    
1240    2008-02-15      Sascha L. Teichmann <[email protected]>
1241    
1242            * tools/anonym/anoymncsv.py: simple script to fetch anonymous
1243              data from database.
1244    
1245    2008-02-14      Sascha L. Teichmann <[email protected]>
1246    
1247            * tools/formed/formed/plugins/export/sql.py: Exchanged name
1248              erase_value with suppress_value/suppress_value2.
1249    
1250    2008-02-13      Sascha L. Teichmann <[email protected]>
1251    
1252            * tools/formed/formed/plugins/export/sql.py: output id, master_id
1253              substitute 'erase_value' with NULL value.
1254    
1255    2008-02-13      Sascha L. Teichmann <[email protected]>
1256    
1257            * tools/formed/formed/plugins/export/sql.py: output id, master_id
1258              and uuid_id in anonymiziation views too.
1259    
1260    2008-02-13      Sascha L. Teichmann <[email protected]>
1261    
1262            * tools/formed/formed/plugins/export/sql.py: Added generation
1263              of anonymiziation views for master table views and repeat group
1264              views.
1265    
1266    2008-02-13      Sascha L. Teichmann <[email protected]>
1267    
1268            * tools/formed/formed/model/nodecomponents.py: Added attribute
1269              "function"
1270    
1271            * tools/formed/formed/io/document.py: Save attributes in
1272              alphabetical order.
1273    
1274    2008-02-02      Sascha L. Teichmann <[email protected]>
1275    
1276            * tools/formed/formed/plugins/export/sql.py: Added update rule
1277              for master table and repeat groups views. Granted update right
1278              to :cm_ka_group.
1279    
1280    2008-02-01      Sascha L. Teichmann <[email protected]>
1281    
1282            * tools/formed/formed/plugins/export/sql.py: Added a column 'uuid_id'
1283              for master table and repeat groups. Also added unique constraints
1284              to these columns.
1285    
1286    2007-12-10      Sascha L. Teichmann <[email protected]>
1287    
1288            * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Added a system
1289              property 'root.element' to specify the name of the XML root.
1290    
1291            * pdf2xfa/startup/pdf2xfa.sh, pdf2xfa/README.TXT: Adjusted.
1292    
1293    2007-11-22      Sascha L. Teichmann <[email protected]>
1294    
1295            * pdf2xfa/startup, */pdf2xfa.sh, */pdf2xfa.init: boot scripts
1296              for GNU/Linux (tested Debian 'Etch' 4.0) by Sascha Wilde.
1297    
1298            * pdf2xfa/README.TXT: Add a remark to new boot scripts.
1299    
1300    2007-11-21      Sascha L. Teichmann <[email protected]>
1301    
1302            * pdf2xfa/src/de/intevation/pdfimport/Log.java: New.
1303              Sends logging to file.
1304    
1305            * pdf2xfa/src/de/intevation/pdfimport/Server.java,
1306              pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Adjusted
1307              to use new logging.
1308    
1309            * pdf2xfa/README.TXT: Added remark how to use logging.
1310    
1311    2007-11-16      Frank Koormann <[email protected]>
1312    
1313            * tools/formed/formed/plugins/export/sql.py (createSchema):
1314            Append only column "bearbeiter_id", standins are modelled by a
1315            separate table.
1316    
1317    2007-11-16      Sascha L. Teichmann <[email protected]>
1318    
1319            * tools/formed/formed/model/data.py,
1320              tools/formed/formed/plugins/web/view_renderer.py:
1321              Added an invisible flag for info fields.
1322    
1323    2007-11-07      Sascha L. Teichmann <[email protected]>
1324    
1325            * tools/formed/formed/model/nodecomponents.py: Fixed a few small bugs
1326              (calling a wrong method).
1327    
1328    2007-11-07      Sascha L. Teichmann <[email protected]>
1329    
1330            * tools/formed/formed/model/nodecomponents.py: Added a field
1331              'alternative' to all node components. This might be of help to
1332              match PDF imports where the descriptions do not match.
1333    
1334    2007-10-23      Frank Koormann <[email protected]>
1335    
1336            * tools/formed/formed/plugins/export/sql.py: New WHERE-Clause for views
1337    
1338    2007-10-23      Frank Koormann <[email protected]>
1339    
1340            * tools/formed/formed/plugins/export/sql.py: Set default
1341            value (-1) for choices and bools.
1342    
1343    2007-10-21      Frank Koormann <[email protected]>
1344    
1345            * tools/formed/formed/plugins/export/sql.py: Grant statements for
1346            descriptive tables added.
1347            (Table.getName): new
1348    
1349    2007-10-21      Frank Koormann <[email protected]>
1350    
1351            * tools/formed/formed/plugins/export/sql.py: "CREATE OR REPLACE"
1352            statements for views and roles to make updates easier.
1353            Add "admin_ka" membership as third option to VIEW_WHERE_CLAUSE.
1354    
1355    2007-10-19      Frank Koormann <[email protected]>
1356    
1357            * tools/formed/formed/plugins/export/sql.py: Added GRANT statements
1358            for views. The statements are prepared for variable substitution
1359            when executing the SQL-scripts by psql.
1360    
1361    2007-10-18      Sascha L. Teichmann <[email protected]>
1362    
1363            * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Fixed:
1364              End of result XML was truncated because of an unflushed buffer.
1365    
1366    2007-10-17      Sascha L. Teichmann <[email protected]>
1367    
1368            * pdf2xfa/bin/build-jar.sh: New. Build production jar file.
1369    
1370            * pdf2xfa/README.TXT: Adjusted how to build production jar file
1371              and how to use it.
1372    
1373            * pdf2xfa/etc, pdf2xfa/etc/manifest.txt: New. Defines main class
1374              and iText dependency.
1375    
1376    2007-10-16      Sascha L. Teichmann <[email protected]>
1377    
1378            * tools/formed/formed/plugins/export/sql.py: Model 'Ja, Nein, Keine Angabe'
1379              are not modeled as BOOLEANs any more. That simpifies the conversion
1380              process web vs. db.
1381    
1382    2007-10-07      Sascha L. Teichmann <[email protected]>
1383    
1384            * tools/formed/formed/plugins/export/sql.py: Added the remaining
1385              UPDATE rules.
1386    
1387    2007-10-07      Sascha L. Teichmann <[email protected]>
1388    
1389            * tools/formed/formed/plugins/export/sql.py: Added UPDATE rules for some
1390              views. TODO: Test'em and implement the rest.
1391    
1392    2007-10-07      Sascha L. Teichmann <[email protected]>
1393    
1394            * tools/formed/formed/plugins/export/sql.py: Bug fix. DELETE and INSERT
1395              rules referenced none existing views.
1396    
1397    2007-10-07      Sascha L. Teichmann <[email protected]>
1398    
1399            * tools/formed/formed/plugins/export/sql.py: Added DELETE and INSERT
1400              rules for views. TODO: add UPDATE rules.
1401    
1402    2007-10-07      Sascha L. Teichmann <[email protected]>
1403    
1404            * tools/formed/formed/plugins/export/old_sql.py: New. Contains
1405              the legacy SQL export filters.
1406    
1407            * tools/formed/formed/plugins/export/sql.py: Factored out the
1408              legacy SQL export filters to old_sql.
1409    
1410            * tools/formed/formed/config.py: Adjusted to fetch legacy
1411              filters from old_sql.
1412    
1413    2007-10-06      Sascha L. Teichmann <[email protected]>
1414    
1415            * pdf2xfa/**: Initial import of the PDF to XFA server.
1416    
1417    2007-10-06      Sascha L. Teichmann <[email protected]>
1418    
1419            * tools/formed/formed/plugins/export/sql.py: Fixed bug
1420              that made choices of three elements to booleans if
1421              they have other meanings than 'Ja', 'Nein', 'keine Angabe'.
1422    
1423    2007-10-05      Sascha L. Teichmann <[email protected]>
1424    
1425            * tools/formed/formed/plugins/export/sql.py: Select ids of
1426              underlaying tables in views too.
1427    
1428    2007-10-04      Sascha L. Teichmann <[email protected]>
1429    
1430            * tools/formed/formed/plugins/export/sql.py: Create schema inside transaction.
1431              Various bug fixes.
1432    
1433    2007-10-04      Sascha L. Teichmann <[email protected]>
1434    
1435            * tools/formed/formed/model/data.py: Added GroupNode.allWidgets()
1436              to extract fields from embedded repeat groups.
1437    
1438            * tools/formed/formed/plugins/export/sql.py: The SQL exporter exports
1439              views per page too. Result not tested yet.
1440    
1441    2007-10-01      Sascha L. Teichmann <[email protected]>
1442    
1443            * tools/formed/formed/plugins/web/view_renderer.py: Ignore
1444              in-page repeat groups while rendering pages.
1445    
1446    2007-10-01      Sascha L. Teichmann <[email protected]>
1447    
1448            * tools/formed/formed/model/nodecomponents.py: Added visitor
1449              traversals for document trees.
1450    
1451            * tools/formed/formed/model/data.py: Rewrote the
1452              Page.allWidgets() method to use new visitor for
1453              tree traversal.
1454    
1455    2007-09-27      Torsten Irlaender <[email protected]>
1456    
1457            * tools/formed/formed/plugins/names/filter.py: Pages are now included
1458              in the rename by formular name  algorithm
1459    
1460    2007-09-26      Sascha L. Teichmann <[email protected]>
1461    
1462            * tools/formed/formed/model/data.py: Removed old {next|prev}Page()
1463              TODO: rewrite Page.allWidgets().
1464    
1465            * tools/formed/formed/model/nodecomponents.py: Added a method
1466              Node.firstLevel(criterion) to walk a defined line in the tree.
1467    
1468            * tools/formed/formed/plugins/export/sql.py: Extract data suitable to
1469              build views and respective joins.
1470    
1471    2007-09-26      Sascha L. Teichmann <[email protected]>
1472    
1473            * tools/formed/formed/plugins/web/plugin.py: add 'web.tidy:' flag to
1474              FORMED environment variable. If set to true tidylib is used to
1475              filter HTML content to be W3C valid. To use this feature install
1476              uTidylib.
1477    
1478            * tools/formed/formed/plugins/web/server.py: Check if MIME type is
1479              text/html and filters content through tidy if requested.
1480    
1481    2007-09-25      Torsten Irlaender <[email protected]>
1482    
1483            * tools/formed/formed/plugins/web/view_renderer.py: Small fix and
1484              cleanup of the form generation code.
1485    
1486    2007-09-21      Sascha L. Teichmann <[email protected]>
1487    
1488            * tools/formed/formed/plugins/export/sql.py: Added generation time
1489              and DROP TABLE statements to schema export.
1490    
1491    2007-09-20      Sascha L. Teichmann <[email protected]>
1492    
1493            * tools/formed/formed/plugins/export/sql.py: The tables are generated
1494              in correct topolocial order now.
1495    
1496    2007-09-20      Sascha L. Teichmann <[email protected]>
1497    
1498            * tools/formed/formed/plugins/export/mode.py: New. Filter to export
1499              a document with items that are in given mode.
1500    
1501            * tools/formed/formed/model/nodecomponents.py: Added methods to clone
1502              trees depending on selected modes.
1503    
1504            * tools/formed/formed/model/data.py, tools/formed/formed/model/expr.py:
1505              Fixed clone issue with RuleNodes.
1506    
1507            * tools/formed/formed/config.py: Use new plug-in.
1508    
1509    2007-09-17      Sascha L. Teichmann <[email protected]>
1510    
1511            * tools/formed/formed/plugins/web/view_renderer.py: Make the
1512              view renderer a real view renderer. It takes a list of
1513              items now and not only a single page.
1514    
1515            * tools/formed/formed/plugins/web/renderer.py: Feed a list
1516              of items to the view renderer.
1517    
1518    2007-09-17      Torsten Irlaender <[email protected]>
1519    
1520            * tools/formed/formed/plugins/web/view_renderer.py:
1521              Small tweaks in rendering bools.
1522              RadioNodes (with all its children) can now be placed in a container.
1523              The radiobools will not get a surrounding <div> anymore.
1524              I am not sure if the new way results in the wanted behaivor, but the
1525              rendering results are much better now :)
1526              Maybe we need a similar approach for checkboxes?
1527              Rendering groups is still broken in some way.
1528    
1529    2007-09-17      Sascha L. Teichmann <[email protected]>
1530    
1531            * tools/formed/formed/plugins/web/view_renderer.py: Fixed
1532              a few bugs: Do not render empty containers, do not
1533              generate misplaced <br class="newline"> in choices.
1534              Add a nameless container to catch the items that are
1535              nor explicitly assigned to a target. Removed FormData.
1536    
1537            * tools/formed/formed/plugins/web/renderer.py: Removed
1538              a needless import
1539    
1540    2007-09-17      Sascha L. Teichmann <[email protected]>
1541    
1542            * tools/formed/formed/plugins/web/view_renderer.py: Implemented
1543              usage of 'containers' and 'target' attributes.
1544    
1545            * tools/formed/formed/plugins/web/controllers.py: Modified import.
1546    
1547            * tools/formed/formed/plugins/web/renderer.py: Use
1548              new ViewRenderer.
1549    
1550    2007-09-17      Sascha L. Teichmann <[email protected]>
1551    
1552            * tools/formed/formed/model/nodecomponents.py: Added attributes
1553              'target' to NodeComponent and 'containers' to Node.
1554    
1555            * tools/formed/formed/plugins/web/view_renderer.py: New. Aimed
1556              to be a replacement for form_renderer. Not ready yet!
1557    
1558            * ChangeLog: Fixed some indention glitches.
1559    
1560    2007-09-13      Torsten Irlaender <[email protected]>
1561    
1562            * tools/formed/formed/plugins/names/filter.py: Fixed bug in the
1563              renaming algorithm.
1564    
1565    2007-09-12      Torsten Irlaender <[email protected]>
1566    
1567            * tools/formed/formed/plugins/web/form_renderer.py: Renamed header
1568              from formular navigation to "Fallakte Inhalt"
1569    
1570    2007-09-12      Torsten Irlaender <[email protected]>
1571    
1572            * tools/formed/formed/plugins/ui/controls.py: Fixed bug that bad
1573              values (dates)  were not pretty printed.
1574    
1575            * tools/formed/formed/plugins/web/form_renderer.py: Added errormsg to
1576              label rendering for choicelists.
1577    
1578    2007-09-12      Torsten Irlaender <[email protected]>
1579    
1580            * tools/formed/formed/plugins/ui/controls.py: Fixed bug that
1581              choicelist did not get selected when the value is set to "0"
1582    
1583    2007-09-12      Torsten Irlaender <[email protected]>
1584    
1585            * tools/formed/formed/plugins/web/form_renderer.py: Added
1586              "getPrintableData" method, for the formdata Class which will return
1587              the description rather than the value of element in the ID. This is
1588              need for displaying the choises in a right way.
1589            
1590            * tools/formed/formed/plugins/web/renderer.py: Changed string
1591              "Fallnummer" into "Kundennummer" in the templates. Added
1592              Kundennummer to the dataset digest output. Bound in the new
1593              "getPrintableData" call for the digest.
1594    
1595    2007-10-11      Sascha L. Teichmann <[email protected]>
1596    
1597            * tools/formed/formed/plugins/export/data.py: The import/export
1598              of data is now implemented with filters (the most consequent
1599              way in terms of design of FormEd). The support of the 'persistent'
1600              FORMED env-variable support has been removed.
1601    
1602            * tools/formed/formed/plugins/ui/controls.py: Added a flag to the
1603              filter file dialog to double as import dialog.
1604    
1605            * tools/formed/formed/main.py: Removed the the FORMED-var support
1606              for persistence.
1607            
1608            * tools/formed/formed/config.py: Add the two new filters to the filters
1609              list.
1610    
1611    2007-10-11      Sascha L. Teichmann <[email protected]>
1612    
1613            * tools/formed/formed/model/memory.py: Uses XML as persistence format now.
1614              Removed pickle/unpickle stuff.
1615    
1616            * tools/formed/formed/main.py: Uses the new XML persistence.
1617    
1618            * tools/formed/formed/plugins/web/semantic.py: Fixed: choices were
1619              not converted to int indices.
1620    
1621    2007-09-11      Sascha L. Teichmann <[email protected]>
1622    
1623            * tools/formed/formed/model/memory.py: Making MemoryDataStore persistent
1624              with pickle/unpickle.
1625    
1626            * tools/formed/formed/main.py: Added a env FORMED parameter 'persistent'.
1627              Set to a file name it is tried to unpickle a MemoryDataStore from
1628              that file. When exiting the program this file is used to store the
1629              current MemoryDataStore state. The storing only works if you exit
1630              the program through the Menu File->Exit.
1631              usage: FORMED=persistent:test.db ./formed.sh
1632    
1633    2007-09-11      Torsten Irlaender <[email protected]>
1634    
1635            * tools/formed/formed/plugins/web/renderer.py: Changed Name of the
1636              application on the welcome page from "Formed" to "WASKA"
1637    
1638    2007-09-11      Torsten Irlaender <[email protected]>
1639    
1640            * tools/formed/formed/plugins/web/plugin.py,
1641            * tools/formed/formed/plugins/web/controllers.py,
1642            * tools/formed/formed/plugins/web/renderer.py: Added InfoPageHandler.
1643              The infopage provides information on all project participants.
1644    
1645    2007-09-11      Sascha L. Teichmann <[email protected]>
1646    
1647            * tools/formed/formed/plugins/web/controllers.py: Fix unicode conversion
1648              issues with error messages (once again).
1649    
1650    2007-09-11      Torsten Irlaender <[email protected]>
1651    
1652            * tools/formed/formed/plugins/web/form_renderer.py,
1653            * tools/formed/formed/plugins/web/renderer.py: Added alt tag for
1654              icons in error and confirmation dialogs.
1655    
1656    2007-09-11      Sascha L. Teichmann <[email protected]>
1657    
1658            * tools/formed/formed/plugins/web/form_renderer.py: Fixed label
1659              generation for ints, texts and textareas. Fixed h depths of infos.
1660    
1661    2007-09-11      Sascha L. Teichmann <[email protected]>
1662    
1663            * tools/formed/formed/plugins/web/form_renderer.py: Removed
1664              debug output for help.
1665    
1666            * tools/formed/formed/plugins/web/semantic.py: Added forgotten
1667              check for bools.
1668    
1669            * tools/formed/formed/plugins/web/controllers.py:  Added correct
1670              HTML output of data for bools.
1671    
1672    2007-09-11      Torsten Irlaender <[email protected]>
1673    
1674            * tools/formed/formed/plugins/web/form_renderer.py: Changed size of
1675              textfields for int values. Changed Label for submitbuttons to
1676              "Speichern"
1677    
1678            * tools/formed/formed/plugins/web/plugin.py,
1679              tools/formed/formed/plugins/web/controllers.py: Added new
1680              NotImplementedHandler to show up a dummysite for not implemented
1681              functions.
1682    
1683            * tools/formed/formed/plugins/web/renderer.py: Added
1684              NotImplementedRenderer. Various small fixes. Mostly renaming the
1685              labels of some context menus. Error messages are now generated
1686              dynamically depending on num errors. Formular navigation has now
1687              colored indication for errors.
1688    
1689    2007-09-11      Torsten Irlaender <[email protected]>
1690    
1691            * tools/formed/formed/plugins/web/renderer.py: Implemented "LookAhead"
1692              algorithm for the formular navigation to get rid of the problem
1693              that some of the items within the navigation are not linked.  Now
1694              structural group elements are linked with the next page found in the
1695              formular structure.
1696    
1697    2007-09-10      Torsten Irlaender <[email protected]>
1698            * tools/formed/formed/plugins/web/form_renderer.py: Changed order of
1699              div and formtag.
1700    
1701            * tools/formed/formed/plugins/web/controllers.py: Added DataSet action
1702              menu in the conformation dialog when creating a new dataset.
1703    
1704            * tools/formed/formed/plugins/web/renderer.py: Fixed error when
1705              rendering the default welcome page. Changed rendering of the
1706              overview and the digest table of the datasets. Added icon for
1707              confirmation dialog, moved the icon in the <h1> tags.  
1708    
1709    2007-09-10      Torsten Irlaender <[email protected]>
1710    
1711            * tools/formed/formed/plugins/web/form_renderer.py: Some html
1712              generation cleanup. Added error icons to formelements
1713    
1714            * tools/formed/formed/plugins/web/controllers.py: Fixed initialisation
1715              of ErrorStatus. Fixed generated of the help tags in the formular
1716    
1717            * tools/formed/formed/plugins/web/renderer.py: Added error icon for
1718              pageerrors. An "!" now indicates errors on pages in the formular
1719              navigation. Added new <div> "content" around confirmation dialogss.
1720              Links in confimation dialogs are now rendered as buttons. Removed
1721              old obsolete OverviewRenderer.
1722    
1723    2007-09-10      Sascha L. Teichmann <[email protected]>
1724    
1725            * tools/formed/formed/plugins/web/renderer.py: Highlight selected
1726              page in page navigation.
1727    
1728    2007-09-10      Torsten Irlaender <[email protected]>
1729    
1730            * tools/formed/formed/plugins/web/controllers.py: Fixed issues on
1731              displaying formdata when changing datasets. Loading the right
1732              formdata was not handled in a correct way. Hope it is all fixed now.
1733              Left some commented code because not all sideeffects of the changes
1734              are tested yet.
1735    
1736            * tools/formed/formed/plugins/web/renderer.py: DataSetDigestRenderer
1737              now uses the correct data out of the formdata.
1738    
1739    2007-09-10      Sascha L. Teichmann <[email protected]>
1740    
1741            * tools/formed/formed/plugins/web/controllers.py: Pretty
1742              print format data (dates e.g)
1743    
1744    2007-09-10      Sascha L. Teichmann <[email protected]>
1745    
1746            * tools/formed/formed/plugins/web/controllers.py: Modified
1747              ErrorStats a bit to avoid mysterious extra error on page.
1748              No clue why this works.
1749    
1750    2007-09-10      Sascha L. Teichmann <[email protected]>
1751    
1752            * tools/formed/formed/plugins/web/form_renderer.py: Fixed value
1753              problem with radio groups, too.
1754    
1755    2007-09-10      Torsten Irlaender <[email protected]>
1756            * tools/formed/formed/plugins/web/controllers.py: Sessions are now
1757              really removed when deleting a dataset.
1758            
1759    2007-09-10      Torsten Irlaender <[email protected]>
1760    
1761            * tools/formed/formed/plugins/web/controllers.py: Added new Class
1762              ErrorStats which provides Information on remaining errors per page.
1763    
1764            * tools/formed/formed/plugins/web/renderers.py: Finished movement of
1765              the renderer methods from controllers.py to renderers.py.
1766    
1767            * tools/formed/formed/plugins/web/plugin.py: Removed render_session
1768              handlers
1769    
1770    2007-09-10      Sascha L. Teichmann <[email protected]>
1771    
1772            * tools/formed/formed/plugins/web/form_renderer.py: values for
1773              choices are generated from the document tree now. This brings
1774              the state storage of select boxes in HTML to live.
1775    
1776    2007-09-09      Sascha L. Teichmann <[email protected]>
1777    
1778            * tools/formed/formed/plugins/web/semantic.py: Fixed problems with
1779              range checking of integers.
1780    
1781            * tools/formed/formed/plugins/web/controllers.py: Added class
1782              ErrorItem to track errors. They are stored in the session.
1783    
1784    2007-09-09      Sascha L. Teichmann <[email protected]>
1785    
1786            * tools/formed/formed/model/nodecomponents.py: Fixed returning
1787              wrong index in Document.indexOfcomponentByClassAndName.
1788    
1789            * tools/formed/formed/plugins/web/form_renderer.py: 'error' was
1790              written 'errot' in renderer for textareas.
1791    
1792            * tools/formed/formed/plugins/web/controllers.py: Some clean-ups.
1793    
1794    2007-09-09      Sascha L. Teichmann <[email protected]>
1795    
1796            * tools/formed/formed/plugins/web/help.py: Added a 'hasHelp'
1797              method. Could be cheaper for some implementations of help.
1798    
1799            * tools/formed/formed/plugins/web/form_renderer.py: Modified
1800              FormData to have distinct getData(), getHelp() and getError()
1801              methods. Various bug fixes.
1802    
1803            * tools/formed/formed/plugins/web/controllers.py: Implements the
1804              new FormData (trivial by now).
1805    
1806            * tools/formed/formed/plugins/web/renderer.py: New FormData and
1807              some bug fixes.
1808    
1809    2007-09-09      Sascha L. Teichmann <[email protected]>
1810    
1811            * tools/formed/formed/model/memory.py,
1812              tools/formed/formed/model/persistent.py: Add a getValue() method
1813              to dataset abstraction. This is a bit of a workaround to bring
1814              global access across pages for rule checking to work.
1815    
1816            * tools/formed/formed/model/data.py: Fixed: When setting a new expression
1817              the compiled version was not stored in the RuleLeaf.
1818    
1819            * tools/formed/formed/model/expr.py: shlex lexer does not like unicode.
1820              convert the expression string to ascii for compilation.
1821    
1822            * tools/formed/formed/plugins/web/semantic.py: Remove the 'box' because
1823              valid data is stored to the dataset immediately now. Fixed a bug
1824              with integer handler.
1825    
1826            * tools/formed/formed/plugins/web/controllers.py: Removed the semantic 'box'
1827              stuff. When a submit is done extract the rules from the tree document
1828              that are effected by the modified variables and check them.
1829    
1830            * tools/formed/formed/plugins/web/renderer.py: Fixed exception handling
1831              when dealing with templates.
1832    
1833    2007-09-07      Torsten Irlaender <[email protected]>
1834            * tools/formed/formed/plugins/web/controllers.py,
1835              tools/formed/formed/plugins/web/renderer.py: Moved more render
1836              functions into renderer.py. New render classes are:
1837              DataSetDigestRenderer, DataSetNavigationRenderer,
1838              DataSetFormularRenderer, ConfirmationDialogRenderer
1839    
1840              Note: The new methods are only called from selected handlers. Other
1841              handlers call the renderes in the old way.
1842    
1843    2007-09-07      Torsten Irlaender <[email protected]>
1844            * tools/formed/formed/plugins/web/form_renderer.py: Renamed
1845              renderer.py to form_renderer.py. This file will contain formular
1846              specfic render methods in the future.
1847            * tools/formed/formed/plugins/web/renderer.py: Added new renderer.py
1848              which will contain general render methods.
1849            * tools/formed/formed/plugins/web/controllers.py: Began to move all
1850              rendering into renderer.py or form_renderer.py. This file will only
1851              contain teh handlers in the future.
1852    
1853    2007-09-07      Torsten Irlaender <[email protected]>
1854            * tools/formed/formed/plugins/web/renderer.py,
1855              tools/formed/formed/plugins/web/controller.py:
1856              Renderes now get an instance of the formdata object to provide
1857              access the data needed to render various infoboxes etc. Handler
1858              instanciate the formdata.
1859            
1860    2007-09-06      Torsten Irlaender <[email protected]>
1861            * tools/formed/formed/plugins/web/renderer.py: Mainly tried to get the
1862              getFormData interface to work. Added two small semantic fixes, but
1863              did not manage to get it up. Need to exime this a little bit more
1864            * tools/formed/formed/plugins/web/controllers.py: Put <div> tags
1865              around the menus on the right side to be able to assign different
1866              styles. Added dataset actions while editing a dataset.
1867            
1868    2007-09-05      Torsten Irlaender <[email protected]>
1869            * tools/formed/formed/model/memory.py: Fixed deleting datasets by
1870              removing unwanted del method
1871            * tools/formed/formed/plugins/web/controllers.py: Implemented
1872              confiration dialogs for create, delete, and select aof datasets. Started to use
1873              templates as well for larger information units like the dataset summary.
1874            
1875    2007-09-05      Sascha L. Teichmann <[email protected]>
1876    
1877            * tools/formed/formed/model/nodecomponents.py: Added a
1878              method to document to find index of page.
1879    
1880            * tools/formed/formed/plugins/web/semantic.py: Added getValue()
1881              to fetch data from semantic box.
1882    
1883            * tools/formed/formed/plugins/web/controllers.py: Added new
1884              FormData implementation to support DB and semantic box.
1885    
1886    2007-09-05      Sascha L. Teichmann <[email protected]>
1887    
1888            * tools/formed/formed/plugins/web/renderer.py: escaped
1889              error message.
1890    
1891            * tools/formed/formed/plugins/web/controllers.py: Don't fetch
1892              dataset from backend each time a page is up to edit.
1893    
1894    2007-09-05      Sascha L. Teichmann <[email protected]>
1895    
1896            * tools/formed/formed/plugins/web/renderer.py: SimplePageRenderer
1897              returns "Page not found" if given page is None.
1898    
1899            * tools/formed/formed/plugins/web/controllers.py: Added checks
1900              to avoid crashing when ask for a non-existent page.
1901    
1902    2007-09-05      Sascha L. Teichmann <[email protected]>
1903    
1904            * tools/formed/formed/plugins/web/controllers.py: Some clean-ups.
1905    
1906    2007-09-05      Sascha L. Teichmann <[email protected]>
1907    
1908            * tools/formed/formed/plugins/web/plugin.py: Remove request handlers
1909              and renderers.
1910    
1911            * tools/formed/formed/plugins/web/controllers.py: New. Contains handlers
1912              and renderers now. TODO: Move renderers to renderer.py
1913    
1914    2007-09-05      Torsten Irlaender <[email protected]>
1915    
1916            * tools/formed/formed/plugins/web/www/main.tmpl: Adopted web template
1917              and bound in the the new added functions to create, edit, delete and
1918              show formdata.
1919            
1920    2007-09-05      Sascha L. Teichmann <[email protected]>
1921    
1922            * tools/formed/formed/model/memory.py: Removed bisect and use a
1923              simple linear scan for dataset lookup now.
1924    
1925            * tools/formed/formed/plugins/web/plugin.py: Fixed various issues
1926              of different sizes.
1927    
1928    2007-09-05      Torsten Irlaender <[email protected]>
1929    
1930            * tools/formed/formed/plugins/web/memory.py: Fixed getDataSetById
1931              fuction
1932              
1933            * tools/formed/formed/plugins/web/persistent.py: Added store() method
1934              to the DataSet interface
1935    
1936            * tools/formed/formed/plugins/web/renderer.py: Added handlers and
1937              renderes for create, update, delete and show actions on formular data.
1938    
1939    2007-09-04      Sascha L. Teichmann <[email protected]>
1940    
1941            * tools/formed/formed/plugins/web/server.py: The mapping
1942              to methods is now driven by regualar expressions and
1943              a dictionary. Response objects are now able to send
1944              error codes.
1945    
1946            * tools/formed/formed/plugins/web/renderer.py: Fixed an issue
1947              when help in Formdata is None. Moved text for help into
1948              a top level '''...''' variable.
1949    
1950            * tools/formed/test-data/simple.xml: Added test for help.
1951    
1952            * tools/formed/formed/plugins/web/help.py: extra None check.
1953    
1954            * tools/formed/formed/plugins/web/plugin.py: Uses the new
1955              table driven mapping of reguest handling. TODO: split the
1956              WebPlugIn.pageHandler() method further to smaller handlers.
1957              Smaller clean ups and better exception handling.
1958    
1959            * tools/formed/formed/plugins/web/cache.py: Report OSErrors
1960              and do not catch them.
1961    
1962    2007-09-04      Torsten Irlaender <[email protected]>
1963    
1964            * tools/formed/formed/plugins/web/renderer.py,
1965            * tools/formed/formed/plugins/web/plugin.py: Added Interface to
1966              the HelpProvider and inserted help icons to the html output.
1967              Added decorator for Formelemnts, so textfields, choices etc. are now
1968              within a <div> tag.
1969              Modified the error messages.
1970    
1971    2007-09-04      Sascha L. Teichmann <[email protected]>
1972    
1973            * tools/formed/formed/plugins/web/cache.py: New. Implements
1974              the server-side caching more clean. Fixes a bug with
1975              serving static content.
1976    
1977            * tools/formed/formed/plugins/web/plugin.py: Use the new cache.
1978    
1979    2007-09-04      Sascha L. Teichmann <[email protected]>
1980    
1981            * tools/formed/formed/plugins/web/plugin.py: Set MIME type
1982              to "application/xhtml+xml" when serving help texts.
1983    
1984    2007-09-03      Sascha L. Teichmann <[email protected]>
1985    
1986            * tools/formed/formed/plugins/export/diff.py: New. Exports
1987              pairwise differences between all modes.
1988    
1989            * tools/formed/formed/config.py: Use new export filter.
1990    
1991    2007-09-03      Sascha L. Teichmann <[email protected]>
1992    
1993            * tools/formed/formed/plugins/web/help.py: New. Parses an
1994              XHTML document for id'ed divs and builds a help lookup.
1995    
1996            * tools/formed/formed/plugins/web/www/help.tmpl: Template for
1997              the help content frame.
1998    
1999            * tools/formed/formed/plugins/web/www/help.xhtml: Some simple
2000              help text index.
2001    
2002            * tools/formed/formed/plugins/web/plugin.py: Serves the help
2003              texts now.
2004    
2005    2007-09-03      Torsten Irlaender <[email protected]>
2006    
2007            * tools/formed/formed/plugins/web/plugin.py: Only visible group
2008              elements will be rendered in the formular navigation.
2009              Formular pages in the navigation now have their own css-style
2010              attributes.
2011    
2012    2007-09-03      Torsten Irlaender <[email protected]>
2013    
2014            * tools/formed/formed/plugins/web/www/main.tmpl: Added div area for page
2015              errors in template
2016            * tools/formed/formed/plugins/web/plugin.py: Fixed undefined
2017              pageerrors variable
2018    
2019    2007-09-03      Frank Koormann <[email protected]>
2020    
2021            * tools/formed/formed/plugins/export/html.py
2022            (RecursiveExporter): Added annotation to export
2023            (fillRow()): Renamed old fillNine to this more generic name.
2024            
2025    
2026    2007-09-03      Sascha L. Teichmann <[email protected]>
2027    
2028            * tools/formed/formed/plugins/web/renderer.py: Using the decorator
2029              from model.misc now.
2030    
2031    2007-09-03      Sascha L. Teichmann <[email protected]>
2032    
2033            * tools/formed/formed/model/nodecomponents.py: Added an
2034              'annotation' attribute to node components. This is to
2035              enable FormEd document authors to add comments to groups
2036              and fields.
2037    
2038    2007-09-03      Frank Koormann <[email protected]>
2039    
2040            * tools/formed/formed/model/nodecomponents.py
2041            (NodeComponent.getParent): New method to get node components parent.
2042    
2043            * tools/formed/formed/plugins/export/html.py: Export Choice option
2044            as simple list instead of collection of bools.
2045    
2046    2007-09-02      Sascha L. Teichmann <[email protected]>
2047    
2048            * tools/formed/formed/model/persistent.py: Interfaces to abstract
2049              from persistent storage details.
2050    
2051            * tools/formed/formed/model/memory.py: In core implementation
2052              of the persistent interfaces.
2053    
2054            * tools/formed/formed/main.py: Holds a memory data store now.
2055    
2056    2007-09-02      Sascha L. Teichmann <[email protected]>
2057    
2058            * tools/formed/formed/plugins/export/sql.py,
2059              tools/formed/formed/plugins/export/html.py: Fixed constructor chains
2060              for FileDialogFilter sub classes.
2061    
2062    2007-09-02      Sascha L. Teichmann <[email protected]>
2063    
2064            * tools/formed/formed/model/misc.py: Checking the mode in recursive
2065              tree traversals is a common task. To ease this a decorator function
2066              checkMode in union with sub classing ModeChecker can be used.
2067              To make it work simply subclass from ModeChecker and add the decorator
2068              to the methods that need mode tracking. Before you start the recursion
2069              call self.prepareDescent().
2070    
2071            * tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme
2072              now which replace the old. TODO: Make the web renderer use the new scheme
2073              too.
2074    
2075    2007-09-02      Sascha L. Teichmann <[email protected]>
2076    
2077            * tools/formed/formed/plugins/export/sql.py: Removed needless import.
2078    
2079            * tools/formed/formed/plugins/export/html.py: HTML table exporter
2080              uses new FileDialogFilter base class too.
2081    
2082    2007-09-02      Sascha L. Teichmann <[email protected]>
2083    
2084            * tools/formed/formed/plugins/ui/*: New. All file exporters
2085              need a file dialog. Till now each of them pulled up its
2086              own. This was silly code replication. Now there is an abstract
2087              base class 'FileDialogFilter' which implements the common
2088              behavior. The file exporters should subclass it.
2089    
2090            * tools/formed/formed/plugins/export/sql.py: Subclass the SQL
2091              exporters from the new base class. TODO: Subclass the HTML
2092              exporter too.
2093    
2094    2007-08-31      Sascha L. Teichmann <[email protected]>
2095    
2096            * tools/formed/formed/plugins/export/html.py: Make mode check
2097              work (again).
2098    
2099    2007-08-31      Torsten Irlaender <[email protected]>
2100    
2101            * tools/formed/formed/plugins/export/html.py: Rendering of the HTML
2102              exprt works now in a recursive way. This change was needed because
2103              the structure of the formedtree has changed to be able to render
2104              full hirachically document stuctures. (nested lists)
2105              TODO: Fix modechecking
2106    
2107    2007-08-31      Torsten Irlaender <[email protected]>
2108    
2109            * tools/formed/formed/plugins/web/plugin.py: Navigation rendering works
2110              now in recursive way. This change was needed because the structure
2111              of the formedtree has changed to be able to render full hirachically
2112              document stuctures. (nested lists)
2113    
2114    2007-08-31      Sascha L. Teichmann <[email protected]>
2115    
2116            * tools/formed/formed/model/nodecomponents.py: use discard()
2117              instead of remove on sets.
2118    
2119            * tools/formed/formed/plugins/export/sql.py: Added an
2120              exporter for table views.
2121    
2122            * tools/formed/formed/config.py: Added the new exporter
2123              to the list of export filters.
2124    
2125    2007-08-30      Sascha L. Teichmann <[email protected]>
2126    
2127            * tools/formed/formed/model/data.py: Fixed a bug in
2128              Page.allWidgets()
2129    
2130            * tools/formed/formed/plugins/export/sql.py: Added an exporter
2131              for stored procudeures.
2132    
2133            * tools/formed/formed/config.py: Add the new SP exporter.
2134    
2135    2007-08-29      Torsten Irlaender <[email protected]>
2136    
2137            * tools/formed/formed/plugins/web/plugin.py,
2138              tools/formed/formed/plugins/web/error_renderer.py: Added interface
2139              to get the errors for a whole page in te formular. These errors can
2140              now be displayed on the top of the formular.
2141    
2142    2007-08-29      Torsten Irlaender <[email protected]>
2143    
2144            * tools/formed/formed/plugins/web/renderer.py: Finished implementation
2145              of the getFromData interface and prepared the rederer for generating
2146              nice error messages
2147    
2148    2007-08-28      Frank Koormann <[email protected]>
2149    
2150            * tools/formed/formed/plugins/export/sql.py
2151            (SchemaCreator.createSchema, SchemaCreator._createGroup):
2152            Fixed typo in created DDS (PRIMRAY -> PRIMARY)
2153    
2154    2007-08-28      Torsten Irlaender <[email protected]>
2155    
2156            * tools/formed/formed/plugins/export/sql.py: Added small helper
2157              function to generated valid quotes within the sql statements
2158    
2159    2007-08-29      Sascha L. Teichmann <[email protected]>
2160    
2161            * tools/formed/formed/plugins/export/sql.py: Added foreign keys
2162              for repeat tables.
2163              
2164    2007-08-29      Sascha L. Teichmann <[email protected]>
2165    
2166            * tools/formed/formed/plugins/export/sql.py: When generating
2167              an extra table check in a table of same content exists. In
2168              this case reference the existing table.
2169    
2170    2007-08-29      Sascha L. Teichmann <[email protected]>
2171    
2172            * tools/formed/formed/plugins/export/sql.py: Rewritten to produce
2173              _real_ SQL and respect repeat groups.
2174    
2175            * tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat()
2176    
2177            * tools/formed/formed/plugins/web/renderer.py: Use "".join([])
2178              instead of expensive += string concat in some places.
2179    
2180    2007-08-29      Sascha L. Teichmann <[email protected]>
2181    
2182            * tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat()
2183              to .isRepeat and return a bool. Fixed a bug in Page.allWidgets().
2184    
2185    2007-08-28      Torsten Irlaender <[email protected]>
2186    
2187            * tools/formed/plugins/web/renderer.py: Added Formdata interface.
2188            * tools/formed/model/data.py: Implements Formadata interface to
2189              textfields. Fieldset generated depends now on the "invisible"
2190              attribute of the groupnode. Field-label generation slightly changed.
2191              Added error indication to textfields
2192    
2193    2007-08-28      Sascha L. Teichmann <[email protected]>
2194    
2195            * tools/formed/formed/model/data.py,
2196              tools/formed/formed/io/document.py: Removed support
2197              of logical groups.
2198    
2199    2007-08-28      Sascha L. Teichmann <[email protected]>
2200    
2201            * tools/formed/formed/io/document.py: Avoid saving empty
2202              attributes.
2203    
2204            * tools/formed/test-data/simple.xml: Applied.
2205    
2206    2007-08-28      Sascha L. Teichmann <[email protected]>
2207    
2208            * tools/formed/formed/model/data.py: Added 'repeat' and
2209              'invisible' attributes to group. TODO: remove logical group.
2210    
2211    2007-08-27      Torsten Irlaender <[email protected]>
2212    
2213            * tools/formed/plugins/web/plugin.py,
2214              tools/formed/plugins/web/renderer.py: Started to  include stylesheet
2215              depending tags in the html generation.
2216    
2217    2007-08-27      Sascha L. Teichmann <[email protected]>
2218    
2219            * tools/formed/formed/model/data.py,
2220              tools/formed/formed/io/document.py: Added a logical group.
2221              It has an attribute 'repeat' to indicate that it might
2222              be worthy an external table in DB schema.
2223    
2224    2007-08-27      Sascha L. Teichmann <[email protected]>
2225    
2226            * tools/formed/formed/plugins/web/plugin.py: Support
2227              serving of static content.
2228    
2229            * tools/formed/formed/plugins/web/server.py: Removed
2230              old send code.
2231    
2232    2007-08-27      Sascha L. Teichmann <[email protected]>
2233    
2234            * tools/formed/formed/plugins/web/plugin.py: Use new
2235              Response object. Fix typo.
2236    
2237            * tools/formed/formed/plugins/web/server.py: support
2238              response object to serve different MIME types.
2239    
2240    2007-08-27      Sascha L. Teichmann <[email protected]>
2241    
2242            * tools/formed/formed/plugins/web/plugin.py: Add web.path
2243              to FORMED environment  variable to specify the
2244              root of the static content.
2245    
2246    2007-08-26      Sascha L. Teichmann <[email protected]>
2247    
2248            * tools/formed/formed/model/data.py,
2249              tools/formed/formed/model/nodecomponents.py: Fixed mode issues.
2250    
2251            * tools/formed/formed/plugins/web/www,
2252              tools/formed/formed/plugins/web/www/main.tmpl: New. Contains
2253              a template for the HTML output.
2254    
2255            * tools/formed/formed/plugins/web/plugin.py: Fixes several smaller
2256              mode issues. Introduces CSS support. Simplified the action
2257              handling.
2258    
2259            * tools/formed/formed/plugins/web/renderer.py: Removed the
2260              nagivation code.
2261    
2262            * tools/formed/formed/plugins/web/server.py: Added missing import.
2263    
2264    2007-08-26      Sascha L. Teichmann <[email protected]>
2265    
2266            * tools/formed/formed/model/data.py: Added missing broadcast
2267              parameter to setAttribute() of RuleLeaf.
2268    
2269            * tools/formed/formed/plugins/web/plugin.py: Factorize
2270              HTTP server code out to separate module.
2271    
2272            * tools/formed/formed/plugins/web/renderer.py: Removed
2273              needless -1 from pop()
2274    
2275            * tools/formed/formed/plugins/web/server.py: New. Contains
2276              the HTTP server code now.
2277    
2278    2007-08-26      Sascha L. Teichmann <[email protected]>
2279    
2280            * tools/formed/test-data/simple.xml: Modified to contain a rule.
2281    
2282            * tools/formed/formed/model/expr.py: Added. A simple RPN
2283              expression evaluator. To avoid the problem of eval()ing
2284              arbitrary python expressions I've decided to use a very
2285              basic and limited stack machine to support rule checking.
2286    
2287            * tools/formed/formed/model/data.py: Added a RuleLeaf.
2288    
2289            * tools/formed/formed/io/document.py: Added factories for rules.
2290    
2291            * tools/formed/formed/model/nodecomponents.py: Add a method
2292              to find all items of a given type in document for a given
2293              mode. Usefull to find all rules in the tree.
2294    
2295            * tools/formed/formed/ui/controls.py: Added a listener mechanism
2296              to attribute table to report exceptions when setting a value
2297              from GUI. Useful to report compilation errors when setting
2298              expr of rule leafs.
2299    
2300            * tools/formed/formed/main.py: Added a method to track exceptions
2301              from the attribute table and pop up dialogs if they occur.
2302              Added a counter of rule modifications in tree. Useful if you
2303              want build cached data structures like rule sets and you want
2304              to know if they are still valid.
2305    
2306    2007-08-24      Torsten Irlaender <[email protected]>
2307    
2308            * tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint
2309              for checkbox values. (Syntax error).
2310    
2311            * tools/formed/formed/plugins/names/filter.py: Fixes in formularname
2312              generation  
2313    
2314    2007-08-24      Torsten Irlaender <[email protected]>
2315    
2316            * tools/formed/formed/plugins/names/filter.py: Separated Class for
2317              making the formularnames more database friendly. Added some more
2318              checks.
2319            * tools/formed/formed/plugins/export/sql.py: Make use of the fresh
2320              separated class, and some fixes in sql generation.
2321    
2322    2007-08-24      Sascha L. Teichmann <[email protected]>
2323    
2324            * tools/formed/formed/plugins/export/html.py: Print lengths
2325              of external choice list.
2326    
2327    2007-08-24      Sascha L. Teichmann <[email protected]>
2328    
2329            * tools/formed/formed/main.py: Little workaround for
2330              mode selection if someone adds an removes a mode.
2331    
2332    2007-08-24      Sascha L. Teichmann <[email protected]>
2333    
2334            * tools/formed/test-data/simple.xml: Better test case for
2335              mode depended leaf items.
2336    
2337            * tools/formed/formed/model/nodecomponents.py: Added a method
2338              to calculate the effective mode of an item.
2339    
2340            * tools/formed/formed/plugins/export/html.py: Use effective
2341              mode. TODO: the 'all' modus return false results sometimes.
2342              Cause: The modes are only cumulated over time. Removal is
2343              not done.
2344    
2345    2007-08-24      Sascha L. Teichmann <[email protected]>
2346    
2347            * tools/formed/formed/plugins/export/html.py: Dump the items
2348              of radio groups and choices too.
2349    
2350    2007-08-24      Torsten Irlaender <[email protected]>
2351    
2352            * tools/formed/formed/plugins/names/filter.py: Modified the renaming
2353              by formular names to make the naming more database friendly.
2354              Now only alphanumeric and underscore chars is allowed.
2355    
2356    2007-08-24      Sascha L. Teichmann <[email protected]>
2357    
2358            * tools/formed/formed/plugins/export/html.py: Tweaked
2359              HTML table exporter a bit to be on par with the XSLT
2360              script. TODO: Dump items in radio and choice groups.
2361    
2362    2007-08-23      Sascha L. Teichmann <[email protected]>
2363    
2364            * tools/formed/formed/plugins/names/filter.py: Removed
2365              HTML and SQL exporters.
2366    
2367            * tools/formed/formed/plugins/export,
2368              tools/formed/formed/plugins/export/__init__.py,
2369              tools/formed/formed/plugins/export/sql.py,
2370              tools/formed/formed/plugins/export/html.py: New: Contain
2371              the HTML and the SQL exporters now.
2372    
2373            * tools/formed/formed/config.py: Use exporters from different
2374              package now.
2375    
2376    2007-08-23      Torsten Irlaender <[email protected]>
2377    
2378            * tools/formed/formed/plugins/names/filter.py: Added an
2379              pseudo SQL export filters. TODO: Move HTML and SQL filter
2380              in a new file (formed/plugins/export/htmlexport.py and
2381              sqlexport.py?)
2382    
2383            * tools/formed/formed/config.py: Install the new SQL filter.
2384    
2385    2007-08-23      Sascha L. Teichmann <[email protected]>
2386    
2387            * tools/formed/formed/model/nodecomponents.py: Added a depth()
2388              method to determine the depth of particular tree item.
2389    
2390            * tools/formed/formed/plugins/names/filter.py: Added an
2391              HTML export filters. TODO: needs more work.
2392    
2393            * tools/formed/formed/config.py: Install the new HTML filter.
2394    
2395    2007-08-23      Torsten Irlaender <[email protected]>
2396    
2397            * contrib/extract-xfa-fields_and_options.xsl: Added small xsl script
2398              to extract fields and options in the XFA Data in teh PDF. This
2399              script might me handy to indicate changes between the different
2400              formular versions.
2401            
2402    2007-08-23      Sascha L. Teichmann <[email protected]>
2403    
2404            * tools/formed/formed/main.py: Add an 'all' mode to
2405              select all modes. ;-)
2406    
2407    2007-08-22      Sascha L. Teichmann <[email protected]>
2408    
2409            * tools/formed/test-data/simple.xml,
2410              tools/formed/formed/model/data.py,
2411              tools/formed/formed/plugins/web/plugin.py,
2412              tools/formed/formed/plugins/web/renderer.py,
2413              tools/formed/formed/io/document.py,
2414              tools/formed/formed/main.py: Removed support for switch nodes.
2415              BEWARE: This breaks compatibility with older documents!
2416    
2417    2007-08-22      Sascha L. Teichmann <[email protected]>
2418    
2419            * tools/formed/formed/plugins/web/plugin.py: Uses the
2420              getSelectedMode() from main now.
2421    
2422            * tools/formed/formed/main.py: selected mode is now hold
2423              in main.
2424    
2425            * tools/formed/formed/config.py: removed selected mode from
2426              env configuration.
2427    
2428    2007-08-22      Sascha L. Teichmann <[email protected]>
2429    
2430            * tools/formed/formed/ui/controls.py: Attributes in GUI attribute
2431              table are now alphabetically sorted.
2432    
2433    2007-08-22      Sascha L. Teichmann <[email protected]>
2434    
2435            * tools/formed/formed/model/nodecomponents.py: Added code to
2436              establish the new 'modes' recursively.
2437    
2438            * tools/formed/formed/plugins/plugin.py: Pass main instead
2439              of cfg on plug-in start-up.
2440    
2441            * tools/formed/formed/plugins/web/plugin.py: Use the new
2442              'modes' attribute for rendering.
2443    
2444            * tools/formed/formed/plugins/web/renderer.py: Use decorators
2445              to check the new modes.
2446    
2447            * tools/formed/formed/main.py: Adjusted to new infrastructure.
2448    
2449    2007-08-22      Sascha L. Teichmann <[email protected]>
2450    
2451            * tools/formed/formed/model/nodecomponents.py: Added an
2452              attribute 'modes' to NodeComponents.
2453    
2454    2007-08-22      Sascha L. Teichmann <[email protected]>
2455    
2456            * tools/formed/formed/model/data.py: Small cosmetic cleanups
2457    
2458    2007-08-21      Sascha L. Teichmann <[email protected]>
2459    
2460            * tools/formed/formed/plugins/web/renderer.py: Another fix
2461              for the hidden field. Argh!
2462    
2463    2007-08-21      Sascha L. Teichmann <[email protected]>
2464    
2465            * tools/formed/formed/plugins/web/renderer.py: Fixed double
2466              generation of hidden page field.
2467    
2468    2007-08-21      Sascha L. Teichmann <[email protected]>
2469    
2470            * tools/formed/formed/plugins/web/semantic.py: Added semantic
2471              checks for radio groups.
2472    
2473    2007-08-21      Sascha L. Teichmann <[email protected]>
2474    
2475            * tools/formed/formed/plugins/web/semantic.py: Added semantic
2476              checks for choices.
2477    
2478    2007-08-21      Frank Koormann <[email protected]>
2479    
2480            * contrib/convert-formedtree2html.xsl: Display switch nodes as
2481            alternatives.
2482            
2483    2007-08-21      Frank Koormann <[email protected]>
2484    
2485          * contrib/convert-formedtree2html.xsl:          * contrib/convert-formedtree2html.xsl:
2486          Replace technical types with readable descriptions          Replace technical types with readable descriptions
2487    
2488  2007-08-21 Sascha L. Teichmann <[email protected]>  2007-08-21      Sascha L. Teichmann <[email protected]>
2489    
2490          * tools/formed/formed/plugins/web/plugin.py: Fix a few smaller          * tools/formed/formed/plugins/web/plugin.py: Fix a few smaller
2491            issues. 'action' looks for all widgets on a page now, goes            issues. 'action' looks for all widgets on a page now, goes
2492                  through all passed parameters, tries to match them with the            through all passed parameters, tries to match them with the
2493                  widgets of the page and put them into the semantic box.            widgets of the page and put them into the semantic box.
2494                  Afterwards a list of untouched page parameters are left            Afterwards a list of untouched page parameters are left
2495                  which will be deleted from the semantic box.            which will be deleted from the semantic box.
2496    
2497          * tools/formed/formed/plugins/web/semantic.py: Simplified.          * tools/formed/formed/plugins/web/semantic.py: Simplified.
2498            The NodeComponent is passed as an argument now.            The NodeComponent is passed as an argument now.
# Line 18  Line 2500 
2500          * tools/formed/formed/plugins/web/renderer.py: Generate a          * tools/formed/formed/plugins/web/renderer.py: Generate a
2501            hidden field to store the name of the page.            hidden field to store the name of the page.
2502    
2503  2007-08-21 Sascha L. Teichmann <[email protected]>  2007-08-21      Sascha L. Teichmann <[email protected]>
2504    
2505          * tools/formed/formed/plugins/web/plugin.py: Fixed an encoding          * tools/formed/formed/plugins/web/plugin.py: Fixed an encoding
2506            issue with incoming UTF-8 data.            issue with incoming UTF-8 data.
2507    
2508  2007-08-21 Sascha L. Teichmann <[email protected]>  2007-08-21      Sascha L. Teichmann <[email protected]>
2509    
2510          * tools/formed/test-data/simple.xml: Improve test for widgets          * tools/formed/test-data/simple.xml: Improve test for widgets
2511            in switches.            in switches.
2512    
2513          * tools/formed/formed/model/data.py: Added a method to find all          * tools/formed/formed/model/data.py: Added a method to find all
2514            widgets in a given page. Fixed a bug when walking in switch            widgets in a given page. Fixed a bug when walking in switch
2515                  with a given mode.            with a given mode.
2516    
2517          * tools/formed/formed/plugins/web/plugin.py: Simple test for          * tools/formed/formed/plugins/web/plugin.py: Simple test for
2518            listing all widgets in page.            listing all widgets in page.
2519    
2520  2007-08-21 Torsten Irlaender <[email protected]>  2007-08-21      Torsten Irlaender <[email protected]>
2521    
2522          * tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to          * tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to
2523            latin-1            latin-1
2524    
2525  2007-08-21 Sascha L. Teichmann <[email protected]>  2007-08-21      Sascha L. Teichmann <[email protected]>
2526    
2527          * tools/formed/formed/model/data.py: Added mode parameter to          * tools/formed/formed/model/data.py: Added mode parameter to
2528            walk.            walk.
2529                              
2530          * tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites          * tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites
2531            walk() with usage of the new mode parameter. Added a method to            walk() with usage of the new mode parameter. Added a method to
2532                  give children in a given mode.            give children in a given mode.
2533    
2534          * tools/formed/formed/plugins/web/renderer.py: Simplified to use          * tools/formed/formed/plugins/web/renderer.py: Simplified to use
2535            new Switch.childrenInMode() method.            new Switch.childrenInMode() method.
2536    
2537  2007-08-21 Sascha L. Teichmann <[email protected]>  2007-08-21      Sascha L. Teichmann <[email protected]>
2538    
2539          * tools/formed/formed/plugins/web/semantic.py: Add checks for          * tools/formed/formed/plugins/web/semantic.py: Add checks for
2540            texts and text areas.            texts and text areas.
# Line 60  Line 2542 
2542          * tools/formed/formed/plugins/web/renderer.py: Set accept-charset          * tools/formed/formed/plugins/web/renderer.py: Set accept-charset
2543            to UTF-8 in generated form.            to UTF-8 in generated form.
2544    
2545  2007-08-20 Sascha L. Teichmann <[email protected]>  2007-08-20      Sascha L. Teichmann <[email protected]>
2546    
2547          * tools/formed/formed/plugins/web/semantic.py: Added semantic          * tools/formed/formed/plugins/web/semantic.py: Added semantic
2548            tests for dates.            tests for dates.
2549    
2550  2007-08-20 Sascha L. Teichmann <[email protected]>          2007-08-20      Sascha L. Teichmann <[email protected]>  
2551    
2552          * tools/formed/test-data/simple.xml: Tweak a bit for integer          * tools/formed/test-data/simple.xml: Tweak a bit for integer
2553            range test.            range test.
# Line 79  Line 2561 
2561          * tools/formed/formed/plugins/web/plugin.py: Use semantic          * tools/formed/formed/plugins/web/plugin.py: Use semantic
2562            check.            check.
2563    
2564  2007-08-20      Torsten Irlaender <[email protected]>  2007-08-20      Torsten Irlaender <[email protected]>
2565    
2566          * tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in          * tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in
2567            selection-field generation (Removed quote)            selection-field generation (Removed quote)
# Line 92  Line 2574 
2574            renderer. This submit parameters are stored in the            renderer. This submit parameters are stored in the
2575            session now. This will ease testing the constraint            session now. This will ease testing the constraint
2576            tests which need to be written soon.            tests which need to be written soon.
2577                              
2578            BEWARE: The session management is _not_ made for production!            BEWARE: The session management is _not_ made for production!
2579            Denial of service attacks are too easy, and the            Denial of service attacks are too easy, and the
2580            cryptographical strength of the session id is doubtful.            cryptographical strength of the session id is doubtful.
# Line 110  Line 2592 
2592            and can be hooked automatically into the new 'Filters'            and can be hooked automatically into the new 'Filters'
2593            sub menu under 'Extra'. They got called when the user            sub menu under 'Extra'. They got called when the user
2594            selects their respective menu item.            selects their respective menu item.
2595                              
2596          * tools/formed/formed/config.py: Contains the list of          * tools/formed/formed/config.py: Contains the list of
2597            installed filters.            installed filters.
2598    
# Line 171  Line 2653 
2653    
2654          * tools/formed/formed/main.py: Swaped order of          * tools/formed/formed/main.py: Swaped order of
2655            'Make names unique' and 'Selected mode...' in Extra            'Make names unique' and 'Selected mode...' in Extra
2656                  menu and put a separator between them.            menu and put a separator between them.
2657    
2658  2007-08-15      Sascha L. Teichmann <[email protected]>  2007-08-15      Sascha L. Teichmann <[email protected]>
2659    
# Line 180  Line 2662 
2662    
2663          * tools/formed/formed/plugins/plugin.py: Simplified          * tools/formed/formed/plugins/plugin.py: Simplified
2664            the plug-in interface. Only the reference to the            the plug-in interface. Only the reference to the
2665                  global configuration is passed at setup time.            global configuration is passed at setup time.
2666    
2667          * tools/formed/formed/plugins/web/plugin.py: Adjusted          * tools/formed/formed/plugins/web/plugin.py: Adjusted
2668            to new plug-in setup. The traveral mode is now taken            to new plug-in setup. The traveral mode is now taken
2669                  from the global configuration each time a rendering            from the global configuration each time a rendering
2670                  is triggered. The FORMED parameter is now named            is triggered. The FORMED parameter is now named
2671                  'doc.mode' instead of 'web.mode'. The parameter            'doc.mode' instead of 'web.mode'. The parameter
2672                  is not needed any more because it can be configured            is not needed any more because it can be configured
2673                  at runtime.            at runtime.
2674    
2675          * tools/formed/formed/main.py: Adjusted to new plugin          * tools/formed/formed/main.py: Adjusted to new plugin
2676            setup. Added a new menu item Extra->Select Mode...            setup. Added a new menu item Extra->Select Mode...
2677                  to select the traversal mode. It is stored in the            to select the traversal mode. It is stored in the
2678                  global config.            global config.
2679    
2680          * tools/formed/formed/config.py: Simplified. Only uses          * tools/formed/formed/config.py: Simplified. Only uses
2681            one env dictionary to store global configuration parameters.            one env dictionary to store global configuration parameters.
# Line 205  Line 2687 
2687    
2688          * tools/formed/formed/plugins/web/plugin.py,          * tools/formed/formed/plugins/web/plugin.py,
2689            tools/formed/formed/plugins/web/renderer.py: Added parameter            tools/formed/formed/plugins/web/renderer.py: Added parameter
2690                  print out in web plugin.            print out in web plugin.
2691    
2692  2007-08-15      Torsten Irlaender <[email protected]>  2007-08-15      Torsten Irlaender <[email protected]>
2693    
# Line 223  Line 2705 
2705    
2706          * tools/formed/formed/plugins/web/plugin.py,          * tools/formed/formed/plugins/web/plugin.py,
2707            tools/formed/formed/config.py: Added a 'web.mode' parameter            tools/formed/formed/config.py: Added a 'web.mode' parameter
2708                  to FORMED environment variable.            to FORMED environment variable.
2709                  e.g. 'FORMED=web.mode:modeX' sets the mode 'modeX'.            e.g. 'FORMED=web.mode:modeX' sets the mode 'modeX'.
2710                  Defaults to 'default'.            Defaults to 'default'.
2711    
2712          * tools/formed/test-data/simple.xml: Added test for switch.          * tools/formed/test-data/simple.xml: Added test for switch.
2713    
# Line 239  Line 2721 
2721          * tools/formed/formed/io/document.py,          * tools/formed/formed/io/document.py,
2722            tools/formed/formed/model/data.py,            tools/formed/formed/model/data.py,
2723            tools/formed/formed/model/nodecomponents.py: Added an item            tools/formed/formed/model/nodecomponents.py: Added an item
2724                  to model external item lists.            to model external item lists.
2725    
2726          * tools/formed/formed/plugins/web/renderer.py: Render new item          * tools/formed/formed/plugins/web/renderer.py: Render new item
2727            list.            list.
# Line 256  Line 2738 
2738    
2739          * contrib/extract-xfa-items.sh: New. Can be used to extract longer          * contrib/extract-xfa-items.sh: New. Can be used to extract longer
2740            choice item lists for a given field from XFA files. e.g. with            choice item lists for a given field from XFA files. e.g. with
2741                  './contrib/extract-xfa-items.sh Muttersprache alles.xml'            './contrib/extract-xfa-items.sh Muttersprache alles.xml'
2742    
2743  2007-08-12      Sascha L. Teichmann <[email protected]>  2007-08-12      Sascha L. Teichmann <[email protected]>
2744    
2745          * tools/formed/formed/model/data.py,          * tools/formed/formed/model/data.py,
2746            tools/formed/formed/plugins/web/renderer.py,            tools/formed/formed/plugins/web/renderer.py,
2747                  tools/formed/formed/io/document.py: Changed the structure            tools/formed/formed/io/document.py: Changed the structure
2748                  of choice constructs. The idea to hold the different items            of choice constructs. The idea to hold the different items
2749                  of a particular choice in a semicolon separated list was bad.            of a particular choice in a semicolon separated list was bad.
2750                  Now choices are groups and  the option items are modelled as            Now choices are groups and  the option items are modelled as
2751                  embedded bools. (mainly Torsten Irländer's idea).            embedded bools. (mainly Torsten Irländer's idea).
2752    
2753                  WARNING: this makes old document files containing choices incompatible!!!            WARNING: this makes old document files containing choices incompatible!!!
2754                  Use the following XSLT to reestablish compatibility.            Use the following XSLT to reestablish compatibility.
2755                              
2756          * contrib/itemize-choices.xsl: New converts old to new structure.          * contrib/itemize-choices.xsl: New converts old to new structure.
2757            Needs exslt.org's string extensions (which xsltproc includes)            Needs exslt.org's string extensions (which xsltproc includes)
2758    
# Line 288  Line 2770 
2770    
2771          * tools/formed/formed/model/nodecomponents.py: Added code to clone parts          * tools/formed/formed/model/nodecomponents.py: Added code to clone parts
2772            of the tree.            of the tree.
2773                              
2774          * tools/formed/formed/ui/controls.py: Added a getSelected method.          * tools/formed/formed/ui/controls.py: Added a getSelected method.
2775    
2776          * tools/formed/formed/model/misc.py: Fixed a programming bug.          * tools/formed/formed/model/misc.py: Fixed a programming bug.
# Line 311  Line 2793 
2793    
2794          * tools/formed/formed/model/nodecomponents.py: Added walk generator over all          * tools/formed/formed/model/nodecomponents.py: Added walk generator over all
2795            items in the document tree. Added a method to eliminated duplicated names            items in the document tree. Added a method to eliminated duplicated names
2796                  in document tree.            in document tree.
2797    
2798          * tools/formed/formed/model/misc.py: Added update mechanism for id generator          * tools/formed/formed/model/misc.py: Added update mechanism for id generator
2799            after names collisions are eliminated.            after names collisions are eliminated.
# Line 323  Line 2805 
2805    
2806          * tools/formed/formed/model/data.py,          * tools/formed/formed/model/data.py,
2807            tools/formed/formed/plugins/web/renderer.py: Removed support            tools/formed/formed/plugins/web/renderer.py: Removed support
2808                  for 'text' attributes in bool items. They were never really            for 'text' attributes in bool items. They were never really
2809                  used and the 'description' attributes fulfill the same            used and the 'description' attributes fulfill the same
2810                  purpose.            purpose.
2811    
2812          * contrib/remove-bool-text.xsl: Transform to remove the          * contrib/remove-bool-text.xsl: Transform to remove the
2813            'text' attributes from bool items. Apply with:            'text' attributes from bool items. Apply with:
2814                  'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml'            'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml'
2815    
2816          * tools/formed/test-data/simple.xml: Removed 'text' attributes          * tools/formed/test-data/simple.xml: Removed 'text' attributes
2817            from bool items.            from bool items.
# Line 348  Line 2830 
2830    
2831          * contrib/convert-choices.xsl: Added to convert document files          * contrib/convert-choices.xsl: Added to convert document files
2832            which use the choice 'option' attribute to usage of 'value'.            which use the choice 'option' attribute to usage of 'value'.
2833                  Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml'            Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml'
2834    
2835  2007-08-10      Sascha L. Teichmann <[email protected]>  2007-08-10      Sascha L. Teichmann <[email protected]>
2836    
# Line 385  Line 2867 
2867    
2868          * tools/formed/formed/plugins/web/plugin.py: To determine          * tools/formed/formed/plugins/web/plugin.py: To determine
2869            the port look at FORMED dictionary first. Key is 'web.port'.            the port look at FORMED dictionary first. Key is 'web.port'.
2870                  e.g. FORMED='web.port:8888'            e.g. FORMED='web.port:8888'
2871    
2872          * tools/formed/formed/main.py: Call the plugin setup with          * tools/formed/formed/main.py: Call the plugin setup with
2873            the reference to the config.            the reference to the config.
# Line 465  Line 2947 
2947    
2948          * tools/formed/formed/model/data.py,          * tools/formed/formed/model/data.py,
2949            tools/formed/formed/model/nodecomponents.py: Added new            tools/formed/formed/model/nodecomponents.py: Added new
2950                  attributes.            attributes.
2951    
2952          * tools/formed/formed/plugins/web/plugin.py: Added rendering          * tools/formed/formed/plugins/web/plugin.py: Added rendering
2953            for checkboxes and radio buttons.            for checkboxes and radio buttons.
# Line 494  Line 2976 
2976    
2977          * tools/formed/formed/plugins/web/plugin.py: Added a first          * tools/formed/formed/plugins/web/plugin.py: Added a first
2978            version of a recursive HTML renderer based on the document            version of a recursive HTML renderer based on the document
2979                  tree.            tree.
2980    
2981  2007-08-08      Sascha L. Teichmann <[email protected]>  2007-08-08      Sascha L. Teichmann <[email protected]>
2982    
# Line 523  Line 3005 
3005    
3006          * tools/formed/formed/main.py: Added event route document ->          * tools/formed/formed/main.py: Added event route document ->
3007            attribute table to get informed when selected item is delete            attribute table to get informed when selected item is delete
3008                  or an attribute is changed from the outside.            or an attribute is changed from the outside.
3009    
3010          * tools/formed/formed/ui/controls.py: Fixed. In older versions of          * tools/formed/formed/ui/controls.py: Fixed. In older versions of
3011            wxPython 2.6.x ListCtrl.InsertStringItem takes 2 instead            wxPython 2.6.x ListCtrl.InsertStringItem takes 2 instead
3012                  of 3 argument. Uses icons+tooltips for tree navigation now.            of 3 argument. Uses icons+tooltips for tree navigation now.
3013    
3014  2007-08-07      Sascha L. Teichmann <[email protected]>  2007-08-07      Sascha L. Teichmann <[email protected]>
3015    
# Line 575  Line 3057 
3057    
3058          * tools/formed/formed/ui/controls.py: Establish sort order          * tools/formed/formed/ui/controls.py: Establish sort order
3059            by indices of children in parent instead of alphanum.            by indices of children in parent instead of alphanum.
3060                  Code to move items up and down the document tree.            Code to move items up and down the document tree.
3061    
3062          * tools/formed/formed/io/document.py: Added missing imports.          * tools/formed/formed/io/document.py: Added missing imports.
3063    
# Line 588  Line 3070 
3070    
3071          * tools/formed/formed/main.py,          * tools/formed/formed/main.py,
3072            tools/formed/formed/ui/controls.py: Added control to            tools/formed/formed/ui/controls.py: Added control to
3073                  move items around in tree. Has no effect by now.            move items around in tree. Has no effect by now.
3074    
3075  2007-08-05      Sascha L. Teichmann <[email protected]>  2007-08-05      Sascha L. Teichmann <[email protected]>
3076    
# Line 604  Line 3086 
3086    
3087          * tools/formed/*: initial check-in of the Formular Editor.          * tools/formed/*: initial check-in of the Formular Editor.
3088            Not working yet. Only can load, view and store formular XML files.            Not working yet. Only can load, view and store formular XML files.
3089                  Start it with 'tools/formed/formed.sh'.            Start it with 'tools/formed/formed.sh'.

Legend:
Removed from v.67  
changed lines
  Added in v.428

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26