Sebbene possa apparire strana la scelta di ASP per un prodotto open source il fatto che un'applicazione venga sviluppata in un linguaggio proprietario, come quello delle Active Server Page, non implica di per sé che non possa essere rilasciata con licenza GPL o affine. D'altra parte esempi come DotnetNuke o CMS.Net dimostrano come sia possibile reperire ottimi prodotti free anche in ASP.
COSA OCCORRE
I requisiti necessari per l'installazione di OpenASP sono due: sistema operativo Windows e Web Server IIS. E il database? Una delle caratteristiche di questo CMS è che supporta nativamente ben tre tipi di database differenti, adattandosi facilmente alle necessità di qualsiasi utente.
Figura 1 - Il Control Center è un'area semplice e razionale: gli strumenti sono raggruppati per categorie nei diversi tab
La prima scelta ricade senza dubbio su SQL Server, ma chi non dovesse averne uno a disposizione può tranquillamente usare MySQL o Access. L'installazione vera e propria non necessita di alcuna conoscenza di ASP o HTML, pertanto è perfettamente alla portata di chiunque, anche se è ovvio che le basi di entrambi i linguaggi possono sempre tornare utili. Nel seguito utilizzeremo lo spazio concessoci da 7Host.it, un servizio di hosting gratuito che supporta ASP con database Access. Il sito completo è disponibile all'indirizzo http://free.7host07.com/goonline/, per cui è a quell'indirizzo che faremo riferimento in seguito come root o directory principale del sistema. Per procedere all'installazione, preleviamo il CMS all'indirizzo http://official.openasp.it . Sarà sufficiente scompattare il file compresso (.zip) e caricare il contenuto della cartella openasp nella directory principale del sito. Molto importante è che le cartelle public e mb-database abbiano i permessi di lettura e scrittura, dopodiché ad agevolarci il compito penserà il wizard di configurazione del CMS. Basterà infatti richiamare la home del nostro sito e seguire le istruzioni a video.
IL PANNELLO DI CONTROLLO
Il Control center (Figura 1) presenta un'interfaccia gradevole e ben strutturata grazie ad un uso sapiente dei CSS e di librerie basate su JQuery. Sono presenti ben otto tab che servono ad individuare le principali categorie, all'interno delle quali è possibile disporre di differenti strumenti di amministrazione. Senza soffermarci su tutte, è però importante notare il risalto dato a temi come sicurezza e gestione degli utenti, con strumenti utili e semplici da usare: OpenASP integra un firewall che consente di filtrare ed escludere gli Ip indesiderati, un sistema di blocco degli spybot ed un sistema rapido per la gestione degli utenti e per la pulizia delle registrazioni pendenti.
Figura 2 - L'installazione in 7 passi prevede anche un controllo dei componenti necessari a far funzionare il CMS
L'attività principale di un CMS sta, però, nella creazione e gestione dei contenuti ed è su tale funzione che ne va valutata principalmente la qualità. Da questo punto di vista, OpenASP è strutturato attorno ai concetti di pagina e di articolo. Una pagina è un elemento composto da titolo, permessi di visibilità, un template di riferimento, un insieme di tag e una o più traduzioni. Anche se non sempre è necessario, infatti, il CMS è già predisposto per fornire un supporto multilingue (Figura 2). L'articolo, invece, è uno strumento che permette di raccogliere al proprio interno più pagine. Se volessimo creare un libro, anche a più mani, potremmo progettare un nuovo articolo e popolarlo di pagine che ne comporrebbero in qualche modo i capitoli. La struttura dell'articolo è apparentemente rigida ma consente un controllo piuttosto stretto sui contenuti e obbliga gli autori ad organizzare concettualmente al meglio le proprie idee prima di procedere allo svolgimento. D'altra parte, a smontare la rigidità del modello, vengono in aiuto i tag che definiscono ogni singola pagina e che servono sia come base di indicizzazione per la ricerca interna al CMS, sia per poter creare sezioni tematiche per parole chiave. Una volta chiariti questi concetti, la costruzione del nostro sito di prova
dovrebbe risultare molto più semplice. Immaginiamo di voler creare un semplice sito fatto da Home Page, una sezione di News ed un About us, possiamo procedere in questo modo:
1) modifichiamo i contenuti della Home Page;
2) inseriamo la pagina di About Us;
3) creiamo l'articolo News;
4) carichiamo nuove pagine all'interno di News.
La Home Page è la prima pagina creata di default durante l'installazione e contiene il messaggio di benvenuto al sito. Per cambiarla sarà necessario andare sul pannello di amministrazione, cliccare su contenuti e scegliere gestione pagine. Questa sezione contiene una riga per ogni pagina creata e, ovviamente, all'inizio l'unica riga presente è la Home. Gli attributi presenti nella riga sono tutti modificabili. Le icone sono intuitive e servono rispettivamente ad accedere al pannello di gestione delle traduzioni, eliminare la pagina, salvare le modifiche eventualmente fatte agli attributi. Per modificare una pagina, accediamo al pannello delle traduzioni e clicchiamo sull'icona con la matita. L'ambiente di editing presenta un editor WYSIWYG completo, realizzato con TinyMCE, che consente la formattazione dei testi anche senza conoscere l'Html. Cancelliamo il messaggio che appare e scriviamo al suo posto il nostro benvenuto (Figura 3).
Figura 3 - La presenza dell'editor visuale TinyMCE permette la formattazione anche a chi non conosce l'HTML
COME CREARE UNA NUOVA PAGINA
Per creare una nuova pagina, torniamo in gestione pagine e clicchiamo su Aggiungi un nuovo elemento alla lista, inseriamo il titolo, definiamo i diritti di accesso, il template di riferimento ed i tag e clicchiamo sul segno "+" per accedere alla gestione delle traduzioni. L'iter da seguire è lo stesso utilizzato per modificare la home page, per cui non ci soffermeremo a descriverlo. Leggermente più lungo è, invece, quello per la creazione degli articoli. In questo caso, dal tab contenuti andremo a selezionare gestione articoli. Un articolo è contraddistinto dal titolo e dalle pagine che lo compongono. Nella fase di creazione, tutto quello che dobbiamo fare è:
1) cliccare su Aggiungi un nuovo elemento alla lista;
2) scrivere News nello spazio riservato al titolo dell'articolo;
3) cliccare sul segno di spunta in fondo alla riga;
4) cliccare sul segno più con la nuvoletta per cominciare ad inserire pagine nell'articolo.
Una volta creati i contenuti bisognerà renderli fruibili attraverso appositi link. Un modo per farlo è creare un blocco ex novo ed inserire manualmente i link. Un modo più furbo consiste nell'inserire direttamente le nuove voci all'interno del blocco laterale Menù. Si tratta di un elemento predefinito del CMS e, pertanto, non dovrebbe essere modificabile da parte dell'utente. Siamo però in presenza di un elemento particolare, per cui gli sviluppatori hanno previsto comunque un sistema che consenta all'amministratore di aggiungere, eliminare, ordinare contenuti. Vediamo come farlo: dal Control Center, clicchiamo su Contenuti e selezioniamo gestione indici, scegliamo il menù da modificare e clicchiamo su entra in modifica. Lì troveremo una serie di voci che possono essere spostate semplicemente trascinandole col mouse (Figura 4).
Figura 4 - La presenza di Ajax facilita molto le operazioni di routine, come la gestione dei blocchi laterali
Aggiungiamo un nuovo elemento scegliendo tra Indice ancora per linkare i contenuti interni al sito e Indice link per linkare risorse esterne al sito. Nel form di compilazione del nuovo indice possiamo inserire una serie di elementi più o meno importanti tra cui: il nome del link, il testo alternativo da far comparire al passaggio del mouse, una eventuale access key per richiamare il link da tastiera, un eventuale nodo padre nel caso in cui volessimo costruire un menù a più livelli, il modulo e la pagina o l'articolo a cui far puntare il link. Inseriamo i dati richiesti e osserviamo il risultato in home page. Oltre al blocco menù, OpenASP ha già una serie di altri blocchi laterali di default che non possono essere modificati ma solo disattivati o riordinati grazie al sistema di drag'n drop che abbiamo appena visto. La creazione di un nuovo blocco definito dall'utente, però, è piuttosto semplice e sfrutta l'ormai ben nota ed onnipresente interfaccia TinyMCE.
Figura 5 - La presenza di un file manager consente di caricare file esterni senza doversi collegare via ftp
TEMI PERSONALIZZATI
Come si può notare, abbiamo costruito un sito internet completo e facile da gestire in pochi minuti e senza scrivere una riga di codice ma non abbiamo ancora messo mano alla parte grafica. La dotazione di base di OpenASP comprende, tra le altre cose, quattro diversi temi
grafici. Prendendo come base theme-blue, andiamo a crearne uno nuovo: creiamo una nuova cartella in /themes e chiamiamola theme-goonline (Figura 5). Al suo interno dovranno trovar posto la cartella img, contenente le immagini del nuovo template ed i seguenti file:
Il primo file, master.css, è comune a tutti gli stili, mentre gli altri concorrono in coppia a definire la particolarità di ciascuno dei tre livelli di usabilità previsti: normal, big, contrast. Il file structure.xml, infine, contiene lo schema delle pagine ed è lì che dovremo intervenire per modificare la struttura del sito (Listato 1). Lo schema prevede una soluzione differente per ogni possibile layout del sito. L'attributo Name dell'elemento theme contiene il nome del tema nella forma Theme-nome, mentre i campi CDATA all'interno degli elementi operation contengono il codice html da utilizzare per comporre le pagine. Nel nostro caso, la scelta è caduta su una struttura a due colonne, in cui la colonna di destra è stata portata sotto quella di sinistra, dalla quale differirà solo per il colore di sfondo. Per far ciò abbiamo adottato lo schema riportato nel Listato 2. Osservando tale listato, possiamo notare come la colonna sinistra e la colonna destra si trovano entrambe all'interno del div navigazione, mentre quella centrale sta all'interno del div contenuti. La sintassi usata per la struttura è completata da pseudo funzioni e pseudo variabili del tipo {@FUNC_BLOCCHI_SX} utilizzate dal motore di rendering per strutturare la pagina e la cui lista completa è contenuta anche nel file structure.xml. Per
![]()
Figura 6 - Creare temi è semplice e rapido: ecco come può cambiare l'aspetto del sito in poco tempo
dare l'effetto desiderato, abbiamo inserito i seguenti stili in normal.css (Listato 3). Particolare attenzione è stata poi utilizzata, nella definizione della struttura dei blocchi laterali (Listato 4). l'id univoco dato al div ci permetterebbe, volendo, di dare una veste grafica differente a ciascun blocco. L'effetto complessivo può essere visto online all'indirizzo http://free.7host07.com/goonline/. (Figura 6)
CONCLUDENDO...
OpenASP 3.0 è un CMS semplice tanto da installare quanto da usare anche se, proprio per il fatto di essere ancora in beta release, presenta piccole sbavature, come gli errori VBSCRIPT che compaiono di tanto in tanto inaspettatamente per poi svanire al primo refresh (Figura 7). Un altra piccola pecca è costituita dalla mancanza di moduli aggiuntivi, anche se è facile immaginare che appena il codice sarà stabile verrà effettuato il porting quantomeno dei più importanti moduli attualmente disponibili per la versione 2.0. Si tratta, in ogni caso, di un prodotto molto interessante e sicuramente da tenere d'occhio in attesa del rilascio della versione definitiva.
Figura 7 - Se qualcosa non è chiaro, lo staff di OpenASP è sempre pronto a dare una mano anche in chat