--- trunk/ChangeLog 2009/03/20 14:40:36 320 +++ trunk/ChangeLog 2010/10/05 16:30:38 408 @@ -1,3 +1,614 @@ +2010-10-05 Torsten Irländer + + * formed/formed/model/data.py: Fixed error when setting tag attribute. + * formed/formed/plugins/export/rules_sh.py: Added generating exporting + tagging-xml + * formed/formed/plugins/modify/rules.py: Do not generate automatic + tagids for rules. + +2010-10-04 Torsten Irländer + + * formed/formed/model/data.py (RuleLeaf.__init__): Added new attribute + "tag" for rule-leafs + * formed/formed/config.py: Added export rules as XML to Menu + * formed/formed/plugins/modify/rules.py + (GenerateRequiredRules.generateDateSequenceRules): Generate automatic + tag ids for date-sequence rules + +2010-09-30 Torsten Irländer + + * formed/formed/plugins/export/rules_sh.py + (ExportRulesAsSH.doExport): Filter out duplicted rules. + +2010-09-20 Frank Koormann + + * formed/formed/plugins/export/latex.py (RecursiveExporter): + Add "required"-field information to output and include + choice list contents. + +2010-09-16 Bernhard Herzog + + Avoid database deadlocks that can happen when database clients try + to work with the same case using two separate database + connections. See mpuls/issue1145 for details. + + * formed/formed/plugins/export/rg_sql.py (SQL_TEMPLATE): Split the + computation of the new json structure description into the new + database function compute_case_structure + (TRIGGER_TMPL): Change the trigger functions to immediately update + the cached json structure description instead of just setting the + modified flag. This avoids the lazy recomputation that makes what + seems like a read-only access (calling get_case_structure) into a + writing access (updates of the cache). The writes lock the row in + the case_structure table which prevent other connections from + accessing the same case. As part of this, the delete triggers are + now AFTER triggers because the repeat groups instance must have + been removed when the structure is recomputed. + (SUBSELECT_TMPL): Since the delete trigger is now an after + trigger, we need to change the way the master id is computed. We + cannot join with the repeatgroup table in question because the row + has already been deleted. However, we can use the master_id + column of the OLD row to select the row of the parent table. + (create_triggers): Avoid the inner joins with the current repeat + group for the above mentioned reasons. In the very common case of + repeat groups which are direct children of the master_tbl, we can + compare the master_tbl.id directly with the row's master_id. + +2010-09-14 Roland Geider + + * formed/formed/plugins/export/xsd.py: issue1131: update XSD for new + formedtree structure + +2010-09-01 Roland Geider + + * formed/formed/plugins/modify/rules.py: issue1050: mandatory fields + appearing double. + The problem was that the way the formEditor handled fields with + manually created rules changed. Instead of ignoring fields (very + early behaviour) or always generating them (early behaviour), now the + formED will only ignore fields with rules which name starts with + 'required-rule-manual'. This is helpful when the rules for mandatory + fields are more complex (e.g. mother's name is only required if + mother is known). + +2010-08-10 Torsten Irländer + + * contrib/diff_formed.py: New helperscript to diff to given + formedtrees + +2010-08-09 Roland Geider + + * formed/model/exprtree.py: fixed typo + +2010-08-04 Bernhard Herzog + + * formed/po/de_DE.po: Update translations + +2010-08-04 Bernhard Herzog + + * formed/po/formed.pot: Regenerated. + + * formed/po/de_DE.po: Update. + +2010-08-04 Bernhard Herzog + + * formed/po/Makefile: Use correct filename of the pot-file in the + usage message + +2010-08-04 Bernhard Herzog + + * formed/po/Makefile (LIST_POTFILES): Sort the file names to make + the order of entries in the .pot-file more predictable. + +2010-08-04 Bernhard Herzog + + * formed/formed/model/nodecomponents.py (RootNode.__init__) + (RootNode.getVersion, RootNode.setVersion): Add attribute + "version" and accessor methods. + + * formed/formed/main.py (MainFrame.OnSetDocumentVersion): New. Let + the user set the document version. + (MainFrame._createMenuBar): Add menu item for OnSetDocumentVersion + +2010-08-02 Bernhard Herzog + + * formed/formed.py, formed/formed/io/document.py, + formed/formed/io/factories.py, formed/formed/io/parser.py, + formed/formed/model/data.py, formed/formed/model/event.py, + formed/formed/model/expr.py, formed/formed/model/exprtree.py, + formed/formed/model/memory.py, formed/formed/model/misc.py, + formed/formed/model/nodecomponents.py, + formed/formed/model/persistent.py: Fix coding declaration to be + acceptable to both python and Emacs. + +2010-07-29 Torsten Irländer + + * formed/formed/model/data.py: Added "invisible" attribute to + BoolLeafs. This can be used to hide options in choicelists. so the + user can not select the value in the user interface. But the db will + have this option so is ist still present in the db an can be used + * formed/formed/model/exprtree.py: Added "days" function. + +2010-07-26 Roland Geider + + * formed/formed/model/nodecomponents.py, + formed/formed/plugins/modify/rules.py: generated date rules take + into consideration repeat groups + +2010-07-21 Torsten Irländer + + Issue870 + + * formed/formed/plugins/modify/rules.py (descriptions): Do not collect + all headers to the referenced fields. Only list labels of the error + fields, which should be distinct enough. + + Issue851 + + * formed/formed/model/data.py + formed/formed/plugins/export/new_sql.py + formed/formed/plugins/web/view_renderer.py + formed/formed/io/document.py + formed/formed/config.py: Added Float-Field to Formed + +2010-06-11 Bernhard Herzog + + * formed/formed/plugins/export/rg_sql.py + (CREATE_DELETE_MASTER_TMPL): In create_master_tbl, call + create_master_ds to create the master tbl entry. This way we can + add SQL code that's specific to an MPuls instance to + create_master_ds and still have create_master_tbl use that new + code. This is useful for e.g. the JMD-Struktur part. + +2010-06-02 Roland Geider + + * formed/formed/plugins/modify/rules.py: make the names of generated + date-sequence-rules unique + +2010-06-02 Roland Geider + + * formed/plugins/export/xls.py: updated regular expression + +2010-05-17 Frank Koormann + + * formed/formed/plugins/export/latex.py: Improved section labeling. + + * formed/formed/plugins/export/xls.py: + Export references (ie where are the lists used). + +2010-04-30 Torsten Irländer + + * formed/formed/plugins/modify/rules.py (VariableType.substitute): Do + not generate "%"-rules for required fields in repeat-groups. + +2010-04-28 Roland Geider + + * formed/plugins/export/xls.py: Radiogroups are exported + * formed/plugins/export/xsd.py: WASKA formedtree.xml validates XSD + JMD formedtree.xml validates XSD + +2010-04-08 Torsten Irländer + + * formed/formed/plugins/modify/rules.py + (GenerateRequiredRules.generateDateSequenceRules): Add error mark to + rules. Generete each rule twice to be able to render errors at both + datefields. + +2010-04-07 Torsten Irländer + + * formed/formed/plugins/export/rg_sql.py: Added "Revision"-Tag. + +2010-04-06 Torsten Irländer + + * formed/formed/io/document.py (_toXML): Added comment with + "$Revision"-tag. This tag will/can then be substituted by the VCS. + * formed/formed/plugins/export/new_sql.py + (ExportAsSQLFilter.doExport): Added comment with + "$Revision"-tag. This tag will/can then be substituted by the VCS. + * formed/formed/model/exprtree.py: Added years operator. + +2010-03-30 Roland Geider + + * formed/formed/plugins/export/latex.py: Added filter + +2010-03-25 Roland Geider + + * formed/formed/plugins/export/xsd.py: Generate valid XML + +2010-02-11 Frank Koormann + + * formed/formed/plugins/export/xls.py: Allow groups in choices. + +2009-12-02 Torsten Irländer + + * formed/formed/plugins/export/typemap.py: do not ignore conditional + nodes on traversal. + +2009-11-17 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Recognize '%' vars + in compilation. Does not eval it! + + * formed/formed/plugins/modify/rules.py: Generate '%' vars + for variables in repeat groups. + +2009-11-13 Sascha L. Teichmann + + * formed/formed/plugins/export/typemap.py: Fixed to work + with new repeat group nodes. + +2009-10-28 Sascha L. Teichmann + + * formed/formed/plugins/export/xsd.py, + formed/formed/plugins/export/sql.py, + formed/formed/plugins/export/new_sql.py: Allow groups in choices. + +2009-10-07 Frank Koormann + + * formed/formed/plugins/export/latex.py: + Adjusted textprocessing to escape tex-active characters. + +2009-10-07 Sascha L. Teichmann + + * formed/formed/plugins/export/html.py, formed/formed/plugins/export/latex.py, + formed/formed/plugins/export/html2.py: Adjusted to cope with + "semi-complete" implementation of logbook tree structure. + +2009-06-18 Torsten Irländer + + * formed/formed/plugins/export/new_sql.py, + formed/formed/plugins/export/rg_sql.py: Fixed some sql errors, and + added permissions. + +2009-06-18 Torsten Irländer + + * formed/formed/plugins/export/new_sql.py: Commented out generation of + page_views, as they do not work with rgroups. + +2009-06-17 Torsten Irländer + + * formed/formed/plugins/export/new_sql.py: Fixed anonymize function + and rolenames. + +2009-06-17 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: small optimization. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: Repaired unique filter for + nodecomponent names. + +2009-05-06 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Only create depending + repeat groups if no uuid is given. If a uuid is given then + the creation is triggered by an xml import. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: New SQL schema generator to + replace the old one. The new one faciliates the new RepeatNode instead + of the Group.isRepeat() method to tell if something is to be repeated. + + * formed/formed/config.py: Use new SQL schema generator plug-in by default. + The old one is deactivated. + + * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Added delete functions. + TODO: Adjust execution rights. + +2009-04-27 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems. + Add functions to create dataset. + +2009-04-24 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: new plug-in to generate + tree structure functions in database. + + * formed/formed/config.py: load plug-in. + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/data.py: Added 'digest' attribute to + RepeatNode. Removed needless methods + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: make 'equal' and 'not equal' + more readable with '=' and '<>'. + +2009-04-02 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: call anonymization + of uuid on anonymization of case. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in + case_anonymize(). + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Add some code to pretty print + the trees infix. + + * formed/formed/plugins/export/rules.py: New. Exporter for human + readable rules. + + * formed/formed/plugins/export/html.py: Fixed HTML generation. + + * formed/formed/config.py: Added new new Rule export plug-in. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Fixes from server. Raise + exceptions if there is less or more than one element on stack + after compilation of expression. + +2009-03-20 Sascha L. Teichmann + + * formed/formed/model/data.py: Removed debug output + + * formed/formed/plugins/modify/rules.py: Fixed error message. + Generate past and future rules. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Forget to call today with context. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/io/document.py: Fixed syntax typo. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/data.py: ConditionalNode inherits from Node directly. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/data.py: Added ConditionalNode + + * formed/formed/io/document.py: Make ConditionalNode loadable. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/plugins/modify/rules.py: Make the error descriptions + in date sequence rules more precise. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/plugins/modify/rules.py: generate date sequence rules. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: New tree based expression engine. + + * formed/formed/model/__init__.py, formed/formed/model/data.py: + Adjusted imports. + +2009-03-12 Torsten Irländer +2009-06-17 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: small optimization. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: Repaired unique filter for + nodecomponent names. + +2009-05-06 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Only create depending + repeat groups if no uuid is given. If a uuid is given then + the creation is triggered by an xml import. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: New SQL schema generator to + replace the old one. The new one faciliates the new RepeatNode instead + of the Group.isRepeat() method to tell if something is to be repeated. + + * formed/formed/config.py: Use new SQL schema generator plug-in by default. + The old one is deactivated. + + * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Added delete functions. + TODO: Adjust execution rights. + +2009-04-27 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems. + Add functions to create dataset. + +2009-04-24 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: new plug-in to generate + tree structure functions in database. + + * formed/formed/config.py: load plug-in. + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/data.py: Added 'digest' attribute to + RepeatNode. Removed needless methods + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: make 'equal' and 'not equal' + more readable with '=' and '<>'. + +2009-04-02 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: call anonymization + of uuid on anonymization of case. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in + case_anonymize(). + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Add some code to pretty print + the trees infix. + + * formed/formed/plugins/export/rules.py: New. Exporter for human + readable rules. + + * formed/formed/plugins/export/html.py: Fixed HTML generation. + + * formed/formed/config.py: Added new new Rule export plug-in. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Fixes from server. Raise + exceptions if there is less or more than one element on stack + after compilation of expression. + +2009-03-20 Sascha L. Teichmann + + * formed/formed/model/data.py: Removed debug output + + * formed/formed/plugins/modify/rules.py: Fixed error message. + Generate past and future rules. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Forget to call today with context. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/io/document.py: Fixed syntax typo. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/data.py: ConditionalNode inherits from Node directly. + +2009-03-16 Sascha L. Teichmann + + * formed/formed/model/data.py: Added ConditionalNode + + * formed/formed/io/document.py: Make ConditionalNode loadable. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/plugins/modify/rules.py: Make the error descriptions + in date sequence rules more precise. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/plugins/modify/rules.py: generate date sequence rules. + +2009-03-13 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: New tree based expression engine. + + * formed/formed/model/__init__.py, formed/formed/model/data.py: + Adjusted imports. + +2009-03-12 Torsten Irländer +2009-06-17 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: small optimization. + +2009-05-26 Sascha L. Teichmann + + * formed/formed/plugins/names/filter.py: Repaired unique filter for + nodecomponent names. + +2009-05-06 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Only create depending + repeat groups if no uuid is given. If a uuid is given then + the creation is triggered by an xml import. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/new_sql.py: New SQL schema generator to + replace the old one. The new one faciliates the new RepeatNode instead + of the Group.isRepeat() method to tell if something is to be repeated. + + * formed/formed/config.py: Use new SQL schema generator plug-in by default. + The old one is deactivated. + + * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups. + +2009-04-28 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Added delete functions. + TODO: Adjust execution rights. + +2009-04-27 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems. + Add functions to create dataset. + +2009-04-24 Sascha L. Teichmann + + * formed/formed/plugins/export/rg_sql.py: new plug-in to generate + tree structure functions in database. + + * formed/formed/config.py: load plug-in. + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/data.py: Added 'digest' attribute to + RepeatNode. Removed needless methods + +2009-04-16 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: make 'equal' and 'not equal' + more readable with '=' and '<>'. + +2009-04-02 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: call anonymization + of uuid on anonymization of case. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in + case_anonymize(). + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Add some code to pretty print + the trees infix. + + * formed/formed/plugins/export/rules.py: New. Exporter for human + readable rules. + + * formed/formed/plugins/export/html.py: Fixed HTML generation. + + * formed/formed/config.py: Added new new Rule export plug-in. + +2009-03-31 Sascha L. Teichmann + + * formed/formed/model/exprtree.py: Fixes from server. Raise + exceptions if there is less or more than one element on stack + after compilation of expression. + 2009-03-20 Sascha L. Teichmann * formed/formed/model/data.py: Removed debug output