Document formats and Office things



I asked before if it was ok to talk about this here, but 
feel free to flame me if I talk poo.

I couldn't find anything about this after a somewhat cursory glance, 
apart from some OpenDoc rumblings. From the sparse amount of information 
I found on the web, OpenDoc is not open. It seems to be licensed by 
Apple and IBM to random companies for huge sums. I couldn't find any 
info about it, so I assume it is proprietary. ( It seems pretty 
pointless to try to base our document format on that, so here goes...

I think we should attempt to define our own document format, 
specifically for gnome stuff.
Requirements:
Content neutral: It should print/display/be editable from anywhere
sensical, and in any enabled app, whatever the content.
Transparent access: It should be easy to access the file and elements 
using library functions, or the VFS if it makes sense
VFS support: The  gnome VFS should be able to easily access elements.

File structure:
Header: element offsets and identifiers. User/ random defined fields.
root element: Base element, which contains references to other elements.
element
element
element
etc..

Inside element:
Header: Offset- where data starts.
        Type - eg GWP, GIMP, JPEG, guile script (dodgy macro virus alert)
        Encoding- compression or encryption - raw, pgp, tar, tar&gz, etc
                    How best to nest encodings? Multiple referential                                         
elements, or encoding strings? 
        Random fields - Author, maybe permissions (for groupware and all                         
that), user defined ones too.
Data: normal data.

some types of (fat gnome enabled) elements should be able to request 
other elements. Eg, when displaying them they ask for an Xvisual of a 
particular position/range in the element, or when printing , Postscript.
This should be possible via CORBA. Elements with children would generate 
another request, etc. When going to a more limited document format, eg 
HTML or MSWord, the element should be rendered appropriately. Eg for 
HTML, a complex drawing could go to an image tag, and a png/gif/jpg in 
the appropriate directory.   

When in place editing is required, a new widget should come up, along 
with all its requisite toolbars and additional windows. The parent 
element should be rendered in the background, and all its toolbars should 
hide. 

The neatest way to achieve this would be to have just a general app, 
which opens the file and requests the editing widget of the root element, 
which would remove the need for different executables.

Problems: How to handle moving things, like video, and Java applets, or 
whatever, on a static display, like a printer.  
How to stream, if that is required.


I can't think of anything else at the moment, so 
feel free to rip open or sew up any gaping holes
in the above ramble. 

If this seems incoherent, blame the forever crashing 
Windows based mail client I am forced to use. :(
Rob



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]