Eric Abrahamsen <e...@ericabrahamsen.net> writes:

> "Roland Winkler" <wink...@gnu.org> writes:
>
>> On Thu Dec 24 2015 Eric Abrahamsen wrote:
>>> A while ago there was a very brief exchange about the possibility of a
>>> version of BBDB refactored on top of the EIEIO object orientation
>>> library. I've been thinking about that for a while, and recently wrote
>>> a sort of prototype. I'd like to share it with everyone, either as an
>>> attachment to the list, or I guess preferably by pushing a branch to
>>> the git repo.
>>> 
>>> There isn't anything particularly wrong with BBDB that needs fixing,
>>> but an OO version of the database does lots of good things, mostly in
>>> the direction of extension and customization. It also gets us free
>>> file serialization courtesy of eieio-persistent, and I've added in
>>> support for multiple databases.

Anyhoo, I'm going to post the code sketch as it stands for anyone who's
interested in looking:

https://ericabrahamsen.net/bbdb-eieio.el

The file requires bbdb, but also clobbers some of its functions. It's
best to start an "emacs -Q", make sure BBDB proper is on the load path,
then require the above file.

Then it's `bbdb-load' to start things off, and `bbdb-create-record' to
make records (try it with and without a prefix arg). Once there are a
few records, take a look at the `bbdb-record-tracker' variable, as well
as `bbdb-db-list', then call `bbdb-save' to save.

Most of the work has gone into maintaining integrity when there are
multiple databases, and when records can be moved between databases.
It's even possible to have single records stored in more than one
database -- duplicates are identified by uuid and merged.

I'll probably just continue pottering with this slowly.

E


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Reply via email to