/[formed]/trunk/ChangeLog
ViewVC logotype

Annotation of /trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 398 - (hide annotations)
Thu Sep 16 15:04:46 2010 UTC (14 years, 5 months ago) by bh
File size: 105374 byte(s)
Avoid database deadlocks that can happen when database clients try
to work with the same case using two separate database
connections.  See mpuls/issue1145 for details.

* formed/formed/plugins/export/rg_sql.py (SQL_TEMPLATE): Split the
computation of the new json structure description into the new
database function compute_case_structure
(TRIGGER_TMPL): Change the trigger functions to immediately update
the cached json structure description instead of just setting the
modified flag.  This avoids the lazy recomputation that makes what
seems like a read-only access (calling get_case_structure) into a
writing access (updates of the cache).  The writes lock the row in
the case_structure table which prevent other connections from
accessing the same case.  As part of this, the delete triggers are
now AFTER triggers because the repeat groups instance must have
been removed when the structure is recomputed.
(SUBSELECT_TMPL): Since the delete trigger is now an after
trigger, we need to change the way the master id is computed.  We
cannot join with the repeatgroup table in question because the row
has already been deleted.  However, we can use the master_id
column of the OLD row to select the row of the parent table.
(create_triggers): Avoid the inner joins with the current repeat
group for the above mentioned reasons.  In the very common case of
repeat groups which are direct children of the master_tbl, we can
compare the master_tbl.id directly with the row's master_id.

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26