{Titolo} sguardo

Dettagli su OLE

Interfaccia aperta di dati di eventi collegati

La funzione principale di Hinto è che l'informazione sugli eventi si diffonde automaticamente in un nuovo modo dinamico, attraverso i confini dei singoli siti web e piattaforme. Grazie allo scambio automatico di dati con altri siti web e piattaforme, la visibilità degli operatori culturali aumenta con poco sforzo. La conoscenza del nostro ricco paesaggio culturale si diffonde così più facilmente e diventa più tangibile.

Senza interfaccia OLE (in precedenza)

Gli eventi devono essere pubblicati manualmente

L'organizzatore deve inserire il suo evento manualmente su varie piattaforme.

Questo significa: L'organizzatore deve investire molto tempo per pubblicare i suoi eventi. In caso di cambiamenti, le informazioni devono essere adattate a mano ovunque.

Se un interfaccia è offerta dalla piattaforma, deve essere implementata per ogni singola piattaforma.

Questo significa: Dipendenza dalla piattaforma e costi di implementazione e manutenzione.

Piattaforme Organizzatore

Con interfaccia OLE (Nuovo)

Gli eventi si diffondono automaticamente

La standardizzata interfacciaOLE è offerta da voi Le piattaforme vengono da voi a prendere. Le piattaforme vengono da voi per i dati pick up.

Questo significa: Nessuno sforzo nella pubblicazione di eventi. Una volta Costi per implementare l'interfaccia OLE per fornire dati a qualsiasi numero di piattaforme.

Per Wordpress  (versione 5.2-5.7) c'è un free OLE plugin per alimentare i dati degli eventi nella rete OLE con pochi clic. Il plugin supporta vari plugin per la gestione degli eventi (ad esempio Event Organiser, WP Event Manager, Event Calendar), ma può anche essere esteso da un driver personalizzato.

Un piccolo  libreriaPHP che abbiamo su bitbucket.org (GIT, licenza MIT) in modo che i plugin per Typo3DrupalJoomla!e altre soluzioni possono essere create più facilmente.
Abbiamo anche preparato questa libreria come pacchetto composer in modo che tu possa integrare ancora più velocemente (composer require fugugmbh/oledata dev-master).

Contatta per integrare l'interfaccia nel tuo sito web o se hai altre domande.

Se hai sviluppato un plugin OLE, saremo felici di comunicarlo qui su hinto.ch.

.

Piattaforme Organizzatore con Interfaccia OLE

Licenza

OLE è stato sviluppato da fugu GmbH ed è concesso in licenza sotto la Creative Commons Attribution-Share Alike 4.0 International License.

Le piattaforme/aggregatori che utilizzano l'interfaccia OLE per aggregare dati sono tenuti a comunicare le interfacce OLE (URL) utilizzate pubblicamente e in una forma leggibile a macchina per assicurare la ridistribuzione dei dati dell'evento.

L'uso dell'interfaccia OLE dovrebbe essere comunicato in un modo appropriato per assicurare la diffusione del concetto OLE. A questo scopo, abbiamo creato un testo di esempio nella prossima sezione.

Quindi, il concetto OLE può essere liberamente usato per applicazioni commerciali e non commerciali in conformità con la licenza.

Licenziante

fugu GmbH
Schwarztorstrasse 9
CH-3007 Bern

www.fugu.ch

Esempio per una menzione nell'impronta o nel piè di pagina

Il seguente testo può essere usato direttamente nel masthead del tuo sito web:

Questo sito fa parte della rete Open Linked Event Data (OLE), un'iniziativa dell'associazione Hinto.ch. Tutti gli eventi sono anche automaticamente pubblicati su www.hinto.ch.

Come funziona

Dopo che l'interfaccia basata su XML è stata implementata nel tuo sito web da un programmatore, i dati possono essere letti automaticamente e in modo molto efficiente dai sistemi remoti con l'URL corrispondente.

I sistemi remoti chiamano l'URL diverse volte al giorno e possono quindi leggere i dati degli eventi correnti.

Siccome il documento basato su XML è ben strutturato e documentato, non ci sono interpretazioni errate dei tuoi dati degli eventi. L'interfaccia OLE è anche molto più efficiente del raccolta sul sito web, quindi il tuo sito web/hosting sarà meno occupato e l'esperienza per tutti gli altri visitatori del sito sarà mantenuta.

Inserendo l'interfaccia OLE, acconsenti esplicitamente che i dati del tuo evento siano letti da sistemi terzi e quindi usati in sistemi remoti/esterni.

.

Implementazione minima dell'interfaccia

Quello che segue è un esempio della struttura che deve avere l'XML.

Si raccomanda di pubblicare un massimo di 20 eventi per richiesta. Questa raccomandazione protegge l'infrastruttura di voi e del destinatario. Se vuoi pubblicare più di 20 eventi, puoi implementare una paginazione usando <next_url>.

Tutti i dati devono essere codificati come UTF-8.

XML di esempio

<!--
We recommend to wrap all values by CDATA <![CDATA[...]]>

lang attribute ist optional (ISO-639-1)

source_id on event,show element must be unique and required for update purpose

