Slashdot Mirror


Writable Contact Lists With Outlook and LDAP?

Snafoo asks: "Ximian Evolution allows users to set up LDAP-based shared contact lists, to which multiple users can read and write. However, my company uses MS Outlook 2002, which doesn't support writing to LDAP directories. Currently, we use a kludgy PHP front-end to the LDAP directory for entering new addresses. Short of buying Exchange, is there anything we can do to share write-enabled contact lists with LDAP and Outlook?"

11 of 39 comments (clear)

  1. Write a plugin for Outlook by Kj0n · · Score: 4, Interesting

    Can't you write a plugin for Outlook that synchronizes the local address book (or a subfolder of it) with the LDAP directory?

    Disadvantage: the contacts are also present in the address book of Outlook.

    Advantage: the contacts are always available, even when the LDAP directory is not accessible (interesting for travelling users).

    1. Re:Write a plugin for Outlook by nasdaq · · Score: 2, Informative

      Kj0n your sig points to you! You need to check yourself! Please allow me to enlighten you all on the Monopolistic capabilities of Microsoft. I am a developer of a CRM Web Based Application, and have done extensive r&d on this topic. We need to create an addin for outlook that will synchronize our product with Outlook. Microsoft has (they say due to viruses) implimented an Outlook security model that blocks access to relevant items ie: email addresses, message senders, the address books, from programatic access via the outlook object model api. Any access to these items and more cause a macro security dialog box to popup saying that another potentially harmful application is trying to access Outlook, and requests input from the user. The key here is that outlook has no idea what program is the accessor. Once the user agrees to the action during that action (or time frame that was allowed up to 10 mins) any application can access outlook without further warnings! This completely negates the security in my eyes because any virus can run at that point. Further more, to get to the Monolopy part of this rant, To allow any addin to run with out warning You MUST distribute a security proifile from an Exchange server. They are futher locking it down with 2003 "... with the additional object model blocks that are added in Outlook 2003, there are tasks that independent software vendors (ISV) need to handle, that do not have any simple workarounds. " After talking with Mirosoft the way around this is to learn c/c++ and mapi store programming (and the MS changes to it) to access Outlook from an addin with out exchange and endless Security dialogs. The say that in a non-Exchange enviornment with 2003 they will be "Trusted by default" but with MSCRM I bet that it will change... In the mean time brush up on your c.

    2. Re:Write a plugin for Outlook by Mark+Pitman · · Score: 2, Interesting

      There is another way! Use Outlook Redemption. This COM object does all the Extended MAPI stuff for you and is very easy to use. I have used it from VB 6 and also C#. This guy also has another tool on his site called Outlook Spy which is pretty handy.

    3. Re:Write a plugin for Outlook by Mark+Pitman · · Score: 2, Insightful
      Since Redemption is COM, you can use it from C# (or any .Net language) by using COM Interop. If you are using Visual Studio .Net, it is as simple as adding a reference to the "SafeOutlook Library" to your project. Otherwise you need to use the tlbimp.exe utility to do it.

      As for memory leaks, I'm not sure about that. You do need to cleanup after Outlook and Redemption very well though. When I first started using it in .Net, I was sloppy because I was used to the CLR cleaning up objects after they go out of scope. If you don't clean up well, you can end up with a background OUTLOOK.EXE process running. Make sure to create an instance of the MAPIUtils object and execute the Cleanup() method, and of course set everything to null.

      Performance doesn't seem to be much worse than accessing the Outlook object model directly. I did run across very poor performance accessing a list of Contacts, I was iterating through the Items property of a MAPIFolder. Dmitry (author of Outlook Redemption) gave me some help to access them a different way and it was MUCH faster. If I remember correctly I was trying to get about 200 Contacts and it was taking a minute or 2. The method he showed me ended up taking a few seconds. What you end up doing is creating a MAPITable and setting its Item property to the Items property of a folder. Apparently accessing the MAPITable is much faster than going through the Folder.

      Something else I ran up against when creating an addin for Outlook in C# was that when Visual Studio .Net generates the Outlook interop dll, it sets all the events to private. So, in order to respond to any events in Outlook, you have to use ildasm.exe to disassemble the assembly and manually go through and mark them public, then use ilasm.exe to regenerate the binary. Kind of a pain in the ass, but once you do it, you don't have to do it again. Unless VS.Net regenerates the Interop assembly for you again ;)

      Now, I'll admit that .Net-->COM-->Extended MAPI isn't the most elegant solution to the problem. If I were a C++ developer I would have written my own Extended MAPI access classes and made them accessible in a native .Net assembly. However, it has been a lifesaver for the project I am working on. It would be really nice if Microsoft made a way to have trusted components that can access Outlook directly. I have heard something about this maybe in Outlook 2003, but haven't read anything defining how it is done, or if it can be done.

  2. seems obvious, but... by cyborch · · Score: 2, Insightful

    why not change to evolution? It looks exactly like outlook, and if you don't use excange features anyway, then why not simply use the product that meets your demands instead of one that is made by microsoft?

    I'm not trolling. I'm serious. Why do people choose to use MS products when there are alternatives out there, that will meet their demands?

    I usually try to use the best tool for the job - not the "I have a hammer, therefore all my problems are a nail" solution.

    1. Re:seems obvious, but... by TubeSteak · · Score: 3, Insightful
      Snafoo didn't specify how large his company is. do you really want to rollout a new app to 30-50-100+ people? If its possible to find a short term solution, then Snafoo could slowly change everybody over to Evolution. Arbitrarily changing to a new mail client (even with compatibility tests) is going to make waves and reduce efficiency. There are very few sacred things in the corporate world, and e-mail has become one of them.

      People use MS products because they're already there and they mostly work. if is this is Good/Bad... that's up to you

      --
      [Fuck Beta]
      o0t!
  3. Hard lessons by walt-sjc · · Score: 3, Insightful

    Yeah, I admit that this is somewhat of a flamebait, (but so was the original /. question) but that's the problem with closed source and a abusive monopoly. If MS had been forced to open all API's and file formats like some of us were hoping, you wouldn't be having this problem.

    For some strange reason, people think that Outlook is a stand-alone product. This is somewhat true, but you (like the poster found out) lose most of the compelling features if you fail to use Exchange. Look mom! I have a shirt with no pants!

    Some people will probably point out that you may be able to use OpenMail or Insight Server (Insight Connector?), but these are also expensive products that don't fully integrate with Outlook either. If you are going to go high-end commercial, you might as well go with exchange (but put the damn thing behind a firewall / UNIX mail relay server fer christs sakes.)

    Of course typing "shared outlook contact lists" in google comes up with a page with lots of info on the subject, but I didn't see anything that exactly matched the poster's requirements. Lot's of kludgy stuff, mostly commercial, all trying to make the closed source pile of crap a little more usable.

  4. Mozilla? by Kiaser+Zohsay · · Score: 2, Interesting

    Mozilla Mail/Minotaur/Thunderbird has LDAP support, and the Mozilla LDAP SDK supports write access, so it might actually work. I have used Mozilla Mail as my primary email client since April of 2000 (M15 or so) but not with LDAP. Try it, it just might work.

    --
    I am not your blowing wind, I am the lightning.
    1. Re:Mozilla? by Bazzargh · · Score: 2, Informative

      I just got moz-exchange LDAP access to our server working. Dunno if its write access, but generally its the company address book we share, not personal address books.

      This tip really helped.

      I downloaded and started up the Softerra LDAP browser, typed in the name of my server and asked it to search for base DNs (I assume this is what the 'find' button is for in the moz setup that is never enabled). I used my normal login name and password for the domain as the User DN and password (no 'DOMAIN\User' nonsense), and took the default for everything else. Bingo! A nice listing of our directory.

      Taking this across to Mozilla (1.4b), I used the base DN that softerra had discovered and left the bind DN blank. In Preferences...Adressing I told it to use this LDAP server to complete addresses, and turned off my local addressbook, for testing. I started to compose a mail and was prompted for a password. I typed my password, and hey presto a list of names appeared.

      I know this isn't quite what the original poster was asking, but google comes up with lots of unanswered posts asking 'how do I connect my moz addressbook to exchange' when I've searched on this in the past, and this solution actually works.

      -Baz

  5. Pointer & Suggestions by maggard · · Score: 2, Informative
    Slipstick.com is an invaluable Outlook/Exchange site. It has a good-sized page of alternatives to Exchange for address book sharing and another page just about LDAP.

    As I see it there are a two obvious solutions:

    • Use a central locked-down PAB everyone has read-access to. Updates & additions are created by users as standard address book entries and sent to a designated in-house address. Every so often in the off hours all of those files are collected and dropped into the master file (can be scripted.) Benefits are the address-book entries contain all of the Outlook set of details, will work with 3rd-party add-ins.

    • Or instead of using a "kludgy PHP front-end" use a better-quality one like Twiki or Horde. If with this you move your mailboxes over to IMAP you'll have also gotten a great remote-client solution. On their desktops they can use Outlook, away from them log into the webmail client, and also use it for those shared address-book updates.
    By the way, a good utility for exporting from Outlook/Exchange to vCard and vCalendar files (individual files or multiple-entry files) is the free Outpod. Written for exporting to Apple iPods it is also an easy way to transfer around address books to many applications.
    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
  6. aldap is what you're looking for by castlemonkey · · Score: 2, Interesting
    From aldap on freshmeat.

    " aldap is designed as a groupware, Web-based, central contact manager. It can supplement end-users' personal address books or stand alone. It includes Perl scripts to create an empty LDAP tree ready for data entry, or if you have an existing Outlook contact database, import them easily. Its features include Add Organizational Units, Add entry, Search, View, Print, Modify, Delete, VCard export, Outlook conversion tools, plenty of end user help, and more."

    As the creator of aldap I can tell you there's people using it on OSX, Windows, and Unix / GNU Linux systems. A live demo is available on the the project home page.

    --
    -- I've spent 30 min of company time trying to think of a good sig. You can imagine how good my passwords are.