/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

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

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

Legend:
Removed from v.129  
changed lines
  Added in v.434

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26