<para>&konsolekalendar; ist eine Kommandozeilenschnittstelle für &kde;-Kalender. Mit seiner Hilfe kann man Termine über die Kommandozeile oder eine Skriptsprache ansehen, einfügen, löschen oder verändern. Weiterhin kann &konsolekalendar; einen neuen &kde;-Kalender erstellen, ihn in einer ganzen Anzahl Formate exportieren und andere &kde;-Kalender importieren.</para>
<para>Standardmäßig zeigt &konsolekalendar; die Terminliste des Standardkalenders für den heutigen Tag (von 7:00 bis 17:00 Uhr) an.</para>
<para>Die Hauptfunktionen von &konsolekalendar;: <itemizedlist>
<listitem><para>Anzeigen von Kalendereinträgen mit Startzeitpunkt und Endzeitpunkt</para></listitem>
<listitem><para>Einfügen (add) von Kalendereinträgen</para></listitem>
<listitem><para>Entfernen (delete) von Kalendereinträgen</para></listitem>
<listitem><para>Ändern (modify) von Kalendereinträgen</para></listitem>
<listitem><para>Erstellen eines neuen Kalenders</para></listitem>
<listitem><para>Exportieren eines Kalender in fremde Dateiformate</para></listitem>
<listitem><para>Importieren eines &kde;-Kalenders</para></listitem>
</itemizedlist></para>
<para>Bei &konsolekalendar; handelte es sich <emphasis>nicht</emphasis> um eine weitere grafische Benutzeroberfläche eines &kde;-Kalenders (also &korganizer;). Stattdessen kommt &konsolekalendar; genau dann zum Einsatz, wenn eine grafische Oberfläche nicht gewünscht oder nicht nutzbar ist.</para>
<para>&konsolekalendar; bietet <emphasis>weder</emphasis> eine vollständige Programmiersprache zur Abfrage von Kalendern noch ist es die Absicht der Autoren, solch eine Programmiersprache jemals zu erstellen. Mit einfachen Kommandozeilenparametern kann eine Liste von Terminen bearbeitet werden. </para>
<para>Dieses Kapitel erläutert die Funktionen von &konsolekalendar; und deren Kontrolle über Kommandozeilenparameter (wiederum: &konsolekalendar; ist keine grafische Benutzeroberfläche, sondern lediglich ein Kommandozeilenprogramm).</para>
<para>Das Einfügen, Entfernen und Verändern von Terminen und der Export in andere Dateiformate wird erläutert. Weiterhin wird die Erzeugung und der Import eines &kde;-Kalenders erklärt. </para>
<para>&konsolekalendar; kann Ereignisse in einen &kde;-Kalender oder eine Kalender-Ressource mit dem Kommandozeilenparameter <parameter>--add</parameter> eintragen. Erfolgreich eingetragene Ereignisse werden von den &kde;-Kalenderapplikationen (wie &korganizer;) unmittelbar angezeigt.</para>
<informalexample><para>Das folgende Beispiel fügt einen Termin für den 4. Juni 2003 um 10:00 Uhr ein, der um 12:00 Uhr ende. Der Termin mit dem Titel "Arztbesuch" wird im Standardkalender des Benutzers eingefügt:</para>
<para>Einträge werden durch den Parameter <parameter>--delete</parameter> von &konsolekalendar; aus der Kalenderdatei oder anderen Ressourcen entfernt. Dazu muss die eindeutige Kennung (<acronym>UID</acronym>) über den Parameter <parameter>--uid</parameter> angegeben werden. Diese <acronym>UID</acronym> findet man, indem man den Termin zunächst über den Parameter <parameter>--view</parameter> anzeigen lässt.</para>
<para>Erfolgreich gelöschte Ereignisse werden unmittelbar aus den &kde;-Kalender-Applikationen (wie &korganizer;) gelöscht.</para>
<warning><para>Ein Fehler kann <emphasis>nicht</emphasis> rückgängi gemacht werden. Ein entfernter Eintrag ist und bleibt entfernt.</para></warning>
<informalexample><para>Im folgenden Beispiel wird der Termin mit der <acronym>UID</acronym> <replaceable>&konsolekalendar;-1887551750.196</replaceable> entfernt:</para>
<para>Der Parameter zum Ändern von Einträgen in &konsolekalendar; lautet <parameter>--change</parameter>. Auch hier muss der Termin über die eindeutige Kennung (<acronym>UID</acronym>) mit dem Parameter <parameter>--uid</parameter> identifiziert werden. Die <acronym>UID</acronym> kann man ermitteln, indem man sich den Termin mit <parameter>--view</parameter> anzeigen lässt.</para>
<para>Änderungen verhalten sich genauso wie neu eingefügte Termine: Sie können Startzeitpunkt, Endzeitpunkt, Beschreibung, Ort und Zusammenfassung angeben. Erfolgreich geänderte Termine werden unmittelbar in den &kde;-Kalenderapplikationen (wie &korganizer;) geändert.</para>
<para><emphasis>Beispiel:</emphasis> Die Zusammenfassung (summary) und Beschreibung (description) eines Termins mit der <acronym>UID</acronym> <replaceable>&konsolekalendar;-1887551750.196</replaceable> wird verändert.</para>
<para>Mit &konsolekalendar; kann man auch eine neue &kde;-Kalenderdatei erzeugen. Bevor man Einträge in den neuen Kalender einfügen kann, muss er zunächst mit Hilfe von <parameter>--create</parameter> und <parameter>--file</parameter> erzeugt werden.</para>
<para>Mit &konsolekalendar; können &kde;-Kalender in einige gängige Formate exportiert werden. Dabei handelt es sich um eine besondere Form der Anzeige. Standardmäßig werden Termine im Format <quote>&konsolekalendar;-Text</quote> angezeigt. Ein davon abweichendes Format stellt man über den Parameter <parameter>--export-type</parameter> ein.</para>
<para>Das &konsolekalendar;-Textformat ist das Standardformat von &konsolekalendar; und dazu gedacht, einfach lesbar und für nachfolgende Skripte verarbeitbar zu sein.</para>
<para>Die Informationen des Termins werden in der gleichen Reihenfolge wie im &konsolekalendar;-Textformat angezeigt. Der einzige Unterschied ist, alle Informationen befinden sich in einer Zeile in einer durch Kommas getrennten Liste. Dieses Format kann z.B. von Tabellenkalkulationsprogrammen wie &kspread;, <application>OpenOffice.org</application> und <application>&Microsoft; Excel</application> gelesen werden. Das <acronym>CSV</acronym>-Format eignet sich auch gut zur Weiterverarbeitung durch Skripte.</para>
<para>Der <acronym>HTML</acronym>-Export erzeugt eine gültige <acronym>HTML</acronym>-Datei zur Veröffentlichung im <acronym>WWW</acronym>. Das Format ist nicht geeignet zur Verarbeitung durch Skripte aber zur einfachen Veröffentlichung.</para>
<para>Dieses Format produziert eine <acronym>HTML</acronym>-Datei, die alle Termine im angegebenen Zeitraum enthält. Das Format ist nicht geeignet zur Verarbeitung durch Skripte aber zur einfachen Veröffentlichung.</para>
<para>&konsolekalendar; kann <acronym>ICS</acronym>-Kalenderdateien in das &kde;-Kalenderformat importieren. Alle Termine, auch identische Termine, werden eingefügt. Dieser letzte Punkt soll in der nächsten Version von &konsolekalendar; bereinigt werden.</para>
<informalexample><para>Folgendermaßen wird die Kalenderdatei <filename><replaceable>irgendein_Name.ics</replaceable></filename> in den Kalender <filename><replaceable>current.ics</replaceable></filename> übernommen:</para>
<entry>Beginnt mit der angegebenen Zeit [HH:MM]. Der Standardwert ist 07:00. <para>Um einen beweglichen Termin einzutragen oder zu ändern, verwenden Sie eine der Optionen <option>--time float</option> oder <option>--end-time float</option>.</para></entry>
<entry>Endet zu dieser Zeit [HH:MM]. Der Standardwert für die Ansicht ist 17:00. <para>Um einen beweglichen Termin einzutragen oder zu ändern, verwenden Sie eine der Optionen <option>--time float</option> oder <option>--end-time float</option>.</para></entry>
<para> erfordert die Eingabe von Datumsangaben nach dem ISO-8601-Standard, also: JJJJ-MM-DD. Dabei bedeutet JJJJ die Jahresangabe mit vier Ziffern (z.B. 2003), MM die Monatsangabe mit zwei Ziffern (01,02,...,12) und DD die Tagesangabe mit zwei Ziffern (01,02,...,31). &konsolekalendar;</para>
<para>&konsolekalendar; exportiert Datumsangaben immer nach dem ISO-8601-Format.</para>
<para>Zeitangaben für &konsolekalendar; müssen unbedingt in Übereinstimmung mit dem ISO-8601-Standard eingegeben werden, also HH:MM:SS. Dabei bedeutet HH die Stunde zweiziffrig (01,02,...,24), MM die Minuten zweiziffrig (01,02,...,60), und SS die Sekunden ebenfalls zweiziffrig (01,02,...,60).</para>
<para>&konsolekalendar; exportiert Zeitangaben immer entsprechend dem ISO-8601-Standard.</para>
<para>&konsolekalendar; vergleicht Startzeitpunkt, Endzeitpunkt und Zusammenfassung mit allen im Kalender vorhandenen Terminen. Falls alle drei Angaben übereinstimmen, sind die Termine identisch. </para>
<para>Weil Sie die Kennungen (<acronym>UIDs</acronym>) zum Löschen oder Ändern von Ereignissen benötigen. Wenn Sie die <acronym>UIDs</acronym> von Terminen nicht sehen möchten, dann verwenden Sie den <emphasis>kurzen</emphasis> Exporttyp (<option>--export-type short</option>). </para>
<para>Für &konsolekalendar; müssen die &kde;-Standardbibliotheken (also das <filename>tdelibs</filename>-Paket) installiert sein. Zur Kompilierung wird außerdem &Qt; und das Entwicklerpaket zu <filename>tdelibs</filename> benötigt.</para>
<para>Ein Liste von Änderungen finden Sie in der Datei <filename>ChangeLog</filename>.</para>
<para>Dieser Abschnitt gibt dazu einen kurzen Überblick. Weitere Hinweise sind unter <ulink url="http://developer.kde.org/build/compile_kde3_2.html">&kde; 3.2.x kompilieren</ulink> zu finden.</para>
<para>Falls Sie kein geeignetes Binärpaket finden können, müssen Sie &konsolekalendar; aus den Quelltexten selbst kompilieren. Dazu müssen Sie die Datei <filename>tdepim-x.x.tar.bz2</filename> herunterladen. Durch den Befehl <userinput><command>tar</command> <option>xvfj<replaceable>tdepim-x.x.tar.bz2</replaceable></option></userinput> wird das Paket in einen Ordner ausgepackt. Wechseln Sie in diesen Ordner.</para>
&install.compile.documentation; <note><para>Falls Sie mehr als eine Version von &kde; installiert haben (also z.B. &kde;2 und &kde;3), besteht die Gefahr, dass &konsolekalendar; in den falschen Ordner installiert wird. Sie können gegebenenfalls den &kde;-Ordner als Parameter beim Befehl <userinput><command>./configure</command></userinput> mit angeben. Falls sich die gewünschte &kde;-Version in <filename>/opt/kde3</filename> befindet: </para>