1 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
2 |
|
|
3 |
|
* tools/formed/formed/model/persistent.py: Interfaces to abstract |
4 |
|
from persistent storage details. |
5 |
|
|
6 |
|
* tools/formed/formed/model/memory.py: In core implementation |
7 |
|
of the persistent interfaces. |
8 |
|
|
9 |
|
* tools/formed/formed/main.py: Holds a memory data store now. |
10 |
|
|
11 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
12 |
|
|
13 |
|
* tools/formed/formed/plugins/export/sql.py, |
14 |
|
tools/formed/formed/plugins/export/html.py: Fixed constructor chains |
15 |
|
for FileDialogFilter sub classes. |
16 |
|
|
17 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
18 |
|
|
19 |
|
* tools/formed/formed/model/misc.py: Checking the mode in recursive |
20 |
|
tree traversals is a common task. To ease this a decorator function |
21 |
|
checkMode in union with sub classing ModeChecker can be used. |
22 |
|
To make it work simply subclass from ModeChecker and add the decorator |
23 |
|
to the methods that need mode tracking. Before you start the recursion |
24 |
|
call self.prepareDescent(). |
25 |
|
|
26 |
|
* tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme |
27 |
|
now which replace the old. TODO: Make the web renderer use the new scheme |
28 |
|
too. |
29 |
|
|
30 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
31 |
|
|
32 |
|
* tools/formed/formed/plugins/export/sql.py: Removed needless import. |
33 |
|
|
34 |
|
* tools/formed/formed/plugins/export/html.py: HTML table exporter |
35 |
|
uses new FileDialogFilter base class too. |
36 |
|
|
37 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
38 |
|
|
39 |
|
* tools/formed/formed/plugins/ui/*: New. All file exporters |
40 |
|
need a file dialog. Till now each of them pulled up its |
41 |
|
own. This was silly code replication. Now there is an abstract |
42 |
|
base class 'FileDialogFilter' which implements the common |
43 |
|
behavior. The file exporters should subclass it. |
44 |
|
|
45 |
|
* tools/formed/formed/plugins/export/sql.py: Subclass the SQL |
46 |
|
exporters from the new base class. TODO: Subclass the HTML |
47 |
|
exporter too. |
48 |
|
|
49 |
|
2007-08-31 Sascha L. Teichmann <[email protected]> |
50 |
|
|
51 |
|
* tools/formed/formed/plugins/export/html.py: Make mode check |
52 |
|
work (again). |
53 |
|
|
54 |
|
2007-08-31 Torsten Irlaender <[email protected]> |
55 |
|
|
56 |
|
* tools/formed/formed/plugins/export/html.py: Rendering of the HTML |
57 |
|
exprt works now in a recursive way. This change was needed because |
58 |
|
the structure of the formedtree has changed to be able to render |
59 |
|
full hirachically document stuctures. (nested lists) |
60 |
|
TODO: Fix modechecking |
61 |
|
|
62 |
|
2007-08-31 Torsten Irlaender <[email protected]> |
63 |
|
|
64 |
|
* tools/formed/formed/plugins/web/plugin.py: Navigation rendering works |
65 |
|
now in recursive way. This change was needed because the structure |
66 |
|
of the formedtree has changed to be able to render full hirachically |
67 |
|
document stuctures. (nested lists) |
68 |
|
|
69 |
|
2007-08-31 Sascha L. Teichmann <[email protected]> |
70 |
|
|
71 |
|
* tools/formed/formed/model/nodecomponents.py: use discard() |
72 |
|
instead of remove on sets. |
73 |
|
|
74 |
|
* tools/formed/formed/plugins/export/sql.py: Added an |
75 |
|
exporter for table views. |
76 |
|
|
77 |
|
* tools/formed/formed/config.py: Added the new exporter |
78 |
|
to the list of export filters. |
79 |
|
|
80 |
|
2007-08-30 Sascha L. Teichmann <[email protected]> |
81 |
|
|
82 |
|
* tools/formed/formed/model/data.py: Fixed a bug in |
83 |
|
Page.allWidgets() |
84 |
|
|
85 |
|
* tools/formed/formed/plugins/export/sql.py: Added an exporter |
86 |
|
for stored procudeures. |
87 |
|
|
88 |
|
* tools/formed/formed/config.py: Add the new SP exporter. |
89 |
|
|
90 |
|
2007-08-29 Torsten Irlaender <[email protected]> |
91 |
|
|
92 |
|
* tools/formed/formed/plugins/web/plugin.py, |
93 |
|
tools/formed/formed/plugins/web/error_renderer.py: Added interface |
94 |
|
to get the errors for a whole page in te formular. These errors can |
95 |
|
now be displayed on the top of the formular. |
96 |
|
|
97 |
|
2007-08-29 Torsten Irlaender <[email protected]> |
98 |
|
|
99 |
|
* tools/formed/formed/plugins/web/renderer.py: Finished implementation |
100 |
|
of the getFromData interface and prepared the rederer for generating |
101 |
|
nice error messages |
102 |
|
|
103 |
|
2007-08-28 Frank Koormann <[email protected]> |
104 |
|
|
105 |
|
* tools/formed/formed/plugins/export/sql.py |
106 |
|
(SchemaCreator.createSchema, SchemaCreator._createGroup): |
107 |
|
Fixed typo in created DDS (PRIMRAY -> PRIMARY) |
108 |
|
|
109 |
|
2007-08-28 Torsten Irlaender <[email protected]> |
110 |
|
|
111 |
|
* tools/formed/formed/plugins/export/sql.py: Added small helper |
112 |
|
function to generated valid quotes within the sql statements |
113 |
|
|
114 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
115 |
|
|
116 |
|
* tools/formed/formed/plugins/export/sql.py: Added foreign keys |
117 |
|
for repeat tables. |
118 |
|
|
119 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
120 |
|
|
121 |
|
* tools/formed/formed/plugins/export/sql.py: When generating |
122 |
|
an extra table check in a table of same content exists. In |
123 |
|
this case reference the existing table. |
124 |
|
|
125 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
126 |
|
|
127 |
|
* tools/formed/formed/plugins/export/sql.py: Rewritten to produce |
128 |
|
_real_ SQL and respect repeat groups. |
129 |
|
|
130 |
|
* tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat() |
131 |
|
|
132 |
|
* tools/formed/formed/plugins/web/renderer.py: Use "".join([]) |
133 |
|
instead of expensive += string concat in some places. |
134 |
|
|
135 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
136 |
|
|
137 |
|
* tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat() |
138 |
|
to .isRepeat and return a bool. Fixed a bug in Page.allWidgets(). |
139 |
|
|
140 |
|
2007-08-28 Torsten Irlaender <[email protected]> |
141 |
|
|
142 |
|
* tools/formed/plugins/web/renderer.py: Added Formdata interface. |
143 |
|
* tools/formed/model/data.py: Implements Formadata interface to |
144 |
|
textfields. Fieldset generated depends now on the "invisible" |
145 |
|
attribute of the groupnode. Field-label generation slightly changed. |
146 |
|
Added error indication to textfields |
147 |
|
|
148 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
149 |
|
|
150 |
|
* tools/formed/formed/model/data.py, |
151 |
|
tools/formed/formed/io/document.py: Removed support |
152 |
|
of logical groups. |
153 |
|
|
154 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
155 |
|
|
156 |
|
* tools/formed/formed/io/document.py: Avoid saving empty |
157 |
|
attributes. |
158 |
|
|
159 |
|
* tools/formed/test-data/simple.xml: Applied. |
160 |
|
|
161 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
162 |
|
|
163 |
|
* tools/formed/formed/model/data.py: Added 'repeat' and |
164 |
|
'invisible' attributes to group. TODO: remove logical group. |
165 |
|
|
166 |
|
2007-08-27 Torsten Irlaender <[email protected]> |
167 |
|
|
168 |
|
* tools/formed/plugins/web/plugin.py, |
169 |
|
tools/formed/plugins/web/renderer.py: Started to include stylesheet |
170 |
|
depending tags in the html generation. |
171 |
|
|
172 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
173 |
|
|
174 |
|
* tools/formed/formed/model/data.py, |
175 |
|
tools/formed/formed/io/document.py: Added a logical group. |
176 |
|
It has an attribute 'repeat' to indicate that it might |
177 |
|
be worthy an external table in DB schema. |
178 |
|
|
179 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
180 |
|
|
181 |
|
* tools/formed/formed/plugins/web/plugin.py: Support |
182 |
|
serving of static content. |
183 |
|
|
184 |
|
* tools/formed/formed/plugins/web/server.py: Removed |
185 |
|
old send code. |
186 |
|
|
187 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
188 |
|
|
189 |
|
* tools/formed/formed/plugins/web/plugin.py: Use new |
190 |
|
Response object. Fix typo. |
191 |
|
|
192 |
|
* tools/formed/formed/plugins/web/server.py: support |
193 |
|
response object to serve different MIME types. |
194 |
|
|
195 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
196 |
|
|
197 |
|
* tools/formed/formed/plugins/web/plugin.py: Add web.path |
198 |
|
to FORMED environment variable to specify the |
199 |
|
root of the static content. |
200 |
|
|
201 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
202 |
|
|
203 |
|
* tools/formed/formed/model/data.py, |
204 |
|
tools/formed/formed/model/nodecomponents.py: Fixed mode issues. |
205 |
|
|
206 |
|
* tools/formed/formed/plugins/web/www, |
207 |
|
tools/formed/formed/plugins/web/www/main.tmpl: New. Contains |
208 |
|
a template for the HTML output. |
209 |
|
|
210 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixes several smaller |
211 |
|
mode issues. Introduces CSS support. Simplified the action |
212 |
|
handling. |
213 |
|
|
214 |
|
* tools/formed/formed/plugins/web/renderer.py: Removed the |
215 |
|
nagivation code. |
216 |
|
|
217 |
|
* tools/formed/formed/plugins/web/server.py: Added missing import. |
218 |
|
|
219 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
220 |
|
|
221 |
|
* tools/formed/formed/model/data.py: Added missing broadcast |
222 |
|
parameter to setAttribute() of RuleLeaf. |
223 |
|
|
224 |
|
* tools/formed/formed/plugins/web/plugin.py: Factorize |
225 |
|
HTTP server code out to separate module. |
226 |
|
|
227 |
|
* tools/formed/formed/plugins/web/renderer.py: Removed |
228 |
|
needless -1 from pop() |
229 |
|
|
230 |
|
* tools/formed/formed/plugins/web/server.py: New. Contains |
231 |
|
the HTTP server code now. |
232 |
|
|
233 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
234 |
|
|
235 |
|
* tools/formed/test-data/simple.xml: Modified to contain a rule. |
236 |
|
|
237 |
|
* tools/formed/formed/model/expr.py: Added. A simple RPN |
238 |
|
expression evaluator. To avoid the problem of eval()ing |
239 |
|
arbitrary python expressions I've decided to use a very |
240 |
|
basic and limited stack machine to support rule checking. |
241 |
|
|
242 |
|
* tools/formed/formed/model/data.py: Added a RuleLeaf. |
243 |
|
|
244 |
|
* tools/formed/formed/io/document.py: Added factories for rules. |
245 |
|
|
246 |
|
* tools/formed/formed/model/nodecomponents.py: Add a method |
247 |
|
to find all items of a given type in document for a given |
248 |
|
mode. Usefull to find all rules in the tree. |
249 |
|
|
250 |
|
* tools/formed/formed/ui/controls.py: Added a listener mechanism |
251 |
|
to attribute table to report exceptions when setting a value |
252 |
|
from GUI. Useful to report compilation errors when setting |
253 |
|
expr of rule leafs. |
254 |
|
|
255 |
|
* tools/formed/formed/main.py: Added a method to track exceptions |
256 |
|
from the attribute table and pop up dialogs if they occur. |
257 |
|
Added a counter of rule modifications in tree. Useful if you |
258 |
|
want build cached data structures like rule sets and you want |
259 |
|
to know if they are still valid. |
260 |
|
|
261 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
262 |
|
|
263 |
|
* tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint |
264 |
|
for checkbox values. (Syntax error). |
265 |
|
|
266 |
|
* tools/formed/formed/plugins/names/filter.py: Fixes in formularname |
267 |
|
generation |
268 |
|
|
269 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
270 |
|
|
271 |
|
* tools/formed/formed/plugins/names/filter.py: Separated Class for |
272 |
|
making the formularnames more database friendly. Added some more |
273 |
|
checks. |
274 |
|
* tools/formed/formed/plugins/export/sql.py: Make use of the fresh |
275 |
|
separated class, and some fixes in sql generation. |
276 |
|
|
277 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
278 |
|
|
279 |
|
* tools/formed/formed/plugins/export/html.py: Print lengths |
280 |
|
of external choice list. |
281 |
|
|
282 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
283 |
|
|
284 |
|
* tools/formed/formed/main.py: Little workaround for |
285 |
|
mode selection if someone adds an removes a mode. |
286 |
|
|
287 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
288 |
|
|
289 |
|
* tools/formed/test-data/simple.xml: Better test case for |
290 |
|
mode depended leaf items. |
291 |
|
|
292 |
|
* tools/formed/formed/model/nodecomponents.py: Added a method |
293 |
|
to calculate the effective mode of an item. |
294 |
|
|
295 |
|
* tools/formed/formed/plugins/export/html.py: Use effective |
296 |
|
mode. TODO: the 'all' modus return false results sometimes. |
297 |
|
Cause: The modes are only cumulated over time. Removal is |
298 |
|
not done. |
299 |
|
|
300 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
301 |
|
|
302 |
|
* tools/formed/formed/plugins/export/html.py: Dump the items |
303 |
|
of radio groups and choices too. |
304 |
|
|
305 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
306 |
|
|
307 |
|
* tools/formed/formed/plugins/names/filter.py: Modified the renaming |
308 |
|
by formular names to make the naming more database friendly. |
309 |
|
Now only alphanumeric and underscore chars is allowed. |
310 |
|
|
311 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
312 |
|
|
313 |
|
* tools/formed/formed/plugins/export/html.py: Tweaked |
314 |
|
HTML table exporter a bit to be on par with the XSLT |
315 |
|
script. TODO: Dump items in radio and choice groups. |
316 |
|
|
317 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
318 |
|
|
319 |
|
* tools/formed/formed/plugins/names/filter.py: Removed |
320 |
|
HTML and SQL exporters. |
321 |
|
|
322 |
|
* tools/formed/formed/plugins/export, |
323 |
|
tools/formed/formed/plugins/export/__init__.py, |
324 |
|
tools/formed/formed/plugins/export/sql.py, |
325 |
|
tools/formed/formed/plugins/export/html.py: New: Contain |
326 |
|
the HTML and the SQL exporters now. |
327 |
|
|
328 |
|
* tools/formed/formed/config.py: Use exporters from different |
329 |
|
package now. |
330 |
|
|
331 |
|
2007-08-23 Torsten Irlaender <[email protected]> |
332 |
|
|
333 |
|
* tools/formed/formed/plugins/names/filter.py: Added an |
334 |
|
pseudo SQL export filters. TODO: Move HTML and SQL filter |
335 |
|
in a new file (formed/plugins/export/htmlexport.py and |
336 |
|
sqlexport.py?) |
337 |
|
|
338 |
|
* tools/formed/formed/config.py: Install the new SQL filter. |
339 |
|
|
340 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
341 |
|
|
342 |
|
* tools/formed/formed/model/nodecomponents.py: Added a depth() |
343 |
|
method to determine the depth of particular tree item. |
344 |
|
|
345 |
|
* tools/formed/formed/plugins/names/filter.py: Added an |
346 |
|
HTML export filters. TODO: needs more work. |
347 |
|
|
348 |
|
* tools/formed/formed/config.py: Install the new HTML filter. |
349 |
|
|
350 |
|
2007-08-23 Torsten Irlaender <[email protected]> |
351 |
|
|
352 |
|
* contrib/extract-xfa-fields_and_options.xsl: Added small xsl script |
353 |
|
to extract fields and options in the XFA Data in teh PDF. This |
354 |
|
script might me handy to indicate changes between the different |
355 |
|
formular versions. |
356 |
|
|
357 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
358 |
|
|
359 |
|
* tools/formed/formed/main.py: Add an 'all' mode to |
360 |
|
select all modes. ;-) |
361 |
|
|
362 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
363 |
|
|
364 |
|
* tools/formed/test-data/simple.xml, |
365 |
|
tools/formed/formed/model/data.py, |
366 |
|
tools/formed/formed/plugins/web/plugin.py, |
367 |
|
tools/formed/formed/plugins/web/renderer.py, |
368 |
|
tools/formed/formed/io/document.py, |
369 |
|
tools/formed/formed/main.py: Removed support for switch nodes. |
370 |
|
BEWARE: This breaks compatibility with older documents! |
371 |
|
|
372 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
373 |
|
|
374 |
|
* tools/formed/formed/plugins/web/plugin.py: Uses the |
375 |
|
getSelectedMode() from main now. |
376 |
|
|
377 |
|
* tools/formed/formed/main.py: selected mode is now hold |
378 |
|
in main. |
379 |
|
|
380 |
|
* tools/formed/formed/config.py: removed selected mode from |
381 |
|
env configuration. |
382 |
|
|
383 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
384 |
|
|
385 |
|
* tools/formed/formed/ui/controls.py: Attributes in GUI attribute |
386 |
|
table are now alphabetically sorted. |
387 |
|
|
388 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
389 |
|
|
390 |
|
* tools/formed/formed/model/nodecomponents.py: Added code to |
391 |
|
establish the new 'modes' recursively. |
392 |
|
|
393 |
|
* tools/formed/formed/plugins/plugin.py: Pass main instead |
394 |
|
of cfg on plug-in start-up. |
395 |
|
|
396 |
|
* tools/formed/formed/plugins/web/plugin.py: Use the new |
397 |
|
'modes' attribute for rendering. |
398 |
|
|
399 |
|
* tools/formed/formed/plugins/web/renderer.py: Use decorators |
400 |
|
to check the new modes. |
401 |
|
|
402 |
|
* tools/formed/formed/main.py: Adjusted to new infrastructure. |
403 |
|
|
404 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
405 |
|
|
406 |
|
* tools/formed/formed/model/nodecomponents.py: Added an |
407 |
|
attribute 'modes' to NodeComponents. |
408 |
|
|
409 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
410 |
|
|
411 |
|
* tools/formed/formed/model/data.py: Small cosmetic cleanups |
412 |
|
|
413 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
414 |
|
|
415 |
|
* tools/formed/formed/plugins/web/renderer.py: Another fix |
416 |
|
for the hidden field. Argh! |
417 |
|
|
418 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
419 |
|
|
420 |
|
* tools/formed/formed/plugins/web/renderer.py: Fixed double |
421 |
|
generation of hidden page field. |
422 |
|
|
423 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
424 |
|
|
425 |
|
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
426 |
|
checks for radio groups. |
427 |
|
|
428 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
429 |
|
|
430 |
|
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
431 |
|
checks for choices. |
432 |
|
|
433 |
|
2007-08-21 Frank Koormann <[email protected]> |
434 |
|
|
435 |
|
* contrib/convert-formedtree2html.xsl: Display switch nodes as |
436 |
|
alternatives. |
437 |
|
|
438 |
|
2007-08-21 Frank Koormann <[email protected]> |
439 |
|
|
440 |
|
* contrib/convert-formedtree2html.xsl: |
441 |
|
Replace technical types with readable descriptions |
442 |
|
|
443 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
444 |
|
|
445 |
|
* tools/formed/formed/plugins/web/plugin.py: Fix a few smaller |
446 |
|
issues. 'action' looks for all widgets on a page now, goes |
447 |
|
through all passed parameters, tries to match them with the |
448 |
|
widgets of the page and put them into the semantic box. |
449 |
|
Afterwards a list of untouched page parameters are left |
450 |
|
which will be deleted from the semantic box. |
451 |
|
|
452 |
|
* tools/formed/formed/plugins/web/semantic.py: Simplified. |
453 |
|
The NodeComponent is passed as an argument now. |
454 |
|
|
455 |
|
* tools/formed/formed/plugins/web/renderer.py: Generate a |
456 |
|
hidden field to store the name of the page. |
457 |
|
|
458 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
459 |
|
|
460 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixed an encoding |
461 |
|
issue with incoming UTF-8 data. |
462 |
|
|
463 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
464 |
|
|
465 |
|
* tools/formed/test-data/simple.xml: Improve test for widgets |
466 |
|
in switches. |
467 |
|
|
468 |
|
* tools/formed/formed/model/data.py: Added a method to find all |
469 |
|
widgets in a given page. Fixed a bug when walking in switch |
470 |
|
with a given mode. |
471 |
|
|
472 |
|
* tools/formed/formed/plugins/web/plugin.py: Simple test for |
473 |
|
listing all widgets in page. |
474 |
|
|
475 |
2007-08-21 Torsten Irlaender <[email protected]> |
2007-08-21 Torsten Irlaender <[email protected]> |
476 |
|
|
477 |
* tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to |
* tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to |