Tema dell'Elaborato

di Applicazioni Web; Anno Accademico 2005/06. Docente Matteo Vaccari

Regole

  1. L'elaborato consiste in un'applicazione web, corredato di documentazione
  2. L'applicazione deve essere basata su Ruby on Rails, e deve essere installata e funzionante sul server di laboratorio (pisolo.sciva.uninsubria.it). Per avere accesso occorre fare richiesta.
  3. L'installazione deve essere basata su CGI. Non accetto installazioni basate su Webrick (cioè url con :3000 o simili)
  4. Lo studente ha facoltà di sviluppare su di un computer privato, ma l'elaborato verrà valutato solo se installato su Pisolo.
  5. Il lavoro è da svolgersi in coppia; non sono ammesse terne. Solo nel caso lo studente sia lavoratore o abbia qualche problema particolare per cui non può lavorare in coppia, è ammesso realizzare l'elaborato da soli.
  6. E' ammesso discutere il problema fra studenti; ma non è ammesso scambiarsi programmi o frammenti di programma.
  7. L'elaborato va consegnato entro tre giorni dalla data dell'appello; se per esempio l'appello è il giorno 10, l'elaborato va consegnato entro la mezzanotte del giorno 7. La consegna consiste semplicemente nel mandarmi un'email con i vostri nomi e la url dove è installata l'applicazione (es. http://pisolo.sciva.uninsubria.it/~xy123456/)
  8. Le pagine dell'applicazione devono avere la seguente indicazione in pié di pagina:
      Autori:    Rossi Paolo 123456 e Bianchi Mario 234567
      Appello:   febbraio 2006
      
  9. La realizzazione di questo elaborato è condizione necessaria per superare l'esame. Una volta consegnato l'elaborato, e solo dopo aver consegnato l'elaborato, potrete dare lo scritto.

Tenete d'occhio il forum per gli annunci e gli aggiornamenti.

Una sistema di gestione dei contenuti

Il termine CMS (Content Management System) può significare diverse cose. Ci sono applicazioni molto diverse che si possono definire CMS. Possiamo distinguere questi tipi di CMS (vedi questo articolo di Seth Gottlieb per maggiori informazioni):
  1. La brochure aziendale online. E' una pubblicazione essenzialmente a senso unico, dall'azienda al pubblico. Il contenuto è relativamente statico. L'uso di software di gestione dei contenuti permette al personale dell'azienda di preparare e modificare i contenuti, senza dipendere dall'agenzia che ha realizzato il sito web. Esempi: www.fiat.it, www.kel12.com.
  2. Il periodico online. Il CMS deve fornire sofisticati modelli di controllo editoriale. In generale non è sufficiente un semplice workflow in due passi. Inoltre devono essere in grado di strutturare il contenuto in diversi formati, per Web, email, wireless e per gli aggregatori di notizie. Esempi: www.salon.com
  3. Il workspace collaborativo. Lo scopo è creare un deposito centrale di informazioni per un'azienda o una comunità. E' fatto perché gli utenti possano facilmente contribuire contenuti; quindi la comunicazione non è a senso unico. La versione più semplice è il wiki (es. la Wikipedia). Un possibile problema dei wiki è la totale mancanza di struttura; alcune organizzazioni preferiscono organizzare i contenuti in gerarchie. Inoltre il tipico wiki permette a tutti di editare tutto. Molte organizzazioni non posseggono la cultura wiki che è necessaria perché questo sistema funzioni. Un esempio di sistema per workspace collaborativi che fornisce gerarchia di contenuti e un modello di autorizzazione flessibile è plone, oppure, se vogliamo uscire dall'ambito del software libero, Sharepoint.
  4. La comunità online. In spirito può essere simile al workspace collaborativo (photo.net) oppure al sito di notizie (slashdot.org).
  5. Il sistema di gestione di documenti non-web. Si occupa di indicizzare, catalogare, e rendere cercabili e disponibili online una collezione di documenti. Questi possono nascere in forma digitale (Word, Excel, Pdf) oppure possono essere documenti cartacei scannerizzati ed analizzati con OCR.
Il sistema che dovrete realizzare è simile al workspace collaborativo. Per ispirazione potete guardare come funzionano plone oppure textpattern.

Requisiti

Articoli. Gli utenti possono scrivere articoli. Un articolo è composto per lo meno da: un titolo, un sommario, e un testo più o meno lungo.
Parte pubblica. Gli utenti, anche non registrati, possono visitare il sito e leggere gli articoli.
La pagina principale mostra un elenco di tutti gli articoli disponibili, con il titolo e il sommario. Cliccando sul titolo dell'articolo si arriva su una pagina che contiene il testo completo dell'articolo.
Autenticazione e autorizzazione. Solo gli utenti registrati possono scrivere articoli.
Registrazione utenti Gli utenti possono registrarsi tramite una semplice form online. Per ogni utente vanno raccolti almeno: nome, cognome, nick, email.
Versionamento Ogni volta che un articolo viene modificato, si salva la versione precedente. Per ogni articolo si possono leggere le versioni precedenti
Date di rilascio e scadenza Un articolo può avere una release date e/o una expiry date. L'articolo non deve essere visibile prima della data di rilascio né dopo la data di scadenza.
Workflow Gli articoli sono pubblicati solo se approvati da un editor. Alcuni utenti sono ``editor''. L'editor può approvare o rifiutare un articolo. Vedi diagramma degli stati: stati in cui può trovarsi un documento
Pannello di controllo Ogni utente (normale o editor) ha un pannello di controllo. Per un utente normale, contiene un elenco di tutti gli articoli che l'utente ha in stato di lavorazione, un elenco di tutti gli articoli che sono in stato "in attesa di approvazione", e un elenco di tutti gli articoli in stato "rifiutato". Per un utente editor, contiene un elenco dei documenti sottomessi per approvazione.
Documentazione La documentazione di progetto deve essere consultabile online alla url http://pisolo.sciva.uninsubria.it/~xy123456/doc/. Deve contenere:
Nota: i seguenti due requisiti sono facoltativi per gli studenti che danno l'esame a febbraio 2006. Diventano obbligatori a partire da aprile 2006.
Amministratori Gli utenti ``admin'' possono editare e modificare tutti i dati degli utenti, e assegnare o rimuovere lo status di editor
Commenti Il pubblico può aggiungere commenti a un'articolo. I commenti vengono visualizzati sulla pagina di dettaglio dell'articolo.
Il seguente disegno mostra la struttura di navigazione per un utente registrato normale (non editor). schema di navigazione nel sito

Criteri di valutazione

Il sito verrà valutato in base ai seguenti parametri, elencati senza ordine di importanza: Eventuali estensioni, se ben realizzate, potranno valere punti extra. Ispiratevi a Textpattern o Plone per vedere quali feature potete implementare.