Solo il blog di un altro web designer.
Postato il 16 Marzo 2007
Ho preso la decisione, neanche poi troppo sofferta, di costruirmi il mio blog da solo e non appoggiandomi più ad applicazioni realizzate da altri. Quando si parla di sistemi di pubblicazione, le scelte non sono poi moltissime, e ho trovato che ognuna di esse non riuscisse a soddisfare appieno le mie richieste.
WordPress, che è la piattaforma su cui oggi si basa il blog che state leggendo, è decisamente troppo poco modulare per i miei gusti, e sebbene si possa fare virtualmente di tutto tramite quella moltitudine di plugins esistenti, è anche vero che è realizzato in modo troppo confusionario. “Spaghetti code”, direbbero alcuni.
Textpattern, al contrario, è programmato molto meglio, ma a volte è un po’ limitato e se si vuole creare qualcosa che va un po’ al di là dell’uso “canonico” dell’applicazione si possono incontrare delle grane.
Non ho ancora avuto modo di testare Expression Engine in modo approfondito, ma la sua interfaccia di amministrazione sulle prime non mi ha convinto molto.
E’ uscito da poco, ma si sta facendo strada abbastanza velocemente, Symphony, un innovativo sistema di pubblicazione a detta degli sviluppatori 100% standard, e che basa il suo sistema di templates su XML e XSLT. Innovativo, giovane, ma indubbiamente promettente. Tuttavia, proprio per il fatto di essere nuovo, ho trovato un po’ di difficoltà ad aggiungervi le funzionalità che mi servivano, e pertanto, al momento, l’ho accantonato.
Queste, in sostanza, le ragioni per cui ho deciso di costruirmi il mio sistema di pubblicazione da solo. Nessuno può soddisfare meglio le nostre richieste di noi stessi, e dunque, armato di CakePHP e tanta buona volontà, seguendo gli esempi di chi prima di me (H3rald, Jonathan Snook) ci ha già provato, ho deciso di intraprendere questa strada.
Prima di approcciarmi alla realizzazione vera e propria del blog (che comunque vedrà la luce tra un bel po’ di settimane, non voglio forzare i tempi in nessun modo), ho fatto un po’ di ricerche.
Essenzialmente le mie preoccupazioni sono tre: la sicurezza, la capacità della mia futura applicazione di gestire chiamate mediante il protocollo XML-RPC e la potenziale vulnerabilità del nuovo sistema nei confronti di quella piaga del mondo moderno che risponde al nome di spam.
Il primo aspetto dei tre citati è l’unico che mi desta ancora qualche dubbio. Normalmente userei normalissime sessioni che terminano alla chiusura del browser, ma in CakePHP esiste un componente “Session” che in pratica le gestisce come cookies di durata prestabilita (20-30-40 minuti). Se qualcuno può darmi una dritta a riguardo gliene sarei molto grato.
Sicurezza a parte, è il fatto che le sessioni prima o poi scadano a preoccuparmi. Non vorrei perdere magari un intero articolo, solo per essermi dimenticato di salvarlo prima della scadenza del cookie.
Per quel che riguarda, ad esempio, il ping di Technorati tramite XML-RPC, questo snippet direi che risolve la questione.
Infine, arriva il difficile. Lo spam si evolve di giorno in giorno, ed è quindi difficile tenerlo a bada. Textpattern implementa un sistema semplice ed efficace, che consiste nel visualizzare prima un’anteprima del messaggio, attivata dalla pressione del pulsante di submit, e solo successivamente inserire il commento nel database, mediante la pressione dello stesso pulsante.
Andy Dawson invece, propone una tecnica alternativa, e in sé piuttosto semplice: inserire dei campi nascosti, rigorosamente vuoti, all’interno del nostro form di commento.
Se tali campi rimangono vuoti anche dopo aver inviato il form, allora vuol dire che è stato un utente umano a premere il pulsante; in caso contrario, beh, sappiamo che contromisure prendere.
Per terminare questa piccola carrellata sulle tecniche antispam, possiamo sempre rifugiarci adoperando il caro Akismet, che, per chi non lo sapesse, non è soltanto un plugin destinato all’uso esclusivo degli utenti di WordPress.
Felix Geisendörfer ha infatti realizzato un semplice controller che filtra i commenti inoltrandoli al server di Akismet, e attende la sua risposta per pubblicarli o meno.
Al momento non sono presenti riferimenti esterni per questo articolo.
By Andrea Gandino — XHTML + CSS.
Ma non sapevo di questa versione del blog in italiano. Aggiunta subito al feed reader! :)
In bocca al lupo per il tuo CMS…e tienici aggiornati…