57
OPEN SOURCE: LA GRANDE COMMUNITY DRUPAL: UN CMS OPEN SOURCE Design dell’interazione Teoria e Tecnologia della Comunicazione Università Bicocca Milano Lavoro svolto da Ines Attaianese

Ines attaianese

  • Upload
    inesfbf

  • View
    1.471

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITYDRUPAL: UN CMS OPEN SOURCE

Design dell’interazione Teoria e Tecnologia della Comunicazione

Università Bicocca Milano

Lavoro svolto da Ines Attaianese

Page 2: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

I prodotti Open Source vengono realizzati all’interno di comunità composta da soggetti eterogenei che interagiscono tra loro spinti da interessi e motivazioni diverse.

La comunità Open Source può essere vista come un immenso “calderone ribollente” di idee

continuamente alimentato da soggetti volontari. Da questo calderone tutti possono attingere per loro necessità senza preoccuparsi di dover a loro volta contribuire né con denaro né con altri prodotti della conoscenza.

Sembra inconcepibile che un simile sistema possa continuare a mantenersi.

Page 3: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Page 4: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Page 5: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Page 6: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

I prodotti sviluppati negli ultimi anni hanno però permesso di dimostrare l’esistenza di alcuni criteri organizzativi anche all’interno di queste comunità.

Dall’osservazione dei numerosi progetti Open Source è stato quindi possibile individuare le seguenti categorie di soggetti o agenti:

Utenti: composta da tutti coloro che usano prodotti Open Source ma non partecipano direttamente allo sviluppo perché non possiedono né le conoscenze, né il tempo e le risorse per farlo. L’utenza è una componente fondamentale poiché permette di sottoporre il prodotto, e quindi il codice, ad un tempestivo ed esauriente processo d’osservazione e controllo che si traduce in un feedback agli sviluppatori.

Prosumer: (producer e consumer) sono i programmatori che partecipano attivamente allo sviluppo dei prodotti non solo per soddisfare proprie esigenze d’uso del prodotto ma anche per puro piacere e in ogni caso per il miglioramento delle proprie prospettive professionali. Il gruppo dei prosumer costituisce il nucleo di sviluppo del codice Open Source.

Page 7: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Il gruppo dei prosumer e consumer è composto da soggetti con diversa estrazione sociale che utilizzano il loro tempo libero per cimentarsi nello sviluppo del codice. All’interno di questo gruppo si possono trovare semplici studenti, programmatori o professionisti con background culturali ed esigenze professionali molto diverse tra loro.

Team dei leader: è composta da programmatori e costituisce una sorta di gruppo di élite selezionato dalla comunità su basi meritocratiche e al quale viene riconosciuta autorità e responsabilità di gestione dei progetti di sviluppo.Il team dei leader è formato sostanzialmente da una stretta cerchia di prosumer che hanno partecipato fin dagli inizi alla definizione e alla produzione dei prodotti Open Source.I leader dedicano gran parte del loro tempo alla progettazione, gestione e controllo dei processi di sviluppo dei prodotti spesso tralasciando la programmazione. I leader hanno l’importante compito di coordinare la comunità di sviluppo loro affidata e favorire l’integrazione nel progetto dei contributi e dei feedback provenienti dalla comunità. Il team dei leader è quindi un punto di riferimento per tutti i soggetti, aziende e istituzioni comprese, interessati più o meno direttamente al software Open Source.

Page 8: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Imprese: interagiscono con la comunità attraverso l’utilizzo, il finanziamento ed eventualmente con lo sviluppo congiunto del software. In tal modo possono esercitare un’influenza sui percorsi di sviluppo e sull’evoluzione dei prodotti oppure possono osservare la comunità per avvantaggiarsi o migliorare la propria struttura organizzativa e il proprio business.

