# Manuale di &konsolekalendar;

## Introduzione

&konsolekalendar; è un'interfaccia a riga di comando per i calendari di &kde;. Permette di mostrare, inserire, eliminare o modificare gli eventi di calendario da riga di comando o da un linguaggio di script. In più, &konsolekalendar; può creare un nuovo calendario di &kde;, esportare calendari di &kde; verso una varietà di altri formati ed importare altri calendari verso &kde;.

In modalità base, &konsolekalendar; mostra l'elenco di eventi del calendario predefinito per il giorno attuale (dalle 7:00 alle 17:00).

Funzionalità principali di &konsolekalendar;:

- Visualizza le voci di calendario da una data/ora di inizio ad una data/ora di fine

- Inserisci (aggiungi) voci al calendario

- Rimuovi (elimina) voci dal calendario

- Modifica (cambia) voci del calendario

- Crea un nuovo calendario

- Esportazione di voci del calendario verso altri formati di file

- Importazione di un calendario di &kde; esistente

&konsolekalendar; non è un'altra interfaccia utente per un calendario di &kde; (ad es. &korganizer;) &konsolekalendar; è pensato per gli usi in cui un'interfaccia grafica non è pratica o non è possibile.

&konsolekalendar; non fornisce un linguaggio completo per le ricerche nel calendario dell'utente, e non è nemmeno nell'intenzione dell'autore la scrittura di tale funzionalità. Sono fornite delle primitive opzioni da riga di comando per l'accesso agli eventi del calendario in un intervallo di date o di ore consecutivi.

## Funzionalità

