/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

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

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

Legend:
Removed from v.90  
changed lines
  Added in v.330

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26