--- trunk/ChangeLog 2007/08/09 21:03:45 22 +++ trunk/ChangeLog 2007/09/03 12:57:52 130 @@ -1,3 +1,876 @@ +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 + checks for choices. + +2007-08-21 Frank Koormann + + * contrib/convert-formedtree2html.xsl: Display switch nodes as + alternatives. + +2007-08-21 Frank Koormann + + * contrib/convert-formedtree2html.xsl: + Replace technical types with readable descriptions + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Fix a few smaller + issues. 'action' looks for all widgets on a page now, goes + through all passed parameters, tries to match them with the + widgets of the page and put them into the semantic box. + Afterwards a list of untouched page parameters are left + which will be deleted from the semantic box. + + * tools/formed/formed/plugins/web/semantic.py: Simplified. + The NodeComponent is passed as an argument now. + + * tools/formed/formed/plugins/web/renderer.py: Generate a + hidden field to store the name of the page. + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Fixed an encoding + issue with incoming UTF-8 data. + +2007-08-21 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml: Improve test for widgets + in switches. + + * tools/formed/formed/model/data.py: Added a method to find all + widgets in a given page. Fixed a bug when walking in switch + with a given mode. + + * tools/formed/formed/plugins/web/plugin.py: Simple test for + listing all widgets in page. + +2007-08-21 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to + latin-1 + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Added mode parameter to + walk. + + * tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites + walk() with usage of the new mode parameter. Added a method to + give children in a given mode. + + * tools/formed/formed/plugins/web/renderer.py: Simplified to use + new Switch.childrenInMode() method. + +2007-08-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/semantic.py: Add checks for + texts and text areas. + + * tools/formed/formed/plugins/web/renderer.py: Set accept-charset + to UTF-8 in generated form. + +2007-08-20 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/semantic.py: Added semantic + tests for dates. + +2007-08-20 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml: Tweak a bit for integer + range test. + + * tools/formed/formed/model/nodecomponents.py: Added a method + to find a tree item for a given name. + + * tools/formed/formed/plugins/web/semantic.py: New: Box for + semantic checking. Has check for integers. + + * tools/formed/formed/plugins/web/plugin.py: Use semantic + check. + +2007-08-20 Torsten Irlaender + + * tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in + selection-field generation (Removed quote) + +2007-08-18 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/renderer.py: Added a + simple cookie based session management to the HTML + renderer. This submit parameters are stored in the + session now. This will ease testing the constraint + tests which need to be written soon. + + BEWARE: The session management is _not_ made for production! + Denial of service attacks are too easy, and the + cryptographical strength of the session id is doubtful. + +2007-08-18 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Escaping text + coming from the document tree now when inserting it into the + HTML output. + +2007-08-18 Sascha L. Teichmann + + * tools/formed/formed/plugins/plugin.py: Added a new kind + of plug-in: Filter. They have a short and a long description + and can be hooked automatically into the new 'Filters' + sub menu under 'Extra'. They got called when the user + selects their respective menu item. + + * tools/formed/formed/config.py: Contains the list of + installed filters. + + * tools/formed/formed/main.py: Builds the Extra->Filters + sub menu during gui initialization. The hard wired code + for make unique and formular name/description -> name + is removed because they are implemented as filters now. + + * tools/formed/formed/model/nodecomponents.py, + tools/formed/formed/model/data.py: Removed the make + unique and formular name/description -> name code. + + * tools/formed/formed/plugins/names, + tools/formed/formed/plugins/names/__init__.py, + tools/formed/formed/plugins/names/filter.py: Added. Contains + the make unique and formular name/description -> name code + in form of filters. + + * tools/formed/test-data/simple.xml: Modified to be a better + test for the formular name/description -> name filter. + +2007-08-18 Sascha L. Teichmann + + * tools/formed/formed.py, tools/formed/formed/main.py: First + command line argument is interpreted as filename of document + to be loaded at program startup. + +2007-08-17 Frank Koormann + + * contrib/convert-formedtree2html.xsl: + Heading level depending on depth of group node. + In case of radio/choice/check only list of options. + +2007-08-17 Torsten Irlaender + + * contrib/convert-formedtree2html.xsl: Output is now generated with + HTML doc-string and charset information in the meta-header. + +2007-08-17 Torsten Irlaender + + * contrib/convert-formedtree2html.xsl: Added small script for + exporting the formed tree to html + +2007-08-17 Torsten Irlaender + + * tools/formed/model/nodecomponents.py: Added function to rename + the set the name of the node to the formularname. The formularname + gets shorten to <=64 by removing vowels and is stored lowercase. + If the name is not unique and additional id value is appended. + + * tools/formed/formed/model/data.py: Overwritten renaming-function for + bool-leafs + + * tools/formed/formed/main.py: Added menuitem for renaming the names + of the element + +2007-08-16 Sascha L. Teichmann + + * tools/formed/formed/main.py: Swaped order of + 'Make names unique' and 'Selected mode...' in Extra + menu and put a separator between them. + +2007-08-15 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: SwitchNodes can add + their modes to a given set now. + + * tools/formed/formed/plugins/plugin.py: Simplified + the plug-in interface. Only the reference to the + global configuration is passed at setup time. + + * tools/formed/formed/plugins/web/plugin.py: Adjusted + to new plug-in setup. The traveral mode is now taken + from the global configuration each time a rendering + is triggered. The FORMED parameter is now named + 'doc.mode' instead of 'web.mode'. The parameter + is not needed any more because it can be configured + at runtime. + + * tools/formed/formed/main.py: Adjusted to new plugin + setup. Added a new menu item Extra->Select Mode... + to select the traversal mode. It is stored in the + global config. + + * tools/formed/formed/config.py: Simplified. Only uses + one env dictionary to store global configuration parameters. + + * tools/formed/formed/ui/controls.py: Add a control to + select one item from a list of given strings. + +2007-08-15 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/renderer.py: Added parameter + print out in web plugin. + +2007-08-15 Torsten Irlaender + + * contrib/convert-formedtree2csv.xsl: Added small script for + exporting the formed tree to csv + +2007-08-14 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/model/nodecomponents.py, + tools/formed/formed/io/document.py: Added a 'switch' node. + + * tools/formed/formed/plugins/web/renderer.py:Render the + new 'switch' node. + + * tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/config.py: Added a 'web.mode' parameter + to FORMED environment variable. + e.g. 'FORMED=web.mode:modeX' sets the mode 'modeX'. + Defaults to 'default'. + + * tools/formed/test-data/simple.xml: Added test for switch. + +2007-08-14 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added an + attribute 'formularname' to base class of node components. + +2007-08-13 Sascha L. Teichmann + + * tools/formed/formed/io/document.py, + tools/formed/formed/model/data.py, + tools/formed/formed/model/nodecomponents.py: Added an item + to model external item lists. + + * tools/formed/formed/plugins/web/renderer.py: Render new item + list. + * tools/formed/formed/main.py: Added a forgotten 'self.' + + * contrib/extract-xfa-items.sh: Modified to generate + documents to be loadable from new item lists + +2007-08-13 Sascha L. Teichmann + + * tools/formed/formed/main.py: Fixed typo + +2007-08-13 Sascha L. Teichmann + + * contrib/extract-xfa-items.sh: New. Can be used to extract longer + choice item lists for a given field from XFA files. e.g. with + './contrib/extract-xfa-items.sh Muttersprache alles.xml' + +2007-08-12 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/plugins/web/renderer.py, + tools/formed/formed/io/document.py: Changed the structure + of choice constructs. The idea to hold the different items + of a particular choice in a semicolon separated list was bad. + Now choices are groups and the option items are modelled as + embedded bools. (mainly Torsten Irländer's idea). + + WARNING: this makes old document files containing choices incompatible!!! + Use the following XSLT to reestablish compatibility. + + * contrib/itemize-choices.xsl: New converts old to new structure. + Needs exslt.org's string extensions (which xsltproc includes) + + * tools/formed/test-data/simple.xml: Ajusted to new structure + + * tools/formed/formed/plugins/web/plugin.py: remove debug output + + * tools/formed/formed/model/nodecomponents.py: fixed a small bug in + node finding code. It now uses the walk() generator, too. + +2007-08-12 Sascha L. Teichmann + + * tools/formed/formed/main.py: Added a clone item on the toolbar which + copies the currently selected item and appends it after the selection. + + * tools/formed/formed/model/nodecomponents.py: Added code to clone parts + of the tree. + + * tools/formed/formed/ui/controls.py: Added a getSelected method. + + * tools/formed/formed/model/misc.py: Fixed a programming bug. + forgot a 'self.' prefix. + +2007-08-12 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added a method to append + a second document to the current. + + * tools/formed/formed/main.py: Added an 'Import' file menu item to load + a second document to be appended to the current. + +2007-08-12 Sascha L. Teichmann + + * tools/formed/formed/main.py: Added a 'New' item in file menu which creates + a new document when triggered. + +2007-08-12 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added walk generator over all + items in the document tree. Added a method to eliminated duplicated names + in document tree. + + * tools/formed/formed/model/misc.py: Added update mechanism for id generator + after names collisions are eliminated. + + * tools/formed/formed/main.py: Added an 'Extra' menu with item + 'Make names unique'. + +2007-08-11 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/plugins/web/renderer.py: Removed support + for 'text' attributes in bool items. They were never really + used and the 'description' attributes fulfill the same + purpose. + + * contrib/remove-bool-text.xsl: Transform to remove the + 'text' attributes from bool items. Apply with: + 'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml' + + * tools/formed/test-data/simple.xml: Removed 'text' attributes + from bool items. + +2007-08-11 Sascha L. Teichmann + + * contrib/convert-choices.xsl: Simpified. + +2007-08-11 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Removed 'options' attribute + from ChoiceLeaf. Use 'value' instead, please! + + * tools/formed/formed/plugins/web/renderer.py: use 'value' attribute + instead of 'options' to render choices. + + * contrib/convert-choices.xsl: Added to convert document files + which use the choice 'option' attribute to usage of 'value'. + Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml' + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: radio buttons + are selected by 'checked' and not by 'selected'. Fixed. + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: ChoiceLeafs are now + initialized with size = 1. + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: TextLeafs are now + initialized with size = 40, maxlength = 60 + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Fixed: choices + are renderered with description now. + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Added rendering + for date items. Added missing ids for texts and textareas. + +2007-08-10 Sascha L. Teichmann + + * tools/formed/formed/config.py: Evaluate the environment + variable 'FORMED'. Snytax: FORMED='key1:value1;key2:value2' + + * tools/formed/formed/plugins/plugin.py: Give a reference + to the config at setup time. + + * tools/formed/formed/plugins/web/plugin.py: To determine + the port look at FORMED dictionary first. Key is 'web.port'. + e.g. FORMED='web.port:8888' + + * tools/formed/formed/main.py: Call the plugin setup with + the reference to the config. + +2007-08-10 Sascha L. Teichmann + + * tools/formed/test-data/simple.xml: removed 'text' attributes from + info tags. Use the 'value' attributes for same purpose now, please! + + * tools/formed/formed/model/data.py: removed text attributes from + InfoLeaf. + + * tools/formed/formed/plugins/web/renderer.py: Rendering of info + now uses the 'value' instead of the 'text' attributes. + 2007-08-09 Sascha L. Teichmann * tools/formed/formed/model/data.py: next/prevPage() are