* Difference between EBDB and BBDB
@ 2019-06-25 2:15 M.R.P. zensky via help-gnu-emacs
2019-06-25 15:45 ` Stefan Monnier
0 siblings, 1 reply; 11+ messages in thread
From: M.R.P. zensky via help-gnu-emacs @ 2019-06-25 2:15 UTC (permalink / raw)
To: help-gnu-emacs
What is the difference between EBDB and BBDB?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 2:15 Difference between EBDB and BBDB M.R.P. zensky via help-gnu-emacs
@ 2019-06-25 15:45 ` Stefan Monnier
2019-06-25 17:56 ` Eric Abrahamsen
0 siblings, 1 reply; 11+ messages in thread
From: Stefan Monnier @ 2019-06-25 15:45 UTC (permalink / raw)
To: help-gnu-emacs
> What is the difference between EBDB and BBDB?
Let's ask Emacs:
M-: (- #xEBDB #xBBDB)
==> 12288
-- Stefan
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 15:45 ` Stefan Monnier
@ 2019-06-25 17:56 ` Eric Abrahamsen
2019-06-25 19:06 ` Drew Adams
0 siblings, 1 reply; 11+ messages in thread
From: Eric Abrahamsen @ 2019-06-25 17:56 UTC (permalink / raw)
To: Stefan Monnier; +Cc: help-gnu-emacs
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> What is the difference between EBDB and BBDB?
>
> Let's ask Emacs:
>
> M-: (- #xEBDB #xBBDB)
> ==> 12288
Here I thought it was 42!
I'm the author of EBDB. The two packages do pretty similar things: EBDB
started out as a refactor/rewrite of BBDB, which has been around a lot
longer. So it still _feels_ very similar, though it's written using
completely different elisp tools. The idea was to make a system that was
much more flexible and extensible than BBDB. EBDB is only reaching
maturity around this time, so a lot of that potential is still in the
future.
Right now I'd say two big differences are multiple record types (there
are separate record types for people and organizations, and records can
have "roles" at multiple organizations) and internationalization
(phones/addresses can be aware of national formats, as can non-English
scripts for names).
Hope that helps,
Eric
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: Difference between EBDB and BBDB
2019-06-25 17:56 ` Eric Abrahamsen
@ 2019-06-25 19:06 ` Drew Adams
2019-06-25 19:34 ` Eric Abrahamsen
0 siblings, 1 reply; 11+ messages in thread
From: Drew Adams @ 2019-06-25 19:06 UTC (permalink / raw)
To: Eric Abrahamsen, Stefan Monnier; +Cc: help-gnu-emacs
> Right now I'd say two big differences are multiple record types (there
> are separate record types for people and organizations, and records can
> have "roles" at multiple organizations) and internationalization
> (phones/addresses can be aware of national formats, as can non-English
> scripts for names).
It sounds like, as one big difference, they are incompatible. You cannot use the same "database" records for both. Is that right?
If so, that's a big difference. If so, does either provide a function to import records from the other?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 19:06 ` Drew Adams
@ 2019-06-25 19:34 ` Eric Abrahamsen
2019-06-25 20:34 ` Xavier Maillard
2019-06-25 21:08 ` Drew Adams
0 siblings, 2 replies; 11+ messages in thread
From: Eric Abrahamsen @ 2019-06-25 19:34 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs, Stefan Monnier
Drew Adams <drew.adams@oracle.com> writes:
>> Right now I'd say two big differences are multiple record types (there
>> are separate record types for people and organizations, and records can
>> have "roles" at multiple organizations) and internationalization
>> (phones/addresses can be aware of national formats, as can non-English
>> scripts for names).
>
> It sounds like, as one big difference, they are incompatible. You
> cannot use the same "database" records for both. Is that right?
That's right.
> If so, that's a big difference. If so, does either provide a function
> to import records from the other?
EBDB can import from BBDB; EBDB hasn't been around long enough for
anyone to want to go the other way. If someone tried it for a couple
months and hated it, but didn't want to lose their contacts, I could
pretty easily write a BBDB exporter.
EBDB also has pluggable/swappable databases, so in theory one could make
a database type that stored to a BBDB-usable file, but I'm not sure why
you'd want to do that.
I forgot EBDB's other major selling-point: it has a manual!
Eric
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 19:34 ` Eric Abrahamsen
@ 2019-06-25 20:34 ` Xavier Maillard
2019-06-25 21:39 ` Jude DaShiell
2019-06-25 21:08 ` Drew Adams
1 sibling, 1 reply; 11+ messages in thread
From: Xavier Maillard @ 2019-06-25 20:34 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: help-gnu-emacs, monnier
> From: Eric Abrahamsen <eric@ericabrahamsen.net>
> Date: Tue, 25 Jun 2019 12:34:23 -0700
> I forgot EBDB's other major selling-point: it has a manual!
+1
That's a huge plus.
- xma
GPG: BA4909B7 8F04DE1B
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: Difference between EBDB and BBDB
2019-06-25 19:34 ` Eric Abrahamsen
2019-06-25 20:34 ` Xavier Maillard
@ 2019-06-25 21:08 ` Drew Adams
2019-06-25 21:25 ` Eric Abrahamsen
1 sibling, 1 reply; 11+ messages in thread
From: Drew Adams @ 2019-06-25 21:08 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: help-gnu-emacs, Stefan Monnier
> > It sounds like, as one big difference, they are incompatible. You
> > cannot use the same "database" records for both. Is that right?
>
> That's right.
>
> > If so, that's a big difference. If so, does either provide a function
> > to import records from the other?
>
> EBDB can import from BBDB;
That's great.
> EBDB hasn't been around long enough for
> anyone to want to go the other way. If someone tried it for a couple
> months and hated it, but didn't want to lose their contacts, I could
> pretty easily write a BBDB exporter.
>
> EBDB also has pluggable/swappable databases,
That could be even better, in principle.
> so in theory one could make
> a database type that stored to a BBDB-usable file, but I'm not sure why
> you'd want to do that.
Just food for thought:
It's good to be able to separate the use (UI, UX or
whatever) from the database itself - form of records
etc. Regardless of whether it's BBDB or whatever
else might come along or already exists out there
somewhere.
A generic way for a user to define her own
record-to-record mapping (for whatever storage form)
could help. It could be a mapping for one-time
conversion or a mapping to use at runtime to access
another database directly.
> I forgot EBDB's other major selling-point: it has a manual!
Excellent.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 21:08 ` Drew Adams
@ 2019-06-25 21:25 ` Eric Abrahamsen
2019-06-25 21:40 ` Drew Adams
0 siblings, 1 reply; 11+ messages in thread
From: Eric Abrahamsen @ 2019-06-25 21:25 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs, Stefan Monnier
On 06/25/19 14:08 PM, Drew Adams wrote:
>> > It sounds like, as one big difference, they are incompatible. You
>> > cannot use the same "database" records for both. Is that right?
>>
>> That's right.
>>
>> > If so, that's a big difference. If so, does either provide a function
>> > to import records from the other?
>>
>> EBDB can import from BBDB;
>
> That's great.
>
>> EBDB hasn't been around long enough for
>> anyone to want to go the other way. If someone tried it for a couple
>> months and hated it, but didn't want to lose their contacts, I could
>> pretty easily write a BBDB exporter.
>>
>> EBDB also has pluggable/swappable databases,
>
> That could be even better, in principle.
>
>> so in theory one could make
>> a database type that stored to a BBDB-usable file, but I'm not sure why
>> you'd want to do that.
>
> Just food for thought:
>
> It's good to be able to separate the use (UI, UX or
> whatever) from the database itself - form of records
> etc. Regardless of whether it's BBDB or whatever
> else might come along or already exists out there
> somewhere.
That was absolutely my first principle in making this package: the
classes responsible for storage and behavior have nothing to do with the
interface presented to the user. In fact, ebdb.el should be usable as an
API for other packages, while ebdb-com.el should only be responsible for
the ebdb-mode buffers. I wouldn't be surprised if I've screwed up this
separation somewhat, but that was the original idea, and I will fix
relevant bugs!
> A generic way for a user to define her own
> record-to-record mapping (for whatever storage form)
> could help. It could be a mapping for one-time
> conversion or a mapping to use at runtime to access
> another database directly.
While the documentation doesn't go into this at this point, this is
precisely how the whole system works, right down to the "generic" term:
`cl-defgeneric' is basically how you take control of the whole system.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 20:34 ` Xavier Maillard
@ 2019-06-25 21:39 ` Jude DaShiell
0 siblings, 0 replies; 11+ messages in thread
From: Jude DaShiell @ 2019-06-25 21:39 UTC (permalink / raw)
To: Xavier Maillard, Eric Abrahamsen; +Cc: help-gnu-emacs, monnier
bbdb was not developed at IBM, in that corporation the manual has to be
written first then passed to the programmmers who make manual-conformant
software.
On Tue, 25 Jun 2019, Xavier Maillard wrote:
> Date: Tue, 25 Jun 2019 16:34:38
> From: Xavier Maillard <xavier@maillard.im>
> To: Eric Abrahamsen <eric@ericabrahamsen.net>
> Cc: help-gnu-emacs@gnu.org, monnier@iro.umontreal.ca
> Subject: Re: Difference between EBDB and BBDB
>
> > From: Eric Abrahamsen <eric@ericabrahamsen.net>
> > Date: Tue, 25 Jun 2019 12:34:23 -0700
> > I forgot EBDB's other major selling-point: it has a manual!
>
> +1
>
> That's a huge plus.
>
> - xma
>
> GPG: BA4909B7 8F04DE1B
>
>
--
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: Difference between EBDB and BBDB
2019-06-25 21:25 ` Eric Abrahamsen
@ 2019-06-25 21:40 ` Drew Adams
2019-06-25 22:20 ` Eric Abrahamsen
0 siblings, 1 reply; 11+ messages in thread
From: Drew Adams @ 2019-06-25 21:40 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: help-gnu-emacs, Stefan Monnier
> > Just food for thought:
> >
> > It's good to be able to separate the use (UI, UX or
> > whatever) from the database itself - form of records
> > etc. Regardless of whether it's BBDB or whatever
> > else might come along or already exists out there
> > somewhere.
>
> That was absolutely my first principle in making this package: the
> classes responsible for storage and behavior have nothing to do with the
> interface presented to the user. In fact, ebdb.el should be usable as an
> API for other packages, while ebdb-com.el should only be responsible for
> the ebdb-mode buffers. I wouldn't be surprised if I've screwed up this
> separation somewhat, but that was the original idea, and I will fix
> relevant bugs!
>
> > A generic way for a user to define her own
> > record-to-record mapping (for whatever storage form)
> > could help. It could be a mapping for one-time
> > conversion or a mapping to use at runtime to access
> > another database directly.
>
> While the documentation doesn't go into this at this point, this is
> precisely how the whole system works, right down to the "generic" term:
> `cl-defgeneric' is basically how you take control of the whole system.
The curmudgeon has nothing more to say. Good job!
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Difference between EBDB and BBDB
2019-06-25 21:40 ` Drew Adams
@ 2019-06-25 22:20 ` Eric Abrahamsen
0 siblings, 0 replies; 11+ messages in thread
From: Eric Abrahamsen @ 2019-06-25 22:20 UTC (permalink / raw)
To: Drew Adams; +Cc: help-gnu-emacs, Stefan Monnier
Drew Adams <drew.adams@oracle.com> writes:
>> > Just food for thought:
>> >
>> > It's good to be able to separate the use (UI, UX or
>> > whatever) from the database itself - form of records
>> > etc. Regardless of whether it's BBDB or whatever
>> > else might come along or already exists out there
>> > somewhere.
>>
>> That was absolutely my first principle in making this package: the
>> classes responsible for storage and behavior have nothing to do with the
>> interface presented to the user. In fact, ebdb.el should be usable as an
>> API for other packages, while ebdb-com.el should only be responsible for
>> the ebdb-mode buffers. I wouldn't be surprised if I've screwed up this
>> separation somewhat, but that was the original idea, and I will fix
>> relevant bugs!
>>
>> > A generic way for a user to define her own
>> > record-to-record mapping (for whatever storage form)
>> > could help. It could be a mapping for one-time
>> > conversion or a mapping to use at runtime to access
>> > another database directly.
>>
>> While the documentation doesn't go into this at this point, this is
>> precisely how the whole system works, right down to the "generic" term:
>> `cl-defgeneric' is basically how you take control of the whole system.
>
> The curmudgeon has nothing more to say. Good job!
I hope it actually lives up to these principles :)
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-06-25 22:20 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-25 2:15 Difference between EBDB and BBDB M.R.P. zensky via help-gnu-emacs
2019-06-25 15:45 ` Stefan Monnier
2019-06-25 17:56 ` Eric Abrahamsen
2019-06-25 19:06 ` Drew Adams
2019-06-25 19:34 ` Eric Abrahamsen
2019-06-25 20:34 ` Xavier Maillard
2019-06-25 21:39 ` Jude DaShiell
2019-06-25 21:08 ` Drew Adams
2019-06-25 21:25 ` Eric Abrahamsen
2019-06-25 21:40 ` Drew Adams
2019-06-25 22:20 ` Eric Abrahamsen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).