Tuesday, June 26, 2007

I've spent some time coding the initial implementation of the Fields.
Currently mostly all the features required by the official GSOC task are completed.

Fields that are fully functional:
- TextInput
- VariableSet
- PageNumber
- DateField
- Placeholder

I've also created a series of tests and made some improvements to the Forms.
At present time both export and import of Fields are supported :)

Wednesday, June 20, 2007

Here is my preliminary vision of Fields:
  1. All the fields-related classes are located in AODL.Document.Fields namespace
  2. All the Fields classes that represent the appropriate 'content' snippets implement the IContent interface.
  3. Placeholder and TextInput classes stand for text:placeholder and text:text-input fields respectively.
  4. Placeholder class has such properties as PlaceholderType, Value, Description and some others. PlaceholderType is an enumeration.
  5. TextInput class has such Value, Descriptions properties etc.
  6. Implementation of text:variable-set will be separated in two classes: VariableDecl and VariableSet. VariableDeclCollection will be a class deriving from CollectionWithEvents to handle variable declaration lists.
  7. VariableDecl will stand for variable declaration snippet. Main properties besides Name and Node: Name and VariableValueType
  8. TextDocument is augmented with a variable declaration list property
  9. TextDocument has methods to find any VariableDecl. For example, by its name.
  10. VariableSet is a class that implements the text:variable-set. It has a series of properties bound to the possible attributes of text:variable-set tag.
  11. Of course, there will be some kind of synchronization between the two last mentioned classes
  12. Import/export handlers will support fields.

Saturday, June 16, 2007

Hi everybody who reads this blog,
this week I gonna be a little more busy than before because of my summer exams at the University. So I will probably be posting to this blog more rarely :)
My AODL Forms implementation (first part of my GSOC objective) is nearly finished. After some discussions with my mentor Lars Behrmann we decided that the thing I will concentrate now on is fixing bugs, writing tests and creating a demo application.
The first two points are in progress now. The third one is almost completed, but I've changed the initial goal - it was writing a demo application that loads any ODF file and creates a panel with controls corresponding to them. However, there could be a lot of problems with their positioning (ponder about a 100-page document with ODF Forms on every page). Of course, a scrollable panel could be created, but I decided to make a little bit simplier app that just creates a panel with a fixed set of controls and then "exports" and "imports" its values from the similar ODF Form.
Nevertheless, if I have enough time I will add extra features to it :)

The next step is ODF Fields - my second part of the GSoC!
I will be creating a detailed overview of their implementation soon.

Cheers!

Upd. I've just found a nasty bug producing an error while performing New-Load-Save, New-New-Save or Load-Load-Save with the same TextDocument instance.
It's already fixed :)

Tuesday, June 5, 2007

At present time I am creating a series of tests for the AODL forms.
After I finish fixing bugs I'll play with the nested forms a little bit - frankly speaking, I didn't pay too much attention to this concept before...

After that I'll upload a beta version to the CVS :)
Cheers!