phpBB back to the future
OpenForum API è un insieme di API realizzate in PHP che permettono di comunicare con forum basati su phpBB (che rappresenta buona parte dei forum in rete) attraverso delle API (funzioni) che possono essere chiamate tramite XML-RPC (Remote Procedure Call), e quindi da qualsiasi client esterno (un pò come in Wordpress).
Durante lo sviluppo di OFAPI ci siamo necessariamente dovuti imbattere nella (contorta) comprensione del funzionamento del motore phpBB. Ora, benchè ci sia da premettere il fatto che nessuno dei due abbia avuto mai a che fare con altri motori di forum, possiamo comunque dire con (pacata) certezza che quel codice fa paura: vuoi un pò per PHP che fa minestra di codice e template (magari se siete nati programmatori web neanche ci fate caso… tutta la mia compassione), vuoi per il fatto che la struttura del forum non comprende un set di classi o anche solo di funzioni che possano essere chiamate anche da altri file esterni (il codice è messo all’interno dei file che lo usano come una lunga procedura in stile procedurale)… insomma è stato un vero incubo.
In verità ho anche provato a parlare con qualche sviluppatore interno ma senza ottenere grandi riscontri: alla domanda “ma perchè non avete fatto -almeno- delle funzioni anzichè appiccicare il codice così?” la risposta è stata “è più veloce”.
… Si, magari posso essere anche un pò d’accordo (anche se ho il forte sospetto che in termini pratici quel guadagno sarà comunque trascurabile), ma avete creato un mostro (da mantenere) solo per questo motivo? Poi probabilmente si è stizzito e mi ha lasciato senza una risposta.
Se qualcuno si sta chiedendo per caso come è la documentazione si metta l’anima in pace: le poche funzioni che sono documentate non coprono certamente la vastita del progetto (spesso e volentieri vengono listati i parametri ma senza speficarne l’uso) e i commenti al codice sono come pietre preziose… rare (ma soprattuto non preziose visto che in parecchi casi sembrano dei messaggi ad altri sviluppatori).
Insomma come progetto open mi aspettavo certamente una cura maggiore (lo stesso OFAPI, è doveroso ammetterlo, soffrirà parecchio di questa fragilità… in pratica modifiche interessanti al codice del core dovranno essere riportare in ofapi che in diversi casi non fa altro che duplicarle). Spero invece che vbulletin sia curato maggiormente da questo punto di vista.
Tutto il mio rispetto per un progetto così famoso ed usato… ma per pietà fate un passo in avanti, gli anni del PASCAL sono finiti da un pezzo (con tutto il rispetto per il PASCAL).






