Skip to content.
ArticoliDocumenti > ArticoloTWiki

Pubblicazione

L'articolo che stai per leggere è stato anche pubblicato sulla comunity Digiland diviso in diveri pezzi per ragioni logistiche.
Puoi trovare i vari riferimenti qui:

Indice

Viaggio tra le meraviglie del web con Perl come artista! Dai CMS agli application server con TWiki protagonista.

Questo è un articolo di Gioacchino e Vittorio per lodare il mitico TWiki...
L'idea è quella di creare un articolo da pubblicare su differenti canali per diffondere la cultura dei CMS ( Content Management System ), dei Wiki e degli Application Server oltre all'utilizzo di Perl come linguaggio di programmazione il tutto sintetizzato in Torino.PM.

Cos'è un WIKI

A coloro che utilizzano il web come un semplice luogo dove navigare è difficile spiegare cosa sia un Wiki. Questo termine sta acquisendo sempre più popolarità su Internet e sfrutta un concetto tanto semplice quanto geniale che sta prendendo sempre più piede sul Web. Tramite un Wiki si può gestire un sito web come siamo abituati a vedere quotidianamente ma il concetto rivoluzionario è che chiunque, con un semplice browser (ovvero un programma per la navigazione come Firefox, Mozilla o Internet Explorer) può modificare al volo le informazioni contenute nella pagina. Il concetto che può risultare alquanto anarchico e pericoloso perchè mette i contenuti in balia di buontemponi, si dimostra, in realtà vincente perchè stimola la collaborazione anzichè la distruzione... In fondo che gusto c'è a cancellare qualcosa che per natura e senza violazioni si presta a questo? Ad ogni modo, però, quasi tutti i Wiki contengono un sistema di revisione e all'occorrenza, l'amministratore può ripristinare una vecchia versione di una pagina ripristinando il suo contenuto precedente modificato in maniera poco ortodossa o semplicemente cancellato.
Questo è un processo che velocizza in maniera consistente la espansione di un sito web e favorisce notevolmente la collaborazione fra le persone che da semplici osservatori diventano editori e manutentori. Questo processo permette di sentire il sito come un qualcosa di "proprio" creando un ottimo ambiente di scambio di informazioni. La parola Wiki, infatti, deriva da un termine in lingua hawaiana che significa "rapido" o "molto veloce". Un esempio lampante di questo è il Wiki OpenOffice. Nato alla fine del 2003 raccoglie decine di persone che quotidianamente lavorano per raccogliere e migliorare informazioni riguardanti OpenOffice.
Per un elenco completo di Wiki attualmente disponibile invito a visitare la pagina di Elenco Wiki

Un ottimo risultato di utilizzo della piattaforma TWiki si può vedere su Torino.pm .

Cos'è un CMS

Un sistema di Content Management System (CMS) è, come dice la parola, un sistema usato per gestire dinamicamente i contenuti di siti web. In altre parole, ciò che l'utente vede come un sito web, in realtà è un motore di gestione di contenuti dinamico sviluppato con un linguaggio di programmazione. In questo modo è possibile dividere la parte del layout o visualizzazione delle pagine che viene impostata una volta sola tipicamente da una persona da quella di inserimento/modifica/eliminazione di contenuti che viene fatta di volta in volta tipicamente da più persone. Solitamente un CMS è diviso in 2 parti. La prima parte è un'applicazione che rende disponibili e fruibili i contenuti all'utente che visita il sito (Front end), mentre la seconda parte è un'applicazione che permette la pubblicazione dei contenuti, l'inserimento di immagini, di links ed altro ancora (Back End) da parte di uno o più addetti denominati solitamente editor o amministratori.
Queste 2 parti sono gestite tramite "gruppi" di lavoro. Per es. il Front End è quella parte che chiunque può visualizzare cioè il sito vero e proprio, mentre la parte di Back end è riservata soltanto ad alcune figure con differenti privilegi che si occuperanno di gestire il sito, gestire il server, gestire i tutti i contenuti o solo una parte a seconda di quello che il determinato CMS permette e in base alle esigenze del sito.

Grazie a queste caratteristiche con un CMS si possono gestire siti estremamente piccoli o decisamente grandi eventualmente assegnando differenti livelli di permesso di azione ai vari utenti. E' ovvio, infatti, che un sito personale avrà un solo utente che fa da amministratore del sito e pubblicatore dei contenuti gestendo tutta la parte di Back end mentre in un sito aziendale vi sarà la figura dell'amministratore del sito, una o più figure per la immissione di contenuti e una o più persone che si occuperanno della revisione ed eventuale pubblicazione dei contenuti.
Vi segnaliamo i seguenti siti per comprendere meglio il Mondo dei CMS :

