Tecnologia

La piattaforma CampusNet consiste di trenta database relazionali gestiti dal kernel WODA (Web Oriented DAtabase) attraverso dei file di definizione scritti in Perl. L'architettura di CampusNet garantisce un'elevata velocità di esecuzione e questo rende i siti facilmente navigabili con qualsiasi tipo di connessione. La grafica risulta accessibile con qualsiasi tipo di browser. La struttura modulare del software permette una facile integrazione di CampusNet con altri servizi web.

Attraverso l'utilizzo delle direttive "VirtualHost" di Apache una sola installazione di CampusNet è in grado di gestire centinaia di siti web distinti, ognuno dedicato ad un particolare percorso formativo.

La sintassi delle ricerche

Oltre al testo, le ricerche nei database prevedono l'uso delle espressioni regolari. Ciò permette di creare pagine web con contenuti diversi a seconda della stringa di ricerca inserita nello URL. Per esempio:

Per cercare l'elenco dei corsi del primo anno:
{anno} =~ m/1°/

Per cercare i corsi di 'Lettere' ma non quelli di 'Lettere moderne':
{ccl} =~ m/Lettere/i and {ccl} !~ /moderne/i

Per cercare i record data antecedente al 6 febbraio 2009:
{data} lt "2009/02/06"

Autenticazione

Campusnet prevede quattro tipologie di utenti: Guest, Studenti, Docenti e Admin. L'autenticazione degli utenti può essere fatta attraverso una tabella utenti interna a CampusNet, mediante un server LDAP esterno oppure mediante il sistema di autenticazione federata Shibboleth. E' anche possibile l'utilizzo simultaneo dei diversi sistemi di autenticazione.

Javascript e Ajax

Procedure in Javascript vengono usate in molte pagine di CampusNet per assolvere funzioni a livello client. Tutti i javascript sono stati verificati con i più diffusi browser web. Di default CampusNet include la libreria Javascript "Prototype" le cui funzioni possono essere utilizzate anche per la creazione di pagine web personalizzate. Inoltre CampusNet prevede la possibilità di utilizzare la tecnologia Ajax per reperire i contenuti delle pagine in modo asincrono.

L'esempio seguente mostra come creare una DIV contenente gli ultimi cinque avvisi:

<div id="ultimiavvisi"></div>

<script language="javascript" type="text/javascript">
	var url = '/cgi-bin/avvisi.pl/Search';
	var pars = 'nohead=1&nofoot=1&noindex=1&max=5';
	var target = 'ultimiavvisi';	
	var myAjax = new Ajax.Updater(target, url,
		{method: 'get', parameters: pars});
</script>

Graphical User Interface

L'inserimento di testo formattato in un ambiente con multiutenza può essere un problema in quanto la formattazione del testo è fondamentale per la sua leggibilità. Per questo motivo molti dei campi textarea delle form di CampusNet vengono resi "user-friendly" attraverso la GUI di TinyMCE. Questo editor HTML permette di formattare testo, creare tabelle, inserire immagini in modo analogo ai programmi desktop di video scrittura. La formattazione del testo viene mantenuta anche a seguito di operazioni di copia e incolla da altri programmi.

Compatibilità browser

Le pagine create da CampusNet sono supportate dai browser più diffusi. CampusNet è stato testato con successo con i seguenti browsers: Internet Explorer, Firefox, Opera, Chrome, Safari.