AdobeStock_455007340

What Would You Want From ColdFusion Microsoft Exchange Integration?

Home » What Would You Want From ColdFusion Microsoft Exchange Integration?

Here is your chance to help spec what could very well be a feature in the next major ColdFusion update! Ready?
One frequent ColdFusion feature request is for Microsoft Exchange integration, and this is something we are considering for “Scorpio”. Most ColdFusion use is on internal networks – intranets and portals and departmental sites. And so when you think about the types of applications being built in ColdFusion, Exchange integration actually makes a whole lot of sense.
But what does integration mean to you? What features do you need? How could you use Exchange integration from within your ColdFusion applications? Obviously, ColdFusion can send e-mail via , receive e-mail via , and access directory services via . But that is using Exchange, not really integrating with it. So, what else could you really use?
I have some specific ideas myself, but I am not going to share them (yet) so as to not lead the conversation. Rather, I’d like you to share your ideas and suggestions. If your organization uses Microsoft Exchange, please post your thoughts (the more detail the better).

107 responses to “What Would You Want From ColdFusion Microsoft Exchange Integration?”

  1. Jason Sheedy Avatar
    Jason Sheedy

    Thanks for the heads up Michael. I’ll give it a go. I didn’t think it would be that simple. 😉

  2. Adam Haskell Avatar
    Adam Haskell

    What about lotus notes integration? 😀

  3. Big Mad Kev Avatar
    Big Mad Kev

    How about Tasks integration, You could have a Help Desk / Bug Tracking system that could then place a task in teh developers / users list?

  4. Jason Fisher Avatar
    Jason Fisher

    I gotta say that Michael Dawson’s list (the big, long one above) is pretty thorough. We have a project lifecycle management and ERP system running entirely on CF now. Internally, it manages calendar events and tasks via the RDBMS (SQL Server), and the built-in email client connects to our IMAP server (non-MSX) via 3rd-party COM objects. So, basically, the function list looks something like Michael’s, and the 2 main use cases are:
    1. Internal users: Some of our employees prefer to use Outlook for its ease of calendaring and drag-n-drop mail management, but they currently have to duplicate all their calendar events manually. So, this use would benefit from a tag or set of tags for easily communicating events back out to Outlook, with the option to export directly to Outlook (as some have mentioned the iCal or vCard options) or to post directly to an Exchange server for synchronization across MSX clients (Outlook, Palm HotSync, etc.).
    2. Customers running Exchange: The GUI for our application has full management of Tasks, Appointments, Facility scheduling, Contacts and Contact Lists (CRM), and Email (both IMAP and POP support), with levels of access by both intranet and extranet users. Currently the app hits an IMAP server for mail and a SQL Server for all the other data, but I would love to be able to offer the option to store all these datatypes directly in a MSX server for clients that already use that platform. Basically, then I could offer our app in 2 different flavors: a) save all your CRM, Tasks, Appts, and Email in MSX, if you want, or b) we’ll just save it all to the local SQL Server as we do now, if you don’t have or don’t want to implement MSX.
    We could write all those hooks, but it would be huge to us if we didn’t have to!

  5. Jason Lehman Avatar
    Jason Lehman

    We’re currently using the WebDav protocol to directly connect to exchange and push contacts and appointments into user’s folders. However, it takes a good bit of trial and error to get the xml requests working especially when attempting to perform more advanced tasks such as working with recurring appointments. One thing we have wanted to do that we haven’t been able to yet is to schedule a recurring appointment and change instances of the appointment based on needs. This would be great in the education arena where scheduling a course on a user’s calendar would require it to be one appointment but each instance might be different days/times and the descriptions might be tailored to class content for that instance.
    Some of the main features I would be interested in are:
    1) publishing all types of items (appointments, contacts, tasks, etc)
    2) traversing all types of items
    3) sending meeting requests

  6. Ali Avatar
    Ali

    Ben –
    What is the new email for the coldfusion wishlist?
    I realize my wishlist request may be somewhat obscure, but what the "hay" I’ll ask anyways.
    What I really need in the work I do daily, is better integration with PDF Forms. We don’t need to generate PDF’s on the fly, CFDocument is great in that regards.
    We work with preformatted PDF Templates. We need a way for Coldfusion to populate these PDF Templates. Sort of what ActivePDF does. However, we don’t want to rely on a COM object.
    Another great feature would be if ColdFusion could directly interact with Adobe’s 2D Barcode Forms. This is something else I have been researching for my company. Again there a lot of expensive 3rd party tools that integrate with .Net or PHP, but none that have a CF solution. Whatever solution I found had to again, involve COM objects and the API was not easy to understand.
    So if we had native CF integration with Adobe’s 2D Barcode Forms, that would benefit my business greatly.
    Thanks!
    -AA

  7. Tom Harper Avatar
    Tom Harper

    My biggest wishes would be for Contact and Calendar integration.

  8. Nathan Avatar
    Nathan

    We have an extensive conference room scheduling tool that integrates meeting room calendars, food requests, and equipment requests (i.e. laptop, projector, etc.).
    If a meeting is scheduled using the online forms, the event should be added to the user’s exchange calendar automatically with the right date/time. If the user then modifies the date/time in Outlook, CF should be watching for that event and could then update the online database.
    This would require CF to be able to push to and pull from Exchange – probably a gateway?

  9. Nate Avatar
    Nate

    * Support for query access to address books
    * Calendar access as others have requested.
    * Ability to log ‘stuff’ events and what not to the journal would be spiffy.
    * ability to emulate a MAPI connection to a mailbox would be really swell, give some kind of access to MAPI functions. Of course after authentication as a user. CF_MAPI?

  10. João Fernandes Avatar
    João Fernandes

    Ben,
    My wishlist is the following:
    CFML side:
    Be able to create object of type "msbox" that would have getters and setters for folders, notes, calendar, etc… Data should be returned with type of query.
    Able to filter those different options with optional arguments (eg: filter calendar items).
    Also an object for Global address list and other server variables and be able to update them (eg:VCards) .
    Be able to interact with MSExchange with some admin API (like cf one).
    As Service:
    An Exchange Gateway that would react to:
    create, modify, delete mailboxes, DL, notes, contacts, calendar events, tasks…
    send & recieve emails.

  11. Dmitry Yakhnov Avatar
    Dmitry Yakhnov

    Hi Ben,
    Greetings from sunny pre-Xmas Melbourne! 🙂
    Not relevant to MS Exchange, but still might be worth to consider:
    1) cffile action="readbinaryblock" : reading part of binary file into variable;
    2) cffile action="writebinaryblock" : writing data into binary file;
    3) note : working with huge arrays of data is pretty slow;
    4) cfimap for sure;
    5) few good tag ideas could be found at http://www.cftagstore.com:
    – cfx_exec (more powerful and flexible)
    – cfx_http5 (same here)
    – much more at web site…
    Many thanks in advance.

  12. Scott Avatar
    Scott

    Hi Ben-
    We run ColdFusion in a DMZ to serve web apps to our external customers as well as running it on our intranet. One "killer app" that we have for Exchange integration would be allowing our external clients to schedule their own events via CF and track those events in multiple group calendars on the Exchange server. We need to keep events segregated by customer yet limit the total amount of these events by the techs we have available at the requested time. We would want to see the events in "master" customer-based and tech based schedules.
    We also are looking for a solution that allows the voting features in Outlook / Exchange to be used to document approval for various change management issues.
    On the wish list is a way to use CF to integrate SharePoint tasks with Outlook tasks on the Exchange server. Shouldn’t be too hard, we already pull SharePoint lists via web services.
    Oh, a mail listener gateway would be really nice. Right now we run a script that hits a CF web service via HTTP POST which then wakes up CF and has it check its mail.
    Thanks for listening!
    ~S

  13. Michael Ryan Avatar
    Michael Ryan

    The type of functionality that we need from CF-MS Exchange integration includes (and forgive me, CF-MSX may be able to do some of the following already):
    – Ability to post tasks to an Exchange Public Folder as well as an individual’s Outlook personal folder (so long as the share permissions are given)
    – Ability to interact with contacts and calendars
    – Ability to track and keep a copy of emails sent to clients with date and time stamp
    When could we expect ‘Scorpio’ to be released…worst case scenario?
    Thank you,
    Michael Ryan
    The V-M Group

  14. walt Avatar
    walt

    be able to interact with the GAB

  15. David Ringley Avatar
    David Ringley

    Ben,
    We would like to see the ability to:
    1) read the calendar for free/busy schedule info for event planning
    2) directly add calendar appointments
    3) read and add contacts
    4) be notified of changes to calendar information that were created by our product
    Thank you,

  16. David Chaplin-Loebell Avatar
    David Chaplin-Loebell

    At my company, we use CFLDAP, Windows-integrated authentication, and the microsoft.xmlhttp object to talk to Exchange on our intranet. We’ve been doing this since CF5 and it works fine; we display public folder data on the home page of our intranet.
    The next higher level would be to be able to put events on people’s personal calendars from a web app, assign tasks to them, etc. Right now we don’t write to the Exchange server at all in our apps, just read from it, and we only interact with public folders, not user folders. If there was a simple API to do this, we would.

  17. Chris Avatar
    Chris

    Another vote for easily reading and writing calendar data.

  18. Chris Avatar
    Chris

    I agree with pretty much all of the requests, but the one single biggest thing people request in our company is to see someone’s Free/Busy schedule. I can’t believe MS hasn’t built an easy way to publish this via the web into Exchange. It would be great if you could look at (not update or modify, mind you) someone’s calendar in a nicely formatted calendar grid/layout. How I would want this to work would be.
    1. I can give others view-only permission to see my calendar.
    2. I could give various viewing rights to users. For example;
    a. Public access: See only blocks of time I’m free/busy (i.e., can’t see any event details and only color codes dates/times I’m busy)
    b. Manager access: See same as A and also see event titles.
    c. Executive Management access: See all details of schedule.
    3. I can give read/write access to my calendar to select users (like my secretary) so they can update my schedule.
    I have so many managers asking they have the ability to publish their free/busy information over the web it makes my head spin.

  19. Cole Barksdale Avatar
    Cole Barksdale

    I know this wishlist entry is kind of old, but right now I’m working with Java classes in one of my CF scripts and it’s brought a few things to my attention.
    I wish that CF would allow wildcards when creating Java objects.
    For instance:
    something = createobject( "java", "java.class.*" )
    That way, we would import all classes under one package. Java has done this since day one and I use it when writing JSPs. Since CF is built on top of J2EE this shouldn’t be such a far-fetched idea.
    Thanks!

  20. Louis Avatar
    Louis

    For CFIMAP, an important capability would be to establish secure connections like SSL or TLS.

  21. Amir F. Avatar
    Amir F.

    Ben ,
    Will you please update us on MS Exchange connectivity features of Scorpio?
    Is Adobe planning to add it to the next release?
    If yes what level CF will connect to Exchange? WebDAV? by CDO using Java? anything else?
    That helps us direct our current developments.
    Thank you

  22. Ben Forta Avatar
    Ben Forta

    Amir, I can’t comment on any Scorpio specifics yet, but based on the responses to this and other threads, it is high on the list of features tro be considered.
    — Ben

  23. Scott Arbeitman Avatar
    Scott Arbeitman

    Similar to Cole’s comment above:
    I’d like to see a modification of cfimport or a new tag so I don’t have to use fully qualified component names in cfobject tags.
    <cfimport package="com.adobe.util.*" />
    or something simple like that would be nice.

  24. J Lane Avatar
    J Lane

    I’ll throw in my vote for the ability to add/modify/remove tasks and calendar entries via. CF.
    I just skimmed the thread (sorry, it’s 70 comments long!), so I’m not sure if anyone requested access to some of the other features of Exchange server list the "out-of-office" notification, or the in/out board.
    We used to run an open source IMAP server at work, and have recently "upgraded" to Exchange. Us Mac users have been screwed a bit in the process. To set up an e-mail auto-reply, we used to use a web page. That’s gone now with Exchange. You can go into the web-based Exchange interface and do it, but the interface is pretty bad in any browser other than IE (non-ActiveX). I’d love to be able to offer the web-based auto-reply setup again.

  25. fatso Avatar
    fatso

    I have been able to add directly to the active directory using Coldfusion Ldap command, however creating an exchange address is a trick. I had to write a coldfusion application that wrote .vbs script and executed the .vbs script to turn on the exchange email ability.
    It really sucked. To be honest, programming directly into the active directory was a nightmare. Once you start messing around with the global address book you are playing with disaster. We had cached versions of address books becoming corrupted. We resorted to the old method after initually getting everyone into the active directory and let a low level SA update it.

  26. fatso Avatar
    fatso

    I often think the reason why microsoft hasn’t created a mass import tool for exchange is because they could never get it to work correctly… blah blah.

  27. fatso Avatar
    fatso

    ive got it. a tag called
    cfoutlookvcs… basically generate an .vcs file that can be email for outlook calander invites. Hmmm… maybe I will make the custom tag for it….

  28. Gary Roberts Avatar
    Gary Roberts

    I vote for the ability to add Calendar events to Exchange/Outlook through a ColdFusion application. We actaully need this functionality right now! Does anyone have a Kludge to get this working right now?

  29. TJ Frevert Avatar
    TJ Frevert

    The ability to add, edit and remove calendar entries and contacts into private calendars and contact lists. I have a team based intranet site and when one user updates a calendar entry it would be nice if the other team members calendars were updated automatically.

  30. Frances Cisneros Jenks Avatar
    Frances Cisneros Jenks

    I also vote for the ability to add Calendar events to Exchange/Outlook through a ColdFusion application. We use our Exchange Calendars for all our meetings and I’d like to send a request via an email.

  31. Michael White Avatar
    Michael White

    My company is desperately trying to find a way to schedule their engineers and share parts of that schedule with customers. I have a couple of open-source calendar applications I’m toying with but neither use components or CFMX 7 features at all. I would want to be able to create, manage, publish and confirm single and recurring events for engineers at client sites. The client would then be able to see their scheduled coverage dynamically anytime. we currenty fight with exchange to do this but coldfusion would make the whole thing more dynamic. If there were coldfusion tags that enabled us to manage events as easily as we can manage any other coldfusion task, that would open the door. and how would that be done if the coldfusion server was remote from the exchange server?

  32. TJ Downes Avatar
    TJ Downes

    This is great news. I’ve had a IMAP.cfc in development for a while but experienced a lot of issues from varying Exchange implementations which has pushed the release out. It’s also a bit of a performance hog. It would be nice to forego this altogether and just do it natively in CF.
    I think the most important things are being able to access calendar, contacts, tasks, notes and (less importantly to me) email. Having access to public folders with the ability to post files to them could also be valuable.
    Also, being able to utilize the built-in exchange security, from a read-only perspective would be very helpful. This would enable the sharing of Exchange items in web apps as they are configured in exchange.
    This would be a huge boon to Flex applications and potentially Apollo-based aps!

  33. TJ Downes Avatar
    TJ Downes

    OOps, i meant to say CDO.cfc

  34. sherman Avatar
    sherman

    Can’t get attributes back from Active Directory using CFLDAP. Can’t find any forums with the answer. Do you know what I am doing wrong?
    <cfldap action="QUERY"
    name="GetUserInfo"
    attributes="cn,sn,email,memberOf"
    start="cn=users,dc=xxx,dc=org"
    server="server"
    username="name@xxx.org"
    password="password"
    scope="base"
    >

  35. Jason Avatar
    Jason

    The key is using the sAMAccountName for the user you’re looking up, and use the username / password of an Admin account which allowed to query the user’s data. The following works for us against an ActiveDirectory repository.
    &lt;cfldap action="QUERY"
    name="ldapSearch"
    attributes="uid,dn,displayName"
    start="dc=domainserver,dc=domain,dc=com"
    scope="SUBTREE"
    server="servername.domainserver.domain.com"
    port="389"
    filter="sAMAccountName=username@domain.com"
    username="myAdminUserName"
    password="myAdminPassword"
    &gt;
    HTH,
    J

  36. Damon Avatar
    Damon

    We are MSX and MSO all the way. However, we need to show our management MSX metrics and the prefered methos is a web-page on the intranet they can pull up at any time and get both real-time and historical usage and status information.
    So anything that will let us tap into MSX logs or object properties (user mailbox size, for example) via CF tags would be great!

  37. John Farrar Avatar
    John Farrar

    I have thought over your perspective that CFExchange is dominant on the market. Yes, they are! So is dotNet. If people install exchange they are also installing dotNet. There are many solutions that don’t require installation of the trojan horse if we provided IMAP solutions. 🙂 I think that has some valid argument to it also.

  38. Aaron Neff Avatar
    Aaron Neff

    One specific example is allowing recipients of college recruitment emails to immediately schedule an appointment based on the free/busy time of the admissions representative who sent the email. The college gets the highest conversion rates if an appointment is scheduled within 24 hours after the email is sent. Having access to free/busy information would allow appointments to be requested/scheduled after-hours and on weekends/holidays.

  39. OH Avatar
    OH

    So how close are we to seeing this integration become reality? All I see here is a wish list that started back in 2005. Is anybody listening to you or was this just a trap?

  40. Ben Forta Avatar
    Ben Forta

    Oh, let’s just say that this thread was started during Scorpio planning, and Scorpio is not yet out, and this thread was indeed given serious attention. Stay tuned.
    — Ben

  41. Scott Avatar
    Scott

    Ben,
    I have seen people with PHP make it work? Couldn’t we just apply whatever concepts they use and translate it to coldfusion?

  42. Ben Forta Avatar
    Ben Forta

    Scott, you mean do it the hard way? Nah, wait until you see what we’ve been cooking up! 😉
    — Ben

  43. Scott Avatar
    Scott

    Well, I don’t know when your version will come out, how much it will cost (if it is included in new software) or anything about it. So, since I want it to work now, I would like to place my destiny in my own hands to the extent to which it is possible.
    If I want to access ADO, is that pretty much out of bounds in Cold Fusion? I figure I could try to create a web service in .net that can use ADO but I have to figure some way to compile it.

  44. Scott Avatar
    Scott

    Well, someone was nice enough to send me a response to my comment. I actually was pretty close to getting it to run but then I got caught up when I was trying to do my https stuff and didn’t get it to work. We then tried to use linked tables in SQL Server 2000 and we had issues linking to the table after we tried to set it up. In any case, I might turn back to the coldfusion method that Terrence was nice enough to send me. The link can be found at:
    http://www.numtopia.com/terry/code_exchange_item_creator.cfm

  45. Bryan Avatar
    Bryan

    I 2nd, 3rd, 4th, ……..
    Lotus Notes. Yes, I hate it. Yes, I’m stuck with it. Please make my life easier.

  46. thinman Avatar
    thinman

    Man oh man. I saw the Scorpio stuff in action just the other evening and the Exchange integration is SWEET! Ben hooked into Exchange and updated a calendar with like half a line of code or something (I was on my second Corona, and I’m a lightweight, so the code thing was kinda blurry).
    The .Net integration is simply incredible. There’s simply NO other way to get this much functionality so simply, elegantly, and cleanly.

  47. Chris Rogers Avatar
    Chris Rogers

    Okay Ben,
    Now that Scorpio 8 is around the corner and you and Tim Buntel have been road showing it… it’s time to update the thread and let us in on the juicy details that have come from all of these discussions and wish lists… What gives Ben :O) are these wishes now realities in Scorpio…???
    Thanks for listening again to the community!!!
    Regards,
    Chris

  48. Ben Forta Avatar
    Ben Forta

    Chris, yep, we’ve been demoing the Exchange integration for a while now, and yes, much of what it does it directly the result of this thread.
    — Ben

  49. John Farrar Avatar
    John Farrar

    http://gmailblog.blogspot.com/2007/10/sync-your-inbox-across-devices-with.html
    OK… now let’s not say "We told Adobe so…" … but we did!
    IMAP is a universal standard. Exchange was a good move, but neglecting IMAP is starting to show it’s face. Let’s say it’s time for CF 8.1 to go into beta and see this situation corrected. 🙂

  50. John Farrar Avatar
    John Farrar

    BTW… just kidding Adobe about 8.1 before we get a rumor mill going. (Though I would like to see a community project going to do it… this doesn’t have to be part of the core.)

Leave a Reply