Drupal
Transcription
Drupal
Elementi di modellazione e programmazione di contenuti digitali Corso di Laurea Magistrale in Metodologie informatiche per le discipline umanistiche Ing. Michela Paolucci Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet http://www.disit.dsi.unifi.it/ [email protected] http://www.dsi.unifi.it/~nesi, http://www.dsi.unifi.it/~paolucci, http://www.axmedis.org http://mobmed.axmedis.org/ 1 Elementi di modellazione e programmazione di contenuti digitali Corso di Laurea Magistrale in Metodologie informatiche per le discipline umanistiche • Esercitazione: Drupal 2 Drupal 3 Drupal (1) l Drupal è un gestore di contenuti (CMS, Content Management System): ♣ Distribuito sotto licenza GPL (General Public License) ♣ Scritto in liguaggio PHP ♣ Installabile sui principali web server (Apache, light httpd o IIS) ♣ Si interfaccia con i database Mysql o PostgreSql ♣ Funziona su diversi sistemi operativi, tra cui Windows, Mac OS X, Linux ♣ Dotato di una community (sia sviluppatori che utenti) attiva, capace di fornire: Moduli aggiuntivi (rispetto a quelli di base, del Drupal Core) Supporto in caso di bug, modifiche del codice, realizzazione di servizi aggiuntivi per customizzare il prorpio sito etc. 4 Drupal (2) l Caratteristiche di Drupal: ♣ Modularità ♣ Notevole configurabilità, estendibilità e adattabilità ♣ Semplice implementazione delle principali caratteristiche tipiche di un sito web orientato alle attività sociali: Lavoro e attività collaborative: • Gestione di Contenuti ed Utenti (Configurabilità del Profilo utente,etc) • Gestione di gruppi di utenti • Condivisione di risorse • Uso di Messaging, forum, chat, etc. Classificazione delle risorse • Possibilità di abilitare moduli per descrivere le risorse (utenti, gruppi, contenuti) attraverso tassonomie e ontologie (XML, RDF, OWL) Analisi e gestione dei dati legati alle attività svolte dagli utenti nella piattaforma 5 Drupal Community: http://drupal.org/ e http://www.drupalitalia.org/ 6 Drupal: principi di base (1) l l l Drupal è un applicazione Web: i contenuti vengono inseriti e visualizzati attraverso un Web Browser (Internet Explorer, Mozilla Firefox, Opera etc.) E' possibile realizzare siti Web pubblici o locali (intranet) I componenti richiesti per l'installazione di Drupal sono fondamentalmente tre: ♣ Web server: un server in grado di pubblicare pagine Web. Il Web server predefinito è Apache, ma anche IIS è previsto. La maggior parte degli Internet Provider mette a disposizione l'uno o l'altro Web server. Per realizzare un'installazione locale, è invece necessario installare localmente un Web server ♣ Interprete PHP: Drupal è un insieme di moduli di codice PHP: le pagine Web vengono generate dinamicamente in base alle richieste ricevute, a partire dal codice PHP. Il sistema che converte il codice PHP in pagine Web fruibili dall'utente è chiamato interprete PHP. Per un'installazione Web, verificare che il proprio provider supporti PHP ♣ Database SQL: i dati di configurazione e i contenuti inseriti dagli utenti vengono archiviati in un database SQL. Il database predefinito è MySQL, ma praticamente qualsiasi database supportato da PHP è utilizzabile 7 Drupal: principi di base (2) l l l Consente agli utenti di registrarsi e autenticarsi in modo da tenere traccia di chi è autore di ogni singolo contenuto Permette agli amministratori del sito di consentire livelli di accesso differenziati a seconda dei ruoli (utente, moderatore, amministratore, etc.) Attivando e configurando i singoli moduli, un amministratore può customizzare il sito. In particolare è possibile attivare moduli (e quindi servizi) legati a: ♣ ♣ ♣ ♣ ♣ Gestione dei Contenuti Weblog Comunità basate sulla discussione Collaborazione Etc. 8 Drupal: installazione (1) l l l Se si vuole usare Drupal in locale, l'installazione dei tre componenti (Web server, Interprete PHP, Database SQL) può risultare abbastanza complessa, per cui è consigliato scaricare XAMPP: un pacchetto integrato realizzato appositamente per lo scopo. È un software gratuito e disponibile per le più diffuse piattaforme (Windows, Mac OS X, Linux) E’ necessario scaricare il pacchetto con tutti i file dal sito ufficiale: un archivio ZIP, dal quale si può estrarre i file e copiarli in una cartella sul nostro PC (da determinare in base alla XAMPP usata) Una volta caricati tutti i file, si seleziona sul browser il sito (es. http://www.nomedominio.com) e verrà mostrata la pagina iniziale dell'installazione 9 Drupal: installazione (2) l l Selezione Lingua: Per installare Drupal in italiano potrebbe essere necessario importare un file con la traduzione (http://drupal.org/project/it ) Database: ♣ Solitamente si usa mysql l Configurazione del sito: ♣ Nome del sito ♣ E-mail ♣ Etc. 10 Drupal: installazione (3) l l l Selezione Lingua: Per installare Drupal in italiano è necessario importare un file con la traduzione (http://drupal.org/project/translations) Si effettuano le sostituzioni dei moduli nella cartella hotdocs (o in quelle equivalenti se si hanno sistemi operativi diversi da Windows) Si ricarica nuovamente la pagina per l’installazione che a questo punto da’ la possibilità di eseguire l’installazione in italiano 11 Drupal: installazione (4) l Passo successivo: si risolvono gli eventuali problemi segnalati 12 Drupal: installazione (5) l Si imposta il Database (creare un nuovo Db con il nome inserito nell’interfaccia) 13 Drupal: installazione (6) l Si configura il sito 14 Drupal: installazione (7) l Si configura il sito 15 Drupal: installazione (8) l Si configura il sito 16 Drupal: installazione (9) l Installazione completata: cliccando sul link fornito ( ‘il tuo nuovo sito’) si accede al sito vero e proprio 17 Drupal: pagina iniziale l Seguendo i link proposti nella pagina iniziale é possibile: 18 Drupal: Profilo utente l Dopo avere effettuato l'installazione, si inseriscono login e password di amministratore (impostate durante l'installazione). Si visualizzano ora dei link accessibili solo all'amministratore: ♣ Profilo utente: si visualizzano alcune informazioni relative a’ll’utente root (o agli altri utenti se sono stati creati), inoltre è possibile cambiare le impostazioni principali dell'account (es: nome utente, l'indirizzo e-mail, la password, lo stato, il fuso orario e il linguaggio predefinito, etc.) 19 Drupal: Crea contenuto l Dopo avere effettuato l'installazione, si inseriscono login e password di amministratore (impostate durante l'installazione). Si visualizzano ora dei link accessibili solo all'amministratore: ♣ Crea contenuto: L'installazione standard prevede due sole categorie di contenuto, ma è possibile aggiungerne di nuove (utilizzando moduli drupal aggiuntivi). Le tipologie di base sono: Pagina web (di default è possibile aggiungere dei commenti) Storia (si comporta come un post di un blog, a cui è assegnata una data ed a cui è possibile aggiungere dei commenti) 20 Drupal: Amministra l Dopo avere effettuato l'installazione, si inseriscono login e password di amministratore (impostate durante l'installazione). Si visualizzano ora dei link accessibili solo all'amministratore: ♣ Amministra: permette di occuparsi della configurazione del CMS scegliendo tra due modalità di visualizzazione per funzionalità (o categoria): raggruppando le funzionalità offerte in base alla tipologia di operazione compiuta da ciascuna opzione per moduli: quando viene aggiunto un modulo al sistema vengono incrementate le opzioni e viene aggiunto un nuovo gruppo di configurazione. 21 Drupal: Amministra l Amministra>Costruzione del sito 22 Drupal: Amministra l Amministra>Costruzione del sito>blocchi 23 Drupal: Amministra l Amministra> Costruzione del sito > blocchi 24 Drupal: Amministra l Amministra> Costruzione del sito > menu’ Abilitare uno o piú menu’ Cercare i menu’ nel codice php del modulo 25 Drupal: Amministra l Amministra> Costruzione del sito > moduli 26 Drupal: Blocchi l Amministra>Costruzione del sito>blocchi Abilitare uno o piú blocchi 27 Drupal: Menu l Amministra> Costruzione del sito > menu’ Abilitare uno o piú menu’ 28 Drupal: Abilitazione Moduli Amministra> Costruzione del sito > moduli: abilitiamo un modulo. Ad esempio il modulo ‘Forum’ l l l Questo modulo richiede che altri due moduli siano abilitati: Taxonomy e Comment. Come risulta dall’interfaccia tali moduli sono giá attivi di default quindi si puo’ procedere con l’abilitazione del modulo ‘Forum’ A questo punto: ♣ nella pagina di help (Amministra > Aiuto) compaiono le spiegazioni relative al modulo attivato ♣ Nel menu per la gestione dei contenuti si attiveranno una serie di azioni che possono essere svolte dall’amministratore per configurare I forum (Amministra > Gestione dei contenuti > Forum) ♣ È possibile creare un nuovo contenuto di tipo Forum (Crea Contenuto > Forum topic) 29 Drupal: Abilitazione Moduli 30 Drupal: Abilitazione Moduli 31 Drupal: Abilitazione Moduli l Aggiungere: ♣ Un contenitore ♣ Un forum ♣ Uno o piú argomenti ♣ Effettuare un commento 32 Drupal: Abilitazione Moduli l Abilitare un blocco legato al modulo forum (Amministra> costruzione del sito>blocchi) e configurarlo 33 Drupal: Abilitazione Moduli l Abilitare un blocco legato al modulo forum (Amministra> costruzione del sito>blocchi) 34 Drupal: Amministra l Amministra> Costruzione del sito > temi l Cambiare il tema (layout del sito) 35 Drupal: Traduzioni l Amministra> Costruzione del sito > Traduci interfaccia 36 Drupal: Traduzioni l Amministra> Costruzione del sito > Traduci interfaccia l Effettuare la ricerca di una stringa (es: ‘Argomenti del forum attivi’) e cercare la stringa nel codice php del modulo relativo 37 Drupal: Traduzioni l Amministra> Costruzione del sito > Traduci interfaccia l Effettuare la ricerca di una stringa (es: ‘Argomenti del forum attivi’) e cercare la stringa nel codice php del modulo relativo 38 Drupal: Contenuto l Amministra> Gestione del contenuto > Contenuto l Creare alcuni contenuti e controllare che appaiano nella lista 39 Drupal: Taxonomy l Amministra> Gestione del contenuto > Taxonomy l Creare un vocabolario (e i relativi termini), controllare la lista dei termini e poi creare alcuni oggetti associandogli almeno un termine appartenente a tale vocabolario 40 Drupal: Taxonomy Amministra> Gestione del contenuto > Tipi di contenuto l Lista dei tipi di oggetti (contenuti) che si possono pubblicare nel sito l l Cliccando su ogni oggetto è possibile modificarne le impostazioni 41 Drupal: Configurazione sito l Amministra> Configurazione del sito > Informazioni sul sito 42 Drupal: Configurazione sito l l Amministra> Gestione utente > Impostazioni utente Amministra> Gestione utente > Permessi l l Sistemare i permessi per il modulo “Forum” Cercare i permessi nel codice php 43 Drupal: Configurazione sito l l l l 1) Cercare la traduzione inglese della stringa dall’interfaccia 2) Cercare la stringa nel file indicato ES: ‘amministra i forum’ -> ‘administer forum’ Nel file forum.module é presente la stringa ‘administer forum’ La definizione di tale permesso é nell’hook_perm l Cercare nel file php tale permesso e osservarne il funzionamento l /** * Implementation of hook_perm(). */ function forum_perm() { return array('create forum topics', 'delete own forum topics', 'delete any forum topic', 'edit own forum topics', 'edit any forum topic', 'administer forums'); } 44 Drupal: Configurazione sito l Amministra> Gestione utente > Ruoli l l Creare un nuovo ruolo utente e tornare nella pagina della impostazione dei permessi aggiornandoli Amministra>Gestione utente > Ruoli l Creare alcuni utenti 45 Drupal: Organic Group l Scaricare il modulo Organic Groups 46 Drupal: Organic Group l l l Inserire le cartelle in …drupal/modules Seguire il link Amministra > Moduli e attivarli (si noti che sono in un nuovo package) 47 Drupal: Organic Group l l l Creare un nuovo tipo di contenuto ‘gruppo’ Sistemare i permessi in Amministra > gestione utente > permessi Sistemare le impostazioni di OG in Amministra > Organic Groups 48 Drupal: Organic Group l l Creare un nuovo gruppo in Crea Contenuto > Gruppo Attivare i blocchi 49 Drupal: Organic Group l l l Creare un nuovo gruppo in Crea Contenuto > Gruppo Creare un nuovo Group post Attivare i blocchi 50 Drupal: Organic Group l l l l Creare un nuovo gruppo in Crea Contenuto > Gruppo Creare un nuovo tipo di contenuto Group post e un nuovo contenuto Group post Andare in Amministra > Gestione dei contenuti > Contenuto e controllare che i nodi creati esistano Fare la stessa cosa anche sul database (tabella node, og) 51 Drupal: Organic Group l Andare in: Amministra > costruzione del sito > blocchi e attivare I blocchi legati ai Gruppi organici 52 Drupal: Organic Group l Andare in: Amministra > costruzione del sito > blocchi e attivare I blocchi legati ai Gruppi organici l Controllarne il funzionamento 53 Drupal: Organic Group l Andare in: Amministra > costruzione del sito > blocchi e attivare I blocchi legati ai Gruppi organici l Controllarne il funzionamento 54 Drupal: OG User Roles l http://drupal.org/project/og_user_roles 55 Drupal: OG User Roles l l l Creare un nuovo ruolo utente nei gruppi in Amministra > Organic Groups Sistemare I permessi di accessi in Amministra > gestione utenti > permessi Creare utenti appartenenti ad un gruppo con diversi ruoli e verificare che le azioni che possono svolgere siano effettivamente quelle impostate nella sezione permessi 56 Drupal: multilingua l Abilitare il blocco per la selezione della lingua dell’interfaccia 57 Drupal: Internationalization l http://drupal.org/p roject/i18n l Attivare i moduli Controllarne il funzionamento anche sul DB () Tornare nei tipi di contenuto e sistemare le impostazioni multilingua l l 58 Drupal: Internationalization l Abilitare il blocco per la selezione della lingua dell’interfaccia 59 Drupal: i18n_auto Translate l Abilitare: Auto draft translation / Content type translation 60 Elaborati 61 Elaborato: Regole l l Concordare i requisiti Abilitare i moduli Drupal standard utili per aderire ai requisiti ♣ modificare uno di questi moduli oppure fare un modulo aggiuntivo l l Nel caso in cui sia necessario creare un modulo aggiuntivo, questo deve avere le sue tabelle senza sporcare tabelle di altri moduli Se si modifica un modulo standard di Drupal, è necessario modificare solo le tabelle di tale modulo (possibilmente da fare in PHP con eventuali inserimenti JSP) 62 Elaborato 1: Moduli utili l RDF external vocabulary importer ♣ Being able to reuse RDF vocabularies across sites is one of the key elements for the semantic web to take off. The RDF external vocabulary importer module (evoc) will cache any external RDF vocabulary in Drupal, and expose its classes and properties to other modules. RDFCCK relies on evoc to offer classes and properties to be mapped to CCK fields, node title and body. l SPARQL ♣ This is a module that enables the use of SPARQL queries with the RDF API for Drupal 6.x. For more information, read the introductory posting or watch the demo video. Be sure to subscribe to the Semantic Web group on groups.drupal.org to keep up with the latest happenings. 63 Elaborato 2: Moduli utili l Workflow ♣ The workflow module allows the creation and assignment of arbitrary workflows to Drupal node types. Workflows are made up of workflow states. For example, a workflow with the states Draft, Review, and Published could be assigned to the Story node type. Transitions between workflow states can have actions assigned to them. In our example, we could assign an action so that when the story moves from the Draft state to the Review state an email is sent out. Another action could be assigned to the transition from Review to Published so that the node's status is set to Published (and becomes visible on your website). l Workflow Fields ♣ This module extends Workflow by allowing CCK node fields to be made invisible or read-only depending on the current workflow state. The workflow state form is extended to show all node fields with appropriate controls to hide and/or disable each field for that particular state l Workflow Named Transitions ♣ Named transitions are an addon to the workflow module so specific workflow transitions can have their own labels which the admin can describe relative to the beginning and ending states. With named transitions, the workflow state options can be state aware. Rather than showing the user a workflow box containing options like "review required" as a state in the workflow, it could say "move to the editing department for grammar review". That means your workflow options can show text as an action representing the flow of the workflow action as opposed to a state name 64 Elaborato : Moduli utili l Workflow Private Comments ♣ Allows admins to hide workflow comments based on the state of a node in a role-sensitive way. It's basically so admins can comment about that's going on in a workflow state change without lesser roles being able to see what they said. l Workflow Relationships (red) ♣ This module allows to setup Workflow relationships. At the moment only "workflow -> node" relationship is implemented, but the module could be expanded to support any kind of workflow relationship. Currently Workflow Relationships consists of 2 parts: Administration UI, that allows to setup relationship table CTools/Panels integration: relationship you set up is then available as CTools relationship, so you can show "related" node (or part of it) in a Panel pane that you put in Panel containing source node context 65 Elaborato : Moduli utili l Workflow Private Comments ♣ Allows admins to hide workflow comments based on the state of a node in a role-sensitive way. It's basically so admins can comment about that's going on in a workflow state change without lesser roles being able to see what they said. l Workflow Relationships (red) ♣ This module allows to setup Workflow relationships. At the moment only "workflow -> node" relationship is implemented, but the module could be expanded to support any kind of workflow relationship. Currently Workflow Relationships consists of 2 parts: Administration UI, that allows to setup relationship table CTools/Panels integration: relationship you set up is then available as CTools relationship, so you can show "related" node (or part of it) in a Panel pane that you put in Panel containing source node context 66 Drupal 6: altri moduli 67 Drupal 6: Moduli utili l GMap Module ♣ The GMap module provides an interface to the Google Maps API within Drupal. It integrates with the Location module to provide users a clickable map for entering latitude and longitude, as well as to display maps of Drupal nodes and users. GMap can be used to create interactive maps with various map markers and content in map bubbles, taking advantage of Drupal's other content management features. The module also provides a Views display plugin which allows users to display the results of a view on a Google map. l Activity Map ♣ a Simple Module which displays Site activity on GMAP. just integrated, issues welcome. l Advanced Blog ♣ Advanced blog is designed to expand on the features provided by the core blog module. It also acts as a replacement for the following modules: Blogger, Blog Informations, Blog Add-ons. Advanced Blog integrates and expands on the features of the above modules in order to provide better navigation of site blogs, allow more options for community blogs, and display blogs in a unique fashion 68 Drupal 6: Moduli utili l Advanced Taxonomy Blocks ♣ Advanced Taxonomy Blocks makes use of the JQuery menu module to create extremely customizable blocks for browsing through single hierarchy taxonomies. Though the taxonomy menu module does something similar, if you use this module you will see that they are in fact entirely different in their approach. l Advertisement ♣ The ad module is a powerful advertising system for Drupal-powered websites. It supports the random display and tracking of graphical (banner) and text ads. Ads can easily be displayed in themes, blocks, or embedded in site content. The module records comprehensive statistics about when and how often ads are viewed and clicked, including a plug-in module for generating graphical time-based reports. l ad_flash ♣ An add-on for the Advertisment module that allows flash advertisements to be displayed. l Agenda ♣ The Agenda module allows you to display a list of upcoming events from Google Calendar as a block on your website 69 Drupal 6: Moduli utili l album photos ♣ "Album photos" is an image album module providing multi-user album features. l Alter profile page ♣ The sole purpose of the Alter Profile Page module is to bring more of social networking, MySpace-ish look to Drupal's user profile page. l Annotate ♣ Make annotation can be done in several ways. With this project you are able to create: private note (annotate), editorial node (annotate_ed). Annotate allows users to post personal notes on various nodes within the web site. l Archive/ Archive by Terms/Archive Calendar ♣ Features: Simple calendar block that displays current month and links to archive pages for days with posts; Allows sorting all nodes by date and node type l Area ♣ AREA is a visualization tool that allows friendly-graphical browsing of your nodes and creation of intuitive representations. Also allows the 70 user to see the weight of their searches of the entire site. Drupal 6: Moduli utili l Audio/AudioField ♣ The audio module allows users with proper permissions to upload audio files into drupal. Each audio item is created as its own individual audio node. l Author Taxonomy ♣ Author Taxonomy allows you to assign one or more authors to a node using terms from a taxonomy of author names. l Auto Expire ♣ This module allows site administrators to set expiration times for content types. End users creating content that has auto expiry set cannot control the expiry time. They could be allowed to renew the content for one or more cycles […]. l Avatar Selection ♣ When a user edits their account details they can choose to upload an image or photo of themselves, also known as an avatar. The Avatar Selection module allows the user to pick an avatar image from a list already loaded by an administrative user. It is also possible to disable the uploading of pictures by users and only allow them to select an avatar icon from this list. l FriendList ♣ it provides the ability to create custom relationships between users. It's a featurerich suite of modules that features integration plugins with a list of major Drupal modules (see below). Admins can create relationship types. Both single (think: a fan) and two-way relationships (e.g. a friend) are allowed. 71 Drupal 6: Moduli utili l BUEditor ♣ A plain textarea editor aiming to facilitate code writing: Editor interface and button functionality are completely customizable through administration pages; It supports role based editor interfaces; It's possible to create image or text buttons; Buttons can be customized to generate code snippets, html tags, bbcode tags etc. […] l CHAT Users and Design Integrated/Chat room/Chatter box ♣ Chat integrated with your Drupal users and design. l Classroom ♣ Classroom is a simple but flexible e-learning system. It allows to create courses containing resources, assignments and that kind of stuff. l Collapsible Text ♣ This input filter allows you to make sections of text collapsible, as you often see in forms. l Collection ♣ The collection module provides a simple way to group nodes into a 'collection' with an associated node. For instance, a news site might want to group articles together under a given topic, and allow users to jump 72 between articles. Drupal 6: Moduli utili l Creative Commons/Creative Commons Lite ♣ The Creative Commons module allows users to select and assign a Creative Commons license to a node and any attached content, or to the entire site. It also provides integration between CC and Drupal technology. l Dictionary ♣ Technical terms are often not included in normal dictionaries, or aren't translated correctly. The dictionary module allows the setup of a dictionary for such terms. l E-Journal ♣ This module is a powerful production publishing system. It allows you to create and control your own electronic (and possibly printed) journals in Drupal l E-Publish ♣ This module helps organize a group of nodes into a publication, such as a newspaper, magazine or newsletter. Each publication can have multiple editions. Within each edition, the epublish module also makes it possible to organize content by topic, similar to the way news websites such as the New York Times categorize their content using topics such as "international," "national," "sports," etc. 73 Drupal 6: Moduli utili l Favorite Nodes ♣ This module allows users to add certain nodes to a favorite list. Each node has an "add to favorites" link at the bottom. This favorite list is visible to others viewing the site. l File import ♣ This module can import multiple files and save them as node attachments. It is very usefull when you are using such modules as slideshow and flashvideo, and if you need to import dozens of files at once. l File Node ♣ This module create a new content type that is actually an uploaded file. We can therefore unify the administration to file upload with nodes. l Finder/Finder Node/Users/Text../Finder Wizard ♣ Finder allows Drupal site administrators to create flexible search forms to find entities such as Nodes or Users based on the values of a field. l Fivestar 74 Drupal 6: Moduli utili l Flag ♣ Flag is a flexible flagging system that is completely customizable by the administrator. Using this module, the site administrator can provide any number of flags for nodes, comments, or users. Some possibilities include bookmarks, marking important, friends, or flag as offensive. With extensive views integration, you can create custom lists of popular content or keep tabs on important content. l Flickr ♣ Access photos on Flickr's site via their API. The module provides a filter for inserting photos and photosets and allows the creation of blocks for rendering a user's recent photos and photosets. l i18n Auto Translate ♣ To illustrate the use case, if you have three languages enabled for content translation on your Drupal website, French, German and English, and French is the default language, when you create a new node in French, this module will automatically create a draft node in German and English. I must stress, these nodes are draft only and will not be "perfect". This module simply gives a professional translator a head start, by automatically providing a working translation already in the correct language, ready for editing. l Internationalization ♣ Provides content translation -nodes and taxonomy-, interface translation for anonymous users -with the locale module- and browser language detection. Includes a block for language selection and manages translation relationships for nodes and taxonomy terms. 75 Drupal 6: Moduli utili l Interface ♣ The Interface module allows site administrators to modify the default presentation of forms using a drag-and-drop style of editing. Currently, this functionality is limited to node forms, this will be addressed in the D7 release of the module to include other forms in the system. l Language Icons/Language Sections/ selection/ ♣ This module provides icons for language links, both for the Language switcher block and (optionally) for node links. It is a spin-off from Internationalization (i18n) package. l Licensing/Licensing Ecommerce ♣ This module is useful for people that plan on integrating a software licensing system on their site. Ability to generate, edit & delete unlimited unique license keys. Ability to export your keys into a CSV document, which you can mail merge and distribute with physical copies of your product. Ability for users to 'register' their key when they sign up for a drupal account, or by visiting a page when logged in. Users can have multiple keys registered to one account, and they are all displayed on their user page. Provides views functionality for default and custom reports. 76 Brandable license keys like XXXX-BRAND-XXXX-XXXX-XXXX Drupal 6: Moduli utili l Legal ♣ Displays your Terms & Conditions to users who want to register, and requires that they accept the T&C before their registration is accepted. l Live Translation ♣ Automatically update your site translations! l Navigate ♣ Navigate is a quickly deployable, highly customizable and reasonably sexy navigation tool for Drupal. Navigate bar consists of widgets like menu search, collapsible menus and favorites, and can be customized for individual users or user roles. Navigate has been tested with many themes, and can be themed to match the look of any site. l Node Gallery ♣ Node gallery enable users to create more flexible and powerful galleries that are fully integrated with Drupal's core node system. l Nice Menus ♣ Nice Menus enables drop-down/right/left expandable menus. 77 Drupal 6: Moduli utili l Node Recommendation ♣ This module shows users other nodes that they might be interested in based on a simple logic and using taxonomy. The aim of this module is to provide sensible defaults and an easy configuration (not that Views-like) for normal users and to allow it to be manually overriden. l Node Relationships ♣ The Node Relationships module provides methods to complete two way relationships between content types enhancing the features of node reference fields. l Node Translation ♣ Node translation is a module that utilizes the translation framework in order to machine translate nodes utilizing the locale and translation module. The module allows you to translate a module into any language that the translation framework api allows. Even if the language is not currently turned on in the locale module the node translation module will add the additional languages to the select box so that the user can see which languages the node has been translated into. l Node Vote ♣ This module provides the ability for users to vote on various node, assigning a 78 score to each one. Drupal 6: Moduli utili l Nodeorder ♣ The nodeorder module gives users an easy way to order nodes within their taxonomy terms. The nodeorder module gives the user the ability to put nodes in any order they wish within each category that the node lives. l OAI-PMH Module ♣ This module provides an Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH), interface to the Bibliography Module. l OAI2 for CCK ♣ This module provides an implementation the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) for Drupal with support for CCK content types and their fields. By implementing the OAI2forCCK module, you can expose content (its metadata) as an OAI-PMH repository. It will then be accessible by OAI harvesters l Open Library API (MA é rosso!!!) ♣ This module is designed to be a set of simple wrapper functions for querying book edition and author metadata from Open Library or a service running the same software, using the Open Library RESTful API. It also transparently caches requests, to be kind to the providers of these services. In addition a set of theme functions are provided, which for many developers may be all they need to achieve what they want. l OG/OG user roles/Forums/menu/event/vocabulary/ etc 79 Drupal 6: Moduli utili l Privatemsg ♣ Privatemsg allows your site's visitors to send private messages to each other. Perfect for community oriented sites, such as forums and social networking sites. l Profile permission ♣ Restrict editing/viewing of profile fields with an auto generated permission. Only users with that permission will be able to edit/view the field. In order to restrict a field you must check the "restrict" checkbox on the profile field edit page which will generate a set of permissions which can then be used to restrict the field. l Profile Privacy ♣ This module allows users to set privacy options for their profile when using the core profile.module. It does not create any settings pages or configuration screens, it integrates seamlessly with the existing profile module. l Publication Date ♣ This module adds to each node a field containing the date when it has been 80 published. Drupal 6: Moduli utili l Pubmed Integration ♣ As part of implementation of CMS for Biomedical applications, it is often a requirement to display publications from well known databases. One such database is called PubMed which is provided National Center for Biotechnology Information, National Library of Medicine and National Institutes of Health. PubMed includes bibliographic information from MEDLINE, which contains over 17 million citations from life science journals for biomedical articles dating back to the 1950s. l reCAPTCHA ♣ Uses the reCAPTCHA web service to improve the CAPTCHA system and protect email addresses. l RelatedContent ♣ RelatedContent enables site maintainers to easily select on a per-node basis what nodes should be displayed along with it. Nodes that are available for selection are provided by one or more views, provided by the Views module. How the nodes are displayed is configurable, as well as themeable. The module also provide a small but powerful API for 81 advanced users. Drupal 6: Moduli utili l Scholarly ♣ Utility functions for scholarly publications/content, e.g. search, download, and attach PDF according to node title (+ field authors) or from field URL linking to PDF rename attached PDFs according to title (+ other fields, e.g. year, author) normalize concatenated author list field (lots of diverse variants to consistent Surname, Forname; Sur...) split/join authors from/to concatenated/multiple field l Search Lucene API ♣ Search Lucene API adds Solr-like search functionality to Drupal. l Similarity Objects (red) ♣ This module allows the administrator to create a wide ranging set of similarity calculations. It can out of the box, calculate similar nodes of a specific type using the search index, taxonomy terms and node title. 82 Drupal 6: Moduli utili l Similar By Terms ♣ This Drupal module attempts to provide context for content items by displaying a block with links to other similar content. Similarity is based on the taxonomy terms assigned to content. Blocks are available based on similarity within each of the defined vocabularies for a site as well as a block for similarity within all vocabularies. As of version 1.8 you can now display teasers as well as just the titles. l Similar Entries ♣ A module that displays a block with the most similar nodes to the currently viewed one, based on the title and body fields. Related pages show as a list in a block. l SimpleMenu ♣ This module creates a menu bar that is displayed at the top of every page. l Site User List ♣ The Site User List module displays a sortable and searchable list of all 83 the users on the site based off of their profile.module fields. Drupal 6: Moduli utili l Synonyms ♣ Synonyms is a small module that makes it possible to search for taxonomy term synonyms via the built-in search module l l l Taxonomy Access Control/Taxonomy context/Taxonomy CSV import/export/ Taxonomy Image/Taxonomy import/export via XML/Taxonomy Multi Editor/Taxonomy Navigator/Taxonomy Quick Find Tool Tips Translatable Comments ♣ This module makes comments on your site translatable. It adds buttons to each comment for various languages. Clicking a language will translate the comment using the Google AJAX Language API. l Translation table ♣ UI for quick translation of taxonomies and menus. The i18n module allows for translation of taxonomy terms and menu items, but the process is tedious - you need to look up strings you want to translate, there is no overview of what's already translated etc. This module presents your taxonomy terms or menu items in a table, and each language has a corresponding column. Just fill out the translations and click Save. l Twitter ♣ This module provides API integration with the Twitter microblogging service and API-compatible alternatives like Identi.ca. 84 Drupal 6: Moduli utili l User Import ♣ Import users into Drupal or update existing users with data from a CSV file (comma separated file). l User List ♣ This module creates several user lists, which may be viewed as pages and blocks. User lists may be displayed alphabetically l User Permissions ♣ This module allows you to give permissions to individual users without needing to add them to a special role. l Video chat ♣ The Video Chat module will provide a block on a Drupal site within which will be a submit button that says, "Enter Video Chatroom" which, upon clicking, will display a live video/webcam chatroom hosted by Vagipe. It will also provide a form on the user registration page that will make users agree to the terms and conditions before they can register. l Video ♣ This module allows users to submit videos to a Drupal site. 85 Link l l l l l http://drupal.org/ http://www.drupalitalia.org/ http://www.drupalitalia.org/sites/drupalitalia.org/files/Crazio ne_moduli_Drupal_0.pdf http://api.drupal.org/api http://drupal.org/project/Modules/ 86 Elementi di modellazione e programmazione di contenuti digitali Corso di Laurea Magistrale in Metodologie informatiche per le discipline umanistiche Ing. Michela Paolucci Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet http://www.disit.dsi.unifi.it/ [email protected] http://www.dsi.unifi.it/~nesi, http://www.dsi.unifi.it/~paolucci, http://www.axmedis.org http://mobmed.axmedis.org/ 87