--- trunk/ChangeLog 2007/08/10 10:28:57 27 +++ trunk/ChangeLog 2007/09/17 16:30:44 185 @@ -1,3 +1,1319 @@ +2007-09-17 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/view_renderer.py: Fixed + a few bugs: Do not render empty containers, do not + generate misplaced
in choices. + Add a nameless container to catch the items that are + nor explicitly assigned to a target. Removed FormData. + + * tools/formed/formed/plugins/web/renderer.py: Removed + a needless import + +2007-09-17 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/view_renderer.py: Implemented + usage of 'containers' and 'target' attributes. + + * tools/formed/formed/plugins/web/controllers.py: Modified import. + + * tools/formed/formed/plugins/web/renderer.py: Use + new ViewRenderer. + +2007-09-17 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added attributes + 'target' to NodeComponent and 'containers' to Node. + + * tools/formed/formed/plugins/web/view_renderer.py: New. Aimed + to be a replacement for form_renderer. Not ready yet! + + * ChangeLog: Fixed some indention glitches. + +2007-09-13 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Fixed bug in the + renaming algorithm. + +2007-09-12 Torsten Irlaender + + * tools/formed/formed/plugins/web/form_renderer.py: Renamed header + from formular navigation to "Fallakte Inhalt" + +2007-09-12 Torsten Irlaender + + * tools/formed/formed/plugins/ui/controls.py: Fixed bug that bad + values (dates) were not pretty printed. + + * tools/formed/formed/plugins/web/form_renderer.py: Added errormsg to + label rendering for choicelists. + +2007-09-12 Torsten Irlaender + + * tools/formed/formed/plugins/ui/controls.py: Fixed bug that + choicelist did not get selected when the value is set to "0" + +2007-09-12 Torsten Irlaender + + * tools/formed/formed/plugins/web/form_renderer.py: Added + "getPrintableData" method, for the formdata Class which will return + the description rather than the value of element in the ID. This is + need for displaying the choises in a right way. + + * tools/formed/formed/plugins/web/renderer.py: Changed string + "Fallnummer" into "Kundennummer" in the templates. Added + Kundennummer to the dataset digest output. Bound in the new + "getPrintableData" call for the digest. + +2007-10-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/data.py: The import/export + of data is now implemented with filters (the most consequent + way in terms of design of FormEd). The support of the 'persistent' + FORMED env-variable support has been removed. + + * tools/formed/formed/plugins/ui/controls.py: Added a flag to the + filter file dialog to double as import dialog. + + * tools/formed/formed/main.py: Removed the the FORMED-var support + for persistence. + + * tools/formed/formed/config.py: Add the two new filters to the filters + list. + +2007-10-11 Sascha L. Teichmann + + * tools/formed/formed/model/memory.py: Uses XML as persistence format now. + Removed pickle/unpickle stuff. + + * tools/formed/formed/main.py: Uses the new XML persistence. + + * tools/formed/formed/plugins/web/semantic.py: Fixed: choices were + not converted to int indices. + +2007-09-11 Sascha L. Teichmann + + * tools/formed/formed/model/memory.py: Making MemoryDataStore persistent + with pickle/unpickle. + + * tools/formed/formed/main.py: Added a env FORMED parameter 'persistent'. + Set to a file name it is tried to unpickle a MemoryDataStore from + that file. When exiting the program this file is used to store the + current MemoryDataStore state. The storing only works if you exit + the program through the Menu File->Exit. + usage: FORMED=persistent:test.db ./formed.sh + +2007-09-11 Torsten Irlaender + + * tools/formed/formed/plugins/web/renderer.py: Changed Name of the + application on the welcome page from "Formed" to "WASKA" + +2007-09-11 Torsten Irlaender + + * tools/formed/formed/plugins/web/plugin.py, + * tools/formed/formed/plugins/web/controllers.py, + * tools/formed/formed/plugins/web/renderer.py: Added InfoPageHandler. + The infopage provides information on all project participants. + +2007-09-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/controllers.py: Fix unicode conversion + issues with error messages (once again). + +2007-09-11 Torsten Irlaender + + * tools/formed/formed/plugins/web/form_renderer.py, + * tools/formed/formed/plugins/web/renderer.py: Added alt tag for + icons in error and confirmation dialogs. + +2007-09-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/form_renderer.py: Fixed label + generation for ints, texts and textareas. Fixed h depths of infos. + +2007-09-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/form_renderer.py: Removed + debug output for help. + + * tools/formed/formed/plugins/web/semantic.py: Added forgotten + check for bools. + + * tools/formed/formed/plugins/web/controllers.py: Added correct + HTML output of data for bools. + +2007-09-11 Torsten Irlaender + + * tools/formed/formed/plugins/web/form_renderer.py: Changed size of + textfields for int values. Changed Label for submitbuttons to + "Speichern" + + * tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/controllers.py: Added new + NotImplementedHandler to show up a dummysite for not implemented + functions. + + * tools/formed/formed/plugins/web/renderer.py: Added + NotImplementedRenderer. Various small fixes. Mostly renaming the + labels of some context menus. Error messages are now generated + dynamically depending on num errors. Formular navigation has now + colored indication for errors. + +2007-09-11 Torsten Irlaender + + * tools/formed/formed/plugins/web/renderer.py: Implemented "LookAhead" + algorithm for the formular navigation to get rid of the problem + that some of the items within the navigation are not linked. Now + structural group elements are linked with the next page found in the + formular structure. + +2007-09-10 Torsten Irlaender + * tools/formed/formed/plugins/web/form_renderer.py: Changed order of + div and formtag. + + * tools/formed/formed/plugins/web/controllers.py: Added DataSet action + menu in the conformation dialog when creating a new dataset. + + * tools/formed/formed/plugins/web/renderer.py: Fixed error when + rendering the default welcome page. Changed rendering of the + overview and the digest table of the datasets. Added icon for + confirmation dialog, moved the icon in the

