/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

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

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

Legend:
Removed from v.17  
changed lines
  Added in v.233

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26