1 |
2007-09-03 Frank Koormann <[email protected]> |
2 |
|
3 |
* tools/formed/formed/plugins/export/html.py |
4 |
(RecursiveExporter): Added annotation to export |
5 |
(fillRow()): Renamed old fillNine to this more generic name. |
6 |
|
7 |
|
8 |
2007-09-03 Sascha L. Teichmann <[email protected]> |
9 |
|
10 |
* tools/formed/formed/plugins/web/renderer.py: Using the decorator |
11 |
from model.misc now. |
12 |
|
13 |
2007-09-03 Sascha L. Teichmann <[email protected]> |
14 |
|
15 |
* tools/formed/formed/model/nodecomponents.py: Added an |
16 |
'annotation' attribute to node components. This is to |
17 |
enable FormEd document authors to add comments to groups |
18 |
and fields. |
19 |
|
20 |
2007-09-03 Frank Koormann <[email protected]> |
21 |
|
22 |
* tools/formed/formed/model/nodecomponents.py |
23 |
(NodeComponent.getParent): New method to get node components parent. |
24 |
|
25 |
* tools/formed/formed/plugins/export/html.py: Export Choice option |
26 |
as simple list instead of collection of bools. |
27 |
|
28 |
2007-09-02 Sascha L. Teichmann <[email protected]> |
29 |
|
30 |
* tools/formed/formed/model/persistent.py: Interfaces to abstract |
31 |
from persistent storage details. |
32 |
|
33 |
* tools/formed/formed/model/memory.py: In core implementation |
34 |
of the persistent interfaces. |
35 |
|
36 |
* tools/formed/formed/main.py: Holds a memory data store now. |
37 |
|
38 |
2007-09-02 Sascha L. Teichmann <[email protected]> |
39 |
|
40 |
* tools/formed/formed/plugins/export/sql.py, |
41 |
tools/formed/formed/plugins/export/html.py: Fixed constructor chains |
42 |
for FileDialogFilter sub classes. |
43 |
|
44 |
2007-09-02 Sascha L. Teichmann <[email protected]> |
45 |
|
46 |
* tools/formed/formed/model/misc.py: Checking the mode in recursive |
47 |
tree traversals is a common task. To ease this a decorator function |
48 |
checkMode in union with sub classing ModeChecker can be used. |
49 |
To make it work simply subclass from ModeChecker and add the decorator |
50 |
to the methods that need mode tracking. Before you start the recursion |
51 |
call self.prepareDescent(). |
52 |
|
53 |
* tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme |
54 |
now which replace the old. TODO: Make the web renderer use the new scheme |
55 |
too. |
56 |
|
57 |
2007-09-02 Sascha L. Teichmann <[email protected]> |
58 |
|
59 |
* tools/formed/formed/plugins/export/sql.py: Removed needless import. |
60 |
|
61 |
* tools/formed/formed/plugins/export/html.py: HTML table exporter |
62 |
uses new FileDialogFilter base class too. |
63 |
|
64 |
2007-09-02 Sascha L. Teichmann <[email protected]> |
65 |
|
66 |
* tools/formed/formed/plugins/ui/*: New. All file exporters |
67 |
need a file dialog. Till now each of them pulled up its |
68 |
own. This was silly code replication. Now there is an abstract |
69 |
base class 'FileDialogFilter' which implements the common |
70 |
behavior. The file exporters should subclass it. |
71 |
|
72 |
* tools/formed/formed/plugins/export/sql.py: Subclass the SQL |
73 |
exporters from the new base class. TODO: Subclass the HTML |
74 |
exporter too. |
75 |
|
76 |
2007-08-31 Sascha L. Teichmann <[email protected]> |
77 |
|
78 |
* tools/formed/formed/plugins/export/html.py: Make mode check |
79 |
work (again). |
80 |
|
81 |
2007-08-31 Torsten Irlaender <[email protected]> |
82 |
|
83 |
* tools/formed/formed/plugins/export/html.py: Rendering of the HTML |
84 |
exprt works now in a recursive way. This change was needed because |
85 |
the structure of the formedtree has changed to be able to render |
86 |
full hirachically document stuctures. (nested lists) |
87 |
TODO: Fix modechecking |
88 |
|
89 |
2007-08-31 Torsten Irlaender <[email protected]> |
90 |
|
91 |
* tools/formed/formed/plugins/web/plugin.py: Navigation rendering works |
92 |
now in recursive way. This change was needed because the structure |
93 |
of the formedtree has changed to be able to render full hirachically |
94 |
document stuctures. (nested lists) |
95 |
|
96 |
2007-08-31 Sascha L. Teichmann <[email protected]> |
97 |
|
98 |
* tools/formed/formed/model/nodecomponents.py: use discard() |
99 |
instead of remove on sets. |
100 |
|
101 |
* tools/formed/formed/plugins/export/sql.py: Added an |
102 |
exporter for table views. |
103 |
|
104 |
* tools/formed/formed/config.py: Added the new exporter |
105 |
to the list of export filters. |
106 |
|
107 |
2007-08-30 Sascha L. Teichmann <[email protected]> |
108 |
|
109 |
* tools/formed/formed/model/data.py: Fixed a bug in |
110 |
Page.allWidgets() |
111 |
|
112 |
* tools/formed/formed/plugins/export/sql.py: Added an exporter |
113 |
for stored procudeures. |
114 |
|
115 |
* tools/formed/formed/config.py: Add the new SP exporter. |
116 |
|
117 |
2007-08-29 Torsten Irlaender <[email protected]> |
118 |
|
119 |
* tools/formed/formed/plugins/web/plugin.py, |
120 |
tools/formed/formed/plugins/web/error_renderer.py: Added interface |
121 |
to get the errors for a whole page in te formular. These errors can |
122 |
now be displayed on the top of the formular. |
123 |
|
124 |
2007-08-29 Torsten Irlaender <[email protected]> |
125 |
|
126 |
* tools/formed/formed/plugins/web/renderer.py: Finished implementation |
127 |
of the getFromData interface and prepared the rederer for generating |
128 |
nice error messages |
129 |
|
130 |
2007-08-28 Frank Koormann <[email protected]> |
131 |
|
132 |
* tools/formed/formed/plugins/export/sql.py |
133 |
(SchemaCreator.createSchema, SchemaCreator._createGroup): |
134 |
Fixed typo in created DDS (PRIMRAY -> PRIMARY) |
135 |
|
136 |
2007-08-28 Torsten Irlaender <[email protected]> |
137 |
|
138 |
* tools/formed/formed/plugins/export/sql.py: Added small helper |
139 |
function to generated valid quotes within the sql statements |
140 |
|
141 |
2007-08-29 Sascha L. Teichmann <[email protected]> |
142 |
|
143 |
* tools/formed/formed/plugins/export/sql.py: Added foreign keys |
144 |
for repeat tables. |
145 |
|
146 |
2007-08-29 Sascha L. Teichmann <[email protected]> |
147 |
|
148 |
* tools/formed/formed/plugins/export/sql.py: When generating |
149 |
an extra table check in a table of same content exists. In |
150 |
this case reference the existing table. |
151 |
|
152 |
2007-08-29 Sascha L. Teichmann <[email protected]> |
153 |
|
154 |
* tools/formed/formed/plugins/export/sql.py: Rewritten to produce |
155 |
_real_ SQL and respect repeat groups. |
156 |
|
157 |
* tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat() |
158 |
|
159 |
* tools/formed/formed/plugins/web/renderer.py: Use "".join([]) |
160 |
instead of expensive += string concat in some places. |
161 |
|
162 |
2007-08-29 Sascha L. Teichmann <[email protected]> |
163 |
|
164 |
* tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat() |
165 |
to .isRepeat and return a bool. Fixed a bug in Page.allWidgets(). |
166 |
|
167 |
2007-08-28 Torsten Irlaender <[email protected]> |
168 |
|
169 |
* tools/formed/plugins/web/renderer.py: Added Formdata interface. |
170 |
* tools/formed/model/data.py: Implements Formadata interface to |
171 |
textfields. Fieldset generated depends now on the "invisible" |
172 |
attribute of the groupnode. Field-label generation slightly changed. |
173 |
Added error indication to textfields |
174 |
|
175 |
2007-08-28 Sascha L. Teichmann <[email protected]> |
176 |
|
177 |
* tools/formed/formed/model/data.py, |
178 |
tools/formed/formed/io/document.py: Removed support |
179 |
of logical groups. |
180 |
|
181 |
2007-08-28 Sascha L. Teichmann <[email protected]> |
182 |
|
183 |
* tools/formed/formed/io/document.py: Avoid saving empty |
184 |
attributes. |
185 |
|
186 |
* tools/formed/test-data/simple.xml: Applied. |
187 |
|
188 |
2007-08-28 Sascha L. Teichmann <[email protected]> |
189 |
|
190 |
* tools/formed/formed/model/data.py: Added 'repeat' and |
191 |
'invisible' attributes to group. TODO: remove logical group. |
192 |
|
193 |
2007-08-27 Torsten Irlaender <[email protected]> |
194 |
|
195 |
* tools/formed/plugins/web/plugin.py, |
196 |
tools/formed/plugins/web/renderer.py: Started to include stylesheet |
197 |
depending tags in the html generation. |
198 |
|
199 |
2007-08-27 Sascha L. Teichmann <[email protected]> |
200 |
|
201 |
* tools/formed/formed/model/data.py, |
202 |
tools/formed/formed/io/document.py: Added a logical group. |
203 |
It has an attribute 'repeat' to indicate that it might |
204 |
be worthy an external table in DB schema. |
205 |
|
206 |
2007-08-27 Sascha L. Teichmann <[email protected]> |
207 |
|
208 |
* tools/formed/formed/plugins/web/plugin.py: Support |
209 |
serving of static content. |
210 |
|
211 |
* tools/formed/formed/plugins/web/server.py: Removed |
212 |
old send code. |
213 |
|
214 |
2007-08-27 Sascha L. Teichmann <[email protected]> |
215 |
|
216 |
* tools/formed/formed/plugins/web/plugin.py: Use new |
217 |
Response object. Fix typo. |
218 |
|
219 |
* tools/formed/formed/plugins/web/server.py: support |
220 |
response object to serve different MIME types. |
221 |
|
222 |
2007-08-27 Sascha L. Teichmann <[email protected]> |
223 |
|
224 |
* tools/formed/formed/plugins/web/plugin.py: Add web.path |
225 |
to FORMED environment variable to specify the |
226 |
root of the static content. |
227 |
|
228 |
2007-08-26 Sascha L. Teichmann <[email protected]> |
229 |
|
230 |
* tools/formed/formed/model/data.py, |
231 |
tools/formed/formed/model/nodecomponents.py: Fixed mode issues. |
232 |
|
233 |
* tools/formed/formed/plugins/web/www, |
234 |
tools/formed/formed/plugins/web/www/main.tmpl: New. Contains |
235 |
a template for the HTML output. |
236 |
|
237 |
* tools/formed/formed/plugins/web/plugin.py: Fixes several smaller |
238 |
mode issues. Introduces CSS support. Simplified the action |
239 |
handling. |
240 |
|
241 |
* tools/formed/formed/plugins/web/renderer.py: Removed the |
242 |
nagivation code. |
243 |
|
244 |
* tools/formed/formed/plugins/web/server.py: Added missing import. |
245 |
|
246 |
2007-08-26 Sascha L. Teichmann <[email protected]> |
247 |
|
248 |
* tools/formed/formed/model/data.py: Added missing broadcast |
249 |
parameter to setAttribute() of RuleLeaf. |
250 |
|
251 |
* tools/formed/formed/plugins/web/plugin.py: Factorize |
252 |
HTTP server code out to separate module. |
253 |
|
254 |
* tools/formed/formed/plugins/web/renderer.py: Removed |
255 |
needless -1 from pop() |
256 |
|
257 |
* tools/formed/formed/plugins/web/server.py: New. Contains |
258 |
the HTTP server code now. |
259 |
|
260 |
2007-08-26 Sascha L. Teichmann <[email protected]> |
261 |
|
262 |
* tools/formed/test-data/simple.xml: Modified to contain a rule. |
263 |
|
264 |
* tools/formed/formed/model/expr.py: Added. A simple RPN |
265 |
expression evaluator. To avoid the problem of eval()ing |
266 |
arbitrary python expressions I've decided to use a very |
267 |
basic and limited stack machine to support rule checking. |
268 |
|
269 |
* tools/formed/formed/model/data.py: Added a RuleLeaf. |
270 |
|
271 |
* tools/formed/formed/io/document.py: Added factories for rules. |
272 |
|
273 |
* tools/formed/formed/model/nodecomponents.py: Add a method |
274 |
to find all items of a given type in document for a given |
275 |
mode. Usefull to find all rules in the tree. |
276 |
|
277 |
* tools/formed/formed/ui/controls.py: Added a listener mechanism |
278 |
to attribute table to report exceptions when setting a value |
279 |
from GUI. Useful to report compilation errors when setting |
280 |
expr of rule leafs. |
281 |
|
282 |
* tools/formed/formed/main.py: Added a method to track exceptions |
283 |
from the attribute table and pop up dialogs if they occur. |
284 |
Added a counter of rule modifications in tree. Useful if you |
285 |
want build cached data structures like rule sets and you want |
286 |
to know if they are still valid. |
287 |
|
288 |
2007-08-24 Torsten Irlaender <[email protected]> |
289 |
|
290 |
* tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint |
291 |
for checkbox values. (Syntax error). |
292 |
|
293 |
* tools/formed/formed/plugins/names/filter.py: Fixes in formularname |
294 |
generation |
295 |
|
296 |
2007-08-24 Torsten Irlaender <[email protected]> |
297 |
|
298 |
* tools/formed/formed/plugins/names/filter.py: Separated Class for |
299 |
making the formularnames more database friendly. Added some more |
300 |
checks. |
301 |
* tools/formed/formed/plugins/export/sql.py: Make use of the fresh |
302 |
separated class, and some fixes in sql generation. |
303 |
|
304 |
2007-08-24 Sascha L. Teichmann <[email protected]> |
305 |
|
306 |
* tools/formed/formed/plugins/export/html.py: Print lengths |
307 |
of external choice list. |
308 |
|
309 |
2007-08-24 Sascha L. Teichmann <[email protected]> |
310 |
|
311 |
* tools/formed/formed/main.py: Little workaround for |
312 |
mode selection if someone adds an removes a mode. |
313 |
|
314 |
2007-08-24 Sascha L. Teichmann <[email protected]> |
315 |
|
316 |
* tools/formed/test-data/simple.xml: Better test case for |
317 |
mode depended leaf items. |
318 |
|
319 |
* tools/formed/formed/model/nodecomponents.py: Added a method |
320 |
to calculate the effective mode of an item. |
321 |
|
322 |
* tools/formed/formed/plugins/export/html.py: Use effective |
323 |
mode. TODO: the 'all' modus return false results sometimes. |
324 |
Cause: The modes are only cumulated over time. Removal is |
325 |
not done. |
326 |
|
327 |
2007-08-24 Sascha L. Teichmann <[email protected]> |
328 |
|
329 |
* tools/formed/formed/plugins/export/html.py: Dump the items |
330 |
of radio groups and choices too. |
331 |
|
332 |
2007-08-24 Torsten Irlaender <[email protected]> |
333 |
|
334 |
* tools/formed/formed/plugins/names/filter.py: Modified the renaming |
335 |
by formular names to make the naming more database friendly. |
336 |
Now only alphanumeric and underscore chars is allowed. |
337 |
|
338 |
2007-08-24 Sascha L. Teichmann <[email protected]> |
339 |
|
340 |
* tools/formed/formed/plugins/export/html.py: Tweaked |
341 |
HTML table exporter a bit to be on par with the XSLT |
342 |
script. TODO: Dump items in radio and choice groups. |
343 |
|
344 |
2007-08-23 Sascha L. Teichmann <[email protected]> |
345 |
|
346 |
* tools/formed/formed/plugins/names/filter.py: Removed |
347 |
HTML and SQL exporters. |
348 |
|
349 |
* tools/formed/formed/plugins/export, |
350 |
tools/formed/formed/plugins/export/__init__.py, |
351 |
tools/formed/formed/plugins/export/sql.py, |
352 |
tools/formed/formed/plugins/export/html.py: New: Contain |
353 |
the HTML and the SQL exporters now. |
354 |
|
355 |
* tools/formed/formed/config.py: Use exporters from different |
356 |
package now. |
357 |
|
358 |
2007-08-23 Torsten Irlaender <[email protected]> |
359 |
|
360 |
* tools/formed/formed/plugins/names/filter.py: Added an |
361 |
pseudo SQL export filters. TODO: Move HTML and SQL filter |
362 |
in a new file (formed/plugins/export/htmlexport.py and |
363 |
sqlexport.py?) |
364 |
|
365 |
* tools/formed/formed/config.py: Install the new SQL filter. |
366 |
|
367 |
2007-08-23 Sascha L. Teichmann <[email protected]> |
368 |
|
369 |
* tools/formed/formed/model/nodecomponents.py: Added a depth() |
370 |
method to determine the depth of particular tree item. |
371 |
|
372 |
* tools/formed/formed/plugins/names/filter.py: Added an |
373 |
HTML export filters. TODO: needs more work. |
374 |
|
375 |
* tools/formed/formed/config.py: Install the new HTML filter. |
376 |
|
377 |
2007-08-23 Torsten Irlaender <[email protected]> |
378 |
|
379 |
* contrib/extract-xfa-fields_and_options.xsl: Added small xsl script |
380 |
to extract fields and options in the XFA Data in teh PDF. This |
381 |
script might me handy to indicate changes between the different |
382 |
formular versions. |
383 |
|
384 |
2007-08-23 Sascha L. Teichmann <[email protected]> |
385 |
|
386 |
* tools/formed/formed/main.py: Add an 'all' mode to |
387 |
select all modes. ;-) |
388 |
|
389 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
390 |
|
391 |
* tools/formed/test-data/simple.xml, |
392 |
tools/formed/formed/model/data.py, |
393 |
tools/formed/formed/plugins/web/plugin.py, |
394 |
tools/formed/formed/plugins/web/renderer.py, |
395 |
tools/formed/formed/io/document.py, |
396 |
tools/formed/formed/main.py: Removed support for switch nodes. |
397 |
BEWARE: This breaks compatibility with older documents! |
398 |
|
399 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
400 |
|
401 |
* tools/formed/formed/plugins/web/plugin.py: Uses the |
402 |
getSelectedMode() from main now. |
403 |
|
404 |
* tools/formed/formed/main.py: selected mode is now hold |
405 |
in main. |
406 |
|
407 |
* tools/formed/formed/config.py: removed selected mode from |
408 |
env configuration. |
409 |
|
410 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
411 |
|
412 |
* tools/formed/formed/ui/controls.py: Attributes in GUI attribute |
413 |
table are now alphabetically sorted. |
414 |
|
415 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
416 |
|
417 |
* tools/formed/formed/model/nodecomponents.py: Added code to |
418 |
establish the new 'modes' recursively. |
419 |
|
420 |
* tools/formed/formed/plugins/plugin.py: Pass main instead |
421 |
of cfg on plug-in start-up. |
422 |
|
423 |
* tools/formed/formed/plugins/web/plugin.py: Use the new |
424 |
'modes' attribute for rendering. |
425 |
|
426 |
* tools/formed/formed/plugins/web/renderer.py: Use decorators |
427 |
to check the new modes. |
428 |
|
429 |
* tools/formed/formed/main.py: Adjusted to new infrastructure. |
430 |
|
431 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
432 |
|
433 |
* tools/formed/formed/model/nodecomponents.py: Added an |
434 |
attribute 'modes' to NodeComponents. |
435 |
|
436 |
2007-08-22 Sascha L. Teichmann <[email protected]> |
437 |
|
438 |
* tools/formed/formed/model/data.py: Small cosmetic cleanups |
439 |
|
440 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
441 |
|
442 |
* tools/formed/formed/plugins/web/renderer.py: Another fix |
443 |
for the hidden field. Argh! |
444 |
|
445 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
446 |
|
447 |
* tools/formed/formed/plugins/web/renderer.py: Fixed double |
448 |
generation of hidden page field. |
449 |
|
450 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
451 |
|
452 |
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
453 |
checks for radio groups. |
454 |
|
455 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
456 |
|
457 |
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
458 |
checks for choices. |
459 |
|
460 |
2007-08-21 Frank Koormann <[email protected]> |
461 |
|
462 |
* contrib/convert-formedtree2html.xsl: Display switch nodes as |
463 |
alternatives. |
464 |
|
465 |
2007-08-21 Frank Koormann <[email protected]> |
466 |
|
467 |
* contrib/convert-formedtree2html.xsl: |
468 |
Replace technical types with readable descriptions |
469 |
|
470 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
471 |
|
472 |
* tools/formed/formed/plugins/web/plugin.py: Fix a few smaller |
473 |
issues. 'action' looks for all widgets on a page now, goes |
474 |
through all passed parameters, tries to match them with the |
475 |
widgets of the page and put them into the semantic box. |
476 |
Afterwards a list of untouched page parameters are left |
477 |
which will be deleted from the semantic box. |
478 |
|
479 |
* tools/formed/formed/plugins/web/semantic.py: Simplified. |
480 |
The NodeComponent is passed as an argument now. |
481 |
|
482 |
* tools/formed/formed/plugins/web/renderer.py: Generate a |
483 |
hidden field to store the name of the page. |
484 |
|
485 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
486 |
|
487 |
* tools/formed/formed/plugins/web/plugin.py: Fixed an encoding |
488 |
issue with incoming UTF-8 data. |
489 |
|
490 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
491 |
|
492 |
* tools/formed/test-data/simple.xml: Improve test for widgets |
493 |
in switches. |
494 |
|
495 |
* tools/formed/formed/model/data.py: Added a method to find all |
496 |
widgets in a given page. Fixed a bug when walking in switch |
497 |
with a given mode. |
498 |
|
499 |
* tools/formed/formed/plugins/web/plugin.py: Simple test for |
500 |
listing all widgets in page. |
501 |
|
502 |
2007-08-21 Torsten Irlaender <[email protected]> |
503 |
|
504 |
* tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to |
505 |
latin-1 |
506 |
|
507 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
508 |
|
509 |
* tools/formed/formed/model/data.py: Added mode parameter to |
510 |
walk. |
511 |
|
512 |
* tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites |
513 |
walk() with usage of the new mode parameter. Added a method to |
514 |
give children in a given mode. |
515 |
|
516 |
* tools/formed/formed/plugins/web/renderer.py: Simplified to use |
517 |
new Switch.childrenInMode() method. |
518 |
|
519 |
2007-08-21 Sascha L. Teichmann <[email protected]> |
520 |
|
521 |
* tools/formed/formed/plugins/web/semantic.py: Add checks for |
522 |
texts and text areas. |
523 |
|
524 |
* tools/formed/formed/plugins/web/renderer.py: Set accept-charset |
525 |
to UTF-8 in generated form. |
526 |
|
527 |
2007-08-20 Sascha L. Teichmann <[email protected]> |
528 |
|
529 |
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
530 |
tests for dates. |
531 |
|
532 |
2007-08-20 Sascha L. Teichmann <[email protected]> |
533 |
|
534 |
* tools/formed/test-data/simple.xml: Tweak a bit for integer |
535 |
range test. |
536 |
|
537 |
* tools/formed/formed/model/nodecomponents.py: Added a method |
538 |
to find a tree item for a given name. |
539 |
|
540 |
* tools/formed/formed/plugins/web/semantic.py: New: Box for |
541 |
semantic checking. Has check for integers. |
542 |
|
543 |
* tools/formed/formed/plugins/web/plugin.py: Use semantic |
544 |
check. |
545 |
|
546 |
2007-08-20 Torsten Irlaender <[email protected]> |
547 |
|
548 |
* tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in |
549 |
selection-field generation (Removed quote) |
550 |
|
551 |
2007-08-18 Sascha L. Teichmann <[email protected]> |
552 |
|
553 |
* tools/formed/formed/plugins/web/plugin.py, |
554 |
tools/formed/formed/plugins/web/renderer.py: Added a |
555 |
simple cookie based session management to the HTML |
556 |
renderer. This submit parameters are stored in the |
557 |
session now. This will ease testing the constraint |
558 |
tests which need to be written soon. |
559 |
|
560 |
BEWARE: The session management is _not_ made for production! |
561 |
Denial of service attacks are too easy, and the |
562 |
cryptographical strength of the session id is doubtful. |
563 |
|
564 |
2007-08-18 Sascha L. Teichmann <[email protected]> |
565 |
|
566 |
* tools/formed/formed/plugins/web/renderer.py: Escaping text |
567 |
coming from the document tree now when inserting it into the |
568 |
HTML output. |
569 |
|
570 |
2007-08-18 Sascha L. Teichmann <[email protected]> |
571 |
|
572 |
* tools/formed/formed/plugins/plugin.py: Added a new kind |
573 |
of plug-in: Filter. They have a short and a long description |
574 |
and can be hooked automatically into the new 'Filters' |
575 |
sub menu under 'Extra'. They got called when the user |
576 |
selects their respective menu item. |
577 |
|
578 |
* tools/formed/formed/config.py: Contains the list of |
579 |
installed filters. |
580 |
|
581 |
* tools/formed/formed/main.py: Builds the Extra->Filters |
582 |
sub menu during gui initialization. The hard wired code |
583 |
for make unique and formular name/description -> name |
584 |
is removed because they are implemented as filters now. |
585 |
|
586 |
* tools/formed/formed/model/nodecomponents.py, |
587 |
tools/formed/formed/model/data.py: Removed the make |
588 |
unique and formular name/description -> name code. |
589 |
|
590 |
* tools/formed/formed/plugins/names, |
591 |
tools/formed/formed/plugins/names/__init__.py, |
592 |
tools/formed/formed/plugins/names/filter.py: Added. Contains |
593 |
the make unique and formular name/description -> name code |
594 |
in form of filters. |
595 |
|
596 |
* tools/formed/test-data/simple.xml: Modified to be a better |
597 |
test for the formular name/description -> name filter. |
598 |
|
599 |
2007-08-18 Sascha L. Teichmann <[email protected]> |
600 |
|
601 |
* tools/formed/formed.py, tools/formed/formed/main.py: First |
602 |
command line argument is interpreted as filename of document |
603 |
to be loaded at program startup. |
604 |
|
605 |
2007-08-17 Frank Koormann <[email protected]> |
606 |
|
607 |
* contrib/convert-formedtree2html.xsl: |
608 |
Heading level depending on depth of group node. |
609 |
In case of radio/choice/check only list of options. |
610 |
|
611 |
2007-08-17 Torsten Irlaender <[email protected]> |
612 |
|
613 |
* contrib/convert-formedtree2html.xsl: Output is now generated with |
614 |
HTML doc-string and charset information in the meta-header. |
615 |
|
616 |
2007-08-17 Torsten Irlaender <[email protected]> |
617 |
|
618 |
* contrib/convert-formedtree2html.xsl: Added small script for |
619 |
exporting the formed tree to html |
620 |
|
621 |
2007-08-17 Torsten Irlaender <[email protected]> |
622 |
|
623 |
* tools/formed/model/nodecomponents.py: Added function to rename |
624 |
the set the name of the node to the formularname. The formularname |
625 |
gets shorten to <=64 by removing vowels and is stored lowercase. |
626 |
If the name is not unique and additional id value is appended. |
627 |
|
628 |
* tools/formed/formed/model/data.py: Overwritten renaming-function for |
629 |
bool-leafs |
630 |
|
631 |
* tools/formed/formed/main.py: Added menuitem for renaming the names |
632 |
of the element |
633 |
|
634 |
2007-08-16 Sascha L. Teichmann <[email protected]> |
635 |
|
636 |
* tools/formed/formed/main.py: Swaped order of |
637 |
'Make names unique' and 'Selected mode...' in Extra |
638 |
menu and put a separator between them. |
639 |
|
640 |
2007-08-15 Sascha L. Teichmann <[email protected]> |
641 |
|
642 |
* tools/formed/formed/model/data.py: SwitchNodes can add |
643 |
their modes to a given set now. |
644 |
|
645 |
* tools/formed/formed/plugins/plugin.py: Simplified |
646 |
the plug-in interface. Only the reference to the |
647 |
global configuration is passed at setup time. |
648 |
|
649 |
* tools/formed/formed/plugins/web/plugin.py: Adjusted |
650 |
to new plug-in setup. The traveral mode is now taken |
651 |
from the global configuration each time a rendering |
652 |
is triggered. The FORMED parameter is now named |
653 |
'doc.mode' instead of 'web.mode'. The parameter |
654 |
is not needed any more because it can be configured |
655 |
at runtime. |
656 |
|
657 |
* tools/formed/formed/main.py: Adjusted to new plugin |
658 |
setup. Added a new menu item Extra->Select Mode... |
659 |
to select the traversal mode. It is stored in the |
660 |
global config. |
661 |
|
662 |
* tools/formed/formed/config.py: Simplified. Only uses |
663 |
one env dictionary to store global configuration parameters. |
664 |
|
665 |
* tools/formed/formed/ui/controls.py: Add a control to |
666 |
select one item from a list of given strings. |
667 |
|
668 |
2007-08-15 Sascha L. Teichmann <[email protected]> |
669 |
|
670 |
* tools/formed/formed/plugins/web/plugin.py, |
671 |
tools/formed/formed/plugins/web/renderer.py: Added parameter |
672 |
print out in web plugin. |
673 |
|
674 |
2007-08-15 Torsten Irlaender <[email protected]> |
675 |
|
676 |
* contrib/convert-formedtree2csv.xsl: Added small script for |
677 |
exporting the formed tree to csv |
678 |
|
679 |
2007-08-14 Sascha L. Teichmann <[email protected]> |
680 |
|
681 |
* tools/formed/formed/model/data.py, |
682 |
tools/formed/formed/model/nodecomponents.py, |
683 |
tools/formed/formed/io/document.py: Added a 'switch' node. |
684 |
|
685 |
* tools/formed/formed/plugins/web/renderer.py:Render the |
686 |
new 'switch' node. |
687 |
|
688 |
* tools/formed/formed/plugins/web/plugin.py, |
689 |
tools/formed/formed/config.py: Added a 'web.mode' parameter |
690 |
to FORMED environment variable. |
691 |
e.g. 'FORMED=web.mode:modeX' sets the mode 'modeX'. |
692 |
Defaults to 'default'. |
693 |
|
694 |
* tools/formed/test-data/simple.xml: Added test for switch. |
695 |
|
696 |
2007-08-14 Sascha L. Teichmann <[email protected]> |
697 |
|
698 |
* tools/formed/formed/model/nodecomponents.py: Added an |
699 |
attribute 'formularname' to base class of node components. |
700 |
|
701 |
2007-08-13 Sascha L. Teichmann <[email protected]> |
702 |
|
703 |
* tools/formed/formed/io/document.py, |
704 |
tools/formed/formed/model/data.py, |
705 |
tools/formed/formed/model/nodecomponents.py: Added an item |
706 |
to model external item lists. |
707 |
|
708 |
* tools/formed/formed/plugins/web/renderer.py: Render new item |
709 |
list. |
710 |
* tools/formed/formed/main.py: Added a forgotten 'self.' |
711 |
|
712 |
* contrib/extract-xfa-items.sh: Modified to generate |
713 |
documents to be loadable from new item lists |
714 |
|
715 |
2007-08-13 Sascha L. Teichmann <[email protected]> |
716 |
|
717 |
* tools/formed/formed/main.py: Fixed typo |
718 |
|
719 |
2007-08-13 Sascha L. Teichmann <[email protected]> |
720 |
|
721 |
* contrib/extract-xfa-items.sh: New. Can be used to extract longer |
722 |
choice item lists for a given field from XFA files. e.g. with |
723 |
'./contrib/extract-xfa-items.sh Muttersprache alles.xml' |
724 |
|
725 |
2007-08-12 Sascha L. Teichmann <[email protected]> |
726 |
|
727 |
* tools/formed/formed/model/data.py, |
728 |
tools/formed/formed/plugins/web/renderer.py, |
729 |
tools/formed/formed/io/document.py: Changed the structure |
730 |
of choice constructs. The idea to hold the different items |
731 |
of a particular choice in a semicolon separated list was bad. |
732 |
Now choices are groups and the option items are modelled as |
733 |
embedded bools. (mainly Torsten Irländer's idea). |
734 |
|
735 |
WARNING: this makes old document files containing choices incompatible!!! |
736 |
Use the following XSLT to reestablish compatibility. |
737 |
|
738 |
* contrib/itemize-choices.xsl: New converts old to new structure. |
739 |
Needs exslt.org's string extensions (which xsltproc includes) |
740 |
|
741 |
* tools/formed/test-data/simple.xml: Ajusted to new structure |
742 |
|
743 |
* tools/formed/formed/plugins/web/plugin.py: remove debug output |
744 |
|
745 |
* tools/formed/formed/model/nodecomponents.py: fixed a small bug in |
746 |
node finding code. It now uses the walk() generator, too. |
747 |
|
748 |
2007-08-12 Sascha L. Teichmann <[email protected]> |
749 |
|
750 |
* tools/formed/formed/main.py: Added a clone item on the toolbar which |
751 |
copies the currently selected item and appends it after the selection. |
752 |
|
753 |
* tools/formed/formed/model/nodecomponents.py: Added code to clone parts |
754 |
of the tree. |
755 |
|
756 |
* tools/formed/formed/ui/controls.py: Added a getSelected method. |
757 |
|
758 |
* tools/formed/formed/model/misc.py: Fixed a programming bug. |
759 |
forgot a 'self.' prefix. |
760 |
|
761 |
2007-08-12 Sascha L. Teichmann <[email protected]> |
762 |
|
763 |
* tools/formed/formed/model/nodecomponents.py: Added a method to append |
764 |
a second document to the current. |
765 |
|
766 |
* tools/formed/formed/main.py: Added an 'Import' file menu item to load |
767 |
a second document to be appended to the current. |
768 |
|
769 |
2007-08-12 Sascha L. Teichmann <[email protected]> |
770 |
|
771 |
* tools/formed/formed/main.py: Added a 'New' item in file menu which creates |
772 |
a new document when triggered. |
773 |
|
774 |
2007-08-12 Sascha L. Teichmann <[email protected]> |
775 |
|
776 |
* tools/formed/formed/model/nodecomponents.py: Added walk generator over all |
777 |
items in the document tree. Added a method to eliminated duplicated names |
778 |
in document tree. |
779 |
|
780 |
* tools/formed/formed/model/misc.py: Added update mechanism for id generator |
781 |
after names collisions are eliminated. |
782 |
|
783 |
* tools/formed/formed/main.py: Added an 'Extra' menu with item |
784 |
'Make names unique'. |
785 |
|
786 |
2007-08-11 Sascha L. Teichmann <[email protected]> |
787 |
|
788 |
* tools/formed/formed/model/data.py, |
789 |
tools/formed/formed/plugins/web/renderer.py: Removed support |
790 |
for 'text' attributes in bool items. They were never really |
791 |
used and the 'description' attributes fulfill the same |
792 |
purpose. |
793 |
|
794 |
* contrib/remove-bool-text.xsl: Transform to remove the |
795 |
'text' attributes from bool items. Apply with: |
796 |
'xsltproc contrib/remove-bool-text.xsl old.xml > new.xml' |
797 |
|
798 |
* tools/formed/test-data/simple.xml: Removed 'text' attributes |
799 |
from bool items. |
800 |
|
801 |
2007-08-11 Sascha L. Teichmann <[email protected]> |
802 |
|
803 |
* contrib/convert-choices.xsl: Simpified. |
804 |
|
805 |
2007-08-11 Sascha L. Teichmann <[email protected]> |
806 |
|
807 |
* tools/formed/formed/model/data.py: Removed 'options' attribute |
808 |
from ChoiceLeaf. Use 'value' instead, please! |
809 |
|
810 |
* tools/formed/formed/plugins/web/renderer.py: use 'value' attribute |
811 |
instead of 'options' to render choices. |
812 |
|
813 |
* contrib/convert-choices.xsl: Added to convert document files |
814 |
which use the choice 'option' attribute to usage of 'value'. |
815 |
Apply with e.g. 'xsltproc convert-choices.xsl old.xml > new.xml' |
816 |
|
817 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
818 |
|
819 |
* tools/formed/formed/plugins/web/renderer.py: radio buttons |
820 |
are selected by 'checked' and not by 'selected'. Fixed. |
821 |
|
822 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
823 |
|
824 |
* tools/formed/formed/model/data.py: ChoiceLeafs are now |
825 |
initialized with size = 1. |
826 |
|
827 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
828 |
|
829 |
* tools/formed/formed/model/data.py: TextLeafs are now |
830 |
initialized with size = 40, maxlength = 60 |
831 |
|
832 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
833 |
|
834 |
* tools/formed/formed/plugins/web/renderer.py: Fixed: choices |
835 |
are renderered with description now. |
836 |
|
837 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
838 |
|
839 |
* tools/formed/formed/plugins/web/renderer.py: Added rendering |
840 |
for date items. Added missing ids for texts and textareas. |
841 |
|
842 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
843 |
|
844 |
* tools/formed/formed/config.py: Evaluate the environment |
845 |
variable 'FORMED'. Snytax: FORMED='key1:value1;key2:value2' |
846 |
|
847 |
* tools/formed/formed/plugins/plugin.py: Give a reference |
848 |
to the config at setup time. |
849 |
|
850 |
* tools/formed/formed/plugins/web/plugin.py: To determine |
851 |
the port look at FORMED dictionary first. Key is 'web.port'. |
852 |
e.g. FORMED='web.port:8888' |
853 |
|
854 |
* tools/formed/formed/main.py: Call the plugin setup with |
855 |
the reference to the config. |
856 |
|
857 |
2007-08-10 Sascha L. Teichmann <[email protected]> |
858 |
|
859 |
* tools/formed/test-data/simple.xml: removed 'text' attributes from |
860 |
info tags. Use the 'value' attributes for same purpose now, please! |
861 |
|
862 |
* tools/formed/formed/model/data.py: removed text attributes from |
863 |
InfoLeaf. |
864 |
|
865 |
* tools/formed/formed/plugins/web/renderer.py: Rendering of info |
866 |
now uses the 'value' instead of the 'text' attributes. |
867 |
|
868 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
869 |
|
870 |
* tools/formed/formed/model/data.py: next/prevPage() are |
871 |
methods of PageNode now. |
872 |
|
873 |
* tools/formed/formed/model/nodecomponents.py: findByClassAndName() |
874 |
is method of Document now. |
875 |
|
876 |
* tools/formed/formed/plugins/web/plugin.py: Factored out |
877 |
the HTML renderer. |
878 |
|
879 |
* tools/formed/formed/plugins/web/renderer.py: New: contains |
880 |
the HTML renderer now. |
881 |
|
882 |
* tools/formed/test-data/simple.xml: Fixed typo |
883 |
|
884 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
885 |
|
886 |
* tools/formed/formed/plugins/web/plugin.py: Fixed a bug |
887 |
in calculation of width of bounded int fields. |
888 |
|
889 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
890 |
|
891 |
* tools/formed/test-data/simple.xml: Make demo Int fancier. |
892 |
|
893 |
* tools/formed/formed/model/data.py: Added attributes to IntLeaf |
894 |
|
895 |
* tools/formed/formed/plugins/web/plugin.py: Added rendering for |
896 |
Ints |
897 |
|
898 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
899 |
|
900 |
* tools/formed/test-data/simple.xml: Added demo textarea |
901 |
|
902 |
* tools/formed/formed/model/data.py: Added TextAreaLeaf |
903 |
|
904 |
* tools/formed/formed/io/document.py: register builder |
905 |
for loading of textareas |
906 |
|
907 |
* tools/formed/formed/plugins/web/plugin.py: Added rendering |
908 |
for textareas. |
909 |
|
910 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
911 |
|
912 |
* tools/formed/test-data/simple.xml: Make demo choice fancier. |
913 |
|
914 |
* tools/formed/formed/model/data.py: Added attributes for texts |
915 |
|
916 |
* tools/formed/formed/plugins/web/plugin.py: Added rendering |
917 |
for texts |
918 |
|
919 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
920 |
|
921 |
* tools/formed/test-data/simple.xml: Make demo choice fancier. |
922 |
|
923 |
* tools/formed/formed/model/data.py: Added attributes for choices. |
924 |
|
925 |
* tools/formed/formed/plugins/web/plugin.py: Added rendering |
926 |
for choices |
927 |
|
928 |
2007-08-09 Sascha L. Teichmann <[email protected]> |
929 |
|
930 |
* tools/formed/formed/model/data.py, |
931 |
tools/formed/formed/model/nodecomponents.py: Added new |
932 |
attributes. |
933 |
|
934 |
* tools/formed/formed/plugins/web/plugin.py: Added rendering |
935 |
for checkboxes and radio buttons. |
936 |
|
937 |
2007-08-08 Sascha L. Teichmann <[email protected]> |
938 |
|
939 |
* tools/formed/test-data/simple.xml: Added some descriptions |
940 |
|
941 |
* tools/formed/formed/model/data.py: set attributes in constructors |
942 |
directly. |
943 |
|
944 |
* tools/formed/formed/model/nodecomponents.py: Added description |
945 |
attribute in the NodeComponent base class. |
946 |
|
947 |
* tools/formed/formed/plugins/web/plugin.py: Render description |
948 |
as legend in fieldset for GroupNodes. |
949 |
|
950 |
2007-08-08 Sascha L. Teichmann <[email protected]> |
951 |
|
952 |
* tools/formed/formed/plugins/web/plugin.py: make UTF-8 |
953 |
output work. |
954 |
|
955 |
2007-08-08 Sascha L. Teichmann <[email protected]> |
956 |
|
957 |
* tools/formed/formed/model/data.py: Added get/setText() method |
958 |
|
959 |
* tools/formed/formed/plugins/web/plugin.py: Added a first |
960 |
version of a recursive HTML renderer based on the document |
961 |
tree. |
962 |
|
963 |
2007-08-08 Sascha L. Teichmann <[email protected]> |
964 |
|
965 |
* tools/formed/formed/plugins/*: New: plug-in infrastructure. |
966 |
|
967 |
* tools/formed/formed/plugins/web/*: new: A simple web server |
968 |
which is intended to serve pages of the current formular. |
969 |
|
970 |
* tools/formed/formed/main.py: start the plug-ins |
971 |
|
972 |
* tools/formed/formed/config.py: configuration class. Used |
973 |
for the plug-ins. |
974 |
|
975 |
2007-08-08 Sascha L. Teichmann <[email protected]> |
976 |
|
977 |
* tools/formed/formed/model/nodecomponents.py: Fixed broadcasting |
978 |
issue with zero length tree paths. |
979 |
|
980 |
* tools/formed/formed/model/misc.py: New: contains a class |
981 |
for generating unique ids. |
982 |
|
983 |
* tools/formed/formed/main.py: Added an instance of an |
984 |
unique id generator for naming of new made tree items. |
985 |
|
986 |
2007-08-07 Sascha L. Teichmann <[email protected]> |
987 |
|
988 |
* tools/formed/formed/main.py: Added event route document -> |
989 |
attribute table to get informed when selected item is delete |
990 |
or an attribute is changed from the outside. |
991 |
|
992 |
* tools/formed/formed/ui/controls.py: Fixed. In older versions of |
993 |
wxPython 2.6.x ListCtrl.InsertStringItem takes 2 instead |
994 |
of 3 argument. Uses icons+tooltips for tree navigation now. |
995 |
|
996 |
2007-08-07 Sascha L. Teichmann <[email protected]> |
997 |
|
998 |
* tools/formed/formed/model/nodecomponents.py: Set name |
999 |
attribute in base class. |
1000 |
|
1001 |
* tools/formed/formed/io/document.py: Added a table |
1002 |
names -> classes. |
1003 |
|
1004 |
* tools/formed/formed/main.py: Added a toolbar. Added code |
1005 |
to create and delete tree items. |
1006 |
|
1007 |
* tools/formed/formed/ui/controls.py: Added code to |
1008 |
insert and delete new tree items. |
1009 |
|
1010 |
2007-08-07 Sascha L. Teichmann <[email protected]> |
1011 |
|
1012 |
* tools/formed/formed/model/nodecomponents.py: Fixed event |
1013 |
broadcasting for attribute changes. |
1014 |
|
1015 |
* tools/formed/formed/ui/controls.py: Add a list/table control to |
1016 |
edit the attributes of a selected item. |
1017 |
|
1018 |
* tools/formed/formed/main.py: Added code to bind the new |
1019 |
list/table control. |
1020 |
|
1021 |
2007-08-06 Sascha L. Teichmann <[email protected]> |
1022 |
|
1023 |
* tools/formed/formed/main.py: Added event routes to move |
1024 |
items in and out of groups. |
1025 |
|
1026 |
* tools/formed/formed/ui/controls.py: Added code to move |
1027 |
items in and out of groups. |
1028 |
|
1029 |
2007-08-06 Sascha L. Teichmann <[email protected]> |
1030 |
|
1031 |
* tools/formed/formed/model/nodecomponents.py: Fixed path |
1032 |
calculation to root and event broadcasting |
1033 |
|
1034 |
* tools/formed/formed/io/factories.py: Adjust to new |
1035 |
event broadcasting. |
1036 |
|
1037 |
* tools/formed/formed/main.py: Added code to move items |
1038 |
up and down the document tree. |
1039 |
|
1040 |
* tools/formed/formed/ui/controls.py: Establish sort order |
1041 |
by indices of children in parent instead of alphanum. |
1042 |
Code to move items up and down the document tree. |
1043 |
|
1044 |
* tools/formed/formed/io/document.py: Added missing imports. |
1045 |
|
1046 |
2007-08-06 Sascha L. Teichmann <[email protected]> |
1047 |
|
1048 |
* tools/formed/formed.py: Added to avoid problems with |
1049 |
ambiguous absolute module names. Thanks to Bernhard Herzog |
1050 |
|
1051 |
* tools/formed/formed.sh: Starts formed.py now |
1052 |
|
1053 |
* tools/formed/formed/main.py, |
1054 |
tools/formed/formed/ui/controls.py: Added control to |
1055 |
move items around in tree. Has no effect by now. |
1056 |
|
1057 |
2007-08-05 Sascha L. Teichmann <[email protected]> |
1058 |
|
1059 |
* tools/formed/formed/io/parser.py: Adjusted style |
1060 |
|
1061 |
* tools/formed/formed/io/document.py, |
1062 |
tools/formed/formed/io/factories.py: Simplified factory |
1063 |
model for XML loading. |
1064 |
|
1065 |
2007-08-05 Sascha L. Teichmann <[email protected]> |
1066 |
|
1067 |
* ChangeLog: started ChangeLog |
1068 |
|
1069 |
* tools/formed/*: initial check-in of the Formular Editor. |
1070 |
Not working yet. Only can load, view and store formular XML files. |
1071 |
Start it with 'tools/formed/formed.sh'. |