Elementi di modellazione e programmazione di contenuti digitali



Documenti analoghi
Protocollo di metadata harvesting OAI-PMH Lavoro pratico 2

Per la gestione automatica. delle forniture telematiche. Tante forniture un unica soluzione

Librerie digitali. Introduzione. Cos è una libreria digitale?

Drupal. E vai con un po' di Drupal for Dummies... :D. Copyright by hachreak

I blog. Andrea Marin. a.a. 2013/2014. Università Ca Foscari Venezia SVILUPPO INTERCULTURALE DEI SISTEMI TURISTICI SISTEMI INFORMATIVI PER IL TURISMO

Introduzione ai Web Services Alberto Polzonetti

ESERCITAZIONE Semplice creazione di un sito Internet

Il Web Server e il protocollo HTTP

Omeka PURL Plugin. Torino, 30 settembre Emilio Remogna

MANUALE D USO DELLA PIATTAFORMA ITCMS

CONTENUTI 1. INTRODUZIONE CONCETTI BASICI SU EQUINOX CMS XPRESS ACCESSO A EQUINOX CMS XPRESS PAGINA D INIZIO...

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Lexmark Print Management

Capitolo 4 Pianificazione e Sviluppo di Web Part

Corso di PHP. Prerequisiti. 1 - Introduzione

Il web server Apache Lezione n. 3. Introduzione

API e socket per lo sviluppo di applicazioni Web Based

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Indice. I livelli di Autorizzazione in Sharepoint. Livelli di autorizzazione predefiniti di Windows SharePoint Services 3.0

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

Corso Joomla per ATAB

Come usare TwinSpace. Benvenuti in TwinSpace!

CONTENT MANAGEMENT SYSTEM

Copyright Hook & Festa Tutti I diritti riservati

Comuninrete sistema integrato per la gestione di siti web ed interscambio di informazioni e servizi.

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Zotero è un estensione di Firefox che consente di raccogliere e gestire risorse bibliografiche e accademiche

Enrico Fagnoni BOTK IN A NUTSHELL

EXPLOit Content Management Data Base per documenti SGML/XML

Harvesting delle tesi di dottorato delle Biblioteche Nazionali tramite DSpace

MetaMAG METAMAG 1 IL PRODOTTO

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Digital library e repositori istituzionali

Il Software. Il software del PC. Il BIOS

Modello OAIS. Modello di riferimento. Il Modello. Prof.ssa E. Gentile a.a Un modello di riferimento dovrebbe descrivere:

GUIDA ALLA REGISTRAZIONE DI UN DVR SU

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Licenza per sito Manuale dell amministratore

Dal protocollo IP ai livelli superiori

-Fig.1-

Installazione di GFI Network Server Monitor

Corso di recupero di sistemi Lezione 8

REGOLE PER L ACQUISIZIONE DEGLI OGGETTI DIGITALI IN MAGTECA E PER IL PROTOCOLLO OAI-PMH VERSO INTERNET CULTURALE

Internet ed i servizi di posta elettronica

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico


1 Introduzione Installazione Configurazione di Outlook Impostazioni manuali del server... 10

Lexmark Solutions Platform: soluzioni software

IBM Software Demos Tivoli Identity Manager e Tivoli Directory Integrator

19. LA PROGRAMMAZIONE LATO SERVER

Guida all uso della piattaforma. portale Weblog & Podcast del MIUR COME UTILIZZARE AL MEGLIO L AMMINISTRAZIONE DEL BLOG

Introduzione Kerberos. Orazio Battaglia

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

PIATTAFORMA DOCUMENTALE CRG

URI. Introduzione. Pag. 1

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Circolo Canottieri Napoli

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web.

Dispensa di database Access

MagiCum S.r.l. Progetto Inno-School

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

CONTENT MANAGEMENT SY STEM

B14 DMS IT Governance Business Competence

Manuale Utente Amministrazione Trasparente GA

I tutorial di MadLabs.. Installazione e prima configurazione

Guida iscrizione Community. istruzione.social.marche.it

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

lem logic enterprise manager

Moodle 2. comandi avanzati. manuale per il docente. Albano Squizzato Paolo Macchi

Guida rapida all uso di Moodle per gli studenti

MANUALE UTENTE UTILIZZO MODULO FILE-STORAGE DI ACS - CANALE AMBIENTE PROVINCIA DI TORINO

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Collegamento remoto vending machines by do-dots

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

PORTALE CLIENTI Manuale utente

Aggiornamento dispositivo di firma digitale

(1) Network Camera

Progetto LearnIT PL/08/LLP-LdV/TOI/140001

GERARCHIE RICORSIVE - SQL SERVER 2008

Caratteristiche generali

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Cosa è un foglio elettronico

MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

GROUP POLICY MANAGEMENT CONSOLE (ACTIVE DIRECTORY)

Servizio Telematico Paghe

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Esercitazione su Windows. Introduzione al calcolatore Introduzione a Windows

14 maggio 2010 Versione 1.0

SYSTEM MANUAL SM_0038 ESEMPI INTEGRAZIONE PRODOTTI. Database Connection Service con ETG30xx su LAN Locale verso un Server MySQL

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Overview su Online Certificate Status Protocol (OCSP)

COMP6218 Web Architecture

Transcript:

Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University of Forence Via S. Marta 3, 50139, Firenze, Itay te: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnoogie Internet http://www.disit.dsi.unifi.it/ paoucci@dsi.unifi.it http://www.dsi.unifi.it/~nesi, http://www.dsi.unifi.it/~paoucci, http://www.axmedis.org http://mobmed.axmedis.org/ 1

Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Parte I: OAI-ORE, ORE, OAI-PMH, cenni rdf Parte II: CMS, introduzione a Drupa 2

OAI 3

