Programátoři z pekel zde za šat a stravu programují čipová pseuda. Nyní s favicon!

Google Calendar a iCal pro všechny 2

Co se začne, má se dokončit. Proto tak tedy teď činím i s tímto dvojdílným článkem o GCALDaemonu.

Máme tedy nainstalováno a mužeme přikročit k nastavení synchronizace.

  1. Zjistíme si cestu k souboru s kalendářem. Zajímá složka ~/Library/Application Support/iCal/Sources a pomocí Finderu (Command+Option+G, „Go to folder“) se do ní dostaneme. Tam vidíme tolik složek s podivnými názvy, kolik máme kalendářů. Na nás je teď abychom je po jedné prošli a zjistili, který obsahuje kalendář který chceme synchronizovat. V každé složce je soubor Info.plist, který lze otevřít libovolným textovým editorem (systémový TextEdit stačí). Obsahem je běžné XML, ve kterém musíme hledat řádek obsahující <key>Title </key> Pod ním je řádek <string>Název kalendáře</string>. Cílem tedy je nalézt složku obsahující kalendář, který chceme synchronizovat a poznamenat si celou cestu k souboru corestorage.ics v Unixovém zápisu, tedy např.: /Users/logout/Library/Application Support/iCal/Sources/FE0620AB-97E5-4140-9A21-874F4DFA42D5.calendar/corestorage.ics
  2. Další krok je editace konfiguračního souboru GCALDaemonu, který se jmenuje gcal-daemon.cfg. Ten najdeme v složce /usr/local/sbin/GCALDaemon/conf, kam přejdeme Finderem a otevřeme textovým editorem.
  3. Nejdříve k obecné konfiguraci, která je v konfiguračním souboru označená jako COMMON GCALDAEMON CONFIGURATION. Půjdu-li hezky shora dolů a vynechám-li pro funkčnost postradatelné položky (resp. položky kde stačí výchozí hodnoty), dojdu k položkám začínajícím prefixem proxy. I ty je třeba vyplňovat jen pokud jste připojeni na Internet přes proxy server a v takovém případě je nejspíš umíte vyplnit. Jinak je můžete ignorovat.
  4. Dále je sekce označená jako CONFIGURATION OF THE HTTP-BASED SYNCHRONIZER. Zde musíme pouze nastavit položku http.enabled na false, protože je pro nás k nepotřebě.
  5. Další v pořadí je CONFIGURATION OF THE FILE-BASED SYNCHRONIZER, který nás naopak zajímá velmi. Proto proměnnou file.enabled přepíšeme na true. Položka file.ical.path se musí rovnat cestě k souboru s kalendářem, kterou jsme zjišťovali na začátku.Na dalším řádku je file.google.username. Zde je nutné zadat své přihlašovací jméno k Google účtu (tedy e-mail na který je účet veden).
  6. Nastavení hesla, neboli proměnná file.google.password je trochu složitější. Tady už se neobejdeme bez Terminálu. Spustíme jej a pokud je GCALDaemon nainstalován podle prvního dílu článku stačí zadat: /usr/local/sbin/GCALDaemon/bin/password-encoder.sh Skript nás vyzve k zadání hesla k Google účtu a po jeho zadání vypíše jeho kódovaný tvar, jako Encoded password. Tento zakódovaný tvar přijde do konfiguračního souboru.
  7. I další řádek bude vyžadvat něco víc než jen editor. Do proměnné file.private.ical.url je nutné vyplnit privátní adresu Googlovského kalendáře který chcete synchronizovat, a proto je nezbytné se pomocí browseru do Google Calendar přihlásit. Tady v menu daného kalendáře vybereme Calendar settings a v nastavení úplně dole zkopírujeme adresu na kterou v sekci Private Address ukazuje obrázek s nápisem ICAL. Tuto adresu vložíme do konfiguračního souboru, přičemž z jejího začátku umažeme http://www.google.com a tak nám zůstane něco ve tvaru /calendar/ical/logout%40tst.com/private-cc05a0d26d56ab9a654c114f488819af/basic.ics
  8. Proměnné file.polling.file a file.polling.google určují i jak často se mají hledat změny v iCalu nebo na serveru Google. Proměnná file.offline.enabled pak nastavuje, zda GCALDaemon má zvládnout absenci připojení (true) nebo zda bude počítač připojen neustále (false).
    Ve všech ostatních sekcích konfiguračního souboru nastavíme proměnné končící .enabled na false.
  9. Potřebujeme-li synchronizovat více kalendářů, ze sekce CONFIGURATION OF THE FILE-BASED SYNCHRONIZER zkopírujeme pod sebe znovu řádky s proměnnými file.ical.path, file.google.username, file.google.password, file.private.ical.url a do jejich názvů nakonec přidáme pořadové číslo. Tedy např. druhý kalendář bude mít proměnné jako file.google.username2, třetí file.google.username3 atd. a vyplníme je obdobně jako v prvním případě.
  10. Soubor uložíme, a na vyzkoušení funkčnosti z Terminálu spustíme skript /usr/local/sbin/GCALDaemon/bin/standalone-start.sh Po jeho ukončení by měl být kalendář (kalendáře) v iCalu synchronizovány.
  11. Posledním krokem je zajistit, aby se GCALDaemon spouštel sám a běžel. V dokumentaci k němu jsem našel odkaz na program Lingon, který pomocí průvodce umí vytvořit systémem spouštěnou službu, stačí jen v průvodci vybrat „Keep an application/script allways running“ a do pole Application/script zadat /usr/local/sbin/GCALDaemon/bin/standalone-start.sh

Odsud dál už vaše kalendáře budou vždycky synchronizované !

PS: Jen ještě pár faktů na závěr: Postup jsem sám zkoušel v systému 10.4.10, tudíž by měl fungovat v Tigerovi všude a všem. Uživatelé Panthera mají smůlu (stejně jako já na svém PowerMacu G4), protože GCALDaemon potřebuje Javu verze 1.5 a vyšší, která pro OS X 10.3.x nikdy nevyšla. Jak je to v Leopardovi nevím, zatím nemám.