venerdì 25 settembre 2009

Realizzare un cms con symfony

Come promesso la volta scorsa vediamo qualche dettaglio sull'applicazione che svilupperemo con symfony. Trattandosi di un framework è evidente che symfony consente la realizzazione di qualsiasi tipo di applicazione, io per questa serie di articoli ho scelto di sviluppare un semplice (ma espandibile) gestore di contenuti.

Con tutte le piattaforme blog e i cms disponibili si potrebbe chiedere che senso abbia svilupparne uno con un framework. Mi vengono in mente alcune possibili riposte, elencate in ordine di importanza:

  • Perché può essere divertente farlo;
  • Perché mentre lo si fa si rischia di imparare qualcosa;
  • Perché si ha l'opportunità di costruirsi un prodotto su misura per le proprie esigenze.

Le funzionalità iniziali del cms saranno le seguenti, di sicuro mi dimentico qualcosa:

  • Gestione di più tipologie di contenuto;
  • inserimento contenuti da backend e frontend anche con editor WYSIWYG;
  • catalogazione dei contenuti in categorie, sottocategorie nidificate in più livelli;
  • "alberi" di categorie diversi a seconda del tipo di contenuto;
  • gestione dei commenti;
  • gestione feed;
  • URL semplificate o URL SEF come si preferisce chiamarle.

Ecco almeno a grandi linee come si procederà. Dopo la creazione della struttura del database e l'inserimento di alcuni dati iniziali si inizierà lo sviluppo del frontend: visualizzazione articoli in prima pagina (con sommario e link 'leggi tutto'), visualizzazione articolo a pagina intera, creazione e modifica articoli, inserimento commenti, visualizzazione articoli per categoria.

Si passerà poi al backend: gestione categorie, che si chiameranno etichette e saranno suddivise in cataloghi, gestione articoli e commenti (approvazione, modifica, cancellazione), a seguire una iniziale gestione utenti.

Il primo traguardo è arrivare ad un'applicazione in grado di gestire un blog personale o comunque un sito in cui la gestione dei contenuti sia centralizzata nelle mani dell'amministratore. Inizialmente sarà disponibile un solo tipo di contenuto (articolo) e il tutto sarà abbastanza spartano. Da lì si partirà per perfezionare le funzioni esistenti, migliorare la gestione utenti e sviluppare la gestione di ulteriori tipi di contenuto.

Serve a questo punto dare un nome all'applicazione, mi è piaciuto Lyra, scegliere una licenza, la mia preferita è la GNU/GPL (versione 2) e infine predisporre un repository per il codice perché sarebbe impossibile allegare i listati nel blog. A questo scopo ho scelto Google Code. L'uso di un repository Subversion permette tra l'altro di avere sempre a disposizione i vari stadi dello sviluppo dell'applicazione (attraverso le diverse revisioni) e quindi di seguire meglio il filo del discorso.

Dalla prossima volta inizieremo in concreto lo sviluppo.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.