logo

Note tecniche

Standard mapo-eventi-0.1

Il primo standard "MAPO" qui presentato consente la dichiarazione formale di iniziative di interesse pubblico quali manifestazioni a carattere culturale, sagre, fiere, feste particolari, ecc.

Lo standard prevede:

  1. l’esposizione di un endpoint della forma http://sitocomune/api/0.1/events/all che consenta di ottenere l’elenco completo delle iniziative registrate;
  2. l’adozione del formato JSON mapo-eventi-0.1, sotto esposto, per la dichiarazione delle iniziative;
  3. l’encoding per i caratteri dei file JSON è lo Unicode (UTF-8).

Riportiamo di seguito alcune annotazioni sulle entità più peculiari:

  • url: è l’identificatore univoco della sorgente di provenienza delle informazioni contenute nel JSON stesso;
  • ultimaModifica: si riferisce ad una generica modifica del record; non tiene traccia di quali campi siano stati modificati e quali no;
  • descrizioneRassegna: un’iniziativa è sovente figlia di un contesto culturale più ampio; oppure è la manifestazione concreta di un’operazione di più ampio respiro. La descrizione consente di approfondire meglio tale contesto;
  • categoria: si chiede di classificare ciascun "evento" tramite una delle seguenti etichette: Avvenimenti Sportivi, Cinema, Concerti, Concorsi, Conferenze, Convegni, Corsi - Seminari, Danza, Escursioni - Gite, Feste, Fiere, Inaugurazioni, Incontri, Manifestazioni, Mercatini dell'Antiquariato, Mercatini merci varie, Mostre, Musica, Pellegrinaggi, Ricorrenze, Sagre, Solidarietà, Spettacoli, Teatri, Tornei;
  • organizzazione{...}: contiene elementi che definiscono meglio l’organizzatore. Tra i vari elementi, "evento" consente di specificare lo URL alla pagina web specifica dell’iniziativa.
  • comune{...}: contiene elementi distintivi del Comune in cui prende luogo;
  • sponsor[...]: elenco di sponsor, ciascuno con elementi identificativi.

I tipi di dati, evidenziati tra parentesi quadre [...], sono:

  • url: implica un indirizzo web ben-formato e completo, ad es. http://un.dominio/mio/percorso/123
  • text: testo descrittivo senza particolari formattazioni, può contenere markup HTML;
  • date, datetime: nel formato ISO-8601 meglio definito qui http://www.w3.org/TR/NOTE-datetime;
  • float: per i valori numerici floatting-point, ad es. 987.01234 (usare il "." come separatore);
  • boolean: tipicamente i valori ammessi sono 0 o 1;
  • email: nel formato consueto;
[
	{
		"url": "Rif. alla scheda dell’evento [url]",
		"id": "id. univoco dell'evento (tipicamente già contenuto nell’url [text]",
		"ultimaModifica": "ultima modifica del record [datetime:AAAA-MM-DDThh:mm:ss]",

		"titolo": "Titolo principale dell'evento [text]",
		"descrizione": "Descrizione dettagliata dell'evento [text]",
		"immagine": "Rif. all’immagine correlata all’evento [url]",
		"descrizioneRassegna": "Rassegna di cui fa parte l’evento [text]",
		"categoria": "Nome della categoria dell’evento [text]",

		"lat": "Latitudine dell’evento [float]",
		"long": "Longitudine dell’evento [float]",
		"dataInizio": "Primo giorno dell'evento [date:AAAA-MM-GG]",
		"dataFine": "Ultimo giorno dell'evento [date:AAAA-MM-GG]",
		"ricorrente": "Indica se l’evento è ricorrente [boolean:0|1]",
		"periodoRicorrenza": "Definisce meglio il tipo di ricorrenza [text]",

		"organizzazione": {
			"url": "Rif. all'organizzatore dell’evento [url]",
			"nome": "Denominazione dell'organizzazione [text]",
			"evento": "Rif. all’evento (presso il sito dell’organizzatore) [url]",
			"email": "Riferimento di contatto (email) [email]",
			"mobile": "Riferimento di contatto (tel.mobile) [text]",
			"fax": "Riferimento di contatto (fax) [text]"
		},

		"comune": {
			"url": "Url del Comune in cui prende luogo l’evento [url]",
			"codIstat": "Codice istat del Comune [text]",
			"nome": "Nome del comune [text]",
			"provincia": "Sigla della provincia [text:XX]"
		},

		"sponsor":
		[
			{
				"url": "Rif. al sito ufficiale [url]",
				"nome": "Denominazione dello sponsor [text]",
				"logo": "Rif. a immagine rappresentativa dello Sponsor [url]"
			},
			{ ... }
		],
	},
	{ ... }
]