Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
The Internet

Searching for a Global Address Book? 8

dweezle37 asks: "For the past few years I have been searching for an all inclusive Global Address Book. The main features I've looked for are: Global Access (most likely Web), possible integration into external programs for email address lookup and mail merge (i.e. Mail Clients, Office Suites, etc.), fully customizable (add/remove fields), and based on a standard protocol (i.e. LDAP, SQL, etc.). An open source project would cater best to being "fully customizable". What have others found or been using? Does this project exist?"
This discussion has been archived. No new comments can be posted.

Searching for a Global Address Book?

Comments Filter:
  • Paper (Score:2, Insightful)

    by VA Software ( 533136 )
    A little notebook and a pencil.

    V.easy to use, worldwide access, compatible with all software.

    Try it.
  • SQL Database (Score:2, Interesting)

    by winterstorm ( 13189 )

    I have worked on such a kind of universal contact database. I've implemented it several times as SQL tables and am currently working on an object-relational version (for deployment on PostgreSQL [postgresql.org]). I intend to release the SQL under the GPL when I'm satified that it is complete and correct. In the mean time if you'd like a copy at the earliest release opportunity please email me [mailto] and I'll add you to a list of people who want early copies.

    Allow me to describe briefly how my database is organized.

    The database models people, companies, etc. as "contactable entities" (CEs) and allows any CE to be a member of any other CE for the purpose of arbitrary grouping. For instance if there is a CE for a company and multiple CEs for the employees of that company, the employees could have a membership relationship with the company CE. There is a parent CE relation that all specific CE inherit from (this is an object-relational feature of postgresql). It is possible to create new CE types by simply creating a new table and inheriting the parent CE class. Frankly the design has worked in the past with just people and "groups"

    CEs can have any number of arbitrarily defined identifiers. For instance, some people want to identify their contacts by their full name, however, in some cases people are given unique usernames, or customer numbers, or other unique identifier criteria. These identifiers can be stored easily and not all CEs have to share the same unique identifiers. Currently I'm having some problem enforcing integrity constraints on these identifiers effeciently.

    The database also models "contact methods" (CMs) in an flexible way. CMs are phone numbers, email addresses, phone numbers, etc. Just like the CEs, CMs are defined by sub-classing a parent CM relation/table. You can create new CMs but just defining a new table that inherits the parent. A CE can have any number of CMs and two different CE's can share one CM.

    All CMs have validity ranges. So change of address actions can occure naturally. You don't just replace the old address with the new one, you actually keep the old address in the database, insert a new address record and mark the valid_end_date of the old one appropriately and the valid_start_date of the new one appropriately. This is very handy.

    I'm currently working on adding tables for tracking actually contact instances (phone calls, emails etc) but have not completed any signifcant work on this portion.

    In the past I've implemented this design about 4 times in SQL and each time it has been a little different with a lot of unique compromises. I'm working on a design that I hope with be more universal and truely reusable now.

  • I have needed (actually, still need) for a long while a "globally" accessible bookmark system. But I just don't want any system - I wanted to be able to search through the links, have a catagorical system, rankings, descriptions - plus, most important of all - security. I wanted to be able to set things up to have a server that would allow guest, user, and admin entry - based on login and password (obviously guest wouldn't need to login) - and have each link have security (so that guests could only see and search a subset of all links - users could see only a subset, plus all that guests could see, and so on) - plus, I wanted the ability to manage user names and logins - so that if I was over at a friend's house, I could say let him or her have access to the links.

    I wasn't able to find anything that met all of these needs (some needs were met, but others weren't) - so, I figured I would have a go at it myself. I decided to do it in Perl (but really, Python or PHP would work as well) - and it has been a good way for me to learn Perl and CGI. I am still working on it - it is no where near completion.

    I also figured I would add addresses to it, as well - and it would integrate OK - since all the links would be simple mailto:name@domain.com, etc. Just click the link and mail. Not perfect, and probably not what you really want - but it would help when you need an address you just don't have where you are at, and it would be accessible from anyplace you had an internet connection and a browser.

    I am still working on this monstrosity - and when I get it to a point where it actually does something (which is not too far off), then on it goes on freshmeat as a GPL program, and onto my site for a download (as a tar.gz of perl scripts - install perl, drop in cgi-bin of apache and go).
  • If it's just for you at your various computers, might I suggest a palm pilot/palm desktop combo?
    If you're talking about something that's for corporate use, where many users need to look up addresses, how hard could it possibly be to set up a web interface to ldap. Or if money and morals are no object, you could enslave yourself to microsoft's exchange server. Apparently it does things like that... never used it myself.
  • LDAP-abook [sourceforge.net] has been my favorite. It's a bit crude, but it does provide Web read/write interface and allows LDAP queries.

What is research but a blind date with knowledge? -- Will Harvey

Working...