[Kroupware] Kroupware RFC update

Stephan Buys s.buys at codefusion.co.za
Tue Apr 29 11:12:18 CEST 2003


Hi all,

Some minor changes and one or two new FIXME's added as per user feedback.
Same as before: Any comments welcome :-)

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)

   [vCard] - FIXME

   [vToDo] - (RFC2446)



1.3 Definitions

   Groupware -  FIXME

---------------------SECTION 2 (To be removed) -------------------------------
FIXME - This section is flagged for removal. The concern has been raised that
this does not address the issues surrounding the RFC. Any comments?
The intention with this section was that it helps a implementor to understand
what groupware items actually is. (But then again he/she should probably know)

2. Groupware Items

2.1 Contacts

   Analogous to Business Cards. Users are able to maintain a private
   repository of contacts. A contact could be an organization or
   an individual. Typical information associated with a contact is:

   - name
   - email address
   - role
   - organization

2.2 Calendar Entries

   The user's private calendar entries. Information stored could
   include important dates, appointments and events. A calendar entry
   will typically include:

   - description
   - start time
   - end time
   - location

2.3 Notes

   This addresses the need for a user to centrally store information
   items or notes. A note is typically just composed of text.

2.4 Task Lists

   Allows a user to keep track of private action items. A task typically
   contains the following information:

   - description
   - priority
   - due date
   - status

-----------------------END OF SECTION 2 (To be removed)-----------------------

3. IGF Access Method

   FIXME - In the KMail client the folders are all stored under a specific
   folder. Would it be possible to have all the folders under the root
   folder? Ie. INBOX, Contacts, Tasks, etc. on the same depth?

   FIXME (new) - 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.

   Suggestion: Maybe there should be special, hidden folders like:
   __GW_Contacts, __GW_Calendar, __GW_Tasks, __GW_Notes?

   FIXME - Describe the process whereby a UA logs into the IMAP server
   and the transport is used. Security comes into this as well. Do we do
   any special actions or do we just open the hardcoded folders?

   FIXME - What consideration is given to offline storage or is it
   defined by the UA? Disconnected IMAP?

   FIXME - Should the UA have hardcoded folder names? Ideally there will
   be fixed names for the folders with a translation done by the client.
   This way different clients using different languages can use the same
   store. Is this feasible?

4. IMAP Groupware Folders

4.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?

4.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.

4.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?

4.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