Como adicionar Eventos do Plone no Google Calendar

O 'Evento' e um tipo padrão do Plone que, entre outros recursos, possui alguns links (iCal e vCal) que permitem adicionar o evento do seu site ao calendário de aplicativos como o Mozilla Sunbird, Microsoft Outlook e similares... Este é um recurso maravilhoso, que nunca vi ninguém usar o_O .

Por outro lado todos os meus heróis que não morreram de overdose usam hoje o Google Calendar para organizar seu dia a dia. Pensando nisso imaginei uma maneira de termos um link nos eventos do Plone que adicione ele as agendas do Google Calendar.

Você vai precisar:

1 - Um script python para formatar a data, que chamaremos, Dataformat.py:

from DateTime import DateTime if not dt: dt = DateTime() if not format: format = "%Y%m%dT%H%M00" if not same_type(dt, DateTime()): dt = DateTime(dt) print dt.strftime(format) return printed

Este script é necessário para formatar as datas iniciais e finais do evento no formato usado pelo Google Calendar

2 - Colocar a seguinte expressão em Zope Page Template no seu template event_view.pt

<a href="#" title="Add to Google Calendar" target="_blank" tal:define="atDate here/start; inicio python: context.Dataformata(atDate); fim python: context.Dataformata(atDate)" tal:attributes="href string:http://www.google.com/calendar/render? action=TEMPLATE&text=${context/Title}&dates=${inicio}/${fim}&location= ${context/getLocation}&details=Detalhes:${context/absolute_url}&trp=false"> Google Calendar </a>

Seguindo os passos acima você terá um link que incluirá o evento em questão a sua agenda do Google Calendar. Veja um exemplo no site de um de nossos clientes: http://www.proparts.esp.br/events/copa-sram-1a-etapa-sram-50k/view