310
Davide Stagni
Utility, Tips&Tricks, Easter Eggs
http://faqintosh.com/faq/310.xml - XML della Faq: http://faqintosh.com/faq/310-data.xml
3840 giorni, 19 ore, 54 minuti
Attualmente iCal permette di condividere un calendario su internet fra più computer, e interagire sullo stesso, se e solo se è pubblicato su account .mac e se viene utilizzato solo da sistemi Apple.
Se si vuole invece avere un calendario condiviso fra più utenti (Mac, Windows o Linux che siano) su un qualsiasi account con supporto WebDAV (come nel nostro esempio iCal Exchange), bisognerà procedere in un'altro modo e stare attenti nell'utilizzo di iCal...
Il problema è che iCal non permette di interagire sul medesimo calendario, in quanto non registra le modifiche fatte dagli altri utenti, anzi se si tenta di “risincronizzarlo” con quello disponibile on-line cancellerà le modifiche da quello on-line, perdendo preziosi appuntamenti, e riportandolo alla versione presente nel nostro Mac.
Vediamo quindi di aggirare il problema e vedere come raggiungere facilmente il nostro intento.
Per Mac OS X Tiger
Fino a qui abbiamo ottenuto la possibilità di pubblicare il nostro calendario personale su internet, ma vediamo come è possibile fare si che possa essere tenuto sincronizzato fra più Mac..
1. MySync
In Mac OS X Tiger, rispetto alla versione precedente del sitema operativo (Mac OS X Panther), il metodo con cui iCal salva i calendari è stato radicalmente modificato e quindi un metodo per avere lo stesso calendario sincornizzato su più Mac, senza utilizzare il supporto .mac, è quello di utilizzare un programma gratuito chiamato MySync al fine di evitare di esportare ed importare manualmente lo stesso calendario ogni giorno.
2. Script di Shell
Come dicevo, in Tiger, i calendari vengono spezzati per categorie all'interno della cartella ~/Library/Application Support/iCal/Sources/, nella quale vi sono diverse cartelle con dei nomi proprietari che comunque finiscono tutte con .calendar.
Dentro a questa cartella c'è il calendario .ics (corestorage.ics), un file di indice (index appunto) e info.plist che aperto con un editor rivela il nome del calendario al quale quella particolare cartella appartiene.
Sapute queste informazioni è possibile realizzare una piccola applicazione (uno script di shell per l'appunto) che scarichi il calendario disponibile on-line andando a sostituire quello presente nella cartella ~/Library/Application Support/iCal/Sources/nome.calendar presente nella nostra home.
Apriamo quindi il nostro Terminale (presente in Applicazioni > Utility) e al prompt digitiamo:vim script.sh
In questo modo inizieremo a scrivere un nuovo file chiamato script.sh che sarà presente nella nostra home.
Nella pagina che si aprirà, sempre all'interno del terminale incominciamo a scrivere il testo seguente:#!/bin/bash
USER=nome
PASSWORD=psw
URL=http://www.icalx.com/public/nome/
CALC1=Test.ics
curl \
-u $USER:$PASSWORD \
$URL$CALC1 -o ~/Library/Application Support/iCal/Sources/nome.calendar/corestorage.ics
open -a iCal.app
exitPer comprensione si sono utilizzati i nomi usati negli esempi precedenti.
Nello script è stato ipotizzato che il nome del calendario disponibile on-line abbia nome Test.ics (quinta riga il nome dello script), nel caso il nome fosse differente va modificato.
Da inserire correttamente nello script, al posto di nome.calendar, il nome della cartella dove è contenuto il file corestorage.ics che si riferisce al nostro calendario che vogliamo mantenere sincronizzato.Finito di scrivere lo script, basterà premere il tasto esc della tastiera, poi la sequenza :wq, così da uscire e salvare il nostro lavoro.
Dopo, per rendere eseguibile il nostro script, sempre all'interno del terminale, dovremo digitarechmod +x script.sh
Ora per eseguirlo (con iCal non in esecuzione), sempre dal terminale, digiteremo
./script.sh
Se tutto sarà stato eseguito correttamente il nostro script si prenderà l'onere di copiare il calendario on-line sul nostro Mac ed eseguire iCal così da poter vedere le modifiche al calendario.
Per Mac OS X Panther
Ora visto che sappiamo che iCal non gestirebbe le modifiche che altri utenti potrebbero effettuare a quel calendario on-line, vediamo due modi su come possiamo agire: il primo impiegherà un programma gratutio chiamato Sunbird, mentre il secondo un semplicissimo script di shell, vediamoli entrambi...
1. Mozilla Sunbird
- Scarichiamo il programma, disponibile per i principali sistemi operativi, dal sito http://www.mozilla.org/projects/calendar/sunbird_download.html
- Dopo averlo installato, e con il programma iCal non in esecuzione, andremo ad aggiungere a Sunbird un nuovo calendario, quindi andiamo in File e scegliamo la voce New Calendar File.
- Nella finestra che si aprirà inseriremo un nome alla voce Calendar Name, sceglieremo un colore (Color) e inseriremo nella casella Remote Server URL http://www.icalx.com/public/nome/Test.ics.
Nella casella Local File Location dovremo cercare, tramite il tasto Browse... il calendario salvato sul nostro Mac, quindi portiamoci in ~/Libreria/Calendars (~/Library/Calendars se avete il sistema in lingua inglese) e selezioniamo il file Test.ics.
All'avviso che Sunbird ci mostrerà scegliamo il tasto Replace.- In questo modo avremo fatto si che quando Sunbird si sincronizzerà con il calendario on-line (Mela+R), andrà anche a sostituire quello presente in ~/Libreria/Calendars, quindi quello di iCal.
È per questo motivo che la sincronizzazione in Sunbird deve essere fatta con iCal non in esecuzione e prima che iCal venga avviato.2. Script di Shell
Il nostro scopo è quello di realizzare una piccola applicazione (uno script di shell per l'appunto) che copi il calendario disponibile on-line andando a sostituire quello presente nella cartella ~/Libreria/Calendars presente nella nostra home.
Apriamo quindi il nostro Terminale (presente in Applicazioni > Utility) e al prompt digitiamo:vim script.sh
In questo modo inizieremo a scrivere un nuovo file chiamato script.sh che sarà presente nella nostra home.
Nella pagina che si aprirà, sempre all'interno del terminale incominciamo a scrivere il testo seguente:#!/bin/bash
USER=nome
PASSWORD=psw
URL=http://www.icalx.com/public/nome/
CALC1=Test.ics
curl \
-u $USER:$PASSWORD \
$URL$CALC1 -o ~/Library/Calendars/Test.ics
open -a iCal.app
exitPer comprensione si sono utilizzati i nomi usati negli esempi precedenti.
Nello script è stato contemplato il fatto che il nome del calendario disponibile on-line non corrisponda con il nome di quello presente nel nostro Mac, infatti basterà inserire al posto di Test.ics in quinta riga il nome del calendario on-line, mentre al posto di Test.ics presente in nona riga il nome del calendario sul nostro Mac.Finito di scrivere lo script, basterà premere il tasto esc della tastiera, poi la sequenza :wq, così da uscire e salvare il nostro lavoro.
Dopo, per rendere eseguibile il nostro script, sempre all'interno del terminale, dovremo digitarechmod +x script.sh
Ora per eseguirlo (con iCal non in esecuzione), sempre dal terminale, digiteremo
./script.sh
Se tutto sarà stato eseguito correttamente il nostro script si prenderà l'onere di copiare il calendario on-line sul nostro Mac ed eseguire iCal così da poter vedere le modifiche al calendario.
Google+ | |
---|---|
|
|