In questo capitolo imparerai le funzioni principali di &konsolekalendar; e come controllarle con i parametri da riga di comando (ricorda che &konsolekalendar; non ha un'interfaccia grafica; è un programma usabile solo da riga di comando).

Imparerai ad inserire, eliminare e cambiare gli eventi del calendario, e ad esportarli verso formati di file diversi. La creazione e l'importazione dei calendari di &kde; sarà inoltre descritta in questo capitolo.

### Visualizzazione degli eventi

Nella modalità predefinita, od se usi l'opzione `--view`, &konsolekalendar; elencherà tutti gli eventi all'interno di un intervallo di date o di ore specificate.

Per vedere tutti gli eventi di oggi (dalle 7:00 alle 17:00), basta eseguire:

    % konsolekalendar

Nel prossimo esempio, vedremo tutti gli eventi per la settimana del 18-22 agosto:

    % konsolekalendar --view --date 2003-08-18  --end-date 2003-08-22

Mostra il prossimo evento (o i prossimi eventi) dall'ora attuale in avanti:

    % konsolekalendar --next

Per vedere tutti gli eventi dei prossimi cinque giorni usa:

    % konsolekalendar --show-next 5

### Inserimento degli eventi

&konsolekalendar; può inserire eventi nel calendario di &kde; o in una risorsa calendario con l'argomento da riga di comando `--add`. Gli eventi inseriti correttamente saranno mostrati immediatamente dalle applicazioni di calendario di &kde; (come &korganizer;).

Nel prossimo esempio, verrà inserito nella risorsa di calendario predefinita un evento che inizia il 2003-06-04 (4 giugno 2003) alle 10:00 e che termina alle 12:00, con il riassunto "Visita dal dottore":

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary "Visita dal dottore"

In questo esempio, viene aggiunto un evento di compleanno nella risorsa di calendario predefinita dell'utente:

    % konsolekalendar --add --date 2003-06-06 --summary "Il mio compleanno" \
    --description "È ora di far festa"

Qui una vacanza di una settimana è inserita in un calendario `vacanze` condiviso:

    % konsolekalendar --add --file vacanze.ics --date 2003-08-01 \
    --end-date 2003-08-07 --summary "Vacanza" --description "Nessuno mi troverà mai!"

### Eliminazione di voci

&konsolekalendar; permette di eliminare le voci da un file calendario o una risorsa con l'argomento da riga di comando `--delete`. Gli elementi del calendario da eliminare sono specificati esattamente con il loro UID (stringa di identificazione univoca) usando l'opzione `--uid`. Gli UID si possono ricavare in anticipo esaminando l'evento, attraverso l'uso dell'opzione `--view`.

Gli eventi eliminati correttamente saranno rimossi immediatamente anche dalle applicazioni di calendario di &kde; (come ad esempio &korganizer;).

Una volta che elimini qualcosa dal calendario, non c'è modo di recuperarla! In altre parole, una volta eliminata una voce non puoi annullare l'eliminazione. La voce se n'è andata per sempre.

Ecco come cancellare una voce dal calendario con l'UID `&konsolekalendar;-1887551750.196`:

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Modifica delle voci

&konsolekalendar; permette la modifica di voci esistenti di un file o risorsa di calendario con l'argomento da riga di comando `--change`. Le voci del calendario da modificare sono specificate esattamente con la stringa di identificazione univoca (UID) usando l'opzione `--uid`. Gli UID si possono trovare visualizzando in anticipo l'evento, con l'opzione `--view`.

Le modifiche si comportano come l'inserimento: puoi cambiare la data e l'ora di inizio di un evento, il riassunto, il luogo e la descrizione. Gli eventi modificati con successo saranno immediatamente mostrati modificati dalle applicazioni di calendario di &kde; (&korganizer;).

Esempio: ora cambiamo il riassunto e la descrizione di una voce del calendario con l'UID `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `"Devo farmi vedere la testa"`` `--description `"non devo più andare dal dottore!"```

### Creazione di un nuovo file di calendario

&konsolekalendar; può essere usato anche per creare un nuovo file di calendario di &kde;. Poiché non puoi inserire voci in un calendario che non esiste, devi prima crearlo con l'argomento da riga di comando `--create` e `--file`.

Create un file di calendario chiamato ``/data/share/calendars/vacanze.ics``:

    % konsolekalendar --create --file /data/share/calendars/vacanze.ics

### Esportazione verso altri formati

&konsolekalendar; può esportare un calendario di &kde; verso un altro formato ben noto. L'esportazione è una forma particolare della visualizzazione. Normalmente, gli eventi sono mostrati nel formato testuale di &konsolekalendar;. Per cambiare il formato di visualizzazione usa l'argomento di riga di comando `--export-type`.

Per vedere l'elenco di tutti i formati di esportazione disponibili, usa l'opzione `--export-list` così:

    % konsolekalendar --export-list

### Formati di esportazione

Alcuni, ma non necessariamente tutti, i formati disponibili sono descritti in questa sezione.

#### Formato testuale di &konsolekalendar;

Il formato testuale di &konsolekalendar; è il formato nativo di &konsolekalendar; ed è pensato per essere di facile lettura e interpretazione da parte di eventuali script successivi.

Il formato testuale di &konsolekalendar; è:

    Date:\t<Data dell'occorrenza>(dddd yyyy-MM-dd)
    [\t<Ora d'inizio dell'occorrenza>(hh:mm) - <Ora di fine dell'occorrenza>(hh:mm)]
    Summary:
    \t<Riassunto | "(no summary available)">
    Location:
    \t<Luogo dell'occorrenza | "(no location available)">
    Description:
    \t<Descrizione dell'occorrenza | "(no description available)">
    UID:
    \t<UID dell'occorrenza>
    --------------------------------------------------

Per esempio:

    Date:   Tuesday 2003-11-01
            08:00 - 09:00
    Summary:
            Incontro del gruppo di lavoro
    Location:
            Sala conferenze
    Description:
            Incontro con tutto il gruppo per discutere il progetto.
    UID:
            &konsolekalendar;-1128954167.1013
    --------------------------------------------------

#### Formato testuale breve di &konsolekalendar;

Il formato testuale breve fornisce una versione più compatta e meno prolissa del formato nativo di &konsolekalendar;.

Il formato testuale breve di &konsolekalendar; è:

    [--------------------------------------------------]
    {<Data occorrenza>(dddd yyyy-MM-dd)]
    [<Ora di inizio occorrenza>(hh:mm) - <Ora di fine occorrenza>(hh:mm) | "\t"]
    \t<Riassunto occorrenza | \t>[, <Luogo occorrenza>]
    \t\t<Descrizione occorrenza | "\t">

Per esempio:

    --------------------------------------------------
    Tuesday 2003-11-01
    08:00 - 09:00   Incontro del gruppo di lavoro, Sala conferenze
                    Incontro con tutto il gruppo per discutere il progetto.

#### Formato CSV (Valori separati da virgole)

Il formato CSV mostra i valori degli eventi nello stesso ordine del formato testuale di &konsolekalendar;. L'unica differenza è che tutte le informazioni sono sulla stessa riga, con tutti i campi separati da virgole. I file esportati risultanti possono essere importati direttamente in programmi di foglio di calcolo come &kspread;, OpenOffice.org Calc e &Microsoft; Excel. Inoltre il formato CSV è facile da interpretare da script aggiuntivi.

Il formato CSV (Valori separati da virgole) è:

    YYYY-MM-DD,HH:MM,YYYY-MM-DD,HH:MM,Riassunto,Luogo,Descrizione,UID

Per esempio:

    2003-11-01,08:00,2003-11-01,09:00,Incontro del gruppo di lavoro,Sala conferenze,Incontro nella sala conferenze grande \
    con tutto il gruppo di lavoro.,&konsolekalendar;-1128954167.1013

#### Formato &HTML;

Il formato di esportazione &HTML; produrrà un file &HTML; valido che può essere pubblicato sul WWW. Questo formato di esportazione non è adatto per l'interpretazione da parte di altri script successivi, ma è molto comodo per la pubblicazione di calendari per una facile consultazione pubblica.

DA FARE: Inserire schermata

#### Formato HTMLmonth

Questo formato produce un file &HTML; con tutti gli appuntamenti del mese specificati nell'intervallo di date. Questo formato di esportazione non è adatto per l'interpretazione da parte di altri script successivi, ma è molto comodo per la pubblicazione di calendari per una facile consultazione pubblica.

DA FARE: Inserire schermata

### Importare calendari

&konsolekalendar; può importare file di calendario iCal o vCal in un calendario di &kde;. Tutti gli eventi del calendario da cui viene importato sono inseriti, inclusi gli eventi identici. Nella prossima versione di &konsolekalendar; gli eventi identici non verranno inseriti.

Per importare un file di calendario ``altro.ics`` nel calendario ``corrente.ics`` esegui:

    % konsolekalendar --import altro.ics --file corrente.ics

## Argomenti di linea di comando

&konsolekalendar; gestisce le seguenti opzioni:

Opzione | Descrizione
`--help, --help-all` | Mostra un messaggio di aiuto sulle opzioni del programma.
`--author` | Mostra le informazioni sugli autori del programma.
`-v, --version` | Mostra delle informazioni sulla versione del programma.
`--license` | Mostra le informazioni sulla licenza d'uso del programma.
`--verbose` | Stampa messaggi di aiuto sull'esecuzione.
`--dry-run` | Stampa che cosa sarebbe stato fatto, ma senza eseguire. Non cambia nessun file; non inserisce né rimuove o modifica file esistenti, e non crea nuovi file.
`--allow-gui` | Permette l'uso di risorse che possono richiedere un'interfaccia utente interattiva. Nelle normali operazioni, sono usate solo le risorse che non richiedono mai un'interfaccia utente (come i calendari basati su file).
`--file` `file-calendario` | Specifica il file di calendario da usare. Se non specificato verrà usata la risorsa di &korganizer; predefinita.
Modalità principali di operazione:
`--view` | Stampa gli eventi del calendario nel formato di esportazione specificato.
`--add` | Aggiunge un evento al calendario.
`--change` | Modifica un evento esistente nel calendario.
`--delete` | Rimuove un evento esistente del calendario.
`--create` | Crea a nuovo file di calendario se non esiste già.
`--import` `file-da-importare` | Importa questo calendario nel calendario principale.
Modificatori dell'operazione:
`--all` | Mostra tutte le voci del calendario.
`--next` | Mostra l'attività successiva nel calendario.
`--show-next` `giorni` | Iniziando dalla data specificata mostra i prossimi n giorni di attività.
`--uid` `UID` | Mostra, elimina o cambia l'evento con questa stringa di identificazione univoca.
`--date` `data` | Inizia da questo giorno [[AAAA-MM-GG]]. Il giorno predefinito è oggi
`--time` `ora` | Inizia da quest'ora [[HH:MM]]. L'ora predefinita per l'inizio è 07:00. Per aggiungere o eliminare un evento fluttuante, usa una delle opzioni `--time float` o `--end-time float`.
`--end-date` `data-di-fine` | Termina in questo giorno [AAAA-MM-GG]. Il valore predefinito è impostato con `--date`.
`--end-time` `ora-di-fine` | Termina a quest'ora [HH:MM]. L'ora di fine predefinita per la visione è 17:00. Per aggiungere o eliminare un evento fluttuante, usa una delle opzioni `--time float` o `--end-time float`.
`--epoch-start` `ora-epoca` | Inizia da quest'ora [secondi dall'inizio dell'epoca UNIX].
`--epoch-end` `ora-epoca` | Termina a quest'ora [secondi dall'inizio dell'epoca UNIX].
`--summary` `riassunto` | Aggiunge un riassunto all'evento (funziona con --add e --change).
`--description` `descrizione` | Aggiunge una descrizione all'evento (funziona con --add e --change).
`--location` `posizione` | Aggiunge un luogo all'evento (funziona con --add e --change).
Opzioni di esportazione:
`--export-type` `tipo-di-esportazione` | Tipo di file da esportare. In mancanza dell'opzione, viene usato il tipo Testo
`--export-file` `file-da-esportare` | File da usare per l'esportazione. Se non specificato, l'output è scritto sull'output standard.
`--export-list` | Stampa l'elenco dei tipi di esportazione supportati ed esce.

## Domande e risposte

&reporting.bugs; &updating.documentation;

Quali file di configurazione usa &konsolekalendar;?

Nessuno.

Qual è il nome dell'applicazione di &konsolekalendar;?

Il nome dell'applicazione di &konsolekalendar; è konsolekalendar.

Qual è il formato di specifica della data?

&konsolekalendar; rifiuta le date specificate sulla riga di comando a meno che non siano specificate secondo gli standard ISO 8601, cioè: AAAA-MM-GG, dove AAAA rappresenta l'anno specificato con quattro cifre (come 2003) MM rappresenta il mese specificato con due cifre (01, 02, ..., 12) ed GG rappresenta il giorno specificato con due cifre (01, 02, ..., 31).

&konsolekalendar; esporta sempre le date secondo il formato ISO 8601.

Qual è il formato di specifica dell'ora?

&konsolekalendar; rifiuta l'ora specificata sulla riga di comando a meno che non sia specificata secondo gli standard ISO 8601, cioè: HH:MM:SS, dove HH rappresenta l'ora specificata con due cifre (01, 02, ..., 24) MM rappresenta i minuti specificati con due cifre (00, 01, ..., 59) ed SS rappresenta i secondi (00, 01, ..., 59).

&konsolekalendar; esporta sempre le ore secondo il formato ISO 8601.

&konsolekalendar; può inserire un nuovo evento identico ad uno già presente nel calendario?

No. Vedi la prossima domanda.

Come fa &konsolekalendar; a determinare che un evento è identico ad uno già presente nel calendario?

&konsolekalendar; confronta la data ed ora di inizio specificata, l'ora e la data di fine, ed il riassunto con tutti gli eventi del calendario. Una corrispondenza fra gli eventi si determina quando tutti e tre questi valori corrispondono con un evento esistente.

È possibile cambiare un evento non-fluttuante in un evento fluttuante?

Sì Usa l'opzione `--time float` con `--change`.

Come mai gli UID degli eventi vengono stampati in quasi tutti i formati di esportazione?

Perché è necessario specificare l'UID per eliminare o cambiare un evento. Se non vuoi vedere l'UID degli eventi usa il tipo di esportazione breve (`--export-type short`).

Posso far aggiungere domande alla FAQ?

Invia le tue domande (in inglese) a illuusio@lycos.com.

## Riconoscimenti e licenza

Il programma &konsolekalendar; è copyright 2002-2007:

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Questa documentazione è copyright 2003:

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Luciano Montanaromikelima@cirulla.net

&underFDL; &underGPL;

## Installazione

### Come ottenere &konsolekalendar;

&install.intro.documentation;

&konsolekalendar; è incluso con &kde;4 e non è disponibile separatamente.

### Requisiti

&konsolekalendar; necessita dell'installazione delle librerie standard di &kde; (i pacchetti `kdelibs` e `kdepimlibs`). Per compilare dai sorgenti, servono anche i pacchetti di sviluppo di &Qt;, `kdelibs` e `kdepimlibs`.

Puoi trovare l'elenco delle modifiche (in inglese) nel file `ChangeLog`.

### Configurazione

Non sono necessarie configurazioni particolari per permettere l'esecuzione di &konsolekalendar; in un desktop &kde;.

&documentation.index;