--- trunk/ChangeLog 2007/09/10 21:03:35 165 +++ trunk/ChangeLog 2009/03/12 16:14:26 312 @@ -1,30 +1,1010 @@ -2007-09-10 Torsten Irlaender +2009-03-12 Torsten Irländer + + Introduced new order attribute for date fields + + * formed/formed/model/data.py: Order fields can be used to define to + ordering of datefields withing the document. Needed for automatic + generation of consistency rules. + +2009-02-09 Sascha L. Teichmann + + * formed/formed/model/data.py: Allow pages to be 'invisible'. + +2009-02-09 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: Fixed problem with + description reference tables of radio groups. + +2009-02-09 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: replace '-' in names + by '_'. + +2009-02-09 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: to figure ou which + tables are equal the insert statememnts are lower cased + and sorted before they are compared. This reduces the number + of generated referfence tables. + +2009-02-09 Sascha L. Teichmann + + Repair SQL schema creation for radio groups. + + * formed/formed/plugins/export/sql.py: radio groups are handled + like choices now. + +2009-02-09 Sascha L. Teichmann + + Make it startable again. + + * formed/formed/plugins/export/xls.py: Import pyExcelerator only + when plug-in is called. + + * formed/formed/model/nodecomponents.py: Event routing was messed up. + Rewired root node with document. + + * formed/formed/plugins/web/help.py: Removed old xml.ext import. + XXX: This breaks creating help by now! + + * formed/formed/io/parser.py: Replace old deprecated base class + by new one. + + * formed/formed/main.py: Do not crash if locale cannot be set. + + * formed/formed/ui/controls.py: Use document.getCase() instead + of document.case to prevent uninitialized dereferences. + +2009-01-22 Torsten Irländer + + Implemented new XML-Format for formed xml files. + + * formed/formed/model/nodecomponents.py, + formed/formed/io/document.py, + formed/formed/main.py, + formed/formed/ui/controls.py: Introduced new "case" and "logbook" + node. Under case is the definition of the formular. logbook will + hold the defintion of logboog entrys. For now only the part under + "case" can be modified. + +2009-01-21 Torsten Irländer + + Changed way how XSD-Scheme is generated + + * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support + logbookentrys. The scheme definiton is now hardcoded in the + exporter as it will rarely change. It logbookpart will not be + generated from the formedtree anymore. + +2009-01-20 Torsten Irländer + + Support Logbook entrys in xsd schema export + + * formed/formed/model/data.py: Repeatnode are now handeld as + repeatgroups in xsd-export + * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support + logbookentrys. The scheme will now validate against an xmlfile from + the offlineclient. + +2009-01-09 Torsten Irländer + + Added new repeat node + + * formed/formed/model/data.py, + formed/formed/io/document.py: Added repeatnode to the formedtree. + TODO: Remove repeatgroup handling from the groupnode. + +2009-01-08 Torsten Irländer + + Add isset operator to autogenerated rules. + + * formed/formed/plugins/modify/rules.py: Add issed operator to standard + autogenerated rules. + +2008-12-17 Frank Koormann + + * formed/formed/plugins/export/latex.py: Export form as set of + latex tables to be included into a master document. The export + generates section marks to structure the form and placeholders for + help texts to be merged in by a post processing step. + +2008-12-04 Sascha L. Teichmann + + * formed/formed/model/expr.py: Added 'today' which pushes the current date + on the stack. + +2008-12-03 Sascha L. Teichmann + + * formed/formed/plugins/web/controllers.py: compute changeset more correctly in + storage of fields. + + * formed/formed/plugins/export/xsd.py: Added unknown int -999999 to integer + fields as an accepted value. Generate schema for radio groups too. + +2008-12-01 Torsten Irländer + + Added autmatic generation of required rules + + * formed/formed/model/data.py, + formed/formed/model/expr.py, + formed/formed/plugins/modify/rules.py: Default rules for required + fields can now be generated. + +2008-11-28 Sascha L. Teichmann + + * formed/formed/model/data.py, formed/formed/model/nodecomponents.py: + Ported WidgetCollector from Offline client. + + * formed/formed/plugins/modify/__init__.py, formed/formed/plugins/modify, + formed/formed/plugins/modify/rules.py: Stub for required rules generator. + + * formed/formed/config.py: Bind new filter to FormEd + +2008-11-27 Torsten Irländer + + * formed/formed/model/data.py: Added new attribute mark for rules + +2008-11-10 Torsten Irländer + + Implemented radio-matrix elements. radio elelement having the same + options can now be rendered in table form. + + * formed/formed/model/data.py, + formed/formed/io/document.py: Added new radio-matrix element to the + model and gui + * formed/formed/plugins/web/view_renderer.py: Write html-renderer for + the radio-matrix element. + +2008-11.03 Torsten Irländer + + * formed/formed/model/data.py: Fixed import error + +2008-10-29 Sascha L. Teichmann + + Relative paths in external choices are now possible. Relative paths are + relative to path of the master document. + + * formed/model/data.py: external choice are now storing the path to the + master document. + + * formed/formed/io/document.py: Pass context to SAX builder. + + * formed/formed/io/factories.py: For new created nodes look if there + is a method 'setLoadContext' and call it. + +2008-09-04 Sascha L. Teichmann + + * doc/beschreibung.txt: New. Initial description of FormEd (german). + +2008-08-22 Sascha L. Teichmann + + * formed/formed/model/nodecomponents.py: Added attribute 'flags'. + +2008-08-21 Sascha L. Teichmann + + * formed/formed/io/document.py: Indent tree while saving + * formed/formed/main.py: removed needless print + +2008-08-15 Sascha L. Teichmann + + * LICENSE: New GPLv3 + * */*.py, *.sh: Added reference to LICENSE + +2008-08-15 Sascha L. Teichmann + + * tools: removed because there a no tools any more. + +2008-08-15 Sascha L. Teichmann + + * tools/formed: moved one level up because its the only + part of this project now. + +2008-08-15 Sascha L. Teichmann + + * tools/anonym/*: Removed as it belongs to mpuls WASKA + +2008-08-15 Sascha L. Teichmann + + * pdf2xfa/*: removed. It belongs to mpuls + +2008-08-13 L. Teichmann + + i18n of the plug-ins: + * tools/formed/formed/plugins/export/diff.py, + tools/formed/formed/plugins/export/data.py, + tools/formed/formed/plugins/export/old_sql.py, + tools/formed/formed/plugins/export/latex.py, + tools/formed/formed/plugins/export/xsd.py, + tools/formed/formed/plugins/export/sql.py, + tools/formed/formed/plugins/export/typemap.py, + tools/formed/formed/plugins/export/html.py, + tools/formed/formed/plugins/export/mode.py, + tools/formed/formed/plugins/export/html2.py, + tools/formed/formed/plugins/export/xls.py, + tools/formed/formed/plugins/names/filter.py, + tools/formed/formed/plugins/plugin.py, + tools/formed/formed/plugins/web/help.py, + tools/formed/formed/plugins/web/form_renderer.py, + tools/formed/formed/plugins/web/plugin.py, + tools/formed/formed/plugins/web/error_renderer.py, + tools/formed/formed/plugins/web/view_renderer.py, + tools/formed/formed/plugins/web/semantic.py, + tools/formed/formed/plugins/web/cache.py, + tools/formed/formed/plugins/web/server.py, + tools/formed/formed/plugins/web/controllers.py, + tools/formed/formed/plugins/web/renderer.py, + tools/formed/formed/plugins/ui/controls.py, + tools/formed/formed/config.py: _("")s the stuff + tools/formed/po/formed.pot, tools/formed/po/de_DE.po: + extracted and translated. + +2008-08-08 Sascha L. Teichmann + + First version of FormEd i18n. After checkout go to tools/formed/po/ and + say 'make mo'. Afterwards you can start FormEd as usual. + + * tools/formed/resources: New. Place to places ressources like *.mo files + * tools/formed/formed/main.py, tools/formed/formed/ui/controls.py: Add _("")s + + * tools/formed/po, + tools/formed/po/Makefile, + tools/formed/po/formed.pot, + tools/formed/po/de_DE.po: i18n stuff. + +2008-08-08 Sascha L. Teichmann + + * tools/anonym/xmlexport.py: Only export cases which are not + 'schwebend geloescht'. + +2008-07-23 Sascha L. Teichmann + + Fixed issue472 + + * tools/anonym/xmlimport.py: Regenerate dicts from current form ed tree. + +2008-07-17 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: removed marking of invalid cases + * tools/anonym/cron.importAnonXml.sh: re-inserted here. + +2008-07.07 Torsten Irländer + + * tools/formed/formed/plugins/export/latex.py + tools/formed/formed/config.py: Added new LaTex Export. Beware this + is even more ugly the HTML Export. + * tools/formed/formed/plugins/export/html.py: Added information on + anonymisation to the html export. + +2008-07-07 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: Mark cases if they are inconsistent. + +2008-07-07 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: Updated to schema 1.5. (Which is incompatible to 1.4) + +2008-07-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html.py: Added additional column + to the html export with information how each field will get + anonymized. + +2008-07-07 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: sync with productive version. + +2008-06-10 Torsten Irländer + + * tools/formed/formed/plugins/export/sql.py: grant admin permission to + call anonymize function + +2008-05-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Brought encoding + back to UTF-8. + +2008-05-21 Frank Koormann + + * tools/formed/formed/plugins/export/xls.py: New, export key value + tables as excel workbook with one sheet per table. + + * tools/formed/formed/config.py: ExportKeyValueTableAsXLS added. + +2008-05-21 Frank Koormann + + * tools/formed/formed/plugins/export/xsd.py + (SchemaCreator._createChoice): Fix use of choices name. + +2008-04-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Use substitution group + to allow arbitrary order of repeat groups. + +2008-04-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Removed a needless + character. + +2008-04-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Added annotations + to fields. + +2008-04-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Added for + choice fields. + +2008-04-29 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Added support for + boolean fields based on enumerations. + +2008-04-28 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Added support for + date, text and textarea fields. + +2008-04-28 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: Added support for + repeat groups and integer fields. + +2008-04-28 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/xsd.py: New. plug-in for + exporting as XML schema. not ready, yet. + + * tools/formed/formed/config.py: Use new plug-in. + + * tools/formed/formed/plugins/export/sql.py: Fixed wrong GUI text. + +2008-04-17 Torsten Irländer + + * tools/formed/formed/plugins/export/sql.py: Changed WHERE clause in + for the views because of the new group permissions. + +2008-04-09 Sascha L. Teichmann + + * tools/anonym/cron.deleteOldAnonymized.sh: New. cron job to delete + old anonymized cases. + +2008-04-01 Sascha L. Teichmann + + * tools/anonym/xmlexport.py: Removed "WHERE einverstaendniserklaerung = 1" + from clause to select datasets. + Replace ']]>' in CDATA sections with correct splitted replacement. + +2008-03-12 Sascha L. Teichmann + + * tools/anonym/cron.importAnonXml.sh: Added absolut path to xmlimport + script. + + * tools/anonym/xmlimport.py: commented out database port from + connectionstring. + +2008-03-12 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Fixed bug in generation + of anonymization of repeat groups (wrong id was given). + +2008-03-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Generate no update + statements for relations which have no anonym functions applied. + +2008-03-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added a newline after + 'COMMIT;' in the last line. + +2008-03-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Fixed syntax of + generated anonymize_case() function. + +2008-03-11 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added code to + generate a plpgsql function anonymize_case() that anonymized + a given case and all of its depending repeat groups. + +2008-03-06 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: remove print of insert statement. + + * tools/formed/formed/plugins/export/sql.py: Print generation date in ISO. + +2008-03-03 Torsten Irländer + + * anonym/cron.sendAnonXml.sh, + anonym/getDbList.sh: Modified script to be used directly in the + production environment (Copied running scripts from production + server) + + * cron.importAnonXml.sh: Added deleting of ols cases. Modified script + to be used in a production environment (Cpoied running script from + production server) + + * tools/anonym/xmlexport.py: Added "WHERE" clause to SQL-Statement to + ensure that only valid cases get exported + +2008-02-27 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: Fixed bug in date converter. + +2008-02-27 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: Simpilied version + +2008-02-27 Sascha L. Teichmann + + * tools/anonym/cron.importAnonXml.sh: Add sudo call for + xmlimport.py and parameters. + + * tools/anonym/xmlimport.py: Various bug fixes. Not working yet. :-/ + + * tools/anonym/xmlexport.py: Use python interpreter without env + because of sudo context. + +2008-02-26 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: added support for getopt. add + support to force in fkz in import of case. + +2008-02-26 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: Implemented logic to create/update cases. + + * tools/anonym/html.awk: produces valid HTML. + +2008-02-25 Sascha L. Teichmann + + * tools/anonym/joincsv.py: Fix a logic bug. + +2008-02-25 Torsten Irlaender + + * tools/anonym/cron.importAnonXml.sh: Added shellscript for importing + exportted cases. It will read all files from a directory and import + the files into the DB. After that the script will cleanup the + directory. + +2008-02-25 Torsten Irländer + + * tools/anonym/cron.sendAnonXml.sh, + tools/anonym/xmlexport.py, + tools/anonym/getDbList.sh: Added shell-scripts for exporting cases + +2008-02-25 Sascha L. Teichmann + + * tools/anonym/joincsv.py: Fixed typo which generated wrong number of cols. + +2008-02-25 Sascha L. Teichmann + + * tools/anonym/joincsv.py: New. Joins CSV files. + + * tools/anonym/html.awk: New. Converts CSV to HTML + +2008-02-25 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: New. Added generation of + update statements. + +2008-02-25 Sascha L. Teichmann + + * tools/anonym/xmlimport.py: New. Base for importing + XML from cron. + +2008-02-24 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/html2.py: New. plug-in + for a simplified HTML output + + * tools/formed/formed/plugins/export/typemap.py: New. plug-in + for dump schema as python dictionary. + + * tools/formed/formed/config.py: Enable new plug-ins. Out comment + old stored procedure and view generators. + +2008-02-19 Sascha L. Teichmann + + * tools/anonym/xmlexport.py: New. Export all cases in database + as XML. + +2008-02-18 Sascha L. Teichmann + + * tools/anonym/anoymncsv.py: separate field with '\t' now. + all '\t's are replaced by ' ' before. '\r\n' are removed too. + +2008-02-15 Sascha L. Teichmann + + * tools/anonym/anoymncsv.py: simple script to fetch anonymous + data from database. + +2008-02-14 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Exchanged name + erase_value with suppress_value/suppress_value2. + +2008-02-13 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: output id, master_id + substitute 'erase_value' with NULL value. + +2008-02-13 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: output id, master_id + and uuid_id in anonymiziation views too. + +2008-02-13 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added generation + of anonymiziation views for master table views and repeat group + views. + +2008-02-13 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added attribute + "function" + + * tools/formed/formed/io/document.py: Save attributes in + alphabetical order. + +2008-02-02 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added update rule + for master table and repeat groups views. Granted update right + to :cm_ka_group. + +2008-02-01 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added a column 'uuid_id' + for master table and repeat groups. Also added unique constraints + to these columns. + +2007-12-10 Sascha L. Teichmann + + * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Added a system + property 'root.element' to specify the name of the XML root. + + * pdf2xfa/startup/pdf2xfa.sh, pdf2xfa/README.TXT: Adjusted. + +2007-11-22 Sascha L. Teichmann + + * pdf2xfa/startup, */pdf2xfa.sh, */pdf2xfa.init: boot scripts + for GNU/Linux (tested Debian 'Etch' 4.0) by Sascha Wilde. + + * pdf2xfa/README.TXT: Add a remark to new boot scripts. + +2007-11-21 Sascha L. Teichmann + + * pdf2xfa/src/de/intevation/pdfimport/Log.java: New. + Sends logging to file. + + * pdf2xfa/src/de/intevation/pdfimport/Server.java, + pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Adjusted + to use new logging. + + * pdf2xfa/README.TXT: Added remark how to use logging. + +2007-11-16 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py (createSchema): + Append only column "bearbeiter_id", standins are modelled by a + separate table. + +2007-11-16 Sascha L. Teichmann + + * tools/formed/formed/model/data.py, + tools/formed/formed/plugins/web/view_renderer.py: + Added an invisible flag for info fields. + +2007-11-07 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Fixed a few small bugs + (calling a wrong method). + +2007-11-07 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added a field + 'alternative' to all node components. This might be of help to + match PDF imports where the descriptions do not match. + +2007-10-23 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py: New WHERE-Clause for views + +2007-10-23 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py: Set default + value (-1) for choices and bools. + +2007-10-21 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py: Grant statements for + descriptive tables added. + (Table.getName): new + +2007-10-21 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py: "CREATE OR REPLACE" + statements for views and roles to make updates easier. + Add "admin_ka" membership as third option to VIEW_WHERE_CLAUSE. + +2007-10-19 Frank Koormann + + * tools/formed/formed/plugins/export/sql.py: Added GRANT statements + for views. The statements are prepared for variable substitution + when executing the SQL-scripts by psql. + +2007-10-18 Sascha L. Teichmann + + * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Fixed: + End of result XML was truncated because of an unflushed buffer. + +2007-10-17 Sascha L. Teichmann + + * pdf2xfa/bin/build-jar.sh: New. Build production jar file. + + * pdf2xfa/README.TXT: Adjusted how to build production jar file + and how to use it. + + * pdf2xfa/etc, pdf2xfa/etc/manifest.txt: New. Defines main class + and iText dependency. + +2007-10-16 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Model 'Ja, Nein, Keine Angabe' + are not modeled as BOOLEANs any more. That simpifies the conversion + process web vs. db. + +2007-10-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added the remaining + UPDATE rules. + +2007-10-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added UPDATE rules for some + views. TODO: Test'em and implement the rest. + +2007-10-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Bug fix. DELETE and INSERT + rules referenced none existing views. + +2007-10-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added DELETE and INSERT + rules for views. TODO: add UPDATE rules. + +2007-10-07 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/old_sql.py: New. Contains + the legacy SQL export filters. + + * tools/formed/formed/plugins/export/sql.py: Factored out the + legacy SQL export filters to old_sql. + + * tools/formed/formed/config.py: Adjusted to fetch legacy + filters from old_sql. + +2007-10-06 Sascha L. Teichmann + + * pdf2xfa/**: Initial import of the PDF to XFA server. + +2007-10-06 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Fixed bug + that made choices of three elements to booleans if + they have other meanings than 'Ja', 'Nein', 'keine Angabe'. + +2007-10-05 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Select ids of + underlaying tables in views too. + +2007-10-04 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Create schema inside transaction. + Various bug fixes. + +2007-10-04 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Added GroupNode.allWidgets() + to extract fields from embedded repeat groups. + + * tools/formed/formed/plugins/export/sql.py: The SQL exporter exports + views per page too. Result not tested yet. + +2007-10-01 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/view_renderer.py: Ignore + in-page repeat groups while rendering pages. + +2007-10-01 Sascha L. Teichmann + + * tools/formed/formed/model/nodecomponents.py: Added visitor + traversals for document trees. + + * tools/formed/formed/model/data.py: Rewrote the + Page.allWidgets() method to use new visitor for + tree traversal. + +2007-09-27 Torsten Irlaender + + * tools/formed/formed/plugins/names/filter.py: Pages are now included + in the rename by formular name algorithm + +2007-09-26 Sascha L. Teichmann + + * tools/formed/formed/model/data.py: Removed old {next|prev}Page() + TODO: rewrite Page.allWidgets(). + + * tools/formed/formed/model/nodecomponents.py: Added a method + Node.firstLevel(criterion) to walk a defined line in the tree. + + * tools/formed/formed/plugins/export/sql.py: Extract data suitable to + build views and respective joins. + +2007-09-26 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/plugin.py: add 'web.tidy:' flag to + FORMED environment variable. If set to true tidylib is used to + filter HTML content to be W3C valid. To use this feature install + uTidylib. + + * tools/formed/formed/plugins/web/server.py: Check if MIME type is + text/html and filters content through tidy if requested. + +2007-09-25 Torsten Irlaender + + * tools/formed/formed/plugins/web/view_renderer.py: Small fix and + cleanup of the form generation code. + +2007-09-21 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: Added generation time + and DROP TABLE statements to schema export. + +2007-09-20 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/sql.py: The tables are generated + in correct topolocial order now. + +2007-09-20 Sascha L. Teichmann + + * tools/formed/formed/plugins/export/mode.py: New. Filter to export + a document with items that are in given mode. + + * tools/formed/formed/model/nodecomponents.py: Added methods to clone + trees depending on selected modes. + + * tools/formed/formed/model/data.py, tools/formed/formed/model/expr.py: + Fixed clone issue with RuleNodes. + + * tools/formed/formed/config.py: Use new plug-in. + +2007-09-17 Sascha L. Teichmann + + * tools/formed/formed/plugins/web/view_renderer.py: Make the + view renderer a real view renderer. It takes a list of + items now and not only a single page. + + * tools/formed/formed/plugins/web/renderer.py: Feed a list + of items to the view renderer. + +2007-09-17 Torsten Irlaender + + * tools/formed/formed/plugins/web/view_renderer.py: + Small tweaks in rendering bools. + RadioNodes (with all its children) can now be placed in a container. + The radiobools will not get a surrounding
anymore. + I am not sure if the new way results in the wanted behaivor, but the + rendering results are much better now :) + Maybe we need a similar approach for checkboxes? + Rendering groups is still broken in some way. + +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 +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 +2007-09-10 Sascha L. Teichmann * tools/formed/formed/plugins/web/renderer.py: Highlight selected page in page navigation. -2007-09-10 Torsten Irlaender +2007-09-10 Torsten Irlaender * tools/formed/formed/plugins/web/controllers.py: Fixed issues on displaying formdata when changing datasets. Loading the right @@ -35,27 +1015,27 @@ * tools/formed/formed/plugins/web/renderer.py: DataSetDigestRenderer now uses the correct data out of the formdata. -2007-09-10 Sascha L. Teichmann +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 +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. + No clue why this works. -2007-09-10 Sascha L. Teichmann +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 +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 +2007-09-10 Torsten Irlaender * tools/formed/formed/plugins/web/controllers.py: Added new Class ErrorStats which provides Information on remaining errors per page. @@ -66,13 +1046,13 @@ * tools/formed/formed/plugins/web/plugin.py: Removed render_session handlers -2007-09-10 Sascha L. Teichmann +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. + the state storage of select boxes in HTML to live. -2007-09-09 Sascha L. Teichmann +2007-09-09 Sascha L. Teichmann * tools/formed/formed/plugins/web/semantic.py: Fixed problems with range checking of integers. @@ -80,7 +1060,7 @@ * 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 +2007-09-09 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: Fixed returning wrong index in Document.indexOfcomponentByClassAndName. @@ -90,14 +1070,14 @@ * tools/formed/formed/plugins/web/controllers.py: Some clean-ups. -2007-09-09 Sascha L. Teichmann +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. + methods. Various bug fixes. * tools/formed/formed/plugins/web/controllers.py: Implements the new FormData (trivial by now). @@ -105,12 +1085,12 @@ * tools/formed/formed/plugins/web/renderer.py: New FormData and some bug fixes. -2007-09-09 Sascha L. Teichmann +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. + 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. @@ -120,16 +1100,16 @@ * 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. + 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. + 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 +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: @@ -139,7 +1119,7 @@ Note: The new methods are only called from selected handlers. Other handlers call the renderes in the old way. -2007-09-07 Torsten Irlaender +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. @@ -149,14 +1129,14 @@ rendering into renderer.py or form_renderer.py. This file will only contain teh handlers in the future. -2007-09-07 Torsten Irlaender +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 +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 @@ -164,14 +1144,14 @@ 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 +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 +2007-09-05 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: Added a method to document to find index of page. @@ -182,7 +1162,7 @@ * tools/formed/formed/plugins/web/controllers.py: Added new FormData implementation to support DB and semantic box. -2007-09-05 Sascha L. Teichmann +2007-09-05 Sascha L. Teichmann * tools/formed/formed/plugins/web/renderer.py: escaped error message. @@ -190,7 +1170,7 @@ * 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 +2007-09-05 Sascha L. Teichmann * tools/formed/formed/plugins/web/renderer.py: SimplePageRenderer returns "Page not found" if given page is None. @@ -198,11 +1178,11 @@ * 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 +2007-09-05 Sascha L. Teichmann * tools/formed/formed/plugins/web/controllers.py: Some clean-ups. -2007-09-05 Sascha L. Teichmann +2007-09-05 Sascha L. Teichmann * tools/formed/formed/plugins/web/plugin.py: Remove request handlers and renderers. @@ -210,13 +1190,13 @@ * tools/formed/formed/plugins/web/controllers.py: New. Contains handlers and renderers now. TODO: Move renderers to renderer.py -2007-09-05 Torsten Irlaender +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 +2007-09-05 Sascha L. Teichmann * tools/formed/formed/model/memory.py: Removed bisect and use a simple linear scan for dataset lookup now. @@ -224,27 +1204,27 @@ * tools/formed/formed/plugins/web/plugin.py: Fixed various issues of different sizes. -2007-09-05 Torsten Irlaender +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 +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. + 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. + a top level '''...''' variable. * tools/formed/test-data/simple.xml: Added test for help. @@ -252,13 +1232,13 @@ * 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. + 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 +2007-09-04 Torsten Irlaender * tools/formed/formed/plugins/web/renderer.py, * tools/formed/formed/plugins/web/plugin.py: Added Interface to @@ -267,27 +1247,27 @@ within a
tag. Modified the error messages. -2007-09-04 Sascha L. Teichmann +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. + serving static content. * tools/formed/formed/plugins/web/plugin.py: Use the new cache. -2007-09-04 Sascha L. Teichmann +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 +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 +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. @@ -301,40 +1281,40 @@ * tools/formed/formed/plugins/web/plugin.py: Serves the help texts now. -2007-09-03 Torsten Irlaender +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 +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 +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 +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 +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. + enable FormEd document authors to add comments to groups + and fields. -2007-09-03 Frank Koormann +2007-09-03 Frank Koormann * tools/formed/formed/model/nodecomponents.py (NodeComponent.getParent): New method to get node components parent. @@ -342,7 +1322,7 @@ * tools/formed/formed/plugins/export/html.py: Export Choice option as simple list instead of collection of bools. -2007-09-02 Sascha L. Teichmann +2007-09-02 Sascha L. Teichmann * tools/formed/formed/model/persistent.py: Interfaces to abstract from persistent storage details. @@ -352,50 +1332,50 @@ * tools/formed/formed/main.py: Holds a memory data store now. -2007-09-02 Sascha L. Teichmann +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. + for FileDialogFilter sub classes. -2007-09-02 Sascha L. Teichmann +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(). + 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. + too. -2007-09-02 Sascha L. Teichmann +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 +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. + 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. + exporter too. -2007-08-31 Sascha L. Teichmann +2007-08-31 Sascha L. Teichmann * tools/formed/formed/plugins/export/html.py: Make mode check work (again). -2007-08-31 Torsten Irlaender +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 @@ -403,14 +1383,14 @@ full hirachically document stuctures. (nested lists) TODO: Fix modechecking -2007-08-31 Torsten Irlaender +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 +2007-08-31 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: use discard() instead of remove on sets. @@ -421,7 +1401,7 @@ * tools/formed/formed/config.py: Added the new exporter to the list of export filters. -2007-08-30 Sascha L. Teichmann +2007-08-30 Sascha L. Teichmann * tools/formed/formed/model/data.py: Fixed a bug in Page.allWidgets() @@ -431,42 +1411,42 @@ * tools/formed/formed/config.py: Add the new SP exporter. -2007-08-29 Torsten Irlaender +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 +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 +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 +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 +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 +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. + this case reference the existing table. -2007-08-29 Sascha L. Teichmann +2007-08-29 Sascha L. Teichmann * tools/formed/formed/plugins/export/sql.py: Rewritten to produce _real_ SQL and respect repeat groups. @@ -476,12 +1456,12 @@ * tools/formed/formed/plugins/web/renderer.py: Use "".join([]) instead of expensive += string concat in some places. -2007-08-29 Sascha L. Teichmann +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 +2007-08-28 Torsten Irlaender * tools/formed/plugins/web/renderer.py: Added Formdata interface. * tools/formed/model/data.py: Implements Formadata interface to @@ -489,38 +1469,38 @@ attribute of the groupnode. Field-label generation slightly changed. Added error indication to textfields -2007-08-28 Sascha L. Teichmann +2007-08-28 Sascha L. Teichmann * tools/formed/formed/model/data.py, tools/formed/formed/io/document.py: Removed support - of logical groups. + of logical groups. -2007-08-28 Sascha L. Teichmann +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 +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 +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 +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. + It has an attribute 'repeat' to indicate that it might + be worthy an external table in DB schema. -2007-08-27 Sascha L. Teichmann +2007-08-27 Sascha L. Teichmann * tools/formed/formed/plugins/web/plugin.py: Support serving of static content. @@ -528,7 +1508,7 @@ * tools/formed/formed/plugins/web/server.py: Removed old send code. -2007-08-27 Sascha L. Teichmann +2007-08-27 Sascha L. Teichmann * tools/formed/formed/plugins/web/plugin.py: Use new Response object. Fix typo. @@ -536,31 +1516,31 @@ * tools/formed/formed/plugins/web/server.py: support response object to serve different MIME types. -2007-08-27 Sascha L. Teichmann +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. + root of the static content. -2007-08-26 Sascha L. Teichmann +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. + 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. + 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 +2007-08-26 Sascha L. Teichmann * tools/formed/formed/model/data.py: Added missing broadcast parameter to setAttribute() of RuleLeaf. @@ -574,14 +1554,14 @@ * tools/formed/formed/plugins/web/server.py: New. Contains the HTTP server code now. -2007-08-26 Sascha L. Teichmann +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. + 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. @@ -589,20 +1569,20 @@ * 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. + 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. + 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. + 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 +2007-08-24 Torsten Irlaender * tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint for checkbox values. (Syntax error). @@ -610,7 +1590,7 @@ * tools/formed/formed/plugins/names/filter.py: Fixes in formularname generation -2007-08-24 Torsten Irlaender +2007-08-24 Torsten Irlaender * tools/formed/formed/plugins/names/filter.py: Separated Class for making the formularnames more database friendly. Added some more @@ -618,17 +1598,17 @@ * 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 +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 +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 +2007-08-24 Sascha L. Teichmann * tools/formed/test-data/simple.xml: Better test case for mode depended leaf items. @@ -638,27 +1618,27 @@ * 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. + Cause: The modes are only cumulated over time. Removal is + not done. -2007-08-24 Sascha L. Teichmann +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 +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 +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. + script. TODO: Dump items in radio and choice groups. -2007-08-23 Sascha L. Teichmann +2007-08-23 Sascha L. Teichmann * tools/formed/formed/plugins/names/filter.py: Removed HTML and SQL exporters. @@ -667,12 +1647,12 @@ 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. + the HTML and the SQL exporters now. * tools/formed/formed/config.py: Use exporters from different package now. -2007-08-23 Torsten Irlaender +2007-08-23 Torsten Irlaender * tools/formed/formed/plugins/names/filter.py: Added an pseudo SQL export filters. TODO: Move HTML and SQL filter @@ -681,7 +1661,7 @@ * tools/formed/formed/config.py: Install the new SQL filter. -2007-08-23 Sascha L. Teichmann +2007-08-23 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: Added a depth() method to determine the depth of particular tree item. @@ -691,19 +1671,19 @@ * tools/formed/formed/config.py: Install the new HTML filter. -2007-08-23 Torsten Irlaender +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 +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 +2007-08-22 Sascha L. Teichmann * tools/formed/test-data/simple.xml, tools/formed/formed/model/data.py, @@ -713,7 +1693,7 @@ tools/formed/formed/main.py: Removed support for switch nodes. BEWARE: This breaks compatibility with older documents! -2007-08-22 Sascha L. Teichmann +2007-08-22 Sascha L. Teichmann * tools/formed/formed/plugins/web/plugin.py: Uses the getSelectedMode() from main now. @@ -724,12 +1704,12 @@ * tools/formed/formed/config.py: removed selected mode from env configuration. -2007-08-22 Sascha L. Teichmann +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 +2007-08-22 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: Added code to establish the new 'modes' recursively. @@ -745,31 +1725,31 @@ * tools/formed/formed/main.py: Adjusted to new infrastructure. -2007-08-22 Sascha L. Teichmann +2007-08-22 Sascha L. Teichmann * tools/formed/formed/model/nodecomponents.py: Added an attribute 'modes' to NodeComponents. -2007-08-22 Sascha L. Teichmann +2007-08-22 Sascha L. Teichmann * tools/formed/formed/model/data.py: Small cosmetic cleanups -2007-08-21 Sascha L. Teichmann +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 +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 +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 +2007-08-21 Sascha L. Teichmann * tools/formed/formed/plugins/web/semantic.py: Added semantic checks for choices. @@ -784,14 +1764,14 @@ * contrib/convert-formedtree2html.xsl: Replace technical types with readable descriptions -2007-08-21 Sascha L. Teichmann +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. + 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. @@ -799,41 +1779,41 @@ * tools/formed/formed/plugins/web/renderer.py: Generate a hidden field to store the name of the page. -2007-08-21 Sascha L. Teichmann +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 +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. + with a given mode. * tools/formed/formed/plugins/web/plugin.py: Simple test for listing all widgets in page. -2007-08-21 Torsten Irlaender +2007-08-21 Torsten Irlaender * tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to latin-1 -2007-08-21 Sascha L. Teichmann +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. + 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 +2007-08-21 Sascha L. Teichmann * tools/formed/formed/plugins/web/semantic.py: Add checks for texts and text areas. @@ -841,12 +1821,12 @@ * tools/formed/formed/plugins/web/renderer.py: Set accept-charset to UTF-8 in generated form. -2007-08-20 Sascha L. Teichmann +2007-08-20 Sascha L. Teichmann * tools/formed/formed/plugins/web/semantic.py: Added semantic tests for dates. -2007-08-20 Sascha L. Teichmann +2007-08-20 Sascha L. Teichmann * tools/formed/test-data/simple.xml: Tweak a bit for integer range test. @@ -860,7 +1840,7 @@ * tools/formed/formed/plugins/web/plugin.py: Use semantic check. -2007-08-20 Torsten Irlaender +2007-08-20 Torsten Irlaender * tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in selection-field generation (Removed quote) @@ -873,7 +1853,7 @@ 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. @@ -891,7 +1871,7 @@ 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. @@ -952,7 +1932,7 @@ * tools/formed/formed/main.py: Swaped order of 'Make names unique' and 'Selected mode...' in Extra - menu and put a separator between them. + menu and put a separator between them. 2007-08-15 Sascha L. Teichmann @@ -961,20 +1941,20 @@ * tools/formed/formed/plugins/plugin.py: Simplified the plug-in interface. Only the reference to the - global configuration is passed at setup time. + 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. + 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. + 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. @@ -986,7 +1966,7 @@ * tools/formed/formed/plugins/web/plugin.py, tools/formed/formed/plugins/web/renderer.py: Added parameter - print out in web plugin. + print out in web plugin. 2007-08-15 Torsten Irlaender @@ -1004,9 +1984,9 @@ * 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'. + 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. @@ -1020,7 +2000,7 @@ * 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. + to model external item lists. * tools/formed/formed/plugins/web/renderer.py: Render new item list. @@ -1037,21 +2017,21 @@ * 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' + './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. - + 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) @@ -1069,7 +2049,7 @@ * 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. @@ -1092,7 +2072,7 @@ * 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. + in document tree. * tools/formed/formed/model/misc.py: Added update mechanism for id generator after names collisions are eliminated. @@ -1104,13 +2084,13 @@ * 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. + 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' + 'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml' * tools/formed/test-data/simple.xml: Removed 'text' attributes from bool items. @@ -1129,7 +2109,7 @@ * 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' + Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml' 2007-08-10 Sascha L. Teichmann @@ -1166,7 +2146,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. @@ -1246,7 +2226,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. @@ -1275,7 +2255,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 @@ -1304,11 +2284,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 @@ -1356,7 +2336,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. @@ -1369,7 +2349,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 @@ -1385,4 +2365,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'.