tags. + +2007-09-10 Torsten Irlaender + + * tools/formed/formed/plugins/web/form_renderer.py: Some html + generation cleanup. Added error icons to formelements + + * tools/formed/formed/plugins/web/controllers.py: Fixed initialisation + of ErrorStatus. Fixed generated of the help tags in the formular + + * tools/formed/formed/plugins/web/renderer.py: Added error icon for + pageerrors. An "!" now indicates errors on pages in the formular + navigation. Added new
"content" around confirmation dialogss. + Links in confimation dialogs are now rendered as buttons. Removed + old obsolete OverviewRenderer. + +2007-09-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: Highlight selected + page in page navigation. + +2007-09-10 Torsten Irlaender + + * tools/formed/formed/plugins/web/controllers.py: Fixed issues on + displaying formdata when changing datasets. Loading the right + formdata was not handled in a correct way. Hope it is all fixed now. + Left some commented code because not all sideeffects of the changes + are tested yet. + + * tools/formed/formed/plugins/web/renderer.py: DataSetDigestRenderer + now uses the correct data out of the formdata. + +2007-09-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/controllers.py: Pretty + print format data (dates e.g) + +2007-09-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/controllers.py: Modified + ErrorStats a bit to avoid mysterious extra error on page. + No clue why this works. + +2007-09-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/form_renderer.py: Fixed value + problem with radio groups, too. + +2007-09-10 Torsten Irlaender + * tools/formed/formed/plugins/web/controllers.py: Sessions are now + really removed when deleting a dataset. + +2007-09-10 Torsten Irlaender + + * tools/formed/formed/plugins/web/controllers.py: Added new Class + ErrorStats which provides Information on remaining errors per page. + + * tools/formed/formed/plugins/web/renderers.py: Finished movement of + the renderer methods from controllers.py to renderers.py. + + * tools/formed/formed/plugins/web/plugin.py: Removed render_session + handlers + +2007-09-10 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/form_renderer.py: values for + choices are generated from the document tree now. This brings + the state storage of select boxes in HTML to live. + +2007-09-09 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/semantic.py: Fixed problems with + range checking of integers. + + * tools/formed/formed/plugins/web/controllers.py: Added class + ErrorItem to track errors. They are stored in the session. + +2007-09-09 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Fixed returning + wrong index in Document.indexOfcomponentByClassAndName. + + * tools/formed/formed/plugins/web/form_renderer.py: 'error' was + written 'errot' in renderer for textareas. + + * tools/formed/formed/plugins/web/controllers.py: Some clean-ups. + +2007-09-09 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/help.py: Added a 'hasHelp' + method. Could be cheaper for some implementations of help. + + * tools/formed/formed/plugins/web/form_renderer.py: Modified + FormData to have distinct getData(), getHelp() and getError() + methods. Various bug fixes. + + * tools/formed/formed/plugins/web/controllers.py: Implements the + new FormData (trivial by now). + + * tools/formed/formed/plugins/web/renderer.py: New FormData and + some bug fixes. + +2007-09-09 Sascha L. Teichmann + + * tools/formed/formed/model/memory.py, + tools/formed/formed/model/persistent.py: Add a getValue() method + to dataset abstraction. This is a bit of a workaround to bring + global access across pages for rule checking to work. + + * tools/formed/formed/model/data.py: Fixed: When setting a new expression + the compiled version was not stored in the RuleLeaf. + + * tools/formed/formed/model/expr.py: shlex lexer does not like unicode. + convert the expression string to ascii for compilation. + + * tools/formed/formed/plugins/web/semantic.py: Remove the 'box' because + valid data is stored to the dataset immediately now. Fixed a bug + with integer handler. + + * tools/formed/formed/plugins/web/controllers.py: Removed the semantic 'box' + stuff. When a submit is done extract the rules from the tree document + that are effected by the modified variables and check them. + + * tools/formed/formed/plugins/web/renderer.py: Fixed exception handling + when dealing with templates. + +2007-09-07 Torsten Irlaender + * tools/formed/formed/plugins/web/controllers.py, + tools/formed/formed/plugins/web/renderer.py: Moved more render + functions into renderer.py. New render classes are: + DataSetDigestRenderer, DataSetNavigationRenderer, + DataSetFormularRenderer, ConfirmationDialogRenderer + + Note: The new methods are only called from selected handlers. Other + handlers call the renderes in the old way. + +2007-09-07 Torsten Irlaender + * tools/formed/formed/plugins/web/form_renderer.py: Renamed + renderer.py to form_renderer.py. This file will contain formular + specfic render methods in the future. + * tools/formed/formed/plugins/web/renderer.py: Added new renderer.py + which will contain general render methods. + * tools/formed/formed/plugins/web/controllers.py: Began to move all + rendering into renderer.py or form_renderer.py. This file will only + contain teh handlers in the future. + +2007-09-07 Torsten Irlaender + * tools/formed/formed/plugins/web/renderer.py, + tools/formed/formed/plugins/web/controller.py: + Renderes now get an instance of the formdata object to provide + access the data needed to render various infoboxes etc. Handler + instanciate the formdata. + +2007-09-06 Torsten Irlaender + * tools/formed/formed/plugins/web/renderer.py: Mainly tried to get the + getFormData interface to work. Added two small semantic fixes, but + did not manage to get it up. Need to exime this a little bit more + * tools/formed/formed/plugins/web/controllers.py: Put
tags + around the menus on the right side to be able to assign different + styles. Added dataset actions while editing a dataset. + +2007-09-05 Torsten Irlaender + * tools/formed/formed/model/memory.py: Fixed deleting datasets by + removing unwanted del method + * tools/formed/formed/plugins/web/controllers.py: Implemented + confiration dialogs for create, delete, and select aof datasets. Started to use + templates as well for larger information units like the dataset summary. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added a + method to document to find index of page. + + * tools/formed/formed/plugins/web/semantic.py: Added getValue() + to fetch data from semantic box. + + * tools/formed/formed/plugins/web/controllers.py: Added new + FormData implementation to support DB and semantic box. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: escaped + error message. + + * tools/formed/formed/plugins/web/controllers.py: Don't fetch + dataset from backend each time a page is up to edit. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/renderer.py: SimplePageRenderer + returns "Page not found" if given page is None. + + * tools/formed/formed/plugins/web/controllers.py: Added checks + to avoid crashing when ask for a non-existent page. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/controllers.py: Some clean-ups. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Remove request handlers + and renderers. + + * tools/formed/formed/plugins/web/controllers.py: New. Contains handlers + and renderers now. TODO: Move renderers to renderer.py + +2007-09-05 Torsten Irlaender + + * tools/formed/formed/plugins/web/www/main.tmpl: Adopted web template + and bound in the the new added functions to create, edit, delete and + show formdata. + +2007-09-05 Sascha L. Teichmann + + * tools/formed/formed/model/memory.py: Removed bisect and use a + simple linear scan for dataset lookup now. + + * tools/formed/formed/plugins/web/plugin.py: Fixed various issues + of different sizes. + +2007-09-05 Torsten Irlaender + + * tools/formed/formed/plugins/web/memory.py: Fixed getDataSetById + fuction + + * tools/formed/formed/plugins/web/persistent.py: Added store() method + to the DataSet interface + + * tools/formed/formed/plugins/web/renderer.py: Added handlers and + renderes for create, update, delete and show actions on formular data. + +2007-09-04 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/server.py: The mapping + to methods is now driven by regualar expressions and + a dictionary. Response objects are now able to send + error codes. + + * tools/formed/formed/plugins/web/renderer.py: Fixed an issue + when help in Formdata is None. Moved text for help into + a top level '''...''' variable. + + * tools/formed/test-data/simple.xml: Added test for help. + + * tools/formed/formed/plugins/web/help.py: extra None check. + + * tools/formed/formed/plugins/web/plugin.py: Uses the new + table driven mapping of reguest handling. TODO: split the + WebPlugIn.pageHandler() method further to smaller handlers. + Smaller clean ups and better exception handling. + + * tools/formed/formed/plugins/web/cache.py: Report OSErrors + and do not catch them. + +2007-09-04 Torsten Irlaender + + * tools/formed/formed/plugins/web/renderer.py, + * tools/formed/formed/plugins/web/plugin.py: Added Interface to + the HelpProvider and inserted help icons to the html output. + Added decorator for Formelemnts, so textfields, choices etc. are now + within a
tag. + Modified the error messages. + +2007-09-04 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/cache.py: New. Implements + the server-side caching more clean. Fixes a bug with + serving static content. + + * tools/formed/formed/plugins/web/plugin.py: Use the new cache. + +2007-09-04 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: Set MIME type + to "application/xhtml+xml" when serving help texts. + +2007-09-03 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/diff.py: New. Exports + pairwise differences between all modes. + + * tools/formed/formed/config.py: Use new export filter. + +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 + 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 @@ -23,7 +1339,7 @@ * 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' + e.g. FORMED='web.port:8888' * tools/formed/formed/main.py: Call the plugin setup with the reference to the config. @@ -103,7 +1419,7 @@ * tools/formed/formed/model/data.py, tools/formed/formed/model/nodecomponents.py: Added new - attributes. + attributes. * tools/formed/formed/plugins/web/plugin.py: Added rendering for checkboxes and radio buttons. @@ -132,7 +1448,7 @@ * tools/formed/formed/plugins/web/plugin.py: Added a first version of a recursive HTML renderer based on the document - tree. + tree. 2007-08-08 Sascha L. Teichmann @@ -161,11 +1477,11 @@ * tools/formed/formed/main.py: Added event route document -> attribute table to get informed when selected item is delete - or an attribute is changed from the outside. + or an attribute is changed from the outside. * tools/formed/formed/ui/controls.py: Fixed. In older versions of wxPython 2.6.x ListCtrl.InsertStringItem takes 2 instead - of 3 argument. Uses icons+tooltips for tree navigation now. + of 3 argument. Uses icons+tooltips for tree navigation now. 2007-08-07 Sascha L. Teichmann @@ -213,7 +1529,7 @@ * tools/formed/formed/ui/controls.py: Establish sort order by indices of children in parent instead of alphanum. - Code to move items up and down the document tree. + Code to move items up and down the document tree. * tools/formed/formed/io/document.py: Added missing imports. @@ -226,7 +1542,7 @@ * tools/formed/formed/main.py, tools/formed/formed/ui/controls.py: Added control to - move items around in tree. Has no effect by now. + move items around in tree. Has no effect by now. 2007-08-05 Sascha L. Teichmann @@ -242,4 +1558,4 @@ * tools/formed/*: initial check-in of the Formular Editor. Not working yet. Only can load, view and store formular XML files. - Start it with 'tools/formed/formed.sh'. + Start it with 'tools/formed/formed.sh'.