2015-03-14

Jak ukázat kalendář Outlook.com veřejně na webu

Používám docela rád Outlook kalendář. Nasazuji ho především tam, kde mají uživatelé nativní Microsoft účty nebo předplatné Office 365 jako stěžejní účet v organizaci.

Komplikací je, že bohužel Microsoft zakázal nativní embedování, tedy vkládání na webu vytvořeného kalendáře do svých vlastních stránek. Používat řešení 3. strany je mnohdy velmi komplikované, navíc se standardními rozhraními lidé umí pracovat a umí si je také importovat do svých osobních kalendářů, čímž si všichni šetří čas. 

Ale jak na to? Naštěstí je formát kalendáře dostatečně otevřený na to, aby to zvládl jiný online kalendářovací systém - ten od Google.



Takže nejprve se přes M$ account přihlašte do svého kalendáře na calendar.live.com, kde už máte, nebo kde si vytvoříte události.


Pokračujete nahoře tlačítkem Sdílet, kde vyberete kalendář, který chcete sdílet. Dále klikněte na  "Získání odkazů", podle požadované veřejnosti se níže v oprávněních vytvoří skupina 3. odkazů, zkopírujte si tedy ten ve formátu ICS popsaný jako "Import do jiné kalendářové aplikace".




Další krok zahrnuje manuální úpravu URL. Google kalendář totiž nativně nepodporuje tento formát, protokolu, pak dostanete při importu hlášku:
Je nám líto, webcals://sharing.calendar.live.com/calendar/***/calendar.ics není platná adresa URL.

Nejprve přepište protokol z webcals na klasický http a volitelně vložte úplně nakonec parametr ?nocache, který by měl zajistit rychlejší synchronizaci mezi kalendáři. Import do Google Kalendáře provedete v boční liště "Jiné kalendáře", po rozbalení pravé šipečky, kde uvidíte možnost "Přidat pomocí adresy URL" no a dál už postupujte intuitivně jako při práci s běžným kalendářem.

Takže po drobné změně už to vypadá lépe:
Kalendář na adrese http://sharing.calendar.live.com/calendar/***/calendar.ics?nocache bude indexován službou Kalendář Google.


 A na závěr konečně vystavení kalendáře! Dlouho jsem přemýšlel, jak to udělat, aby se mých více kalendářů spojilo a dalo vystavit na webu v jednom rozvrhu. Šlo o to, že mít 5 kalendářů podle 5 místností na které ten kalendář používám je velmi user-unfiendly, ne že by to bylo na jedné hromadě o tolik lepší, ale v první fázi jde o ten rychlý přehled.




Embedování je docela složitá věc, uvážíte-li kolik může mít parametrů k nastavení a v tom je Google úplně super, neboť na to má klikací nástroj na adrese google.com/calendar/embedhelper, kde si nastavíte přesně to, co chcete.

Ve výsledku tak vytvoříte podobný rozvrh hodin tělocvičny jako já pro Sokol v Ostravě.


Zásadní nevýhodu spatřuji v rychlosti a nepředvídavosti synchronizace. Google to prostě aktualizuje tak nějak kdy se mu to hodí, ale pro kalendáře, které se moc nemění to docela vyhovuje. Pozor, synchronizace je jednosměrná!

Navíc na konec adresy přidávám ten parametr ?nocache, který by to měl celé ještě více zrychlit. Google sám tvrdí "It may take up to 8 hours for changes in ICS feeds to reflect in your Google Calendar."

Pokud máte nápady na dotaz či vylepšení, komentáře níže jsou vám k dispozici.