<!-- Don't change format of date and version of the documentation -->
<date
>2004-04-15</date>
<releaseinfo
>1.1.1</releaseinfo>
<abstract>
<para
>&konsolekalendar; ist eineKommandozeilenschnittstellefür&kde;-Kalender.</para>
</abstract>
<keywordset>
<keyword
>KDE</keyword>
<keyword
>&package;</keyword>
<keyword
>&kappname;</keyword>
<keyword
>KOrganizer</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title
>Einleitung</title>
<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>
</chapter>
<chapter id="features">
<title
>Merkmale</title>
<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>
<sect1 id="viewing">
<title
>Termine anzeigen lassen</title>
<para
>Der Standardmodus entspricht dem Parameter <parameter
>--view</parameter
> und zeigt alle Termine in einem angegebenen Zeitrahmen an.</para>
<para>
<informalexample
><para
>Alle heutigen Termine zwischen 7:00 Uhr und 17:00 Uhr:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command>
</userinput
>
</screen>
</para>
</informalexample>
</para>
<para>
<informalexample
><para
>Das folgende Beispiel zeigt alle Termine der Woche vom 18. - 22. August an:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--view</option
> <option
>--date <replaceable
>2003-08-18</replaceable
> </option
> <option
>--end-date <replaceable
>2003-08-22</replaceable
></option>
</userinput
>
</screen>
</para>
</informalexample>
</para>
<para>
<informalexample
><para
>Zeigt das nächste Ereignis oder die nächsten Ereignisse ab der aktuellen Uhrzeit an:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--next</option>
</userinput
>
</screen>
</para>
</informalexample>
</para>
<para>
<informalexample
><para
>Um alle Ereignisse der nächsten 5 Tage zu sehen, geben Sie ein:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--show-next</option
> <replaceable
>5</replaceable>
</userinput
>
</screen>
</para>
</informalexample>
</para>
</sect1>
<sect1 id="inserting">
<title
>Termine einfügen</title>
<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>
<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>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--add</option
> <option
>--date <replaceable
>2003-06-04</replaceable
></option
> <option
>--time <replaceable
>10:00</replaceable
></option
> \
<option
>--end-time <replaceable
>12:00</replaceable
></option
> <option
>--summary <replaceable
>"Arztbesuch"</replaceable
></option
></userinput
></screen>
</para>
</informalexample>
</para>
<para>
<informalexample
><para
>Das folgende Beispiel fügt den eigenen Geburtstag in den Standardkalender ein:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--add</option
> <option
>--date <replaceable
>2003-06-06</replaceable
></option
> <option
>--summary <replaceable
>"Mein Geburtstag"</replaceable
></option
> \
<option
>--description <replaceable
>"Feier"</replaceable
></option
></userinput
></screen>
</para>
</informalexample>
</para>
<para>
<informalexample
><para
>Eine Woche <replaceable
>Urlaub</replaceable
> wird in einen gemeinsam genutzten Kalender eingefügt:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--add</option
> <option
>--file <replaceable
>vacation.ics</replaceable
></option
> <option
>--date <replaceable
>2003-08-01</replaceable
></option
> \
<option
>--end-date <replaceable
>2003-08-07</replaceable
></option
> <option
>--summary <replaceable
>"Urlaub"</replaceable
></option
> <option
>--description <replaceable
>"Ich löse mich in Luft auf!"</replaceable
></option
></userinput
></screen>
</para>
</informalexample>
</para>
</sect1>
<sect1 id="deleting">
<title
>Einträge entfernen</title>
<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>
<para>
<informalexample
><para
>Im folgenden Beispiel wird der Termin mit der <acronym
>UID</acronym
> <replaceable
>&konsolekalendar;-1887551750.196</replaceable
> entfernt:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--delete</option
> <option
>--uid <replaceable
>&konsolekalendar;-1887551750.196</replaceable
></option
></userinput
></screen>
</para>
</informalexample>
</para>
</sect1>
<sect1 id="changing">
<title
>Einträge ändern</title>
<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>
<informalexample>
<para
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--change</option
> <option
>--uid <replaceable
>&konsolekalendar;-1887551750.196</replaceable
></option
> <option
>--summary <replaceable
>"Untersuchung"</replaceable
></option
> <option
>--description <replaceable
>"Termin beim Nervenarzt."</replaceable
></option
> </userinput
> </para>
</informalexample>
</para>
</sect1>
<sect1 id="creating">
<title
>Einen neuen Kalender erzeugen</title>
<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>
<informalexample
><para
>Die Kalenderdatei <filename
><replaceable
>/data/share/calendars/vacation.ics</replaceable
></filename
> wird erzeugt:</para>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--create</option
> <option
>--file <replaceable
>/data/share/calendars/vacation.ics</replaceable
></option
></userinput
></screen>
</para>
</informalexample>
</para>
</sect1>
<sect1 id="exporting">
<title
>Kalender in andere Formate exportieren</title>
<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
>Eine vollständige Liste aller unterstützten Exportformate erhält man durch den Parameter <parameter
>--export-list</parameter
>:</para>
<para>
<informalexample>
<para>
<screen
><prompt
>%</prompt
><userinput
> <command
>konsolekalendar</command
> <option
>--export-list</option
></userinput
></screen>
</para>
</informalexample>
</para>
</sect1>
<sect1 id="formats">
<title
>Exportformate</title>
<para
>Einige der wichtigsten Exportformate werden im folgenden Abschnitt beschrieben.</para>
<sect2 id="native-format">
<title
>&konsolekalendar;-Textformat</title>
<para
>Das &konsolekalendar;-Textformat ist das Standardformat von &konsolekalendar; und dazu gedacht, einfach lesbar und für nachfolgende Skripte verarbeitbar zu sein.</para>
Das gesamte Team trifft sich zu einer Projektbesprechung.
</screen>
</informalexample>
</para>
</sect2>
<sect2 id="csv-format">
<title
>durch Kommas getrennte Werte ("<acronym
>CSV</acronym
>"-Format)</title>
<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>
>2003-11-01,08:00,2003-11-01,09:00,Besprechung,Konferenzraum,Die gesamte Abteilung trifft sich \
im großen Konferenzraum.,&konsolekalendar;-1128954167.1013
</screen>
</informalexample>
</para>
</sect2>
<sect2 id="html-format">
<title
><acronym
> HTML</acronym
>-Format</title>
<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
><emphasis
>TODO:</emphasis
> Bildschirmphoto einfügen</para>
</sect2>
<sect2 id="html-month-format">
<title
><acronym
> HTMLmonth</acronym
>-Format</title>
<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
><emphasis
>TODO:</emphasis
> Bildschirmphoto einfügen</para>
</sect2>
</sect1>
<sect1 id="importing">
<title
>Kalender importieren</title>
<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>
>Welche Konfigurationsdateien verwendet &konsolekalendar;?</para>
</question>
<answer>
<para
>Keine.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Wie lauten die Namen von &konsolekalendar;?</para>
</question>
<answer>
<para
>Der Name von &konsolekalendar; ist <application
>konsolekalendar</application
>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>In welchem Format müssen Datumsangaben gemacht werden?</para>
</question>
<answer>
<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>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>In welchem Format müssen Zeitangaben gemacht werden?</para>
</question>
<answer>
<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>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Fügt &konsolekalendar; bei übereinstimmenden Zeiten einen neuen Termin ein, der identisch zu einem bereits vorhandenen ist?</para>
</question>
<answer>
<para
>Nein. Sie nächste Frage.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Wie stellt &konsolekalendar; fest, ob ein Termin identisch zu einem bereits im Kalender vorhandenen ist?</para>
</question>
<answer>
<para
>&konsolekalendar; vergleicht Startzeitpunkt, Endzeitpunkt und Zusammenfassung mit allen im Kalender vorhandenen Terminen. Falls alle drei Angaben übereinstimmen, sind die Termine identisch. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Kan ein nicht-beweglicher Termin in einen beweglichen Termin umgewandelt werden?</para>
</question>
<answer>
<para
>Yes. Use the <option
>--time float</option
> option with <option
>--change</option
>. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Warum werden in den meisten Exportformaten die Kennungen (<acronym
>UIDs</acronym
>) ausgegeben?</para>
</question>
<answer>
<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
>Ein Liste von Änderungen finden Sie in der Datei <filename
>ChangeLog</filename
>.</para>
</sect1>
<sect1 id="compilation">
<title
>Kompilierung und Installation</title>
<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
> 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>
<para
><userinput
><command
>./configure</command
> --prefix=<replaceable
>/opt/kde3</replaceable
></userinput
></para
></note>
</sect1>
<sect1 id="configuration">
<title
>Einrichtung</title>
<para
>Zur Verwendung von &konsolekalendar; mit der &kde;-Arbeitsoberfläche sind keine weiteren Konfigurationen notwendig.</para>