1 |
|
2007-09-10 Sascha L. Teichmann <[email protected]> |
2 |
|
|
3 |
|
* tools/formed/formed/plugins/web/renderer.py: Highlight selected |
4 |
|
page in page navigation. |
5 |
|
|
6 |
|
2007-09-10 Torsten Irlaender <[email protected]> |
7 |
|
|
8 |
|
* tools/formed/formed/plugins/web/controllers.py: Fixed issues on |
9 |
|
displaying formdata when changing datasets. Loading the right |
10 |
|
formdata was not handled in a correct way. Hope it is all fixed now. |
11 |
|
Left some commented code because not all sideeffects of the changes |
12 |
|
are tested yet. |
13 |
|
|
14 |
|
* tools/formed/formed/plugins/web/renderer.py: DataSetDigestRenderer |
15 |
|
now uses the correct data out of the formdata. |
16 |
|
|
17 |
|
2007-09-10 Sascha L. Teichmann <[email protected]> |
18 |
|
|
19 |
|
* tools/formed/formed/plugins/web/controllers.py: Pretty |
20 |
|
print format data (dates e.g) |
21 |
|
|
22 |
|
2007-09-10 Sascha L. Teichmann <[email protected]> |
23 |
|
|
24 |
|
* tools/formed/formed/plugins/web/controllers.py: Modified |
25 |
|
ErrorStats a bit to avoid mysterious extra error on page. |
26 |
|
No clue why this works. |
27 |
|
|
28 |
|
2007-09-10 Sascha L. Teichmann <[email protected]> |
29 |
|
|
30 |
|
* tools/formed/formed/plugins/web/form_renderer.py: Fixed value |
31 |
|
problem with radio groups, too. |
32 |
|
|
33 |
|
2007-09-10 Torsten Irlaender <[email protected]> |
34 |
|
* tools/formed/formed/plugins/web/controllers.py: Sessions are now |
35 |
|
really removed when deleting a dataset. |
36 |
|
|
37 |
|
2007-09-10 Torsten Irlaender <[email protected]> |
38 |
|
|
39 |
|
* tools/formed/formed/plugins/web/controllers.py: Added new Class |
40 |
|
ErrorStats which provides Information on remaining errors per page. |
41 |
|
|
42 |
|
* tools/formed/formed/plugins/web/renderers.py: Finished movement of |
43 |
|
the renderer methods from controllers.py to renderers.py. |
44 |
|
|
45 |
|
* tools/formed/formed/plugins/web/plugin.py: Removed render_session |
46 |
|
handlers |
47 |
|
|
48 |
|
2007-09-10 Sascha L. Teichmann <[email protected]> |
49 |
|
|
50 |
|
* tools/formed/formed/plugins/web/form_renderer.py: values for |
51 |
|
choices are generated from the document tree now. This brings |
52 |
|
the state storage of select boxes in HTML to live. |
53 |
|
|
54 |
|
2007-09-09 Sascha L. Teichmann <[email protected]> |
55 |
|
|
56 |
|
* tools/formed/formed/plugins/web/semantic.py: Fixed problems with |
57 |
|
range checking of integers. |
58 |
|
|
59 |
|
* tools/formed/formed/plugins/web/controllers.py: Added class |
60 |
|
ErrorItem to track errors. They are stored in the session. |
61 |
|
|
62 |
|
2007-09-09 Sascha L. Teichmann <[email protected]> |
63 |
|
|
64 |
|
* tools/formed/formed/model/nodecomponents.py: Fixed returning |
65 |
|
wrong index in Document.indexOfcomponentByClassAndName. |
66 |
|
|
67 |
|
* tools/formed/formed/plugins/web/form_renderer.py: 'error' was |
68 |
|
written 'errot' in renderer for textareas. |
69 |
|
|
70 |
|
* tools/formed/formed/plugins/web/controllers.py: Some clean-ups. |
71 |
|
|
72 |
|
2007-09-09 Sascha L. Teichmann <[email protected]> |
73 |
|
|
74 |
|
* tools/formed/formed/plugins/web/help.py: Added a 'hasHelp' |
75 |
|
method. Could be cheaper for some implementations of help. |
76 |
|
|
77 |
|
* tools/formed/formed/plugins/web/form_renderer.py: Modified |
78 |
|
FormData to have distinct getData(), getHelp() and getError() |
79 |
|
methods. Various bug fixes. |
80 |
|
|
81 |
|
* tools/formed/formed/plugins/web/controllers.py: Implements the |
82 |
|
new FormData (trivial by now). |
83 |
|
|
84 |
|
* tools/formed/formed/plugins/web/renderer.py: New FormData and |
85 |
|
some bug fixes. |
86 |
|
|
87 |
|
2007-09-09 Sascha L. Teichmann <[email protected]> |
88 |
|
|
89 |
|
* tools/formed/formed/model/memory.py, |
90 |
|
tools/formed/formed/model/persistent.py: Add a getValue() method |
91 |
|
to dataset abstraction. This is a bit of a workaround to bring |
92 |
|
global access across pages for rule checking to work. |
93 |
|
|
94 |
|
* tools/formed/formed/model/data.py: Fixed: When setting a new expression |
95 |
|
the compiled version was not stored in the RuleLeaf. |
96 |
|
|
97 |
|
* tools/formed/formed/model/expr.py: shlex lexer does not like unicode. |
98 |
|
convert the expression string to ascii for compilation. |
99 |
|
|
100 |
|
* tools/formed/formed/plugins/web/semantic.py: Remove the 'box' because |
101 |
|
valid data is stored to the dataset immediately now. Fixed a bug |
102 |
|
with integer handler. |
103 |
|
|
104 |
|
* tools/formed/formed/plugins/web/controllers.py: Removed the semantic 'box' |
105 |
|
stuff. When a submit is done extract the rules from the tree document |
106 |
|
that are effected by the modified variables and check them. |
107 |
|
|
108 |
|
* tools/formed/formed/plugins/web/renderer.py: Fixed exception handling |
109 |
|
when dealing with templates. |
110 |
|
|
111 |
|
2007-09-07 Torsten Irlaender <[email protected]> |
112 |
|
* tools/formed/formed/plugins/web/controllers.py, |
113 |
|
tools/formed/formed/plugins/web/renderer.py: Moved more render |
114 |
|
functions into renderer.py. New render classes are: |
115 |
|
DataSetDigestRenderer, DataSetNavigationRenderer, |
116 |
|
DataSetFormularRenderer, ConfirmationDialogRenderer |
117 |
|
|
118 |
|
Note: The new methods are only called from selected handlers. Other |
119 |
|
handlers call the renderes in the old way. |
120 |
|
|
121 |
|
2007-09-07 Torsten Irlaender <[email protected]> |
122 |
|
* tools/formed/formed/plugins/web/form_renderer.py: Renamed |
123 |
|
renderer.py to form_renderer.py. This file will contain formular |
124 |
|
specfic render methods in the future. |
125 |
|
* tools/formed/formed/plugins/web/renderer.py: Added new renderer.py |
126 |
|
which will contain general render methods. |
127 |
|
* tools/formed/formed/plugins/web/controllers.py: Began to move all |
128 |
|
rendering into renderer.py or form_renderer.py. This file will only |
129 |
|
contain teh handlers in the future. |
130 |
|
|
131 |
|
2007-09-07 Torsten Irlaender <[email protected]> |
132 |
|
* tools/formed/formed/plugins/web/renderer.py, |
133 |
|
tools/formed/formed/plugins/web/controller.py: |
134 |
|
Renderes now get an instance of the formdata object to provide |
135 |
|
access the data needed to render various infoboxes etc. Handler |
136 |
|
instanciate the formdata. |
137 |
|
|
138 |
|
2007-09-06 Torsten Irlaender <[email protected]> |
139 |
|
* tools/formed/formed/plugins/web/renderer.py: Mainly tried to get the |
140 |
|
getFormData interface to work. Added two small semantic fixes, but |
141 |
|
did not manage to get it up. Need to exime this a little bit more |
142 |
|
* tools/formed/formed/plugins/web/controllers.py: Put <div> tags |
143 |
|
around the menus on the right side to be able to assign different |
144 |
|
styles. Added dataset actions while editing a dataset. |
145 |
|
|
146 |
|
2007-09-05 Torsten Irlaender <[email protected]> |
147 |
|
* tools/formed/formed/model/memory.py: Fixed deleting datasets by |
148 |
|
removing unwanted del method |
149 |
|
* tools/formed/formed/plugins/web/controllers.py: Implemented |
150 |
|
confiration dialogs for create, delete, and select aof datasets. Started to use |
151 |
|
templates as well for larger information units like the dataset summary. |
152 |
|
|
153 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
154 |
|
|
155 |
|
* tools/formed/formed/model/nodecomponents.py: Added a |
156 |
|
method to document to find index of page. |
157 |
|
|
158 |
|
* tools/formed/formed/plugins/web/semantic.py: Added getValue() |
159 |
|
to fetch data from semantic box. |
160 |
|
|
161 |
|
* tools/formed/formed/plugins/web/controllers.py: Added new |
162 |
|
FormData implementation to support DB and semantic box. |
163 |
|
|
164 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
165 |
|
|
166 |
|
* tools/formed/formed/plugins/web/renderer.py: escaped |
167 |
|
error message. |
168 |
|
|
169 |
|
* tools/formed/formed/plugins/web/controllers.py: Don't fetch |
170 |
|
dataset from backend each time a page is up to edit. |
171 |
|
|
172 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
173 |
|
|
174 |
|
* tools/formed/formed/plugins/web/renderer.py: SimplePageRenderer |
175 |
|
returns "Page not found" if given page is None. |
176 |
|
|
177 |
|
* tools/formed/formed/plugins/web/controllers.py: Added checks |
178 |
|
to avoid crashing when ask for a non-existent page. |
179 |
|
|
180 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
181 |
|
|
182 |
|
* tools/formed/formed/plugins/web/controllers.py: Some clean-ups. |
183 |
|
|
184 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
185 |
|
|
186 |
|
* tools/formed/formed/plugins/web/plugin.py: Remove request handlers |
187 |
|
and renderers. |
188 |
|
|
189 |
|
* tools/formed/formed/plugins/web/controllers.py: New. Contains handlers |
190 |
|
and renderers now. TODO: Move renderers to renderer.py |
191 |
|
|
192 |
|
2007-09-05 Torsten Irlaender <[email protected]> |
193 |
|
|
194 |
|
* tools/formed/formed/plugins/web/www/main.tmpl: Adopted web template |
195 |
|
and bound in the the new added functions to create, edit, delete and |
196 |
|
show formdata. |
197 |
|
|
198 |
|
2007-09-05 Sascha L. Teichmann <[email protected]> |
199 |
|
|
200 |
|
* tools/formed/formed/model/memory.py: Removed bisect and use a |
201 |
|
simple linear scan for dataset lookup now. |
202 |
|
|
203 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixed various issues |
204 |
|
of different sizes. |
205 |
|
|
206 |
|
2007-09-05 Torsten Irlaender <[email protected]> |
207 |
|
|
208 |
|
* tools/formed/formed/plugins/web/memory.py: Fixed getDataSetById |
209 |
|
fuction |
210 |
|
|
211 |
|
* tools/formed/formed/plugins/web/persistent.py: Added store() method |
212 |
|
to the DataSet interface |
213 |
|
|
214 |
|
* tools/formed/formed/plugins/web/renderer.py: Added handlers and |
215 |
|
renderes for create, update, delete and show actions on formular data. |
216 |
|
|
217 |
|
2007-09-04 Sascha L. Teichmann <[email protected]> |
218 |
|
|
219 |
|
* tools/formed/formed/plugins/web/server.py: The mapping |
220 |
|
to methods is now driven by regualar expressions and |
221 |
|
a dictionary. Response objects are now able to send |
222 |
|
error codes. |
223 |
|
|
224 |
|
* tools/formed/formed/plugins/web/renderer.py: Fixed an issue |
225 |
|
when help in Formdata is None. Moved text for help into |
226 |
|
a top level '''...''' variable. |
227 |
|
|
228 |
|
* tools/formed/test-data/simple.xml: Added test for help. |
229 |
|
|
230 |
|
* tools/formed/formed/plugins/web/help.py: extra None check. |
231 |
|
|
232 |
|
* tools/formed/formed/plugins/web/plugin.py: Uses the new |
233 |
|
table driven mapping of reguest handling. TODO: split the |
234 |
|
WebPlugIn.pageHandler() method further to smaller handlers. |
235 |
|
Smaller clean ups and better exception handling. |
236 |
|
|
237 |
|
* tools/formed/formed/plugins/web/cache.py: Report OSErrors |
238 |
|
and do not catch them. |
239 |
|
|
240 |
|
2007-09-04 Torsten Irlaender <[email protected]> |
241 |
|
|
242 |
|
* tools/formed/formed/plugins/web/renderer.py, |
243 |
|
* tools/formed/formed/plugins/web/plugin.py: Added Interface to |
244 |
|
the HelpProvider and inserted help icons to the html output. |
245 |
|
Added decorator for Formelemnts, so textfields, choices etc. are now |
246 |
|
within a <div> tag. |
247 |
|
Modified the error messages. |
248 |
|
|
249 |
|
2007-09-04 Sascha L. Teichmann <[email protected]> |
250 |
|
|
251 |
|
* tools/formed/formed/plugins/web/cache.py: New. Implements |
252 |
|
the server-side caching more clean. Fixes a bug with |
253 |
|
serving static content. |
254 |
|
|
255 |
|
* tools/formed/formed/plugins/web/plugin.py: Use the new cache. |
256 |
|
|
257 |
|
2007-09-04 Sascha L. Teichmann <[email protected]> |
258 |
|
|
259 |
|
* tools/formed/formed/plugins/web/plugin.py: Set MIME type |
260 |
|
to "application/xhtml+xml" when serving help texts. |
261 |
|
|
262 |
|
2007-09-03 Sascha L. Teichmann <[email protected]> |
263 |
|
|
264 |
|
* tools/formed/formed/plugins/export/diff.py: New. Exports |
265 |
|
pairwise differences between all modes. |
266 |
|
|
267 |
|
* tools/formed/formed/config.py: Use new export filter. |
268 |
|
|
269 |
|
2007-09-03 Sascha L. Teichmann <[email protected]> |
270 |
|
|
271 |
|
* tools/formed/formed/plugins/web/help.py: New. Parses an |
272 |
|
XHTML document for id'ed divs and builds a help lookup. |
273 |
|
|
274 |
|
* tools/formed/formed/plugins/web/www/help.tmpl: Template for |
275 |
|
the help content frame. |
276 |
|
|
277 |
|
* tools/formed/formed/plugins/web/www/help.xhtml: Some simple |
278 |
|
help text index. |
279 |
|
|
280 |
|
* tools/formed/formed/plugins/web/plugin.py: Serves the help |
281 |
|
texts now. |
282 |
|
|
283 |
|
2007-09-03 Torsten Irlaender <[email protected]> |
284 |
|
|
285 |
|
* tools/formed/formed/plugins/web/plugin.py: Only visible group |
286 |
|
elements will be rendered in the formular navigation. |
287 |
|
Formular pages in the navigation now have their own css-style |
288 |
|
attributes. |
289 |
|
|
290 |
|
2007-09-03 Torsten Irlaender <[email protected]> |
291 |
|
|
292 |
|
* tools/formed/formed/plugins/web/www/main.tmpl: Added div area for page |
293 |
|
errors in template |
294 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixed undefined |
295 |
|
pageerrors variable |
296 |
|
|
297 |
|
2007-09-03 Frank Koormann <[email protected]> |
298 |
|
|
299 |
|
* tools/formed/formed/plugins/export/html.py |
300 |
|
(RecursiveExporter): Added annotation to export |
301 |
|
(fillRow()): Renamed old fillNine to this more generic name. |
302 |
|
|
303 |
|
|
304 |
|
2007-09-03 Sascha L. Teichmann <[email protected]> |
305 |
|
|
306 |
|
* tools/formed/formed/plugins/web/renderer.py: Using the decorator |
307 |
|
from model.misc now. |
308 |
|
|
309 |
|
2007-09-03 Sascha L. Teichmann <[email protected]> |
310 |
|
|
311 |
|
* tools/formed/formed/model/nodecomponents.py: Added an |
312 |
|
'annotation' attribute to node components. This is to |
313 |
|
enable FormEd document authors to add comments to groups |
314 |
|
and fields. |
315 |
|
|
316 |
|
2007-09-03 Frank Koormann <[email protected]> |
317 |
|
|
318 |
|
* tools/formed/formed/model/nodecomponents.py |
319 |
|
(NodeComponent.getParent): New method to get node components parent. |
320 |
|
|
321 |
|
* tools/formed/formed/plugins/export/html.py: Export Choice option |
322 |
|
as simple list instead of collection of bools. |
323 |
|
|
324 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
325 |
|
|
326 |
|
* tools/formed/formed/model/persistent.py: Interfaces to abstract |
327 |
|
from persistent storage details. |
328 |
|
|
329 |
|
* tools/formed/formed/model/memory.py: In core implementation |
330 |
|
of the persistent interfaces. |
331 |
|
|
332 |
|
* tools/formed/formed/main.py: Holds a memory data store now. |
333 |
|
|
334 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
335 |
|
|
336 |
|
* tools/formed/formed/plugins/export/sql.py, |
337 |
|
tools/formed/formed/plugins/export/html.py: Fixed constructor chains |
338 |
|
for FileDialogFilter sub classes. |
339 |
|
|
340 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
341 |
|
|
342 |
|
* tools/formed/formed/model/misc.py: Checking the mode in recursive |
343 |
|
tree traversals is a common task. To ease this a decorator function |
344 |
|
checkMode in union with sub classing ModeChecker can be used. |
345 |
|
To make it work simply subclass from ModeChecker and add the decorator |
346 |
|
to the methods that need mode tracking. Before you start the recursion |
347 |
|
call self.prepareDescent(). |
348 |
|
|
349 |
|
* tools/formed/formed/plugins/export/html.py: Uses the new decorator scheme |
350 |
|
now which replace the old. TODO: Make the web renderer use the new scheme |
351 |
|
too. |
352 |
|
|
353 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
354 |
|
|
355 |
|
* tools/formed/formed/plugins/export/sql.py: Removed needless import. |
356 |
|
|
357 |
|
* tools/formed/formed/plugins/export/html.py: HTML table exporter |
358 |
|
uses new FileDialogFilter base class too. |
359 |
|
|
360 |
|
2007-09-02 Sascha L. Teichmann <[email protected]> |
361 |
|
|
362 |
|
* tools/formed/formed/plugins/ui/*: New. All file exporters |
363 |
|
need a file dialog. Till now each of them pulled up its |
364 |
|
own. This was silly code replication. Now there is an abstract |
365 |
|
base class 'FileDialogFilter' which implements the common |
366 |
|
behavior. The file exporters should subclass it. |
367 |
|
|
368 |
|
* tools/formed/formed/plugins/export/sql.py: Subclass the SQL |
369 |
|
exporters from the new base class. TODO: Subclass the HTML |
370 |
|
exporter too. |
371 |
|
|
372 |
|
2007-08-31 Sascha L. Teichmann <[email protected]> |
373 |
|
|
374 |
|
* tools/formed/formed/plugins/export/html.py: Make mode check |
375 |
|
work (again). |
376 |
|
|
377 |
|
2007-08-31 Torsten Irlaender <[email protected]> |
378 |
|
|
379 |
|
* tools/formed/formed/plugins/export/html.py: Rendering of the HTML |
380 |
|
exprt works now in a recursive way. This change was needed because |
381 |
|
the structure of the formedtree has changed to be able to render |
382 |
|
full hirachically document stuctures. (nested lists) |
383 |
|
TODO: Fix modechecking |
384 |
|
|
385 |
|
2007-08-31 Torsten Irlaender <[email protected]> |
386 |
|
|
387 |
|
* tools/formed/formed/plugins/web/plugin.py: Navigation rendering works |
388 |
|
now in recursive way. This change was needed because the structure |
389 |
|
of the formedtree has changed to be able to render full hirachically |
390 |
|
document stuctures. (nested lists) |
391 |
|
|
392 |
|
2007-08-31 Sascha L. Teichmann <[email protected]> |
393 |
|
|
394 |
|
* tools/formed/formed/model/nodecomponents.py: use discard() |
395 |
|
instead of remove on sets. |
396 |
|
|
397 |
|
* tools/formed/formed/plugins/export/sql.py: Added an |
398 |
|
exporter for table views. |
399 |
|
|
400 |
|
* tools/formed/formed/config.py: Added the new exporter |
401 |
|
to the list of export filters. |
402 |
|
|
403 |
|
2007-08-30 Sascha L. Teichmann <[email protected]> |
404 |
|
|
405 |
|
* tools/formed/formed/model/data.py: Fixed a bug in |
406 |
|
Page.allWidgets() |
407 |
|
|
408 |
|
* tools/formed/formed/plugins/export/sql.py: Added an exporter |
409 |
|
for stored procudeures. |
410 |
|
|
411 |
|
* tools/formed/formed/config.py: Add the new SP exporter. |
412 |
|
|
413 |
|
2007-08-29 Torsten Irlaender <[email protected]> |
414 |
|
|
415 |
|
* tools/formed/formed/plugins/web/plugin.py, |
416 |
|
tools/formed/formed/plugins/web/error_renderer.py: Added interface |
417 |
|
to get the errors for a whole page in te formular. These errors can |
418 |
|
now be displayed on the top of the formular. |
419 |
|
|
420 |
|
2007-08-29 Torsten Irlaender <[email protected]> |
421 |
|
|
422 |
|
* tools/formed/formed/plugins/web/renderer.py: Finished implementation |
423 |
|
of the getFromData interface and prepared the rederer for generating |
424 |
|
nice error messages |
425 |
|
|
426 |
|
2007-08-28 Frank Koormann <[email protected]> |
427 |
|
|
428 |
|
* tools/formed/formed/plugins/export/sql.py |
429 |
|
(SchemaCreator.createSchema, SchemaCreator._createGroup): |
430 |
|
Fixed typo in created DDS (PRIMRAY -> PRIMARY) |
431 |
|
|
432 |
|
2007-08-28 Torsten Irlaender <[email protected]> |
433 |
|
|
434 |
|
* tools/formed/formed/plugins/export/sql.py: Added small helper |
435 |
|
function to generated valid quotes within the sql statements |
436 |
|
|
437 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
438 |
|
|
439 |
|
* tools/formed/formed/plugins/export/sql.py: Added foreign keys |
440 |
|
for repeat tables. |
441 |
|
|
442 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
443 |
|
|
444 |
|
* tools/formed/formed/plugins/export/sql.py: When generating |
445 |
|
an extra table check in a table of same content exists. In |
446 |
|
this case reference the existing table. |
447 |
|
|
448 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
449 |
|
|
450 |
|
* tools/formed/formed/plugins/export/sql.py: Rewritten to produce |
451 |
|
_real_ SQL and respect repeat groups. |
452 |
|
|
453 |
|
* tools/formed/formed/model/data.py: Fixed bug with Group.isRepeat() |
454 |
|
|
455 |
|
* tools/formed/formed/plugins/web/renderer.py: Use "".join([]) |
456 |
|
instead of expensive += string concat in some places. |
457 |
|
|
458 |
|
2007-08-29 Sascha L. Teichmann <[email protected]> |
459 |
|
|
460 |
|
* tools/formed/formed/model/data.py: Renamed GroupNode.getRepeat() |
461 |
|
to .isRepeat and return a bool. Fixed a bug in Page.allWidgets(). |
462 |
|
|
463 |
|
2007-08-28 Torsten Irlaender <[email protected]> |
464 |
|
|
465 |
|
* tools/formed/plugins/web/renderer.py: Added Formdata interface. |
466 |
|
* tools/formed/model/data.py: Implements Formadata interface to |
467 |
|
textfields. Fieldset generated depends now on the "invisible" |
468 |
|
attribute of the groupnode. Field-label generation slightly changed. |
469 |
|
Added error indication to textfields |
470 |
|
|
471 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
472 |
|
|
473 |
|
* tools/formed/formed/model/data.py, |
474 |
|
tools/formed/formed/io/document.py: Removed support |
475 |
|
of logical groups. |
476 |
|
|
477 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
478 |
|
|
479 |
|
* tools/formed/formed/io/document.py: Avoid saving empty |
480 |
|
attributes. |
481 |
|
|
482 |
|
* tools/formed/test-data/simple.xml: Applied. |
483 |
|
|
484 |
|
2007-08-28 Sascha L. Teichmann <[email protected]> |
485 |
|
|
486 |
|
* tools/formed/formed/model/data.py: Added 'repeat' and |
487 |
|
'invisible' attributes to group. TODO: remove logical group. |
488 |
|
|
489 |
|
2007-08-27 Torsten Irlaender <[email protected]> |
490 |
|
|
491 |
|
* tools/formed/plugins/web/plugin.py, |
492 |
|
tools/formed/plugins/web/renderer.py: Started to include stylesheet |
493 |
|
depending tags in the html generation. |
494 |
|
|
495 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
496 |
|
|
497 |
|
* tools/formed/formed/model/data.py, |
498 |
|
tools/formed/formed/io/document.py: Added a logical group. |
499 |
|
It has an attribute 'repeat' to indicate that it might |
500 |
|
be worthy an external table in DB schema. |
501 |
|
|
502 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
503 |
|
|
504 |
|
* tools/formed/formed/plugins/web/plugin.py: Support |
505 |
|
serving of static content. |
506 |
|
|
507 |
|
* tools/formed/formed/plugins/web/server.py: Removed |
508 |
|
old send code. |
509 |
|
|
510 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
511 |
|
|
512 |
|
* tools/formed/formed/plugins/web/plugin.py: Use new |
513 |
|
Response object. Fix typo. |
514 |
|
|
515 |
|
* tools/formed/formed/plugins/web/server.py: support |
516 |
|
response object to serve different MIME types. |
517 |
|
|
518 |
|
2007-08-27 Sascha L. Teichmann <[email protected]> |
519 |
|
|
520 |
|
* tools/formed/formed/plugins/web/plugin.py: Add web.path |
521 |
|
to FORMED environment variable to specify the |
522 |
|
root of the static content. |
523 |
|
|
524 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
525 |
|
|
526 |
|
* tools/formed/formed/model/data.py, |
527 |
|
tools/formed/formed/model/nodecomponents.py: Fixed mode issues. |
528 |
|
|
529 |
|
* tools/formed/formed/plugins/web/www, |
530 |
|
tools/formed/formed/plugins/web/www/main.tmpl: New. Contains |
531 |
|
a template for the HTML output. |
532 |
|
|
533 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixes several smaller |
534 |
|
mode issues. Introduces CSS support. Simplified the action |
535 |
|
handling. |
536 |
|
|
537 |
|
* tools/formed/formed/plugins/web/renderer.py: Removed the |
538 |
|
nagivation code. |
539 |
|
|
540 |
|
* tools/formed/formed/plugins/web/server.py: Added missing import. |
541 |
|
|
542 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
543 |
|
|
544 |
|
* tools/formed/formed/model/data.py: Added missing broadcast |
545 |
|
parameter to setAttribute() of RuleLeaf. |
546 |
|
|
547 |
|
* tools/formed/formed/plugins/web/plugin.py: Factorize |
548 |
|
HTTP server code out to separate module. |
549 |
|
|
550 |
|
* tools/formed/formed/plugins/web/renderer.py: Removed |
551 |
|
needless -1 from pop() |
552 |
|
|
553 |
|
* tools/formed/formed/plugins/web/server.py: New. Contains |
554 |
|
the HTTP server code now. |
555 |
|
|
556 |
|
2007-08-26 Sascha L. Teichmann <[email protected]> |
557 |
|
|
558 |
|
* tools/formed/test-data/simple.xml: Modified to contain a rule. |
559 |
|
|
560 |
|
* tools/formed/formed/model/expr.py: Added. A simple RPN |
561 |
|
expression evaluator. To avoid the problem of eval()ing |
562 |
|
arbitrary python expressions I've decided to use a very |
563 |
|
basic and limited stack machine to support rule checking. |
564 |
|
|
565 |
|
* tools/formed/formed/model/data.py: Added a RuleLeaf. |
566 |
|
|
567 |
|
* tools/formed/formed/io/document.py: Added factories for rules. |
568 |
|
|
569 |
|
* tools/formed/formed/model/nodecomponents.py: Add a method |
570 |
|
to find all items of a given type in document for a given |
571 |
|
mode. Usefull to find all rules in the tree. |
572 |
|
|
573 |
|
* tools/formed/formed/ui/controls.py: Added a listener mechanism |
574 |
|
to attribute table to report exceptions when setting a value |
575 |
|
from GUI. Useful to report compilation errors when setting |
576 |
|
expr of rule leafs. |
577 |
|
|
578 |
|
* tools/formed/formed/main.py: Added a method to track exceptions |
579 |
|
from the attribute table and pop up dialogs if they occur. |
580 |
|
Added a counter of rule modifications in tree. Useful if you |
581 |
|
want build cached data structures like rule sets and you want |
582 |
|
to know if they are still valid. |
583 |
|
|
584 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
585 |
|
|
586 |
|
* tools/formed/formed/plugins/export/sql.py: Fixed CHECK-constraint |
587 |
|
for checkbox values. (Syntax error). |
588 |
|
|
589 |
|
* tools/formed/formed/plugins/names/filter.py: Fixes in formularname |
590 |
|
generation |
591 |
|
|
592 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
593 |
|
|
594 |
|
* tools/formed/formed/plugins/names/filter.py: Separated Class for |
595 |
|
making the formularnames more database friendly. Added some more |
596 |
|
checks. |
597 |
|
* tools/formed/formed/plugins/export/sql.py: Make use of the fresh |
598 |
|
separated class, and some fixes in sql generation. |
599 |
|
|
600 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
601 |
|
|
602 |
|
* tools/formed/formed/plugins/export/html.py: Print lengths |
603 |
|
of external choice list. |
604 |
|
|
605 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
606 |
|
|
607 |
|
* tools/formed/formed/main.py: Little workaround for |
608 |
|
mode selection if someone adds an removes a mode. |
609 |
|
|
610 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
611 |
|
|
612 |
|
* tools/formed/test-data/simple.xml: Better test case for |
613 |
|
mode depended leaf items. |
614 |
|
|
615 |
|
* tools/formed/formed/model/nodecomponents.py: Added a method |
616 |
|
to calculate the effective mode of an item. |
617 |
|
|
618 |
|
* tools/formed/formed/plugins/export/html.py: Use effective |
619 |
|
mode. TODO: the 'all' modus return false results sometimes. |
620 |
|
Cause: The modes are only cumulated over time. Removal is |
621 |
|
not done. |
622 |
|
|
623 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
624 |
|
|
625 |
|
* tools/formed/formed/plugins/export/html.py: Dump the items |
626 |
|
of radio groups and choices too. |
627 |
|
|
628 |
|
2007-08-24 Torsten Irlaender <[email protected]> |
629 |
|
|
630 |
|
* tools/formed/formed/plugins/names/filter.py: Modified the renaming |
631 |
|
by formular names to make the naming more database friendly. |
632 |
|
Now only alphanumeric and underscore chars is allowed. |
633 |
|
|
634 |
|
2007-08-24 Sascha L. Teichmann <[email protected]> |
635 |
|
|
636 |
|
* tools/formed/formed/plugins/export/html.py: Tweaked |
637 |
|
HTML table exporter a bit to be on par with the XSLT |
638 |
|
script. TODO: Dump items in radio and choice groups. |
639 |
|
|
640 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
641 |
|
|
642 |
|
* tools/formed/formed/plugins/names/filter.py: Removed |
643 |
|
HTML and SQL exporters. |
644 |
|
|
645 |
|
* tools/formed/formed/plugins/export, |
646 |
|
tools/formed/formed/plugins/export/__init__.py, |
647 |
|
tools/formed/formed/plugins/export/sql.py, |
648 |
|
tools/formed/formed/plugins/export/html.py: New: Contain |
649 |
|
the HTML and the SQL exporters now. |
650 |
|
|
651 |
|
* tools/formed/formed/config.py: Use exporters from different |
652 |
|
package now. |
653 |
|
|
654 |
|
2007-08-23 Torsten Irlaender <[email protected]> |
655 |
|
|
656 |
|
* tools/formed/formed/plugins/names/filter.py: Added an |
657 |
|
pseudo SQL export filters. TODO: Move HTML and SQL filter |
658 |
|
in a new file (formed/plugins/export/htmlexport.py and |
659 |
|
sqlexport.py?) |
660 |
|
|
661 |
|
* tools/formed/formed/config.py: Install the new SQL filter. |
662 |
|
|
663 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
664 |
|
|
665 |
|
* tools/formed/formed/model/nodecomponents.py: Added a depth() |
666 |
|
method to determine the depth of particular tree item. |
667 |
|
|
668 |
|
* tools/formed/formed/plugins/names/filter.py: Added an |
669 |
|
HTML export filters. TODO: needs more work. |
670 |
|
|
671 |
|
* tools/formed/formed/config.py: Install the new HTML filter. |
672 |
|
|
673 |
|
2007-08-23 Torsten Irlaender <[email protected]> |
674 |
|
|
675 |
|
* contrib/extract-xfa-fields_and_options.xsl: Added small xsl script |
676 |
|
to extract fields and options in the XFA Data in teh PDF. This |
677 |
|
script might me handy to indicate changes between the different |
678 |
|
formular versions. |
679 |
|
|
680 |
|
2007-08-23 Sascha L. Teichmann <[email protected]> |
681 |
|
|
682 |
|
* tools/formed/formed/main.py: Add an 'all' mode to |
683 |
|
select all modes. ;-) |
684 |
|
|
685 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
686 |
|
|
687 |
|
* tools/formed/test-data/simple.xml, |
688 |
|
tools/formed/formed/model/data.py, |
689 |
|
tools/formed/formed/plugins/web/plugin.py, |
690 |
|
tools/formed/formed/plugins/web/renderer.py, |
691 |
|
tools/formed/formed/io/document.py, |
692 |
|
tools/formed/formed/main.py: Removed support for switch nodes. |
693 |
|
BEWARE: This breaks compatibility with older documents! |
694 |
|
|
695 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
696 |
|
|
697 |
|
* tools/formed/formed/plugins/web/plugin.py: Uses the |
698 |
|
getSelectedMode() from main now. |
699 |
|
|
700 |
|
* tools/formed/formed/main.py: selected mode is now hold |
701 |
|
in main. |
702 |
|
|
703 |
|
* tools/formed/formed/config.py: removed selected mode from |
704 |
|
env configuration. |
705 |
|
|
706 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
707 |
|
|
708 |
|
* tools/formed/formed/ui/controls.py: Attributes in GUI attribute |
709 |
|
table are now alphabetically sorted. |
710 |
|
|
711 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
712 |
|
|
713 |
|
* tools/formed/formed/model/nodecomponents.py: Added code to |
714 |
|
establish the new 'modes' recursively. |
715 |
|
|
716 |
|
* tools/formed/formed/plugins/plugin.py: Pass main instead |
717 |
|
of cfg on plug-in start-up. |
718 |
|
|
719 |
|
* tools/formed/formed/plugins/web/plugin.py: Use the new |
720 |
|
'modes' attribute for rendering. |
721 |
|
|
722 |
|
* tools/formed/formed/plugins/web/renderer.py: Use decorators |
723 |
|
to check the new modes. |
724 |
|
|
725 |
|
* tools/formed/formed/main.py: Adjusted to new infrastructure. |
726 |
|
|
727 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
728 |
|
|
729 |
|
* tools/formed/formed/model/nodecomponents.py: Added an |
730 |
|
attribute 'modes' to NodeComponents. |
731 |
|
|
732 |
|
2007-08-22 Sascha L. Teichmann <[email protected]> |
733 |
|
|
734 |
|
* tools/formed/formed/model/data.py: Small cosmetic cleanups |
735 |
|
|
736 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
737 |
|
|
738 |
|
* tools/formed/formed/plugins/web/renderer.py: Another fix |
739 |
|
for the hidden field. Argh! |
740 |
|
|
741 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
742 |
|
|
743 |
|
* tools/formed/formed/plugins/web/renderer.py: Fixed double |
744 |
|
generation of hidden page field. |
745 |
|
|
746 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
747 |
|
|
748 |
|
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
749 |
|
checks for radio groups. |
750 |
|
|
751 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
752 |
|
|
753 |
|
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
754 |
|
checks for choices. |
755 |
|
|
756 |
|
2007-08-21 Frank Koormann <[email protected]> |
757 |
|
|
758 |
|
* contrib/convert-formedtree2html.xsl: Display switch nodes as |
759 |
|
alternatives. |
760 |
|
|
761 |
|
2007-08-21 Frank Koormann <[email protected]> |
762 |
|
|
763 |
|
* contrib/convert-formedtree2html.xsl: |
764 |
|
Replace technical types with readable descriptions |
765 |
|
|
766 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
767 |
|
|
768 |
|
* tools/formed/formed/plugins/web/plugin.py: Fix a few smaller |
769 |
|
issues. 'action' looks for all widgets on a page now, goes |
770 |
|
through all passed parameters, tries to match them with the |
771 |
|
widgets of the page and put them into the semantic box. |
772 |
|
Afterwards a list of untouched page parameters are left |
773 |
|
which will be deleted from the semantic box. |
774 |
|
|
775 |
|
* tools/formed/formed/plugins/web/semantic.py: Simplified. |
776 |
|
The NodeComponent is passed as an argument now. |
777 |
|
|
778 |
|
* tools/formed/formed/plugins/web/renderer.py: Generate a |
779 |
|
hidden field to store the name of the page. |
780 |
|
|
781 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
782 |
|
|
783 |
|
* tools/formed/formed/plugins/web/plugin.py: Fixed an encoding |
784 |
|
issue with incoming UTF-8 data. |
785 |
|
|
786 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
787 |
|
|
788 |
|
* tools/formed/test-data/simple.xml: Improve test for widgets |
789 |
|
in switches. |
790 |
|
|
791 |
|
* tools/formed/formed/model/data.py: Added a method to find all |
792 |
|
widgets in a given page. Fixed a bug when walking in switch |
793 |
|
with a given mode. |
794 |
|
|
795 |
|
* tools/formed/formed/plugins/web/plugin.py: Simple test for |
796 |
|
listing all widgets in page. |
797 |
|
|
798 |
|
2007-08-21 Torsten Irlaender <[email protected]> |
799 |
|
|
800 |
|
* tools/formed/formed/plugins/names/filter.py: Fixed file-encoding to |
801 |
|
latin-1 |
802 |
|
|
803 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
804 |
|
|
805 |
|
* tools/formed/formed/model/data.py: Added mode parameter to |
806 |
|
walk. |
807 |
|
|
808 |
|
* tools/formed/formed/model/nodecomponents.py: SwitchNode overwrites |
809 |
|
walk() with usage of the new mode parameter. Added a method to |
810 |
|
give children in a given mode. |
811 |
|
|
812 |
|
* tools/formed/formed/plugins/web/renderer.py: Simplified to use |
813 |
|
new Switch.childrenInMode() method. |
814 |
|
|
815 |
|
2007-08-21 Sascha L. Teichmann <[email protected]> |
816 |
|
|
817 |
|
* tools/formed/formed/plugins/web/semantic.py: Add checks for |
818 |
|
texts and text areas. |
819 |
|
|
820 |
|
* tools/formed/formed/plugins/web/renderer.py: Set accept-charset |
821 |
|
to UTF-8 in generated form. |
822 |
|
|
823 |
|
2007-08-20 Sascha L. Teichmann <[email protected]> |
824 |
|
|
825 |
|
* tools/formed/formed/plugins/web/semantic.py: Added semantic |
826 |
|
tests for dates. |
827 |
|
|
828 |
|
2007-08-20 Sascha L. Teichmann <[email protected]> |
829 |
|
|
830 |
|
* tools/formed/test-data/simple.xml: Tweak a bit for integer |
831 |
|
range test. |
832 |
|
|
833 |
|
* tools/formed/formed/model/nodecomponents.py: Added a method |
834 |
|
to find a tree item for a given name. |
835 |
|
|
836 |
|
* tools/formed/formed/plugins/web/semantic.py: New: Box for |
837 |
|
semantic checking. Has check for integers. |
838 |
|
|
839 |
|
* tools/formed/formed/plugins/web/plugin.py: Use semantic |
840 |
|
check. |
841 |
|
|
842 |
|
2007-08-20 Torsten Irlaender <[email protected]> |
843 |
|
|
844 |
|
* tools/formed/formed/plugins/web/renderer.py: Fixed Syntax in |
845 |
|
selection-field generation (Removed quote) |
846 |
|
|
847 |
|
2007-08-18 Sascha L. Teichmann <[email protected]> |
848 |
|
|
849 |
|
* tools/formed/formed/plugins/web/plugin.py, |
850 |
|
tools/formed/formed/plugins/web/renderer.py: Added a |
851 |
|
simple cookie based session management to the HTML |
852 |
|
renderer. This submit parameters are stored in the |
853 |
|
session now. This will ease testing the constraint |
854 |
|
tests which need to be written soon. |
855 |
|
|
856 |
|
BEWARE: The session management is _not_ made for production! |
857 |
|
Denial of service attacks are too easy, and the |
858 |
|
cryptographical strength of the session id is doubtful. |
859 |
|
|
860 |
|
2007-08-18 Sascha L. Teichmann <[email protected]> |
861 |
|
|
862 |
|
* tools/formed/formed/plugins/web/renderer.py: Escaping text |
863 |
|
coming from the document tree now when inserting it into the |
864 |
|
HTML output. |
865 |
|
|
866 |
|
2007-08-18 Sascha L. Teichmann <[email protected]> |
867 |
|
|
868 |
|
* tools/formed/formed/plugins/plugin.py: Added a new kind |
869 |
|
of plug-in: Filter. They have a short and a long description |
870 |
|
and can be hooked automatically into the new 'Filters' |
871 |
|
sub menu under 'Extra'. They got called when the user |
872 |
|
selects their respective menu item. |
873 |
|
|
874 |
|
* tools/formed/formed/config.py: Contains the list of |
875 |
|
installed filters. |
876 |
|
|
877 |
|
* tools/formed/formed/main.py: Builds the Extra->Filters |
878 |
|
sub menu during gui initialization. The hard wired code |
879 |
|
for make unique and formular name/description -> name |
880 |
|
is removed because they are implemented as filters now. |
881 |
|
|
882 |
|
* tools/formed/formed/model/nodecomponents.py, |
883 |
|
tools/formed/formed/model/data.py: Removed the make |
884 |
|
unique and formular name/description -> name code. |
885 |
|
|
886 |
|
* tools/formed/formed/plugins/names, |
887 |
|
tools/formed/formed/plugins/names/__init__.py, |
888 |
|
tools/formed/formed/plugins/names/filter.py: Added. Contains |
889 |
|
the make unique and formular name/description -> name code |
890 |
|
in form of filters. |
891 |
|
|
892 |
|
* tools/formed/test-data/simple.xml: Modified to be a better |
893 |
|
test for the formular name/description -> name filter. |
894 |
|
|
895 |
|
2007-08-18 Sascha L. Teichmann <[email protected]> |
896 |
|
|
897 |
|
* tools/formed/formed.py, tools/formed/formed/main.py: First |
898 |
|
command line argument is interpreted as filename of document |
899 |
|
to be loaded at program startup. |
900 |
|
|
901 |
|
2007-08-17 Frank Koormann <[email protected]> |
902 |
|
|
903 |
|
* contrib/convert-formedtree2html.xsl: |
904 |
|
Heading level depending on depth of group node. |
905 |
|
In case of radio/choice/check only list of options. |
906 |
|
|
907 |
|
2007-08-17 Torsten Irlaender <[email protected]> |
908 |
|
|
909 |
|
* contrib/convert-formedtree2html.xsl: Output is now generated with |
910 |
|
HTML doc-string and charset information in the meta-header. |
911 |
|
|
912 |
|
2007-08-17 Torsten Irlaender <[email protected]> |
913 |
|
|
914 |
|
* contrib/convert-formedtree2html.xsl: Added small script for |
915 |
|
exporting the formed tree to html |
916 |
|
|
917 |
|
2007-08-17 Torsten Irlaender <[email protected]> |
918 |
|
|
919 |
|
* tools/formed/model/nodecomponents.py: Added function to rename |
920 |
|
the set the name of the node to the formularname. The formularname |
921 |
|
gets shorten to <=64 by removing vowels and is stored lowercase. |
922 |
|
If the name is not unique and additional id value is appended. |
923 |
|
|
924 |
|
* tools/formed/formed/model/data.py: Overwritten renaming-function for |
925 |
|
bool-leafs |
926 |
|
|
927 |
|
* tools/formed/formed/main.py: Added menuitem for renaming the names |
928 |
|
of the element |
929 |
|
|
930 |
|
2007-08-16 Sascha L. Teichmann <[email protected]> |
931 |
|
|
932 |
|
* tools/formed/formed/main.py: Swaped order of |
933 |
|
'Make names unique' and 'Selected mode...' in Extra |
934 |
|
menu and put a separator between them. |
935 |
|
|
936 |
|
2007-08-15 Sascha L. Teichmann <[email protected]> |
937 |
|
|
938 |
|
* tools/formed/formed/model/data.py: SwitchNodes can add |
939 |
|
their modes to a given set now. |
940 |
|
|
941 |
|
* tools/formed/formed/plugins/plugin.py: Simplified |
942 |
|
the plug-in interface. Only the reference to the |
943 |
|
global configuration is passed at setup time. |
944 |
|
|
945 |
|
* tools/formed/formed/plugins/web/plugin.py: Adjusted |
946 |
|
to new plug-in setup. The traveral mode is now taken |
947 |
|
from the global configuration each time a rendering |
948 |
|
is triggered. The FORMED parameter is now named |
949 |
|
'doc.mode' instead of 'web.mode'. The parameter |
950 |
|
is not needed any more because it can be configured |
951 |
|
at runtime. |
952 |
|
|
953 |
|
* tools/formed/formed/main.py: Adjusted to new plugin |
954 |
|
setup. Added a new menu item Extra->Select Mode... |
955 |
|
to select the traversal mode. It is stored in the |
956 |
|
global config. |
957 |
|
|
958 |
|
* tools/formed/formed/config.py: Simplified. Only uses |
959 |
|
one env dictionary to store global configuration parameters. |
960 |
|
|
961 |
|
* tools/formed/formed/ui/controls.py: Add a control to |
962 |
|
select one item from a list of given strings. |
963 |
|
|
964 |
2007-08-15 Sascha L. Teichmann <[email protected]> |
2007-08-15 Sascha L. Teichmann <[email protected]> |
965 |
|
|
966 |
* tools/formed/formed/plugins/web/plugin.py, |
* tools/formed/formed/plugins/web/plugin.py, |