Openpolis, Voi siete Qui e Symfony

Martedì 1 Aprile 2008 - 08:36

di Simone Carletti

PHP e Open Source

Politica, PHP e Symfony: cosa hanno in comune questi 3 elementi? La risposta si chiama: Openpolis. Non mi stupirei se qualcuno, tra di voi, avesse già sentito parlare di questo sito o del progetto Voi siete qui.

Ma che cos’è openpolis?

openpolis è un progetto no-profit dell’associazione depp (democrazia elettronica partecipazione pubblica) e della comunità di diverse persone che hanno collaborato, tra le quali: Alessandro Curci, Giuseppe Caprarelli, Alessandro Giangiulio, Raimondo Fanale, Luca Soda, Andrea Monti, Renato Minei, sal.

In tutto questo, al di là dell’argomento politica, c’è un elemento molto interessante che vorrei segnalarvi. Openpolis è interamente sviluppato in Symfony, un framework emergente per PHP 5 che ho già citato altre volte in questo blog.

L’intero codice sorgente del progetto abbraccia la filosofia opensource ed è rilasciato con licenza GNU/GPL.

In altre parole, il sorgente del sito scritto con Symfony è liberamente consultabile, gestito da un repository SVN ed un’installazione di Trac. Si tratta senz’altro di un’ottima case study per chiunque, come me, è appassionato della lettura di sorgenti altrui e non perde occasione per navigare repository aperti a caccia di idee, suggerimenti ma, soprattutto, per imparare e crescere professionalmente.

Come è facile prevedere, non ho resistito alla tentazione di curiosare il sorgente di OpenPolis.

In linea generale la qualità del codice è buona, anche se per certi versi migliorabile. Purtroppo l’abitudine di non inserire nel commento dei commit l’ID del ticket (esempio #24) rende impossibile tenere traccia della relazione tra le modifiche e le issue gestite con Trac. In altri termini: a quale ticket fa riferimento il changeset 239?

Il sito utilizza Markdown in alcuni punti. Gianluca, se sei all’ascolto dai uno sguardo al mio plugin sfMarkdownPlugin.

A proposito, dovrò eseguire il commit delle ultime modifiche che stagnano da anni nella mia working copy!

La cartella config del repository è esclusa dal controllo di versione (vedi proprietà svn:ignore) e questo rende del tutto inutilizzabile il progetto per altri scopi.

Infatti, manca completamente il file schema.yml (o .xml) necessario a Propel per generare la struttura del modello, nonché i vari file databases.yml, propel.ini e properties.ini.

Probabilmente la motivazione è non rendere visibili le password normalmente salvate nel file password.yml ma, di fatto, questo invalida quasi del tutto l’utilità didattica del repository per chi volesse appronfondire la conoscenza di Symfony. Senza questi file, infatti, è impossibile scaricare il sorgente ed avviarlo.

Ad ogni modo, Openpolis resta un progetto Symfony molto interessante da curiosare e vale la pena dedicarci qualche minuto, soprattutto se rientrate nel gruppo degli utenti di questo framework.

Tags:

Categoria: PHP e Open Source | Permalink

Commenti

1

Volevo dare un’occhiata al codice e ho fatto un giretto ma di PHP non ho visto niente.
Una cartella “config” con i file che elencavi tu l’ho trovata qui.

# - postato da Mattia - 01 Aprile 2008 - 09:52

2

Alla pagina trac.openpolis.it/openpolis/wiki/HowToInstall
ci sono le spiegazione per installare l’intero progetto compreso il db

# - postato da Carmel - 01 Aprile 2008 - 21:00

3

Ciao,
sono il maintainer del codice di openpolis e voisietequi. Hai ragione, la config l’ho rimossa per evitare di lasciare le password in chiaro, ma anche perché tra i diversi ambienti di viluppo e produzione mi generava iun bel pò di casino.

Comunque, nel wiki, a questo indirizzo: http://trac.openpolis.it/openp.....wToInstall
trovi le istruzioni per installare il progetto su una macchina.

E’ un tutorial scritto con un amico, per farglielo installare, al tempo lo abbiamo testato e migliorato. Potrebbero esserci un pò di casini con il DB, che nel frattempo è cambiato, in caso scrivimi che ti do una mano.

Mi fa un piacere enorme che ci sia qualcuno che abbia voglia di curiosare nel codice.

Per quanto riguarda i commit legati ai ticket … non è il solo punto nero della nostra metodologia. Ad esempio, mancano del tutto i test automatici (che pure Symfony prevede)…
Si impara a poco a poco.

# - postato da Guglielmo - 06 Aprile 2008 - 13:54

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento