Ines attaianese
Upcoming SlideShare
Loading in...5
×
 

Ines attaianese

on

  • 1,592 views

 

Statistics

Views

Total Views
1,592
Views on SlideShare
1,581
Embed Views
11

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 11

http://kabbarli.wordpress.com 11

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ines attaianese Ines attaianese Presentation Transcript

  • 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
  • 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.
  • 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.
  • 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.
  • 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.
  • OPEN SOURCE: LA GRANDE COMMUNITY
    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
    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.
  • 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.
  • OPEN SOURCE: LA GRANDE COMMUNITY
    Ruoli assunti dagli agenti della comunità
  • 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.
    Esistono numerosi CMS e la maggior parte utilizza il codice PHPcome linguaggio di sviluppo; una caratteristica comune è che si tratta sempre di applicazioni lato server, che sono formate da due parti: la sezione amministrativa, accessibile tramite user e password, che mette a disposizione gli strumenti necessari per operare su tutti i contenuti, e la sezione applicativa, utilizzata dagli utenti web per navigare tra i contenuti e usufruire delle funzionalità del sito internet.
    I CMS sono uno strumento sviluppato per supportare i webmaster nell’amministrazione e gestire un sito web evitando di dover sviluppare il software gestionale del sito. I CMS hanno un’area amministrativa basata su un’interfaccia grafica che consente all’amministratore di gestire ogni aspetto del sito, senza il bisogno di possedere conoscenze tecniche particolari o specifiche relative allo sviluppo.
  • CHE COS’E’ UN CMS?
  • CHE COS’E’ UN CMS?
    Questi software di gestione del contenuto sono nati a causa della grande diffusione di siti internet di grandi dimensioni, che richiedono frequenti aggiornamenti. Una delle applicazioni più utili, infatti, è nel management dei portali, dove la varietà e il numero dei contenuti pubblicati deve essere gestitita in modo flessibile prevedendo un accesso, lato amministrazione, multiutente.
    L’amministrazione deve essere considerata tenendo conto delle varie piattaforme di pubblicazione disponibili, quali ad esempio,la gestione di contenuti testuali in forma di news, i link, le gallerie di immagini, gruppi di discussione, forum, blog e file scaricabili.
    Un punto di forza è sicuramente dato dalla multiutenza, infatti l’accesso all’area amministrativa può essere consentito a determinati utenti o a gruppi di utenti definendo per ciascuno di essi permessi specifici. Per esempio, è possibile definire un ruolo, da attribuire a determinati utenti, a cui assegnare la facoltà di gestione delle diverse funzionalità di un forum, limitando invece le altre funzioni.
  • CHE COS’E’ UN CMS?
  • CHE COS’E’ UN CMS?
    I vantaggi dati dall’utilizzo di un CMS per la gestione del proprio sito è determinante dal punto di vista della fruibilità dal lato di amministrazione: gli utenti possono infatti costruire e aggiornare un sito dinamico, anche di grandi dimensioni, senza avere la necessità di conoscere i linguaggi di programmazione o progettare un apposito database.
    Anche l’aspetto estetico delle pagine può essere personalizzato modificando un foglio di stile CSS appositamente progettato per un determinato tema.
    Con l’avvento della banda larga, disponibile a costi accessibili per la maggior parte degli utenti, c’è stata anche un’evoluzione dei siti internet in termini di tipologia e numero di contenuti presenti. Questa progressione ha portato allo studio di nuovi processi e tecnologie a supporto del ciclo di vita evolutivo dell’informazione digitale.
    Un ciclo di vita comprende: la creazione, la pubblicazione, l’aggiornamento, la traduzione e l’archiviazione. La creazione e la gestione di un contenuto è il frutto di un processo collaborativo che viene effettuato da una o più persone e con la partecipazione attiva della comunità al suo aggiornamento, ed è una fase senza limiti di tempo e durata.
  • 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 (ContentManagementSystem).
    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;
  • CHE COS’E’ UN CMS?
    si utilizza il web per la condivisione dell’informazione e la gestione della comunicazione e il passaggio di compiti da un collaboratore all’altro. I CMS nascono proprio per realizzare nella pratica queste teorie. Sul web è infatti possibile trovare numerosi CMS sviluppati per gestire specifici siti: blog,forum, ecc.
    DRUPAL 6
  • DRUPAL
    Drupal nasce originariamente come un software per permettere a utenti esterni di connettersi ad esso, attraverso la linea telefonica, dando la possibilità di utilizzare funzioni di messaggistica e file sharing centralizzato.
    La nascita di Drupal è da attribuire a DriesBuytaert e Hans Snijder, studenti che frequentavano l’Università di Antwerp: la loro necessità era quella di condividere una connessione a internet tramite un modem ADSL, ci riuscirono grazie a un ponte wireless. Questa filosofia, basata sulla condivisione, li ha portati a lavorare allo sviluppo di una nuova concezione di sito internet che permettesse loro di condividere notizie, informazioni e altre tipologie di contenuto.
    Col tempo questo progetto crebbe, finchè nel 2001, i due sviluppatori, decisero di rendere pubblico il codice del software, che diventò così Open Source. Il progetto venne chiamato Drupal (traduzione in inglese per la parola olandese “druppel” che significa goccia).
  • DRUPAL
    Con la collaborazione di sviluppatori che hanno aggiunto nuove funzionalità, grazie a un’ottima interfaccia intuitiva e facilmente utilizzabile da tutti gli utenti indipendentemente dal livello di preparazione tecnico Drupal si è affermato divenendo uno dei più scaricati CMS in circolazione: solo da maggio 2006 ad aprile 2007, è stato scaricato più di 600.000 volte.
    Drupal gode di una comunità di supporto molto estesa, questo fa sì che siano sempre più numerosi i forum, tutorial e siti ad esso dedicati.
    La storia di Drupal è un esempio di libertà e condivisione a scopo non commerciale; nel giro di pochi anni, Dries e gli altri studenti hanno creato una piccola applicazione e l’hanno trasformata in una tecnologia che ha dato un enorme contributo alle modalità con cui la società comunica attraverso il web.
    Questa la dichiarazione di intenti, scritta dal padre di Drupal:“Costruito su standard di qualità e tecnologie open-source, Drupal supporta e sviluppa le potenzialità di internet come punto di incontro tra individui e gruppi molteplici e geograficamente separati, che insieme possono produrre, discutere, condividere idee e informazioni.
  • DRUPAL
    Con l’obiettivo fondamentale della collaborazione tra community, la flessibilità di Drupal permette la creazione congiunta di sistemi online di informazioni e di nuove comunità”
    Drupal offre un’incredibile flessibilità che lo rendono, con l’opportuna configurazione, adatto a qualsiasi utilizzo. I suoi principali valori sono affidabilità, solidità, efficienza e flessibilità. Un’altra caratteristica è che Drupal, essendo open source, è definito come “work in progress”, cioè un sistema in continuo sviluppo e crescita.
    La community che quotidianamente lavora all’evoluzione di questo sistema è immensa e opera a livello mondiale; negli anni Drupal è stato testato e affinato, il parere da parte degli utenti più esperti è positivo, essi infatti definiscono il codice Drupal coerente e ben scritto, per cui anche modificarlo diventa facile. Questo vuol dire che ogni tentativo di apporre caratteristiche avanzate, per il modo in cui è impostato Drupal, comporterà vantaggi anche alle altre piattaforme. L’intuitività di gestione, sia in termini di programmazione che di utilizzo pratico da parte degli amministratori, è l’altra caratteristica che ha reso Drupal un sistema vincente. Un software ben progettato è la base di tutto.
  • DRUPAL
    Al link http://drupal.org
  • DRUPAL
    La nuova versione di Drupal presenta nuove funzionalità:
    • La prima novità riguarda la 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
    Sono statiaggiunti nuovi 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
  • DRUPAL
    commento.
    • 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
  • 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
    Ulteriori passi avanti sono stati compiuti nelle gestione e nella manutenzione migliorando in modo sensibile, le prestazioni dell’intero sistema. E’ stato ottimizzato il processo di elaborazione grazie a una riduzione del codice inserito per ogni singola pagina e di conseguenza la gestione della memoria utilizzata dai moduli
  • DRUPAL
    • Sviluppo ottimizzato: Grazie a JavaScriptaggregation 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
  • 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 molto 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,
  • DRUPAL
    infatti Drupal è stato sviluppato per creare e gestire qualsiasi tipo di sito spaziando da siti istituzionali a portali e community in grande scala, blog e directory di contenuto.
    • 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:
  • DRUPAL
    • università di Harvard:http://www.harvard.edu/
    • il governo del Belgio
    • alcuni siti della NASA
    • amnestyInternational: http://www.amnesty.it/index.html
    • MTV: http://www.mtv.it/
    • e-commerce della Warner BrothersRecords: http://ecommerce-journal.com/node/29340
    • cloni di siti tipo digg.com, youtube e flickr
    Alla pagina http://drupal.org/cases è possibile visionare applicazioni web che utilizzano Drupal
  • DRUPAL
    Ecco alcuni esempi
  • DRUPAL
    La flessibilità fornita da Drupal è molto apprezzata da webmaster, progettisti e programmatori, perché la sua struttura modulare permette, al suo livello base di fornire solo le funzioni essenziali nella sua configurazione predefinita; mentre funzioni e capacità di visualizzazione aggiuntive possono essere estese tramite l’installazione di ulteriori moduli e temi.
     
    Il sito ufficiale di Drupal fornisce il supporto a chi si appresta a costruire un sito, soprattutto se è alle prime armi. Sull’homepage http://drupal.org è infatti possibile trovare informazioni, sondaggi e valutazioni, forum e news.
    Inoltre c’è una sezione chiamata “Gettingstarted”, un “manuale” online in lingua inglese interamente dedicato alla versione 6. E’ suddiviso in argomenti ed è interamente consultabile da chiunque, all’indirizzo:
    http://drupal.org/setting-started/6
  • DRUPAL
    Esiste anche una community italiana numerosa e ben organizzata; il riferimento italiano per Drupal è http://drupalitalia.org
  • DRUPAL
  • DRUPAL
    All’URL http://www.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 un esempio di intranet aziendale sviluppata (da chi scrive) utilizzando Drupal
  • DRUPAL