> The local address book uses EBookSqlite, thus what about making it an
> EExtensible? That way, with some EBookSqlite (internal and external) API
> changes, you would be able to create a new module, which will be loaded for
> each EBookSqlite instance and which will be able to step in during
> e_book_sqlite_add_contact/s, e_book_sqlite_remove_contact/s, possibly
> updating an internal table with a list of changes as needed, within the same
> transaction as actual contact's update? With a good API changes you might be
> able to even get the contact before and after the change, so you can create
> your diff. You definitely do not want to do the backlog for each EBookSqlite,
> because it's supposed to be used as the current local contacts cache (to be
> replaced with an OfflineCache in the future for the remote backends), thus 
> some
> checking whether the backlog should be created, based on the actual book
> being this instance used with [1], is necessary.
Idea with additional module make perfect sense.
I have one additional question about updating internal table by this new 
module, should we add some new external API for EBookSqlite to 
create/retrieve/modify  backlog entries or the module can operate directly on 
the database using  instance of sqlite3 struct from EBookSqlite ?


> [1] Either check based on the actual folder being used for the EBookSqlite, or
> pass also an ESource to the e_book_sqlite_new functions and create a new
> ESourceExtension, where you would be able to turn on backlogging selectively,
> without any guessing. The ESourceExtension can be done in the same module as
> the backlog creator.
I think that ESourceExtension will be better idea, as we could use it also for 
defining fields of interest.

Bye,
Mateusz

 

Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052

_______________________________________________
evolution-hackers mailing list
evolution-hackers@gnome.org
To change your list options or unsubscribe, visit ...
https://mail.gnome.org/mailman/listinfo/evolution-hackers

Reply via email to