/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

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

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

Legend:
Removed from v.113  
changed lines
  Added in v.444

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26