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 <cfmail>, receive e-mail via <cfpop>, and access directory services via <cfldap>. 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).
Next off, the ability to integrate with calendar events. I'd like to be able to schedule events in Exchange that CF could pick up to launch tasks, or something. At the very least, to be able to create and update events programatically.
Damien
Damien
We have some larger accounts that would like to use Exchange. I would like the integration to be as complete and easy as we have it with IMail. Even though we wrote all the integration code, it was very simple to do. Exchange has more features, but those additional features comes more complexity working with it programmatically. If CF had tags to do this integration it would be wonderful.
Our integration needs are not from an intranet perspective, but an ISP perspective. We need to be able to setup domain names and mailboxes without all the Windows Domains and Users overhead. Our users will not have a Windows Network account.
Jason Nokes
DistributorCentral, LLC
324 E. Main
Gardner, KS 66030
888-516-7402
www.distributorcentral.com
jnokes@distributorcentral.com
Chris
Damien
Kathy, do you want ColdFusion to update someone's calendar programatically, or do you just want a way for the user to do something to add an event to Outlook? If the latter, you can do that already, just have CF create a vCal record (Outlook will open it and will allow the user to save the event). I believe there is even a UDF at www.cflib.org that will create the vCal for you (many years ago, in a prior lifetime, I was involved in the vCal RFP, wow, seems like ancient history). Or do you want a way to update Exchange so that users need to nothing, you just add evenst to their calendar programmatically?
As of now we've had to cludge together a Java based socket connection, and then use WebDav to write the information to Exchange. It works, but it's fragile.
It would be nice if ColdFusion could write to an Exchange Store as easily as it writes to other databases. (Even if Exchange still runs on Jet.)
- Be able to retrieve data from Exchange such as mail, calendar information, notes, folders (private, public, shared()
- Be able to post calendar items, update calendar items, send notifications of calendar updates, be able to track accepts and deny's of calendar invites
- Be able to post, edit, tasks
- I don't know if this is CF related per se. But essentially a way from Outlook or any Office app that has a CF plugin that can be used to interact with your CF stuff. For example, you're writing an email and you want that info to also go to your CF content management system - there should be a button that let's you post that directly to your CMS. Or you're looking at an email, or word doc, and want to publish that to your CMS. Or you're looking at some information, the widget on your office app can be clicked on which provides a drop down list of the TOP x items that match stuff on your system (ie behind the scenes the widget checked to see in your system, perhaps doing a verity search to see what docs match whatever is being talked about in that email) and be able to click on that title to retrieve that that info.
Essentially eliminate the multistep need to have to open up a browser, log into the cms system, navigate to wherever you need to go, and then click on browse, upload, post, etc... I'm talking one touch publishing abilities. Essentially create some kind of framework that provides all the hooks that would allow CF developers to put in all the business logic and make it happen.
- Ability to drag and drop upload. As opposed the the multistep process of using html forms.
Things i'd like to see:
- ability to read, write, delete calendar events within exchange
- ability to send calendar events within the exchange format and then track those events and be able to change those events and send out notifications of changes.
- support for inset images when working with emails
- ability to schedule tasks and reminders.
- ability to work with notes.
- ability to work with/ update contact information
- ability to access/work with/download/upload public file folders
I don't really want to duplicate the functionality of an email client. That has little value for us (we use exchange web mail) but the ability to function and interact with exchange and to generate some of these events within the would be a definate plus when it comes to integrating with current user processes.
I have always wanted to use Coldfusion to create a page that can go as the background of the desktop.
The page would basically tap into Exchange and show all the information regarding the conference room.
It could even change colors 15,5 minutes before the time is up.
--
in one line: make a feature that allows us to view/update/create Calendar entries in Exchange.
thanks
One thing that would be neat, buidling on Fernando's ideas, would be to make a web page that was a one-stop shop for the meeting with the following features:
-Attendee list. There'd be the obvious color code for those who accepted the invite and those who didn't. You'd also be able to have a color for those who are double booked, those who have out of office turned on, and, using a gateway interface, find out if they're IM clients are set to away.
-"You coming?" With a click of a button on the page, the organizer could send a simple email with the subject of "You coming?". We'd then be able to pull-in the meeting info and plop that into the body. We could also add, "This is an automated email. Please respond with a simple 'yes' or 'no'. The organizer will be given your response in realtime and will know whether to continue or wait for you." The system can then update the attendee list based on that response.
-Agenda Items. The cfserver would be able to act as a respository for the files necessary for the meeting, i.e. word docs, power point presentations, etc.
-Meeting Notes. Meeting notes could then be typed into the page, stored and made searchable.
-Action Items. Action items would then be created during the meeting and added to the responsible person's Calendar and Task sections.
-Follow-up. With a few clicks, you could then dispatch a copy of the meeting notes and all files (PPTs, DOCs, etc.) to whoever wanted them. Not to mention during meetings, it's not uncommon for other's peoples names to pop-up. "You know, you should bring Bob the Builder into loop. You'll need sign off from him before you move forward with this." No problem, a quick lookup would find his email and add him to the list.
Now, that's just for meetings! =) The possiblities though should be as endless as that.
The first one is an in/out board application that displays when someone is out of the office (traveling, vacation, sick, etc.). In addition to the technical challenge of pulling in Outlook schedule information, the other issue with this is that the in/out board is public (inside the company) but calendars are not, so I'm not sure how exactly to determine what Outlook information should or should not be automatically displayed. But the potential for eliminating redundant work for employees is there.
The other application is a "travel orders" system that employees use to get approval for business trips. I'd like for this travel information, once approved, to automatically populate their public in/out board entry (which is easy), and also their private Outlook calendar.
1. Read/write access to user calendars
2. Access to public folders (both mail and calendar types)
Given those two abilities (and an Exchange administrator who would enable IMAP!) I would be able to do all the Exchange integration that has ever been requested of me.
Task integration would be very nice if you could have your web application create tasks as necessary for different things. For instance, if you have a web app with an approval process, when something is submitted for approval, you could automatically create a task for the individual telling them to approve it. Not sure if this is possible or not, but it would be neat if they could do simple approvals from the Outlook form itself. I believe that requires messing with outlook though and not so much using CF. It can't hurt to ask though :-)
Retrieve mail, calendar information, notes and folders (private, public, shared)
Post and update calendar information
Post and edit task
Search Exchange folders, notes and calendar information
Easy for developers to use and administrators to configure.
On another note, I'd like to see CF have the ability to build JSR168 portlets.
As far as my list goes (not in any order):
1. DON'T make this a CF Enterprise-only feature, PLEASE!!! Many small shops can not afford CF Enterprise, even though they can afford Exchange.
2. Fast IMAP access. With MSX, IMAP is not a speedy protocol especially with a folder that contains many email messages. Use CFX_IMAP4 as a control. It's pretty fast in itself, but the bottleneck is MSX.
3. Full, if possible, MAPI access. Bascially, give me the same abilities that Outlook has. If Outlook can do it, give us the ability from CF.
4. CF must understand the difference between objects in folders. For example, normally, the Inbox contains messages. However, you can drag other types of mailbox objects into a mail folder. I refer to the Message Classes. Google "IPM." for examples. CF must know that appointment items contain attributes that messages don't. Basically, most objects inherit from message objects.
5. CF must understand the flags within messages. These flags include items such as importance, appointment labels, custom fields (usually accessed as an array using an integer value).
6. This is somewhat an AD/LDAP request, but it would be absolutely great if CF would handle recursive group membership retrieval.
7a. CF must understand recurring appointments. We should have the ability to retrieve the recurring settings. For example, CF should be able to say "Repeats Every Monday From Jan 1, 2005 to Dec 31, 2005" (or something like that).
7b. CF should not require us to "build" the recurrance when retrieving appointments from the MSX database. For example, if an MSX calendar contains an appointment that repeats every Monday, CF should return an array, or query, that already calculates all recurrances and not just the first occurance.
8. Many of the previous suggestions can be fulfilled with a simple LDAP query. You should consider this fact before building a native function within CF. Exceptions are welcome if the native function would improve performance or coding as opposed to an LDAP tag.
9a. I want the ability to traverse through a mailbox to get a hierarchy of the folders, regardless of depth, and return a message count and relative folder size for each folder. I wrote an ASP page that does just this, but it is a pain to code and maintain. CF should make this very easy.
9b. CF should be able to quickly get a total size for each mailbox w/o having to traverse each folder in each mailbox. The MSX system admin console can do this now. We don't need an exact up-to-the-second report. We just need a pretty-recent report.
10. Creating mailboxes is a snap, using LDAP. I want to be able to remove mailboxes once they are no longer needed. I want to create a custom MSX administration application to improve the life of our MSX administrator. In other words, I want CF to give me the ability to control a mailbox through its entire lifetime.
11. Let CF compact, repair, report mailserver/mailbox/storage group status/health, etc.
12. CF can get quite a bit of information about MSX storage groups and mailbox stores from AD using LDAP. It would be nice to make this information eaily available with a native function in CF. I built a CF-based app that lets users see why their mailbox is full and can't send/receive messages. It also shows their mailbox size and if the size is a default or not.
13. A MSX gateway would be awesome. It could respond to certain MSX events such as when the mailbox store gets to a certain limit. A gateway that could react to an appointment reminder would be great. Not everyone has a PDA that can sync to Outlook/MSX. The gateway could send a SMS/IM to the mobile device to warn of an upcoming meeting if the person is away from their desktop.
14. Currently, I have a web app (built with classic ASP) that queries a mailbox's calendar, retrieves all events and then stores them in a SQL database. Then, our web servers pull from the quick database rather than the slower MSX server. The main problems are CF does not currently support CDO integration (CF5 did, however) and that the ASP page must be run on the mail server itself. Therefore, CF MUST be able to connect to a "remote" mail server and not need to be installed on the mail server itself.
15. I repeat. PLEASE DON'T make this a CF Enterprise-only feature!!!
16. Make it easy to create additional email addresses for a mailbox while checking for uniqueness in the AD. (I built a tool that does this, but it's a booger.)
17. Give CF the ability to easily maintain permissions in MSX, or any AD object, for that matter. For example, I want to create a generic, non-human mailbox and then give access to a domain group.
18. CF should be able to view/set allowed relays.
19. CF should be able to view/set global message sending/receiving limits.
20. CF should be able to track messages and provide a report. (Refer to MSX Message Tracking)
21. CF should be able to view/set email addresses to block senders. (Sender Filtering)
22. CF should be able to manage any of the installed, known protocols running on an MSX server.
Sorry if this list is a bit long, but you asked for it. ;^)
M!ke
Seriously though, I'd like to see CF having full control over pdf, ala the iText libraries.
IMAP, not such a big deal to me. Creating meeting requests and reading the accept/deny results and the ability to update Distribution Lists would be my top 2 requests.
At some point, CF cannot continue to *not* have a specialized implementation such as an Exchange connector. I'm no marketer, but I do see a huge potential with native Exchange functionality in CF.
Our former Asst VP of IT is a HUGE Microsoft fan. I'm sure there are many of those people out there who are making the final decision.
Logic dictates that these Microsoft fans will take a second look at CF if it plays well with one of the Microsoft flagship products.
Sorry if I sound selfish, but I personally don't care much about non-Windows platforms. We are a Microsoft shop and I see no need to switch platforms anytime soon or in the future.
So, Adobe, please give me some great integration with our enterprise groupware.
M!ke
All the proposed enhancements are implemented as CF tags in the Standard edition and repeated again in Enterprise, but Enterprise also contains the event gateway equivalents of the same tags.
Also a vote for improving the existing LDAP tag, to (optionaly) make it more MS Active Directory specific. For example, apply standard CF formatting to the many date stamp attributes scattered through out AD.
Primarily I would be interested in the calendar and task management features of Exchange. Currently my application sends out "to do" emails when certain events happen, things like "Item xyz has arrived at the warehouse, please add to website". I'd love to replace these emails with actual tasks that will show up in Outlook's task bar.
And yep, lots of you want IMAP support. Gotcha! :-)
Cant we do better than that?
We have built an application on our CF based intranet for case management and would like to be able to link any item from an any folder in exchange to it a case and then have some sort of web based viewer where u could pass some sort of exchange GUID to view the information about that item
Also be cool would have coldfusion to index exchange and look for customer account numbers or e-mails in the system and automatically attach or link then item to our customers history
1. Create Mailboxes (Under specific domain names for multi domain sites)
2. Delete Mailboxes
3. Change Mailbox Details, ie, Name Password etc.
This enables a CF portal to hand out exchange email addresses when signing up.
Ie say you were developing a portal called iluvcf.com when you sign up you get a free email@iluvcf.com which is an exchange account, thus you get all the lovely Web Access stuff that comes with Exchange
1. create world peace
2. understand God and the universe
3. never get haemorrhoids
If you could organise that into the next major release, it would be great. Thanks, Dex.
i.e. http://j-integra.intrinsyc.com/support/exchange/do... http://www.syncex.com/support.html
I'm currently looking for a way to programatically CRUD exchange mailbox accounts and domains. It would be reaaallly nice if it was integrated into CF, but does anyone know how to do it now or where i should start looking?
As far as creating mailboxes, you can already do that using CFLDAP. All you need to do are set a few attributes in AD. Then, Exchange's Remote Update Service (RUS) will create the mailbox based on those attributes.
The following are three different combinations of AD attributes that can be used to create an Exchange mailbox.
objectCategory
objectClass
mailnickname
msExchHomeServerName
or
objectCategory
objectClass
mailnickname
homeMdb
or
objectCategory
objectClass
mailnickname
homeMta
As you can see, creating Exchange mailboxes is almost effortless. The difficult, if not impossible, task is removing mailboxes.
What do you mean the GAL is used to populate a login table?
I want to know how many messages are sitting in the incoming queue and how many are in the outgoing queue.
We are using an Exchange plugin for our spam filtering (GFI Mail Essentials) and it tends to slow down the delivery of mail.
It would be great to have a web application that would show our help desk any queue bottlenecks in case they get calls about slow delivery.
I would envision a web-based application that would present daily or weekly reports of resource schedules.
I don't know if I would go so far as to actually schedule the resources since one person would do that using Outlook, but we do have several people that would need to see the reports.
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!
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
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
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?
* 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?
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.
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 www.cftagstore.com:
- cfx_exec (more powerful and flexible)
- cfx_http5 (same here)
- much more at web site...
Many thanks in advance.
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
- 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
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,
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.
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.
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!
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
--- Ben
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.
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.
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.
cfoutlookvcs... basically generate an .vcs file that can be email for outlook calander invites. Hmmm... maybe I will make the custom tag for it....
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!
<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"
>
<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"
>
HTH,
J
So anything that will let us tap into MSX logs or object properties (user mailbox size, for example) via CF tags would be great!
--- Ben
I have seen people with PHP make it work? Couldn't we just apply whatever concepts they use and translate it to coldfusion?
--- Ben
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.
http://www.numtopia.com/terry/code_exchange_item_c...
Lotus Notes. Yes, I hate it. Yes, I'm stuck with it. Please make my life easier.
The .Net integration is simply incredible. There's simply NO other way to get this much functionality so simply, elegantly, and cleanly.
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
--- Ben
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. :)
It works. about as good as the old cfpop tag (i know the cfpop tag has had a great deal of work done to it since it was introduced). the only issue i ever had with CF_IMAP was that it didnt like emails with no subject. but it wasnt encoded so i could fix that.
- not sure if it could create folders tho. but it wouldnt be hard to extend the tag.
I want to be able to take this list and somehow EITHER convert into .msg file and send it as an attachment to them so that when they click on the attachment, they can access the distribution list they create OR have a button on the page that creates a distribution list on their outlook. Can this be done now? if so how and if not, this is the feature I would be interested in.