[Kroupware] RFC Update

Stephan Buys s.buys at icon.co.za
Mon May 5 15:55:36 CEST 2003


Hi all,

Thanks for the feedback, please keep it coming. 
Special thanks to Marc Mutz and Hartmoet Goebel for their suggestions.

Major changes: 
- Lots of FIXME's removed.
- Decided on a standard folder structure. (Any feedback?)

Regards,
Stephan
-------------- next part --------------
FIXME                                                            S. Buys
Internet-Draft                                               Code Fusion
FIXME                                                              FIXME
                         erfrakon, Intevation, Klarälvdalens Datakonsult
                                                                   FIXME

                         IMAP Groupware Folders (IGF)

Status of this Memo

   To: Kroupware community.

   This is a very early draft. Before this document is submitted to the
   IETF standards track an attempt will be made to clarify the processes
   used in the Kolab server as well as other relevant components.

   To get more details of this process see RFC2026 (www.ietf.org).

   Where do we need your help?
   1) Overlap with other RFCs (we can't read through them all :-)
   2) Missing components.
   3) References to other standards and RFCs.
   4) Editing.
   5) Technical details.

   Just search for FIXME and go crazy :-)

   Please feel free to make contributions and send in comments to the
   kroupware at mail.kde.org mailing list.

Copyright Notice

   Copyright (c) 2003 Stephan Buys.
   Permission is granted to copy, distribute and/or modify this document
   under the terms of the GNU Free Documentation License, Version 1.1
   or any later version published by the Free Software Foundation;
   with no Invariant Sections, with no Front-Cover Texts, and with no
   Back-Cover Texts. A copy of the license is included in the section
   entitled "GNU Free Documentation License" at the end of the document.

Abstract

   IMAP Groupware Folders is a draft proposal for the Internet Standards
   track that defines a standard for storing [Groupware] items in an
   [IMAP] mailbox.

   This draft is based on the methods used by the Kolab KDE Client[1]
   and the Bynari Insight Connector[2]. FIXME - Is this correct?

Table of Contents

1. Introduction

   This document specifies how a Mail User Agent [MUA] uses an [IMAP]
   server to store [Groupware] information. [Groupware] information can
   be seen as the user's [Contacts], [Calendar Entries],
   [Notes] and [Task Lists]. Currently there is an abundance of
   applications that can handle these types of information on the client
   hosting the [MUA], however, there is no standard way of storing these
   items in a standard format on a central server.

   IGF addresses this need and specifies the specific
   standards and formats to be used by a [MUA] to access and store
   Groupware information in an interoperable fashion.

   This document does not cover the process of sending [Groupware]
   related items between different User Agents. These processes are covered by
   [iTIP] and [iMIP].

1.1 Formatting Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this
   document are to be interpreted as described in [RFCWORDS].

1.2 Related Documents

   Other pertinent documents needed for implementation are:

   [IMAP] -  (RFC2060) Specifies the server protocol that a [MUA] uses
      to access [Groupware] information.

   [IMAP-ACL] - (RFC2086) Specifies the standard for handling Access
      Control Lists with an [IMAP] server.

   [iTIP] -  (RFC2446) Specifies the standard protocol for scheduling
      between different applications.

   [iMIP] -  (RFC2447) Specifies the transport of [iTIP] items through
      email.

   [iCalendar] - (RFC2445) FIXME Description

   [vCard] - (RFC2445) FIXME Description


1.3 Definitions

   Groupware - [Groupware] items can be understood as:
      Calendar - A user's events and appointments.
      Contacts - Analogous to business cards.
      Notes    - Arbitrary text notes that a user needs to keep.
      Tasks    - A user's to-do list.

2. IGF Access Method

2.1 Folder Tree

   [IGF] folders are stored under the INBOX of the user's IMAP mailbox. The
   folders are called Calendar, Contacts, Notes and Tasks. The MUA can then
   translate the folder names into localised names as required.

   - INBOX
     +- Calendar
     +- Contacts
     +- Notes
     +- Tasks

   FIXME - As not all IMAP servers support the same features, this should be
   the common denominator? Or should each folder be configurable by the client
   thus making this issue null and void?

2.2 Conflict resolution

   FIXME - Descibe a method whereby clients can "behave well" when multiple
   connections are made to a mailbox.

   FIXME  A suggestion has been made that the folders should not
   be listed at all with the LIST or LSUB commands but should be accessed
   through hard-coded default folders. This is not possible with Bynari
   but Kolab can do this. Folders can also be hidden on the IMAP server.

3. IMAP Groupware Folders

3.1 Contacts Folder

   Each contact is represented as a multi-part MIME email with a [vCard]
   attached in the user's IMAP contact folder.

   vCard MIME Message:

      Content-Type: Text/X-VCard;
      charset="utf-8"
      From: Stephan Buys <s.buys at codefusion.co.za>
      Reply-To:
      Bcc:
      Organization: Code Fusion
      X-KMail-Fcc:
      To: Stephan Buys
      Subject: Contact: Stephan Buys
      Date: Sat, 5 Apr 2003 11:19:56 +0200
      User-Agent: KMail/kroupware-RC1
      Status: RO
      X-Status: O
      X-KMail-EncryptionState:
      X-KMail-SignatureState:
      X-KMail-MDN-Sent:
      X-UID: 1

      BEGIN:VCARD
      VERSION:3.0
      NAME:Stephan Buys
      UID:rwxg4FeaU
      FN:Stephan Buys
      EMAIL:stephanb at codefusion.co.za
      N:Buys;Stephan;;;
      CLASS:PRIVATE
      END:VCARD

   FIXME - Is this compatible with Bynari Insight Connector?

