In principio era HTML: l`evoluzione della gestione dei

In principio era HTML: l'evoluzione della gestione dei
contenuti nel web, dai siti statici ai Content Management
System.
di Roberto Baldascino ([email protected])
L'evoluzione dal punto di vista tecnico
I siti definibili statici per eccellenza sono quelli scritti in puro html. Essi tuttora
molto diffusi, sono stati i predominanti nella fasi iniziali e pionieristiche della
rete, quando non esistevano nemmeno gli editor web visuali. Dal punto di vista
strettamente tecnico, la staticità deriva dalla fusione del contenuto, della
struttura, del layout e della grafica all'interno dello stesso codice html
rappresentativo della pagina web.
Figura 1: Una pagina scritta in html; ogni componente qualitativo e/o grafico è inserito
indissolubilmente nel codice insieme al contenuto puramente testuale a cui fa riferimento.
Una tale programmazione determina diverse problematicità rilevabili soprattutto
in fase di aggiornamento o durante l'inserimento di nuove pagine. In effetti,
ogniqualvolta si apporta un minimo cambiamento, esso si deve riflettere
necessariamente su tutte le componenti “qualitative-estetiche” che formano la
pagina. A titolo di esempio: se si deve inserire dell'altro testo in una pagina web
statica, è necessario immettere anche i codici html che corrispondono al colore,
alla grandezza e alla tipologia del font, e nel caso di creazione di una pagina
nuova devono essere inseriti anche i codici relativi al background e ai
collegamenti con le altre pagine. Ciò comporta maggior mole di lavoro,
conoscenze specialistiche e relativa pesantezza nella pagina per quanto riguarda
il suo caricamento.
L'avvento degli editor grafici per la costruzione di pagine web ha contribuito - e
contribuisce tutt'ora - al mantenimento di una certa staticità, consentendo, però,
anche l'inserimento di alcuni elementi di novità. Sicuramente ha semplificato e
agevolato di molto le fasi di sviluppo e di aggiornamento delle pagine web,
rendendo le azioni attuabili in maniera del tutto visuale senza alcuna necessità
di preoccuparsi della programmazione dei codici; inoltre ha agevolato anche
1
l'incorporamento di elementi interattivi come routine in Javascript e/o di
componenti animati e dinamici sviluppati tramite il software Flash prodotto da
Adobe.
Questa visualità ha in piccola parte intaccato la tradizionale staticità dei siti,
semplificando l'inserimento dei CSS (Cascade Style Sheet - fogli di stile -)
all'interno del codice html o, meglio ancora, all'esterno di esso (come un file a se
stante con estensione .css a cui i diversi file html si collegano).
Utilizzare i fogli di stile (C.S.S.) significa già strutturare - se pur minimamente una dinamicità contenutistica (ma priva di automatismi), in quanto rende
possibile una marcata separazione tra contenuto e contenitore inteso come
grafica, font, colori, layer ecc.. Ad esempio, se si deve inserire un’intestazione di
secondo livello (in html corrisponde al codice <h2>), non ci si deve più
preoccupare di scrivere anche i codici relativi al colore o alla grandezza, e
nemmeno di farlo tramite un editor visuale, in quanto è già tutto definito
all'interno del file CSS. Il testo immesso - come anche le nuove pagine create avranno sicuramente per “ereditarietà” queste caratteristiche preimpostate.
Finestra
proprietà
<h2>
Figura 2: Il file CSS permette di separare il contenuto dall'aspetto grafico e dalla presentazione.
Nel file print.CSS, nell'immagine sopra, sono definite tutte le qualità della pagina index.html
collegata ad esso. Gli editor web come Dreamweaver (Adobe) hanno agevolato queste operazioni in
quanto tramite rappresentazione visuale è possibile selezionare direttamente il colore, oltre altre
qualità estetiche, senza preoccuparsi di inserire astrusi valori esadecimali. Nella immagine inferiore
2
della figura - riferito al file print.CSS - sono impostate, ad esempio, le caratteristiche della
intestazione 2 <h2> (colore, font, grandezza). Alcuni di questi valori, come ad esempio il colore,
sono materialmente visibili all'interno della finestra Proprietà di <h2> così come appariranno
nella pubblicazione.. Il risultato è che ogniqualvolta si inserirà in una pagina html collegata al file
print.CSS, il codice <h2>, questa intestazione di secondo livello manterrà inalterate le
caratteristiche qualitative definite.
Riassumendo: qualunque pagina creata in html, se collegata ad un file css, avrà
automaticamente determinate caratteristiche estetiche e di layout. Ma la vera e
propria dinamicità - più altri automatismi - si ottengono solamente quando
contenuto, la sua presentazione estetica e lo stesso html rappresentante la
pagina web sono del tutto separati tra loro. Questa completa differenziazione
permette - a chi inserisce il testo di un articolo - di non preoccuparsi di altro, in
quanto tutto il resto è definito o definibile a priori dal software utilizzato, che è in
questo caso un CMS. Un tale sistema è in grado di ricomporre automaticamente
e velocemente i singoli elementi separati, ogni qualvolta un utente lo richieda
cliccando su un link o su una voce del menù del sito.
Figura 3: In un sito dinamico le pagine si creano oqni qualvolta un visitatore del sito clicca su un
menu o su un link, in quel preciso momento si ricombinano le componenti e si visualizza la pagina
html completa.
Per ottenere una tale funzionalità, però, non è sufficiente appoggiarsi
semplicemente su un webserver affittandone uno spazio, così come avviene per
la pubblicazione di un sito statico. E' necessario avere un sistema un po' più
complesso. Dal punto di vista strettamente tecnico, la struttura ospitante deve
essere composta - oltre che dall'indispensabile server web -, anche da un
database (normalmente MySql) e un linguaggio script (php) in grado di
interrogarlo, dopodiché il CMS può essere installato. Gli Elementi citati (lato
server) sono presenti gratuitamente in qualsiasi distribuzione Linux.
3
Figura 4: In qualsiasi distribuzione Linux sono presenti il webserver - Apache, il database MySql,
e il linguaggio script php in grado di comunicare con il database. Il php è uno dei linguaggi più
utilizzati nella creazione dei CMS e prodotti affini come ad esempio Wiki, Blog e ambienti elearning.
E poi fu CMS: i vantaggi pratici nell'usare un CMS
I vantaggi, come si può già comprendere, sono molti; si potrebbe affermare che i
CMS sono più tecnologicamente democratici degli altri sistemi per quanto
concerne il livello di competenze richiesto nei suoi utilizzatori. Chiunque in base
alle proprie conoscenze, piccole o grandi esse siano, è in grado di contribuire allo
sviluppo di questi siti dinamici. Immettere articoli corredati da immagini e/o
elementi multimediali diventa veramente semplice;
è sufficiente aver già
utilizzato in precedenza un wordprocessing. Un elemento in comune che pur nelle
loro diversità hanno i CMS è per l'appunto la finestra editor per l'inserimento
degli articoli e che assomiglia quasi completamente ad un tradizionale
elaboratore di testi, comunemente utilizzato offline per le operazioni di scrittura.
Figura 5: Il più diffuso editor WYSIWYG per inserire articoli nei CMS è sicuramente il TyniMce
(http://tinymce.moxiecode.com/ ). Come si vede dall'immagine sono presenti i comandi più diffusi che si
possono trovare anche nei più comuni editor testuali offline come Word della suite Office della
Microsoft o del gratuito Writer della suite OpenOffice della Sun Microsystems
(http://www.openoffice.org/).
4
Esistono, inoltre, tanti altri aspetti positivi da prendere in considerazione
nell'adozione di un CMS riassumibili sinteticamente nei seguenti punti:
• la separazione di responsabilità tra lo sviluppo-gestione del sito e la
produzione dei contenuti;
• il web designer-amministratore è responsabile esclusivamente della
presentazione-template del sito, della sua gestione lato backend e della
politica degli accessi (possono esistere anche figure intermedie di
amministrazione)
senza
doversi
interessare
anche
dell'aspetto
contenutistico;
• la possibilità di modificare tramite template l'aspetto del sito in pochi
secondi; la struttura e i contenuti vengono automaticamente uniformati al
cambiamento;
• i non-informatici possono avere un loro ruolo nel front-end, diventando
responsabili dei contenuti e del loro inserimento e aggiornamento,
disinteressandosi delle problematiche tecniche-informatiche;
• qualsiasi operazione compiuta sul portale (aggiornamento, inserimento,
modifica) sono eseguite tramite browser, da qualsiasi computer collegato
ad Internet e senza l'ausilio di altro software;
• la forte enfasi sul lavoro di squadra e la relativa suddivisione gerarchica
dei permessi: a seconda delle responsabilità e delle capacita un
collaboratore può avere una password che gli permette di compiere
determinate azioni all'interno del sito come ad esempio inserire un
articolo. Un altro può invece inserire solo dei link o delle news. A titolo di
esempio, nel CMS Joomla possiamo trovare: gli autori (author), che
possono inserire gli articoli ma non pubblicarli rimanendo in attesa di
validazione, i redattori (editor), che oltre ad inserire degli articoli possono
modificare i contenuti di qualsiasi altro autore, gli editori (publisher), che
oltre ad ereditare le funzioni a lui sottostanti hanno il potere di decidere se
rendere visibili e così pubblicarli gli articoli inviati (validazione);
• il facile ampliamento dei servizi del portale grazie all'approccio modulare e
alle tante estensioni e componenti aggiuntive installabili (ne esistono
centinaia per lo più gratuite con tante caratteristiche diverse);
• le possibilità di integrare il sito con servizi di comunicazione interattivi
asincroni (forum) e sincroni (chat) e ibridi esterni (SMS) ecc.;
• le possibilità di creare aree riservate per utenti registrati dove inserire
documenti, file e informazioni;
• le diverse modalità di inserimento- incorporamento multimediali e di
trasmissioni via streaming (podcasting, vodcasting);
• l'ampliamento contenutistico tematico tramite R.S.S. (si possono
incorporare i feed news provenienti da altri siti e viceversa altri siti
possono incorporare i nostri feed news trasmessi tramite R.S.S.)i
5
Figura 6: Il lato amministrazione e il lato produzione-presentazione del CMS Joomla. Questo CMS
è utilizzato come portale dall'Ex-IRRE Marche (http://www.irre.marche.it/. Si lavora e si produce in
entrambe le visualizzazioni esclusivamente tramite browser, accedendo alle rispettive aree di
competenza tramite il proprio nome utente e la password
Non esistono, però, solo aspetti positivi, infatti coloro che intendono adottare
questo sistema devono tenere conto anche delle seguenti problematicità:
• essendo prodotti opensource, i codici sono a disposizione anche dei “male
intenzionati” per trovare eventuali falle nella sicurezza per poi compiere i
loro attacchi;
• rispetto ad un sito statico, se viene attaccato in particolare il database
dagli hacker, si rischia di perdere tutto (se l'amministratore non ha
provveduto a quotidiani backup);
• continue politiche di sicurezza e aggiornamento tramite installazioni di
patch per eliminare le eventuali falle presenti nel sistema;
• la politica degli accessi tramite modulo di inserimento con nome utente e
password, rende il sistema vulnerabile agli attacchi degli spambot (non a
caso molti di questi CMS hanno il modulo aggiuntivo “CAPTCHA” che oltre
a richiedere all'utente registrato il tradizionale accredito per entrare nelle
aree riservate, chiedono anche l'inserimento di alcuni caratteri trasmessi
in maniera casuale come immagini e non come testo);
non tutti i sistemi CMS rispettano le leggi sull'accessibilità, e anche quelli che la
rispettano alle volte, con l'inserimento di nuovi moduli o con una cattiva gestione
degli elementi multimediali, la compromettono.
Figura 7: gli spambot sono particolari programmi automatici
che navigano all'interno della rete alla ricerca di indirizzi e.mail
per effettuare poi operazioni di spamming. In genere ricercano
moduli compilabili (tipo quelli utilizzati per inserire nome utente
password per accedere ad aree protette) per poi effettuare il loro
attacco, inviando messaggi di spam tramite questi moduli. Per
ovviare a questo problema, sono stati introdotti i CAPTCHA
("completely automated public Turing test to tell computers and
humans apart – test di Turing completamente automatico per
indicare se sei umano o un programma di computer -"). Per
effettuare il login l'utente, oltre al normale accredito, deve
immettere anche i codici presentati tramite un' immagine
generata casualmente dal software.
6
Come si può ben comprendere, queste problematicità possono essere del tutto
assenti in un sito web statico.
Considerazioni
Adottare un sistema automatico per la gestione dei contenuti equivale ad avere
una struttura che può essere paragonata solo a quella di una redazione
giornalistica. Per un suo funzionamento produttivo è indispensabile un lavoro
coordinato di squadra, con relativa separazione dei compiti, delle responsabilità e
della tempistica, così da garantire un continuo aggiornamento e l'offerta
di servizi innovativi. Se c'è complessità in questo sistema, essa non deriva dalla
difficoltà tecnologica e informatica, ma dalla potenziale problematicità nella
creazione e gestione del gruppo redazionale. D'altro canto, se manca questo
requisito, è superfluo per una scuola dotarsi di una tale sistema in quanto
risulterebbe alla fine esteticamente un bel portale, ma intrinsecamente composto
da un insieme “di scatole cinesi”, senza reali risvolti contenutistici e di servizio
verso gli utenti interni ed esterni. In tal caso, è sufficiente il tradizionale web
statico informativo gestito e aggiornato, come accade il più delle volte, dall'unico
responsabile “informatico”. Conseguentemente, prima di intraprendere una
strada ben precisa, è importante per la scuola compiere una sorta di autoanalisi
di istituto finalizzata a determinare se esistono i requisiti e le risorse umane di
supporto, di continuità e di volontà per effettuare una determinata scelta e poi
sostenerla attivamente e produttivamente.
Bisogna riconoscere che l'orientamento generale di molte scuole - in particolare
per quanto riguarda gli istituti superiori - è fortemente orientata ai CMS rispetto
ai tradizionali siti statici, anche perché la richiesta da parte dell'utenza di servizi
ad hoc è maggiore (registro elettronico, controllo assenze, spedizione sms di
notifiche andamento allievi, comunicazioni scuola-famiglia in aree riservate,
portfolio elettronico), inoltre molti istituti superiori, in particolare i tecniciindustriali, dispongono rispetto agli altri ordini e gradi di scuola, anche di
maggiori e di diversificate risorse umane, tra cui il personale specialistico
informatico, in grado di installare e amministrare il sistema. Ne derivano, di
conseguenza, la certezza e la consapevolezza di una maggiore garanzia del
costante aggiornamento contenutistico e dei servizi innovativi offerti.
Esperimenti pratici
Come precedentemente accennato, i portali - per potere essere installati necessitano di più servizi web rispetto ai siti statici; i costi non variano però di
molto e normalmente si aggirano partendo dai 60-70 euro all'anno (somma che
comprende sia l'affitto dello spazio web sia il database MySql e il php). Il
software CMS opensource invece è del tutto gratuito, e in questo caso c'è solo
l'imbarazzo della scelta in quanto ne esiste un'enorme varietà, con diverse
caratteristiche e potenzialità adatte a tutte le esigenze sia scolastiche, sia
professionali. Per provarli, prima di installarli e capirne in grandi linee le
caratteristiche e le funzionalità, è opportuno visitare il seguente link:
http://php.opensourceCMS.com/scripts/show.php?catid=1&cat=CMS%20/%20Po
rtals
Sono presenti all'incirca 92 portali da provare, dai più famosi Joomla
Drupal
(http://www.drupal.it/),
Mambo
(http://www.joomla.it/),
7
(http://mambo-foundation.org/) e MdPro (http://www.maxdevitalia.com/) ai
meno conosciuti (almeno qui in Italia) ma sempre molto performanti come
Typo3 (http://typo3.it/), Glfusion (http://www.glfusion.org/) o Xoops
(http://www.xoopsitalia.org/).
Nel sito si possono tranquillamente utilizzare e mettere “sotto pressione” sia lato
amministratore sia lato front-end, attuando tutte le modifiche, le prove e gli
inserimenti possibili, senza alcun timore di rovinare qualcosa (in genere ogni
tante ore le modifiche apportate alle demo vengono cancellate). Nello stesso sito
sono presenti anche altri demo da sperimentare riguardanti ambienti e-learning,
wiki, blog, forum, groupware e altro, tutti sviluppati tramite php e MySql e per
certi versi integrabili con i CMS.
Esiste la possibilità - ma è necessario avere già conoscenze più approfondite di
questi sistemi, in particolare per ciò che concerne la loro installazione - di
sperimentare sul proprio computer un qualsiasi portale, creando in locale un
webserver dotato di php e MySql. E' necessario utilizzare uno di questi due
software gratuiti proposti:
• http://www.easyphp.org/
•
http://code.google.com/p/pampa-j/ (non necessita di installazione e
gira anche su chiave usb)
Una volta creato e attivato il server web nel proprio PC e i servizi necessari
(MySql e php), si può procedere all'installazione del CMS così come avviene
online (senza però doverne caricare i file e le cartelle tramite FTP). Il sito
dinamico creato è visibile solo ed esclusivamente nel computer, dove è stato
installato,
puntando
il
browser
all'indirizzo
standard
dei
localhost
http://127.0.0.1/ aggiungendo eventualmente il nome della cartella inserita con
file costituenti il CMS.
i
R.S.S. acronimo di Really Simple Syndication è un sistema di trasmissione automatico di news, in pratica se in
un sito compatibile in ricezione si inserisce il file xml di comunicazione-abbonamento news proveniente da
un altro, automaticamente riceverà le notizie di quest'ultimo nel momento stesso in cui verranno inserite.
8