2 <!DOCTYPE book PUBLIC
"-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
5 <!ENTITY konsolekalendar
"<application>KonsoleKalendar</application>">
6 <!ENTITY kappname
"KonsoleKalendar">
7 <!ENTITY package
"kdepim">
8 <!ENTITY % addindex
"IGNORE">
9 <!ENTITY % English
"INCLUDE">
11 <!-- The language must NOT be changed here. -->
13 <book lang=
"&language;">
17 <title>The
&konsolekalendar; Handbook
</title>
21 <firstname>Tuukka
</firstname>
22 <surname>Pasanen
</surname>
23 <affiliation><address><email>illuusio@mailcity.com
</email></address></affiliation>
27 <firstname>Allen
</firstname>
28 <surname>Winter
</surname>
29 <affiliation><address><email>winterz@kde.org
</email></address></affiliation>
32 <othercredit role=
"reviewer">
33 <firstname>Malcolm
</firstname>
34 <surname>Hunter
</surname>
35 <affiliation><address><email>malcolm.hunter@gmx.co.uk
</email></address></affiliation>
36 <contrib>Reviewer
</contrib>
38 <!-- TRANS:ROLES_OF_TRANSLATORS -->
42 <year>2002</year><year>2004</year><holder>Tuukka Pasanen
</holder>
46 <year>2003</year><year>2007</year><holder>Allen Winter
</holder>
49 <legalnotice>&FDLNotice;</legalnotice>
51 <!-- Don't change format of date and version of the documentation -->
53 <date>2004-
04-
15</date>
54 <releaseinfo>1.1.1</releaseinfo>
57 <para>&konsolekalendar; is a command line interface to
&kde; calendars.
</para>
62 <keyword>KDE
</keyword>
63 <keyword>&package;</keyword>
64 <keyword>&kappname;</keyword>
65 <keyword>KOrganizer
</keyword>
70 <chapter id=
"introduction">
71 <title>Introduction
</title>
73 <para>&konsolekalendar; is a command line interface to
&kde; calendars.
74 It lets you view, insert, remove, or modify calendar events by way of
75 the command line or from a scripting language.
76 Additionally,
&konsolekalendar; can create a new
&kde; calendar,
77 export a
&kde; calendar to a variety of other formats, and
78 import another
&kde; calendar.
</para>
80 <para>In its basic mode,
&konsolekalendar; displays the list of
81 events in your default calendar for the current day (from
7:
00 to
17:
00).
</para>
83 <para>Main features of
&konsolekalendar;:
85 <listitem><para>View calendar entries from a start date/time to end date/time
</para></listitem>
86 <listitem><para>Insert (add) calendar entries
</para></listitem>
87 <listitem><para>Remove (delete) calendar entries
</para></listitem>
88 <listitem><para>Modify (change) calendar entries
</para></listitem>
89 <listitem><para>Create a new calendar
</para></listitem>
90 <listitem><para>Export calendar entries to other file formats
</para></listitem>
91 <listitem><para>Import an existing
&kde; calendar
</para></listitem>
92 </itemizedlist></para>
94 <para>&konsolekalendar; is
<emphasis>not
</emphasis> another graphical
95 user interface to a
&kde; calendar (i.e.
&korganizer;).
&konsolekalendar;
96 is intended solely for uses where a graphical user interface is
97 not practical or possible.
</para>
99 <para>&konsolekalendar; does
<emphasis>not
</emphasis> provide a full-featured
100 language for making queries of the user's calendar: nor is it the intention
101 of the authors to ever write such a capability. Primitive command line
102 options are provided for accessing calendar events within a consecutive
103 range of dates/time stamps.
108 <chapter id=
"features">
109 <title>Features
</title>
110 <para>In this chapter you'll learn about the main features of
111 &konsolekalendar; and how to control them using the command line parameters
112 (remember that
&konsolekalendar; is not a graphical user interface;
113 it is a command line program only).
</para>
116 You'll learn about inserting, deleting, and changing
117 calendar events, and how to export events to other file formats.
118 The creation and importation of
&kde; calendars will also be covered
123 <title>Viewing Events
</title>
125 <para>In its default mode, or by using the
<parameter>--view
</parameter>
126 option,
&konsolekalendar; will list all events within the range of a specified
130 <informalexample><para>To view all of today's events (from
7:
00 to
17:
00), simply run:
</para>
134 <prompt>%
</prompt><userinput> <command>konsolekalendar
</command>
142 <informalexample><para>In this next example, we view all events for the week of August
18-
22:
</para>
146 <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>
154 <informalexample><para>Show the next event(s) on the calendar from the current time forward:
</para>
158 <prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--next
</option>
166 <informalexample><para>To view all events for the next
5 days run:
</para>
170 <prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--show-next
</option> <replaceable>5</replaceable>
180 <sect1 id=
"inserting">
181 <title>Inserting Events
</title>
183 <para>&konsolekalendar; can insert events into a
&kde; calendar or calendar
184 resource using the
<parameter>--add
</parameter> command line argument.
185 Events successfully inserted will be immediately shown by
&kde; calendar
186 applications (like
&korganizer;).
</para>
189 <informalexample><para>In the following example, an event starting on
2003-
06-
04 (June
4,
2003)
190 at
1000 and ending at
1200 with summary
"Doctor Visit" will be
191 inserted into the user's default calendar resource:
</para>
195 <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> \
196 <option>--end-time
<replaceable>12:
00</replaceable></option> <option>--summary
<replaceable>"Doctor Visit"</replaceable></option></userinput></screen>
202 <informalexample><para>In this example, a birthday event is added into the
203 user's default calendar resource:
</para>
206 <screen><prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--add
</option> <option>--date
<replaceable>2003-
06-
06</replaceable></option> <option>--summary
<replaceable>"My Birthday"</replaceable></option> \
207 <option>--description
<replaceable>"Party Time"</replaceable></option></userinput></screen>
213 <informalexample><para> Here a one week vacation is inserted into a shared
<replaceable>vacation
</replaceable> calendar:
</para>
216 <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> \
217 <option>--end-date
<replaceable>2003-
08-
07</replaceable></option> <option>--summary
<replaceable>"Vacation"</replaceable></option> <option>--description
<replaceable>"Nobody will ever find me!"</replaceable></option></userinput></screen>
224 <sect1 id=
"deleting">
225 <title>Removing Entries
</title>
227 <para>&konsolekalendar; supports the removal of entries in a calendar file or
228 resource using the
<parameter>--delete
</parameter> command line argument.
229 Calendar entries to be removed are specified exactly by their Unique-string
230 identifier (
<acronym>UID
</acronym>) using the
<parameter>--uid
</parameter>
231 option.
<acronym>UIDs
</acronym> are found by first viewing the event,
232 using the
<parameter>--view
</parameter> option.
</para>
234 <para>Events successfully deleted will be immediately removed from within
&kde; calendar
235 applications (
&korganizer; for example).
</para>
237 <warning><para> When you delete something from the calendar you
238 <emphasis>cannot
</emphasis> undo it! In other words, when you delete an entry
239 you cannot reverse the deletion. It's gone for good.
</para></warning>
242 <informalexample><para>Here we delete a calendar entry with
<acronym>UID
</acronym> <replaceable>&konsolekalendar;-
1887551750.196</replaceable>:
</para>
245 <screen><prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--delete
</option> <option>--uid
<replaceable>&konsolekalendar;-
1887551750.196</replaceable></option></userinput></screen>
252 <sect1 id=
"changing">
253 <title>Modifying Entries
</title>
255 <para>&konsolekalendar; supports the modification of existing entries in a calendar
256 file or resource using the
<parameter>--change
</parameter> command line argument.
257 Calendar entries to be modified are specified exactly by their Unique-string
258 identifier (
<acronym>UID
</acronym>) using the
<parameter>--uid
</parameter>
259 option.
<acronym>UIDs
</acronym> are found by first viewing the event,
260 using the
<parameter>--view
</parameter> option.
</para>
263 Changing behaves in the same way as inserting: you can change an event's start date
264 and time, end date and time, summary, location, and description. Events
265 successfully changed will be immediately shown modified within
&kde; calendar
266 applications (
&korganizer;).
</para>
268 <para><emphasis>Example:
</emphasis> Here we change the summary and description
269 of a calendar entry with
<acronym>UID
</acronym> <replaceable>&konsolekalendar;-
1887551750.196</replaceable>:
</para>
274 <prompt>%
</prompt><userinput> <command>konsolekalendar
</command>
275 <option>--change
</option> <option>--uid
276 <replaceable>&konsolekalendar;-
1887551750.196</replaceable></option>
277 <option>--summary
<replaceable>"Get my head examined"</replaceable></option> <option>--description
<replaceable>"don't go to that doctor anymore!"</replaceable></option>
285 <sect1 id=
"creating">
286 <title>Creating a New Calendar File
</title>
288 <para>&konsolekalendar; can be used to create a new
&kde; calendar file.
289 Since you cannot insert an entry into a calendar that does not exist,
290 you must create the file first using the
<parameter>--create
</parameter>
291 and
<parameter>--file
</parameter> command line arguments.
</para>
294 <informalexample><para>Create a calendar file named
295 <filename><replaceable>/data/share/calendars/vacation.ics
</replaceable></filename>:
</para>
298 <screen><prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--create
</option> <option>--file
<replaceable>/data/share/calendars/vacation.ics
</replaceable></option></userinput></screen>
305 <sect1 id=
"exporting">
306 <title>Exporting to Other Formats
</title>
308 <para>&konsolekalendar; can export a
&kde; calendar to other well known formats.
309 Exporting is a special form of viewing. By default, events are viewed
310 in
<quote>&konsolekalendar; text
</quote> format. To change the viewing
311 format use the
<parameter>--export-type
</parameter> command line argument.
</para>
313 <para>To see a list of all supported export formats, use the
314 <parameter>--export-list
</parameter> option, as in:
</para>
319 <screen><prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--export-list
</option></userinput></screen>
327 <title>Export Formats
</title>
329 <para>Some, but not necessarily all, of the supported formats are
330 described in the this section.
</para>
332 <sect2 id=
"native-format">
333 <title>&konsolekalendar; Text Format
</title>
335 <para>&konsolekalendar; Text Format is
&konsolekalendar;'s native format
336 and is designed to be comfortable to read and to be parsed by follow-on
339 <para>The
&konsolekalendar; Text Format is:
342 Date:\t
<Incidence Date
>(dddd yyyy-MM-dd)
343 [\t
<Incidence Start Time
>(hh:mm) -
<Incidence End Time
>(hh:mm)]
345 \t
<Incidence Summary |
"(no summary available)">
347 \t
<Incidence Location |
"(no location available)">
349 \t
<Incidence Description |
"(no description available)">
351 \t
<Incidence UID
>
352 --------------------------------------------------
360 Date: Tuesday
2003-
11-
01
367 Meet with the entire staff to discuss the project.
369 &konsolekalendar;-
1128954167.1013
370 --------------------------------------------------
377 <sect2 id=
"short-format">
378 <title>&konsolekalendar; Short Text Format
</title>
380 <para>Short Text Format provides a more compact, less verbose version of
381 &konsolekalendar;'s native format.
</para>
383 <para>The
&konsolekalendar; Short Text Format is:
386 [--------------------------------------------------]
387 {
<Incidence Date
>(dddd yyyy-MM-dd)]
388 [
<Incidence Start Time
>(hh:mm) -
<Incidence End Time
>(hh:mm) |
"\t"]
389 \t
<Incidence Summary | \t
>[,
<Incidence Location
>]
390 \t\t
<Incidence Description |
"\t">
398 --------------------------------------------------
400 08:
00 -
09:
00 Staff Meeting, Conference Room
401 Meet with the entire staff to discuss the project.
408 <sect2 id=
"csv-format">
409 <title>Comma-Separated Values (
<acronym>CSV
</acronym>) Format
</title>
411 <para>Comma-Separated Value Format displays the event values in the same order
412 as
&konsolekalendar; Text format. The only difference is that all the
413 information is on the same row with each field separated by a comma.
414 The resulting exported files can be imported directly into spreadsheet programs
415 like
&kspread;,
<application>OpenOffice.org Calc
</application>,
416 and
<application>&Microsoft; Excel
</application>.
417 Also,
<acronym>CSV
</acronym> format is easy to parse with follow-on scripts.
</para>
419 <para>The Comma-Separated Value (
<acronym>CSV
</acronym>) format is:
422 YYYY-MM-DD,HH:MM,YYYY-MM-DD,HH:MM,Summary,Location,Description,UID
430 2003-
11-
01,
08:
00,
2003-
11-
01,
09:
00,Staff Meeting,Conference Room,Meet in the big conference \
431 room with the entire staff.,
&konsolekalendar;-
1128954167.1013
438 <sect2 id=
"html-format">
439 <title>&HTML; Format
</title>
441 <para>The
&HTML; export format will produce a valid
442 &HTML; file that can be published to the
<acronym>WWW
</acronym>.
443 This export format is not suitable for follow-on script parsing, but is
444 very nice for publishing calendars for easy public viewing.
</para>
446 <para><emphasis>TODO:
</emphasis> Insert screenshot here
</para>
450 <sect2 id=
"html-month-format">
451 <title><acronym>HTMLmonth
</acronym> Format
</title>
453 <para>This format produces an
&HTML; file showing
454 all appointments in the months specified by the date range.
455 This export format is not suitable for follow-on script parsing, but is
456 very nice for publishing calendars for easy public viewing.
</para>
458 <para><emphasis>TODO:
</emphasis> Insert screenshot here
</para>
464 <sect1 id=
"importing">
465 <title>Importing Calendars
</title>
467 <para>&konsolekalendar; can import an iCal or vCal calendar file into a
&kde;
468 calendar. All events from the calendar being imported from will be inserted,
469 including identical events. In the next
&konsolekalendar; release identical
470 events will not be inserted.
</para>
473 <informalexample><para> To import calendar file
474 <filename><replaceable>another.ics
</replaceable></filename> into calendar
475 <filename><replaceable>current.ics
</replaceable></filename> run:
</para>
478 <screen><prompt>%
</prompt><userinput> <command>konsolekalendar
</command> <option>--import
<replaceable>another.ics
</replaceable></option> <option>--file
<replaceable>current.ics
</replaceable></option></userinput></screen>
487 <chapter id=
"features-commandline-options">
488 <title>Command Line Arguments
</title>
490 <para>&konsolekalendar; supports the following options:
</para>
496 <entry>Option
</entry>
497 <entry>Description
</entry>
502 <entry><option>--help, --help-all
</option></entry>
503 <entry>Shows help about the program options.
</entry>
506 <entry><option>--author
</option></entry>
507 <entry>Shows the program author information.
</entry>
510 <entry><option>-v, --version
</option></entry>
511 <entry>Shows the program version information.
</entry>
514 <entry><option>--license
</option></entry>
515 <entry>Shows the program license information.
</entry>
518 <entry><option>--verbose
</option></entry>
519 <entry>Print helpful runtime messages.
</entry>
522 <entry><option>--dry-run
</option></entry>
523 <entry>Print what would have been done, but do not execute. Do not change any files; do not insert, remove, modify any existing files, nor create any new files.
</entry>
526 <entry><option>--allow-gui
</option></entry>
527 <entry>Permit resources which might need an interactive user interface. In normal operation, only resources which never will require a user interface are used (like file-based calendars).
</entry>
530 <entry><option>--file
</option>
531 <replaceable> calendar-file
</replaceable></entry>
532 <entry>Specify a calendar file to use.
533 <para>If not specified then your default
&korganizer; resource is used.
</para></entry>
536 <entry><emphasis>Major Operation Modes:
</emphasis></entry>
539 <entry><option>--view
</option></entry>
540 <entry>Print calendar events in specified export format.
</entry>
543 <entry><option>--add
</option></entry>
544 <entry>Insert an event into the calendar.
</entry>
547 <entry><option>--change
</option></entry>
548 <entry>Modify an existing calendar event.
</entry>
551 <entry><option>--delete
</option></entry>
552 <entry>Remove an existing calendar event.
</entry>
555 <entry><option>--create
</option></entry>
556 <entry>Create a new calendar file if one does not exist.
</entry>
559 <entry><option>--import
</option>
560 <replaceable> import-file
</replaceable></entry>
561 <entry>Import this calendar to the main calendar.
</entry>
564 <entry><emphasis>Operation modifiers:
</emphasis></entry>
567 <entry><option>--all
</option></entry>
568 <entry>View all calendar entries.
</entry>
571 <entry><option>--next
</option></entry>
572 <entry>View next activity in calendar.
</entry>
575 <entry><option>--show-next
</option>
576 <replaceable> days
</replaceable></entry>
577 <entry>Starting at specified date show next # days' activities.
</entry>
580 <entry><option>--uid
</option>
581 <replaceable> UID
</replaceable></entry>
582 <entry>View, delete, or change the event with this Unique-string IDentifier.
</entry>
585 <entry><option>--date
</option>
586 <replaceable> date
</replaceable></entry>
587 <entry>Start at this day [YYYY-MM-DD]. Default date is Today
</entry>
590 <entry><option>--time
</option>
591 <replaceable> time
</replaceable></entry>
592 <entry>Start at this time [HH:MM]. Default time for viewing is
07:
00.
593 <para>To add or change a floating event, use the
<option>--time float
</option>
594 or the
<option>--end-time float
</option> options.
</para></entry>
597 <entry><option>--end-date
</option>
598 <replaceable> end-date
</replaceable></entry>
599 <entry>End at this day [YYYY-MM-DD]. Default is set by
<option>--date
</option>.
</entry>
602 <entry><option>--end-time
</option>
603 <replaceable> end-time
</replaceable></entry>
604 <entry>End at this time [HH:MM]. Default end-time for viewing is
17:
00.
605 <para>To add or change a floating event, use the
<option>--time float
</option>
606 or the
<option>--end-time float
</option> options.
</para></entry>
609 <entry><option>--epoch-start
</option>
610 <replaceable> epoch-time
</replaceable></entry>
611 <entry>Start at this time [seconds since epoch].
</entry>
614 <entry><option>--epoch-end
</option>
615 <replaceable> epoch-time
</replaceable></entry>
616 <entry>End at this time [seconds since epoch].
</entry>
619 <entry><option>--summary
</option>
620 <replaceable> summary
</replaceable></entry>
621 <entry>Add summary to event (works with add and change).
</entry>
624 <entry><option>--description
</option>
625 <replaceable> description
</replaceable></entry>
626 <entry>Add description to event (works with add and change).
</entry>
629 <entry><option>--location
</option>
630 <replaceable> location
</replaceable></entry>
631 <entry>Add location to event (works with add and change).
</entry>
634 <entry><emphasis>Export options:
</emphasis></entry>
637 <entry><option>--export-type
</option>
638 <replaceable> export-type
</replaceable></entry>
639 <entry>Export file type.
640 Default export file type is Text
</entry>
643 <entry><option>--export-file
</option>
644 <replaceable> export-file
</replaceable></entry>
645 <entry>Export to file. By default, output is written to standard output.
</entry>
648 <entry><option>--export-list
</option></entry>
649 <entry>Print list of export types supported and exit.
</entry>
658 <title>Questions and Answers
</title>
661 &updating.documentation;
663 <qandaset id=
"faqlist">
666 <para>What configuration files does
&konsolekalendar; use?
</para>
676 <para>What are the application names of
&konsolekalendar;?
</para>
679 <para>&konsolekalendar;'s application name is
<application>konsolekalendar
</application>.
</para>
685 <para>What is the date specification format?
</para>
688 <para>&konsolekalendar; will reject dates specified on the command line
689 unless they are specified according to ISO
8601 standards, namely:
690 YYYY-MM-DD. Where YYYY represents a four-digit year (like
2003), MM
691 represents a two-digit month (
01,
02,..,
12), and DD represents a two-digit day
692 (
01,
02,...,
31).
</para>
693 <para>&konsolekalendar; always exports dates according to the ISO
8601 format.
</para>
699 <para>What is the time specification format?
</para>
702 <para>&konsolekalendar; will reject times specified on the command line
703 unless they are specified according to ISO
8601 standards, namely:
704 HH:MM:SS. Where HH represents a two-digit hour (
01,
02,...,
24), MM
705 represents a two-digit minute (
01,
02,..,
60), and SS represents a two-digit
706 second (
01,
02,...,
60).
</para>
707 <para>&konsolekalendar; always exports times according to the ISO
8601 format.
</para>
713 <para>Will
&konsolekalendar; insert a new event that is identical to one that
714 already exists in the calendar?
</para>
717 <para>No. See next question.
</para>
723 <para>How does
&konsolekalendar; determine if an event is identical to one that
724 already exists in the calendar?
</para>
727 <para>&konsolekalendar; checks the specified start date and time, end date and time,
728 and summary against all events in the calendar. An event match is determined
729 if all three values match to an existing event.
736 <para>Can a non-floating event be changed to a floating event?
</para>
739 <para>Yes. Use the
<option>--time float
</option> option with
<option>--change
</option>.
746 <para>Why are event
<acronym>UIDs
</acronym> printed in most export formats?
</para>
749 <para>Because you need to specify
<acronym>UIDs
</acronym> to delete or
751 If you do not want to see event
<acronym>UIDs
</acronym> then use the
752 <emphasis>short
</emphasis> export type (
<option>--export-type short
</option>).
759 <para>How do I have my question added to this
<acronym>FAQ
</acronym>?
</para>
762 <para>Send your questions to
<email>winter@kde.org
</email>.
</para>
770 <chapter id=
"credits">
772 <title>Credits and License
</title>
774 <para>&konsolekalendar; Program copyright
2002-
2007:
</para>
777 <listitem><para>Tuukka Pasanen
<email>illuusio@mailcity.com
</email></para></listitem>
778 <listitem><para>Allen Winter
<email>winter@kde.org
</email></para></listitem>
781 <para>Documentation copyright
2003:
</para>
783 <listitem><para>Allen Winter
<email>winter@kde.org
</email></para></listitem>
784 <listitem><para>Tuukka Pasanen
<email>illuusio@mailcity.com
</email></para></listitem>
787 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
789 &underFDL; <!-- FDL: do not remove -->
791 &underGPL; <!-- GPL License -->
795 <appendix id=
"installation">
796 <title>Installation
</title>
798 <sect1 id=
"obtaining-application">
799 <title>How to obtain
&konsolekalendar;</title>
801 &install.intro.documentation;
803 <para>&konsolekalendar; comes included with
&kde;4 and is not available separately.
808 <sect1 id=
"requirements">
809 <title>Requirements
</title>
811 <para>&konsolekalendar; requires the standard
&kde; libraries to be installed
812 (the
<filename>kdelibs
</filename> package and
<filename>kdepimlibs
</filename>).
813 To compile from source, you also need the
&Qt;,
<filename>kdelibs
</filename> and
814 <filename>kdepimlibs
</filename> development packages.
</para>
816 <para>You can find a list of changes in the
817 <filename>ChangeLog
</filename> file.
</para>
820 <sect1 id=
"configuration">
821 <title>Configuration
</title>
823 <para>No special configuration is required to set up
&konsolekalendar; to run
824 on the
&kde; desktop.
</para>
830 &documentation.index;
835 sgml-minimize-attributes:nil
836 sgml-general-insert-case:lower