CultuurDatabank Gegevensuitwisseling
Toelichting bij diensten voor gegevensuitwisseling:
CDB Web Services (CultuurDB WebService)
Informatie Integratie Systeem (CultuurDB Import en CultuurDB Export)
HTML Query (CultuurDB Redirect)
Cultuurdatabank.be import/export modules (CultuurDB Consult en CultuurDB ConsultPlus)
p. 1 van 61
CultuurDatabank Gegevensuitwisseling Documentgegevens Documentnaam:
Do2004-06-10 CDB Gegevensuitwisseling v5.5
Datum:
12-08-2004
Auteurs:
SHO - LVE
Versie:
5
Versies document Versie
Datum
Auteur
Beschrijving
1.0
02-05-‘04
SHO
Initieel document
1.1
05-05-‘04
LVE
Toevoegen IIS, IGO Import
1.2
05-05-‘04
PPL
Revisie
2.0
10-06-‘04
SHO
Toevoegen web services
2.1
10-06-‘04
LVE
Revisie
2.2
12-06-‘04
LVE
Aanpassingen aan hoofdstuk web services
3.0
12-06-‘04
LVE
Toevoegen Diensten voor gegevensuitwisseling, IIS
4.0
14-06-‘04
LVE
Toevoegen Bijlagen
5.0
12-07-‘04
SHO
Aanpassingen opmerkingen HNI
5.1
12-07-‘04
LVE
Toevoegen uitleg IGO export
5.2
15-07-‘04
SHO
Verwerking opmerkingen C-Net en UNC
5.3
26-07-‘04
LVE
Verwerking opmerkingen PMO
5.4
11-08-‘04
HNI
Revisie
5.5
12-08-‘04
DCO
Toevoegen relatie met contractuele naamgeving
p. 2 van 61
Inhoudsopgave 1
Inleiding ....................................................................................................... 5
2
Contactgegevens........................................................................................... 5
3
Lexicon ......................................................................................................... 5
4
Over CultuurDatabank .................................................................................. 9
5
Overzicht contractueel dienstenaanbod ...................................................... 10
6
7
Diensten voor gegevensuitwisseling ........................................................... 12 6.1
Web services – CultuurDB WebService.................................................................. 12
6.2
Informatie Integratie Systeem (IIS) – CultuurDB Import en CultuurDB Export ............ 13
6.3
HTML Query – CultuurDB Redirect ........................................................................ 14
6.4
Cultuurdatabank.be import/export – CultuurDB Consult en CultuurDB ConsultPlus ...... 15
6.5
Vergelijking diensten voor gegevensuitwisseling..................................................... 15
CDB Datamodel ........................................................................................... 16 7.1
Inleiding ........................................................................................................................ 16
7.1.2
Hoofdobject Organisatie .................................................................................................. 18
7.1.3
Hoofdobject Persoon ....................................................................................................... 19
7.1.4
Hoofdobject Aanbod ........................................................................................................ 20
7.1.5
7.2
8
Hoofdobject Link............................................................................................................. 21
CDB_XSD ......................................................................................................... 22
CDB Web Services (CultuurDB WebService)................................................ 23 8.1 8.1.1 8.1.2
Werking ........................................................................................................... 23 Download SDK ............................................................................................................... 23 Maak een CDB Account (Authenticatie en autorisatie).......................................................... 23
8.2
Overzicht CDB_WS ............................................................................................ 25
8.3
CDB_WS Search ................................................................................................ 25
8.3.1 8.3.2
8.4 8.4.1 8.4.2
8.5
search ........................................................................................................................... 25 searchResults ................................................................................................................. 26
CDB_WS Push ................................................................................................... 27 getEvents ...................................................................................................................... 27 getLinks ........................................................................................................................ 27
CDB_WS Detail ................................................................................................. 28
8.5.1
getEvent........................................................................................................................ 28
8.5.2
getOrganization .............................................................................................................. 29
8.5.3
8.6
9
Hoofdobjecten................................................................................................... 16
7.1.1
getPerson ...................................................................................................................... 29
Gebruik CDB_WS............................................................................................... 30
8.6.1
Vrije zoek ...................................................................................................................... 30
8.6.2
Uitgebreide zoek............................................................................................................. 31
8.6.3
Gedetailleerde zoek......................................................................................................... 32
8.6.4
Selectie op basis van categorieën, trefwoorden en tijdsinformatie ......................................... 33
8.6.5
Toevoeging van partnerspecifieke velden en gebruik ervan via CDB_WS................................ 34
Informatie Integratie Systeem (CultuurDB Import en CultuurDB Export)... 36 9.1
Proces.............................................................................................................. 36
9.1.1
Proces Publisher ............................................................................................................. 36
9.1.2
Proces Subscriber ........................................................................................................... 37
9.1.3
Systeem meldingen ........................................................................................................ 38
9.2
Communicatie tussen IIS en partners ................................................................... 38
9.2.1
Mapping ........................................................................................................................ 38
9.2.2
Protocollen..................................................................................................................... 39
9.2.3
Compressie .................................................................................................................... 40
p. 3 van 61
9.2.4
Concatenatie .................................................................................................................. 40
9.2.5
Databestanden ............................................................................................................... 41
9.2.6
Binaire bestanden ........................................................................................................... 41
9.2.7
Full/delta ....................................................................................................................... 42
9.3
IIS-abonnement ................................................................................................ 42
9.4
IIS FAQ............................................................................................................ 42
9.4.1
Datastore ...................................................................................................................... 42
9.4.2
Partnerspecifieke categorisatie ......................................................................................... 43
9.5
10
Naamgeving ..................................................................................................... 44
HTML Query (CultuurDB Redirect) .......................................................... 45
10.1
Snelkoppeling met parameters ............................................................................ 45
10.1.1
Link naar een overzichtpagina .......................................................................................... 45
10.1.2
Link naar een detailpagina ............................................................................................... 46
10.2
Zoekformulier op partnersite ............................................................................... 47
10.2.1
Vrije zoekfunctie............................................................................................................. 48
10.2.2
Gerichte zoekfunctie ....................................................................................................... 49
10.2.3
CultuurWijzer selectie...................................................................................................... 49
11 Cultuurdatabank.be import/exportmodules (CultuurDB Consult en CultuurDB ConsultPlus) .................................................................................... 52 11.1
Automatisch importeren ..................................................................................... 53
11.2
Exporteren ....................................................................................................... 53
11.2.1
Zoeken .......................................................................................................................... 53
11.2.2
Zoekresultaten exporteren ............................................................................................... 55
12
Besluit .................................................................................................... 57
13
Bijlagen .................................................................................................. 57
13.1
CDB_WSDL....................................................................................................... 58
13.2
BE ERD v 1.0 .................................................................................................... 59
13.3
CDB_XSD ......................................................................................................... 60
13.4
CDB_XSD Documentatie ..................................................................................... 61
p. 4 van 61
1 Inleiding Dit document beschrijft de diensten om in real-time of op vaste tijdstippen fijngestemde datasets of bulkgegevens met CultuurDatabank uit te wisselen. Ten eerste worden in dit document de diensten voor gegevensuitwisseling gedefinieerd en vergeleken, ten tweede wordt het datamodel toegelicht waarin CDB gegevens worden opgeslagen, en ten derde worden de diensten in detail toegelicht, enerzijds functioneel – hoe authenticeren, welke gegevens worden ontsloten, etc. anderzijds technisch – welke web services zijn er, welke tranformaties zijn mogelijk etc. In het document wordt ook het verband uitgelegd tussen de naamgeving van de diensten in dit technische document en de naamgeving in de contracten. Doelgroep van dit document zijn IT projectleiders en –ontwikkelaars die gebruik willen maken van de diensten voor gegevensuitwisseling. Voor specifiekere details kan u ons contacteren via onderstaande contactgegevens. Broncode voor invokeren van web services e.d. wordt bij lancering van CultuurWijzer in het voorjaar van 2005 in de vorm van een SDK gepubliceerd. Dit document is onderhevig aan wijzigingen. Zogauw het afgedrukt is of lokaal opgeslagen kan het niet meer als up-to-date worden beschouwd. De meest recente versie is beschikbaar op www.cultuurnet.be/cultuurdatabank. Let op: In dit document worden de technische mogelijkheden beschreven van gegevensuitwisseling met de CultuurDatabank. Het daadwerkelijke gebruik van deze diensten is onderworpen aan diverse gebruiksregels en contractuele bepalingen inzake het gebruiksrecht op de gegevens, de verantwoordelijkheden, de bronvermelding, enz…. Voor meer informatie hieromtrent kan contact opgenomen worden met de helpdesk. Status van dit document Dit document bevindt zich nog niet in een definitieve fase. Zo ontbreken bijvoorbeeld de detailbeschrijving van de authenticatie van de webservices nog en zijn nog geen definitieve lijsten van parameters voor HTML Query bekend. Dit document wordt in de toekomst dan ook nog aangepast.
2 Contactgegevens U kunt CultuurDatabank contacteren via: E-mail:
[email protected].
Tel:
02/551.07.30
Updates van dit document en aanvullende documenten zoals het document “Gegevensstandaard” versie 2.0 kan u downloaden op www.cultuurnet.be/cultuurdatabank.
3 Lexicon blob
Binary Large Object: een blob is een - potentieel groot gegevenselement in een database dat bestaat uit bytes
p. 5 van 61
waaraan in de database geen tekenverzameling of andere interpretatie is verbonden. In de praktijk is een blob bijvoorbeeld een afbeelding op een website, of een stukje muziek. CDB.ie
CultuurDatabank Import/Export module: importeert gegevens die van IIS komen en verzorgt de verwerking hiervan in de CultuurDatabank. Anderzijds kan CDB.ie gegevens uit de CDB ter beschikking stellen aan IIS.
CDB_WSDL
Benaming voor WSDL bestanden die toebehoren aan CDB_WS
CDB_XML
CultuurDatabank XML; XML instanties van CultuurDatabank gegevens; zie XML
CDB_XSD
CultuurDatabank XML Validatieschema; zie XSD
CDB_WS
CultuurDatabank Web Services; zie web services
Cultuurdatabank.be
Website voor decentrale invoer, validatie en zoeken van culturele gegevens.
CSS
Cascading Style Sheets. CSS zijn een set door het W3C uitgebrachte stijlspecificaties die bij de productie van een HTML- of XML document kunnen worden gebruikt, net zoals de style sheets van een tekstverwerker. De verschillende stijlkenmerken (kleur, soort font, e.d.) kunnen worden toegepast op alle of verschillende delen van het document.
CSV
Comma Separated Values; een databestand bestaande uit een door komma’s gescheiden lijst met waarden.
CultuurWijzer.be
De cultuurportaalsite voor Vlaanderen en Brussel. CultuurWijzer.be heeft als ambitie op te treden als globaal startpunt en wegwijzer voor het culturele aanbod, organisaties, personen en links.
ERD
Entity relationship diagram; een benadering voor data modellering voorgesteld door P. Chen in 1976. Het model stelt dat een databank wordt opgedeeld in twee logische gedeelten, de entiteiten (vb. Organisatie, Persoon, Aanbod) en relaties (vb. Is organisator van, Is lokatie voor).
Functiod
Functiod is een herbruikbare ingebouwde functie die complexe structurele manipulatieverrichtingen tussen bronspecificatie-elementen, de elementen van de bestemmingsspecificatie, en andere functoids toelaat.
GIS
Geografisch Informatiesysteem; beheersbaar maken van landkaarten met computer software. Informatie over de inhoud van de kaart kan worden opgeslagen en berekeningen kunnen worden gemaakt die met die informatie samenhangen. Met GIS worden ruimtelijke gegevens verzameld, opgeslagen, gecombineerd, geanalyseerd en getoond. In een GIS wordt informatie uit verschillende bronnen aan elkaar gekoppeld. Er kan daardoor bijvoorbeeld een analyse gemaakt worden tussen een milieufactor (zoals geluid) en de effecten daarvan (bijvoorbeeld op gezondheid). De koppeling
p. 6 van 61
vindt plaats via de coördinaten. GUIDs
Globally Unique Identifier, een uniek 128-bit nummer dat wordt gecreëerd om particuliere componenten, bestanden, sessies, database entries etc. te identificeren. In CultuurDatabank worden GUIDs als primary key warden gebruikt. GUIDS zijn meestal een combinatie van een paar unieke settings gebaseerd op een specifiek moment in tijd (vb. IP adres, MAC adres, klok datum/tijd, enz.)
HTML
Acroniem van hypertext markup language. HTML, de taal voor het maken van koppelingen, is essentieel voor de weergave van documenten op het Web.
HTTP
Acroniem van hypertext transfer protocol, het protocol dat de basis vormt van de World Wide Web-technologie. HTTP omvat de set regels waaraan de software moet voldoen die wordt gebruikt voor het uitwisselen van HTML- documenten over het Internet.
IFRAME
Raamwerk binnen een HTML pagina waarbinnen een andere HTML pagina kan worden geladen.
IIS
Het Informatie Integratie Systeem (IIS) is een ‘universeelstekker’ van de CultuurDatabank voor gegevensuitwisseling van verschillende systemen van partners, zij het als publicerende partij of als geabonneerde partij. (niet te verwarren met Internet Information Server van Microsoft)
J2EE
Java is een programmeertaal, gebaseerd op het principe van Object-oriëntatie. Historisch gezien is Java een platform-onafhankelijke taal die qua syntaxis grotendeels gebaseerd is op de (eveneens object-georiënteerde) programmeertaal C++, die op haar beurt weer op de niet-objectgeöriënteerde programmeertaal C gebaseerd is.
MD5
Een encryptie algoritme in 1991 gecreëerd door Professor Ronald Rivest dat o.a. gebruikt wordt om digitale handtekeningen te creëren. Het is bedoeld om te gebruiken met 32 bit machines en is veiliger dan het MD4 algoritme, dat gekraakt werd.
.NET Framework
Programmatie architectuur van Microsoft om applicaties en diensten (services) te ontwikkelen, te builden en te draaien op apparaten die .NET technologie gebruiken. Het .NET Framework bestaat uit de Common Language Runtime (CLR), de Framework Class Library en ASP.NET.
PDF
Portable Document Format. Een bestandsformaat ontwikkeld door Adobe Systems. Een PDF-document kan op verschillende systemen en toepassingen worden bekeken zonder dat het document zijn oorspronkelijke vormgeving verliest. PDF-documenten worden vaak via het Internet ter beschikking gesteld vanwege hun portabiliteit.
PGP
Pretty Good Privacy; een manier om e-mail encrypted en/of met een signature te kunnen versturen. Zowel symmetrische als asymmetrische cryptografische
p. 7 van 61
algoritmes worden ondersteund. PGP is ontwikkeld door Bob Zimmerman. Profit vs. Non-profit partners
Non-profit partners zijn organisaties zonder direct of indirect winstoogmerk en zonder de vorm van een vennootschap. Zij gebruiken gegevens uit de CultuurDatabank om de basisdoelstelling van CultuurNet Vlaanderen in te vullen: het stimuleren en vergemakkelijken om aan cultuur te participeren. Deze organisaties streven public profit (overheden en paraoverheden) of sociale profit (streven naar maatschappelijke waardecreatie) na. Profit partners omvatten organisaties die private profit nastreven. Hieronder vallen ook de specifieke groep van mediaactoren die een speciale plaats innemen binnen de groep van de profit partners vermits deze een specifieke ruilwaarde aan C-Net aanbieden.
PSA
Partner-specific attribute; dit zijn attributen in CultuurDatabank die toegevoegd zijn voor specifieke partners, vb. OrganisatieID.
Regular expressions
Een set van symbolen en syntactische elementen om patronen in tekst te herkennen.
Query String
Het gedeelte van een dynamische URL dat de zoekparameters bevat wanneer een dynamische website wordt doorzocht. Query strings bevatten typisch ? and % characters. Onderstaande URL is een voorbeeld van een dynamische URL met een Query String om “cultuurnet” op te zoeken via Google. Het gedeelte in vet is de Query String: http://www.google.be/search?q=cultuurnet
SDK
System Developer Kit; Programmeringspakket waarmee een ontwikkelaar applicaties ontwikkelt voor een specifiek platform. Een SDK bestaat typisch uit één of meer APIs, programmatietools en documentatie.
SOAP
Simple Object Access Protocol; een XML-gebaseerd lichtgewicht protocol om informatie uit te wisselen in een gedistribueerde omgeving.
URL
Uniform Research Locator. Een URL is het adres van een WWW-pagina op het Internet. Elk WWW-document heeft een unieke URL. URL bestaat meestal uit vier gedeelten: protocol, server (of domein), pad en bestandsnaam. Deze laatste kunnen echter afwezig zijn. Een voorbeeld: http://www.cultuurnet.be/cultuurdatabank.
Web services
Web services zijn software modules die via het Internet beschikbaar worden gesteld door webservice providers. Deze toepassingen kunnen – als men over de toegangsgegevens beschikt - door particulieren of organisaties worden gedownload en gebruikt of geïntegreerd voor eigen applicaties.
WSDL
Web Services Definition Language; een XML-taal waarmee de interfaces van webservices worden beschreven. Over het algemeen zullen deze WDSLdocumenten voornamelijk door applicaties gelezen worden en beschikbaar zijn voor aanroepende applicaties.
p. 8 van 61
Een WSDL-document hoeft niet met de hand geschreven te worden. Er zijn voor bijna elke programmeertaal hulpmiddelen aanwezig waarmee we op eenvoudige wijze voor onze eigen componenten WSDL-documenten kunnen laten genereren, om ze zodoende via SOAP aanroepbaar te maken. WWW
Het Word Wide Web (WWW) is de meest bekende toepassing van het Internet. Het is een netwerk van duizenden over de hele wereld verspreide computers (servers) waarop pagina's informatie zijn gestockeerd. Deze pagina's zijn allemaal met dezelfde taal (HTML) ontwikkeld en kunnen via zogenaamde hyperlinks naar elkaar verwijzen.
XML
eXtensible Markup Language. XML is een door het W3C gedefinieerde meta-markuptaal. Dit is een markuptaal die kan worden gebruikt om andere, specifieke markuptalen te ontwikkelen, zoals bijvoorbeeld WML en cXML.
XSD
XML Schema Definition. Schema waarin informatie staat over de elementen van een XML-document, zoals het gegevenstype en andere kenmerken.
ZIP
Een veelgebruikte technologie om bestanden te comprimeren.
4 Over CultuurDatabank “Wie op zoek is naar culturele informatie (of andere diensten), moet die meteen en makkelijk kunnen vinden. Op een innovatieve Vlaamse cultuursite, maar ook en vooral op vele andere sites en via vele andere kanalen.” Dat is de even eenvoudige als ambitieuze doelstelling van het project CultuurDatabank, dat door de minister van Cultuur als prioritaire opdracht is toegewezen aan CultuurNet Vlaanderen. Het centrale hart van dit project is de ontwikkeling van een cultuurdatabank, een ‘open en state-of-the-art technologisch platform’ waarop alle basisinformatie over het cultuuraanbod in Vlaanderen wordt opgeslagen, in interactie met vele andere grote en kleine databanken. Als kruispuntdatabank én centrale databank zal ze immers al vlug dé dataleverancier worden voor tal van communicatiekanalen van vele potentiële partners: (lokale) websites en media, call centers, informatiebalies, mobiele telefonie, digitale televisie, enzovoort. Culturele actoren zullen hun aanbod makkelijker, ruimer en via tal van kanalen kunnen communiceren. Ze bieden daardoor een nog betere dienstverlening aan hun bestaand publiek, en bereiken hierdoor ook meer en nieuw publiek. Wie naar culturele informatie op zoek is, kan hierdoor eenvoudiger, sneller én via diverse kanalen meer en betere informatie vinden. Naast de databank zelf ontwikkelt CultuurNet Vlaanderen ook één van de kanalen die erop zullen ‘draaien’, met name een cultuurportaalsite voor Vlaanderen. Deze nieuwe cultuursite van de Vlaamse Gemeenschap wordt dé plek, hét digitale loket waar het brede publiek terecht kan voor alle basisinformatie en diensten met betrekking tot het culturele aanbod in Vlaanderen. Voor bijkomende informatie of diensten (zoals bvb
p. 9 van 61
ticketing) wordt doorverwezen naar tal van partnersites. Een krachtige zoekmotor en een heldere navigatiestructuur maken het mogelijk dat iedereen makkelijk en snel vindt wat hij zoekt. Inmiddels werd door CultuurNet Vlaanderen reeds een heel parcours afgelegd om het CultuurDatabank-project geleidelijk aan tot leven te brengen. Daarbij werd quasi continu overleg gepleegd met administraties en beleidsverantwoordelijken van steden, gemeenten en provincies, met culturele steunpunten en belangenorganisaties, met media en aanverwante sectoren ook. De CultuurDatabank moet voor hen allen immers een concreet meerwaarde-instrument worden dat tegemoetkomt aan hun –vaak erg diverse- noden en behoeften op het vlak van gestructureerde informatievergaring en – ontsluiting. Extra uitdaging daarbij is om reeds bestaande initiatieven ter zake zoveel mogelijk te integreren binnen het CultuurDatabank-verhaal. Voorbeelden zijn sectorale initiatieven zoals de erfgoedportaalsite van Culturele Biografie Vlaanderen, of het project Prettig Geleerd van Socius, maar ook het Brussels cultuurcommunicatietraject, en provinciale initiatieven zoals Applaus van de provincie Vlaams-Brabant of TiNCK van de provincie West-Vlaanderen. Ook heel wat steden en gemeenten leverden reeds tal van inspanningen in de uitbouw van een stedelijke of gemeentelijke databank annex website. De bedoeling van de CultuurDatabank is allerminst om deze initiatieven overbodig te gaan maken, wel integendeel. Voor elk van hen wordt nagegaan hoe een geïntegreerde werking met de CultuurDatabank kan leiden tot efficiëntieverhoging en de realisatie van vele andere meerwaarden. Het project CultuurDatabank is dan ook heel wat meer dan een ICT- en een contentverhaal. Het is in eerste instantie een netwerkverhaal, een verhaal van samenwerking tussen vele verschillende actoren zonder dewelke dit project dode letter zou blijven. Meer informatie over het project cultuurdatabank kan teruggevonden worden op de corporate site van CultuurNet Vlaanderen: www.cultuurnet.be/cultuurdatabank
5 Overzicht contractueel dienstenaanbod Voor de in- en uitvoer van informatie streeft de CultuurDatabank uitdrukkelijk naar een eenmalige, decentrale invoer (single point of entry) en een maximale uitvoer naar diverse communicatiekanalen. Tal van contentaanbieders zullen dus zelf hun aanbod in de CultuurDatabank kunnen invoeren. Deze decentrale invoer maakt het eindresultaat voor het publiek vollediger en verhoogt de kwaliteit van de dienstverlening. Om de partners toe te laten gemakkelijk gegevens in- en uit te voeren zijn er een aantal diensten geënt op de CultuurDatabank. Een schema met een overzicht van deze diensten is opgenomen op volgende pagina. De namen van deze diensten zijn deze die gebruikt worden in de overeenkomsten die C-Net sluit met de verschillende partners. Tussen haakjes is steeds de technische benaming van de dienst opgenomen. Naast de IT component bevat de volledige definitie van deze diensten ook bijkomende contractuele voorwaarden zoals leveringsvoorwaarden, betalingsmodaliteiten, … Uiteraard worden deze hier niet behandeld en wordt in dit document enkel gekeken naar de IT component voor iedere dienst. In dit document wordt dan ook een technische benaming gebruikt om deze diensten aan te duiden.
p. 10 van 61
OVERZICHT DIENSTEN AUTOMATISCHE DIENSTEN
MANUELE DIENSTEN
CultuurDB Import (Informatie Integratie System)
CultuurDB Consult (cultuurdatabank.be)
Deze dienst laat de partner toe om zijn cultuurgegevens in bestandsvorm aan C-Net te bezorgen. De partner zal zijn gegevens in het standaard XML formaat van C-Net (CdbXSD) plaatsen op een FTP server die C-Net ter beschikking stelt. C-Net zal na het uitvoeren van de nodige kwaliteitscontroles deze gegevens automatisch opnemen in de CDB.
Hier zal de partner via een gebriuksvriendelijke webinterface rechtstreeks kunnen inloggen op de extranet applicatie van de CDB. Via deze interface kan de partner zijn cultuurgegevens invoeren in de CDB en tevens opzoekingen uitvoeren op de CDB en de zoekresultaten beperkt downloaden. Beperkt houdt in dat de gebruiker maximaal 20 items kan downloaden per download actie.
CultuurDB Export (Informatie Integratie System)
CultuurDB ConsultPlus (cultuurdatabank.be)
C-Net zal een set van gegevens periodiek ter beschikking stellen aan de partner volgens selectiecriteria die in gemeenschappelijk overleg zijn bepaald. Deze gegevens worden aan de partner bezorgd in XML of CSV formaat. De gegevens kunnen naar keuze naar de partner gestuurd worden (push service) of kunnen door de partner zelf worden opgehaald (pull service).
Deze dienst heeft dezelfde definitie als de “CultuurDB Consult” dienst, met uitzondering van de download mogelijkheden. Deze “CultuurDB ConsultPlus” dienst laat de partner namelijk toe om onbeperkt de online gemaakte selecties te downloaden. Uiteraard dient men hier rekening te houden met mogelijke technische en thematische beperkingen.
CultuurDB WebService (CDB Web Services)
CultuurDB Extend (Partner Specifieke Attributen PSA)
C-Net biedt verschillende webservices aan die de partner vanuit een eigen partnerapplicatie (site, intranet, specifieke software applicatie) kan oproepen. Deze WebServices laten toe om specifieke informatie uit de CDB te halen en in de eigen applicatie op te nemen. Volgende webservices worden aangeboden: zoekmodule, kalendermodule, organisatiegidsmodule, linkenmodule, GIS module. Deze verschillende modules zijn in feite de verschillende diensten van de CultuurWijzer die de partner dankzij de CultuurDB WebService dienst ook kan aanbieden aan de eigen bezoekers.
Deze dienst laat de partner toe om eigen, partnerspecifieke velden op de CDB aan te vragen. De bijkomende velden zullen door C-Net geactiveerd worden in de CDB en zijn bereikbaar voor de partner via de verschillende diensten waarop de partner geabonneerd is. De partner kan beslissen of deze partnerspecifieke velden enkel voor eigen gebruik dienen of open beschikbaar worden gesteld.
CultuurDB Redirect (HTML Query) Hier stelt C-Net een volledige web oplossing ter beschikking aan de partner. Op deze door C-Net ontwikkelde en onderhouden website zal de partner zijn eigen selectie van cultureel aanbod afkomstig uit de CDB kunnen weergeven. De weergave gebeurt in de “look & feel” van de CultuurWijzer.
p. 11 van 61
6 Korte introductie tot technische basisdiensten voor gegevensuitwisseling De contractuele diensten uit vorige paragraaf kunnen gegroepeerd worden in vier technische basisdiensten voor gegevensuitwisseling: Web services (CultuurDB WebService), Informatie Integratie Systeem IIS (CultuurDB Import en CultuurDB Export), HTML Query (CultuurDB Redirect), en Cultuurdatabank.be import/export (CultuurDB Consult en CultuurDB ConsultPlus). Hier bovenop laten partner specifieke attributen (PSA) toe om deze diensten nog verder te modeleren naar de vraag van de partner (CultuurDB Extend). We snijden elk van de vier technische basisdiensten kort aan, verder in dit document komen ze uitgebreid aan bod.
CultuurWijzer – HTML Query
CDB Web Services
Cultuurportaalsite Vlaanderen
Onmiddellijke publicatie op tal van kanalen
Globaal startpunt en wegwijzer
Partner kanalen en media
CultuurDatabank Open technisch platform met alle basisinformatie over het cultuuraanbod in Vlaanderen en Brussel
Cultuurdatabank.be
IIS
Invoer, validatie en raadplegen van gegevens via webformulieren en import/exportmodules
Uitwisseling van gegevens met bestaande databanken
Partner databanken
6.1 Web services – CultuurDB WebService Definiëring Een formele definitie van een web service vinden we in IBM's tutorial1 over het onderwerp. “Web services are a new breed of Web application. They are self-contained, selfdescribing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to
1
http://www-106.ibm.com/developerworks/webservices/newto/websvc.html p. 12 van 61
complicated business processes...Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.” In de tutorial staat verder dat het gebruik van web services enkele jaren geleden te inefficiënt was om in aanmerking te worden genomen. Maar trends zoals goedkopere bandbreedte en opslagruimte, meer dynamische inhoud, de diversiteit van computerapparatuur en platformen maken de nood voor een onafhankelijke gegevensuitwisselingstaal noodzakelijk, en tegelijkertijd de kost (bandbreedte en opslag) een minder weerhoudende factor. Toepassing Web Services CDB Alle gegevens uit CDB zijn (technisch) beschikbaar via web services. In bijlage vindt u een overzicht van CDB Web Services (CDB_WS) en de WSDL (CDB_WSDL). De web services worden publiek toegankelijk bij de lancering van CultuurWijzer in het voorjaar 2005. Geprefereerde partners krijgen toegang tot CDB_WS bij de bèta release van CultuurWijzer in het najaar van 2004. Hieromtrent kan u de helpdesk desgewenst contacteren waarna de aanvraag onderzocht zal worden. Voordelen van toepassen CDB_WS zijn:
• • • • •
Flexibiliteit: velden, lay-out en structuur kunnen worden geprogrammeerd Snel Partner hoeft voor zijn culturele informatie niet zelf over een databank te beschikken; alle gegevens worden opgehaald uit de CultuurDatabank. Gegevens worden in real-time opgehaald en getoond aan de bezoeker. Resultaten worden weergegeven binnen de site van de partner. De bezoeker merkt niet dat de resultaten afkomstig zijn van de CultuurDatabank.
Verdere bespreking van deze dienst kan teruggevonden worden in hoofdstuk 8 CDB Web Services (CultuurDB WebService).
6.2 Informatie Integratie Systeem (IIS) – CultuurDB Import en CultuurDB Export Het Informatie Integratie Systeem (IIS) is een ‘universeelstekker’ voor gegevensuitwisseling van verschillende systemen van partners, zij het als publicerende partij of als geabonneerde partij. CDB is één van deze systemen die zowel als publicerende partij en als geabonneerde partij optreedt. Het IIS ontvangt bestanden met culturele informatie, inclusief multimedia, van partners, de zgn. Publishers, en kan deze transformeren naar CDB_XML en slaat ze op.2 Andere partners - de zgn. Subscribers - kunnen zich abonneren op deze bestanden en krijgen ze op gezette tijden toegestuurd, eventueel in hun eigen formaat. 2
CultuurNet Vlaanderen heeft geïnvesteerd in een generiek datamodel en categorisatiemodel (in samenwerking met Universiteit Gent) om gegevens over het culturele aanbod goed op te slaan en uit te wisselen. CultuurNet Vlaanderen promoot dan ook de toepassing van dit datamodel en categorisatiemodel zodat ook de uitwisseling met de CultuurDatabank eenvoudig zou verlopen. Uitwisselingen (import en export) met partners in een specifiek formaat (anders dan het generieke model dat gepromoot wordt) zullen keer op keer afzonderlijk op de haalbaarheid en wenselijkheid beoordeeld worden. CultuurNet geeft geen garanties op het effectief uitvoeren van deze transformaties. p. 13 van 61
Iedere partner kan zowel Publisher als Subscriber zijn. De CultuurDatabank (CDB) is zowel een Publisher als een Subscriber. Het proces kan als volgt schematisch weergegeven worden:
IIS is beschikbaar in het najaar, samen met het IIS abonnement, d.i. het bestand dat de details bevat over bestandaanlevering van een bepaalde Publisher. Dit is gerelateerd aan één Publisher en eventueel aan verschillende Subscribers. Indien u meer informatie wenst over de technische uitwerking of hoe dit voor uw organisatie kan worden geïmplementeerd kan u ons bereiken via de in dit document vermelde contactgegevens. Voordeel van het gebruik van IIS zijn: -
Mogelijkheid om op periodieke basis
-
Grote bestanden
-
Te importeren
-
Te exporteren
-
Eventueel met een aangepast formaat
IIS wordt veelal gebruikt voor de onderlinge communicatie tussen databanken. Verdere bespreking van deze dienst kan teruggevonden worden in hoofdstuk 9 Informatie Integratie Systeem (CultuurDB Import en CultuurDB Export).
6.3 HTML Query – CultuurDB Redirect Gegevens uit CDB kunnen via HTTP als HTML opgehaald worden van CultuurWijzer. Er zijn twee mogelijkheden: enerzijds kan de partner mits een link samengesteld uit voorgedefinieerde parameters de gebruiker doorsturen naar CultuurWijzer met een overzicht met aangepaste resultaten, anderzijds kunnen er elementen van CultuurWijzer geïntegreerd worden binnen de site van de partner, zoals een zoekbox en een resultaatspagina. Meer hierover verder in het document. HTML Query is beschikbaar vanaf de lancering van CultuurWijzer in het voorjaar van 2005. Voordelen van het gebruik van HTML query zijn: -
In real-time gegevens
-
Te presenteren op een website
-
Volgens voorgedefinieerde parameters
HTML Query laat toe op een eenvoudige wijze gegevens uit de CultuurDatabank te presenteren op de eigen website. Veelal zal HTML Query gekozen worden in afwachting van de integratie van webservices op de eigen website.
p. 14 van 61
Verdere bespreking van deze dienst kan teruggevonden worden in hoofdstuk 10 HTML Query.
6.4 Cultuurdatabank.be import/export – CultuurDB Consult en CultuurDB ConsultPlus Cultuurdatabank.be is de webapplicatie om culturele basisinformatie decentraal in te voeren en te valideren, en gestructureerd te raadplegen. Diverse (sub)diensten zijn beschikbaar: -
Gegevens kunnen individueel worden ingevoerd manueel via webformulieren op cultuurdatabank.be
-
Gegevens kunnen in groep worden ingevoerd door CSV of XML bestanden op te laden.
-
Gegevens kunnen in de vorm van zoekresultaten getoond worden op het scherm.
-
Gegevens kunnen in de vorm van zoekresultaten geëxporteerd worden uit CDB naar CSV, XML of PDF, raadpleegbaar met tools zoals spreadsheets en databankapplicaties.
Sjablonen voor import en export worden bij de lancering van cultuurdatabank.be in het najaar gepubliceerd. Voordelen van de CultuurDatabank.be import/export zijn: -
Op een manuele wijze kunnen zonder enige nood aan programmatie diverse gegevens
-
Geïmporteerd worden
-
Geëxporteerd worden
-
Volgens het gegevensformaat van de CultuurDatabank
Deze dienst kan gekozen worden omdat: -
Hiermee reeds vele noden onmiddellijk beantwoord zijn
-
IIS voorlopig technisch te complex en te zwaar is voor de partner om te implementeren, CultuurDatabank.be Import/Export kan dan een voorlopige oplossing zijn in afwachting van de aansluiting op IIS.
Verdere bespreking van deze dienst kan teruggevonden worden in hoofdstuk 11 Cultuurdatabank.be import/exportmodules.
6.5 Vergelijking diensten voor gegevensuitwisseling Web services Importeren
IIS
HTML Query
JA
Cultuurdatabank.be import/export JA
Exporteren
JA
JA
JA
JA
Actie
Real-time
Periodiek
Real-time
Manueel
p. 15 van 61
Grootte bestand Technische drempel
3
Flexibiliteit Vereisten
4
1MB
25MB
100KB
100KB
Middel
Hoog
Laag
Laag
Hoog
Zeer laag
Laag
Databron
Website
Geen
Hoog Ontwikkelingsomgeving
5
De diensten voor gegevensuitwisseling zijn quasi onafhankelijk van elkaar te gebruiken. De lezer kan na het lezen van dit hoofdstuk dan ook onmiddellijk doorgaan naar het detailhoofdstuk van de gewenste dienst.
7 CDB Datamodel6 Het datamodel wordt toegelicht a.d.h.v. de Gegevensstandaard (zie contactgegevens). De bijlagen bevatten het ERD en de CDB_XSD.
7.1 Hoofdobjecten 7.1.1 Inleiding Het datamodel van CDB beperkt zich tot vier hoofdobjecten. Een hoofdobject is een object dat centraal staat in de databank en waar data van bijgehouden wordt. Een nevenobject daarentegen is een object die een hoofdobject ondersteunt zoals Media en Categorisatie. Als hoofdobjecten onderkennen we organisatie, persoon, aanbod en link. Het cultureel aanbod omvat producties, tijdelijk en permanent aanbod in Vlaanderen en Brussel. Enkele voorbeelden zijn: de toneelvoorstelling van Het Paleis in de Singel, een vertoning van een film in Brussel, voorstelling van een boek geschreven door een Vlaming, tijdelijke tentoonstelling over Van Eyck, het standbeeld van Brabo op de markt van Antwerpen, het Waasland, ‘Rubens' eigen werk’ in het Rubenshuis enz... Organisaties in CDB worden in relatie gebracht tot cultuur. Deze organisaties kunnen verschillende rollen opnemen zoals lokatie, organisator, reservator, uitvoerder, producent, lokator,… Voorbeelden van organisaties zijn De Vooruit, Vlaams Centrum voor Amateurkunsten, Sportpaleis Antwerpen, CC Berchem, Decascoop,…
3
De paramater “technische drempel” geeft ook al onmiddellijk een indicatie van de eventuele kosten die vereist zijn voor het gebruik van deze dienst. De kosten welteverstaan aan de zijde van de partner, met name voor het aanpassen van diens eigen systemen. 4
Voor elke dienst is een internetconnectie vereist.
5
Ontwikkelingsomgevingen zijn bvb. ColdFusion MX, .NET Framework, J2EE. Publicatieomgevingen bvb. Web servers met ondersteuning van ontwikkelingsomgevingen en scripttalen zoals Perl, ASP.NET, PHP, Java Server Pages, CFML. 6
Bron: document Gegevensstandaard (zie contactgegevens). p. 16 van 61
Nauw verbonden hiermee zijn de Personen die gerelateerd zijn aan cultuur. Personen kunnen dezelfde rollen opnemen als organisaties, de rol lokatie uitgezonderd. Voorbeelden van personen zijn Tom Barman, Hugo Claus, Paul Dujardin,… Als laatste hoofdobject onderscheiden we de Linken ofwel adressen (URL’s) van pagina’s op het web die gerelateerd zijn aan cultuur. Voorbeelden hiervan zijn gespecialiseerde portaalsites (vortals) met betrekking tot cultuur, bijvoorbeeld Cinebel (www.cinebel.be) waar je alle informatie over het filmaanbod terugvindt, Tento (www.tento.be) voor het tentoonstellingsaanbod,… In onderstaand overzicht worden de belangrijkste relaties tussen de hoofdobjecten weergegeven. Vervolgens worden de hoofdobjecten individueel als ERD voorgesteld.
p. 17 van 61
7.1.2 Hoofdobject Organisatie7
7
Uitleg bij termen zoals base_component, SA_comp, categorisation_description enz. worden uitgebreid toegelicht in het document Gegevensstandaard (zie contactgegevens). p. 18 van 61
7.1.3 Hoofdobject Persoon
p. 19 van 61
7.1.4 Hoofdobject Aanbod
p. 20 van 61
7.1.5 Hoofdobject Link
p. 21 van 61
7.2 CDB_XSD Zie bijlage “2004 06 14 JCO CDB XSD Documentatie v1.zip”
p. 22 van 61
8 CDB Web Services (CultuurDB WebService) In dit hoofdstuk lichten we eerst de werking van CDB Web Services (CDB_WS) toe, vervolgens bieden we een overzicht van de beschikbare web services en geven we toelichting bij het gebruik van CDB_WS, telkens met een voorbeeld. Tijdens het implementeren van CDB_WS is het mogelijk beperkt bijstand te verkrijgen van onze helpdesk. Er dient in de partnersite echter rekening gehouden te worden met de wettelijke bepalingen, ondertekend in de gebruikersovereenkomst.
8.1 Werking Om CDB_WS te integreren volgen partners drie stappen: 1. Download SDK 2. Aanmaken CDB Account 3. Implementatie van de CDB_WS in de partnersite Dit is mogelijk vanaf de release van CDB_WS in voorjaar 2005. Ondertussen is de – nog niet definitieve - CDB_WSDL beschikbaar in bijlage. 8.1.1 Download SDK De SDK wordt in het voorjaar 2005 uitgebracht bij de lancering van CultuurWijzer en is vrij beschikbaar voor download. De SDK bevat het overzicht dat ook hieronder beschreven staat, de CDB_WSDL en voorbeeld broncodes. 8.1.2 Maak een CDB Account (Authenticatie en autorisatie) Elke partner die via web services de CultuurDatabank wenst te consulteren moet hiervoor gebruik maken van een CDB Account. Hiervoor dient u akkoord te zijn met de gebruikersvoorwaarden en ons te contacteren (zie contactgegevens), waarna u een CDB Account ontvangt. Hierbij merken we op dat het enkel gaat om een gratis dienst en enkel beschikbaar is voor non-profit partners. Profit partners nemen eveneens contact met ons op. Het CDB Account bestaat uit een user account en een private en public key. Authenticatie bij het gebruik van elke webservice gebeurt met de combinatie van de unieke naam, de private en de public key. Deze zijn opgeslagen in het user_pool component.8 User_pool component
8
Attribuut
Toelichting
user_account
unieke ID
person_related
N.v.t. voor CDB_WS
Component “user_pool”: zie ERD in bijlage. p. 23 van 61
organisation_related
Referentie naar component “organisation”
private_key
Paswoord9
public_key
Paswoord
Public_type en partner-specifieke attributen Instanties in CDB beschikken over een private/public attribuut (bit)10. Instanties die private zijn gedeclareerd, worden niet op CultuurWijzer gepubliceerd, noch ter beschikking gesteld aan derden via CDB_WS. Tenzij zij over de public key beschikken (zie verder). Aan hoofdobjecten kunnen partner-specifieke attributen (PSA’s) worden toegevoegd zodat partner attributen kan opslaan zonder dat het gegevensmodel van de Cultuurdatabank moet worden aangepast.11 Na authenticatie krijgt de partner toegang tot: 1.
Alle publieke gegevens. (public_type: public)
2.
Zijn privégegevens. (public_type: private)
3.
Zijn PSA’s
Public keys Voor autorisatie op privégegevens en PSA’s van één of meer derde partijen (andere partners), moet de geauthenticeerde partner over hun public keys beschikken. Uitwisseling van public keys kan in onderlinge overeenkomst verlopen via CultuurNet. Dankzij deze technologie kan worden opgevolgd welke derden toegang kregen tot welke gegevens. Voorbeeld De stad Antwerpen (SA) wil het culturele aanbod voor jongeren in de stad doorsluizen naar de site van de jeugddienst, www.jongereninformatie.be. Hierbij kiest de stad ervoor niet elk evenement met doelgroep jongeren door te geven, maar eerst een selectie op te stellen. (1) Hiervoor correspondeert de stad Antwerpen haar public key “678” naar de jongerensite. (2) Bij authenticatie voorziet Antwerpen de volgende gegevens:
9
User_account: SA
Private_key: 123
Public_key: 678
Paswoorden worden met MD5 algoritme geëncrypteerd.
10
Attribuut “public_type” van component “base_component”: zie ERD in bijlage.
11
Component “SA_comp”: zie ERD in bijlage. p. 24 van 61
8.2 Overzicht CDB_WS
1
Search
Search searchResults
2
Push
getEvents getLinks
3
Details
getEvent getOrganisation getPerson
Opmerking: In de CultuurDatabank zijn nog een aantal andere webservices technisch voorzien voor eigen intern gebruik (zoals webservices betreffende nieuwsitems, votings, enz…). Deze worden vooralsnog niet aan het publiek ter beschikking gesteld in de vorm van webservices wegens (voorlopig) niet relevant.
8.3 CDB_WS Search 8.3.1 search Method name
Search
Type
RPC
Parameters
authentication
schema
in
p. 25 van 61
user account
private key
searchConditions
schema
in
public key
search conditions:
search word
theme
type
services
period
from-to
recent/archive
regions
ZIP codes
Visibility
indoor/outdoor
totalResults
integer
out
Number of results
resultsEvents
integer
out
Number of events containing search string
resultsOrganisations
integer
out
Number of organisations containing search string
Return type
integer ( 0 – SUCCESS)
Description
Method returns number of service items containing search string
8.3.2 searchResults Method name
searchResults
Type
RPC
Parameters
authentication
searchConditions
schema
schema
in
in
p. 26 van 61
user account
private key
public key
search conditions:
user account
private key
public key
search word
theme
type
service
period
from-to
recent/archive
regions
ZIP codes
visibility
indoor/outdoor
author
orderBy
string
in
column to order
Page
integer
in
Required page
pageSize
integer
in
Number of records per page
Result
schema
out
Return type
integer ( 0 – SUCCESS)
Description
Method returns search results for given service (Events, Organisations, …). Maximum count of records is specified by pageSize, records are listed from page*pageSize offset.
8.4 CDB_WS Push 8.4.1 getEvents Method name
getEvents
Type
RPC
Parameters
authentication
schema
in
user account
private key
public key
languageId
integer
in
Language identifier
targetGroup
schema
in
Type (last change, same location, target group, category…)
count
integer
in
Number of return rows
events
schema
out
List of offers:
Return type
integer ( 0 – SUCCESS)
Description
Method returns list of offers
objectId
name
user account
private key
public key
8.4.2 getLinks Method name
getLinks
Type
RPC
Parameters
authentication
Return type
schema
in
languageId
integer
in
Language identifier
count
integer
in
Number of return rows
links
schema
out
List of links :
integer ( 0 – SUCCESS)
p. 27 van 61
objectId
name
Description
Method returns list of links
8.5 CDB_WS Detail 8.5.1 getEvent Method name
getEvent
Type
RPC
Parameters
authentication
schema
in
user account
private key
public key
eventId
integer
in
event identifier
event
schema
out
event detail:
p. 28 van 61
organizations o
type
o
name
o
organizationId
opening times
title
location o
name
o
type
o
subtitle
o
address
o
map
event date
short description
prices
target group
minimum age
telephone numbers(fax, phone)
email address
homepage
availability_type(cancelled, sold out…)
accessibility
running time
appeal (national, international)
types
themes
urls
long description
user reviews (comments)
score
related links
Return type
integer ( 0 – SUCCESS)
Description
Method returns a detail of event
list of events in the neighbourhood
parent Id
SA’s (eventually)
user account
private key
public key
8.5.2 getOrganization
Method name
getOrganization
Type
RPC
Parameters
authentication
schema
in
organizationId
integer
in
Organization detail identifier
organization
schema
out
organization detail
organization name
short description
list of themes
types
address
location type
mother/daughter
contact hours
accessibility
telephone number
fax number
email address
homepage
related addresses
long description
related persons
multimedia files
other links
SA’s (eventually)
Return type
integer ( 0 – SUCCESS)
Description
Method returns a organization detail
8.5.3 getPerson
Method name
getPerson
p. 29 van 61
Type
RPC
Parameters
authentication
schema
in
user account
private key
public key
persontId
integer
in
person detail identifier
person
schema
out
person detail
Return type
integer ( 0 – SUCCESS)
Description
Method returns a person detail
person name
short description
list of themes
types
address
contact hours
telephone number
fax number
email address
homepage
long description
related persons
related organizations
multimedia files
other links
SA’s (eventually)
8.6 Gebruik CDB_WS In dit hoofdstuk wordt beschreven (aan de hand van fictieve voorbeelden) voor welke toepassingen CDB_WS methoden kunnen gebruikt worden: 1. Vrije zoek 2. Uitgebreide zoek 3. Gedetailleerde zoek 4. Selectie op basis van categorieën, trefwoorden en tijdsinformatie 5. Toevoeging van partnerspecifieke velden en gebruik ervan via CDB_WS 8.6.1 Vrije zoek Procedure 1. M.b.v. een zoekformulier kan een bezoeker een vrije zoekterm invullen op de site van de partner en transparant doorgeven aan CDB_WS. De partner stuurt een SOAP Request uit naar de CultuurDatabank. Dit bericht dient een standaard SOAP bericht te zijn en kan eventueel ouder zijn dan versie 1.2. 2. Zoekresultaten worden vervolgens via CDB_WS verzonden naar de partner site. 3. De site van de partner interpreteert deze gegevens en toont ze aan de bezoeker.
p. 30 van 61
Voorbeeld
Stad Leuven
Stad Leuven
Gebruiker lanceert zoekopdracht
Zoekopdrachten worden getoond
CultuurDatabank CDB_WS methods search, searchResults, getEvent SOAP Request
SOAP Response
Met zoekterm
Met zoekresultaten
8.6.2 Uitgebreide zoek Naast de vrije zoek is de partner ook in staat een gerichte zoek te programmeren. De werkwijze is precies dezelfde als bij de vrije zoek, enkel zijn meer opties mogelijk voor een passender resultaat. De volgende tabel geeft zoekopties weer. Methode
Opties
Trefwoorden Thema’s en types?
Thema’s en types: te vinden in het document Gegevenstandaard (zie contactgegevens).
Doelgroepen en diensten?
Diensten: Cultureel aanbod, Adressengids Doelgroepen: Kinderen, Adolescenten, Volwassenen, Ouderen12
Wanneer?
Vandaag Deze week Deze Maand Dit Weekend Volgend weekend Start- en einddatum ingeven
Nieuw / Gearchiveerd aanbod?
Alleen het meest recente of gearchiveerde aanbod tonen.
Regio?
Alle Regio’s, Antwerpen, Limburg, OostVlaanderen, West-Vlaanderen, Vlaams Brabant, Brussels gewest Selecteer van één of meerdere gemeentes en postcodes
12
Doelgroepen, types en thema’s zijn categorieën: voor volledig overzicht van categorieën zie document Gegevensstandaard (zie contactgegevens). p. 31 van 61
Geografische doelgroep?
Regionaal Nationaal Internationaal Anderstalig aanbod
Indoor / Outdoor?
Indoor of outdoor aanbod tonen
Voorbeeld: uitgebreide zoekfunctie
8.6.3 Gedetailleerde zoek Naast de vrije en de uitgebreide zoekmodule kan de partner ook zoeken binnen verschillende types van gegevens. Zo kunnen de volgende zoekopdrachten gelanceerd worden:
binnen de verschillende evenementen en producties (vb. kalender) binnen de verschillende personen en organisaties (vb. adressengids) binnen alle links (vb. linkendatabank)
Voorbeeld: evenementenkalender Tijd als parameter maakt van search de geschikte CDB_WS method om evenementenkalenders te implementeren. De partner in het volgende voorbeeld beschikt op de homepagina over een evenementenkalender. Wanneer de bezoeker een datum selecteert via een selectieformulier (vb. dropdown, kalender), kunnen geparametriseerd gegevens worden opgehaald uit de CultuurDatabank (vb. alle evenementen vandaag in regio Mechelen). Tevens kunnen de PSA’s binnengehaald (zowel van de partner zelf als van de partners waar de partner in kwestie de public keys van bezit), gefilterd en getoond worden op de partnersite.
p. 32 van 61
8.6.4 Selectie op basis van categorieën, trefwoorden en tijdsinformatie De partner heeft de mogelijkheid om een lijst van evenementen te genereren a.d.h.v. volgende criteria13:
Trefwoorden
Thema’s en types
Doelgroepen en diensten
Wanneer
Nieuw / Gearchiveerd aanbod
Regio
Geografische doelgroep
Indoor / Outdoor
Alle PSA’s van de partner zelf en deze van andere partners waar de partner in kwestie de public key van bezit
De partner kan hierdoor een geïntegreerde lijst aanbieden op zijn site, bv. onder de noemer: “Culturele activiteiten voor senioren in Oostende en omstreken”. Het aantal resultaten wordt zelf door de partner bepaald. Dit maakt het mogelijk lijstjes op te stellen aan de hand van een regio, doelgroepen, tijdsindicatie (m.a.w. een kalender), enz. De combinaties zijn hier bijna onbeperkt. Ook hier kan men extra PSA’s toevoegen, waarbij we denken aan een een extra boolean veld dat de partner heeft gemarkeerd of waarbij er enkel gezocht wordt binnen evenementen die een ranking gekregen hebben. Voorbeeld: Aanbod afstemmen op doelgroepen Partners beschikken over subsites voor specifieke doelgroepen. Om deze sites te voeden met CDB gegevens kan gebruik gemaakt worden van CDB categorisatie. Onderstaand voorbeeld is een site speciaal voor de doelgroep ‘Kinderen’. Doelgroep is een CDB categorie met het fixed ID attribuut en kan als input parameter worden doorgegeven aan CDB_WS.14 Een fixed ID is een leesbaar formaat en wordt voorzien naast de record ID van het datatype GUID.
13
Doelgroepen, types en thema’s zijn categorieën: voor volledig overzicht van categorieën zie document Gegevensstandaard (zie contactgegevens). 14
Doelgroepen, types en thema’s zijn categorieën: voor volledig overzicht van categorieën zie document Gegevensstandaard (zie contactgegevens). p. 33 van 61
8.6.5 Toevoeging van partnerspecifieke velden en gebruik ervan via CDB_WS Partners hebben de mogelijkheid zelf velden toe te voegen via cultuurdatabank.be (partner dient geabonneerd te zijn op de CultuurDB Extend dienst) en deze (indien dit toegestaan is) met CDB_WS op te vragen. Acht de partner dergelijk partnerspecifiek veld nodig, dan kan dit aangemaakt worden door contact op te nemen met de helpdesk (zie contactgegevens). Enkele voorbeelden:
Partner wil graag een eigen tekstveld “commentaar” toevoegen waarbij de eigen redacteurs een bespreking toevoegen.
Partner kan een veldje “rating” bijhouden de partner zelf een bepaalde waarde aan een evenement of ander hoofdobject toevoegt.
Partner wil zelf enkele “ledenID’s” koppelen aan evenementen.
Partner wil bepalen welke hoofdobjecten op welke plaats terecht komen op de partnersite, zie hieronder.
Deze PSA’s moet binnen alle web services op een zelfde manier als de andere velden behandeld worden. Voorbeeld: partnerspecifiek veld Stel dat de partner bepaalde organisaties graag op de homepagina van de partner wil tonen. Hiervoor kan de partner op cultuurdatabank.be een eigen veld toevoegen aan een hoofdobject, dat hij bijvoorbeeld “ranking” noemt. In onderstaand voorbeeld worden alle organisaties getoond die een “ranking” kregen van medewerkers van Stad Brugge. Ranking is dan een partnerspecifiek attribuut, dat enkel en alleen bij Brugge voorkomt en ook door deze partner is aangemaakt. Zo kan Brugge bijvoorbeeld intern afspreken dat een getal tussen 1 en 4 ingevuld wordt bij enkele organisaties. De partners in kwestie spreekt programmeert zijn site zo dat organisaties met ranking 1 op de homepage verschijnen, en organisaties met ranking 2 in een subsectie. In onderstaand voorbeeld wordt de naam van de geselecteerde organisaties getoond, met een link naar de gedetailleerde info.
p. 34 van 61
p. 35 van 61
9 Informatie Integratie Systeem (CultuurDB Import en CultuurDB Export) In hoofdstuk zes “Diensten voor gegevensuitwisseling” werd het Informatie Integratie Systeem (IIS) gedefinieerd als een ‘universeelstekker’ voor gegevensuitwisseling van verschillende systemen van partners, zij het als publicerende partij of als geabonneerde partij.
9.1 Proces Het proces met Subscribers en Publishers werd als volgt schematisch weergegeven:
Het proces dat uitgevoerd wordt als IIS een bestand van een Publisher ontvangt bestaat uit een pre-proces, een mapping proces en een post proces.
9.1.1 Proces Publisher
9.1.1.1
Pre-proces
Een Publisher heeft de mogelijkheid om bestanden op te sturen met http, ftp en smtp. De bestanden kunnen opgedeeld zijn in meerdere delen, om bv. de emails niet te groot te laten worden. Ook kunnen de bestanden gezipt zijn, om de bestanden compacter te sturen. De gestuurde bestanden bevatten gestructureerde data met de hoofdobjecten in CDB_XML of vertaald naar CSV en zgn. binaries: multimedia en andere bestanden, waarnaar verwezen wordt. Het systeem zorgt ervoor dat deze binaries ook opgeslagen worden en weer doorgestuurd worden naar de Subscribers, samen met de gestructureerde data. Zoals gezegd, kan een Publisher behalve XML ook CSV sturen. Bij binnenkomst zal de CSV omgezet worden naar XML, voor verdere verwerking in het systeem. Als scheidingstekens worden komma (,) en punt-komma (;) ondersteund. Geprefeerde partners kunnen gegevens in partnerXML versturen. Deze wordt gevalideerd tegen de voor die partner geldende partnerXSD en gaat dan het mapping proces in (zie volgende paragraaf).
9.1.1.2
Mapping proces
Nadat een partnerXML gevalideerd is, wordt deze geconverteerd naar de CDB_XML. Omdat elke partnerXML verschillend is, wordt voor elke Publisher een zgn. mapping
p. 36 van 61
gemaakt door een beheerder, om aan te kunnen geven hoe de partnerXML exact omgezet moet worden in CDB_XML. Mapping betreft transformeren van partner attributen op CDB attributen en transformeren van de inhoud. Hiervoor wordt gebruik gemaakt van een serie functiods.
9.1.1.3
Post proces
Nadat de CDB_XML geconstrueerd is, wordt deze in het systeem opgeslagen, samen met de binaries. Om er voor te zorgen dat het bestand teruggevonden kan worden, wordt er zgn. ‘metadata’15 uit de CDB_XML gehaald en deze wordt gestructureerd opgeslagen, zodat op deze data gezocht kan worden om de bestanden voor de Subscribers te kunnen vinden. 9.1.2 Proces Subscriber Het proces van een Subscriber verloopt ongeveer hetzelfde als van een Publisher, maar dan in omgekeerde volgorde. Ongeveer, omdat een Subscriber een keuze moet maken voor een of meerdere IIS-abonnementen waarop hij zich wil inschrijven. Hierbij heeft een Subscriber de keuze met welke frequentie er bestanden gestuurd worden en of er complete data of slechts nieuwe en gewijzigde data verstuurd wordt.
9.1.2.1
Pre proces
Vanuit de JobQueue, d.i. de wachtlijst in IIS van te verwerken processen, wordt het proces gestart om bestanden aan een Subscriber aan te leveren. Aan de hand van de metadata wordt dit bestand en eventuele bijbehorende binaries opgehaald.
9.1.2.2
Mapping proces
Net als een Publisher kan ook een geprefereerde Subscriber een formaat hanteren dat afwijkt van de CDB_XML. Daarvoor wordt hier ook een mapping gemaakt, die de CDB_XML omzet naar partnerXML, gebruik makend van de CDB_XSD en partnerXSD. Deze partnerXML kan dan eventueel weer omgezet worden naar partnerCSV of een ander formaat, afhankelijk van eventueel toegevoegde adapters. Naast deze XML of CSV ontvangt de Subscriber ook de bijbehorende binaries.
9.1.2.3
Post proces
Een Subscriber kan dus aangeven of hij bestanden wil ontvangen via http, ftp of smtp, in een bepaald formaat en al dan niet gecomprimeerd. Het procesmodel dat weergegeven is als inleiding van dit hoofdstuk (IIS > Proces), kan nu als volgt gedetailleerder weergegeven worden:
15
Zie de IIS_ERD voor de specificatie van de metadata. Hier komen zaken in voor als: welke Publisher (IIS-abonnement), datum/tijd ontvangen, etc. p. 37 van 61
De processtappen die met stippellijnen zijn weergegeven, kunnen dus eventueel overgeslagen worden, afhankelijk van de partnerspecifieke instellingen. 9.1.3 Systeem meldingen Uiteraard kan er tijdens de hierboven beschreven processen iets mis gaan. Bij Publishers kan de partnerXML bijvoorbeeld niet well-formed of valid zijn. Of een Subscriber met FTP kan een server hebben opgegeven die op een bepaald moment down is. Als er in het proces iets mis gaat, zal het systeem daar een record voor aanmaken in een log en deze melden aan de Publisher of Subscriber d.m.v. e-mail.
9.2 Communicatie tussen IIS en partners 9.2.1 Mapping De mapping module binnen IIS verzorgt de vertaling van een publisherXML bestand naar een CDB_XML bestand bij het publish-proces, en van een CDB_XML bestand naar een subscriberXML bestand bij het subscribe-proces. Dit gebeurt door vergelijking en een mogelijke transformatie tussen een bron- en een doel XSD.
Voorbeeld: een telefoonnummer in een bron XSD bestaat uit één value in één attribuut. In de doel XSD wordt de countrycode in één veld geplaatst, de regio prefix in een ander en het specifieke telefoonnummer (zonder country code en regio prefix) wordt in weer een ander veld geplaatst. In dit geval wordt één veld dus gemapt op drie andere velden. Behalve deze kopieslag kunnen de gegevens in het document ook verrijkt, gevalideerd of geconverteerd worden, voordat ze terechtkomen in het doeldocument. Tijdens het kopiëren en transformeren worden voor deze bewerkingen functiods aangeroepen. Voorbeelden van belangrijke functiods vindt u hieronder. Locatie validatie en verrijking functiods Postcode obv stad, straat en huisnummer
Adresgegevens worden gevalideerd en indien nodig verrijkt met postcode
p. 38 van 61
GIS coördinaten obv postcode/huisnummer
Berekening en toevoeging GIS coördinaten
String manipulatie functiods Alles upper/lowercase of 1ste char upper
String manipulatie voor correcte formattering (vb. naam persoon)
GIS coördinaten obv postcode/huisnummer
Berekening en toevoeging GIS coördinaten
Character replacement
Vervanging van karakters, vb. “_” Æ “ ”
Max length velden (substring, blanco)
Bij overschrijding van maximum toegestane lengte wordt ofwel een substring uit de originele string afgeleid, ofwel wordt de orginele string in zijn geheel niet opgeladen.
Default waarden string igv leeg
Lege attributen die in CDB_XML worden gemapt op verplichte attributen kunnen een standaard waarde worden toegekend tijdens de mapping, vb. “Niet beschikbaar”
Trim
Verwijderen spaties vooraan en achteraan de string
Dataformaat conversie functiods Currencyeenheid conversie
Conversie van notering van munteenheden (vb. 1 € Æ 1.00 €)
Boolean check en/of conversie
Vb. WAAR
Æ1
ONWAAR Æ 0 Datumformaat en tijdformaat conversie
Vb. conversie naar Amerikaanse notering 30-12-2004 Æ 12-30-2004
9.2.2 Protocollen IIS communiceert met de Publishers en Subscribers middels drie protocollen: HTTPPOST, SMTP en FTP. Het gebruik van deze protocollen door Publishers en Subscribers wordt hieronder toegelicht.
9.2.2.1
Publishers
9.2.2.1.1 HTTP-POST Een Publisher heeft de mogelijkheid om bestanden te posten aan de IIS Webserver. Dit kunnen losse bestanden zijn: XML, CSV, binair, maar ook ZIP-bestanden. Elke Publisher heeft een eigen URL waarop gepost wordt, aan de hand waarvan de Publisher geïdentificeerd wordt. 9.2.2.1.2 SMTP/POP3 p. 39 van 61
Een Publisher heeft de mogelijkheid om bestanden aan IIS te e-mailen. Hiervoor heeft elke Publisher een eigen email-adres op de POP3/IMAP-server van IIS. Door middel van informatie in de subject (of PGP in een later stadium), wordt vastgesteld of het om een valide bericht gaat. De email bevat files in attachments die verwerkt moeten worden. Dit kunnen losse bestanden zijn: XML, CSV, binair, maar ook ZIP-bestanden. 9.2.2.1.3 FTP Een Publisher heeft de mogelijkheid om bestanden te uploaden met FTP. Hiervoor heeft elke Publisher dan een FTP-account op de FTP-server van IIS. De Publisher uploadt losse bestanden (XML, CSV, binair) naar de server.
9.2.2.2
Subscribers
9.2.2.2.1 HTTP-POST Een Subscriber kan bestanden gepost krijgen via HTTP. Dit kunnen losse bestanden zijn, of een ZIP. Hiervoor moet de Subscriber een URL beschikbaar stellen. 9.2.2.2.2 SMTP Een Subscriber kan bestanden gemaild krijgen via SMTP. Dit kunnen losse bestanden zijn, of een ZIP, maar de bestanden komen allemaal in één email terecht. Hiervoor moet de Subscriber een email-adres beschikbaar stellen. 9.2.2.2.3 FTP Een Subscriber kan bestanden ophalen door middel van FTP. Hiervoor heeft de Subscriber dan een FTP-account op de FTP-server van IIS. De Subscriber downloadt losse bestanden (XML, CSV, binair) van de server. 9.2.3 Compressie Zoals eerder aangegeven, hebben de Publishers en Subscribers de mogelijkheid om ZIPbestanden te sturen, dan wel te ontvangen. Dit kan ingesteld worden in het beheergedeelte van partners. Deze functionaliteit is van belang voor SMTP en HTTP: te grote bestanden kunnen mailbox-limieten overschrijden resp. voor een time-out zorgen. Gecomprimeerde bestanden kunnen dit voorkomen. Eventueel heeft de partner ook de mogelijkheid om bestanden over meerdere ZIPs te verdelen. 9.2.4 Concatenatie Een Publisher kan gecomprimeerde bestanden ook in meerdere delen opsturen, om zodoende niet te grote files te versturen. Het systeem zal een serie ZIP-files eerst uitpakken en de bestanden daaruit bij elkaar voegen. Het is niet mogelijk dat ZIPbestanden eerst worden samengevoegd en daarna uitgepakt. Bestanden kunnen wel worden opgeknipt en verdeeld over meerdere ZIP-bestanden. Deze worden dan door het systeem binair aan elkaar geplakt. Dit stelt wel eisen aan de naamgeving. Een Subscriber kan bestanden niet in delen ontvangen. Wel kan er bij het beheer van Subscribers aangegeven worden wat de maximale bestandsgrootte mag zijn bij versturen via SMTP. Als een bestand deze grootte overschreidt, wordt het bestand niet gestuurd en wordt er een melding gemaakt aan de partner en de beheerder.
p. 40 van 61
9.2.5 Databestanden
9.2.5.1
Formaten
De databestanden kunnen in verschillende formaten worden aangeleverd. In eerste instantie wordt voorzien in XML en CSV. Voor formaten afwijkend van XML kunnen zgn. adapters gemaakt worden (in een later stadium), die het formaat omzet in XML. Deze XML wordt voor transformatie naar CDB_XML gecontroleerd op validiteit door een PublisherXSD: een data-definitie die een partner samen met CultuurNet Vlaanderen vaststelt. Dit proces kan als volgt weergegeven worden:
Voor Subscribers geldt analoog dat zij bestanden in XML, CSV, of later andere formaten aangeleverd kunnen krijgen. Zij stellen samen met CultuurNet Vlaanderen een SubscriberXSD op waaraan hun XML zal voldoen (voordat deze eventueel wordt omgezet in een ander formaat). Voor de transformatie van PublisherXML naar CDB_XML en van CDB_XML naar SubscriberXML vindt een mapping plaats, waarbij informatie gecontroleerd, samengevoegd, gesplitst en verrijkt kan worden. Hiervoor wordt een Mapping-module gebruikt. Voorwaarde voor het toevoegen van een nieuwe adapter is dat het nieuwe formaat informatie op een gestructureerde wijze opslaat, zodat deze naar XML omgezet kan worden. Het systeem zal in een later stadium voorzien in een mogelijkheid om zulke adapters toe te voegen. 9.2.6 Binaire bestanden Bij de databestanden worden ook binaire bestanden gestuurd: images, movies, PDF’s, e.d. Deze zullen door IIS opgeslagen worden bij de databestanden, zodat Subscribers naast de databestanden ook deze binaire bestanden weer zullen ontvangen. Het is de bedoeling dat IIS ook bewerkingen uit kan gaan voeren op binaire bestanden, Bijvoorbeeld voor images: het converteren van JPG of GIF-bestanden naar een bepaald formaat en resolutie en het eventueel aanmaken van thumbnails. Dit kan dan per partner beheerd worden. p. 41 van 61
9.2.7 Full/delta Zowel voor Publishers die files aanleveren als voor Subscribers die files aangeleverd krijgen, geldt dat dit kan geschieden zowel via full files als via delta files. Full files bevatten steeds alle instanties die de Publisher in het kader van een bepaald IISabonnement beschikbaar stelt. Delta files bevatten alleen de nieuwe en/of gewijzigde instanties. Het onderscheid full/delta noemen we het contenttype (F/D). Het contenttype wordt vastgelegd in het IIS-abonnement. Er wordt echter ook een default waarde vastgelegd op het niveau van de Publisher c.q. Subscriber. Dit houdt in dat: o
Een Publisher voor 1 abonnement een full kan aanleveren en voor een ander abonnement delta;
o
Een Subscriber zich kan abonneren op een delta van een abonnement waarop de Publisher alleen fulls levert.
9.3 IIS-abonnement IIS-abonnement representeert de technische elementen binnen de overeenkomst die een Publisher gesloten heeft met CultuurNet voor de aanlevering van informatie. Hierin wordt vastgelegd welke gegevens het betreft, de frequentie waarmee wordt aangeleverd, de gegevens voor ophalen van de bestanden, enzovoort. De abonnementcomponent kent een geldigheidsduur en een versie. De abonnementcomponent weet welke adapter benodigd is om de verwerking die bij het abonnement hoort, uit te voeren. Contacteer de helpdesk voor informatie omtrent de gegevens die worden opgeslagen in het IIS-abonnement.
9.4 IIS FAQ Als laatste hoofdstuk voor IIS belichten we hieronder enkele veelgestelde vragen omtrent IIS. Deze betreffen
Datastore; hoe gegevens worden opgeslagen
Partnerspecifieke categorisatie; hoe categorisatie van van culturele instanties behouden/verrijkt wordt
Replicatiemechanisme
File-locking
9.4.1 Datastore De files worden in blobs opgeslagen in de database. Dit zorgt ervoor dat de security goed in te stellen is en tevens kan men deze blobs gemakkelijker beheren, gelijk aan andere databankvelden. De in de XML gerefereerde binary files kunnen opgenomen zijn in de XML files maar kunnen tevens apart worden meegeleverd. In dat laatste geval worden die binaries opgeslagen in een filestructuur op de server. De locatie daarvan wordt vastgelegd in de relevante XML file. Hieronder is in de vorm van een geabstraheerd ERD schema één en ander weergegeven.
p. 42 van 61
PARTNER
NAME ET CETERA
SUBSCRIBER SUBSCRIBER SUBSCRIBER
PUBLISHER
NAME
NAME
NAME NAME ET CETERA
ET CETERA
ET CETERA ET CETERA
RECEIVED FILES
ABONNEMENT
SUBSCRIBER NAME ET CETERA
ABONNEMENT SUBSCRIBER
SUBSCRIBER
9.4.2 Partnerspecifieke categorisatie Partners kunnen hun eigen wijze van categoriseren hebben. In dat geval dient de CultuurNet database administrator hun categorisatie te mappen op de master categorisatie16. Partners kunnen geen data met een partnerspecifieke categorisatie publishen naar IIS indien deze partnerspecifieke categorisatie niet gemapt is op de master categorisatie. Van iedere categorie uit de partnerspecifieke categorisatie is bekend welke categorie het systeem dient in te vullen vanuit de master categorie. In enkele gevallen kan de partnercategorie geen wederhelft hebben in de master categorisatie. De system manager dient dan eerst zijn toevlucht te nemen tot een supercategorie maar indien zelfs dat niet kan dan wordt die onbekende categorie gemapt naar een algemene categorie ‘overig’ of ‘onbekend’.
16
Master categorisatie: zie contactgegevens document Gegevensstandaard. p. 43 van 61
9.5 Naamgeving Iedere bestandsnaam kent volgende gegevens: o
een prefix die bestaat uit de partnerID;
o
een datum in formaat YYYYMMDD;
o
een aanduiding full/delta (F/D);
o
een rangnummer (1$5=1 van 5).
p. 44 van 61
10 HTML Query (CultuurDB Redirect) HTML gerendeerd door CultuurWijzer kan rechtstreeks worden aangesproken om gegevens uit CDB te exporteren. Dit is een oplossing die amper systeemvereisten vergt (enkel een website), maar daartegenover weinig flexibiliteit biedt. 4 + 1 mogelijkheden
Gegevens opvragen door snelkoppeling met parameters op partnersite
Gegevens opvragen zoekformulier te integreren op partnersite
Resultaten binnen raamwerk CultuurWijzer
Resultaten op een neutrale pagina, eventueel te integreren via iframe
Site partner
Site CultuurWijzer
•
Partner integreert een link met paramaters
•
Resultaten binnen raamwerk CultuurWijzer
•
Partner integreert een zoekformulier
•
Resultaten in een neutraal raamwerk (eventueel geïntegreerd via iframe)
Er zijn vier mogelijke toepassingen van HTML Query. Op de partnersite kan er gekozen worden een snelkoppeling met parameters te leggen of een zoekformulier te integreren. Ook de resultaten kunnen op twee verschillende manieren weergegeven worden: binnen het raamwerk van de CultuurWijzer of op een neutrale pagina. Deze neutrale pagina is eventueel te integreren binnen de iegen website via een iframe.
10.1 Snelkoppeling met parameters Vanaf de lancering van CultuurWijzer begin 2005 kunnen links naar CultuurWijzer zoeken detailpagina’s worden geïntegreerd op partner websites. Hierbij kunnen partners desgewenst vooraf gedefinieerde parameters meegeven om een resultaat op maat te verkrijgen. 10.1.1 Link naar een overzichtpagina De meest eenvoudige maar minst flexibele methode om gegevens op maat te tonen is een link met een Query String naar CultuurWijzer. De beschikbare parameters worden begin 2005 gepubliceerd. De resultaatweergave is een pagina op www.CultuurWijzer.be. Voorbeeld
p. 45 van 61
Link: www.CultuurWijzer.be/<pagina.aspx>?stad=hasselt&thema=theater In dit voorbeeld legt de stad Hasselt (‘stad=hasselt’) een link naar alle theaterstukken (‘thema=theater’), die in de toekomst (geen tijd gespecificeerd) gaan plaatshebben. Resultaat
10.1.2 Link naar een detailpagina Naast linken naar overzichtspagina’s zijn linken mogelijk naar detailpagina’s voor specifieke evenementen, organisaties, locaties of personen. Deze pagina van CultuurWijzer bevat alle informatie van het onderwerp in kwestie. Zoals bij het vorige
p. 46 van 61
voorbeeld worden er specifieke paramaters en waarden meegegeven in de link. Als waarde wordt er ditmaal een uniek nummer (ID) gehanteerd. Voorbeeld
Link: www.CultuurWijzer.be/?<pagina.aspx>?id=23456 Na het klikken op de link wordt er een specifiek evenement weergegeven, in dit voorbeeld het “Alban Berg Quartett”. Zowel voor dit voorbeeld als voor het vorige wordt er een tool uitgewerkt zodat de partner de links met de verschillende parameters en waarden zelf kan opbouwen en kopiëren in de partnersite. Voorbeeld resultaat
10.2 Zoekformulier op partnersite De partner kan functionaliteiten van CultuurWijzer integreren in de eigen site mits vrije en gerichte zoekfuncties.
p. 47 van 61
10.2.1 Vrije zoekfunctie CultuurWijzer biedt een vrije zoekfunctie aan om te integreren in de partnersite. Hiermee kan de bezoeker trefwoorden invullen in een zoekbox. De code wordt aangeleverd door CultuurNet vanaf de lancering van CultuurWijzer in het voorjaar 2005. Voorbeeld
Code (indicatief) <script language="javascript" src="http://www.CultuurWijzer.be/incs/<pagina.aspx>?font=Arial,Helvetica, sans-serif&size=1&width=130&border=1&bgcolor=FF9900"> Met bovenstaande HTML wordt een zoekformulier geïntegreerd in de site van de partner dat kan worden aangepast aan “look & feel”. Volgende parameters zijn instelbaar in dit voorbeeld: lettergrootte en type, breedte van het zoekformulier, rand en achtergrondkleur. Voorbeeld resultaat
p. 48 van 61
Hier koos de partner voor een resultaat binnen CultuurWijzer. Er kan tevens geopteerd worden het resultaat weer te geven in een neutrale pagina zonder lay-outkenmerken, zoals verder wordt aangetoond. 10.2.2 Gerichte zoekfunctie Dit is gelijkaardig aan vrije zoekfunctie, echter met de mogelijkheid om zoektermen vast te leggen. Voorbeeld
Code (indicatief) <script language="javascript" src="http://www.CultuurWijzer.be/incs/<pagina.aspx>?font=Arial,Helvetica, sans-serif&size=1&width=130&border=1&bgcolor=E7E7D6"> Verduidelijking Met bovenstaande HTML wordt een gestructureerd zoekformulier geïntegreerd in de site van de partner dat kan worden aangepast aan “look & feel”. Volgende parameters zijn instelbaar: lettergrootte en type, breedte van het zoekformulier, rand en achtergrondkleur. Het resultaat is een overzicht op CultuurWijzer. 10.2.3 CultuurWijzer selectie Wanneer de partner geen zoekmodaliteit wil aanbieden aan zijn bezoeker maar enkel een selectie van CultuurWijzer op zijn site wil vermelden kan een zelfde principe gehanteerd worden. Een selectie uit het aanbod kan namelijk worden geïntegreerd in de partnersite met een link naar CultuurWijzer.be. De partner kan het aanbod echter niet zelf bepalen. Dit wordt bepaald door de redactie van CultuurNet en op regelmatige basis vernieuwd. Voor dergelijke mate van flexibiliteit zijn web services aangewezen.
p. 49 van 61
Voorbeeld
Code (indicatief) <script language="javascript" src="http://www.CultuurWijzer.be/incs/<pagina.aspx>?font=Arial,Helvetica, sans-serif&size=1&width=130&border=1&bgcolor=CCCCCC"> Met bovenstaande HTML wordt aanbod uit CultuurWijzer geïntegreerd in de site van de partner aangepast aan “look & feel”. Volgende parameters zijn instelbaar: lettergrootte en type, breedte van het zoekformulier, rand en achtergrondkleur. Klikt de bezoeker op één van de vijf links, dan kan de partner wederom kiezen hoe de resultaten getoond worden: binnen het raamwerk van de CultuurWijzer of op een neutrale pagina. Voorbeeld resultaat
p. 50 van 61
Ditmaal wordt de tweede optie met een voorbeeld verduidelijkt: de resultaten worden getoond op een detailpagina met een neutrale “look & feel”. Deze pagina bevindt zich fysisch eveneens op de server van CultuurWijzer en bevat een logo en verwijzing naar CultuurWijzer. Hierbij dienen we te vermelden dat er een tag bestaat die het mogelijk maakt deze pagina te integreren in een pagina van de partnersite. Het gaat hier om de iframetag. Code (indicatief) <iframe src="href=”http://www.CultuurWijzer.be/<pagina.aspx>?thema=theater" frameborder="0" width="200" height="483" scrolling="no"> IFRAME integreert info van een andere pagina, in casu een pagina die zich bevindt op CultuurWijzer. Alle lay-out kenmerken worden gemeden, zodat de partner in beperkte mate zelf de “look & feel” kan bepalen. Hierbij kunnen we opmerken dat de IFRAME tag slechts geïntegreerd is van html-versie 4.02. Browsers die niet overweg kunnen met deze versie kunnen een IFRAME niet tonen.
p. 51 van 61
11 Cultuurdatabank.be import/exportmodules (CultuurDB Consult en CultuurDB ConsultPlus) Cultuurdatabank.be biedt als webapplicatie rechtstreekse toegang tot CDB a.d.h.v. volgende functionaliteiten: •
Formulieren voor manuele invoer van cultuuraanbod
•
XML en CSV importmodules voor automatische invoer
•
XML en CSV exportmodules
•
PDF generator voor export op basis van vooraf gedefinieerde sjablonen
•
Zoekmachine
•
Interfaces voor validatie en beheer (vb. filteren van dubbel ingevoerde gegevens, beheer gebruikers, goedkeuring inhoud, enz.)
Importeren kan dus manueel of automatisch. Voor automatisch importeren wordt een vereenvoudigde versie van CDB_XSD (CDB_XSD Light geheten) gepubliceerd welke eveneens zal vertaald worden naar CSV sjablonen. Exporteren kan naar PDF, XML of CSV. Opnieuw zal de vereenvoudigde versie van de CDB_XSD gebruikt worden. Details van cultuuraanbod, organisaties of personen kunnen worden geëxporteerd, maar ook lijsten zoekresultaten. Hieronder wordt eerst automatisch importeren en vervolgens afstemmen en exporteren van zoekresultaten toegelicht. Cultuurdatabank.be wordt in het najaar gelanceerd.
fig. manuele invoer cultuuraanbod via cultuurdatabank.be
p. 52 van 61
11.1 Automatisch importeren Automatisch importeren gebeurt geïntegreerd vanuit cultuurdatabank.be en volgt volgende stappen: •
Stap 1: Selectie van het bestandstype: CSV of XML. In deze stap kan de gebruiker indien nodig de meest recente versie voor het geselecteerde bestandstype downloaden: CSV sjablonen of CDB_XSD. Versie en datum staat in de bestandsbenaming.
•
Stap 2: Opladen bestanden. Bestanden worden samengevoegd in een ZIP-bestand en zo opgeladen. Maximum toegestane grootte is 2MB.
•
Stap 3: Rapport. In de derde stap wordt een rapport getoond van geslaagde en gefaalde imports.
11.2 Exporteren 11.2.1 Zoeken Er worden drie vormen van zoek aangeboden: vrije zoek, gestructureerde zoek en geavanceerde zoek.
11.2.1.1
Vrije zoek
Bij vrije zoek is slechts 1 zoekveld beschikbaar. Er kan worden aangeduid welke resultaten worden verwacht •
CDB informatie (personen, organisaties, links, redactionele content, aanbod of alle)
•
Webpagina’s van sites, als link opgenomen in de CDB
•
Documenten (tekst, PDF, Word) gekoppeld aan CDB data
11.2.1.2
Gestructureerde zoek
Gestructureerde zoek biedt de gebruiker de mogelijkheid om een zoekcriterium in te voeren via enkele vaakgebruikte velden. De gebruiker selecteert daarbij een content object waarbij vervolgens de relevante zoekattributen voor dat object verschijnen: Voorbeeld: Aanbod; relevante velden: •
Naam productie
•
Dag Van-Tot
•
Locatie naam
•
Locatie stad
•
Uitvoerder
•
Producent
p. 53 van 61
•
Organisator
•
Beschrijving
•
Type
•
Sector
•
Doelgroep
•
Geografische doelgroep
•
PSA’s
Hierbij kunnen volgende variabelen worden gedefinieerd, bijvoorbeeld •
@VANDAAG (datum)
•
@MIJN_GROEP (user pool)
•
@IK (user)
11.2.1.3
Geavanceerde zoek
Geavanceerde zoek laat een gebruiker toe om complexe zoekopdrachten samen te stellen. Eerst selecteert de gebruiker daarvoor naar welk soort inhoud hij op zoek is. Vervolgens kan de gebruiker lijnen van het volgende type samenstellen (stel dat gekozen soort inhoud organisatie is) Content.veld
Operator
Waarde17
Samenstelling
ORGANISATIE.NAAM
=
Ros
EN
ORGANISATIE.ADRES.STAD =
Brussel
OF
ORGANISATIE.NAAM
Parts
=
NOTA: de gebruiker kan elke gestructureerde of geavanceerde zoekopdracht opslaan.
17
Ingevulde waarde is substring (zie vrije zoek). p. 54 van 61
fig. geavanceerd zoeken 11.2.2 Zoekresultaten exporteren
11.2.2.1
Tonen zoekresultaten
Elke van bovenstaande types zoekopdrachten leidt tot een resultatenpagina van de volgende (ruwe) vorm: Organisaties (12) Personen (7) Links (17) Aanbod (20) Redactionele content (5) Toon alle gevonden content (61) Gevonden Organisaties (12)
p. 55 van 61
Naam
Plaats
Categorie
Status
Locatie
De Vooruit
Gent
Culturele Centra
…
J
Het Paleis
Antwerpen
Theatergezelschap …
N
Bozar
Brussel
Kunstencentrum
J
11.2.2.2
…
Zoekresultaten exporteren naar PDF
Een PDF afdruk kan worden gemaakt volgens een vooraf gedefinieerde sjabloon. Indien de gedefinieerde sjablonen niet voldoen aan uw eisen, kan u contact opnemen met de helpdesk die uw vraag zal onderzoeken. Enkele voorbeelden van sjablonen voor het afdrukken van aanbodlijsten: o
1. Productie-Locatie-Datum (eenvoudig)
Productienaam1 – Producent1 •
•
o
Locatienaam1 – Adres1 o
Datum1
o
Datum2
Locatienaam2 – Adres 2 o
Datum3
o
Datum4
o
…
Productienaam2 – Producent2
2.Productie-Locatie-Datum (uitgebreid)
Productienaam1 – Producent1 Beschrijving 1 – Categorie - Foto •
•
Locatienaam1 – Adres1 – Telefoon – E-mail - URL o
Datum1
o
Datum2
Locatienaam2 – Adres 2 – Telefoon – E-mail - URL o
Datum3
o
Datum4
o
…
Productienaam2 – Producent2 Beschrijving 1 – Categorie - Foto
o
3. Locatie – productie – Datum
11.2.2.3
Zoekresultaten exporteren naar bestand (CSV, XML)
Als zoekresultaten nadien dienen te worden bewerkt (vb. in excel) kan worden gekozen te exporteren naar CSV of XML. Afhankelijk van de data en het gekozen filetype kan de gebruiker een sjabloon kiezen uit een beschikbare set. Dit zijn andere sjablonen dan bij de functie ‘Afdrukken volgens sjabloon’ vermits het hier om ruwe data en filestructuren gaat en niet om de grafische weergave van bestanden.
p. 56 van 61
12 Besluit Samenvattend biedt CultuurNet vier diensten aan om data geautomatiseerd te importeren in CDB of eruit te exporteren. Een overwogen combinatie van deze diensten biedt een geschikte oplossing voor alle noden van de partners. De eerste dienst is CDB_WS en stelt CultuurNet en de partners in staat pure data, maar ook functionaliteiten uit te wisselen zoals de zoekmodule. De tweede dienst is IIS, een robuuste en schaalbare centrale hub voor periodieke uitwisseling van bulkgegevens. De derde dienst is HTML Query: een methode die technologisch het minste inspanning vergt van de partner maar eveneens weinig flexibiliteit biedt en eigenlijk in veel gevallen minder interessant is sinds de introductie van de eerste dienst nl. web services. De vierde en laatste oplossing is de cultuurdatabank.be import/export modules welke de gebruiker in staat stellen enerzijds fijngestemde zoekresultaten te exporteren naar CSV, XML of PDF, en anderzijds gegevens te importeren, zij het manueel a.d.h.v. webformulieren, zij het via een importmodule in XML of CSV.
13 Bijlagen 1. CDB_WSDL 2. BE ERD v 1.0 3. CDB_XSD 4. CDB_XSD Documentatie
p. 57 van 61
13.1 CDB_WSDL beschrijving CDB_WS
p. 58 van 61
13.2 BE ERD v 1.0 schematische voorstelling van het datamodel
p. 59 van 61
13.3 CDB_XSD
p. 60 van 61
13.4 CDB_XSD Documentatie rapport betreffende CDB_XSD
p. 61 van 61