(now that we're getting into the nitty gritty technical stuff as opposed to the 
general stuff, I suggest we do the next reply only to devel).

On Thursday 14 May 2009 05:11:25 pm Ed Bartosh wrote:
> 2009/5/14 Damien Elmes <[email protected]>:
> > You also need to sync facts, and cards should either be synced
> > separately (the current case) or synced as part of a fact, not the
> > other way around, or you duplicate information. Then there is deck
> > metadata like revision history that needs to be synced too.
>
> Then we can use fact and related cards as a minimal amount of data.

I think it depends, as some clients don't support the fact/card model. For 
those clients, we need to send across only the card, with pregenerated 
question and answer, and marked as 'non-editable' so that the client doesn't 
mess up the fact/card model and we lose information on the round trip.

I think there are roughly three classes of clients:

* those that support only q/a type cards
* those that support the fact/card model for general N-sided cards, for which 
we need to send across Fact and Card, but also the set of FactViews making up 
the card type. (For this, libmnemosyne needs to change, as currently we can 
only have hard coded CardTypes, as well as clones of these. I'm not sure that 
is needed for 2.0, though)
* those that support CardTypes which are more complex then just specifying the 
order of Fact fields in different FactViews. One example here is the Cloze 
CardType plugin in Mnemosyne (I don't think Anki has those things, believe it 
or not, I never studied its source). Those will be very difficult to map 
between 
different systems, and will probably always have to be sent across as non-
editable simple cards.

Of course, openSM2sync compatible clients should honour the promise of not 
editing these cards.

> deck metadata is tiny and shouldn't create any problems.


> > I believe
> > this is all stored in a text file at the moment in Mnemosyne, but
> > looking at Peter's code, I think he mentioned somewhere the
> > possibility of storing it in SQL in the future.
>
> It's stored in pickle object in Mnemosyne 1.1 and in the SQLite in
> development version (2.0).

That is true for the database. The logging (i.e. history) is done in a text 
file, which could easily be sent across.

Peter

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"mnemosyne-proj-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/mnemosyne-proj-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to