-->
<!--
This XML interface is licensed under a Creative Commons 4.0 BY-SA license, https://www.hinto.ch/olelicense.html
-->
<ole>
    <meta>
        <max_pages>8</max_pages><!-- Used to generate a progress info on client side -->
        <next_url><![CDATA[https://www.mydomain.ch/myolepath/for/next/page]]></next_url>

        <!-- extended functions, optional -->
        <changedsince_supported>true</changedsince_supported><!-- boolean -->
        <source_version><![CDATA[my version value]]></source_version>
    </meta>
    <events>
        <event source_id="event-XXX">

            <name lang="de"><![CDATA[My event name]]></name>
            <name lang="fr"><![CDATA[]]></name>
            <name lang="en"><![CDATA[]]></name>
            <name lang="xx"><![CDATA[]]></name>

            <!-- optional -->
            <lead lang="de"><![CDATA[My lead]]></lead>
            <lead lang="fr"><![CDATA[]]></lead>
            <lead lang="en"><![CDATA[]]></lead>

            <!-- optional -->
            <description lang="fr"><![CDATA[My description]]></description>
            <description lang="fr"><![CDATA[]]></description>
            <description lang="en"><![CDATA[]]></description>

            <costs></costs><!-- 0|1 : Int value for no or yes (optional) -->

            <location>
                <name><![CDATA[My name]]></name>
                <street><![CDATA[My street]]></street>
                <code><![CDATA[My postal code]]></code>
                <locality><![CDATA[My city/locality]]></locality>
            </location>

            <!-- optional -->
            <categories>
                <category><![CDATA[My category A (Jazz)]]></category>
                <category><![CDATA[My category B (Fest)]]></category>
                <category><![CDATA[...]]></category>
            </categories>

            <!-- optional -->
            <targetgroups>
                <targetgroup><![CDATA[My target group A (Kinder)]]></targetgroup>
                <targetgroup><![CDATA[My group B (Senioren)]]></targetgroup>
                <targetgroup><![CDATA[...]]></targetgroup>
            </targetgroups>

            <shows>

                <show source_id="show-YYY">
                    <!-- ISO-8601 -->
                    <date_start>2019-09-30T18:00:00+02:00</date_start>
                    <!-- ISO-8601 (optional) -->
                    <date_end>2019-09-30T20:00:00+02:00</date_end>
                    <!-- Additional info (e.g. door opening) -->
                    <info lang="xx"><![CDATA[...]]></info>
                    <!-- Overwrites event.url (optional) -->
                    <url><![CDATA[...]]></url>
                    <!-- Overwrites event.ticket_url (optional) -->
                    <ticket_url><![CDATA[...]]></ticket_url>
                </show>

                <show source_id="...">
                    ...
                </show>

            </shows>

            <!-- optional -->
            <files>
                <image>
                    <!-- Absolute url to the file -->
                    <src><![CDATA[...]]></src>
                    <!-- Copyright of the source (optional) -->
                    <copyright><![CDATA[...]]></copyright>
                </image>
               ...
            </files>

            <!-- Absolute url to the original event page -->
            <url><![CDATA[...]]></url>
            <!-- Absolute url to the event ticket/reservation/booking url (optional)-->
            <ticket_url><![CDATA[...]]></ticket_url>

            <links>
               <url><![CDATA[...]]></url>
               ...
            </links>
        </event>
        <event>
            ...
        </event>
    </events>
</ole>

Ottimizzazioni dell'interfaccia

Per rendere lo scambio di dati ancora più efficiente, abbiamo implementato varie opzioni.

Parametro URL "changedsince" (ISO-8601): Questo parametro può essere fornito in modo che vengano inviati solo i dati dalla data specificata. L'interfaccia deve rispondere con <changedsince_supported>true</changedsince_supported> perché l'importazione differenziale funzioni.
Se "changedsince" è supportato, il parametro URL "checksourceids" (lista separata da virgole di "source_id") è chiamato alla fine dell'importazione per scoprire eventuali cancellazioni.
L'interfaccia deve rispondere alla richiesta "?checksourceids=show-YYY,a,b,c" come segue:

<ole>
    <checksourceids>
        <delete>a,b,c</delete>
    </checksourceids>
</ole>

Opzionalmente, l'interfaccia può inviare una <source_version> questa è poi inviata dal client con ogni richiesta. Se la versione è diversa, l'interfaccia non dovrebbe reagire a un "changed_since" e quindi fornire nuovamente tutti i dati.

.

Piattaforme/Aggregatori

Le piattaforme/aggregatori non dovrebbero passare i dati OLE importati come dati propri, ma fare sempre riferimento all'origine dei dati (URL). A questo scopo, l'interfaccia OLE fornisce il seguente formato XML.

Inoltre, le piattaforme con le proprie maschere di ingresso dovrebbero trasmettere/pubblicare i dati degli eventi usando l'interfaccia OLE.

Hinto pubblica le sue fonti e i dati degli eventi a https://www.hinto.ch/oleexport.

Fonti OLE

<!--
This XML interface is licensed under a Creative Commons 4.0 BY-SA license, https://www.hinto.ch/olelicense.html
-->
<ole>
    <sources>
        <source><![CDATA[my source URL]]></source>
        <source><![CDATA[...]]></source>
    </sources>
</ole>

Prova la tua interfaccia OLE