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