3.2 Calendar Folder

   Each calendar entry, appointment or conference, is represented as a
   multi-part MIME email.

   iCalendar MIME Message:

      Content-Type: text/calendar;
        method=REQUEST;
        charset="utf-8"
      From: Stephan Buys <s.buys at codefusion.co.za>
      Reply-To:
      Bcc:
      Organization: Code Fusion
      X-KMail-Fcc: sent-mail
      To: Stephan Buys <s.buys at codefusion.co.za>
      Subject: libkcal-2014235416.404
      Date: Mon, 7 Apr 2003 18:47:51 +0200
      User-Agent: KMail/kroupware-RC1
      Status: RO
      X-Status: O
      X-KMail-EncryptionState:
      X-KMail-SignatureState:
      X-KMail-MDN-Sent:
      X-UID: 4

      BEGIN:VCALENDAR
      PRODID
       :-//K Desktop Environment//NONSGML libkcal 3.1//EN
      VERSION
       :2.0
      METHOD
       :REQUEST
      BEGIN:VEVENT
      DTSTAMP
       :20030407T164751Z
      ORGANIZER
       :MAILTO:s.buys at codefusion.co.za
      ATTENDEE
       ;CN=Stephan Buys
       ;RSVP=FALSE
       ;PARTSTAT=ACCEPTED
       ;ROLE=REQ-PARTICIPANT
       :mailto:s.buys at codefusion.co.za
      CREATED
       :20030407T164751Z
      UID
       :libkcal-2014235416.404
      SEQUENCE
       :0
      LAST-MODIFIED
       :20030407T164751Z
      SUMMARY
       :A meeting
      LOCATION
       :The meeting place
      CLASS
       :PUBLIC
      PRIORITY
       :3
      DTSTART
       :20030407T074500Z
      DTEND
       :20030407T094500Z
      TRANSP
       :OPAQUE
      END:VEVENT
      END:VCALENDAR

   Each message is stored in the user's IMAP calendar folder.

   FIXME - could the KMail guys explain the special format of the
   Subject? (When accessing the IMAP store with "Groupware Disabled".

   FIXME - Again. Any retrieval guidelines here? Should the UA only
   retrieve messages according to a specific date? How will this scale?
   See: Slow startup with many calendar entries - Andreas Gungl -
   (4 April 2003) - [Kroupware] mailing list.

   FIXME(new) - A recommendation has been made for a X-EndDate entry
   in the mail header which will allow a client to retrieve only a
   set period's mail which will greatly improve performance for really
   big mailboxes.

3.3 Notes Folder

   Each note is reprented by a multi-part MIME email. The note itself is
   derived from the body of the email.

   MIME Part:

      Content-Type: text/plain;
        charset="utf-8"
      From: Stephan Buys <s.buys at codefusion.co.za>
      To: Stephan Buys <s.buys at codefusion.co.za>
      X-KOrg-Note-Id: libkcal-1953363517.276
      X-KOrg-Note-Color: #ffff00
      Status: RO
      X-Status: O
      X-KMail-EncryptionState:
      X-KMail-SignatureState:
      X-KMail-MDN-Sent:
      X-KOrg-Note-Geometry: 200x150+640+543

      A note with some info on it.

   FIXME - The notes in the Kolab client aren't even close to what is
   described in Appendix A2 of the Architecture document?

3.4 Tasks Folder

   Each task entry is represented as a multi-part MIME email with [iCAL]
   [VTODO] information in a MIME part of the email. Each email is
   representing a task is stored in the designated tasks folder.

   MIME iCal Part:

      Content-Type: text/calendar;
        method=REQUEST;
        charset="utf-8"
      From: Stephan Buys <s.buys at codefusion.co.za>
      Reply-To:
      Bcc:
      Organization: Code Fusion
      X-KMail-Fcc: sent-mail
      To: Stephan Buys <s.buys at codefusion.co.za>
      Subject: libkcal-727785235.893
      Date: Mon, 7 Apr 2003 18:49:22 +0200
      User-Agent: KMail/kroupware-RC1
      Status: RO
      X-Status: O
      X-KMail-EncryptionState:
      X-KMail-SignatureState:
      X-KMail-MDN-Sent:
      X-UID: 2

      BEGIN:VCALENDAR
      PRODID
       :-//K Desktop Environment//NONSGML libkcal 3.1//EN
      VERSION
       :2.0
      METHOD
       :REQUEST
      BEGIN:VTODO
      DTSTAMP
       :20030407T164922Z
      ORGANIZER
       :MAILTO:s.buys at codefusion.co.za
      CREATED
       :20030407T164922Z
      UID
       :libkcal-727785235.893
      SEQUENCE
       :0
      LAST-MODIFIED
       :20030407T164922Z
      SUMMARY
       :A todo
      LOCATION
       :The place
      CLASS
       :PUBLIC
      PRIORITY
       :3
      PERCENT-COMPLETE
       :0
      END:VTODO
      END:VCALENDAR

   FIXME - Again. What is up with the special subject?

Appendix A. Acknowledgements

   FIXME

Appendix B. Bibliography

   FIXME
   [IMAP]      RFC....



More information about the Kroupware mailing list