Besprechungsplanung: iCal-Termine versenden


Die neue Funktionalität "Besprechungsplanung" in todo4teams erlaubt es Ihnen auf Anforderungen zu reagieren, die nicht direkt erledigt werden können, sondern das Abstimmen im Rahmen einer Besprechung erfordern. Innerhalb dieser neuen Funktionalität entsteht für Sie die Möglichkeit, eine vollwertige Besprechungsplanung mit Terminvorschlag, einer Liste der notwendigen Teilnehmer, Definition des Besprechungsziels etc. durchzuführen und direkt aus todo4teams heraus die Einladungen an die Teilnehmer zu versenden.

Ein typisches Szenario wäre eine Kundenanforderung per Mail, die Ihrerseits eine enge Abstimmung mit Kollegen sowie eine interne Besprechung erfordert. Hierzu können Sie direkt im eingetroffenen Ticket das neue Formular "iCal Invitation" anhängen, mit den Daten der erforderlichen Teilnehmer füllen, einen Terminvorschlag machen etc. Das Abschließen dieses Tickets verschickt nun die gewünschten Termineinladungen.

Das todo4teams-Formular "iCal Invitation" finden Sie hier.

Sie sind natürlich nicht auf ein bereits vorhandenes Ticket beschränkt, sondern können auch direkt aus todo4teams eine Besprechungsplanung vornehmen. Hierzu erstellen Sie für sich selbst ein Ticket über den Registerreiter "Neu", hängen das Formular "iCal Invitation" an, füllen dieses mit Daten und senden das Ticket ab. Dieses Ticket erscheint nun in Ihrer Eingangsliste, kann bearbeitet werden und das Abschließen dieses Tickets verschickt nun die Termineinladungen; in diesem Ticket können  bei Bedarf vor dem Abschließen noch Änderungen vorgenommen werden.

Das Formular "iCal Invitation" stellt sich wie folgt dar:
iCalForm.png

Es können hier folgende Felder gefüllt werden:

  • Subject (Titel der Besprechung)
  • Start time (Beginn der Besprechung; Tag, Stunde, Minute)
  • Duration in minutes (Dauer der Besprechung in Minuten)
  • Description (Beschreibung der Besprechung)
  • Location (Ort der Besprechung)
  • Organizer/Owner (Organisator der Besprechung)
  • Organizer's email address (Email-Adresse des Organisators)
  • New Participant (Name des Teilnehmers, Email-Adresse des Teilnehmers); über den Button "add" wird dieser der Liste der Teilnehmer hinzugefügt.

Die definierten Teilnehmer finden sich nun in der Liste am Ende des Formulars. Sollte Ihnen beim Hinzufügen eines Teilnehmers ein Fehler unterlaufen sein, kann dieser aus der Liste ausgewählt und über den Button "Delete selected participant" wieder gelöscht werden.

Ihre Teilnehmer erhalten nun beim Absenden des Tickets die Besprechungseinladungen, je nach benutztem Email- und Kalenderprogramm können diese übernommen sowie ggf. bestätigt werden. Die entsprechenden Termine können dann so aussehen:
todo4teams-ical.png

Bitte beachten: Rückmeldungen/Zusagen zur Besprechung können systembedingt nur wieder zurückgemeldet werden, wenn Ihr Adressat MS-Outlook oder ein Android-Gerät und den Google-Kalender benutzt, aus der Standardkalenderanwendung in Apple-iOS ist dies nach momentanem Stand nicht möglich.

Rein technisch findet die Besprechungsplanung und das Versenden der Einladungen in der End-Aktion des Formulars "iCal Invitation" statt.

Hierzu wurden zwei neue Helper-Methoden entwickelt, die Erste definiert die Besprechungsparameter. Nach der Konvention des iCal-Formats ist eine eindeutige ID erforderlich, diese wird über den letzten Parameter der Helper-Methode erzeugt. Im vorliegenden Besipiel ist dies "E" + "task.id (entspricht der ID des Tickets in todo4teams)" + "@todo4teams.de"; passen Sie dies bitte bei Bedarf an Ihre konkreten Bedürfnisse an:

helper.generateEvent(year,month,day,hour,minute,duration,topic,description,oemail,oname,location,attendees,"E"+task.id+"@todo4teams.de");

Die zweite neue Helper-Methode versendet dann die Einladungen:

helper.sendInvitation(event,
"New Appointment: " +topic,
"You received a meeting invitation.",
 oemail,mailboxid);

Den Titel der Einladung (hier:  "New Appointment: "+ das Subject aus Formular "iCal Invitation") sowie den Text der Einladung (hier: "You received a meeting invitation.") passen Sie bitte an Ihre persönlichen Bedürfnisse an. Der Parameter "mailboxid" definiert die ID der Mailbox in todo4teams, aus der Sie die Einladungen versenden wollen. Passen Sie diese auch bei Bedarf an Ihre Bedürfnisse an.

Das Gesamtskript der End-Aktion sieht dann wie folgt aus:

var topic = form.getValueByFieldName("Subject_t");
var duration = form.getValueByFieldName("duration_s");
var year = 0;
var month = 0;
var day =  0;

try
{
   var starttime = form.getValueByFieldName("Startdate");
   var cal = java.util.Calendar.getInstance();
    cal.setTime(starttime);
    year = cal.get(java.util.Calendar.YEAR);
    month = cal.get(java.util.Calendar.MONTH);
    day = cal.get(java.util.Calendar.DAY_OF_MONTH);
}
catch (exce)
{
    println(exce);
}
var hour =  form.getValueByFieldName("Hour");
var minute =  form.getValueByFieldName("Minute");
var description = form.getValueByFieldName("Description_t");
var location = form.getValueByFieldName("Location_t");
var oemail = form.getValueByFieldName("organizer_email_t");
var oname = form.getValueByFieldName("organizer_t");
var participants = form.getValueByFieldName("participants").values().toArray();


var attendees = new java.util.HashMap();
for (var i=0; i<participants.length; ++i)
{
var tn = participants[i];
 attendees.put(tn[0], tn[1]);
}

var event = helper.generateEvent(year,month,day, hour,minute,duration,topic,
        description,
        oemail,
        oname,
        location,
        attendees,
       "E"+task.id+"@todo4teams.de");
println("Sending invitations now: "+participants.length);


var mailboxid = java.lang.Long.valueOf(2);

helper.sendInvitation(event,
"New Appointment: " +topic,
"You received a meeting invitation.",
 oemail,mailboxid);

for (var i=0; i<participants.length; ++i)
{
   
var tn = participants[i];
    println("Sending invitation to: "+tn[1]);
 helper.sendInvitation(event,
"New Appointment: " +topic,
"You received a meeting invitation.",
 tn[1],mailboxid);
}
     

Unterseiten