Thanks for your help, Mathias!
As I've been asked I try to explain in a few lines the idea of the
project:
The project TeNDa X (text native database extension) uses a different
approach to save document data. Each character is treated as an entity in a
specially adapted database. This method opens the way to new or enhanced
functionalities concerning documents:
- Working on the document there is no need to manually save the data
because every character is directly written in the database.
- Many users can have the same document opened and work on it seeing
every change from other users simultaneously on their screen.
- Every single change on the document can be historicized (who has
written what and when). One can see where some text parts came from (copy &
paste?), how much a person has contributed to a document or who can be asked
for some more explanation to a part of the text. Getting an older version of
the document is also possible.
- Some more features like dynamic folders, enhanced security,
visualization, data mining, work flow etc.
At the moment the project uses a self made simple word editor. As the
existing prototype of the project actually works fine it would increase the
attractiveness of the project when users could use a popular editor like
OpenOffice.org Writer.
Now the complete database communication can be added into an UNO
component using the menu bar to open the documents and using IDL to
communicate with the Writer. But the main problem is somewhere else. How do
I get or set the exact positioning of an operation (e.g. insert)? Absolute
positioning values are difficult to use in a collaborative environment.
TeNDa X uses the database Ids of the characters before and after the
inserted one to localize changes because they are time-invariant. Of course
these Ids don't exist in the document model of OpenOffice.org. That is why I
have to make a mapping.
In order to minimize the risk of getting a wrong position this mapping
should happen as tardily as possible. That is why working with cursors on
the IDL interface has not led to a usable result (I have lost much time with
this approach). I am now searching for ways how the needed functionality
could be added in the native code compactly without a lost of performance
(considering that these described functionalities will only be used by a
small part of users, at least for the next years).
I hope this description has not been to long and that I could arouse
interest. I'm curious about each question or statement concerning this
approach.
Best regards,
Stéphane
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]