Istituzioni: costituite da organizzazioni senza fini di lucro, governi e pubbliche amministrazioni interessate all’utilizzo e quindi alla diffusione di prodotti Open Source. Molte strutture pubbliche, soprattutto universitarie, hanno costituito l’ambiente culturale in cui si sono sviluppati molti prodotti Open Source. Alcuni importanti prodotti, come Linux, sono nati grazie al supporto tecnico e a volte al finanziamento delle università.Recentemente anche pubbliche amministrazioni e governi si sono interessati alla comunità Open Source e ai suoi prodotti, avviando studi e talvolta promuovendone l’uso nelle proprie strutture.

Team virtuale: la comunità si incontra in rete realizzando un team virtuale dinamico o caratterizzato da continui ingressi e uscite di agenti appartenenti alle diverse categorie già citate.

Page 9: Ines attaianese

Il team virtuale è individuato dagli agenti in contatto tra loro attraverso punti d’incontro virtuali quali forum e mailing list. Tali punti d’incontro permettono la diffusione di concetti, idee e strategie a tutta la comunità, evitando dispersioni e rallentamenti al flusso delle informazioni e delle decisioni.

OPEN SOURCE: LA GRANDE COMMUNITY

Page 10: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Nella figura precedente sono rappresentati i soggetti o gli agenti che costituiscono una comunità Open Source.Le diverse categorie di agenti possono assumere ruoli diversi. I ruoli assunti sono essenzialmente tre: ruolo di cliente, ruolo di attore e ruolo di gestore.

Cliente: non partecipa alla comunità né finanzia lo sviluppo dei prodotti. Il suo rapporto con l’Open Source si limita all’utilizzo dei prodotti e allo sfruttamento della comunità per soddisfare proprie esigenze.

Attore: la parola sottolinea il comportamento “attivo” (actor) assunto in questo caso dagli agenti. L’attore infatti partecipa direttamente allo sviluppo dei prodotti. La partecipazione coinvolge non solo la produzione di nuovo codice e l’aggiunta di nuove funzionalità (proactor) ma anche l’analisi dei prodotti e la conseguente individuazione e correzione di eventuali errori o incongruenze (re-actor). Il supporto tecnico e il finanziamento di progetti sono altri comportamenti che permettono di inserire un agente in questa categoria.

Page 11: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Gestore: esercita un ruolo di influenza sulle direzioni di sviluppo di progetti e successivamente anche nelle fasi di diffusione e di distribuzione dei prodotti. Il ruolo di gestione viene spesso erroneamente interpretato con la proprietà. Nessun agente può reclamare la proprietà nei confronti di un progetto o di un prodotto Open Source, quindi l’uso del termine “proprietario” è fuorviante.

Un agente viene definito con il termine owner quando assume il ruolo di gestore dei processi di sviluppo del sofware. Il termine “proprietario”, traduzione letterale del termine “owner”, assume invece un significato che non rispecchia il ruolo assunto dagli owner nella comunità Open Source (Feller e Fitzgerald – 2002). Si è preferito utilizzare il termine “owner” con il significato di gestore.

Le caratteristiche di ogni categoria di agente precedentemente individuate (utenza, prosumer, team dei leader, imprese, istituzioni, team virtuale) possono essere approfondite a seconda del ruolo assunto.

Page 12: Ines attaianese

OPEN SOURCE: LA GRANDE COMMUNITY

Cliente Attore Gestore

Utenza Utilizzo dei prodotti per attività

professionali non legate alla

programmazione

Produzione di feed-back in condizioni

reali di utilizzo

Valutazione qualitativa dei

prodotti.

Prosumer Utilizzo del software Open Source per la programmazione

Re-actor correzione dei

difetti presenti nel software

Pro-actor aggiunta di nuove

funzionalità

Influenza sulla direzione di sviluppo

attraverso analisi tecniche e

programmazione

Team dei Leader

Utilizzo del software Open Source per il supporto tecnico

alla programmazione

Progettazione dei prodotti.

Integrazione dei contributi

Gestione delle risorse comuni della

