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.

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

Eigenschaften (Properties)

Operation

Bestimmt, welche Operation der Funktions-Adapter durchführt

Mögliche Werte:

  • iCal To XML: Konvertiert iCal-Textdokument in XML

  • XML To iCal: Konvertiert adapterspezifische XML-Struktur in ein iCalendar-Textdokument

  • Create iXmap for E-Mail Adapter: Gibt eine iXmap-XML-Struktur mit Parameterwerten und dem iCal-Ereignis als E-Mail-Body aus. Diese XML-Struktur dient zum dynamischen Parametrieren eines POP/SMTP-Adapters; 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 die Operation Create iXmap for E-Mail Adapter)

Mögliche Werte:

Beliebiger gültiger Dateiname

Statuswerte

1

Die Operation wurde erfolgreich ausgeführt.

-1

Die Operation ist aufgrund eines technischen Fehlers fehlgeschlagen.

Abhängigkeiten

Dieser Adapter hat Abhängigkeiten zu folgenden Bibliotheken:

  • ical4j-1.0.jar

  • backport-util-concurrent-3.1.jar

  • icalendar.jar

Operation: iCal to XML

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

Input

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

Output

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

Operation: XML to iCal

Mit der 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:

CODE
<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>

Output

Für die 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 der 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 die Operation Create iXmap for E-Mail Adapter erwartet der Adapter die gleiche Input-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:

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

Output

Für die 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. Dabei genügt eine Identitätstransformation. Ein darauf folgender POP/SMTP-Adapter wird dann dynamisch mit den im Input-XML-Dokument angegebenen Werten parametriert.

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