Skip to main content
Skip table of contents

iCalendar

Dieser Adapter erzeugt aus einem adapterspezifischen XML-Dokument ein iCalendar-Ereignis gemäß RFC 5545 oder konvertiert ein iCalendar-Textdokument in ein XML-Dokument. Zudem kann ein POP/SMTP-Adapter dynamisch parametriert werden, sodass im Anhang einer E-Mail ein iCalendar-Ereignis (z. B. eine Termineinladung) versendet wird.

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte:

  • iCal To XML: iCal-Textdokument in XML konvertieren

  • XML To iCal: Adapterspezifische XML-Struktur in ein iCalendar-Textdokument konvertieren

  • Create iXmap for E-Mail Adapter: iXmap-XML-Struktur mit Parameterwerten und dem iCal-Ereignis als E-Mail-Body ausgeben, die zum dynamischen Parametrieren eines POP/SMTP-Adapters dient; siehe X4 Entwickler-Referenz – Dynamische Prozesse über iXmap.

    Diese Operation wird mit dem nächsten Release abgekündigt.

Parameter

Adapter

Hauptklasse des Adapters (nicht verändern!)

Mögliche Werte: de.softproject.integration.adapter. icalendar.ICalendarAdapter: Hauptklasse (Standard)

attachmentName

Dateiname des E-Mail-Anhangs mit dem iCal-Kalenderelement (für Operation Create iXmap for E-Mail Adapter)

Mögliche Werte: Beliebiger gültiger Dateiname


Statuswerte

1Die Operation wurde erfolgreich ausgeführt.
-1Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

Beispiel

Im Demosystem X4 Experience finden Sie den Beispielprozess iCalendarAdapter.wrf zur Verwendung des Adapters.

Abhängigkeiten

Dieser Adapter folgende Bibliotheken:

  • ical4j-1.0.jar

  • backport-util-concurrent-3.1.jar

  • icalendar.jar

Operation: iCal to XML

Mit Operation iCal To XML lässt sich ein gültiges iCal-Textdokument in XML konvertieren.

Input

Für Operation iCal To XML erwartet der Adapter ein beliebiges gültiges iCal-Textdokument.

Ausgabe

Für Operation iCal To XML gibt der Adapter ein XML-Dokument aus, das sämtliche Termin-Informationen enthält (siehe Beschreibung der Input-Struktur bei Operation XML To iCal).

Operation: XML to iCal

Mit Operation XML To iCal lässt sich eine adapterspezifische XML-Struktur in ein iCalendar-Textdokument konvertieren.

Input

Der Adapter erwartet ein Input-XML-Dokument gemäß folgendem Muster:

