/[formed]/trunk/ChangeLog
ViewVC logotype

Diff of /trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 225 by teichmann, Wed Feb 13 16:07:19 2008 UTC revision 425 by bh, Wed Nov 24 16:33:14 2010 UTC
# Line 1  Line 1 
1    2010-11-24  Bernhard Herzog  <[email protected]>
2    
3            * formed/formed/plugins/export/rules_sh.py: Fix formatting.
4    
5    2010-11-15  Torsten Irlaender <[email protected]>
6    
7            * formed/formed/model/data.py: Do not set attribute "repeat" for
8            Repeat-Groups.
9    
10    2010-11-10  Torsten Irlaender <[email protected]>
11    
12            * formed/formed/plugins/modify/rules.py: Fixed date sequence rule
13            checks for date in future.
14    
15    2010-11-08  Roland Geider <[email protected]>
16    
17            * formed/formed/plugins/export/xsd.py: validate formedtree.xml
18    
19    2010-11-08  Roland Geider <[email protected]>
20    
21            * formed/formed/model/data.py,
22              formed/formed/plugins/export/xsd.py,
23              formed/formed/config.py: issue1131: generate XSD for case exports
24    
25    2010-10-21  Torsten Irlaender <[email protected]>
26    
27            * formed/formed/plugins/export/rules_sh.py: Added new LE-Operator
28            * formed/formed/plugins/modify/rules.py: Add error rule to force phase
29              relevant datefields not to be "unknown".
30    
31    2010-10-12  Roland Geider <[email protected]>
32    
33            * formed/formed/plugins/export/rules_sh.py: Ignore rules if any fields
34              in the rule are in a repeat group
35    
36    2010-10-11  Roland Geider <[email protected]>
37    
38            * formed/plugins/export/rules_sh.py: Added support to more opperators
39              to be able to export the WASKO case
40    
41    2010-10-06  Torsten Irlaender <[email protected]>
42    
43            * formed/formed/plugins/export/rules_sh.py (generate_tagging): Fixed
44            gerating SQL for Rules
45            * formed/formed/plugins/export/rules_sh.py (sql_date): Fixed sql_date
46            function.
47    
48    2010-10-05  Torsten Irländer <[email protected]>
49    
50            * formed/formed/model/data.py: Fixed error when setting tag attribute.
51            * formed/formed/plugins/export/rules_sh.py: Added generating exporting
52              tagging-xml
53            * formed/formed/plugins/modify/rules.py: Do not generate automatic
54              tagids for rules.
55    
56    2010-10-04  Torsten Irländer <[email protected]>
57    
58            * formed/formed/model/data.py (RuleLeaf.__init__): Added new attribute
59            "tag" for rule-leafs
60            * formed/formed/config.py: Added export rules as XML to Menu
61            * formed/formed/plugins/modify/rules.py
62            (GenerateRequiredRules.generateDateSequenceRules): Generate automatic
63            tag ids for date-sequence rules
64    
65    2010-09-30  Torsten Irländer <[email protected]>
66    
67            * formed/formed/plugins/export/rules_sh.py
68            (ExportRulesAsSH.doExport): Filter out duplicted rules.
69    
70    2010-09-20  Frank Koormann   <[email protected]>
71    
72            * formed/formed/plugins/export/latex.py (RecursiveExporter):
73            Add "required"-field information to output and include
74            choice list contents.
75    
76    2010-09-16  Bernhard Herzog  <[email protected]>
77    
78            Avoid database deadlocks that can happen when database clients try
79            to work with the same case using two separate database
80            connections.  See mpuls/issue1145 for details.
81    
82            * formed/formed/plugins/export/rg_sql.py (SQL_TEMPLATE): Split the
83            computation of the new json structure description into the new
84            database function compute_case_structure
85            (TRIGGER_TMPL): Change the trigger functions to immediately update
86            the cached json structure description instead of just setting the
87            modified flag.  This avoids the lazy recomputation that makes what
88            seems like a read-only access (calling get_case_structure) into a
89            writing access (updates of the cache).  The writes lock the row in
90            the case_structure table which prevent other connections from
91            accessing the same case.  As part of this, the delete triggers are
92            now AFTER triggers because the repeat groups instance must have
93            been removed when the structure is recomputed.
94            (SUBSELECT_TMPL): Since the delete trigger is now an after
95            trigger, we need to change the way the master id is computed.  We
96            cannot join with the repeatgroup table in question because the row
97            has already been deleted.  However, we can use the master_id
98            column of the OLD row to select the row of the parent table.
99            (create_triggers): Avoid the inner joins with the current repeat
100            group for the above mentioned reasons.  In the very common case of
101            repeat groups which are direct children of the master_tbl, we can
102            compare the master_tbl.id directly with the row's master_id.
103    
104    2010-09-14 Roland Geider <[email protected]>
105    
106            * formed/formed/plugins/export/xsd.py: issue1131: update XSD for new
107              formedtree structure
108    
109    2010-09-01 Roland Geider <[email protected]>
110    
111            * formed/formed/plugins/modify/rules.py: issue1050: mandatory fields
112              appearing double.
113              The problem was that the way the formEditor handled fields with
114              manually created rules changed. Instead of ignoring fields (very
115              early behaviour) or always generating them (early behaviour), now the
116              formED will only ignore fields with rules which name starts with
117              'required-rule-manual'. This is helpful when the rules for mandatory
118              fields are more complex (e.g. mother's name is only required if
119              mother is known).
120    
121    2010-08-10  Torsten Irländer <[email protected]>
122    
123            * contrib/diff_formed.py: New helperscript to diff to given
124              formedtrees
125    
126    2010-08-09      Roland Geider <[email protected]>
127    
128            * formed/model/exprtree.py: fixed typo
129    
130    2010-08-04  Bernhard Herzog  <[email protected]>
131    
132            * formed/po/de_DE.po: Update translations
133    
134    2010-08-04  Bernhard Herzog  <[email protected]>
135    
136            * formed/po/formed.pot: Regenerated.
137    
138            * formed/po/de_DE.po: Update.
139    
140    2010-08-04  Bernhard Herzog  <[email protected]>
141    
142            * formed/po/Makefile: Use correct filename of the pot-file in the
143            usage message
144    
145    2010-08-04  Bernhard Herzog  <[email protected]>
146    
147            * formed/po/Makefile (LIST_POTFILES): Sort the file names to make
148            the order of entries in the .pot-file more predictable.
149    
150    2010-08-04  Bernhard Herzog  <[email protected]>
151    
152            * formed/formed/model/nodecomponents.py (RootNode.__init__)
153            (RootNode.getVersion, RootNode.setVersion): Add attribute
154            "version" and accessor methods.
155    
156            * formed/formed/main.py (MainFrame.OnSetDocumentVersion): New. Let
157            the user set the document version.
158            (MainFrame._createMenuBar): Add menu item for OnSetDocumentVersion
159    
160    2010-08-02  Bernhard Herzog  <[email protected]>
161    
162            * formed/formed.py, formed/formed/io/document.py,
163            formed/formed/io/factories.py, formed/formed/io/parser.py,
164            formed/formed/model/data.py, formed/formed/model/event.py,
165            formed/formed/model/expr.py, formed/formed/model/exprtree.py,
166            formed/formed/model/memory.py, formed/formed/model/misc.py,
167            formed/formed/model/nodecomponents.py,
168            formed/formed/model/persistent.py: Fix coding declaration to be
169            acceptable to both python and Emacs.
170    
171    2010-07-29  Torsten Irländer <[email protected]>
172    
173            * formed/formed/model/data.py: Added "invisible" attribute to
174            BoolLeafs. This can be used to hide options in choicelists. so the
175            user can not select the value in the user interface. But the db will
176            have this option so is ist still present in the db an can be used
177            * formed/formed/model/exprtree.py: Added "days" function.
178    
179    2010-07-26      Roland Geider <[email protected]>
180    
181            * formed/formed/model/nodecomponents.py,
182              formed/formed/plugins/modify/rules.py: generated date rules take
183              into consideration repeat groups
184    
185    2010-07-21  Torsten Irländer <[email protected]>
186    
187            Issue870
188    
189            * formed/formed/plugins/modify/rules.py (descriptions): Do not collect
190            all headers to the referenced fields. Only list labels of the error
191            fields, which should be distinct enough.
192    
193            Issue851
194    
195            * formed/formed/model/data.py
196              formed/formed/plugins/export/new_sql.py
197              formed/formed/plugins/web/view_renderer.py
198              formed/formed/io/document.py
199              formed/formed/config.py: Added Float-Field to Formed
200    
201    2010-06-11  Bernhard Herzog  <[email protected]>
202    
203            * formed/formed/plugins/export/rg_sql.py
204            (CREATE_DELETE_MASTER_TMPL): In create_master_tbl, call
205            create_master_ds to create the master tbl entry.  This way we can
206            add SQL code that's specific to an MPuls instance to
207            create_master_ds and still have create_master_tbl use that new
208            code.  This is useful for e.g. the JMD-Struktur part.
209    
210    2010-06-02      Roland Geider <[email protected]>
211    
212            * formed/formed/plugins/modify/rules.py: make the names of generated
213              date-sequence-rules unique
214    
215    2010-06-02      Roland Geider <[email protected]>
216    
217            * formed/plugins/export/xls.py: updated regular expression
218    
219    2010-05-17      Frank Koormann <[email protected]>
220    
221            * formed/formed/plugins/export/latex.py: Improved section labeling.
222    
223            * formed/formed/plugins/export/xls.py:
224              Export references (ie where are the lists used).
225    
226    2010-04-30  Torsten Irländer <[email protected]>
227    
228            * formed/formed/plugins/modify/rules.py (VariableType.substitute): Do
229            not generate "%"-rules for required fields in repeat-groups.
230    
231    2010-04-28      Roland Geider <[email protected]>
232    
233            * formed/plugins/export/xls.py: Radiogroups are exported
234            * formed/plugins/export/xsd.py: WASKA formedtree.xml validates XSD
235              JMD formedtree.xml validates XSD
236    
237    2010-04-08  Torsten Irländer <[email protected]>
238    
239            * formed/formed/plugins/modify/rules.py
240            (GenerateRequiredRules.generateDateSequenceRules): Add error mark to
241            rules. Generete each rule twice to be able to render errors at both
242            datefields.
243    
244    2010-04-07  Torsten Irländer <[email protected]>
245    
246            * formed/formed/plugins/export/rg_sql.py: Added "Revision"-Tag.
247    
248    2010-04-06  Torsten Irländer <[email protected]>
249    
250            * formed/formed/io/document.py (_toXML): Added comment with
251            "$Revision"-tag. This tag will/can then be substituted by the VCS.
252            * formed/formed/plugins/export/new_sql.py
253            (ExportAsSQLFilter.doExport): Added comment with
254            "$Revision"-tag. This tag will/can then be substituted by the VCS.
255            * formed/formed/model/exprtree.py: Added years operator.
256    
257    2010-03-30      Roland Geider <[email protected]>
258    
259            * formed/formed/plugins/export/latex.py: Added filter
260    
261    2010-03-25      Roland Geider <[email protected]>
262    
263            * formed/formed/plugins/export/xsd.py: Generate valid XML
264    
265    2010-02-11      Frank Koormann <[email protected]>
266    
267            * formed/formed/plugins/export/xls.py: Allow groups in choices.
268    
269    2009-12-02      Torsten Irländer <[email protected]>
270    
271            * formed/formed/plugins/export/typemap.py: do not ignore conditional
272              nodes on traversal.
273    
274    2009-11-17      Sascha L. Teichmann <[email protected]>
275    
276            * formed/formed/model/exprtree.py: Recognize '%' vars
277              in compilation. Does not eval it!
278    
279            * formed/formed/plugins/modify/rules.py: Generate '%' vars
280              for variables in repeat groups.
281    
282    2009-11-13      Sascha L. Teichmann <[email protected]>
283    
284            * formed/formed/plugins/export/typemap.py: Fixed to work
285            with new repeat group nodes.
286    
287    2009-10-28      Sascha L. Teichmann <[email protected]>
288    
289            * formed/formed/plugins/export/xsd.py,
290            formed/formed/plugins/export/sql.py,
291            formed/formed/plugins/export/new_sql.py: Allow groups in choices.
292    
293    2009-10-07      Frank Koormann <[email protected]>
294    
295            * formed/formed/plugins/export/latex.py:
296            Adjusted textprocessing to escape tex-active characters.
297    
298    2009-10-07      Sascha L. Teichmann <[email protected]>
299    
300            * formed/formed/plugins/export/html.py, formed/formed/plugins/export/latex.py,
301            formed/formed/plugins/export/html2.py: Adjusted to cope with
302            "semi-complete" implementation of logbook tree structure.
303    
304    2009-06-18      Torsten Irländer <[email protected]>
305    
306            * formed/formed/plugins/export/new_sql.py,
307              formed/formed/plugins/export/rg_sql.py: Fixed some sql errors, and
308              added permissions.
309    
310    2009-06-18      Torsten Irländer <[email protected]>
311    
312            * formed/formed/plugins/export/new_sql.py: Commented out generation of
313            page_views, as they do not work with rgroups.
314    
315    2009-06-17      Torsten Irländer <[email protected]>
316    
317            * formed/formed/plugins/export/new_sql.py: Fixed anonymize function
318            and rolenames.
319    
320    2009-06-17      Sascha L. Teichmann <[email protected]>
321    
322            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
323    
324    2009-05-26      Sascha L. Teichmann <[email protected]>
325    
326            * formed/formed/plugins/names/filter.py: small optimization.
327    
328    2009-05-26      Sascha L. Teichmann <[email protected]>
329    
330            * formed/formed/plugins/names/filter.py: Repaired unique filter for
331              nodecomponent names.
332    
333    2009-05-06      Sascha L. Teichmann <[email protected]>
334    
335            * formed/formed/plugins/export/rg_sql.py: Only create depending
336              repeat groups if no uuid is given. If a uuid is given then
337              the creation is triggered by an xml import.
338    
339    2009-04-28      Sascha L. Teichmann <[email protected]>
340    
341            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
342              replace the old one. The new one faciliates the new RepeatNode instead
343              of the Group.isRepeat() method to tell if something is to be repeated.
344    
345            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
346              The old one is deactivated.
347    
348            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
349    
350    2009-04-28      Sascha L. Teichmann <[email protected]>
351    
352            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
353              TODO: Adjust execution rights.
354    
355    2009-04-27      Sascha L. Teichmann <[email protected]>
356    
357            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
358              Add functions to create dataset.
359    
360    2009-04-24      Sascha L. Teichmann <[email protected]>
361    
362            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
363              tree structure functions in database.
364    
365            * formed/formed/config.py: load plug-in.
366    
367    2009-04-16      Sascha L. Teichmann <[email protected]>
368    
369            * formed/formed/model/data.py: Added 'digest' attribute to
370              RepeatNode. Removed needless methods
371    
372    2009-04-16      Sascha L. Teichmann <[email protected]>
373    
374            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
375              more readable with '=' and '<>'.
376    
377    2009-04-02      Sascha L. Teichmann <[email protected]>
378    
379            * formed/formed/plugins/export/sql.py: call anonymization
380              of uuid on anonymization of case.
381    
382    2009-03-31      Sascha L. Teichmann <[email protected]>
383    
384            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
385              case_anonymize().
386    
387    2009-03-31      Sascha L. Teichmann <[email protected]>
388    
389            * formed/formed/model/exprtree.py: Add some code to pretty print
390              the trees infix.
391    
392            * formed/formed/plugins/export/rules.py: New. Exporter for human
393              readable rules.
394    
395            * formed/formed/plugins/export/html.py: Fixed HTML generation.
396    
397            * formed/formed/config.py: Added new new Rule export plug-in.
398    
399    2009-03-31      Sascha L. Teichmann <[email protected]>
400    
401            * formed/formed/model/exprtree.py: Fixes from server. Raise
402              exceptions if there is less or more than one element on stack
403              after compilation of expression.
404    
405    2009-03-20      Sascha L. Teichmann <[email protected]>
406    
407            * formed/formed/model/data.py: Removed debug output
408    
409            * formed/formed/plugins/modify/rules.py: Fixed error message.
410              Generate past and future rules.
411    
412    2009-03-16      Sascha L. Teichmann <[email protected]>
413    
414            * formed/formed/model/exprtree.py: Forget to call today with context.
415    
416    2009-03-16      Sascha L. Teichmann <[email protected]>
417    
418            * formed/formed/io/document.py: Fixed syntax typo.
419    
420    2009-03-16      Sascha L. Teichmann <[email protected]>
421    
422            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
423    
424    2009-03-16      Sascha L. Teichmann <[email protected]>
425    
426            * formed/formed/model/data.py: Added ConditionalNode
427    
428            * formed/formed/io/document.py: Make ConditionalNode loadable.
429    
430    2009-03-13      Sascha L. Teichmann <[email protected]>
431    
432            * formed/formed/plugins/modify/rules.py: Make the error descriptions
433              in date sequence rules more precise.
434    
435    2009-03-13      Sascha L. Teichmann <[email protected]>
436    
437            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
438    
439    2009-03-13      Sascha L. Teichmann <[email protected]>
440    
441            * formed/formed/model/exprtree.py: New tree based expression engine.
442    
443            * formed/formed/model/__init__.py, formed/formed/model/data.py:
444              Adjusted imports.
445    
446    2009-03-12      Torsten Irländer <[email protected]>
447    2009-06-17      Sascha L. Teichmann <[email protected]>
448    
449            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
450    
451    2009-05-26      Sascha L. Teichmann <[email protected]>
452    
453            * formed/formed/plugins/names/filter.py: small optimization.
454    
455    2009-05-26      Sascha L. Teichmann <[email protected]>
456    
457            * formed/formed/plugins/names/filter.py: Repaired unique filter for
458              nodecomponent names.
459    
460    2009-05-06      Sascha L. Teichmann <[email protected]>
461    
462            * formed/formed/plugins/export/rg_sql.py: Only create depending
463              repeat groups if no uuid is given. If a uuid is given then
464              the creation is triggered by an xml import.
465    
466    2009-04-28      Sascha L. Teichmann <[email protected]>
467    
468            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
469              replace the old one. The new one faciliates the new RepeatNode instead
470              of the Group.isRepeat() method to tell if something is to be repeated.
471    
472            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
473              The old one is deactivated.
474    
475            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
476    
477    2009-04-28      Sascha L. Teichmann <[email protected]>
478    
479            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
480              TODO: Adjust execution rights.
481    
482    2009-04-27      Sascha L. Teichmann <[email protected]>
483    
484            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
485              Add functions to create dataset.
486    
487    2009-04-24      Sascha L. Teichmann <[email protected]>
488    
489            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
490              tree structure functions in database.
491    
492            * formed/formed/config.py: load plug-in.
493    
494    2009-04-16      Sascha L. Teichmann <[email protected]>
495    
496            * formed/formed/model/data.py: Added 'digest' attribute to
497              RepeatNode. Removed needless methods
498    
499    2009-04-16      Sascha L. Teichmann <[email protected]>
500    
501            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
502              more readable with '=' and '<>'.
503    
504    2009-04-02      Sascha L. Teichmann <[email protected]>
505    
506            * formed/formed/plugins/export/sql.py: call anonymization
507              of uuid on anonymization of case.
508    
509    2009-03-31      Sascha L. Teichmann <[email protected]>
510    
511            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
512              case_anonymize().
513    
514    2009-03-31      Sascha L. Teichmann <[email protected]>
515    
516            * formed/formed/model/exprtree.py: Add some code to pretty print
517              the trees infix.
518    
519            * formed/formed/plugins/export/rules.py: New. Exporter for human
520              readable rules.
521    
522            * formed/formed/plugins/export/html.py: Fixed HTML generation.
523    
524            * formed/formed/config.py: Added new new Rule export plug-in.
525    
526    2009-03-31      Sascha L. Teichmann <[email protected]>
527    
528            * formed/formed/model/exprtree.py: Fixes from server. Raise
529              exceptions if there is less or more than one element on stack
530              after compilation of expression.
531    
532    2009-03-20      Sascha L. Teichmann <[email protected]>
533    
534            * formed/formed/model/data.py: Removed debug output
535    
536            * formed/formed/plugins/modify/rules.py: Fixed error message.
537              Generate past and future rules.
538    
539    2009-03-16      Sascha L. Teichmann <[email protected]>
540    
541            * formed/formed/model/exprtree.py: Forget to call today with context.
542    
543    2009-03-16      Sascha L. Teichmann <[email protected]>
544    
545            * formed/formed/io/document.py: Fixed syntax typo.
546    
547    2009-03-16      Sascha L. Teichmann <[email protected]>
548    
549            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
550    
551    2009-03-16      Sascha L. Teichmann <[email protected]>
552    
553            * formed/formed/model/data.py: Added ConditionalNode
554    
555            * formed/formed/io/document.py: Make ConditionalNode loadable.
556    
557    2009-03-13      Sascha L. Teichmann <[email protected]>
558    
559            * formed/formed/plugins/modify/rules.py: Make the error descriptions
560              in date sequence rules more precise.
561    
562    2009-03-13      Sascha L. Teichmann <[email protected]>
563    
564            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
565    
566    2009-03-13      Sascha L. Teichmann <[email protected]>
567    
568            * formed/formed/model/exprtree.py: New tree based expression engine.
569    
570            * formed/formed/model/__init__.py, formed/formed/model/data.py:
571              Adjusted imports.
572    
573    2009-03-12      Torsten Irländer <[email protected]>
574    2009-06-17      Sascha L. Teichmann <[email protected]>
575    
576            * formed/formed/plugins/export/new_sql.py: s/-/_/ in relation names.
577    
578    2009-05-26      Sascha L. Teichmann <[email protected]>
579    
580            * formed/formed/plugins/names/filter.py: small optimization.
581    
582    2009-05-26      Sascha L. Teichmann <[email protected]>
583    
584            * formed/formed/plugins/names/filter.py: Repaired unique filter for
585              nodecomponent names.
586    
587    2009-05-06      Sascha L. Teichmann <[email protected]>
588    
589            * formed/formed/plugins/export/rg_sql.py: Only create depending
590              repeat groups if no uuid is given. If a uuid is given then
591              the creation is triggered by an xml import.
592    
593    2009-04-28      Sascha L. Teichmann <[email protected]>
594    
595            * formed/formed/plugins/export/new_sql.py: New SQL schema generator to
596              replace the old one. The new one faciliates the new RepeatNode instead
597              of the Group.isRepeat() method to tell if something is to be repeated.
598    
599            * formed/formed/config.py: Use new SQL schema generator plug-in by default.
600              The old one is deactivated.
601    
602            * formed/formed/plugins/export/rg_sql.py: Fix 'rg_' naming of repeat groups.
603    
604    2009-04-28      Sascha L. Teichmann <[email protected]>
605    
606            * formed/formed/plugins/export/rg_sql.py: Added delete functions.
607              TODO: Adjust execution rights.
608    
609    2009-04-27      Sascha L. Teichmann <[email protected]>
610    
611            * formed/formed/plugins/export/rg_sql.py: Fixed $$$$ -> $$ template problems.
612              Add functions to create dataset.
613    
614    2009-04-24      Sascha L. Teichmann <[email protected]>
615    
616            * formed/formed/plugins/export/rg_sql.py: new plug-in to generate
617              tree structure functions in database.
618    
619            * formed/formed/config.py: load plug-in.
620    
621    2009-04-16      Sascha L. Teichmann <[email protected]>
622    
623            * formed/formed/model/data.py: Added 'digest' attribute to
624              RepeatNode. Removed needless methods
625    
626    2009-04-16      Sascha L. Teichmann <[email protected]>
627    
628            * formed/formed/model/exprtree.py: make 'equal' and 'not equal'
629              more readable with '=' and '<>'.
630    
631    2009-04-02      Sascha L. Teichmann <[email protected]>
632    
633            * formed/formed/plugins/export/sql.py: call anonymization
634              of uuid on anonymization of case.
635    
636    2009-03-31      Sascha L. Teichmann <[email protected]>
637    
638            * formed/formed/plugins/export/sql.py: Set uuid_id to NULL in
639              case_anonymize().
640    
641    2009-03-31      Sascha L. Teichmann <[email protected]>
642    
643            * formed/formed/model/exprtree.py: Add some code to pretty print
644              the trees infix.
645    
646            * formed/formed/plugins/export/rules.py: New. Exporter for human
647              readable rules.
648    
649            * formed/formed/plugins/export/html.py: Fixed HTML generation.
650    
651            * formed/formed/config.py: Added new new Rule export plug-in.
652    
653    2009-03-31      Sascha L. Teichmann <[email protected]>
654    
655            * formed/formed/model/exprtree.py: Fixes from server. Raise
656              exceptions if there is less or more than one element on stack
657              after compilation of expression.
658    
659    2009-03-20      Sascha L. Teichmann <[email protected]>
660    
661            * formed/formed/model/data.py: Removed debug output
662    
663            * formed/formed/plugins/modify/rules.py: Fixed error message.
664              Generate past and future rules.
665    
666    2009-03-16      Sascha L. Teichmann <[email protected]>
667    
668            * formed/formed/model/exprtree.py: Forget to call today with context.
669    
670    2009-03-16      Sascha L. Teichmann <[email protected]>
671    
672            * formed/formed/io/document.py: Fixed syntax typo.
673    
674    2009-03-16      Sascha L. Teichmann <[email protected]>
675    
676            * formed/formed/model/data.py: ConditionalNode inherits from Node directly.
677    
678    2009-03-16      Sascha L. Teichmann <[email protected]>
679    
680            * formed/formed/model/data.py: Added ConditionalNode
681    
682            * formed/formed/io/document.py: Make ConditionalNode loadable.
683    
684    2009-03-13      Sascha L. Teichmann <[email protected]>
685    
686            * formed/formed/plugins/modify/rules.py: Make the error descriptions
687              in date sequence rules more precise.
688    
689    2009-03-13      Sascha L. Teichmann <[email protected]>
690    
691            * formed/formed/plugins/modify/rules.py: generate date sequence rules.
692    
693    2009-03-13      Sascha L. Teichmann <[email protected]>
694    
695            * formed/formed/model/exprtree.py: New tree based expression engine.
696    
697            * formed/formed/model/__init__.py, formed/formed/model/data.py:
698              Adjusted imports.
699    
700    2009-03-12      Torsten Irländer <[email protected]>
701    
702            Introduced new order attribute for date fields
703    
704            * formed/formed/model/data.py: Order fields can be used to define to
705            ordering of datefields withing the document. Needed for automatic
706            generation of consistency rules.
707    
708    2009-02-09      Sascha L. Teichmann <[email protected]>
709    
710            * formed/formed/model/data.py: Allow pages to be 'invisible'.
711    
712    2009-02-09      Sascha L. Teichmann <[email protected]>
713    
714            * formed/formed/plugins/export/sql.py: Fixed problem with
715              description reference tables of radio groups.
716    
717    2009-02-09      Sascha L. Teichmann <[email protected]>
718    
719            * formed/formed/plugins/export/sql.py: replace '-' in names
720              by '_'.
721              
722    2009-02-09      Sascha L. Teichmann <[email protected]>
723    
724            * formed/formed/plugins/export/sql.py: to figure ou which
725              tables are equal the insert statememnts are lower cased
726              and sorted before they are compared. This reduces the number
727              of generated referfence tables.
728    
729    2009-02-09      Sascha L. Teichmann <[email protected]>
730    
731            Repair SQL schema creation for radio groups.
732    
733            * formed/formed/plugins/export/sql.py: radio groups are handled
734              like choices now.
735    
736    2009-02-09      Sascha L. Teichmann <[email protected]>
737    
738            Make it startable again.
739    
740            * formed/formed/plugins/export/xls.py: Import pyExcelerator only
741              when plug-in is called.
742    
743            * formed/formed/model/nodecomponents.py: Event routing was messed up.
744              Rewired root node with document.
745    
746            * formed/formed/plugins/web/help.py: Removed old xml.ext import.
747              XXX: This breaks creating help by now!
748    
749            * formed/formed/io/parser.py: Replace old deprecated base class
750              by new one.
751    
752            * formed/formed/main.py: Do not crash if locale cannot be set.
753    
754            * formed/formed/ui/controls.py: Use document.getCase() instead
755              of document.case to prevent uninitialized dereferences.
756    
757    2009-01-22      Torsten Irländer <[email protected]>
758    
759            Implemented new XML-Format for formed xml files.
760    
761            * formed/formed/model/nodecomponents.py,
762              formed/formed/io/document.py,
763              formed/formed/main.py,
764              formed/formed/ui/controls.py: Introduced new "case" and "logbook"
765              node. Under case is the definition of the formular. logbook will
766              hold the defintion of logboog entrys. For now only the part under
767              "case" can be modified.  
768    
769    2009-01-21      Torsten Irländer <[email protected]>
770    
771            Changed way how XSD-Scheme is generated
772    
773            * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support
774              logbookentrys. The scheme definiton is now hardcoded in the
775              exporter as it will rarely change. It logbookpart will not be
776              generated from the formedtree anymore.
777    
778    2009-01-20      Torsten Irländer <[email protected]>
779    
780            Support Logbook entrys in xsd schema export
781    
782            * formed/formed/model/data.py: Repeatnode are now handeld as
783              repeatgroups in xsd-export
784            * formed/formed/plugins/export/xsd.py: Enhanced xsd schema to support
785              logbookentrys. The scheme will now validate against an xmlfile from
786              the offlineclient.
787    
788    2009-01-09      Torsten Irländer <[email protected]>
789    
790            Added new repeat node
791    
792            * formed/formed/model/data.py,
793              formed/formed/io/document.py: Added repeatnode to the formedtree.
794              TODO: Remove repeatgroup handling from the groupnode.
795    
796    2009-01-08      Torsten Irländer <[email protected]>
797    
798            Add isset operator to autogenerated rules.
799    
800            * formed/formed/plugins/modify/rules.py: Add issed operator to standard
801              autogenerated rules.
802    
803    2008-12-17      Frank Koormann <[email protected]>
804    
805            * formed/formed/plugins/export/latex.py: Export form as set of
806            latex tables to be included into a master document. The export
807            generates section marks to structure the form and placeholders for
808            help texts to be merged in by a post processing step.
809    
810    2008-12-04      Sascha L. Teichmann <[email protected]>
811    
812            * formed/formed/model/expr.py: Added 'today' which pushes the current date
813              on the stack.
814    
815    2008-12-03      Sascha L. Teichmann <[email protected]>
816    
817            * formed/formed/plugins/web/controllers.py: compute changeset more correctly in
818              storage of fields.
819    
820            * formed/formed/plugins/export/xsd.py: Added unknown int -999999 to integer
821              fields as an accepted value. Generate schema for radio groups too.
822    
823    2008-12-01      Torsten Irländer <[email protected]>
824    
825            Added autmatic generation of required rules
826    
827            * formed/formed/model/data.py,
828              formed/formed/model/expr.py,
829              formed/formed/plugins/modify/rules.py: Default rules for required
830              fields can now be generated.
831    
832    2008-11-28      Sascha L. Teichmann <[email protected]>
833    
834            * formed/formed/model/data.py, formed/formed/model/nodecomponents.py:
835              Ported WidgetCollector from Offline client.
836    
837            * formed/formed/plugins/modify/__init__.py, formed/formed/plugins/modify,
838              formed/formed/plugins/modify/rules.py: Stub for required rules generator.
839    
840            * formed/formed/config.py: Bind new filter to FormEd
841    
842    2008-11-27      Torsten Irländer <[email protected]>
843    
844            * formed/formed/model/data.py: Added new attribute mark for rules
845    
846    2008-11-10      Torsten Irländer <[email protected]>
847    
848            Implemented radio-matrix elements. radio elelement having the same
849            options can now be rendered in table form.
850    
851            * formed/formed/model/data.py,
852              formed/formed/io/document.py: Added new radio-matrix element to the
853              model and gui
854            * formed/formed/plugins/web/view_renderer.py: Write html-renderer for
855              the radio-matrix element.
856    
857    2008-11.03      Torsten Irländer <[email protected]>
858    
859            * formed/formed/model/data.py: Fixed import error
860    
861    2008-10-29      Sascha L. Teichmann <[email protected]>
862    
863            Relative paths in external choices are now possible. Relative paths are
864            relative to path of the master document.
865    
866            * formed/model/data.py: external choice are now storing the path to the
867              master document.
868    
869            * formed/formed/io/document.py: Pass context to SAX builder.
870    
871            * formed/formed/io/factories.py: For new created nodes look if there
872              is a method 'setLoadContext' and call it.
873    
874    2008-09-04      Sascha L. Teichmann <[email protected]>
875    
876            * doc/beschreibung.txt: New. Initial description of FormEd (german).
877    
878    2008-08-22      Sascha L. Teichmann <[email protected]>
879    
880            * formed/formed/model/nodecomponents.py: Added attribute 'flags'.
881    
882    2008-08-21      Sascha L. Teichmann <[email protected]>
883    
884            * formed/formed/io/document.py: Indent tree while saving
885            * formed/formed/main.py: removed needless print
886    
887    2008-08-15      Sascha L. Teichmann <[email protected]>
888    
889            * LICENSE: New GPLv3
890            * */*.py, *.sh: Added reference to LICENSE
891    
892    2008-08-15      Sascha L. Teichmann <[email protected]>
893    
894            * tools: removed because there a no tools any more.
895    
896    2008-08-15      Sascha L. Teichmann <[email protected]>
897    
898            * tools/formed: moved one level up because its the only
899              part of this project now.
900    
901    2008-08-15      Sascha L. Teichmann <[email protected]>
902    
903            * tools/anonym/*: Removed as it belongs to mpuls WASKA
904    
905    2008-08-15      Sascha L. Teichmann <[email protected]>
906    
907            * pdf2xfa/*: removed. It belongs to mpuls
908    
909    2008-08-13 L. Teichmann <[email protected]>
910    
911            i18n of the plug-ins:
912            * tools/formed/formed/plugins/export/diff.py,
913              tools/formed/formed/plugins/export/data.py,
914              tools/formed/formed/plugins/export/old_sql.py,
915              tools/formed/formed/plugins/export/latex.py,
916              tools/formed/formed/plugins/export/xsd.py,
917              tools/formed/formed/plugins/export/sql.py,
918              tools/formed/formed/plugins/export/typemap.py,
919              tools/formed/formed/plugins/export/html.py,
920              tools/formed/formed/plugins/export/mode.py,
921              tools/formed/formed/plugins/export/html2.py,
922              tools/formed/formed/plugins/export/xls.py,
923              tools/formed/formed/plugins/names/filter.py,
924              tools/formed/formed/plugins/plugin.py,
925              tools/formed/formed/plugins/web/help.py,
926              tools/formed/formed/plugins/web/form_renderer.py,
927              tools/formed/formed/plugins/web/plugin.py,
928              tools/formed/formed/plugins/web/error_renderer.py,
929              tools/formed/formed/plugins/web/view_renderer.py,
930              tools/formed/formed/plugins/web/semantic.py,
931              tools/formed/formed/plugins/web/cache.py,
932              tools/formed/formed/plugins/web/server.py,
933              tools/formed/formed/plugins/web/controllers.py,
934              tools/formed/formed/plugins/web/renderer.py,
935              tools/formed/formed/plugins/ui/controls.py,
936              tools/formed/formed/config.py: _("")s the stuff
937              tools/formed/po/formed.pot, tools/formed/po/de_DE.po:
938              extracted and translated.
939    
940    2008-08-08      Sascha L. Teichmann <[email protected]>
941    
942            First version of FormEd i18n. After checkout go to tools/formed/po/ and
943            say 'make mo'. Afterwards you can start FormEd as usual.
944    
945            * tools/formed/resources: New. Place to places ressources like *.mo files
946            * tools/formed/formed/main.py, tools/formed/formed/ui/controls.py: Add _("")s
947              
948            * tools/formed/po,
949              tools/formed/po/Makefile,
950              tools/formed/po/formed.pot,
951              tools/formed/po/de_DE.po: i18n stuff.
952    
953    2008-08-08      Sascha L. Teichmann <[email protected]>
954    
955            * tools/anonym/xmlexport.py: Only export cases which are not
956              'schwebend geloescht'.
957    
958    2008-07-23      Sascha L. Teichmann <[email protected]>
959    
960            Fixed issue472
961    
962            * tools/anonym/xmlimport.py: Regenerate dicts from current form ed tree.
963    
964    2008-07-17      Sascha L. Teichmann <[email protected]>
965    
966            * tools/anonym/xmlimport.py: removed marking of invalid cases
967            * tools/anonym/cron.importAnonXml.sh: re-inserted here.
968    
969    2008-07.07      Torsten Irländer <[email protected]>
970    
971            * tools/formed/formed/plugins/export/latex.py
972              tools/formed/formed/config.py: Added new LaTex Export. Beware this
973              is even more ugly the HTML Export.
974            * tools/formed/formed/plugins/export/html.py: Added information on
975              anonymisation to the html export.
976    
977    2008-07-07      Sascha L. Teichmann <[email protected]>
978    
979            * tools/anonym/xmlimport.py: Mark cases if they are inconsistent.
980    
981    2008-07-07      Sascha L. Teichmann <[email protected]>
982    
983            * tools/anonym/xmlimport.py: Updated to schema 1.5. (Which is incompatible to 1.4)
984    
985    2008-07-07      Sascha L. Teichmann <[email protected]>  
986            
987            * tools/formed/formed/plugins/export/html.py: Added additional column
988            to the html export with information how each field will get
989            anonymized.
990    
991    2008-07-07      Sascha L. Teichmann <[email protected]>  
992    
993            * tools/anonym/xmlimport.py: sync with productive version.
994    
995    2008-06-10      Torsten Irländer <[email protected]>
996    
997            * tools/formed/formed/plugins/export/sql.py: grant admin permission to
998              call anonymize function
999    
1000    2008-05-21      Sascha L. Teichmann <[email protected]>  
1001    
1002            * tools/formed/formed/plugins/export/xsd.py: Brought encoding
1003              back to UTF-8.
1004    
1005    2008-05-21      Frank Koormann <[email protected]>
1006    
1007            * tools/formed/formed/plugins/export/xls.py: New, export key value
1008            tables as excel workbook with one sheet per table.
1009    
1010            * tools/formed/formed/config.py: ExportKeyValueTableAsXLS added.
1011    
1012    2008-05-21      Frank Koormann <[email protected]>
1013    
1014            * tools/formed/formed/plugins/export/xsd.py
1015            (SchemaCreator._createChoice): Fix use of choices name.
1016    
1017    2008-04-29      Sascha L. Teichmann <[email protected]>
1018    
1019            * tools/formed/formed/plugins/export/xsd.py: Use substitution group
1020              to allow arbitrary order of repeat groups.
1021    
1022    2008-04-29      Sascha L. Teichmann <[email protected]>
1023    
1024            * tools/formed/formed/plugins/export/xsd.py: Removed a needless
1025              character.
1026    
1027    2008-04-29      Sascha L. Teichmann <[email protected]>
1028    
1029            * tools/formed/formed/plugins/export/xsd.py: Added annotations
1030              to fields.
1031    
1032    2008-04-29      Sascha L. Teichmann <[email protected]>
1033    
1034            * tools/formed/formed/plugins/export/xsd.py: Added for
1035              choice fields.
1036    
1037    2008-04-29      Sascha L. Teichmann <[email protected]>
1038    
1039            * tools/formed/formed/plugins/export/xsd.py: Added support for
1040              boolean fields based on enumerations.
1041    
1042    2008-04-28      Sascha L. Teichmann <[email protected]>
1043    
1044            * tools/formed/formed/plugins/export/xsd.py: Added support for
1045              date, text and textarea fields.
1046    
1047    2008-04-28      Sascha L. Teichmann <[email protected]>
1048    
1049            * tools/formed/formed/plugins/export/xsd.py: Added support for
1050              repeat groups and integer fields.
1051    
1052    2008-04-28      Sascha L. Teichmann <[email protected]>
1053    
1054            * tools/formed/formed/plugins/export/xsd.py: New. plug-in for
1055              exporting as XML schema. not ready, yet.
1056    
1057            * tools/formed/formed/config.py: Use new plug-in.
1058    
1059            * tools/formed/formed/plugins/export/sql.py: Fixed wrong GUI text.
1060    
1061    2008-04-17      Torsten Irländer <[email protected]>
1062    
1063            * tools/formed/formed/plugins/export/sql.py: Changed WHERE clause in
1064            for the views because of the new group permissions.
1065    
1066    2008-04-09      Sascha L. Teichmann <[email protected]>
1067    
1068            * tools/anonym/cron.deleteOldAnonymized.sh: New. cron job to delete
1069              old anonymized cases.
1070    
1071    2008-04-01      Sascha L. Teichmann <[email protected]>
1072    
1073            * tools/anonym/xmlexport.py: Removed "WHERE einverstaendniserklaerung = 1"
1074              from clause to select datasets.
1075              Replace ']]>' in CDATA sections with correct splitted replacement.
1076    
1077    2008-03-12      Sascha L. Teichmann <[email protected]>
1078            
1079            * tools/anonym/cron.importAnonXml.sh: Added absolut path to  xmlimport
1080              script.
1081    
1082            * tools/anonym/xmlimport.py: commented out database port from
1083              connectionstring.
1084    
1085    2008-03-12      Sascha L. Teichmann <[email protected]>
1086    
1087            * tools/formed/formed/plugins/export/sql.py: Fixed bug in generation
1088              of anonymization of repeat groups (wrong id was given).
1089    
1090    2008-03-11      Sascha L. Teichmann <[email protected]>
1091    
1092            * tools/formed/formed/plugins/export/sql.py: Generate no update
1093              statements for relations which have no anonym functions applied.
1094    
1095    2008-03-11      Sascha L. Teichmann <[email protected]>
1096    
1097            * tools/formed/formed/plugins/export/sql.py: Added a newline after
1098              'COMMIT;' in the last line.
1099    
1100    2008-03-11      Sascha L. Teichmann <[email protected]>
1101    
1102            * tools/formed/formed/plugins/export/sql.py: Fixed syntax of
1103              generated anonymize_case() function.
1104              
1105    2008-03-11      Sascha L. Teichmann <[email protected]>
1106    
1107            * tools/formed/formed/plugins/export/sql.py: Added code to
1108              generate a plpgsql function anonymize_case() that anonymized
1109              a given case and all of its depending repeat groups.
1110    
1111    2008-03-06      Sascha L. Teichmann <[email protected]>
1112    
1113            * tools/anonym/xmlimport.py: remove print of insert statement.
1114    
1115            * tools/formed/formed/plugins/export/sql.py: Print generation date in ISO.
1116    
1117    2008-03-03      Torsten Irländer <[email protected]>
1118    
1119            * anonym/cron.sendAnonXml.sh,
1120              anonym/getDbList.sh: Modified script to be used directly in the
1121              production environment (Copied running scripts from production
1122              server)
1123    
1124            * cron.importAnonXml.sh: Added deleting of ols cases. Modified script
1125              to be used in a production environment (Cpoied running script from
1126              production server)
1127    
1128            * tools/anonym/xmlexport.py: Added "WHERE" clause to SQL-Statement to
1129              ensure that only valid cases get exported
1130    
1131    2008-02-27      Sascha L. Teichmann <[email protected]>
1132    
1133            * tools/anonym/xmlimport.py: Fixed bug in date converter.
1134    
1135    2008-02-27      Sascha L. Teichmann <[email protected]>
1136    
1137            * tools/anonym/xmlimport.py: Simpilied version
1138    
1139    2008-02-27      Sascha L. Teichmann <[email protected]>
1140    
1141            * tools/anonym/cron.importAnonXml.sh: Add sudo call for
1142              xmlimport.py and parameters.
1143    
1144            * tools/anonym/xmlimport.py: Various bug fixes. Not working yet. :-/
1145    
1146            * tools/anonym/xmlexport.py: Use python interpreter without env
1147              because of sudo context.
1148    
1149    2008-02-26      Sascha L. Teichmann <[email protected]>
1150    
1151            * tools/anonym/xmlimport.py: added support for getopt. add
1152              support to force in fkz in import of case.
1153    
1154    2008-02-26      Sascha L. Teichmann <[email protected]>
1155    
1156            * tools/anonym/xmlimport.py: Implemented logic to create/update cases.
1157    
1158            * tools/anonym/html.awk: produces valid HTML.
1159    
1160    2008-02-25      Sascha L. Teichmann <[email protected]>
1161    
1162            * tools/anonym/joincsv.py: Fix a logic bug.
1163    
1164    2008-02-25      Torsten Irlaender <[email protected]>
1165    
1166            * tools/anonym/cron.importAnonXml.sh: Added shellscript for importing
1167              exportted cases. It will read all files from a directory and import
1168              the files into the DB. After that the script will cleanup the
1169              directory.
1170    
1171    2008-02-25      Torsten Irländer <[email protected]>
1172            
1173            * tools/anonym/cron.sendAnonXml.sh,
1174              tools/anonym/xmlexport.py,
1175              tools/anonym/getDbList.sh: Added shell-scripts for exporting cases
1176    
1177    2008-02-25      Sascha L. Teichmann <[email protected]>
1178    
1179            * tools/anonym/joincsv.py: Fixed typo which generated wrong number of cols.
1180    
1181    2008-02-25      Sascha L. Teichmann <[email protected]>
1182    
1183            * tools/anonym/joincsv.py: New. Joins CSV files.
1184    
1185            * tools/anonym/html.awk: New. Converts CSV to HTML
1186    
1187    2008-02-25      Sascha L. Teichmann <[email protected]>
1188    
1189            * tools/anonym/xmlimport.py: New. Added generation of
1190              update statements.
1191    
1192    2008-02-25      Sascha L. Teichmann <[email protected]>
1193    
1194            * tools/anonym/xmlimport.py: New. Base for importing
1195              XML from cron.
1196    
1197    2008-02-24      Sascha L. Teichmann <[email protected]>
1198    
1199            * tools/formed/formed/plugins/export/html2.py: New. plug-in
1200              for a simplified HTML output
1201    
1202            * tools/formed/formed/plugins/export/typemap.py: New. plug-in
1203              for dump schema as python dictionary.
1204    
1205            * tools/formed/formed/config.py: Enable new plug-ins. Out comment
1206              old stored procedure and view generators.
1207    
1208    2008-02-19      Sascha L. Teichmann <[email protected]>
1209    
1210            * tools/anonym/xmlexport.py: New. Export all cases in database
1211              as XML.
1212    
1213    2008-02-18      Sascha L. Teichmann <[email protected]>
1214    
1215            * tools/anonym/anoymncsv.py: separate field with '\t' now.
1216              all '\t's are replaced by '   ' before. '\r\n' are removed too.
1217    
1218    2008-02-15      Sascha L. Teichmann <[email protected]>
1219    
1220            * tools/anonym/anoymncsv.py: simple script to fetch anonymous
1221              data from database.
1222    
1223    2008-02-14      Sascha L. Teichmann <[email protected]>
1224    
1225            * tools/formed/formed/plugins/export/sql.py: Exchanged name
1226              erase_value with suppress_value/suppress_value2.
1227    
1228    2008-02-13      Sascha L. Teichmann <[email protected]>
1229    
1230            * tools/formed/formed/plugins/export/sql.py: output id, master_id
1231              substitute 'erase_value' with NULL value.
1232    
1233    2008-02-13      Sascha L. Teichmann <[email protected]>
1234    
1235            * tools/formed/formed/plugins/export/sql.py: output id, master_id
1236              and uuid_id in anonymiziation views too.
1237    
1238  2008-02-13      Sascha L. Teichmann <[email protected]>  2008-02-13      Sascha L. Teichmann <[email protected]>
1239    
1240          * tools/formed/formed/plugins/export/sql.py: Added generation          * tools/formed/formed/plugins/export/sql.py: Added generation

Legend:
Removed from v.225  
changed lines
  Added in v.425

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26