Recomanacions sobre formats

Cada vegada hi ha més recomanacions sobre formats estàndards per a esdeveniments. A AgendaOberta hem fet una selecció de formats que considerem assequibles d’implementar.

Abans de res… quines dades necessitem?

A un esdeveniment li podem associar molta informació, però les dades que considerem essencials són:

  • Nom de l’esdeveniment
  • Descripció
  • Enllaç a la plana única amb informació sobre l’esdeveniment
  • Imatge associada (opcional)
  • Data d’inici
  • Data final
  • Localització, nom del lloc
  • Posició geogràfica (opcional, si es coneix)

Formats de sindicació aconsellats

1. XML personalitzat

Es tracta de publicar la informació dels esdeveniments en un arxiu XML. Molt recomanat per fonts d’informació intensives.

Exemple: Ajuntament Badalona

Tot i que a diferència d’aquest exemple es recomana fer servir etiquetes estàndard de dates com per exemple RDF enlloc de noms personalitzats com es dóna en el cas anterior.

També caldria afegir informació geogràfica i de media en formats estàndard (com els rdfs descrits més endavant)

2. RSS o ATOM + “namespaces” d’esdeveniments i geoinformació

Recomanat en general.

Podeu trobar informació en aquests enllaços:

http://web.resource.org/rss/1.0/modules/event/
http://www.w3.org/2003/01/geo/

Exemple (atom)

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:ev="http://purl.org/rss/1.0/modules/event/"
  xmlns:georss="http://www.georss.org/georss">
<entry>
<title>Exhibició Castellera</title>
<link href="http://castellers.cat/?id=2345"/>
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2003-12-13T18:30:02Z</updated>
<author>
    <name>Joan Bacardit</name>
 </author>
<summary>El text sobre aquesta activitat</summary>
<ev:startdate>2010-01-18T16:00:00+00:00</ev:startdate>
<ev:enddate>2010-01-18T17:00:00+00:00</ev:enddate>
<ev:location>Plaça Major, Tàrrega</ev:location>
<ev:organizer>Colla de castellers els nens</ev:location>
<ev:type>Fires</ev:type>
<geo:lat>41.58</geo:lat>
<geo:long>1.83</geo:long>
<georss:point>41.58 1.83</georss:point>

<link rel="enclosure" type="image/jpeg" href="imatge.jpg" />
</entry>
….
</feed>

En RSS el resultat seria similar

3. iCal

Recomanat si no és possible la opció 1 o 2

4. RSS convencional

En cas que no sigui possible utilitzar algun dels formats anteriors, almenys les fonts haurien de disposar d’una font RSS o Atom on l’enllaç permanent apunti a una URL on la informació dels events estigui etiquetada semànticament (veure apartat següent, recomació per la publicació semàntica de continguts)

5. Google Calendar

Una manera senzilla d’agregar la vostra agenda a AgendaOberta és tenir-la en un Google Calendar, ja que segueix un format que podrem agregar amb facilitat a AgendaOberta.

Recomanacions per la publicació semàntica de continguts

A banda de sindicar els continguts de manera que es puguin fer servir a agregadors d’informació o aplicacions com AgendaOberta, també cal etiquetar-los correctament a les pàgines dels esdeveniments. Això és especialment important respecte els cercadors (Google ja indexa aquesta informació)

Per aquesta tasca es recomana seguir les indicacions de schema.org respecte esdeveniments http://www.schema.org/Event
El camp location d’esdeveniments al mateix temps pertany a place http://schema.org/Place

Exemple:

<div itemscope itemtype="http://schema.org/Event">
<a itemprop="url" href="http://castellers.cat/?id=2345">
Exhibició Castellera
<span itemprop="name"> Exhibició castellera a Reus</span>
</a>

<meta itemprop="startDate" content="2016-04-21T20:00">
Dimecres, 04/21/16 20:00
<div itemprop="location" itemscope itemtype="http://schema.org/Place">
<a itemprop="url" href="http://www.ajuntamentreus.cat">
   Plaça Major, Reus
</a>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="addressLocality">Reus</span>,
</div>
<div itemprop="geo" itemscope itemtype="http://schema.org/GeoCoordinates">
Latitude: 40 deg 44 min 54.36 sec N
Longitude: 73 deg 59 min 8.5 dec W
<meta itemprop="latitude" content="41.73435" />
<meta itemprop="longitude" content="1.023424" />
</div>

</div>
</div>