Carol,
I see sharing the catalog as a read-only thing. I don't know what
Aleksey has in mind for Library. Even if that wasn't true, a database
is not necessary. There is a framework called Prevayler that handles
in-memory databases in such a way that you can lose power without losing
updates. I've used that framework in Java and I believe there is an
implementation for Python as well. I doubt I would need it though.
I think of this as being an electronic card catalog for one's personal
library. I'm not doing airline reservations, or dealing with more data
than will easily fit in memory. If someone's battery dies while they're
adding cards to the catalog they'll lose their work but the old
directory entry should survive.
As a user I would not want to need external software to make my Activity
work. I have experienced this with Read Etexts and the speech
function. Read Etexts has supported TTS with highlighting for months,
but getting the needed external (outside the Activity bundle) software
on everyone's XO is a whole other problem, that will take a lot longer
to solve. If there was a way to avoid that I would have.
James Simmons
Carol Farlow Lerche wrote:
You would need to reinvent ACID updates if you shared the catalog.
On Mon, May 4, 2009 at 12:34 PM, James Simmons
<[email protected] <mailto:[email protected]>> wrote:
Carol,
I would not use sqllite 3. The metadata for several hundred books
could easily fit in memory. It would basically be a good sized
spreadsheet. Python has a "pickling" feature which can save a
bunch of objects in memory in a single file that can be easily
reloaded into memory. I could store the pickle file as a Journal
entry. I would not try to recreate ALL of Calibre, just the parts
I would find the most useful. That way the Activity could be
entirely self contained.
James Simmons
Carol Farlow Lerche wrote:
Calibre makes a sqlite3 database which is the basis for its
display. It seems to have a reasonable schema. (An easy way
to examine it is with the Sqlite Manger, an excellent Firefox
add-on if you haven't already discovered it).
_______________________________________________
IAEP -- It's An Education Project (not a laptop project!)
[email protected]
http://lists.sugarlabs.org/listinfo/iaep