comunità e dei processi di sviluppo

Imprese Utilizzo interno dei prodotti Open

Source

Contributo diretto allo sviluppo di

prodotti O.S. e dei servizi di contorno

Supporto alla diffusione e parziale

controllo della distribuzione dei

prodotti

Istituzioni Utilizzo dei prodotti per la gestione delle

informazioni pubbliche

Impegno nella ricerca e nello

sviluppo di standard e prodotti O.S.

Supporto alla comunità e ai

prodotti attraverso investimenti

specifici

Ruoli assunti dagli agenti della comunità

Page 13: Ines attaianese

CHE COS’E’ UN CMS?

Un CMS è un software installato su un web-server che consente di gestire in modo autonomo i contenuti e le pagine che compongono un sito web; CMS infatti è l’acronimo di Content Management System, cioè un sistema per la gestione dei contenuti.

Page 14: Ines attaianese

CHE COS’E’ UN CMS?

Un CMS è un insieme di componenti che lavorano in sinergia. Tra gli elementi più importanti troviamo:

la base dati contenente i contenuti;

il motore di pubblicazione delle pagine;

il sistema di gestione dei contenuti.

Page 15: Ines attaianese

CHE COS’E’ UN CMS?

Page 16: Ines attaianese

CHE COS’E’ UN CMS?

Il database

È l’archivio dei contenuti che saranno pubblicati sul sito. Contiene: la struttura della parte dinamica del sito, controllabile dall’utilizzatore; i contenuti degli articoli, della home e di tutte le parti in gestione

all’utilizzatore; i link ed banner visualizzati, con le informazioni collegate; le regole di visibilità; i dati di accesso.Il database può essere su Sql Server o Oracle, o ancora su MySql per ambienti Linux.

Page 17: Ines attaianese

Il motore di pubblicazione

parte software deputata alla pubblicazione dei contenuti.

Normalmente è rappresentato da un gruppo di pagine in ASP, Cold Fusion o PHP che inviano in rete il codice html corrispondente ai contenuti presenti nel database.

CHE COS’E’ UN CMS?

Page 18: Ines attaianese

Il gestore dei contenuti

È il front-end mediante il quale l’operatore gestisce i contenuti del sito.

Le sue funzioni possono essere:

editor testuale o HTML dei contenuti;

gestione dei banner e dei link;

gestione della visibilità.

CHE COS’E’ UN CMS?

Page 19: Ines attaianese

CHE COS’E’ UN CMS?

La creazione si basa sui seguenti ruoli e privilegi base:

Autore principale: responsabile della creazione del contenuto.

Curatore (o autore secondario): responsabile dell’aspetto formale del contenuto (stile, rappresentazione) per garantirne l’uniformità e la diffusione.

Editore: responsabile della diffusione e dell’utilizzo del contenuto.

Amministratore: responsabile della gestione delle versioni del contenuto negli archivi e nei sistemi di diffusione (Content ManagementSystem).

Il flusso di lavoro relativo alla creazione dei contenuti promuove la gestione di gruppi di lavoro collaborativi, il processo consiste in una o più attività, ognuna delle quali rappresenta un lavoro da svolgere per giungere a un obiettivo comune;

Page 20: Ines attaianese

DRUPAL

è l'esperienza la più grande maestra:

più tempo si passa cercando di configurare il sito, più ci si addentra tra i segreti di Drupal e se ne comprendono potenza e flessibilità.

Page 21: Ines attaianese
Page 22: Ines attaianese

DRUPAL

Drupal è una applicazione Web Based, scritto con uno dei linguaggi per realizzare applicazioni Web

(come PHP)

per funzionare ha bisogno di un Server Web (come Apache)

e di un database (come MySQL).

Page 23: Ines attaianese

DRUPAL

Tali tecnologie lavorano con questo metodo:

Le informazioni principali vengono inviate al server sotto forma di una richiesta http.