Cosa è un APPLICATION SERVER

Non è semplice comprendere cosa sia un application server. Possiamo dire che un AS (con questa sigla abbrevio le parole application server) è un sistema di gestione di siti web che permette l'utente che sa di programmare di ampliarne le funzionalità a dismisura. Il tutto si appoggia ad un motore già precostituito creato in un linguaggio di programmazione sul quale si agguingono parti semplici o anche molto complesse di codice per creare applicazioni,spesso web-based, per gli scopi più differenti. Un AS permette di interfacciarsi a server di database come Mysql o Postgres o DBfile o anche semplici file di testo per costruire un gestionale completo, un sistema di gestione della documentazione cartacea elettronica, una gestione di una semplice rubrica telefonica fino a complesse applicazioni di gestione aziendale.
Attualmente uno dei più famosi AS in circolazione è senza dubbio Zope+Plone scritto interamente in python.
Un altro interessante AS è sicuramente Tiki, un sistema in php molto complesso ma altrettanto versatile.

Vantaggi e Svantaggi dei Wiki, CMS, AS con un pizzico di storia

All'inizio era l'HTML...
Le prime pagine in circolazione sul web erano scritte con semplici editor di testo tramite un semplice linguaggio di programmazione detto appunto HTML (Hyper Text Markup Language). Nonostante la sua intrinseca facilità, nel momento in cui internet si espanse e, da fenomeno di nicchia diventò una realtà di massa, molte persone sentirono l'esigenza di manifestarsi sulla Grande Rete.
Nacquero così gli editor WYSIWYG (What You See Is What You Get) ovvero editor che permettevano visivamente l'editazione delle pagine HTML. L'utente, in altre parole utilizza l'editor senza preoccuparsi dell'HTML che ci sta dietro visualizzando immediatamente la pagina pronta per essere pubblicata. Un sito fatto in HTML però ha notevoli svantaggi.
  • E' statico. Se voglio modificare qualcosa devo farlo con un editor specifico e caricare nuovamente la pagina sul server (tpicamente via FTP).
  • E' limitato. Se devo apportare una modifica su molte pagine le devo modificare una per una; inoltre non prevede sistemi di collaborazione fra gruppi di persone di nessun tipo. Questo vuol dire che tutto il lavoro di gestione ricade su una persona e questo, per siti enormi, è oltre modo impossibile.

Un wiki risolve entrambi i problemi. Una volta installato il wiki su un server è possibile fornire a chiunque visiti il sito la possibilità di collaborare e, quindi, la capacità di interagire. Ciò fa in modo di evitare la sindrome da unico webmaster al gestore del sito e permette di saltare il passaggio modifica_pagina/caricamento_su_sito che è estremamente noioso.

Il passo successivo è il CMS. Questo sistema ha un'unica pagina di layout o visualizzazione (definita template) che comprende la definizione dei colori da utilizzare, il background e tutte le parti fisse come un eventuale indirizzo della azienda o il logo. Questa è sempre uguale (eventualmente possono esisterne diverse a seconda delle sezioni) ma all'interno vi sono i contenuti che cambiano e vengono aggiunti ed aggiornati da diverse persone tramite un sistema di Backend.
I vantaggi di questo sistema sono principalmente i seguenti:

  • Possibilità di dividere impostazione grafica del sito dai contenuti
  • Possibilità di modificare il sito o i suoi contenuti da qualsiasi parte del mondo tramite un browser (es. Firefox o Internet Explorer) e non programmi che generano codice HTML orrendo come Frontpage o simili.
  • I contenuti sono estremamente dinamici e non si mette mano al codice HTML che viene generato in automatico dal linguaggio di programmazione con cui è creato il CMS.
  • Supporta livelli di autenticazione diversi a seconda del livello di gestione del sito permesso al singolo utente: amministratore, editor, revisore...
Per contro un CMS necessita di un server che gestisca il linguaggio di programmazione con il quale è scritto (e quindi perl, php o asp) ed eventualmente anche un server sql. E' necessaria, inoltre anche una installazione che, nonostante nella maggior parte dei casi sia molto semplice è comunque un passaggio in più alla semplice creazione delle pagine web tradizionali.

