I include some documentation on what I am working:

Notes on changing Library API /WoT

Requirements:
=============
whatever you do to refactor Library will still need to support Spider

Current main problem:?
=====================
Library can only handle, one tree at once (and it generates the USK for that 
itself).?

We need:
=======
-Generalise both existing messages in Library API
-Modify the frequency of properties update in WoT (see things done by WoT)
-an FCP command to fetch the index so we can show it on the Spider UI, NOT SURE 
see with toad.
-Mid to Long term: To search USK of other indexes (from other identities)

Things done by Curator?
======================
Curator gets all identities of the local node from WoT plugin.?
It offers the client to select the identity that will share indexes. Each 
identity only has one index (do we need more?). Each identity may have a list 
of topics to curate (terms).?
Curator derives the index' key from the identity. The index will use as prefix 
the Request URI and change the file's name part (e.g. "index").
It passes to Library new entries to populate indexes. Each entry corresponds to 
an on-freenet webpage or a on-freenet document. Eventually it may read info 
automatically from the webpage to share (page description, usk, etc). In the 
case of documents, the user need to complete the form manually. Each entry is 
in a buffer, then we send pushBuffer message to Library.?
It provides Library with the USK for the index.


Things done by Library
======================
Maintains on disk different indexes. Basically mergeToDisk() parses the data 
(which is a SimpleFieldSet) and adds it to the on-disk tree?
Currently it only handles one for Spider. Library generates the USK (randomly) 
and uploads it to Freenet.
At the moment, Library API can handle two messages designed for Spider:
1)getSpiderURI
getSpiderURI calls getPublicUSKURI(): handle -> handleGetSpiderURI() -> 
getPublicUSKURI()
getPublicUSKURI() is a method on SpiderIndexUploader.java
It is the method in SpiderIndexUploader. Is is useful to know where is the tree 
uploaded on Freenet (currently a random USK).
Of course the tree itself is uploaded to a CHK - uploading a pointer to a USK 
is something on top
2)pushBuffer
The pushBuffer FCP command takes a Bucket of data, which is a series of pages 
... eventually mergeToDisk() gets called (the outer layers are performance 
hacks/buffering)

Things done by WoT (mail p0s)

==================
We need to update the USK edition number periodically. We need update because 
USK is not so efficient to get the last version soon. It may take some time to 
get it.?
Updating an identity's property causes an identity re-insert (i.e. upload the 
identity to freenet). We need WoT to update the IndexRoot property frequently 
but not every time we update indexes. We don't want to cause so many 
re-inserts. So the optimisation is that our property gets updated only once, in 
the daily identity re-insertion triggered by WoT. p0s can change this behaviour.

Leuchtkaefer

Reply via email to