Il server riceve la richiesta e viene processata ed eseguita in pagine in PHP, inoltre ogni azione necessaria in conseguenza della richiesta , viene processata.

Il server invia la risposta di conferma al browser dell’utente.

Page 24: Ines attaianese

CHE COS’E’ UN CMS?

Page 25: Ines attaianese

DRUPAL

Page 26: Ines attaianese

DRUPAL

Page 27: Ines attaianese

DRUPAL

Page 28: Ines attaianese

DRUPAL

Page 29: Ines attaianese

DRUPAL

Page 30: Ines attaianese

DRUPAL

Page 31: Ines attaianese

DRUPAL

Page 32: Ines attaianese

DRUPAL

Page 33: Ines attaianese

DRUPAL

Page 34: Ines attaianese

DRUPAL

Page 35: Ines attaianese

DRUPAL

Page 36: Ines attaianese

DRUPAL

Page 37: Ines attaianese

DRUPAL

Page 38: Ines attaianese

DRUPAL

Page 39: Ines attaianese

DRUPAL

Page 40: Ines attaianese

DRUPAL

Page 41: Ines attaianese

DRUPAL

Page 42: Ines attaianese

DRUPAL

Page 43: Ines attaianese

DRUPAL

Consiglio di visitare il sito http://drupal.org/

Page 44: Ines attaianese

DRUPAL

La comunità Drupal internazionale, in collaborazione con la Drupal Association, ha annunciato la disponibilità al pubblico(GA) di Drupal 7, la più innovativa piattaforma disponibile per il web.Drupal è un sistema di gestione dei contenuti a sorgente aperto alla base di milioni di siti web ed applicazioni, tra i quali spiccano whitehouse.gov e molti dei siti di artisti di spicco del Warner Media Group.

Page 45: Ines attaianese

DRUPAL

Alcune funzionalità di Drupal:

Procedura di installazione Il nuovo installer guida l’utente passo-passo attraverso il processo di installazione. E’ possibile importare direttamente il file di localizzazione nella propria lingua.

Drag and Drop: Nella gestione dei menu, dei blocchi o durante l’organizzazione di un book, si può utilizzare in alternativa al “peso” la funzione drag-and-drop. Tale modalità è inoltre disponibile in molte sezioni che hanno le voci strutturate ad elenco o ad albero.

Localizzazione: E’ possibile tradurre direttamente i testi tramite un’interfaccia intuitiva. Inoltre, è stata semplificata la procedura d’importazione di nuove lingue

Alcuni moduli di base: Action and Triggers: E’ possibile creare delle azioni personalizzate

per rendere i flussi di lavoro automatizzati; per esempio è possibile inviare automaticamente una e-mail di notifica quando viene creato un commento

Page 46: Ines attaianese

DRUPAL

OpenID: Il supporto a OpenID è integrato. OpenID è un sistema semplice e gratuito che permette di usare una sola identità in internet

Modulo stato aggiornamenti: Il modulo “update status” permette di verificare se sono disponibili nuove versioni di Drupal e dei moduli.

CSS: Permette di definire regioni e dipendenze con un file theme.info senza dover conoscere il codice PHP

Personalizzare i temi: E’ possibile cambiare il look del proprio tema. Infatti quasi tutti i temi presenti sono separati in file di template scritti in HTML

Preprocessing: Potenziato il supporto ai temi migliorandone la gestione, inoltre le funzioni di preprocessing non obbligando gli sviluppatori dal mantenere il codice PHP nel file del tema

Page 47: Ines attaianese

DRUPAL

Interfaccia e JQuery: Aggiunta la traduzione automatica degli elementi dell’interfaccia grazie all’implementazione di Javascript migliorato. La potente libreria Javascript jQuery è stata inclusa per migliorare le interazioni con l’interfaccia e con Ajax

Verifica password: Verifica immediata del grado di sicurezza della password inserita

