Sending tasks to Outlook and Notes
I'm in Munich now visiting my favourite Environment & Management software company. We are planning for the next set of features of UMsys. One feature we are discussing is the ability of the UMsys application server to send tasks/to-dos directly into the users' task lists. The UMsys server can send SMTP/MIME messages, that should be consumed by the eMail clients. UMsys' customers run Exchange/Outlook, Lotus Notes and some other mail systems. So we ran a little comparison what needs to be done for Notes and Outlook.
For Notes it is quite straight forward: you send a mime message that contains an VCALENDAR record. It can look like this:
Content-Type: text/calendar; method="REQUEST"; charset="UTF-8"
BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 6.0//EN
METHOD:REQUEST
BEGIN:VTODO
DTSTART:20050930T040100Z
DUE:20051022T040100Z
DTSTAMP:20050926T195957Z
SEQUENCE:0
ATTENDEE;ROLE=CHAIR;PARTSTAT=ACCEPTED;CN="Stephan H. Wissel/TaoConsulting";
RSVP=FALSE: mailto:stephan@wissel.net
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE
: mailto:peter.pan@disney.com
CLASS:PUBLIC
DESCRIPTION:Test\n
SUMMARY:Test gMail
ORGANIZER;CN="Stephan H. Wissel/TaoConsulting": mailto:stephan@wissel.net
PRIORITY:1
UID:085D1DE1CE483B1048257088006DCAB1-Lotus_Notes_Generated
X-LOTUS-BROADCAST:FALSE
X-LOTUS-UPDATE-SEQ:1
X-LOTUS-NOTESVERSION:2
X-LOTUS-NOTICETYPE:I
X-LOTUS-CHILD_UID:085D1DE1CE483B1048257088006DCAB1
END:VTODO
END:VCALENDAR
Or one could stuff all the needed Notes fields into the MIME header, which would look like this:
X-Notes-Item: CN=Stephan H. Wissel/O=TaoConsulting;
name=OriginalFrom
When looking towards Outlook the story is quite a different beast. I did some testing with Matthias from HEC (If you need excellent Microsoft development in Germany talk to them, it's a pleasure working with people who really know their stuff well). It turns out, that Outlook doesn't understand VCalendar tasks but encodes the whole message into the body using some propriety format.
Content-Class: urn:content-classes:calendarmessage
Content-Type: multipart/mixed;
Notes doesn't understand calendarmessage thus rendering the HTML version. There I got stuck (and couldn't pull Matthias out of his meeting). Seems like it's a little harder to connect to Exchange/Outlook using open standards.
Update: We desected the MIME comming from Outlook. It seems to be formiable complicated to create a task...This is what we got in the MIME. Comments inside:
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.1830
Content-Class: urn:content-classes:calendarmessage
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----_=_NextPart_001_01C5C32E.841F8FA0"
Subject: Aufgabenanfrage: Noch ne Aufgabe (that came from a German Outlook)
Date: Tue, 27 Sep 2005 08:41:37 +0200
Message-ID: <A3B2DC1FAF78A64D996E353CA68757C5267926@neverland.com>
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
Thread-Topic: Noch ne Aufgabe
thread-index: AcXDLoLAM9bYtD7SSiCXbweAnFG2XQ==
From: "Pan, Peter" <peter.pan@neverland.com>
To: <stephan.wissel@gmail.com>
Return-Path: <peter.pan@neverland.com>
X-OriginalArrivalTime: 27 Sep 2005 06:33:04.0406 (UTC) FILETIME=[50A80360:01C5C32D]
This is a multi-part message in MIME format.
------_=_NextPart_001_01C5C32E.841F8FA0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_002_01C5C32E.841F8FA0"
------_=_NextPart_002_01C5C32E.841F8FA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Betreff: Noch ne Aufgabe
Beginnt am: Donnerstag, 29. September 2005
F=E4llig am: Donnerstag, 29. September 2005
Status: Nicht begonnen
Prozent erledigt: 0%
Gesamtaufwand: 0 Stunden
Ist-Aufwand: 0 Stunden
Zust=E4ndig: stephan.wissel@gmail.com
Unless Outlook digest this as "Field:Value" there is no other computer digestable stuff in the message.
------_=_NextPart_002_01C5C32E.841F8FA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
6.5.7226.0">
<TITLE>Aufgabenanfrage: Noch ne Aufgabe</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
.... a lot of html, cut off for brevity ...
</BODY>
<!--[object_id=3D#hec.de#]--></HTML>
------_=_NextPart_002_01C5C32E.841F8FA0--
------_=_NextPart_001_01C5C32E.841F8FA0
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
Content-class: urn:content-classes:task
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----_=_NextPart_003_01C5C32E.8139ADC0"
Subject: Noch ne Aufgabe
Date: Tue, 27 Sep 2005 08:41:35 +0200
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Noch ne Aufgabe
Thread-Index: AcXDLoE5X/eCM1sRRIS8QMEMkOT3Hw==
From: <stephan.wissel@gmail.com>
To: <stephan.wissel@gmail.com>
This is REALLY wierd. Peter Pan did send it, but there is from me to me
This is a multi-part message in MIME format.
------_=_NextPart_003_01C5C32E.8139ADC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
------_=_NextPart_003_01C5C32E.8139ADC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
------_=_NextPart_003_01C5C32E.8139ADC0--
------_=_NextPart_001_01C5C32E.841F8FA0--
Posted by Stephan H Wissel on 25 September 2005 | Comments (2) | categories: IBM Notes Lotus Notes