L'Application Server è una evoluzione naturale dei CMS. Solitamente sono piuttosto complessi da gestire ma anche estremamente potenti e versatili. Tramite un AS il concetto di sito web viene stravolto per dare posto al concetto di applicazione via web. E' infatti possibile creare applicazioni che si interfaccino a basi dati differenti per controllare qualsiasi cosa e visualizzare il tutto principalmente su una pagina web. Anche questi sistemi permettono differenti livelli di autenticazione dell'utente e, di solito, sono usati da aziende o privati che vogliono andare ben oltre alla propria presenza sul web.

TWiki è un prodotto che ingloba in se tutti e tre questi aspetti. Oltre ad essere versatile e semplice da installare è un wiki, CMS e AS contemporaneamente e si presta ad una infinità di compiti...

Linguaggi e Basi Dati Utilizzati

I Wiki, i CMS e gli Application Server possono essere scritti in diversi linguaggi di programmazione quali PHP, Perl, Python, ASP o altri a seconda dei gusti personali e delle capacità dei programmatori che li inventano...
Le informazioni (testi immagini ed altro) che i vari utenti o l'amministratore del sito vogliono inserire, possono essere immagazzinati in semplici file o in motori di database semplicistici come Access fino ad andare a piattaforme più potenti come ad esempio MySQL, PostgreSQL o simili.
Non è facile dire cosa sia meglio tra questi tre metodi di gestione di siti, tra i linguaggi utilizzati e il sistema di archiviazione...
Tutto dipende da cosa di vuole gestire, da quanto si prevede sarà grande il sito, da quanti utenti lo si vuole fare gestire e da una marea di altri fattori. Se state pensando di crearvi una sito personale vi troverete di fronte all'imbarazzante scelta : CMS o HTML?
Bene il nostro consiglio è che se dovete creare un semplice Biglietto da visita Web ( Una sola pagina con qualche info ) vi basta un editor HTML , mentre se vorrete crearvi un sito Internet ricco di info ( CV , foto e quant'altro ) vi consigliamo di utilizzare un semplice wiki.
Se il sito deve prevedere diversi livelli di utenti, vi consigliamo decisamente un CMS. L'Application Server è utile se si ha una azienda che vuole portare tutto sul web o prevede una futura espansione dei servizi offerti via web...
Per quanto riguarda la base dati, evitando qualsiasi guerra di religione ritengo che i file di testo siano molto funzionali ma per siti estremamente grossi è meglio usare un server SQL o integrare le due tecnologie come fa, ad esempio, TWiki.
Per quanto riguarda il linguaggio di programmazione la questione si fa più spinosa. Essendo promotori dell'OpenSource vi consigliamo di escludere decisamente ASP e di buttarvi sul campo di tutti gli altri citati in precedenza. Ovviamente essendo gestori di un gruppo di programmatori Perl ( Torino.pm vi consigliamo decisamente questo linguaggio ma , ovviamente, riteniamo che PHP e Python lavorano in maniera altrettanto egregia...

TWiki e Torino.PM

Alla fine di questa lunga carrellata di informazioni è arrivara l'ora di parlare TWiki.
TWiki è una piattaforma collaborativa per la geestione di contenuti online. In parole semplici serve per gestire un sito web anche di grossa complessità. Esso è molto semplice da installare, scritto in Perl e memorizza le informazioni su file di testo ma può interfacciarsi comodamente a qualsiasi motore SQL. TWiki supporta la multiutenza in maniera estremamente elegante delegando la autenticazione al server web (tipicamente Apache) e gira sia su piattaforma Linux sia Freebsd sia Windows.
E' una delle piattaforme web-based più versatili tra quelle provate fino ad ora. Esso si presenta come semplice wiki per un sito semplice ma le sue potenzialitè possono essere espanse con Addon e Plugins già disponibili in rete. Questo permette di diventare un CMS a tutti gli effetti.
Grazie alla sua capacità di gestire variabili utente e di essere Opensource permette la creazione di nuovo codice da integrare a quello esistente e questo lo elegge allo status di Application Server...
In altre parole TWiki è un prodotto veramente multi-proposta. E' possibile usarlo per semplici siti personali, per complessi siti aziendali fino a consegnargli la gestione del proprio sistema di archiviazione e gestione di magazzino online.
Twiki è Geniale, snello e facile da utilizzare, anche se un pochino nerd. E' un prodotto maturo e la licenza che lo copre è la GPL che assicura la possibilità di utilizzarlo liberamente e senza limitazioni di espansioni personali.
Proprio per tutti questi motivi è stato scelto come piattaforma di sviluppo per il sito web di Torino.PM. Torino.PM è un gruppo di programmatori in Perl dell'area torinese e piemontese in genere ma accogliamo a braccia aperte anche persone di altre regioni che condividono lo spirito aperto con cui è nato il gruppo.
Lo scopo principale è quello di raccogliere persone che sappiano programmare con questo linguaggio di programmazione o, semplicemente, vorrebbero impararlo. L'idea è nata nel 2003 dopo uno scambio di mail tra i due fondatori (Vittorio e Gioacchino). Essa, però, si concretizza solo alla fine del 2004 dopo aver trovato un server che ci ospita senza troppe limitazioni o downtime e dopo aver scoperto TWiki che ci ha permesso un rapido sviluppo del sito e dei servizi da mettere a disposizione.
Le iniziative del nostro gruppo si sviluppano attorno ad una mailing list nella quale si discute le varie idee, mozioni, meetings e usa come Frontend proprio il sito Web. La nostra intenzione è quella di condividere momenti tecnici ma anche momenti ludici che vanno dallo scambio di consigli inerenti il perl all'organizzazione di cene.
Torino.pm è un gruppo di programmatori, amanti, sostenitori e smanettoni di Perl e non ha fini di lucro ma semplicemente si pone l'obbiettivo di condividere e promuovere il nostro interesse comune. L'argomento principale è, ovviamente, il Perl, ma ciò non vieta di parlare di altri argomenti legati al mondo della programmazione in generale, dagli script a riga di comando a applicazioni web e non sono certo censurati argomenti che decantano la cucina ed i vini o qualsiasi altro argomento che possa interessare più utenti con la sola limitazione imposta dalla buona educazione... wink
Torino.PM vuole diventare un punto di incontro e di produzione. I progetti Opensource in Perl sono tanti e molti sono davvero interessanti ma spesso il progetto di una persona è costretto a naufragare a causa della mancanza di tempo... Torino.PM si propone come piattaforma di sviluppo per eventuali progetti in Perl con eventuali incontri anche di persona che aiutano a consolidare un rapporto tra gli utenti anche di tipo personale.
Sicuramente l'obbiettivo primario di Torino.PM è quello di aiutare la diffusione del favoloso linguaggio di programmazione Perl in Torino e Piemonte e... perchè no, anche nel resto di Italia.

Come installare TWiki e perchè farlo?

Perchè dovrei utilizzare TWiki?
La risposta è tanto semplice quanto incomprensibile se non vi siete mai trovati a lavorare con un CMS... Twiki è un CMS e già questo è un punto netto a suo favore grazie alla facilità di gestione dei contenuti che garantisce in confronto al semplice HTML.

Ma perchè proprio TWiki e non PhpNuke o PostNuke?
Beh, negli anni ho lavorato con molti CMS tra cui proprio PhpNuke e Mamboserver. Proprio questo ultimo è, a mio parere, uno dei migliori attualmente disponibili su internet ma... TWiki ha una marcia in più: è un misto tra un CMS e un Wiki il che permette una velocità da parte di un utente nella editazione dei contenuti che nessun CMS puro permette. Esso, inoltre, è estremamente facile da installare perchè a differenza di molti analoghi prodotti in PHP non richiede l'installazione ed una utenza in un server sql e come molti cugini in perl non necessita del famigerato mod_perl installato sul server...

Dove trovo TWiki?
Il sito ufficiale di Twiki è http://twiki.org. Puoi scaricarlo direttamente dal link http://twiki.org/download.html scegliendo tra "Production", "Beta" ed "Alpha" release. Il sito di Torino.PM utilizza la versione "Beta" di TWiki.

Come installo TWiki?
Dopo aver scaricato il file lo si deve semplicemente scompattare nella directory principale del proprio web server e seguire le due indicazioni nel file di documentazione della installazione. Tipicamente è necessario semplicemente editare il file Twiki.cfg e, successivamente, la pagina web del sito denominata WebPreferences...
Se sei un felice utilizzatore di una distribuzione Debian puoi saltare il passaggio di scaricamento del file e ciò che viene dopo con un semplice apt-get install twiki e... vivi felice smile

-- GioacchinoBisconti - 28 Dec 2004
-- VittorioZuccala - 04 Jan 2005
-- VittorioZuccala - 05 Jan 2005
-- VittorioZuccala - 06 Jan 2005
-- GioacchinoBisconti - 13 Jan 2005
-- VittorioZuccala - 16 Mar 2005


Ultima versione: r1.1 - 13 May 2005 - 06:18 - Main.guest
 
Se riconosciuto dal sistema come utente: Main.guest