Permessi: I permessi dei ruoli sono stati ridefiniti. I privilegi degli utenti vengono gestiti con maggiore facilità e precisione

PHP: Il formato di input php è stato inserito nel core ed è attivo di default

Page 48: Ines attaianese

DRUPAL

Sviluppo ottimizzato: Grazie a JavaScript aggregation e alla cache migliorata, sono state aumentate le prestazioni in generale sia per gli utenti autenticati sia per gli anonimi. Drupal 6 divide i moduli del core in sezioni: con questo metodo di gestione della memoria viene caricato solo il necessario, traendo un beneficio in termini di reattività nel caricamento delle pagine.

Sistema del Menu migliorato: La gestione dei menu è stata completamente riscritta

Logging completo: Le potenzialità di questo strumento di controllo sono state migliorate sensibilmente introducendo la possibilità di scegliere dove salvare i messaggi di log: sul database o su un file. Il controllo e la verifica dei log ora può quindi essere effettuata avvalendosi di applicazioni esterne

Pool migliorati: Consente di aggiungere e gestire i sondaggi molto più velocemente

Page 49: Ines attaianese

DRUPAL

Forum esteso: Implementazione a un forum di ulteriori tipi di contenuto: sondaggi, forum quiz o altri tipi di contenuti; inoltre è stata migliorata la gestione dei permessi.

Gestione semplificata path alias: E’ ora possibile gestire facilmente i path alias

Notifiche tramite e-mail: Possibilità di invio e-mail in caso di eventi tipo: approvazione, blocco o eliminazione di un utente

Commenti anonimi: Il sistema memorizza i dati inseriti dagli utenti e li precompila automaticamente per il prossimo commento.

Per cosa si usa Drupal?

Drupal è uno strumento di creazione e gestione di siti web apprezzato e utilizzato da molti webmaster in tutto il mondo. Gli utilizzatori di questo CMS non hanno limiti di creazione sia in termini tecnici che estetici.

Page 50: Ines attaianese

DRUPAL

Portali basati su community

Pubblicazione di news

Intranet e corporate

Directory

Siti globlizzati

Social network: Drupal possiede le caratteristiche e le applicazioni tipiche di un sito social networking.

Di seguito un elenco di siti a livello mondiale gestiti con Drupal:

Page 51: Ines attaianese

DRUPAL

community portal sites : fastcompany.com popsugar.com

kerneltrap.org

business community sites: symantec.com/connect

alcuni siti della NASA

intranet/corporate web site: corp.aol.com research.yahoo.com

art, music, multimedia: mtv.co.uk warnerbrosrecords.com/grammy

social network: imbee.com

Alla pagina drupal.org/cases è possibile visionare ulteriori applicazioni web che utilizzano Drupal

Page 52: Ines attaianese

DRUPAL

Ecco alcuni esempi

Page 53: Ines attaianese

DRUPAL

Esiste anche una community italiana numerosa e ben organizzata; il riferimento italiano per Drupal è drupalitalia.org

Page 54: Ines attaianese

DRUPAL

Page 55: Ines attaianese

DRUPAL

All’URL drupalitalia.org sono disponibili informazioni e tutorial in italiano dedicati a Drupal

Il forum di Drupal Italia è un ottimo strumento per confrontarsi su tematiche e problematiche

Ogni utente può contribuire alla traduzione di Drupal e dei suoi moduli

La community italiana lavora, inoltre, alla traduzione del sistema e dei suoi moduli aggiuntivi. Per supportare il lavoro di traduzione è stato sviluppato un portale interamente dedicato a questo scopo, dove è possibile collaborare alle traduzioni in modo centralizzato, rendendo così disponibile il proprio lavoro anche a tutto il resto della comunità senza dover procedere all’uploading tramite CVS sul server principale

Nella slide che segue esempio di intranet aziendale sviluppata (da chi scrive) utilizzando Drupal

Page 56: Ines attaianese

DRUPAL

Page 57: Ines attaianese

DRUPAL