Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Businesses Software The Internet

Moving Outlook/vCards to an LDAP Address Book? 55

T-Suit asks: "I'm looking for a way to move 1000+ vCards (the result of painful consolidation after going through our sales' team personal Outlook contacts) into OpenLDAP, so that we can access them from all plaftorms. I've looked at Dawn, but its LDIF export is too crufty for ldapadd and it doesn't solve the issue of how to update those records easily, so I'd also need some kind of 'master GU' to edit them remotely. Along the way, I must say I am amazed at the lack of good LDAP-only contact manager apps for Windows, Linux and Mac OS X. Besides Evolution (which behaves strangely for me and doesn't show all the fields Outlook entries have), all 'nice' 'shared address book' tools I see are limited, web-based or rely on a SQL database. LDAP Management apps (such as diradmin) allow me to edit all fields, but are not for casual users (or available on Windows). Any suggestions on how to both import and maintain this data?"
This discussion has been archived. No new comments can be posted.

Moving Outlook/vCards to an LDAP Address Book?

Comments Filter:
  • by Kenterlogic ( 648880 ) on Tuesday August 26, 2003 @03:57PM (#6797721) Homepage
    Yes, O2003 BCM should help you out here. I was "lucky" enough to get in on beta and though it was particularly buggy and slow (expected in a beta) it offered a lot of features including what you are looking for.

    Sadly, you will have to wait a month or two and fork over a couple hundred bucks-- but it seems like you have those kind of resources.
    • Yeah. I'd also add that this kind of problem is the sort of thing that Windows Active Directory and Exchange server were supposed to fix. I've not extensively used W2K/E2K, though, and I've haven't even installed E2K3, but it seems to me that the LDAP functions of ADS, with a little bit of front-end foo, will do the job. ...I've just recommended a Microsoft solution. I feel dirty.
  • Solution (Score:3, Funny)

    by Anonymous Coward on Tuesday August 26, 2003 @04:00PM (#6797754)
    Place a Rolodex in a central location. Perhaps by the coffee machine.
    • Our CTO (who is absolutely no fool) is always giving advice like this. His particular bugbears are Visio drawings and simple Word documents. He walks past my desk saying "Just do it by hand! So much faster!" He also loathes Java ("Why so complicated?!!!").
  • Also (Score:2, Informative)

    by Kenterlogic ( 648880 )
    You could take a look at an application called GroupWise [novell.com] by Novell. It is web based and offers a powerful backend. It has powerful LDAP tools that can be viewed and edited on any platform. Also, it is widely scaleable. But it is a tad on the slow side. A small price to pay if it gets the job done, huh?
    • Re:Also (Score:2, Insightful)

      by Anonymous Coward
      I'd advise not! I administer a 20 server GroupWise 6.x system. The GroupWise design is a terrible kludge, and I wouldnt recommend it to anyone...

      My own experience with GroupWise's LDAP tools, are the the server will abend under any kind of load above around 10 computers hitting the LDAP daemon at the same time.

      About GroupWise itself:
      - They lock everything up in proprietary encrypted databases, and provide only Win32 tools for administring it.
      - Their email client (which is required for accessing the databa
      • Novell is porting groupwise to linux entirely. the win32 tools part will be obsolete soon enough.
        • Given that the win32 client obviously was written by a 13 year old hax0r using VB in 1996, this can only be a win. On the other hand, WebAccess or what it's called manages to mimic the usability of the native client closely, the main difference being even poorer performance.

          Let's just hope they let the Ximian guys take care of it. Evolution's user interface is braindead on it's own, mostly due to religiously following MS Outlook, but at least there is a fair chance of getting work done with it.

      • And don't ever delete an account accidently. Our admin spent 20 hours on a weekend recovering an account someone else had deleted accidently. Granted, this was his first time doing this, but he had to grab a tape backup, mount it, go in and find which [randomly-named] directory was this user's (out of 1300 users) and restore it. Then he had to do it again because the server abended when he tried to bring it back up.
    • by jhoffoss ( 73895 )
      Not to mention the UI sucks. From everything I've seen, Outlook/Exchange is your only option. (I have not used Lotus Notes, but I know several people who've been involved recently in migrations off of Notes, if that says anything...)

      GroupWise can be extremely buggy, and you'll spend a lot of time retraining your Outlook users. And none of them will like the switch.

  • Hmmmm (Score:3, Insightful)

    by Sevn ( 12012 ) on Tuesday August 26, 2003 @04:05PM (#6797819) Homepage Journal
    If I were you, I'd take advantage of the glut of unemployed coders and have someone make you a web-based frontend to a perl or C based backend solution for this problem. Perl would probably work fine. It's kinda what it's designed for. Something like this would be pretty damn easy actually. Then you could/would have an application that does exactly what you want it to do, and the source to make modifications down the road if you need it.
    • Even Better, (Score:3, Interesting)

      by Sevn ( 12012 )
      Have someone make you a webmin module that does this and be the hero that shares it with the world.
  • by delorean ( 245987 ) on Tuesday August 26, 2003 @04:24PM (#6798107) Homepage
    I'm supporter of gpl software (or is openldap gnu? nevermind) but this may be a case where it pays to pay for the software.

    SunOne/IPlanet/Netscape directory server has a nice gooey GUI for adding/searching/modifying. Searches can be done via web-browser...

    So, just make an OU for contacts, dump the contacts in with Perl, create accounts for your salesy people and give them admin privilege of the contacts ou. It'll take a little time to get all the bugs worked out and lusers trained, but it will be functional from the start. I think.

    Then you hire someone to come in and write a couple of little Perl CGI's using the PerlDap module or the variety of others available. I've been messing around with one that allows lusers to update a few of their records via Apache (perl modules CGI, PerLdap; Apache module mod_auth_ldap). Not too hard.

    • Your advice is fine for programmers who are conversant with LDAP; however, for the rest of us it's not as simple as you imply.

      I spent a couple of weekends in June trying to move my family's outlook contacts to an OpenLDAP server. . . I finally gave up. There is no solution that I could find; unless I am willing to become way more conversant in LDAP than I have time to invest.

      What the poster was asking for, and what I too would love to see, is a simple install-and-run solution that allows Outlook contacts
  • #!/usr/bin/perl
    use Text::vCard;
    use Net::LDAP;
    # remainder left as an exercise for the poster.
  • Ruby-Solution (Score:2, Interesting)

    by datalife ( 17290 )
    Hi,

    I made a little ruby-script (my first!), which achieves something like that.
    It's far from perfect, but works for me.
    download it here [fh-sw.de]

    The archive containt a procmailrc, because i'm invoking it via an extra email-address. you will need ripmime

    The script uses the vcard-Class from ruby-lang.org [ruby-lang.org], which is included in the archive.
  • I have found LDAP Browser/Editor [iit.edu] to work pretty good. Java app.

    LDAP Explorer [unimelb.edu.au] is a decent web interface.

    • oh please. java sucks. ive not found a single application programmed in java that actually scroll perfectly, and other stuff like menus and such allways irritate me. And believe me, I've tried to like it.

      The way java is build, it cant match the normal windows api before the hardware is like 2x faster (my system is 2ghz). And thus one cannot expect people to use java applications yet on windows, unless one forces employees to do it.
      • get rid of windows, problem solved. Performance is a tad better using the REAL java runtime from sun though as opposed to the microsoft bastardized version.
        • Getting rid of windows is supposed to make Java more likeable? I think not. In all fairness, Microsoft's implementation of the JVM was far ahead of Sun's (in terms of performance on windows) until they stopped working on it. Java is not a bad language, to be sure, but its most appealing feature is that it is not from Microsoft. Unfortunately, it is from a company that is at least as grubby--heck, Sun was supporting SCO even before Microsoft! Don't forget that the GPL was born as a direct reaction to Gosling
  • Been there... (Score:3, Informative)

    by jtosburn ( 63943 ) on Tuesday August 26, 2003 @05:31PM (#6799023)
    What I did was to use Dawn to produce an initial .ldif file. Then I wrote a little script to massage entries based on the dn's and ou's that I wanted to use. Create said dn's and ou's via a seperate, hand crafted .ldif, a quick little exercise, bring in your massaged .ldif, and you're set.

    To manage, phpLDAPadmin [sourceforge.net] is the best tool I've found so far.

    Outlook, Mozilla, etc. can all access as clients.

    I also recommend LDAP System Administration [oreilly.com] by Gerald Carter, though with some reservations. It provides a decent grounding in LDAP, but won't be an end-all-be-all definitive resource.
  • That's because LDAP sucks.

    Now away from opinion: Outlook, like most windows apps allows for COM interfaces. Perl, PHP, or heaven forbid Visual Basic have COM interfaces. It's pretty simple to use MS's helpful documentation of the Outlook COM functions to write up your own contact extraction utility. Once you have the data, it's pretty trivial to format it and/or toss it into another DB.
  • Check out eGuide [novell.com].

    It's a free (as in $), java servlet based white pages that works against LDAP, and all the display is done in XSLT so its very customizable.
  • Evolution uses a strange schema type called evolutionPerson (google for it or check /usr/share/doc/evolution). In short it maps some datafields to regular organizationalPerosn while other fall in custom attributes. There are special directives to map attributes to other using something like regexps (help! I once read it on a long persentation... my HD is 30/37 GB full... no wait... haha! HERE! [kalamazoolinux.org]... it's in the LDAP section) so essentially you could manually map some fieldls to other to change the overall LDIF
  • by Glonoinha ( 587375 ) on Tuesday August 26, 2003 @08:15PM (#6800495) Journal
    Me and my friends here in India would be loving to help you out of your predicament. My team consists of the finest young plucky software engineers versed in all the latest technologies and will eagerly do this for you for only $10 total. This includes a complete set of documentation and followup, project management and five happy programmers to code your solution using on the best of software development methodologies. All for only $10.

    Of course then we have your entire contact database which we can either use for our own personal profits (legal or otherwise) or maybe we just sell it to all your competitors for a nice tidy profit. Then you will be fuxored pretty bad, but hey - at least it only cost you $10.
    • Your attempt at imitating a Indian speaker is funny, but not the way you think. The broken pseudo-english you came up with might sound right from someone in the middle east, for whom English is a second language - but educated Indians speak the Queens English very well (better than you probably do) - and those verbal and written communication skills are another reason beyond cost and technical prowess why Indian programmers are sought after as the leading offshore alternative.
      Here in the US, the education
      • Not to be dragged too far off topic, but if you honestly believe the outsourcing / migration of jobs to ANYWHERE has anything to do with any aspect of business except dollars, you are sadly deluded. I have had to hang up a zillion times on tech support calls to callers with accents so thick I couldn't understand them.

        They are not technological wizards that have backgrounds of 10 years plus diagnosing hardware / network issues and immediately recognize that 8 beeps means your motherboard is complaining abo
  • AddressMagic (Score:4, Informative)

    by tzanger ( 1575 ) on Tuesday August 26, 2003 @09:11PM (#6800832) Homepage

    We used a program called AddressMagic to convert the 7000 or so Outlook "Contacts Folder" contacts to LDIF in an attempt to get them into OpenLDAP. Much like you our efforts were in vain. Outlook's got too much crap in there that's just plain undocumented but our office staff use (categories being the biggest one).

    I've been playing with Exchange4Linux [sourceforge.net] -- Crappy name but some really nifty software. Everything is stored in PostgreSQL -- everything -- This is both a good thing and a bad thing; Postgres is well up to the task, but the E4L server software is quite slow at the moment. They've written it in Python, and it talks to the proprietary Outlook connector via CORBA. Why CORBA? I dunno; it doesn't talk through firewalls worth a shit. :-(

    I've successfully imported our 4000 contacts without even blinking. I also imported an additional 3.2GB of email, journals, notes and schedule data. Postgres just took it in and asked for more. This is on a server with an UW3 disk subsystem and 1G of memory.

    Looking at the DB any "pure" MAPI object is stored in plain english, both by parameter name and value. Any Outlook-specific crap is stored with MAPIhexstringhere names and whatever data format Outlook uses for the data. It would be dead simple trivial to convert that into LDAP, but why bother when PostgreSQL has an LDAP frontend you can probably get working.

    The nicest thing about E4L is that the Outlook guys lose zero functionality and (when completed) the IMAP, LDAP and iCAP frontends will give full connectivity to the entire OSS crowd. E4L is planning on making money selling Outlook connector licenses (which aren't that dear, really) but as I mentioned earlier, the server is 100% OSS and free (beer and libre). I realize that oGo is out there but to be honest, oGo looks enormously complex and it's written in a hideous language. I'd rather spend my time learning Python than Objective-C any day, thank you very much. E4L's got a single unified backend (PostgreSQL) which is scalable and solid, and with some more work (moving more into stored procedures, using the LDAP frontend, etc.) it will be an Exchange killer. It already works flawlessly with Outlook, as I mentioned.

    • How were you able to get around the 2GB limit for email? Or did you have that much journals, notes and such?

      This cursed limit is killing us where I work.

      Thanks.
      • What 2G limit for email? We don't have a single email over about a couple dozen meg. Postgres stores mail attachments as large objects, which are individual files on disk. Mail headers and bodies are (this is from memory now, I may be mistaken) in a bunch of MAPI attributes.

        I imagine you could get around the 2G limit by using fseek64(); you will likely have to recompile the apps you're using to make sure they use the proper seek/stat calls, and are using long longs for storing the file offsets.

        • The database Outlook uses for storing emails borks at the 2GB mark. I am not talking about size of a individual email (man that would suck), rather the archive of all emails sent/received etc. More fun with IMAP...
  • I'm afraid I can't help with the import/export part of your problem, though a little perl hacking may be the best route there...

    You should check out the Horde Project's Turba module. It provides contact management services that integrate with Horde's other services (such as IMP, the webmail component). Check out the page for Turba here:

    http://www.horde.org/turba/

    Turba can use several backends, including LDAP (which is how I have it configured). I've never tried to set Turba up standalone (I have
  • OpenLDAP (Score:2, Informative)

    by KingRob ( 698441 )
    I've just been through a sort of similar exercise.
    We regularly receive a corporate address list of some 150,000 addresses.
    The Exchange GAL was slowing down, so a decision was made to move these addresses to OpenLDAP.
    It does the trick alright, but mapping the fields was like trial and error. The OpenLDAP forums and Google helped a lot there.
    Now Outlook clients add a directory service and point it to the LDAP server. Remember to install the MS patch/registry hack else resolving addresses from the To: box will
  • the dodgy way (Score:3, Informative)

    by tqft ( 619476 ) <ianburrows_au@yahoo . c om> on Wednesday August 27, 2003 @04:00AM (#6802867) Homepage Journal
    File Import and Export... [starts wizard]
    Export the suckers as csv/Excel
    import into new favorite address app
    retain users

    long way but should work
  • by bobbozzo ( 622815 ) on Wednesday August 27, 2003 @04:11AM (#6802897)
    Have you considered reading all the cards in and writing them to a CSV or TAB delimited file?
    This should be trivial (maybe 5 lines) in perl if you know the format of the cards (spec available at http://www.imc.org/pdi/, assuming MS followed the spec :p ).

    Then, you could import the one file into your new ldap database, and use whatever you want to manage it after that.
    • What you suggest should be trivial but isn't: no one has written any tools to import all Outlook's contact fields into an LDAP database. There are several projects that do a partial job of it, but they all require that the user be very conversant with LDAP. In other words, there do not appear to be any "out of the box" solutions to the problem the poster has posed.
      • Actually, you don't have to do any programming in LDAP to implement my suggestion; you write everything to one csv or .tab file, and then use the software for the new database (whatever ldap implementation is chosen) to import the file.

        If it's running a standard database (mysql, postgresql, oracle, whatever), you could import the data directly using the db's tools.

        I looked briefly at the vcard modules for perl, and at the vcard spec; it should only take a few hours to write a program to extract the data f
  • Ldap Tools..... (Score:2, Informative)

    by kfuq ( 513110 ) *
    These tools may be worth checking out too...

    http://rolodap.sourceforge.net/

    http://ldap-abook.sourceforge.net/

    http://sourceforge.net/projects/directorymanage

  • I recently created a directory of about 700 vCards for my boss, who then wanted it in his quickmail contact book. Low and behold, quickmail of course doesn't import vcards, only ldif and outlook express files. Anybody have a good way to convert one to the other?

Today is a good day for information-gathering. Read someone else's mail file.

Working...