--- trunk/ChangeLog 2007/08/21 13:37:04 69 +++ trunk/ChangeLog 2007/09/03 14:49:12 132 @@ -1,3 +1,485 @@ +2007-09-03 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/help.py: New parses an + XHTML document for id'ed divs and builds a help lookup. + + * tools/formed/formed/plugins/web/www/help.tmpl: Template for + the help content frame. + + * tools/formed/formed/plugins/web/www/help.xhtml: Some simple + help text index. + + * tools/formed/formed/plugins/web/plugin.py: Serves the help + texts now. + +2007-09-03 Torsten Irlaender + + * tools/formed/formed/plugins/web/plugin.py: Only visible group + elements will be rendered in the formular navigation. + Formular pages in the navigation now have their own css-style + attributes. + +2007-09-03 Torsten Irlaender + + * tools/formed/formed/plugins/web/www/main.tmpl: Added div area for page + errors in template + * tools/formed/formed/plugins/web/plugin.py: Fixed undefined + pageerrors variable + +2007-09-03 Frank Koormann + + * tools/formed/formed/plugins/export/html.py + (RecursiveExporter): Added annotation to export + (fillRow()): Renamed old fillNine to this more generic name. + + +2007-09-03 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Using the decorator + from model.misc now. + +2007-09-03 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added an + 'annotation' attribute to node components. This is to + enable FormEd document authors to add comments to groups + and fields. + +2007-09-03 Frank Koormann + + * tools/formed/formed/model/nodecomponents.py + (NodeComponent.getParent): New method to get node components parent. + + * tools/formed/formed/plugins/export/html.py: Export Choice option + as simple list instead of collection of bools. + +2007-09-02 Sascha L. Teichmann + + * tools/formed/formed/model/persistent.py: Interfaces to abstract + from persistent storage details. + + * tools/formed/formed/model/memory.py: In core implementation + of the persistent interfaces. + + * tools/formed/formed/main.py: Holds a memory data store now. + +2007-09-02 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py, + tools/formed/formed/plugins/export/html.py: Fixed constructor chains + for FileDialogFilter sub classes. + +2007-09-02 Sascha L. Teichmann + + * tools/formed/formed/model/misc.py: Checking the mode in recursive + tree traversals is a common task. To ease this a decorator function + checkMode in union with sub classing ModeChecker can be used. + To make it work simply subclass from ModeChecker and add the decorator + to the methods that need mode tracking. Before you start the recursion + call self.prepareDescent(). + + * tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme + now which replace the old. TODO: Make the web renderer use the new scheme + too. + +2007-09-02 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Removed needless import. + + * tools/formed/formed/plugins/export/html.py: HTML table exporter + uses new FileDialogFilter base class too. + +2007-09-02 Sascha L. Teichmann + + * tools/formed/formed/plugins/ui/*: New. All file exporters + need a file dialog. Till now each of them pulled up its + own. This was silly code replication. Now there is an abstract + base class 'FileDialogFilter' which implements the common + behavior. The file exporters should subclass it. + + * tools/formed/formed/plugins/export/sql.py: Subclass the SQL + exporters from the new base class. TODO: Subclass the HTML + exporter too. + +2007-08-31 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html.py: Make mode check + work (again). + +2007-08-31 Torsten Irlaender + + * tools/formed/formed/plugins/export/html.py: Rendering of the HTML + exprt works now in a recursive way. This change was needed because + the structure of the formedtree has changed to be able to render + full hirachically document stuctures. (nested lists) + TODO: Fix modechecking + +2007-08-31 Torsten Irlaender + + * tools/formed/formed/plugins/web/plugin.py: Navigation rendering works + now in recursive way. This change was needed because the structure + of the formedtree has changed to be able to render full hirachically + document stuctures. (nested lists) + +2007-08-31 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: use discard() + instead of remove on sets. + + * tools/formed/formed/plugins/export/sql.py: Added an + exporter for table views. + + * tools/formed/formed/config.py: Added the new exporter + to the list of export filters. + +2007-08-30 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Fixed a bug in + Page.allWidgets() + + * tools/formed/formed/plugins/export/sql.py: Added an exporter + for stored procudeures. + + * tools/formed/formed/config.py: Add the new SP exporter. + +2007-08-29 Torsten Irlaender + + * tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/error_renderer.py: Added interface + to get the errors for a whole page in te formular. These errors can + now be displayed on the top of the formular. + +2007-08-29 Torsten Irlaender + + * tools/formed/formed/plugins/web/renderer.py: Finished implementation + of the getFromData interface and prepared the rederer for generating + nice error messages + +2007-08-28 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py + (SchemaCreator.createSchema, SchemaCreator._createGroup): + Fixed typo in created DDS (PRIMRAY -> PRIMARY) + +2007-08-28 Torsten Irlaender + + * tools/formed/formed/plugins/export/sql.py: Added small helper + function to generated valid quotes within the sql statements + +2007-08-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added foreign keys + for repeat tables. + +2007-08-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: When generating + an extra table check in a table of same content exists. In + this case reference the existing table. + +2007-08-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Rewritten to produce + _real_ SQL and respect repeat groups. + + * tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat() + + * tools/formed/formed/plugins/web/renderer.py: Use "".join([]) + instead of expensive += string concat in some places. + +2007-08-29 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat() + to .isRepeat and return a bool. Fixed a bug in Page.allWidgets(). + +2007-08-28 Torsten Irlaender + + * tools/formed/plugins/web/renderer.py: Added Formdata interface. + * tools/formed/model/data.py: Implements Formadata interface to + textfields. Fieldset generated depends now on the "invisible" + attribute of the groupnode. Field-label generation slightly changed. + Added error indication to textfields + +2007-08-28 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/io/document.py: Removed support + of logical groups. + +2007-08-28 Sascha L. Teichmann + + * tools/formed/formed/io/document.py: Avoid saving empty + attributes. + + * tools/formed/test-data/simple.xml: Applied. + +2007-08-28 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Added 'repeat' and + 'invisible' attributes to group. TODO: remove logical group. + +2007-08-27 Torsten Irlaender + + * tools/formed/plugins/web/plugin.py, + tools/formed/plugins/web/renderer.py: Started to include stylesheet + depending tags in the html generation. + +2007-08-27 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/io/document.py: Added a logical group. + It has an attribute 'repeat' to indicate that it might + be worthy an external table in DB schema. + +2007-08-27 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Support + serving of static content. + + * tools/formed/formed/plugins/web/server.py: Removed + old send code. + +2007-08-27 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Use new + Response object. Fix typo. + + * tools/formed/formed/plugins/web/server.py: support + response object to serve different MIME types. + +2007-08-27 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Add web.path + to FORMED environment variable to specify the + root of the static content. + +2007-08-26 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/model/nodecomponents.py: Fixed mode issues. + + * tools/formed/formed/plugins/web/www, + tools/formed/formed/plugins/web/www/main.tmpl: New. Contains + a template for the HTML output. + + * tools/formed/formed/plugins/web/plugin.py: Fixes several smaller + mode issues. Introduces CSS support. Simplified the action + handling. + + * tools/formed/formed/plugins/web/renderer.py: Removed the + nagivation code. + + * tools/formed/formed/plugins/web/server.py: Added missing import. + +2007-08-26 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Added missing broadcast + parameter to setAttribute() of RuleLeaf. + + * tools/formed/formed/plugins/web/plugin.py: Factorize + HTTP server code out to separate module. + + * tools/formed/formed/plugins/web/renderer.py: Removed + needless -1 from pop() + + * tools/formed/formed/plugins/web/server.py: New. Contains + the HTTP server code now. + +2007-08-26 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml: Modified to contain a rule. + + * tools/formed/formed/model/expr.py: Added. A simple RPN + expression evaluator. To avoid the problem of eval()ing + arbitrary python expressions I've decided to use a very + basic and limited stack machine to support rule checking. + + * tools/formed/formed/model/data.py: Added a RuleLeaf. + + * tools/formed/formed/io/document.py: Added factories for rules. + + * tools/formed/formed/model/nodecomponents.py: Add a method + to find all items of a given type in document for a given + mode. Usefull to find all rules in the tree. + + * tools/formed/formed/ui/controls.py: Added a listener mechanism + to attribute table to report exceptions when setting a value + from GUI. Useful to report compilation errors when setting + expr of rule leafs. + + * tools/formed/formed/main.py: Added a method to track exceptions + from the attribute table and pop up dialogs if they occur. + Added a counter of rule modifications in tree. Useful if you + want build cached data structures like rule sets and you want + to know if they are still valid. + +2007-08-24 Torsten Irlaender + + * tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint + for checkbox values. (Syntax error). + + * tools/formed/formed/plugins/names/filter.py: Fixes in formularname + generation + +2007-08-24 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Separated Class for + making the formularnames more database friendly. Added some more + checks. + * tools/formed/formed/plugins/export/sql.py: Make use of the fresh + separated class, and some fixes in sql generation. + +2007-08-24 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html.py: Print lengths + of external choice list. + +2007-08-24 Sascha L. Teichmann + + * tools/formed/formed/main.py: Little workaround for + mode selection if someone adds an removes a mode. + +2007-08-24 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml: Better test case for + mode depended leaf items. + + * tools/formed/formed/model/nodecomponents.py: Added a method + to calculate the effective mode of an item. + + * tools/formed/formed/plugins/export/html.py: Use effective + mode. TODO: the 'all' modus return false results sometimes. + Cause: The modes are only cumulated over time. Removal is + not done. + +2007-08-24 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html.py: Dump the items + of radio groups and choices too. + +2007-08-24 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Modified the renaming + by formular names to make the naming more database friendly. + Now only alphanumeric and underscore chars is allowed. + +2007-08-24 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html.py: Tweaked + HTML table exporter a bit to be on par with the XSLT + script. TODO: Dump items in radio and choice groups. + +2007-08-23 Sascha L. Teichmann + + * tools/formed/formed/plugins/names/filter.py: Removed + HTML and SQL exporters. + + * tools/formed/formed/plugins/export, + tools/formed/formed/plugins/export/__init__.py, + tools/formed/formed/plugins/export/sql.py, + tools/formed/formed/plugins/export/html.py: New: Contain + the HTML and the SQL exporters now. + + * tools/formed/formed/config.py: Use exporters from different + package now. + +2007-08-23 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Added an + pseudo SQL export filters. TODO: Move HTML and SQL filter + in a new file (formed/plugins/export/htmlexport.py and + sqlexport.py?) + + * tools/formed/formed/config.py: Install the new SQL filter. + +2007-08-23 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added a depth() + method to determine the depth of particular tree item. + + * tools/formed/formed/plugins/names/filter.py: Added an + HTML export filters. TODO: needs more work. + + * tools/formed/formed/config.py: Install the new HTML filter. + +2007-08-23 Torsten Irlaender + + * contrib/extract-xfa-fields_and_options.xsl: Added small xsl script + to extract fields and options in the XFA Data in teh PDF. This + script might me handy to indicate changes between the different + formular versions. + +2007-08-23 Sascha L. Teichmann + + * tools/formed/formed/main.py: Add an 'all' mode to + select all modes. ;-) + +2007-08-22 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml, + tools/formed/formed/model/data.py, + tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/renderer.py, + tools/formed/formed/io/document.py, + tools/formed/formed/main.py: Removed support for switch nodes. + BEWARE: This breaks compatibility with older documents! + +2007-08-22 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Uses the + getSelectedMode() from main now. + + * tools/formed/formed/main.py: selected mode is now hold + in main. + + * tools/formed/formed/config.py: removed selected mode from + env configuration. + +2007-08-22 Sascha L. Teichmann + + * tools/formed/formed/ui/controls.py: Attributes in GUI attribute + table are now alphabetically sorted. + +2007-08-22 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added code to + establish the new 'modes' recursively. + + * tools/formed/formed/plugins/plugin.py: Pass main instead + of cfg on plug-in start-up. + + * tools/formed/formed/plugins/web/plugin.py: Use the new + 'modes' attribute for rendering. + + * tools/formed/formed/plugins/web/renderer.py: Use decorators + to check the new modes. + + * tools/formed/formed/main.py: Adjusted to new infrastructure. + +2007-08-22 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added an + attribute 'modes' to NodeComponents. + +2007-08-22 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Small cosmetic cleanups + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Another fix + for the hidden field. Argh! + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Fixed double + generation of hidden page field. + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/semantic.py: Added semantic + checks for radio groups. + 2007-08-21 Sascha L. Teichmann * tools/formed/formed/plugins/web/semantic.py: Added semantic