HTML/XML
<iCalendarData>
    <!-- E-Mail-Metadaten: Nur relevant, wenn der Adapter ein iXmap 
         für den POP/SMTP Adapter erzeugen soll -->
   <mail>
      <from><!--E-Mail-Adresse des Absenders--></from>
      <to><!--E-Mail-Adressen der Empfänger durch Semikolons (";") getrennt--></to>
      <cc><!--E-Mail-Adressen der CC-Empfänger durch Semikolons getrennt--></cc>
      <bcc><!--E-Mail-Adressen der BCC-Empfänger durch Semikolons getrennt--></bcc>
      <subject><!--Betreff--></subject>
   </mail>
   <prodId><!--Programm-ID, das die iCalendar-Daten erzeugt hat--></prodId>

   <!-- Veröffentlichungsart gemäß RFC 2446 (S.73)
        z. B. "REQUEST": Besprechungsanfrage; 
             "PUBLISH": rein informative Terminveröffentlichung -->
   <method><!--Veröffentlichungsart--></method>
   <timezoneId><!--Beliebige Zeitzonen-ID von ical4j, z. B. Europe/Berlin--></timezoneId>

   <!-- Ereignis: siehe RFC 2445 S. 51 -->
   <vevent>
      <uid><!--Global eindeutige ID für die iCalendar-Komponente (ggf. automatisch erzeugt)--></uid>
      <organizer>
         <name><!--Name des Organisators--></name>
         <mail><!--E-Mail-Adresse des Organisators--></mail>

        <!-- zusätzliche Parameter je nach iCalendar-Eigenschaft 
            (nur für Experten) -->
         <parameters>
            <parameter>
               <name><!--Parametername--></name>
               <value><!--Parameterwert--></value>
            </parameter>
         </parameters>
      </organizer>
      
       <!-- Teilnehmer: (von MS Outlook nur teilweise unterstützt) -->
       <!-- Outlook verwendet stattdessen die Empfängerdaten der E-Mail --> 
      <attendees>
         <attendee>
            <name><!--Name des Teilnehmers--></name>
            <mail><!--E-Mail des Teilnehmers--></mail>

             <!-- Teilnehmerinformationen; siehe RFC 2445 S. 28 -->
            <role><!--REQ-PARTICIPANT, OPT-PARTICIPANT oder NON-PARTICIPANT--></role>
            <partStat><!--Teilnahmestatus (bei Antwort): ACCEPTED, DECLINED ...--></partStat>
            <askForResponse><!--Antwort anfordern: true oder false--></askForResponse>
 
            <!-- zusätzliche Parameter je nach iCalendar-Eigenschaft
                (nur für Experten) -->
            <parameters>
               <name><!--Parametername--></name>
               <value><!--Parameterwert--></value>
            </parameters>
         </attendee>
      </attendees>

      <startTime timezoneId="Europe/London"><!--Startzeitpunkt (DATE oder DATE-TIME)-->
      </startTime>
      <endTime><!--Endzeitpunkt des Termins (DATE oder DATE-TIME)--></endTime>

      <!-- Wenn ein Termin geändert wird: 0-n; wird bei 
           jeder Änderung um 1 erhöht -->
      <sequence><!--Sequenz: 0-n--></sequence>
      <priority><!--Priorität von 1-9 (1=höchste Priorität, 0=keine Priorität)--></priority>
      <summary><!--Titel des Termins--></summary>
      <description><!--Beschreibungstext des Termins--></description>
      <location><!--Ort--></location>
      <status><!--Status des Termins: CONFIRMED, TENTATIVE ...--></status>

      <!-- Hinweis: MS Outlook kann Termine mit gesetzten 
           Elementen "rrule" und "exrule" nicht verarbeiten! -->
      <rrule><!--Wiederholungsregel--></rrule>
      <exrule><!--Ausnahmen der Wiederholungsregel--></exrule>

      <!-- siehe RFC 2445 S.66 -->
      <!-- Löst zu einem bestimmten Zeitpunkt eine Aktion aus; 
           kann nur in "vevent" und "vtodo2" verwendet werden -->
      <valarm>

         <!-- siehe RFC 2445 S.70 -->
         <trigger>
            <value><!--Zeitangabe, deren Typ von Element "type" abhängt--></value>
            <type><!--Zeitangabentyp: DURATION (Standard), DATE-TIME oder DATE--></type>

            <!-- wenn dieses Element "true" enthält und als Typ "DURATION" 
                 gewählt ist, dann wird das Element "value" relativ zum 
                 Endzeitpunkt der übergeordneten Komponente betrachtet, 
                 andernfalls relativ zum Startzeitpunkt -->
            <relativeToEnd>Relative Angabe: true oder false--></relativeToEnd>
         </trigger>

         <!-- siehe RFC 2445 S.69 -->
         <action><!--DISPLAY--></action>
         <repeat><!--Anzahl an Wiederholungen des Alarms--></repeat>

         <!-- Zeitabstand zwischen den Alarmen, wenn "repeat" größer 0 
              ist (hier 30 Sekunden) -->
         <duration><!--PT30S--></duration>
         <summary><!--Titel der Alarmmeldung--></summary>
         <description><!--Beschreibung der Alarmmeldung--></description>
         
         <!-- Optional: Definition von "attendees" und "otherProperties" 
             (Struktur wie in "vevent") -->
      </valarm>

      <categories>
         <!-- 1-n Kategorien, zu denen der Termin gehören soll -->
         <category><!--Kategoriename--></category>
      </categories>

      <!-- Sonstige Properties (nur Properties, die für 
           diese Komponente definiert sind) -->
      <otherProperties>
         <property>
            <name><!--Eigenschaftsname--></name>
            <value><!--Eigenschaftswert--></value>
            <parameters>
               <parameter>
                  <name><!--Parametername--></name>
                  <value><!--Parameterwert--></value>
               </parameter>
            </parameters>
         </property>
      </otherProperties>
   </vevent>

   <!-- Aufgabe: siehe RFC 2445 S.54 -->
   <vtodo>
      <due timezoneId="US-Eastern"><!--Endzeitpunkt im Format YYYYMMDDThhmmss--></due>
      <duration><!--Dauer - nicht gemeinsam mit Element "due" verwenden--></duration>

      <!-- Hier können zusätzlich alle Elemente aus "vevent" außer "endTime"
           verwendet werden. -->
   </vtodo>

   <!-- Journal: siehe RFC 2445 S.55 -->
   <vjournal>
      <!-- Alle Elemente aus "vevent" außer: "sequence", "priority", 
           "location", "endTime" und "valarm"  -->
   </vjournal>

   <!-- Belegt/Frei: siehe RFC 2445 S.57 -->
   <vfree_busy>
      <uid>(siehe Element vevent)</uid>
      <organizer><!--siehe Element "vevent"--></organizer>
      <attendees><!--siehe Element "vevent"--></attendees>
      <startTime><!--siehe Element "vevent"--></startTime>
      <endTime><!--siehe Element "vevent"--></endTime>
      <duration><!--Dauer - nicht gemeinsam mit Element "endTime" verwenden--></duration>
      <comment><!--Kommentartext--></comment>
      <otherProperties><!--siehe Element "vevent"--></otherProperties>
   </vfree_busy>

   <otherProperties><!--siehe Element "vevent"--></otherProperties>
