ubimarks code update and interface info

Jose and others,

Some explanations for your questions:

I just updated the code in http://www.annotea.org/mozilla/ubi.xpi, so you 
can look at that when designing the libAnnotea API for the library. The 
ubi.html file is not updated yet, but will be soon.

The code now contains the interface for selecting several files for a data 
source and some sample files using both URN UUIDs (the right ones are still 
generated by hand as I could not find Mozilla URN UUID generator) and 
relative HTTP addresses.

I think it makes sense to give the HTTP addresses with OWL:sameAs rather 
than change the URN ID back and forth when the file changes from a local 
file to a global one. It should be the same for applications who understand 
OWL anyways? I think this also helps with the server as it can just add a 
new OWL:sameAs address and continue to understand all other addresses to be 
the same in the queries.

You also asked what RDF interfaces I use. Each file has an nsIRDFDataSource 
interface and I also use the nsIRDFRemoteDataSource Interface. The 
datasources then collected to a composite datasource with additional 
interface nsIRDFCompositeDataSource. The first datasource in the composite 
is supposed to be the write source, but I may make it more separate in the 
future.

You can look the datasources for instance in 
http://www.xulplanet.com/references/xpcomref/comps/c_rdfdatasource1namecompositedatasource.html. 
And if you grep the names of the nsI*DataSource name you find where they 
are used in my code.

I haven't had enough time to design a perfect API from my perspective, I'm 
still concentrating in the user interface and making more things work. I 
already did a better install file too, but it got lost in my big crash, I'm 
hoping to get that done again soon too.

Main things missing to be able to use this in real work:
- automatic URN UUID generation, now it uses temporary code with 
timestamps. (I did not yet find Mozilla code for this, but if anyone knows 
how to do this from javascript so that it is portable, please let me know!)
- collections are not necessary to make this work, it works already and I 
can read bookmark files with or without collections. However, users need 
collections to preserve order when they start using this seriously, I just 
have difficulties in seeing what you are doing from the example file as the 
file is huge and the statements are not serialized so that they would be 
easy to read by a human.

If users want to copy information locally as a cache from a global bookmark 
file we probably need some way of telling which file to use for updates. If 
you know good practises, let me know too.

High in my priority list right now is to start experimenting with the 
server with Eric.

Marja

Received on Thursday, 21 October 2004 05:39:15 UTC