/[formed]/trunk/ChangeLog
ViewVC logotype

Contents of /trunk/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 231 - (show annotations)
Tue Feb 19 16:07:25 2008 UTC (17 years ago) by teichmann
File size: 66529 byte(s)
Added XML exporter for cases.

1 2008-02-19 Sascha L. Teichmann <[email protected]>
2
3 * tools/anonym/xmlexport.py: New. Export all cases in database
4 as XML.
5
6 2008-02-18 Sascha L. Teichmann <[email protected]>
7
8 * tools/anonym/anoymncsv.py: separate field with '\t' now.
9 all '\t's are replaced by ' ' before. '\r\n' are removed too.
10
11 2008-02-15 Sascha L. Teichmann <[email protected]>
12
13 * tools/anonym/anoymncsv.py: simple script to fetch anonymous
14 data from database.
15
16 2008-02-14 Sascha L. Teichmann <[email protected]>
17
18 * tools/formed/formed/plugins/export/sql.py: Exchanged name
19 erase_value with suppress_value/suppress_value2.
20
21 2008-02-13 Sascha L. Teichmann <[email protected]>
22
23 * tools/formed/formed/plugins/export/sql.py: output id, master_id
24 substitute 'erase_value' with NULL value.
25
26 2008-02-13 Sascha L. Teichmann <[email protected]>
27
28 * tools/formed/formed/plugins/export/sql.py: output id, master_id
29 and uuid_id in anonymiziation views too.
30
31 2008-02-13 Sascha L. Teichmann <[email protected]>
32
33 * tools/formed/formed/plugins/export/sql.py: Added generation
34 of anonymiziation views for master table views and repeat group
35 views.
36
37 2008-02-13 Sascha L. Teichmann <[email protected]>
38
39 * tools/formed/formed/model/nodecomponents.py: Added attribute
40 "function"
41
42 * tools/formed/formed/io/document.py: Save attributes in
43 alphabetical order.
44
45 2008-02-02 Sascha L. Teichmann <[email protected]>
46
47 * tools/formed/formed/plugins/export/sql.py: Added update rule
48 for master table and repeat groups views. Granted update right
49 to :cm_ka_group.
50
51 2008-02-01 Sascha L. Teichmann <[email protected]>
52
53 * tools/formed/formed/plugins/export/sql.py: Added a column 'uuid_id'
54 for master table and repeat groups. Also added unique constraints
55 to these columns.
56
57 2007-12-10 Sascha L. Teichmann <[email protected]>
58
59 * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Added a system
60 property 'root.element' to specify the name of the XML root.
61
62 * pdf2xfa/startup/pdf2xfa.sh, pdf2xfa/README.TXT: Adjusted.
63
64 2007-11-22 Sascha L. Teichmann <[email protected]>
65
66 * pdf2xfa/startup, */pdf2xfa.sh, */pdf2xfa.init: boot scripts
67 for GNU/Linux (tested Debian 'Etch' 4.0) by Sascha Wilde.
68
69 * pdf2xfa/README.TXT: Add a remark to new boot scripts.
70
71 2007-11-21 Sascha L. Teichmann <[email protected]>
72
73 * pdf2xfa/src/de/intevation/pdfimport/Log.java: New.
74 Sends logging to file.
75
76 * pdf2xfa/src/de/intevation/pdfimport/Server.java,
77 pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Adjusted
78 to use new logging.
79
80 * pdf2xfa/README.TXT: Added remark how to use logging.
81
82 2007-11-16 Frank Koormann <[email protected]>
83
84 * tools/formed/formed/plugins/export/sql.py (createSchema):
85 Append only column "bearbeiter_id", standins are modelled by a
86 separate table.
87
88 2007-11-16 Sascha L. Teichmann <[email protected]>
89
90 * tools/formed/formed/model/data.py,
91 tools/formed/formed/plugins/web/view_renderer.py:
92 Added an invisible flag for info fields.
93
94 2007-11-07 Sascha L. Teichmann <[email protected]>
95
96 * tools/formed/formed/model/nodecomponents.py: Fixed a few small bugs
97 (calling a wrong method).
98
99 2007-11-07 Sascha L. Teichmann <[email protected]>
100
101 * tools/formed/formed/model/nodecomponents.py: Added a field
102 'alternative' to all node components. This might be of help to
103 match PDF imports where the descriptions do not match.
104
105 2007-10-23 Frank Koormann <[email protected]>
106
107 * tools/formed/formed/plugins/export/sql.py: New WHERE-Clause for views
108
109 2007-10-23 Frank Koormann <[email protected]>
110
111 * tools/formed/formed/plugins/export/sql.py: Set default
112 value (-1) for choices and bools.
113
114 2007-10-21 Frank Koormann <[email protected]>
115
116 * tools/formed/formed/plugins/export/sql.py: Grant statements for
117 descriptive tables added.
118 (Table.getName): new
119
120 2007-10-21 Frank Koormann <[email protected]>
121
122 * tools/formed/formed/plugins/export/sql.py: "CREATE OR REPLACE"
123 statements for views and roles to make updates easier.
124 Add "admin_ka" membership as third option to VIEW_WHERE_CLAUSE.
125
126 2007-10-19 Frank Koormann <[email protected]>
127
128 * tools/formed/formed/plugins/export/sql.py: Added GRANT statements
129 for views. The statements are prepared for variable substitution
130 when executing the SQL-scripts by psql.
131
132 2007-10-18 Sascha L. Teichmann <[email protected]>
133
134 * pdf2xfa/src/de/intevation/pdfimport/ClientHandler.java: Fixed:
135 End of result XML was truncated because of an unflushed buffer.
136
137 2007-10-17 Sascha L. Teichmann <[email protected]>
138
139 * pdf2xfa/bin/build-jar.sh: New. Build production jar file.
140
141 * pdf2xfa/README.TXT: Adjusted how to build production jar file
142 and how to use it.
143
144 * pdf2xfa/etc, pdf2xfa/etc/manifest.txt: New. Defines main class
145 and iText dependency.
146
147 2007-10-16 Sascha L. Teichmann <[email protected]>
148
149 * tools/formed/formed/plugins/export/sql.py: Model 'Ja, Nein, Keine Angabe'
150 are not modeled as BOOLEANs any more. That simpifies the conversion
151 process web vs. db.
152
153 2007-10-07 Sascha L. Teichmann <[email protected]>
154
155 * tools/formed/formed/plugins/export/sql.py: Added the remaining
156 UPDATE rules.
157
158 2007-10-07 Sascha L. Teichmann <[email protected]>
159
160 * tools/formed/formed/plugins/export/sql.py: Added UPDATE rules for some
161 views. TODO: Test'em and implement the rest.
162
163 2007-10-07 Sascha L. Teichmann <[email protected]>
164
165 * tools/formed/formed/plugins/export/sql.py: Bug fix. DELETE and INSERT
166 rules referenced none existing views.
167
168 2007-10-07 Sascha L. Teichmann <[email protected]>
169
170 * tools/formed/formed/plugins/export/sql.py: Added DELETE and INSERT
171 rules for views. TODO: add UPDATE rules.
172
173 2007-10-07 Sascha L. Teichmann <[email protected]>
174
175 * tools/formed/formed/plugins/export/old_sql.py: New. Contains
176 the legacy SQL export filters.
177
178 * tools/formed/formed/plugins/export/sql.py: Factored out the
179 legacy SQL export filters to old_sql.
180
181 * tools/formed/formed/config.py: Adjusted to fetch legacy
182 filters from old_sql.
183
184 2007-10-06 Sascha L. Teichmann <[email protected]>
185
186 * pdf2xfa/**: Initial import of the PDF to XFA server.
187
188 2007-10-06 Sascha L. Teichmann <[email protected]>
189
190 * tools/formed/formed/plugins/export/sql.py: Fixed bug
191 that made choices of three elements to booleans if
192 they have other meanings than 'Ja', 'Nein', 'keine Angabe'.
193
194 2007-10-05 Sascha L. Teichmann <[email protected]>
195
196 * tools/formed/formed/plugins/export/sql.py: Select ids of
197 underlaying tables in views too.
198
199 2007-10-04 Sascha L. Teichmann <[email protected]>
200
201 * tools/formed/formed/plugins/export/sql.py: Create schema inside transaction.
202 Various bug fixes.
203
204 2007-10-04 Sascha L. Teichmann <[email protected]>
205
206 * tools/formed/formed/model/data.py: Added GroupNode.allWidgets()
207 to extract fields from embedded repeat groups.
208
209 * tools/formed/formed/plugins/export/sql.py: The SQL exporter exports
210 views per page too. Result not tested yet.
211
212 2007-10-01 Sascha L. Teichmann <[email protected]>
213
214 * tools/formed/formed/plugins/web/view_renderer.py: Ignore
215 in-page repeat groups while rendering pages.
216
217 2007-10-01 Sascha L. Teichmann <[email protected]>
218
219 * tools/formed/formed/model/nodecomponents.py: Added visitor
220 traversals for document trees.
221
222 * tools/formed/formed/model/data.py: Rewrote the
223 Page.allWidgets() method to use new visitor for
224 tree traversal.
225
226 2007-09-27 Torsten Irlaender <[email protected]>
227
228 * tools/formed/formed/plugins/names/filter.py: Pages are now included
229 in the rename by formular name algorithm
230
231 2007-09-26 Sascha L. Teichmann <[email protected]>
232
233 * tools/formed/formed/model/data.py: Removed old {next|prev}Page()
234 TODO: rewrite Page.allWidgets().
235
236 * tools/formed/formed/model/nodecomponents.py: Added a method
237 Node.firstLevel(criterion) to walk a defined line in the tree.
238
239 * tools/formed/formed/plugins/export/sql.py: Extract data suitable to
240 build views and respective joins.
241
242 2007-09-26 Sascha L. Teichmann <[email protected]>
243
244 * tools/formed/formed/plugins/web/plugin.py: add 'web.tidy:' flag to
245 FORMED environment variable. If set to true tidylib is used to
246 filter HTML content to be W3C valid. To use this feature install
247 uTidylib.
248
249 * tools/formed/formed/plugins/web/server.py: Check if MIME type is
250 text/html and filters content through tidy if requested.
251
252 2007-09-25 Torsten Irlaender <[email protected]>
253
254 * tools/formed/formed/plugins/web/view_renderer.py: Small fix and
255 cleanup of the form generation code.
256
257 2007-09-21 Sascha L. Teichmann <[email protected]>
258
259 * tools/formed/formed/plugins/export/sql.py: Added generation time
260 and DROP TABLE statements to schema export.
261
262 2007-09-20 Sascha L. Teichmann <[email protected]>
263
264 * tools/formed/formed/plugins/export/sql.py: The tables are generated
265 in correct topolocial order now.
266
267 2007-09-20 Sascha L. Teichmann <[email protected]>
268
269 * tools/formed/formed/plugins/export/mode.py: New. Filter to export
270 a document with items that are in given mode.
271
272 * tools/formed/formed/model/nodecomponents.py: Added methods to clone
273 trees depending on selected modes.
274
275 * tools/formed/formed/model/data.py, tools/formed/formed/model/expr.py:
276 Fixed clone issue with RuleNodes.
277
278 * tools/formed/formed/config.py: Use new plug-in.
279
280 2007-09-17 Sascha L. Teichmann <[email protected]>
281
282 * tools/formed/formed/plugins/web/view_renderer.py: Make the
283 view renderer a real view renderer. It takes a list of
284 items now and not only a single page.
285
286 * tools/formed/formed/plugins/web/renderer.py: Feed a list
287 of items to the view renderer.
288
289 2007-09-17 Torsten Irlaender <[email protected]>
290
291 * tools/formed/formed/plugins/web/view_renderer.py:
292 Small tweaks in rendering bools.
293 RadioNodes (with all its children) can now be placed in a container.
294 The radiobools will not get a surrounding <div> anymore.
295 I am not sure if the new way results in the wanted behaivor, but the
296 rendering results are much better now :)
297 Maybe we need a similar approach for checkboxes?
298 Rendering groups is still broken in some way.
299
300 2007-09-17 Sascha L. Teichmann <[email protected]>
301
302 * tools/formed/formed/plugins/web/view_renderer.py: Fixed
303 a few bugs: Do not render empty containers, do not
304 generate misplaced <br class="newline"> in choices.
305 Add a nameless container to catch the items that are
306 nor explicitly assigned to a target. Removed FormData.
307
308 * tools/formed/formed/plugins/web/renderer.py: Removed
309 a needless import
310
311 2007-09-17 Sascha L. Teichmann <[email protected]>
312
313 * tools/formed/formed/plugins/web/view_renderer.py: Implemented
314 usage of 'containers' and 'target' attributes.
315
316 * tools/formed/formed/plugins/web/controllers.py: Modified import.
317
318 * tools/formed/formed/plugins/web/renderer.py: Use
319 new ViewRenderer.
320
321 2007-09-17 Sascha L. Teichmann <[email protected]>
322
323 * tools/formed/formed/model/nodecomponents.py: Added attributes
324 'target' to NodeComponent and 'containers' to Node.
325
326 * tools/formed/formed/plugins/web/view_renderer.py: New. Aimed
327 to be a replacement for form_renderer. Not ready yet!
328
329 * ChangeLog: Fixed some indention glitches.
330
331 2007-09-13 Torsten Irlaender <[email protected]>
332
333 * tools/formed/formed/plugins/names/filter.py: Fixed bug in the
334 renaming algorithm.
335
336 2007-09-12 Torsten Irlaender <[email protected]>
337
338 * tools/formed/formed/plugins/web/form_renderer.py: Renamed header
339 from formular navigation to "Fallakte Inhalt"
340
341 2007-09-12 Torsten Irlaender <[email protected]>
342
343 * tools/formed/formed/plugins/ui/controls.py: Fixed bug that bad
344 values (dates) were not pretty printed.
345
346 * tools/formed/formed/plugins/web/form_renderer.py: Added errormsg to
347 label rendering for choicelists.
348
349 2007-09-12 Torsten Irlaender <[email protected]>
350
351 * tools/formed/formed/plugins/ui/controls.py: Fixed bug that
352 choicelist did not get selected when the value is set to "0"
353
354 2007-09-12 Torsten Irlaender <[email protected]>
355
356 * tools/formed/formed/plugins/web/form_renderer.py: Added
357 "getPrintableData" method, for the formdata Class which will return
358 the description rather than the value of element in the ID. This is
359 need for displaying the choises in a right way.
360
361 * tools/formed/formed/plugins/web/renderer.py: Changed string
362 "Fallnummer" into "Kundennummer" in the templates. Added
363 Kundennummer to the dataset digest output. Bound in the new
364 "getPrintableData" call for the digest.
365
366 2007-10-11 Sascha L. Teichmann <[email protected]>
367
368 * tools/formed/formed/plugins/export/data.py: The import/export
369 of data is now implemented with filters (the most consequent
370 way in terms of design of FormEd). The support of the 'persistent'
371 FORMED env-variable support has been removed.
372
373 * tools/formed/formed/plugins/ui/controls.py: Added a flag to the
374 filter file dialog to double as import dialog.
375
376 * tools/formed/formed/main.py: Removed the the FORMED-var support
377 for persistence.
378
379 * tools/formed/formed/config.py: Add the two new filters to the filters
380 list.
381
382 2007-10-11 Sascha L. Teichmann <[email protected]>
383
384 * tools/formed/formed/model/memory.py: Uses XML as persistence format now.
385 Removed pickle/unpickle stuff.
386
387 * tools/formed/formed/main.py: Uses the new XML persistence.
388
389 * tools/formed/formed/plugins/web/semantic.py: Fixed: choices were
390 not converted to int indices.
391
392 2007-09-11 Sascha L. Teichmann <[email protected]>
393
394 * tools/formed/formed/model/memory.py: Making MemoryDataStore persistent
395 with pickle/unpickle.
396
397 * tools/formed/formed/main.py: Added a env FORMED parameter 'persistent'.
398 Set to a file name it is tried to unpickle a MemoryDataStore from
399 that file. When exiting the program this file is used to store the
400 current MemoryDataStore state. The storing only works if you exit
401 the program through the Menu File->Exit.
402 usage: FORMED=persistent:test.db ./formed.sh
403
404 2007-09-11 Torsten Irlaender <[email protected]>
405
406 * tools/formed/formed/plugins/web/renderer.py: Changed Name of the
407 application on the welcome page from "Formed" to "WASKA"
408
409 2007-09-11 Torsten Irlaender <[email protected]>
410
411 * tools/formed/formed/plugins/web/plugin.py,
412 * tools/formed/formed/plugins/web/controllers.py,
413 * tools/formed/formed/plugins/web/renderer.py: Added InfoPageHandler.
414 The infopage provides information on all project participants.
415
416 2007-09-11 Sascha L. Teichmann <[email protected]>
417
418 * tools/formed/formed/plugins/web/controllers.py: Fix unicode conversion
419 issues with error messages (once again).
420
421 2007-09-11 Torsten Irlaender <[email protected]>
422
423 * tools/formed/formed/plugins/web/form_renderer.py,
424 * tools/formed/formed/plugins/web/renderer.py: Added alt tag for
425 icons in error and confirmation dialogs.
426
427 2007-09-11 Sascha L. Teichmann <[email protected]>
428
429 * tools/formed/formed/plugins/web/form_renderer.py: Fixed label
430 generation for ints, texts and textareas. Fixed h depths of infos.
431
432 2007-09-11 Sascha L. Teichmann <[email protected]>
433
434 * tools/formed/formed/plugins/web/form_renderer.py: Removed
435 debug output for help.
436
437 * tools/formed/formed/plugins/web/semantic.py: Added forgotten
438 check for bools.
439
440 * tools/formed/formed/plugins/web/controllers.py: Added correct
441 HTML output of data for bools.
442
443 2007-09-11 Torsten Irlaender <[email protected]>
444
445 * tools/formed/formed/plugins/web/form_renderer.py: Changed size of
446 textfields for int values. Changed Label for submitbuttons to
447 "Speichern"
448
449 * tools/formed/formed/plugins/web/plugin.py,
450 tools/formed/formed/plugins/web/controllers.py: Added new
451 NotImplementedHandler to show up a dummysite for not implemented
452 functions.
453
454 * tools/formed/formed/plugins/web/renderer.py: Added
455 NotImplementedRenderer. Various small fixes. Mostly renaming the
456 labels of some context menus. Error messages are now generated
457 dynamically depending on num errors. Formular navigation has now
458 colored indication for errors.
459
460 2007-09-11 Torsten Irlaender <[email protected]>
461
462 * tools/formed/formed/plugins/web/renderer.py: Implemented "LookAhead"
463 algorithm for the formular navigation to get rid of the problem
464 that some of the items within the navigation are not linked. Now
465 structural group elements are linked with the next page found in the
466 formular structure.
467
468 2007-09-10 Torsten Irlaender <[email protected]>
469 * tools/formed/formed/plugins/web/form_renderer.py: Changed order of
470 div and formtag.
471
472 * tools/formed/formed/plugins/web/controllers.py: Added DataSet action
473 menu in the conformation dialog when creating a new dataset.
474
475 * tools/formed/formed/plugins/web/renderer.py: Fixed error when
476 rendering the default welcome page. Changed rendering of the
477 overview and the digest table of the datasets. Added icon for
478 confirmation dialog, moved the icon in the <h1> tags.
479
480 2007-09-10 Torsten Irlaender <[email protected]>
481
482 * tools/formed/formed/plugins/web/form_renderer.py: Some html
483 generation cleanup. Added error icons to formelements
484
485 * tools/formed/formed/plugins/web/controllers.py: Fixed initialisation
486 of ErrorStatus. Fixed generated of the help tags in the formular
487
488 * tools/formed/formed/plugins/web/renderer.py: Added error icon for
489 pageerrors. An "!" now indicates errors on pages in the formular
490 navigation. Added new <div> "content" around confirmation dialogss.
491 Links in confimation dialogs are now rendered as buttons. Removed
492 old obsolete OverviewRenderer.
493
494 2007-09-10 Sascha L. Teichmann <[email protected]>
495
496 * tools/formed/formed/plugins/web/renderer.py: Highlight selected
497 page in page navigation.
498
499 2007-09-10 Torsten Irlaender <[email protected]>
500
501 * tools/formed/formed/plugins/web/controllers.py: Fixed issues on
502 displaying formdata when changing datasets. Loading the right
503 formdata was not handled in a correct way. Hope it is all fixed now.
504 Left some commented code because not all sideeffects of the changes
505 are tested yet.
506
507 * tools/formed/formed/plugins/web/renderer.py: DataSetDigestRenderer
508 now uses the correct data out of the formdata.
509
510 2007-09-10 Sascha L. Teichmann <[email protected]>
511
512 * tools/formed/formed/plugins/web/controllers.py: Pretty
513 print format data (dates e.g)
514
515 2007-09-10 Sascha L. Teichmann <[email protected]>
516
517 * tools/formed/formed/plugins/web/controllers.py: Modified
518 ErrorStats a bit to avoid mysterious extra error on page.
519 No clue why this works.
520
521 2007-09-10 Sascha L. Teichmann <[email protected]>
522
523 * tools/formed/formed/plugins/web/form_renderer.py: Fixed value
524 problem with radio groups, too.
525
526 2007-09-10 Torsten Irlaender <[email protected]>
527 * tools/formed/formed/plugins/web/controllers.py: Sessions are now
528 really removed when deleting a dataset.
529
530 2007-09-10 Torsten Irlaender <[email protected]>
531
532 * tools/formed/formed/plugins/web/controllers.py: Added new Class
533 ErrorStats which provides Information on remaining errors per page.
534
535 * tools/formed/formed/plugins/web/renderers.py: Finished movement of
536 the renderer methods from controllers.py to renderers.py.
537
538 * tools/formed/formed/plugins/web/plugin.py: Removed render_session
539 handlers
540
541 2007-09-10 Sascha L. Teichmann <[email protected]>
542
543 * tools/formed/formed/plugins/web/form_renderer.py: values for
544 choices are generated from the document tree now. This brings
545 the state storage of select boxes in HTML to live.
546
547 2007-09-09 Sascha L. Teichmann <[email protected]>
548
549 * tools/formed/formed/plugins/web/semantic.py: Fixed problems with
550 range checking of integers.
551
552 * tools/formed/formed/plugins/web/controllers.py: Added class
553 ErrorItem to track errors. They are stored in the session.
554
555 2007-09-09 Sascha L. Teichmann <[email protected]>
556
557 * tools/formed/formed/model/nodecomponents.py: Fixed returning
558 wrong index in Document.indexOfcomponentByClassAndName.
559
560 * tools/formed/formed/plugins/web/form_renderer.py: 'error' was
561 written 'errot' in renderer for textareas.
562
563 * tools/formed/formed/plugins/web/controllers.py: Some clean-ups.
564
565 2007-09-09 Sascha L. Teichmann <[email protected]>
566
567 * tools/formed/formed/plugins/web/help.py: Added a 'hasHelp'
568 method. Could be cheaper for some implementations of help.
569
570 * tools/formed/formed/plugins/web/form_renderer.py: Modified
571 FormData to have distinct getData(), getHelp() and getError()
572 methods. Various bug fixes.
573
574 * tools/formed/formed/plugins/web/controllers.py: Implements the
575 new FormData (trivial by now).
576
577 * tools/formed/formed/plugins/web/renderer.py: New FormData and
578 some bug fixes.
579
580 2007-09-09 Sascha L. Teichmann <[email protected]>
581
582 * tools/formed/formed/model/memory.py,
583 tools/formed/formed/model/persistent.py: Add a getValue() method
584 to dataset abstraction. This is a bit of a workaround to bring
585 global access across pages for rule checking to work.
586
587 * tools/formed/formed/model/data.py: Fixed: When setting a new expression
588 the compiled version was not stored in the RuleLeaf.
589
590 * tools/formed/formed/model/expr.py: shlex lexer does not like unicode.
591 convert the expression string to ascii for compilation.
592
593 * tools/formed/formed/plugins/web/semantic.py: Remove the 'box' because
594 valid data is stored to the dataset immediately now. Fixed a bug
595 with integer handler.
596
597 * tools/formed/formed/plugins/web/controllers.py: Removed the semantic 'box'
598 stuff. When a submit is done extract the rules from the tree document
599 that are effected by the modified variables and check them.
600
601 * tools/formed/formed/plugins/web/renderer.py: Fixed exception handling
602 when dealing with templates.
603
604 2007-09-07 Torsten Irlaender <[email protected]>
605 * tools/formed/formed/plugins/web/controllers.py,
606 tools/formed/formed/plugins/web/renderer.py: Moved more render
607 functions into renderer.py. New render classes are:
608 DataSetDigestRenderer, DataSetNavigationRenderer,
609 DataSetFormularRenderer, ConfirmationDialogRenderer
610
611 Note: The new methods are only called from selected handlers. Other
612 handlers call the renderes in the old way.
613
614 2007-09-07 Torsten Irlaender <[email protected]>
615 * tools/formed/formed/plugins/web/form_renderer.py: Renamed
616 renderer.py to form_renderer.py. This file will contain formular
617 specfic render methods in the future.
618 * tools/formed/formed/plugins/web/renderer.py: Added new renderer.py
619 which will contain general render methods.
620 * tools/formed/formed/plugins/web/controllers.py: Began to move all
621 rendering into renderer.py or form_renderer.py. This file will only
622 contain teh handlers in the future.
623
624 2007-09-07 Torsten Irlaender <[email protected]>
625 * tools/formed/formed/plugins/web/renderer.py,
626 tools/formed/formed/plugins/web/controller.py:
627 Renderes now get an instance of the formdata object to provide
628 access the data needed to render various infoboxes etc. Handler
629 instanciate the formdata.
630
631 2007-09-06 Torsten Irlaender <[email protected]>
632 * tools/formed/formed/plugins/web/renderer.py: Mainly tried to get the
633 getFormData interface to work. Added two small semantic fixes, but
634 did not manage to get it up. Need to exime this a little bit more
635 * tools/formed/formed/plugins/web/controllers.py: Put <div> tags
636 around the menus on the right side to be able to assign different
637 styles. Added dataset actions while editing a dataset.
638
639 2007-09-05 Torsten Irlaender <[email protected]>
640 * tools/formed/formed/model/memory.py: Fixed deleting datasets by
641 removing unwanted del method
642 * tools/formed/formed/plugins/web/controllers.py: Implemented
643 confiration dialogs for create, delete, and select aof datasets. Started to use
644 templates as well for larger information units like the dataset summary.
645
646 2007-09-05 Sascha L. Teichmann <[email protected]>
647
648 * tools/formed/formed/model/nodecomponents.py: Added a
649 method to document to find index of page.
650
651 * tools/formed/formed/plugins/web/semantic.py: Added getValue()
652 to fetch data from semantic box.
653
654 * tools/formed/formed/plugins/web/controllers.py: Added new
655 FormData implementation to support DB and semantic box.
656
657 2007-09-05 Sascha L. Teichmann <[email protected]>
658
659 * tools/formed/formed/plugins/web/renderer.py: escaped
660 error message.
661
662 * tools/formed/formed/plugins/web/controllers.py: Don't fetch
663 dataset from backend each time a page is up to edit.
664
665 2007-09-05 Sascha L. Teichmann <[email protected]>
666
667 * tools/formed/formed/plugins/web/renderer.py: SimplePageRenderer
668 returns "Page not found" if given page is None.
669
670 * tools/formed/formed/plugins/web/controllers.py: Added checks
671 to avoid crashing when ask for a non-existent page.
672
673 2007-09-05 Sascha L. Teichmann <[email protected]>
674
675 * tools/formed/formed/plugins/web/controllers.py: Some clean-ups.
676
677 2007-09-05 Sascha L. Teichmann <[email protected]>
678
679 * tools/formed/formed/plugins/web/plugin.py: Remove request handlers
680 and renderers.
681
682 * tools/formed/formed/plugins/web/controllers.py: New. Contains handlers
683 and renderers now. TODO: Move renderers to renderer.py
684
685 2007-09-05 Torsten Irlaender <[email protected]>
686
687 * tools/formed/formed/plugins/web/www/main.tmpl: Adopted web template
688 and bound in the the new added functions to create, edit, delete and
689 show formdata.
690
691 2007-09-05 Sascha L. Teichmann <[email protected]>
692
693 * tools/formed/formed/model/memory.py: Removed bisect and use a
694 simple linear scan for dataset lookup now.
695
696 * tools/formed/formed/plugins/web/plugin.py: Fixed various issues
697 of different sizes.
698
699 2007-09-05 Torsten Irlaender <[email protected]>
700
701 * tools/formed/formed/plugins/web/memory.py: Fixed getDataSetById
702 fuction
703
704 * tools/formed/formed/plugins/web/persistent.py: Added store() method
705 to the DataSet interface
706
707 * tools/formed/formed/plugins/web/renderer.py: Added handlers and
708 renderes for create, update, delete and show actions on formular data.
709
710 2007-09-04 Sascha L. Teichmann <[email protected]>
711
712 * tools/formed/formed/plugins/web/server.py: The mapping
713 to methods is now driven by regualar expressions and
714 a dictionary. Response objects are now able to send
715 error codes.
716
717 * tools/formed/formed/plugins/web/renderer.py: Fixed an issue
718 when help in Formdata is None. Moved text for help into
719 a top level '''...''' variable.
720
721 * tools/formed/test-data/simple.xml: Added test for help.
722
723 * tools/formed/formed/plugins/web/help.py: extra None check.
724
725 * tools/formed/formed/plugins/web/plugin.py: Uses the new
726 table driven mapping of reguest handling. TODO: split the
727 WebPlugIn.pageHandler() method further to smaller handlers.
728 Smaller clean ups and better exception handling.
729
730 * tools/formed/formed/plugins/web/cache.py: Report OSErrors
731 and do not catch them.
732
733 2007-09-04 Torsten Irlaender <[email protected]>
734
735 * tools/formed/formed/plugins/web/renderer.py,
736 * tools/formed/formed/plugins/web/plugin.py: Added Interface to
737 the HelpProvider and inserted help icons to the html output.
738 Added decorator for Formelemnts, so textfields, choices etc. are now
739 within a <div> tag.
740 Modified the error messages.
741
742 2007-09-04 Sascha L. Teichmann <[email protected]>
743
744 * tools/formed/formed/plugins/web/cache.py: New. Implements
745 the server-side caching more clean. Fixes a bug with
746 serving static content.
747
748 * tools/formed/formed/plugins/web/plugin.py: Use the new cache.
749
750 2007-09-04 Sascha L. Teichmann <[email protected]>
751
752 * tools/formed/formed/plugins/web/plugin.py: Set MIME type
753 to "application/xhtml+xml" when serving help texts.
754
755 2007-09-03 Sascha L. Teichmann <[email protected]>
756
757 * tools/formed/formed/plugins/export/diff.py: New. Exports
758 pairwise differences between all modes.
759
760 * tools/formed/formed/config.py: Use new export filter.
761
762 2007-09-03 Sascha L. Teichmann <[email protected]>
763
764 * tools/formed/formed/plugins/web/help.py: New. Parses an
765 XHTML document for id'ed divs and builds a help lookup.
766
767 * tools/formed/formed/plugins/web/www/help.tmpl: Template for
768 the help content frame.
769
770 * tools/formed/formed/plugins/web/www/help.xhtml: Some simple
771 help text index.
772
773 * tools/formed/formed/plugins/web/plugin.py: Serves the help
774 texts now.
775
776 2007-09-03 Torsten Irlaender <[email protected]>
777
778 * tools/formed/formed/plugins/web/plugin.py: Only visible group
779 elements will be rendered in the formular navigation.
780 Formular pages in the navigation now have their own css-style
781 attributes.
782
783 2007-09-03 Torsten Irlaender <[email protected]>
784
785 * tools/formed/formed/plugins/web/www/main.tmpl: Added div area for page
786 errors in template
787 * tools/formed/formed/plugins/web/plugin.py: Fixed undefined
788 pageerrors variable
789
790 2007-09-03 Frank Koormann <[email protected]>
791
792 * tools/formed/formed/plugins/export/html.py
793 (RecursiveExporter): Added annotation to export
794 (fillRow()): Renamed old fillNine to this more generic name.
795
796
797 2007-09-03 Sascha L. Teichmann <[email protected]>
798
799 * tools/formed/formed/plugins/web/renderer.py: Using the decorator
800 from model.misc now.
801
802 2007-09-03 Sascha L. Teichmann <[email protected]>
803
804 * tools/formed/formed/model/nodecomponents.py: Added an
805 'annotation' attribute to node components. This is to
806 enable FormEd document authors to add comments to groups
807 and fields.
808
809 2007-09-03 Frank Koormann <[email protected]>
810
811 * tools/formed/formed/model/nodecomponents.py
812 (NodeComponent.getParent): New method to get node components parent.
813
814 * tools/formed/formed/plugins/export/html.py: Export Choice option
815 as simple list instead of collection of bools.
816
817 2007-09-02 Sascha L. Teichmann <[email protected]>
818
819 * tools/formed/formed/model/persistent.py: Interfaces to abstract
820 from persistent storage details.
821
822 * tools/formed/formed/model/memory.py: In core implementation
823 of the persistent interfaces.
824
825 * tools/formed/formed/main.py: Holds a memory data store now.
826
827 2007-09-02 Sascha L. Teichmann <[email protected]>
828
829 * tools/formed/formed/plugins/export/sql.py,
830 tools/formed/formed/plugins/export/html.py: Fixed constructor chains
831 for FileDialogFilter sub classes.
832
833 2007-09-02 Sascha L. Teichmann <[email protected]>
834
835 * tools/formed/formed/model/misc.py: Checking the mode in recursive
836 tree traversals is a common task. To ease this a decorator function
837 checkMode in union with sub classing ModeChecker can be used.
838 To make it work simply subclass from ModeChecker and add the decorator
839 to the methods that need mode tracking. Before you start the recursion
840 call self.prepareDescent().
841
842 * tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme
843 now which replace the old. TODO: Make the web renderer use the new scheme
844 too.
845
846 2007-09-02 Sascha L. Teichmann <[email protected]>
847
848 * tools/formed/formed/plugins/export/sql.py: Removed needless import.
849
850 * tools/formed/formed/plugins/export/html.py: HTML table exporter
851 uses new FileDialogFilter base class too.
852
853 2007-09-02 Sascha L. Teichmann <[email protected]>
854
855 * tools/formed/formed/plugins/ui/*: New. All file exporters
856 need a file dialog. Till now each of them pulled up its
857 own. This was silly code replication. Now there is an abstract
858 base class 'FileDialogFilter' which implements the common
859 behavior. The file exporters should subclass it.
860
861 * tools/formed/formed/plugins/export/sql.py: Subclass the SQL
862 exporters from the new base class. TODO: Subclass the HTML
863 exporter too.
864
865 2007-08-31 Sascha L. Teichmann <[email protected]>
866
867 * tools/formed/formed/plugins/export/html.py: Make mode check
868 work (again).
869
870 2007-08-31 Torsten Irlaender <[email protected]>
871
872 * tools/formed/formed/plugins/export/html.py: Rendering of the HTML
873 exprt works now in a recursive way. This change was needed because
874 the structure of the formedtree has changed to be able to render
875 full hirachically document stuctures. (nested lists)
876 TODO: Fix modechecking
877
878 2007-08-31 Torsten Irlaender <[email protected]>
879
880 * tools/formed/formed/plugins/web/plugin.py: Navigation rendering works
881 now in recursive way. This change was needed because the structure
882 of the formedtree has changed to be able to render full hirachically
883 document stuctures. (nested lists)
884
885 2007-08-31 Sascha L. Teichmann <[email protected]>
886
887 * tools/formed/formed/model/nodecomponents.py: use discard()
888 instead of remove on sets.
889
890 * tools/formed/formed/plugins/export/sql.py: Added an
891 exporter for table views.
892
893 * tools/formed/formed/config.py: Added the new exporter
894 to the list of export filters.
895
896 2007-08-30 Sascha L. Teichmann <[email protected]>
897
898 * tools/formed/formed/model/data.py: Fixed a bug in
899 Page.allWidgets()
900
901 * tools/formed/formed/plugins/export/sql.py: Added an exporter
902 for stored procudeures.
903
904 * tools/formed/formed/config.py: Add the new SP exporter.
905
906 2007-08-29 Torsten Irlaender <[email protected]>
907
908 * tools/formed/formed/plugins/web/plugin.py,
909 tools/formed/formed/plugins/web/error_renderer.py: Added interface
910 to get the errors for a whole page in te formular. These errors can
911 now be displayed on the top of the formular.
912
913 2007-08-29 Torsten Irlaender <[email protected]>
914
915 * tools/formed/formed/plugins/web/renderer.py: Finished implementation
916 of the getFromData interface and prepared the rederer for generating
917 nice error messages
918
919 2007-08-28 Frank Koormann <[email protected]>
920
921 * tools/formed/formed/plugins/export/sql.py
922 (SchemaCreator.createSchema, SchemaCreator._createGroup):
923 Fixed typo in created DDS (PRIMRAY -> PRIMARY)
924
925 2007-08-28 Torsten Irlaender <[email protected]>
926
927 * tools/formed/formed/plugins/export/sql.py: Added small helper
928 function to generated valid quotes within the sql statements
929
930 2007-08-29 Sascha L. Teichmann <[email protected]>
931
932 * tools/formed/formed/plugins/export/sql.py: Added foreign keys
933 for repeat tables.
934
935 2007-08-29 Sascha L. Teichmann <[email protected]>
936
937 * tools/formed/formed/plugins/export/sql.py: When generating
938 an extra table check in a table of same content exists. In
939 this case reference the existing table.
940
941 2007-08-29 Sascha L. Teichmann <[email protected]>
942
943 * tools/formed/formed/plugins/export/sql.py: Rewritten to produce
944 _real_ SQL and respect repeat groups.
945
946 * tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat()
947
948 * tools/formed/formed/plugins/web/renderer.py: Use "".join([])
949 instead of expensive += string concat in some places.
950
951 2007-08-29 Sascha L. Teichmann <[email protected]>
952
953 * tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat()
954 to .isRepeat and return a bool. Fixed a bug in Page.allWidgets().
955
956 2007-08-28 Torsten Irlaender <[email protected]>
957
958 * tools/formed/plugins/web/renderer.py: Added Formdata interface.
959 * tools/formed/model/data.py: Implements Formadata interface to
960 textfields. Fieldset generated depends now on the "invisible"
961 attribute of the groupnode. Field-label generation slightly changed.
962 Added error indication to textfields
963
964 2007-08-28 Sascha L. Teichmann <[email protected]>
965
966 * tools/formed/formed/model/data.py,
967 tools/formed/formed/io/document.py: Removed support
968 of logical groups.
969
970 2007-08-28 Sascha L. Teichmann <[email protected]>
971
972 * tools/formed/formed/io/document.py: Avoid saving empty
973 attributes.
974
975 * tools/formed/test-data/simple.xml: Applied.
976
977 2007-08-28 Sascha L. Teichmann <[email protected]>
978
979 * tools/formed/formed/model/data.py: Added 'repeat' and
980 'invisible' attributes to group. TODO: remove logical group.
981
982 2007-08-27 Torsten Irlaender <[email protected]>
983
984 * tools/formed/plugins/web/plugin.py,
985 tools/formed/plugins/web/renderer.py: Started to include stylesheet
986 depending tags in the html generation.
987
988 2007-08-27 Sascha L. Teichmann <[email protected]>
989
990 * tools/formed/formed/model/data.py,
991 tools/formed/formed/io/document.py: Added a logical group.
992 It has an attribute 'repeat' to indicate that it might
993 be worthy an external table in DB schema.
994
995 2007-08-27 Sascha L. Teichmann <[email protected]>
996
997 * tools/formed/formed/plugins/web/plugin.py: Support
998 serving of static content.
999
1000 * tools/formed/formed/plugins/web/server.py: Removed
1001 old send code.
1002
1003 2007-08-27 Sascha L. Teichmann <[email protected]>
1004
1005 * tools/formed/formed/plugins/web/plugin.py: Use new
1006 Response object. Fix typo.
1007
1008 * tools/formed/formed/plugins/web/server.py: support
1009 response object to serve different MIME types.
1010
1011 2007-08-27 Sascha L. Teichmann <[email protected]>
1012
1013 * tools/formed/formed/plugins/web/plugin.py: Add web.path
1014 to FORMED environment variable to specify the
1015 root of the static content.
1016
1017 2007-08-26 Sascha L. Teichmann <[email protected]>
1018
1019 * tools/formed/formed/model/data.py,
1020 tools/formed/formed/model/nodecomponents.py: Fixed mode issues.
1021
1022 * tools/formed/formed/plugins/web/www,
1023 tools/formed/formed/plugins/web/www/main.tmpl: New. Contains
1024 a template for the HTML output.
1025
1026 * tools/formed/formed/plugins/web/plugin.py: Fixes several smaller
1027 mode issues. Introduces CSS support. Simplified the action
1028 handling.
1029
1030 * tools/formed/formed/plugins/web/renderer.py: Removed the
1031 nagivation code.
1032
1033 * tools/formed/formed/plugins/web/server.py: Added missing import.
1034
1035 2007-08-26 Sascha L. Teichmann <[email protected]>
1036
1037 * tools/formed/formed/model/data.py: Added missing broadcast
1038 parameter to setAttribute() of RuleLeaf.
1039
1040 * tools/formed/formed/plugins/web/plugin.py: Factorize
1041 HTTP server code out to separate module.
1042
1043 * tools/formed/formed/plugins/web/renderer.py: Removed
1044 needless -1 from pop()
1045
1046 * tools/formed/formed/plugins/web/server.py: New. Contains
1047 the HTTP server code now.
1048
1049 2007-08-26 Sascha L. Teichmann <[email protected]>
1050
1051 * tools/formed/test-data/simple.xml: Modified to contain a rule.
1052
1053 * tools/formed/formed/model/expr.py: Added. A simple RPN
1054 expression evaluator. To avoid the problem of eval()ing
1055 arbitrary python expressions I've decided to use a very
1056 basic and limited stack machine to support rule checking.
1057
1058 * tools/formed/formed/model/data.py: Added a RuleLeaf.
1059
1060 * tools/formed/formed/io/document.py: Added factories for rules.
1061
1062 * tools/formed/formed/model/nodecomponents.py: Add a method
1063 to find all items of a given type in document for a given
1064 mode. Usefull to find all rules in the tree.
1065
1066 * tools/formed/formed/ui/controls.py: Added a listener mechanism
1067 to attribute table to report exceptions when setting a value
1068 from GUI. Useful to report compilation errors when setting
1069 expr of rule leafs.
1070
1071 * tools/formed/formed/main.py: Added a method to track exceptions
1072 from the attribute table and pop up dialogs if they occur.
1073 Added a counter of rule modifications in tree. Useful if you
1074 want build cached data structures like rule sets and you want
1075 to know if they are still valid.
1076
1077 2007-08-24 Torsten Irlaender <[email protected]>
1078
1079 * tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint
1080 for checkbox values. (Syntax error).
1081
1082 * tools/formed/formed/plugins/names/filter.py: Fixes in formularname
1083 generation
1084
1085 2007-08-24 Torsten Irlaender <[email protected]>
1086
1087 * tools/formed/formed/plugins/names/filter.py: Separated Class for
1088 making the formularnames more database friendly. Added some more
1089 checks.
1090 * tools/formed/formed/plugins/export/sql.py: Make use of the fresh
1091 separated class, and some fixes in sql generation.
1092
1093 2007-08-24 Sascha L. Teichmann <[email protected]>
1094
1095 * tools/formed/formed/plugins/export/html.py: Print lengths
1096 of external choice list.
1097
1098 2007-08-24 Sascha L. Teichmann <[email protected]>
1099
1100 * tools/formed/formed/main.py: Little workaround for
1101 mode selection if someone adds an removes a mode.
1102
1103 2007-08-24 Sascha L. Teichmann <[email protected]>
1104
1105 * tools/formed/test-data/simple.xml: Better test case for
1106 mode depended leaf items.
1107
1108 * tools/formed/formed/model/nodecomponents.py: Added a method
1109 to calculate the effective mode of an item.
1110
1111 * tools/formed/formed/plugins/export/html.py: Use effective
1112 mode. TODO: the 'all' modus return false results sometimes.
1113 Cause: The modes are only cumulated over time. Removal is
1114 not done.
1115
1116 2007-08-24 Sascha L. Teichmann <[email protected]>
1117
1118 * tools/formed/formed/plugins/export/html.py: Dump the items
1119 of radio groups and choices too.
1120
1121 2007-08-24 Torsten Irlaender <[email protected]>
1122
1123 * tools/formed/formed/plugins/names/filter.py: Modified the renaming
1124 by formular names to make the naming more database friendly.
1125 Now only alphanumeric and underscore chars is allowed.
1126
1127 2007-08-24 Sascha L. Teichmann <[email protected]>
1128
1129 * tools/formed/formed/plugins/export/html.py: Tweaked
1130 HTML table exporter a bit to be on par with the XSLT
1131 script. TODO: Dump items in radio and choice groups.
1132
1133 2007-08-23 Sascha L. Teichmann <[email protected]>
1134
1135 * tools/formed/formed/plugins/names/filter.py: Removed
1136 HTML and SQL exporters.
1137
1138 * tools/formed/formed/plugins/export,
1139 tools/formed/formed/plugins/export/__init__.py,
1140 tools/formed/formed/plugins/export/sql.py,
1141 tools/formed/formed/plugins/export/html.py: New: Contain
1142 the HTML and the SQL exporters now.
1143
1144 * tools/formed/formed/config.py: Use exporters from different
1145 package now.
1146
1147 2007-08-23 Torsten Irlaender <[email protected]>
1148
1149 * tools/formed/formed/plugins/names/filter.py: Added an
1150 pseudo SQL export filters. TODO: Move HTML and SQL filter
1151 in a new file (formed/plugins/export/htmlexport.py and
1152 sqlexport.py?)
1153
1154 * tools/formed/formed/config.py: Install the new SQL filter.
1155
1156 2007-08-23 Sascha L. Teichmann <[email protected]>
1157
1158 * tools/formed/formed/model/nodecomponents.py: Added a depth()
1159 method to determine the depth of particular tree item.
1160
1161 * tools/formed/formed/plugins/names/filter.py: Added an
1162 HTML export filters. TODO: needs more work.
1163
1164 * tools/formed/formed/config.py: Install the new HTML filter.
1165
1166 2007-08-23 Torsten Irlaender <[email protected]>
1167
1168 * contrib/extract-xfa-fields_and_options.xsl: Added small xsl script
1169 to extract fields and options in the XFA Data in teh PDF. This
1170 script might me handy to indicate changes between the different
1171 formular versions.
1172
1173 2007-08-23 Sascha L. Teichmann <[email protected]>
1174
1175 * tools/formed/formed/main.py: Add an 'all' mode to
1176 select all modes. ;-)
1177
1178 2007-08-22 Sascha L. Teichmann <[email protected]>
1179
1180 * tools/formed/test-data/simple.xml,
1181 tools/formed/formed/model/data.py,
1182 tools/formed/formed/plugins/web/plugin.py,
1183 tools/formed/formed/plugins/web/renderer.py,
1184 tools/formed/formed/io/document.py,
1185 tools/formed/formed/main.py: Removed support for switch nodes.
1186 BEWARE: This breaks compatibility with older documents!
1187
1188 2007-08-22 Sascha L. Teichmann <[email protected]>
1189
1190 * tools/formed/formed/plugins/web/plugin.py: Uses the
1191 getSelectedMode() from main now.
1192
1193 * tools/formed/formed/main.py: selected mode is now hold
1194 in main.
1195
1196 * tools/formed/formed/config.py: removed selected mode from
1197 env configuration.
1198
1199 2007-08-22 Sascha L. Teichmann <[email protected]>
1200
1201 * tools/formed/formed/ui/controls.py: Attributes in GUI attribute
1202 table are now alphabetically sorted.
1203
1204 2007-08-22 Sascha L. Teichmann <[email protected]>
1205
1206 * tools/formed/formed/model/nodecomponents.py: Added code to
1207 establish the new 'modes' recursively.
1208
1209 * tools/formed/formed/plugins/plugin.py: Pass main instead
1210 of cfg on plug-in start-up.
1211
1212 * tools/formed/formed/plugins/web/plugin.py: Use the new
1213 'modes' attribute for rendering.
1214
1215 * tools/formed/formed/plugins/web/renderer.py: Use decorators
1216 to check the new modes.
1217
1218 * tools/formed/formed/main.py: Adjusted to new infrastructure.
1219
1220 2007-08-22 Sascha L. Teichmann <[email protected]>
1221
1222 * tools/formed/formed/model/nodecomponents.py: Added an
1223 attribute 'modes' to NodeComponents.
1224
1225 2007-08-22 Sascha L. Teichmann <[email protected]>
1226
1227 * tools/formed/formed/model/data.py: Small cosmetic cleanups
1228
1229 2007-08-21 Sascha L. Teichmann <[email protected]>
1230
1231 * tools/formed/formed/plugins/web/renderer.py: Another fix
1232 for the hidden field. Argh!
1233
1234 2007-08-21 Sascha L. Teichmann <[email protected]>
1235
1236 * tools/formed/formed/plugins/web/renderer.py: Fixed double
1237 generation of hidden page field.
1238
1239 2007-08-21 Sascha L. Teichmann <[email protected]>
1240
1241 * tools/formed/formed/plugins/web/semantic.py: Added semantic
1242 checks for radio groups.
1243
1244 2007-08-21 Sascha L. Teichmann <[email protected]>
1245
1246 * tools/formed/formed/plugins/web/semantic.py: Added semantic
1247 checks for choices.
1248
1249 2007-08-21 Frank Koormann <[email protected]>
1250
1251 * contrib/convert-formedtree2html.xsl: Display switch nodes as
1252 alternatives.
1253
1254 2007-08-21 Frank Koormann <[email protected]>
1255
1256 * contrib/convert-formedtree2html.xsl:
1257 Replace technical types with readable descriptions
1258
1259 2007-08-21 Sascha L. Teichmann <[email protected]>
1260
1261 * tools/formed/formed/plugins/web/plugin.py: Fix a few smaller
1262 issues. 'action' looks for all widgets on a page now, goes
1263 through all passed parameters, tries to match them with the
1264 widgets of the page and put them into the semantic box.
1265 Afterwards a list of untouched page parameters are left
1266 which will be deleted from the semantic box.
1267
1268 * tools/formed/formed/plugins/web/semantic.py: Simplified.
1269 The NodeComponent is passed as an argument now.
1270
1271 * tools/formed/formed/plugins/web/renderer.py: Generate a
1272 hidden field to store the name of the page.
1273
1274 2007-08-21 Sascha L. Teichmann <[email protected]>
1275
1276 * tools/formed/formed/plugins/web/plugin.py: Fixed an encoding
1277 issue with incoming UTF-8 data.
1278
1279 2007-08-21 Sascha L. Teichmann <[email protected]>
1280
1281 * tools/formed/test-data/simple.xml: Improve test for widgets
1282 in switches.
1283
1284 * tools/formed/formed/model/data.py: Added a method to find all
1285 widgets in a given page. Fixed a bug when walking in switch
1286 with a given mode.
1287
1288 * tools/formed/formed/plugins/web/plugin.py: Simple test for
1289 listing all widgets in page.
1290
1291 2007-08-21 Torsten Irlaender <[email protected]>
1292
1293 * tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to
1294 latin-1
1295
1296 2007-08-21 Sascha L. Teichmann <[email protected]>
1297
1298 * tools/formed/formed/model/data.py: Added mode parameter to
1299 walk.
1300
1301 * tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites
1302 walk() with usage of the new mode parameter. Added a method to
1303 give children in a given mode.
1304
1305 * tools/formed/formed/plugins/web/renderer.py: Simplified to use
1306 new Switch.childrenInMode() method.
1307
1308 2007-08-21 Sascha L. Teichmann <[email protected]>
1309
1310 * tools/formed/formed/plugins/web/semantic.py: Add checks for
1311 texts and text areas.
1312
1313 * tools/formed/formed/plugins/web/renderer.py: Set accept-charset
1314 to UTF-8 in generated form.
1315
1316 2007-08-20 Sascha L. Teichmann <[email protected]>
1317
1318 * tools/formed/formed/plugins/web/semantic.py: Added semantic
1319 tests for dates.
1320
1321 2007-08-20 Sascha L. Teichmann <[email protected]>
1322
1323 * tools/formed/test-data/simple.xml: Tweak a bit for integer
1324 range test.
1325
1326 * tools/formed/formed/model/nodecomponents.py: Added a method
1327 to find a tree item for a given name.
1328
1329 * tools/formed/formed/plugins/web/semantic.py: New: Box for
1330 semantic checking. Has check for integers.
1331
1332 * tools/formed/formed/plugins/web/plugin.py: Use semantic
1333 check.
1334
1335 2007-08-20 Torsten Irlaender <[email protected]>
1336
1337 * tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in
1338 selection-field generation (Removed quote)
1339
1340 2007-08-18 Sascha L. Teichmann <[email protected]>
1341
1342 * tools/formed/formed/plugins/web/plugin.py,
1343 tools/formed/formed/plugins/web/renderer.py: Added a
1344 simple cookie based session management to the HTML
1345 renderer. This submit parameters are stored in the
1346 session now. This will ease testing the constraint
1347 tests which need to be written soon.
1348
1349 BEWARE: The session management is _not_ made for production!
1350 Denial of service attacks are too easy, and the
1351 cryptographical strength of the session id is doubtful.
1352
1353 2007-08-18 Sascha L. Teichmann <[email protected]>
1354
1355 * tools/formed/formed/plugins/web/renderer.py: Escaping text
1356 coming from the document tree now when inserting it into the
1357 HTML output.
1358
1359 2007-08-18 Sascha L. Teichmann <[email protected]>
1360
1361 * tools/formed/formed/plugins/plugin.py: Added a new kind
1362 of plug-in: Filter. They have a short and a long description
1363 and can be hooked automatically into the new 'Filters'
1364 sub menu under 'Extra'. They got called when the user
1365 selects their respective menu item.
1366
1367 * tools/formed/formed/config.py: Contains the list of
1368 installed filters.
1369
1370 * tools/formed/formed/main.py: Builds the Extra->Filters
1371 sub menu during gui initialization. The hard wired code
1372 for make unique and formular name/description -> name
1373 is removed because they are implemented as filters now.
1374
1375 * tools/formed/formed/model/nodecomponents.py,
1376 tools/formed/formed/model/data.py: Removed the make
1377 unique and formular name/description -> name code.
1378
1379 * tools/formed/formed/plugins/names,
1380 tools/formed/formed/plugins/names/__init__.py,
1381 tools/formed/formed/plugins/names/filter.py: Added. Contains
1382 the make unique and formular name/description -> name code
1383 in form of filters.
1384
1385 * tools/formed/test-data/simple.xml: Modified to be a better
1386 test for the formular name/description -> name filter.
1387
1388 2007-08-18 Sascha L. Teichmann <[email protected]>
1389
1390 * tools/formed/formed.py, tools/formed/formed/main.py: First
1391 command line argument is interpreted as filename of document
1392 to be loaded at program startup.
1393
1394 2007-08-17 Frank Koormann <[email protected]>
1395
1396 * contrib/convert-formedtree2html.xsl:
1397 Heading level depending on depth of group node.
1398 In case of radio/choice/check only list of options.
1399
1400 2007-08-17 Torsten Irlaender <[email protected]>
1401
1402 * contrib/convert-formedtree2html.xsl: Output is now generated with
1403 HTML doc-string and charset information in the meta-header.
1404
1405 2007-08-17 Torsten Irlaender <[email protected]>
1406
1407 * contrib/convert-formedtree2html.xsl: Added small script for
1408 exporting the formed tree to html
1409
1410 2007-08-17 Torsten Irlaender <[email protected]>
1411
1412 * tools/formed/model/nodecomponents.py: Added function to rename
1413 the set the name of the node to the formularname. The formularname
1414 gets shorten to <=64 by removing vowels and is stored lowercase.
1415 If the name is not unique and additional id value is appended.
1416
1417 * tools/formed/formed/model/data.py: Overwritten renaming-function for
1418 bool-leafs
1419
1420 * tools/formed/formed/main.py: Added menuitem for renaming the names
1421 of the element
1422
1423 2007-08-16 Sascha L. Teichmann <[email protected]>
1424
1425 * tools/formed/formed/main.py: Swaped order of
1426 'Make names unique' and 'Selected mode...' in Extra
1427 menu and put a separator between them.
1428
1429 2007-08-15 Sascha L. Teichmann <[email protected]>
1430
1431 * tools/formed/formed/model/data.py: SwitchNodes can add
1432 their modes to a given set now.
1433
1434 * tools/formed/formed/plugins/plugin.py: Simplified
1435 the plug-in interface. Only the reference to the
1436 global configuration is passed at setup time.
1437
1438 * tools/formed/formed/plugins/web/plugin.py: Adjusted
1439 to new plug-in setup. The traveral mode is now taken
1440 from the global configuration each time a rendering
1441 is triggered. The FORMED parameter is now named
1442 'doc.mode' instead of 'web.mode'. The parameter
1443 is not needed any more because it can be configured
1444 at runtime.
1445
1446 * tools/formed/formed/main.py: Adjusted to new plugin
1447 setup. Added a new menu item Extra->Select Mode...
1448 to select the traversal mode. It is stored in the
1449 global config.
1450
1451 * tools/formed/formed/config.py: Simplified. Only uses
1452 one env dictionary to store global configuration parameters.
1453
1454 * tools/formed/formed/ui/controls.py: Add a control to
1455 select one item from a list of given strings.
1456
1457 2007-08-15 Sascha L. Teichmann <[email protected]>
1458
1459 * tools/formed/formed/plugins/web/plugin.py,
1460 tools/formed/formed/plugins/web/renderer.py: Added parameter
1461 print out in web plugin.
1462
1463 2007-08-15 Torsten Irlaender <[email protected]>
1464
1465 * contrib/convert-formedtree2csv.xsl: Added small script for
1466 exporting the formed tree to csv
1467
1468 2007-08-14 Sascha L. Teichmann <[email protected]>
1469
1470 * tools/formed/formed/model/data.py,
1471 tools/formed/formed/model/nodecomponents.py,
1472 tools/formed/formed/io/document.py: Added a 'switch' node.
1473
1474 * tools/formed/formed/plugins/web/renderer.py:Render the
1475 new 'switch' node.
1476
1477 * tools/formed/formed/plugins/web/plugin.py,
1478 tools/formed/formed/config.py: Added a 'web.mode' parameter
1479 to FORMED environment variable.
1480 e.g. 'FORMED=web.mode:modeX' sets the mode 'modeX'.
1481 Defaults to 'default'.
1482
1483 * tools/formed/test-data/simple.xml: Added test for switch.
1484
1485 2007-08-14 Sascha L. Teichmann <[email protected]>
1486
1487 * tools/formed/formed/model/nodecomponents.py: Added an
1488 attribute 'formularname' to base class of node components.
1489
1490 2007-08-13 Sascha L. Teichmann <[email protected]>
1491
1492 * tools/formed/formed/io/document.py,
1493 tools/formed/formed/model/data.py,
1494 tools/formed/formed/model/nodecomponents.py: Added an item
1495 to model external item lists.
1496
1497 * tools/formed/formed/plugins/web/renderer.py: Render new item
1498 list.
1499 * tools/formed/formed/main.py: Added a forgotten 'self.'
1500
1501 * contrib/extract-xfa-items.sh: Modified to generate
1502 documents to be loadable from new item lists
1503
1504 2007-08-13 Sascha L. Teichmann <[email protected]>
1505
1506 * tools/formed/formed/main.py: Fixed typo
1507
1508 2007-08-13 Sascha L. Teichmann <[email protected]>
1509
1510 * contrib/extract-xfa-items.sh: New. Can be used to extract longer
1511 choice item lists for a given field from XFA files. e.g. with
1512 './contrib/extract-xfa-items.sh Muttersprache alles.xml'
1513
1514 2007-08-12 Sascha L. Teichmann <[email protected]>
1515
1516 * tools/formed/formed/model/data.py,
1517 tools/formed/formed/plugins/web/renderer.py,
1518 tools/formed/formed/io/document.py: Changed the structure
1519 of choice constructs. The idea to hold the different items
1520 of a particular choice in a semicolon separated list was bad.
1521 Now choices are groups and the option items are modelled as
1522 embedded bools. (mainly Torsten Irländer's idea).
1523
1524 WARNING: this makes old document files containing choices incompatible!!!
1525 Use the following XSLT to reestablish compatibility.
1526
1527 * contrib/itemize-choices.xsl: New converts old to new structure.
1528 Needs exslt.org's string extensions (which xsltproc includes)
1529
1530 * tools/formed/test-data/simple.xml: Ajusted to new structure
1531
1532 * tools/formed/formed/plugins/web/plugin.py: remove debug output
1533
1534 * tools/formed/formed/model/nodecomponents.py: fixed a small bug in
1535 node finding code. It now uses the walk() generator, too.
1536
1537 2007-08-12 Sascha L. Teichmann <[email protected]>
1538
1539 * tools/formed/formed/main.py: Added a clone item on the toolbar which
1540 copies the currently selected item and appends it after the selection.
1541
1542 * tools/formed/formed/model/nodecomponents.py: Added code to clone parts
1543 of the tree.
1544
1545 * tools/formed/formed/ui/controls.py: Added a getSelected method.
1546
1547 * tools/formed/formed/model/misc.py: Fixed a programming bug.
1548 forgot a 'self.' prefix.
1549
1550 2007-08-12 Sascha L. Teichmann <[email protected]>
1551
1552 * tools/formed/formed/model/nodecomponents.py: Added a method to append
1553 a second document to the current.
1554
1555 * tools/formed/formed/main.py: Added an 'Import' file menu item to load
1556 a second document to be appended to the current.
1557
1558 2007-08-12 Sascha L. Teichmann <[email protected]>
1559
1560 * tools/formed/formed/main.py: Added a 'New' item in file menu which creates
1561 a new document when triggered.
1562
1563 2007-08-12 Sascha L. Teichmann <[email protected]>
1564
1565 * tools/formed/formed/model/nodecomponents.py: Added walk generator over all
1566 items in the document tree. Added a method to eliminated duplicated names
1567 in document tree.
1568
1569 * tools/formed/formed/model/misc.py: Added update mechanism for id generator
1570 after names collisions are eliminated.
1571
1572 * tools/formed/formed/main.py: Added an 'Extra' menu with item
1573 'Make names unique'.
1574
1575 2007-08-11 Sascha L. Teichmann <[email protected]>
1576
1577 * tools/formed/formed/model/data.py,
1578 tools/formed/formed/plugins/web/renderer.py: Removed support
1579 for 'text' attributes in bool items. They were never really
1580 used and the 'description' attributes fulfill the same
1581 purpose.
1582
1583 * contrib/remove-bool-text.xsl: Transform to remove the
1584 'text' attributes from bool items. Apply with:
1585 'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml'
1586
1587 * tools/formed/test-data/simple.xml: Removed 'text' attributes
1588 from bool items.
1589
1590 2007-08-11 Sascha L. Teichmann <[email protected]>
1591
1592 * contrib/convert-choices.xsl: Simpified.
1593
1594 2007-08-11 Sascha L. Teichmann <[email protected]>
1595
1596 * tools/formed/formed/model/data.py: Removed 'options' attribute
1597 from ChoiceLeaf. Use 'value' instead, please!
1598
1599 * tools/formed/formed/plugins/web/renderer.py: use 'value' attribute
1600 instead of 'options' to render choices.
1601
1602 * contrib/convert-choices.xsl: Added to convert document files
1603 which use the choice 'option' attribute to usage of 'value'.
1604 Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml'
1605
1606 2007-08-10 Sascha L. Teichmann <[email protected]>
1607
1608 * tools/formed/formed/plugins/web/renderer.py: radio buttons
1609 are selected by 'checked' and not by 'selected'. Fixed.
1610
1611 2007-08-10 Sascha L. Teichmann <[email protected]>
1612
1613 * tools/formed/formed/model/data.py: ChoiceLeafs are now
1614 initialized with size = 1.
1615
1616 2007-08-10 Sascha L. Teichmann <[email protected]>
1617
1618 * tools/formed/formed/model/data.py: TextLeafs are now
1619 initialized with size = 40, maxlength = 60
1620
1621 2007-08-10 Sascha L. Teichmann <[email protected]>
1622
1623 * tools/formed/formed/plugins/web/renderer.py: Fixed: choices
1624 are renderered with description now.
1625
1626 2007-08-10 Sascha L. Teichmann <[email protected]>
1627
1628 * tools/formed/formed/plugins/web/renderer.py: Added rendering
1629 for date items. Added missing ids for texts and textareas.
1630
1631 2007-08-10 Sascha L. Teichmann <[email protected]>
1632
1633 * tools/formed/formed/config.py: Evaluate the environment
1634 variable 'FORMED'. Snytax: FORMED='key1:value1;key2:value2'
1635
1636 * tools/formed/formed/plugins/plugin.py: Give a reference
1637 to the config at setup time.
1638
1639 * tools/formed/formed/plugins/web/plugin.py: To determine
1640 the port look at FORMED dictionary first. Key is 'web.port'.
1641 e.g. FORMED='web.port:8888'
1642
1643 * tools/formed/formed/main.py: Call the plugin setup with
1644 the reference to the config.
1645
1646 2007-08-10 Sascha L. Teichmann <[email protected]>
1647
1648 * tools/formed/test-data/simple.xml: removed 'text' attributes from
1649 info tags. Use the 'value' attributes for same purpose now, please!
1650
1651 * tools/formed/formed/model/data.py: removed text attributes from
1652 InfoLeaf.
1653
1654 * tools/formed/formed/plugins/web/renderer.py: Rendering of info
1655 now uses the 'value' instead of the 'text' attributes.
1656
1657 2007-08-09 Sascha L. Teichmann <[email protected]>
1658
1659 * tools/formed/formed/model/data.py: next/prevPage() are
1660 methods of PageNode now.
1661
1662 * tools/formed/formed/model/nodecomponents.py: findByClassAndName()
1663 is method of Document now.
1664
1665 * tools/formed/formed/plugins/web/plugin.py: Factored out
1666 the HTML renderer.
1667
1668 * tools/formed/formed/plugins/web/renderer.py: New: contains
1669 the HTML renderer now.
1670
1671 * tools/formed/test-data/simple.xml: Fixed typo
1672
1673 2007-08-09 Sascha L. Teichmann <[email protected]>
1674
1675 * tools/formed/formed/plugins/web/plugin.py: Fixed a bug
1676 in calculation of width of bounded int fields.
1677
1678 2007-08-09 Sascha L. Teichmann <[email protected]>
1679
1680 * tools/formed/test-data/simple.xml: Make demo Int fancier.
1681
1682 * tools/formed/formed/model/data.py: Added attributes to IntLeaf
1683
1684 * tools/formed/formed/plugins/web/plugin.py: Added rendering for
1685 Ints
1686
1687 2007-08-09 Sascha L. Teichmann <[email protected]>
1688
1689 * tools/formed/test-data/simple.xml: Added demo textarea
1690
1691 * tools/formed/formed/model/data.py: Added TextAreaLeaf
1692
1693 * tools/formed/formed/io/document.py: register builder
1694 for loading of textareas
1695
1696 * tools/formed/formed/plugins/web/plugin.py: Added rendering
1697 for textareas.
1698
1699 2007-08-09 Sascha L. Teichmann <[email protected]>
1700
1701 * tools/formed/test-data/simple.xml: Make demo choice fancier.
1702
1703 * tools/formed/formed/model/data.py: Added attributes for texts
1704
1705 * tools/formed/formed/plugins/web/plugin.py: Added rendering
1706 for texts
1707
1708 2007-08-09 Sascha L. Teichmann <[email protected]>
1709
1710 * tools/formed/test-data/simple.xml: Make demo choice fancier.
1711
1712 * tools/formed/formed/model/data.py: Added attributes for choices.
1713
1714 * tools/formed/formed/plugins/web/plugin.py: Added rendering
1715 for choices
1716
1717 2007-08-09 Sascha L. Teichmann <[email protected]>
1718
1719 * tools/formed/formed/model/data.py,
1720 tools/formed/formed/model/nodecomponents.py: Added new
1721 attributes.
1722
1723 * tools/formed/formed/plugins/web/plugin.py: Added rendering
1724 for checkboxes and radio buttons.
1725
1726 2007-08-08 Sascha L. Teichmann <[email protected]>
1727
1728 * tools/formed/test-data/simple.xml: Added some descriptions
1729
1730 * tools/formed/formed/model/data.py: set attributes in constructors
1731 directly.
1732
1733 * tools/formed/formed/model/nodecomponents.py: Added description
1734 attribute in the NodeComponent base class.
1735
1736 * tools/formed/formed/plugins/web/plugin.py: Render description
1737 as legend in fieldset for GroupNodes.
1738
1739 2007-08-08 Sascha L. Teichmann <[email protected]>
1740
1741 * tools/formed/formed/plugins/web/plugin.py: make UTF-8
1742 output work.
1743
1744 2007-08-08 Sascha L. Teichmann <[email protected]>
1745
1746 * tools/formed/formed/model/data.py: Added get/setText() method
1747
1748 * tools/formed/formed/plugins/web/plugin.py: Added a first
1749 version of a recursive HTML renderer based on the document
1750 tree.
1751
1752 2007-08-08 Sascha L. Teichmann <[email protected]>
1753
1754 * tools/formed/formed/plugins/*: New: plug-in infrastructure.
1755
1756 * tools/formed/formed/plugins/web/*: new: A simple web server
1757 which is intended to serve pages of the current formular.
1758
1759 * tools/formed/formed/main.py: start the plug-ins
1760
1761 * tools/formed/formed/config.py: configuration class. Used
1762 for the plug-ins.
1763
1764 2007-08-08 Sascha L. Teichmann <[email protected]>
1765
1766 * tools/formed/formed/model/nodecomponents.py: Fixed broadcasting
1767 issue with zero length tree paths.
1768
1769 * tools/formed/formed/model/misc.py: New: contains a class
1770 for generating unique ids.
1771
1772 * tools/formed/formed/main.py: Added an instance of an
1773 unique id generator for naming of new made tree items.
1774
1775 2007-08-07 Sascha L. Teichmann <[email protected]>
1776
1777 * tools/formed/formed/main.py: Added event route document ->
1778 attribute table to get informed when selected item is delete
1779 or an attribute is changed from the outside.
1780
1781 * tools/formed/formed/ui/controls.py: Fixed. In older versions of
1782 wxPython 2.6.x ListCtrl.InsertStringItem takes 2 instead
1783 of 3 argument. Uses icons+tooltips for tree navigation now.
1784
1785 2007-08-07 Sascha L. Teichmann <[email protected]>
1786
1787 * tools/formed/formed/model/nodecomponents.py: Set name
1788 attribute in base class.
1789
1790 * tools/formed/formed/io/document.py: Added a table
1791 names -> classes.
1792
1793 * tools/formed/formed/main.py: Added a toolbar. Added code
1794 to create and delete tree items.
1795
1796 * tools/formed/formed/ui/controls.py: Added code to
1797 insert and delete new tree items.
1798
1799 2007-08-07 Sascha L. Teichmann <[email protected]>
1800
1801 * tools/formed/formed/model/nodecomponents.py: Fixed event
1802 broadcasting for attribute changes.
1803
1804 * tools/formed/formed/ui/controls.py: Add a list/table control to
1805 edit the attributes of a selected item.
1806
1807 * tools/formed/formed/main.py: Added code to bind the new
1808 list/table control.
1809
1810 2007-08-06 Sascha L. Teichmann <[email protected]>
1811
1812 * tools/formed/formed/main.py: Added event routes to move
1813 items in and out of groups.
1814
1815 * tools/formed/formed/ui/controls.py: Added code to move
1816 items in and out of groups.
1817
1818 2007-08-06 Sascha L. Teichmann <[email protected]>
1819
1820 * tools/formed/formed/model/nodecomponents.py: Fixed path
1821 calculation to root and event broadcasting
1822
1823 * tools/formed/formed/io/factories.py: Adjust to new
1824 event broadcasting.
1825
1826 * tools/formed/formed/main.py: Added code to move items
1827 up and down the document tree.
1828
1829 * tools/formed/formed/ui/controls.py: Establish sort order
1830 by indices of children in parent instead of alphanum.
1831 Code to move items up and down the document tree.
1832
1833 * tools/formed/formed/io/document.py: Added missing imports.
1834
1835 2007-08-06 Sascha L. Teichmann <[email protected]>
1836
1837 * tools/formed/formed.py: Added to avoid problems with
1838 ambiguous absolute module names. Thanks to Bernhard Herzog
1839
1840 * tools/formed/formed.sh: Starts formed.py now
1841
1842 * tools/formed/formed/main.py,
1843 tools/formed/formed/ui/controls.py: Added control to
1844 move items around in tree. Has no effect by now.
1845
1846 2007-08-05 Sascha L. Teichmann <[email protected]>
1847
1848 * tools/formed/formed/io/parser.py: Adjusted style
1849
1850 * tools/formed/formed/io/document.py,
1851 tools/formed/formed/io/factories.py: Simplified factory
1852 model for XML loading.
1853
1854 2007-08-05 Sascha L. Teichmann <[email protected]>
1855
1856 * ChangeLog: started ChangeLog
1857
1858 * tools/formed/*: initial check-in of the Formular Editor.
1859 Not working yet. Only can load, view and store formular XML files.
1860 Start it with 'tools/formed/formed.sh'.

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26