OAI, Open Archives Initiative (1) OAI è un'iniziativa, nata ne 1999, per sviuppare e promuovere gi standard di interoperabiità che mirano a faciitare a diffusione efficiente dei contenuti Ambiti di appicazione: principamente Open Archives ampiamento verso gestione e accesso ae risorse digitai per eschoarship, elearning ed escience Attuai Progetti: Object Reuse and Exchange (OAI-ORE) Protoco for Metadata Harvesting (OAI-PMH) Trae origine ne ambito dea comunicazione accademica (schoary) per favorire accesso agi archivi e-print 4

OAI, Open Archives Initiative (2) Rievanza de modeo OAI: Assicura a quaità dei metadati diffusi Promuove o sviuppo di servizi per aggregazione di archivi e per accesso agi archivi aperti (open archives), ma può essere usato anche quando accesso ae risorse deve essere controato I Modeo per architettura dea bibioteca digitae: favorisce integrazione dee risorse ne contesto dea bibioteca ibrida e o sviuppo di portai tematici e istituzionai (reference inking e citazioni) Favorisce o sviuppo di strumenti software open source basati su OAI-PMH (repository e harvester) 5

OAI-ORE 6

OAI-ORE Open Archives Initiative Object Reuse and Exchange (OAI-ORE) defines standards for the description and exchange of aggregations of Web resources. These aggregations, sometimes caed compound digita objects, may combine distributed resources with mutipe media types incuding text, images, data, and video. The goa of these standards is to expose the rich content in these aggregations to appications that support authoring, deposit, exchange, visuaization, reuse, and preservation. Athough a motivating use case for the work is the changing nature of schoarship and schoary communication, and the need for cyberinfrastructure to support that schoarship, the intent of the effort is to deveop standards that generaize across a webbased information incuding the increasing popuar socia networks of web 2.0. 7

OAI-ORE In the physica word we create, use, and refer to aggregations of things a the time. We coect pictures in a photo abum, read journas that are coections of artices, and burn CDs of our favorite songs. This practice of aggregating extends to the Web. We accumuate URL's in bookmarks or favorites ists in our browser, coect photos into sets in popuar sites ike Fickr, browse over mutipe page documents that are inked together through "prev" and "next" tags, etc. Despite our frequent use of these aggregations, their existence on the Web is quite ephemera. One reason for this is that there is no standard way to identify an aggregation. We often use the URI of one page of an aggregation to identify the whoe aggregation. For exampe, we use the URI of the first page of a muti-page Web document to identify the whoe document, or we use the URI of the HTML page that provides access to a Fickr set to identify the entire set of images 8

URI OAI-ORE The aggregation probem that ORE addresses can be expained by means of a document in the arxiv (http://arxiv.org/), a weknown repository of physics, mathematics, and computer science research resuts. The human start page for this document is in figure tite authors date formats Links Identifiers Citations versions 9

OAI-ORE Some aspects of the page reevant to the ORE aggregation probem are highighted in red rectanges, each with a number: 1. The URI http://arxiv.org/abs/astro-ph/0601007 of the human start page 2. The formats in which the document is avaiabe, i.e. PostScript, PDF, etc. These are effectivey the constituents of the aggregation that is the arxiv document. For the remainder of this exampe we wi consider this human start page, the spash page, as aso a constituent of the aggregation 3. The tite of the arxiv document 4. The authors of the arxiv document 5. The creation and ast modification date of the arxiv document 6. Identifiers of entities that are in some manner comparabe to this arxiv document. (e.g. a version of this document was ater pubished as an artice in a journa, and the Digita Object Identifier of that artice is shown) 7. The versions of this document 8. Links to other arxiv documents in the same coection (i.e., astro-ph). 9. Citations made by this arxiv document, and citations it received from other documents 10

OAI-ORE The URI of the human start page is commony used as the URI for the entire arxiv document and this is not appropriate as this URI identifies the page itsef, and not the aggregation that is the arxiv document ORE soves the probems by introducing a URI for the aggregation that denotes the entire arxiv document, and by pubishing a machine-readabe document that describes that aggregation ORE it is based on the Architecture of the Word Wide Web core notions: Resource, an item of interest URI, a goba identifier for a Resource Representation, a datastream corresponding to the state of a Resource at the time its URI is dereferenced via some protoco (e.g. HTTP). Link, a directed connection between two Resources 11

OAI-ORE ORE is based on Semantic Web, Linked Data, Coo URIs for the Semantic Web On the Web URIs identify Web documents: they return a human-readabe Representation. On the Semantic Web, URIs are introduced to identify abstract entities, such ideas or casses (things that don t have representation) The Linked Data Effort describes an approach for obtaining information about those Resources despite the fact that they have no Representation 12

OAI-ORE ORE is based on RDF concepts: The documents proposed by the Linked Data effort to describe these abstract Resources are typicay expressed in RDF/XML (Resource Description Framework) RDF consists of subject-predicate-object statements caed tripes: Tripes express reationships pertaining to a subject Resource denoted by a URI The predicate Resource, aso denoted by a URI, indicates the nature of the reationship The object expresses the actua vaue for the reationship expressed by the predicate; the object can be denoted by a URI or can be a itera vaue, such as a string or a number When mutipe tripes are expressed, or asserted, they may share subjects and objects and, as a resut they conceptuay join together in what is caed a graph in mathematica terms. This graph consists of nodes that are the Resources denoted by the subject and object URIs, and edges that are the reationship predicates. 13

OAI-ORE 14

OAI-ORE ORE arrives at a soution to hande aggregations of Web resources. The essence of the ORE soution can be summarized as foows: A new Resource (as an aggregation of Web resources) is named Aggregation : has a URI just ike any other Resource on the Web does. And, since an Aggregation is a conceptua construct, it quaifies as one of those Semantic Web Resources that does not have a Representation Another Resource is introduced the Resource Map, It has a URI and a machine-readabe Representation that provides detais about the Aggregation: ists the resources that are part of the Aggregation and describes their reationships Resource Maps can be expressed in different formats incuding Atom XML, RDF/XML, RDFa, n3, turte, and other RDF seriaization formats 15

OAI-ORE A Resource Map expresses which Aggregation it describes (ore:describes), and it ists the resources that are part of the Aggregation (ore:aggregates reationship) It can aso express reationships and properties pertaining to a these Resources: e.g. who pubished it and when it was most recenty modified (dcterms:creator and dcterms:modified) dcterms: creator ore:describes ore:aggregates ore:aggregates ore:aggregates dcterms:modified 16

Esempio rdf/xm 17

Esempio rdf/xm 18

Esempio rdf/xm 19

OAI-PMH 20

OAI-PMH, Open Archives Initiative Protoco for Metadata Harvesting I modeo di metadata harvesting è stato sviuppato daa Open Archives Initiative (OAI) e si basa su Protoco for Metadata Harvesting (PMH), definito ne 2001 e poi consoidato ne 2002. E' usato dai Service Provider per catturare i metadati esposti dai Data Provider secondo un modeo "resource-itemmetadata-record" in cui: Resource: oggetti che sono contenuti nei digita repository mantenuti dai Data Providers Metadata: metadati associati ae risorse esposti dai Data Provider tramite i protocoo OAI-PMH Item: punto di accesso ogico ai record fisici di metadati, "is now defined as a costituent of a repository from which metadata about a resource can be disseminated Record: metadati scritti in XML in base ao schema Dubin Core non quaificato [DCMI]. Con OAI-PMH possono essere catturati anche metadati definiti in specifici domini (vocaboari definiti attraverso i reativi namespaces) 21

OAI-PMH, Open Archives Initiative Protoco for Metadata Harvesting L OAI-PMH è un framework per interoperabiità che non dipende da contesto appicativo. Fa uso de protocoo HTTP per a sintassi di comunicazione e si basa su concetto di raccota di metadati per e funzionaità A questo scopo sono stati definiti: I Data Provider (DP) che amministrano i sistemi che supportano OAI- PMH. Ovvero gestiscono gi archivi (repository) di oggetti digitai, sono responsabii dea generazione e de mantenimento di tai oggetti e dei vari tipi di metadati che i descrivono, con o scopo di esporre i metadati (tramite una specifica interfaccia) I Service Provider (SP) sfruttano i metadati raccoti tramite i protocoo per fornire dei servizi a vaore aggiunto: ricerca su più archivi, ocaizzazione, accesso agi oggetti digitai ma anche a sistemi più compessi (anaisi citazionae, reference inking, etc) Tra SP e Dp c'è un rapporto cient/server basato sui concetti di harvester e repositorytra i service provider e i data provider esiste un rapporto cient/server basato sui concetti di harvester e repository Un harvester è un appicativo cient capace di effettuare richieste tramite OAI-PMH; un repository è un server accessibie in rete in grado di processare e richieste OAI, restituendo poi dei risutati formattati secondo regoe ben definite 22

OAI-PMH, Open Archives Initiative Protoco for Metadata Harvesting SP effettuano 'harvesting dei DP e forniscono servizi a vaore aggiunto per gi utenti: 'indicizzazione metadati, interfacce di ricerca e browse L'harvesting può essere sempice o seettivo: si effettua ad esempio soo a cattura dei record creati, canceati o modificati in uno specifico intervao di tempo oppure si scaricano record soo dae partizioni in cui i data repository è organizzato da Data Provider 'harvesting di OAI opera su risorse seezionate e su metadati controati da un punto di vista quaitativo dae istituzioni che i pubbicano È possibie definire gerarchie di SP che generano differenti ivei di aggregazione (ad esempio su base istituzionae, geografica o tematica) seguendo un modeo federativo OAI-PMH invia e richieste tramite HTTP (metodi GET e POST), e risposte sono invece documenti in formato XML che contengono i metadati esportati 23

OAI, Technica Framework (1) The technica framework of the Open Archives Initiative is intended to provide a ow-barrier approach to interoperabiity The OAI technica framework (composed of Data and Services Providers) addresses two we-known metadata requirements: interoperabiity extensibiity The requirement for metadata interoperabiity is addressed by requiring that a OAI data providers suppy metadata in a common format the Dubin Core Metadata Eement Set The OAI technica framework defines a record, which is an XML-encoded byte stream that serves as a packaging mechanism for harvested metadata. 24

OAI, Technica Framework (2) Quando un repository riceve una richiesta (de protocoo OAI) per ottenere i metadati di un item, restituisce una sequenza di byte codificata in XML che viene chiamata record. Un record ha tre parti: Header: containing information that is common to a records (it is independent of the metadata format disseminated in the record) and that is necessary for the harvesting process. It is composed of: Identifier: chiave univoca che serve per estrarre un record (i metadata di un item), da un repository datestamp (data di creazione, canceazione o utima modifica de record) metadata Metadata: [ ] About: [ ] 25

OAI, Technica Framework (3) Quando un repository riceve una richiesta (de protocoo OAI) per ottenere i metadati di un item, restituisce una sequenza di byte codificata in XML che viene chiamata record. Un record ha tre parti: Header: [...] Metadata: containing metadata in a singe format. A OAI data providers must be capabe of emitting records containing Unquaified DC metadata. Other metadata formats are optiona. Supporta harvesting di motepici formatidi metadati a cui devono essere associati: un metadata schema = uno schema XML di vaidazione pubbicamente accessibie tramite URL: http://www.openarchives.org/oai/dc.xsd http://www.openarchives.org/oai/oai_marc.xsd un metadata prefix = un nome che ogni repository mappa neo schema supportato e che è usato come argomento di acune richieste oai_dc è riservato per indicare o schema Dubin Core senza quaificatori (obbigatorio) About: [ ] 26

OAI, Technica Framework (4) Quando un repository riceve una richiesta (de protocoo OAI) per ottenere i metadati di un item, restituisce una sequenza di byte codificata in XML che viene chiamata record. Un record ha tre parti: Header: [...] Metadata: [ ] About: an optiona container to hod data about the metadata part of the record. Typicay, the about container coud be used to hod rights information about the metadata, terms and conditions for usage of the metadata, etc. The interna structure of the about" container is not defined by the protoco. It is eft to individua communities to decide on its syntax and semantics through the definition of a schema 27

A sampe OAI record 28

OAI, Technica Framework (5) Metadata records are disseminated from Repositories, which are network accessibe servers of Data Providers An OAI-conformant repository supports the set of OAI protoco requests Abstracty, repositories contain items, and each metadata record harvested from a repository corresponds to an item Each record has an identifier which serves as a key for extracting metadata from an item in a repository 29

Data Provider Conformance and Registration The OAI expects that data providers wi fa into three ayers of participation, each higher ayer impying the preceding ayer(s): OAI-conformant These are data providers who support the protoco definition. As stated earier, conformance is testabe since there are XMLschemas to vaidate a responses. No doubt, the OAI wi not be abe to track every provider using the protoco since use of it does not require any icensing or registration procedure OAI-registered These are data providers who register in an OAImaintained database, which wi be avaiabe through the OAI web site. Registration wi entai that the data provider gives a BASE-URL, which the registration software wi then use to test compiance OAI-namespace-registered These are data providers who choose to name their records in conformance with an OAI naming convention for identifiers. Names that foow this convention have the foowing three components: oai A fixed string indicating that the name is in the OAI namespace <repoid> An identifier for the repository that is unique within the OAI namespace <ocaid> An identifier unique within the respective repository 30

OAI-PMH Requests (1) OAI-PMH ha definito sei diverse tipoogie di richieste (verbs) che un service provider può inviare ad un data provider: Identify, ListMetadataFormats, ListSets : servono a identificare archivio e a metterne in mostra e caratteristiche GetRecord, ListRecords, ListIdentifiers: servono per 'estrazione dei metadati da'archivio Le richieste devono avere a seguente struttura: base-ur: the Internet host and port of the HTTP server acting as a repository, with an optiona path specified by the respective HTTP server as the hander for OAI protoco requests keyword arguments: consisting of a ist of key-vaue 31

OAI-PMH Requests (2) Sampe OAI protoco request using both HTTP GET and POST methods The request is the GetRecord verb, and the specific exampe requests the return of the record with identifier oai:arxiv:hepth01 in dc (Dubin Core) format 32

Service Provider OAI-PMH Requests (3) Request: GetRecord (identifier, metadataprefix) Data Provider Harvester Response: Record header identifier datestamp metadata [ ] about [ ] Repository 33 33

OAI-PMH Requests (4) The response to a OAI protoco requests is encoded in XML and is defined via an XML schema Identify: is used to retrieve information about a repository. The response schema specifies that the foowing information shoud be returned by the Identify verb: A human readabe name for the repository The base URL of the repository The version of the OAI protoco supported by the repository The e-mai address of the administrator of the repository In addition to this fixed information, the protoco provides a mechanism for individua communities to extend the functionaity of this verb. The response may contain a ist of description containers, for which a community may define an XML schema that specifies semantics for additiona description of the repository ListMetadataFormats: This verb is used to retrieve the metadata formats avaiabe from a repository. An optiona argument restricts the request to the formats avaiabe for a specific record ListSets: This verb is used to retrieve the set structure in a repository 34

OAI-PMH Requests (5) The response to a OAI protoco requests is encoded in XML and is defined via an XML schema GetRecord: is used to retrieve an individua record (metadata) from an item in a repository. Required arguments specify the identifier, or key, of the requested record and the format of the metadata that shoud be incuded in the record ListRecords: This verb is used to harvest records from a repository. Optiona arguments permit seectivity of the harvesting - based on the membership of records in a specific Set in the repository or based on their modification, creation, or deetion within a specific date range ListIdentifier: This verb is used to retrieve the identifiers of records that can be harvested from a repository. Optiona arguments permit seectivity of the identifiers - based on their membership in a specific set in the repository or based on their modification, creation, or deetion within a specific date range 35

OAI harvesting protoco Service Provider Harv.1 Data Provider Rep 1 Data Provider Service Provider Harv.2 Rep 2 Data Provider Rep 3 User Harvester Repository 36

Link http://www.openarchives.org/ore/ http://www.w3.org/tr/rdf-concepts/ http://www4.wiwiss.fu-berin.de/bizer/pub/linkeddatatutoria http://www.openarchives.org/documents/jcd2001-oai.pdf http://www.openarchives.org/oai/openarchivesprotoco.htm http://www.openarchives.org/oai/oai-organization.php http://amad.cib.unibo.it/ http://dspace-unipr.ciea.it/ http://iccu.sbn.it www.openarchives.org/ 37

Drupa 38

Drupa (1) Drupa è un gestore di contenuti (CMS, Content Management System): Distribuito sotto icenza GPL (Genera Pubic License) Scritto in iguaggio PHP Instaabie sui principai web server (Apache, ight httpd o IIS) Si interfaccia con i database Mysq o PostgreSq Funziona su diversi sistemi operativi, tra cui Windows, Mac OS X, Linux Dotato di una community (sia sviuppatori che utenti) attiva, capace di fornire: Modui aggiuntivi (rispetto a quei di base, de Drupa Core) Supporto in caso di bug, modifiche de codice, reaizzazione di servizi aggiuntivi per customizzare i prorpio sito etc. 39

Drupa (2) Caratteristiche di Drupa: Moduarità Notevoe configurabiità, estendibiità e adattabiità Sempice impementazione dee principai caratteristiche tipiche di un sito web orientato ae attività sociai: Lavoro e attività coaborative: Gestione di Contenuti ed Utenti (Configurabiità de Profio utente,etc) Gestione di gruppi di utenti Condivisione di risorse Uso di Messaging, forum, chat, etc. Cassificazione dee risorse Possibiità di abiitare modui per descrivere e risorse (utenti, gruppi, contenuti) attraverso tassonomie e ontoogie (XML, RDF, OWL) Anaisi e gestione dei dati egati ae attività svote dagi utenti nea piattaforma 40

Drupa Community: http://drupa.org/ e http://www.drupaitaia.org/ 41

Drupa: principi di base (1) Drupa è un appicazione Web: i contenuti vengono inseriti e visuaizzati attraverso un Web Browser (Internet Exporer, Mozia Firefox, Opera etc.) E' possibie reaizzare siti Web pubbici o ocai (intranet) I componenti richiesti per 'instaazione di Drupa sono fondamentamente tre: Web server: un server in grado di pubbicare pagine Web. I Web server predefinito è Apache, ma anche IIS è previsto. La maggior parte degi Internet Provider mette a disposizione 'uno o 'atro Web server. Per reaizzare un'instaazione ocae, è invece necessario instaare ocamente un Web server Interprete PHP: Drupa è un insieme di modui di codice PHP: e pagine Web vengono generate dinamicamente in base ae richieste ricevute, a partire da codice PHP. I sistema che converte i codice PHP in pagine Web fruibii da'utente è chiamato interprete PHP. Per un'instaazione Web, verificare che i proprio provider supporti PHP Database SQL: i dati di configurazione e i contenuti inseriti dagi utenti vengono archiviati in un database SQL. I database predefinito è MySQL, ma praticamente quasiasi database supportato da PHP è utiizzabie 42

Drupa: principi di base (2) Consente agi utenti di registrarsi e autenticarsi in modo da tenere traccia di chi è autore di ogni singoo contenuto Permette agi amministratori de sito di consentire ivei di accesso differenziati a seconda dei ruoi (utente, moderatore, amministratore, etc.) Attivando e configurando i singoi modui, un amministratore può customizzare i sito. In particoare è possibie attivare modui (e quindi servizi) egati a: Gestione dei Contenuti Webog Comunità basate sua discussione Coaborazione Etc. 43

Drupa: principi di base (3) Gestione dei Contenuti: Attraverso un'interfaccia sempice e fruibie via browser i membri possono pubbicare contenuti nei diversi modui disponibii: storie, bog, sondaggi, immagini, forum, scaricamenti, etc. Gi amministratori possono scegiere tra diversi tempate di temi o crearne uno essi stessi per dare a sito un ook and fee unico I sistema di cassificazione fessibie consente una cassificazione gerarchica, indici incrociati di messaggi e diversi insiemi di categorie per a maggior parte dei tipi ci contenuti L'accesso a contenuto è controato attraverso ruoi di permessi utenti definiti da'amministratore Le pagine de sito possono mostrare messaggi per tipo di moduo o per categorizzazione de contenuto, con fonti RSS separate disponibii per ogni tipo pubbicato. Gi utenti possono anche cercare per paroa chiave a'interno de'intero sito. 44

Drupa: principi di base (4) Webog: Una singoa instaazione può essere configurata come sito webog personae individuae o meno Drupa supporta e API Bogger, fornisce fonti RSS per ogni bog individuae e può essere impostato per anciare un ping ae directory di webog come bo.gs e webog.com quando un nuovo contenuto è inserito nea home page Comunità basate sua discussione. Un sito Drupa può: Fare uso di uno o piu forum di discussione tradizionai Attivare i commenti, coegati aa maggior parte dei tipi di contenuto, rendono sempice per i membri discutere nuovi messaggi, etc Gi amministratori possono determinare se i contenuto e i commenti possono essere inseriti senza approvazione, con 'approvazione di un amministratore o per moderazione dea comunità Grazie a'aggregatore di notizie interno, e comunità possono registrarsi su atri siti e discutere contenuti provenienti da essi Coaborazione: E` possibie attivare servizi orientati a controo dee versioni, rendendo sempice per un gruppo di utenti creare, revisionare e aggiornare documentazione o atri tipi di testo 45

Drupa: instaazione (1) Se si vuoe usare Drupa in ocae, 'instaazione dei tre componenti (Web server, Interprete PHP, Database SQL) può risutare abbastanza compessa, per cui è consigiato scaricare XAMPP: un pacchetto integrato reaizzato appositamente per o scopo. È un software gratuito e disponibie per e più diffuse piattaforme (Windows, Mac OS X, Linux) E necessario scaricare i pacchetto con tutti i fie da sito ufficiae: un archivio ZIP, da quae si può estrarre i fie e copiari in una cartea su nostro PC (da determinare in base aa XAMPP usata) Una vota caricati tutti i fie, si seeziona su browser i sito (es. http://www.nomedominio.com) e verrà mostrata a pagina iniziae de'instaazione 46

Drupa s technoogy stack 47

Drupa: instaazione (2) Seezione Lingua: Per instaare Drupa in itaiano potrebbe essere necessario importare un fie con a traduzione (http://drupa.org/project/it ) Database: Soitamente si usa mysq Configurazione de sito: Nome de sito E-mai Etc. 48

Drupa: instaazione (3) Dopo avere effettuato 'instaazione, si inseriscono ogin e password di amministratore (impostate durante 'instaazione). Si visuaizzano ora dei ink accessibii soo a'amministratore: Profio utente: si visuaizzano acune informazioni reative a utente root (o agi atri utenti se sono stati creati), inotre è possibie cambiare e impostazioni principai de'account (es: nome utente, 'indirizzo e-mai, a password, o stato, i fuso orario e i inguaggio predefinito, etc.) Crea contenuto: L'instaazione standard prevede due soe categorie di contenuto, ma è possibie aggiungerne di nuove (utiizzando modui drupa aggiuntivi). Le tipoogie di base sono: Pagina web (di defaut è possibie aggiungere dei commenti) Storia (si comporta come un post di un bog, a cui è assegnata una data ed a cui è possibie aggiungere dei commenti) Amministra: permette di occuparsi dea configurazione de CMS scegiendo tra due modaità di visuaizzazione per funzionaità: raggruppando e funzionaità offerte in base aa tipoogia di operazione compiuta da ciascuna opzione per modui: quando viene aggiunto un moduo a sistema vengono incrementate e opzioni e viene aggiunto un nuovo gruppo di configurazione. 49

Drupa: amministrazione (1) Da menu di amministrazione è possibie configurare i CMS scegiendo tra due modaità di visuaizzazione: per funzionaità: visuaizza a stessa struttura navigazionae presentata nea sidebar, raggruppando e funzionaità offerte in base aa tipoogia di operazione compiuta da ciascuna opzione. per moduo: raggruppa e funzionaità in base a moduo che e offre. Quando viene aggiunto un moduo a sistema vengono incrementate e opzioni e viene aggiunto un nuovo gruppo di configurazione. 50

Drupa: amministrazione (2) Configurazioni di base: Gestione dei contenuti Struttura de sito: per impostare e configurazioni di personaizzazione de comportamento e dee funzionaità de sito 51

Drupa: amministrazione (3) Configurazioni di base: Gestione utente: serve per gestire gi utenti iscritti a sito. Consente di: Impostazioni utente: si definiscono e impostazioni di defaut per ogni utente, e poicy di registrazione dei nuovi iscritti, si gestiscono i testi dee e-mai che vengono inviate agi utenti durante i processo di iscrizione, etc Permessi: consente di impostare quai sono e operazioni consentite a ciascun ruoo di utenti. I ruoi predefiniti sono utente anonimo ed utente registrato, ma è possibie impostarne di nuovi (ad esempio moderatore) Regoe di accesso: permette di definire acune regoe per vietare o consentire a registrazione ad acuni indirizzi e- mai o nomi utente attraverso 'uso di espressioni regoari Utenti: è i panneo dove vengono eencati tutti gi utenti iscritti e dove è possibie registrarne di nuovi Controo accessi: serve per impostare i permessi degi utenti in base a oro ruoo. Ogni servizio fornito da sito potrà quindi essere o meno accessibie da uno o piu tipi di utenti 52

Drupa: Controo Accessi 53

Drupa: concetto di moduo (1) Drupa è un CMS che basa e proprie funzionaità sui modui. Percorso: Amministra>Struttura de sito>modui L eenco inziae comprende i modui de drupa core Ogni moduo contribuisce aa reaizzione de sito fornendo specifici servizi e funzionaità È possibie notare che acuni modui hanno una sorta di propedeuticità, ovvero sono richiesti da atri modui (es: i moduo "Comment" deve essere attivato perchè i moduo "Forum" funzioni) 54

Drupa: concetto di moduo (2) Per comprendere e funzionaità fornite da ogni moduo è sempre consigiabie fare riferimento a sito Drupa, in cui si trovano opportuni commenti, descrizioni ed esempi di utiizzo (sia per i modui che fanno parte de drupa core che per quei aggiuntivi): http://drupa.org/project/modues/ 55

Drupa: Concetto di nodo La gestione de contenuto di Drupa è moto particoare, infatti nonostante sia possibie inserire una grande varietà di contenuti di diverso tipo, essi hanno tutti una caratteristica comune, ovvero sono dei nodi: Pagine Utenti Gruppi di utenti Nuove tipoogia di contenuti Etc. Tutti i tipi di contenuto hanno attributi come un autore, data di creazione, titoo, etc. Ogni contenuto può essere associato ad una categoria e ricevere commenti da parte degi utenti, avere associati degi attachments, essere impostato in modo da tenere traccia dee revisioni, etc Drupa tratta ogni contenuto prima come un nodo, per sempificarne a gestione, quindi entra nei dettagi e può così separare un articoo da un post de forum o da una pagina, etc. 56

Drupa: Concetto di bocco Una pagina generata da Drupa non è composta sotanto da contenuto proposto, ma può essere integrata dai bocchi. (es: form di ogin, i menu di navigazione, etc.) Percorso per a gestione dei modui: Administer>Bocks 57

Drupa: Menu e coegamenti Percorso: Amministra>Struttura de sito>menu Drupa permette di creare moti menu. Di defaut ce ne sono tre: Navigazione, è i menu che viene fornito agi utenti che si registrano a sito, o stesso che usiamo per amministrare Drupa. Links primari, non è attivato di defaut ma deve essere abiitato da menu Bocchi. Links secondari, non non è attivato di defaut dfsfs 58

Drupa: Vocaboari e termini Drupa fornisce un ottimo meccanismo per cataogare i contenuto, ovvero a tassonomia, attraverso i moduo Taxonomy. Esso viene attivato di defaut, per cui fin da'instaazione possiamo accedere aa gestione dea tassonomia (Percorso: Amministra>Gestione dei contenuti>taxonomy) Aa base de concetto di tassonomia di Drupa, ci sono due definizioni: Vocaboario: un concetto che viene descritto attraverso i termini Termine Ad esempio, i vocaboario "Sport" ha come possibii termini cacio, nuoto, paavoo Per ogni tipoogia di contenuto offerta attraverso i sito è possibie assegnare più vocaboari, in questo modo a gestione dea tassonomia di Drupa permette di creare categorie, sottosezioni, gerarchie, categorie incrociate, sistemi di tagging, etc 59

Drupa: Temi I temi Drupa servono per a presentazione de sito (riguardano gi aspetti grafici) Drupa offre acuni tempate aggiuntivi, otre a queo di defaut, che permettono di personaizzare 'interfaccia grafica offerta ai vostri visitatori (Percorso: Amministra>Struttura de sito>temi) Esistono temi drupa aggiuntivi rispetto a quei di defaut (basta scaricari da sito ufficiae ed inseriri nea cartea /sites/a/themes/) E possibie creare un tema personae 60

Drupa: come è fatto un moduo In ogni moduo sono fondamentamente presenti i seguenti fie: NomeModuo.info: contiene a descrizione NomeModuo.insta: serve per a definzione dee tabee ne database (creazione di nuove tabee ne DB, modifica di vecchie, etc) NomeModuo.modue: é un fie php (savato poi come.modue), contiene e funzioni (hook) che verranno chiamate Readme.txt: contiene eventuai note aggiuntive 61

Esempio moduo OAI-PMH (oai2.info) ; $Id: oai2.info,v 1.1.2.2.2.1 2008/12/15 22:29:04 rjerome Exp $ name = OAI2 description = This modue provides Open Archives 2 protoco access to the information stored by the Bibio modue dependencies[] = bibio core = 6.x package = Bibio ; Information added by drupa.org packaging script on 2009-06-22 version = "6.x-1.2" core = "6.x" project = "oai2" datestamp = "1245678440" 62

Esempio moduo OAI-PMH (oai2.modue) <?php// $Id: oai2.modue,v 1.9.2.4.2.5 2009/06/22 13:21:34 rjerome Exp $ /** * oai2.modue for Drupa * * Copyright (C) 2006 Ron Jerome * * This program is free software; [..] */ function oai2_hep($section) { switch ($section) { case 'admin/modues#description': return t('this modue provides Open Archives 2 protoco access to the information stored by the Bibio modue' ); } } function oai2_node_name($node) { return t('oai2'); } [ ] 63

Esempio moduo OAI-PMH (oai2.insta) [ ] 64

Drupa: concetto di hook (1) Gi hook possono essere visti come eventi interni a Drupa, sono chiamati anche cabacks Sono definiti a interno de codice php di ogni moduo Hanno una particoare nomencatura (NomeModuo_nomehook) Esempio: quando un utente si ogga, drupa automaticamente esegue tutte e funzionaità egate a hook user : comment_user() in the comment modue, ocae_user() in the ocae modue, node_user() in the node modue, and any other simiary named functions wi be caed 65

Drupa: concetto di hook (2) Se si crea un nuovo moduo ( nuovo ) e si definisce un hook user, quando utente si ogga drupa richiama automaticamente anche i seguente hook: nuovo_user Gi hook definiti nei modui Drupa sono tutti descritti ampiamente ne sito di riferimento (si faccia attenzione aa versione di Drupa in uso): Drupa api: http://api.drupa.org/api 66

Drupa: I principai hook NomeModuo_hep(): permette a Drupa di avere informazioni riguardo a moduo che si sta scrivendo NomeModuo_ perm(): definisce i permessi disponibii per i moduo NomeModuo_menu(): definisce e pagine associate a moduo NomeModuo_bock(): definisce I bocchi associati a moduo NomeModuo_settings(): permette di configurare i moduo affinché i suo comportamento risponda ae proprie esigenze 67

Link http://drupa.org/ http://www.drupaitaia.org/ http://www.drupaitaia.org/sites/drupaitaia.org/fies/crazio ne_modui_drupa_0.pdf http://api.drupa.org/api 68

Eementi di modeazione e programmazione di contenuti digitai Corso di Laurea Magistrae in Metodoogie informatiche per e discipine umanistiche Ing. Michea Paoucci Department of Systems and Informatics University of Forence Via S. Marta 3, 50139, Firenze, Itay te: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnoogie Internet http://www.disit.dsi.unifi.it/ paoucci@dsi.unifi.it http://www.dsi.unifi.it/~nesi, http://www.dsi.unifi.it/~paoucci, http://www.axmedis.org http://mobmed.axmedis.org/ 69

Side NON Usate 70

Link utii http://www.simba.it/content-manager-system.php http://www.w3.org/ http://mobmed.axmedis.org 71

Atri ink http://www.cib.unibo.it/new-amad/aree-di-sviuppo/openaccess/aspetti-tecnoogici/open-archive-protoco-for-metadataharvesting-oai-pmh/ http://www.rinascimentodigitae.it/eventi/seminari2006/pasqui/2_modei.pdf http://dspaceunipr.ciea.it/bitstream/1889/510/1/oai_sides_vado_pasqui.pdf Modei e Tecnoogie per 'architettura dea Bibioteca Digitae, Vado Pasqui CMS: http://www.xrm.org/reference/cm-drmwhitepaper.pdf dfg 72

OAI-ORE The OAI-ORE standards provide the foundation for appications and services that can visuaize, preserve, transfer, summarize, and improve access to the aggregations that peope use in their daiy Web interaction: incuding mutipe page Web documents, mutipe format documents in institutiona repositories, schoary data sets, and onine photo and music coections. These standards everage the core Web architecture and concepts emerging from reated efforts incuding the semantic web, inked data, and Atom syndication. As a resut, they integrate both with the emerging machinereadabe web, Web 2.0, and the future evoution of networked information. The OAI-ORE specifications are based around the ORE Mode which introduces the Resource Map (ReM) that makes it possibe to associate an identity with aggregations of resources and make assertions about their structure and semantics The OAI-ORE data mode is based on resources aggregations obtained through URIs on the web 73

OAI, Open Archives Initiative (4) I meccanismo dei "resumptiontokens" consente di parziaizzare 'invio dee risposte da parte dei repository. I modeo prevede che un Service Provider può a sua vota esportare i metadati che cattura, ri-esponendoi a'esterno, ancora tramite i protocoo OAI-PMH. Quindi si possono creare dee strutture gerarchiche a più ivei per a cattura e 'indicizzazione dei metadati, secondo ogiche orientate a soggetto, a'area geografica o aa pertinenza istituzionae. TAGLIARE I sito Web di OAI riporta gi archivi registrati come conformi a OAI-PMH, i riferimenti a service provider, progetti e strumenti sviuppati (cfr. Appendice 2). L'insieme di queste iniziative e a rievanza dee organizzazioni impegnate confermano che ormai "OAI-PMH has emerged as a practica foundation for digita ibrary interoperabiity" [Van de Sompe & Lagoze]. 74

Sicurezza a iveo di contenuto (DRM, etc.) Persistent protection soutions consist of these primary technoogy components: Packagers assembe content and metadata into secure fies that are variousy caed packages, containers, enveopes, etc. Controers reside on cient devices (PCs, music payers, ebook readers, etc.). They authenticate the identities of the devices and/or users that request access to content, verify the nature of the access requested, decrypt the content, and provide the access. License servers create and distribute encrypted icenses that describe rights to content, the identities of the users or devices to whom the rights are granted, and the conditions (e.g., payment) under which they are granted 75

Sicurezza a iveo di contenuto (DRM, etc.) One of the most important eements of compexity in content processes is content rights. The processes of tracking rights, controing, and managing access to content based on rights information are increasingy necessary nowadays due to various business imperatives. Adding persistent protection to content is the most effective way to contro and track access. The keystone for buiding digita products is the recognition, respect, and tracking of the reationships between the various ayers of rights, icenses, permissions and agreements that accrete to content as it moves through its ifecyce from sources to intermediaries to pubishers to consumers. 76

Lavoro Coaborativo Forum e Chat Gaerie fotografiche o di video Gruppi Condivisione di contenuti e utenti Mutiingua: Un CMS gestisce i sito web in ingue diverse in modo automatico. Ad esempio: a'inizio dea navigazione de sito web utente puó seezionare una tra e ingue gestite da CMS e pubbicare ne sito contenuti direttamente in tae ingua 77

Lavoro Coaborativo Gruppi di utenti Forum e Chat Gaerie fotografiche o di video Condivisione di contenuti e utenti Mutiingua: Un CMS gestisce i sito web in ingue diverse in modo automatico. Ad esempio: a'inizio dea navigazione de sito web utente puó seezionare una tra e ingue gestite da CMS e pubbicare ne sito contenuti direttamente in tae ingua 78

Drupa (3) Atre caratteristiche di Drupa: Sempice impementazione dee principai funzionaità dei Socia Network anaizzati ao stato de arte: Gestione mutiingua: Possibiità di abiitare i moduo Mutiingua Gestione di contenuti cross-mediai conformi ao standard MPEG-21: Possibiità di aggiungere nuove tipoogie di risorse otre a quee automaticamente gestite da CMS (pagine, utenti, gruppi, storie, etc.) Possibiità di integrare funzionaità sviuppate in tecnoogia J2EE ne corso de progetto Axmedis (possibie integrazione nea piattaforma degi oggetti mutimediai e dei servizi ad essi coegati) Possibiità di estendere e ampiare uteriormente i servizi appena citati e quei ancora da progettare Customizzando i modui forniti daa Drupa Community Creando personamente nuovi modui Drupa 79

Drupa: Modui: instaazione, attivazione, aggiornamento, disattivazione Se vogiamo utiizzare Drupa in ocae, 'instaazione di questi tre componenti può risutare abbastanza compessa, per cui è consigiato scaricare XAMPP: un pacchetto integrato reaizzato appositamente per o scopo. È un software gratuito e disponibie per e più diffuse piattaforme (Windows, Mac OS X, Linux). Instaare Drupa risuta sempice: anzitutto è necessario scaricare i pacchetto con tutti i fie da sito ufficiae (a momento dea stesura de'articoo 'utima versione è a 6.1). Queo che otteniamo è un archivio ZIP, da quae possiamo estrarre i fie e riversari in una cartea su nostro PC. Fatto questo dobbiamo caricare tutto su nostro server. Per avorare in ocae è sufficiente copiare i fie nea cartea principae de server Web (tipicamente "htdocs"). 80

Drupa: User, Permission, Roe (1) Every visitor to your site, whether they have an account and og in or visit the site anonymousy, is considered a user to Drupa. Each user has a numeric user ID, and nonanonymous users aso have a user name and an emai address. Other information can aso be associated with users by modues; for instance, if you use the core Profie modue, you can define user profie fieds to be associated with each user. Anonymous users have a user ID of zero (0). The user with user ID one (1), which is the user account you create when you insta Drupa, is specia: that user has permission to do absoutey eveything on the site. 81

Drupa: User, Permission, Roe (2) Other users on your site can be assigned permissions via roes. To do this, you first need to create a roe, which you might ca "Content editor" or "Member". Next, you wi assign permissions to that roe, to te Drupa what that roe can and can't do on the site. Finay, you wi grant certain users on your site your new roe, which wi mean that when those users are ogged in, Drupa wi et them do the actions you gave that roe permission to do. You can aso assign permissions for the specia buit-in roes of "anonymous user" (a user who is not ogged in) and "authenticated user" (a user who is ogged in, with no specia roe assignments). Drupa permissions are quite fexibe -- you are aowed to assign permission for any task to any roe, depending on the needs of your site. 82