</iCalendarData>  

Ausgabe

Für Operation XML To iCal gibt der Adapter ein entsprechendes iCalendar-Textdokument aus.

Operation: Create iXmap for E-Mail Adapter

Diese Operation wird mit dem nächsten Release abgekündigt.


Mit Operation Create iXmap for E-Mail Adapter lässt sich eine iXmap-XML-Struktur mit Parameterwerten und dem iCal-Ereignis als E-Mail-Body ausgeben, die zum dynamischen Parametrieren eines POP/SMTP-Adapters dient; siehe X4 Developer Guide – Dynamische Prozesse über iXmap.

Input

Für Operation Create iXmap for E-Mail Adapter erwartet der Adapter die gleiche XML-Struktur wie bei Operation XML To iCal.

Zusätzlich kann jedoch das Wurzel-Element als erstes Kindelement ein Element <mail> enthalten, in dem für jeden Parameter, der beim  POP/SMTP-Adapter dynamisch gesetzt werden soll, ein gleichnamiges Element inklusive Wert definiert werden kann:

HTML/XML
<iCalendarData>
   <mail>
      <!-- für jeden zu setzenden Parameter -->
      <Parametername 1><!--Wert 1--></Parametername 1>
      <Parametername n><!--Wert n--></Parametername n>
   </mail>
   <!-- Termindaten -->
</iCalendarData>

Ausgabe

Für Operation Create iXmap for E-Mail Adapter gibt der Adapter ein iXmap-XML-Dokument aus, das zum dynamischen Parametrieren eines POP/SMTP-Adapters dient; siehe X4 Developer Guide – Dynamische Prozesse über iXmap.

Damit die Prozess-Engine die iXmap-Struktur jedoch als solche erkennt, muss dieses XML-Dokument erneut via XSL transformiert werden (Identitätstransformation genügt). Ein darauf folgender POP/SMTP-Adapter wird dann dynamisch mit den im Input-XML-Dokument angegebenen Werten parametriert.

HTML/XML
<iXmap>
   <Return>
      <!-- für jeden gesetzten Parameter -->
      <Parametername 1><!--Wert 1--></Parametername 1>
      <Parametername n><!--Wert n--></Parametername n>
   </Return>
</iXmap>
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.