IMHO siamo giunti al termine dei lavori 🙂 . C’ho lavoricchiato la sera e nel tempo libero e penso di aver raggiunto un buon compromesso fra usabilità, semplicità ed efficacia.
A breve cambierò piattaforma. Ormai è deciso! Devo solo aggiustare le ultime cose e fare in modo di non perdere dati o non causare troppi broken link passando sul nuovo server.
Ora, sempre sperando in vostri consigli, critiche e fanculizzazioni, vi racconto un po’ come sarà.
Semplicità
E’ stato il mio core fin dall’inizio. Semplicità è uno dei punti fermi di dblog. Poche fondamentali opzioni, che non pregiudicano la possibilità di personalizzazione della piattaforma.
Il pannello di controllo prevede solo 9 finestre principali, ed avrei potuto farne anche meno, ma ho scialato 🙂
Anche la multiutenza è di fatto minimale. Ho impostato due gruppi in default. Uno amministratore, con accesso a tutto, ed uno publisher, che può gestire gli articoli da lui stesso scritti (ed i relativi commenti).
Lo so che va molto di moda il settaggio speculare dei permessi utente, ma dopo tutto è un blog, costruito sulle mie esigenze, e se mai ci sarà uno nuovo redattore, vorrei non avesse accesso ad impostazioni delicate, ma lasciarli massima libertà di postare e controllare i suoi di post.
Ho cercato di fare in modo che l’interconnessione logica delle impostazioni di sistema, siano in grado di creare codice XHTML valido. E con questo non intendo la validazione w3c, ma le impostazioni che spesso si trovano sconnesse in altri CMS.
Non entro nel merito, ma potersi impostare il charset permette di creare buon persing con l’utilizzo di funzioni specifiche, ed allo stesso tempo crea dei meta coerenti con tutto il resto.
Categorie e Tag
Questo commento di Paperino mi ha convinto ad inserire le categorie in aggiunta ai tag. Ovviamente abilitato il multitagging anche delle categorie, che comunque, rispetto alla mia gestione, non saranno mai una marea 🙂
RSS
Ho dato grande importanza agli RSS. Sono presenti:
- RSS Generale
- RSS dei commenti
- RSS dei commenti per singolo post
- RSS delle categorie
- RSS dei commentatori
Sull’ultimo avevo qualche dubbio, ma ho pensato che potesse essere un buon modo per tracciare le discussioni stile "domanda – risposta" in post molto commentati. Se aspetto una risposta da X, sottoscrivo il suo RSS e vedo se risponde, senza dover sempre controllare il post e districarmi fra gli altri commenti.
Ho integrato feedburner in default. Ovviamente opzionale, ma è parte del core del codice. L’indirizzo del feed è unico, ma usando la stessa tecnica implementata nel plugin WP per feedburner, riesco a reindirizzare nel giusto modo gli utenti diversi dal crawler di feedburner.
Il vantaggio è che, essendo parte del core, mi sono bastate due righe di codice 🙂
CAPTCHA e commenti in generale
Eh, questo l’ho spudoratamente copiato da antirez 🙂 Spero non si offenda… A lui sembra funzionare bene ed a me piace perchè è di una semplicità estrema 🙂
Ovvio che esiste comunque la moderazione dei commenti, con scelta di moderare solo il primo commento di un utente.
Nessuna opzione esclude l’altra.
TrackBack
Sono fermo nel mio pensiero di qualche tempo fa. Sono veramente stanco di dover cancellare 200 e più trackback spam al giorno. Mi sono rotto del viagra, del sesso di gruppo e della soma (caxxo è sta soma?) e degli OEM software.
Le blog reactions di technorati funzionano benissimo. Lo so, e se il blog non è segnalato su technorati? Ci sono sempre i commenti. Di fatto il trackback può anche essere manuale.
Le specifiche del trackback sono tutto quello che gli spammers desiderano per romerti gli zebedei.
So già che il buon Salvatore non sarà d’accordo con me, ma per ora la penso così e non escludo ne passi avanti ne passi indietro 🙂
Podcast
Implementato via tag proprietario. Direttamente nel post. In dblog invece è troppo rigido. Si può associare un solo podcast ad articolo ed il suo posizionamento è fisso. Mentre da quanto momento la cosa sarà totalmente libera e svincolata da ogni parametro predefinito.
Ora però vi devo chiedere un favore. Sto usando lo stesso lettore incluso nel plugin per podcast usato da Andrea Beggi. Ho cercato come un pazzo di scaricarlo dal sito dello sviluppatore ufficiale, ma non l’ho trovato!
Alla fine ho prelevato il lettore in flash direttamente dalla directory plugin di Andrea, e dato uno sguardo al codice dei suoi post per riprodurre la stessa cosa.
E’ doveroso però citare il realizzatore prima di mettere on line una cosa del genere. Ma non solo. Ho pure un dubbio amletico! Il plugin per wordpress che condizioni di licenza prevede?
Ho girato per mare e per monti senza trovare risposta. Qualche wordpressiano che possa aiutarmi?!
Per ora è tutto. E non smetterò mai di ringraziare tutti voi per i consigli che mi avete dato (e spero mi darete)!
Un paio di cose:
1. I tag non devono essere implementati nella piattaforma. Quasi tutti gli editor offline permettono di aggiungere tag al volo. Aggiungere i tag nella piattaforma crea qualche JOIN in piu’ nelle query (o qualche query in piu’). Sicuramente non il massimo della vita.
2. Implementa XMLRPC e la MetablogAPI. La tua vita cambieràin meglio. Ci sono un sacco di offline editor la fuori che son piu’ comodi di qualsiasi online editor javascript based. Non te ne pentirai.
I tag sono implementati nello stesso modo con cui li ho messi su dblog.
Un campo VARCHAR da 255 con i tag separati da virgola.
Ho anche implementato il tagcloud. Era inevitabile fossero integrati a livello di db.
Per il file XMLRPC lo farò sicuramente, ma non ora. Per ora la prioritàè metterlo on line e testarlo per bene 🙂
per i tag va benissimo un campo CSV (infatti vanno solo visualizzati): anche se penso che siano un overkill
.
Non ti suggerisco di fare la stessa cosa per le categorie invece. Meglio creare una tabella o ancora meglio due tabelle separate: ti permette di rinominare, cancellare, attivare e disattivare le categorie a piacere.
Hai pensato di usare un layer O/R? Non so se ce ne sono per PHP ma risparmieresti un sacco di tempo ed eviteresti un sacco di SQL injections.
Antispam: Intendi il citrix antispam di antirez? Anche io adoro quel metodo ma credo che possa funzionare solo sui blog personalizzati e non su di una piattaforma.
Un pò come quando la gente ha iniziato ad usare la notazione [at] [dot] nelle email, in principio la cosa funzionava ma adesso che lo fanno tutti ci vuole poco a scrivere un bot che riesce a leggere gli indirizzi email.
Plugin WP: si chiama AudioPlayer (che fantasia l’autore, eh) e lo trovi qui: http://www.1pixelout.net/code/audio-player-wordpress-plugin/
@ Paperino: le categorie le gestisco in modo molto più semplice.
Sinceramente la tabella post2cat di WP non l’ho mai amata 😀
Però potrei pensare qualcosa per rinominare o eliminare una categoria. Al momento non c’è 🙂
I layer O/R non so nemmeno cosa siano 😀
Se hai documentazione è ben gradita 🙂
@ neon: il mio blog è su piccola scala 😀 . Poi la parola è configurabile. Teoricamente potrei cambiarla ogni 5 minuti. Lo so, c’è il discorso di andare a spulciare l’html per fare un detect, ma non penso uno spammer perderàtempo per rompere.
E comunque, anche su larga scala basterebbe essere furbi e scrivere l’indicazione diversa di volta in volta 🙂
Grazie per il link al plugin! Peccato che non definisca i termini di licenza. Ora cerco più a fondo!
Ultima cosa che faccio: ho letto le specifiche della sitimap di google. La sto implementando in questo momento.
Con questo dovrei aver finito ogni tipo di feature… Spero…
Ciao, anche io stavo per passarti il link, ma vedo che l’hanno giàfatto….
http://www.1pixelout.net/code/audio-player-wordpress-plugin/
Ed invece post2cat è la maniera migliore di implementare le categorie. I campi CSV non sono neanche prima forma normale e se in situazioni limitate vanno bene (tag tecnorati), nella implementazione delle categorie potrebbero rivelarsi un peso di performance e quantitàdi codice da scrivere pazzesche (come feci illotempore per DBLOG).
Per esempio se vuoi la lista univoca delle categorie e usi post2cat, assumendo che contenga l’id del post e il nome della categoria associato, puoi semplicemente fare:
SELECT DISTINCT nomecategoria FROM Post2Cat Order By nomecategoria.
Se le categorie sono scattered nella colonna e separate da virgole, devi fare molto di più. Senza parlare poi di RENAME o DELETE: un incubo!
Sulle forme normali:
http://it.wikipedia.org/wiki/Normalizzazione_del_database#Violazioni_della_1NF_.28atomicit.C3.A0_dei_valori.29
I layer OR sono spiegati qui: http://en.wikipedia.org/wiki/Object-relational_mapping
Per un blog sono perfetti, praticamente la morte loro.
@ Andrea: grazie mille 🙂
@ Paperino: sul discorso categorie, voglio rifletterci bene. Non è di per se fare una tabelle o un join in più. Ma ora come ora, a livello gestionale è semplicissimo.
Ma quello che mi dici è tutto molto interessante 🙂
Voglio però testare e mantenerlo al momento semplice e liscio per com’è. Saràpoi più facile cambiare.
Vediamo che hai combinato …
@ Zizio: tanto casino di sicuro 😀
Che lavorone…complimenti donzo!
…bhe dai dai….una sbirciatina al codice non ce la fai dare???
…che curiosità…
:)))
Prima devo avere il tempo di spostarmi, poi di testarlo a regime, alla fine devo depurarlo da personalizzazioni eccessive.
Dopo si potràparlare di rilascio (forse) 🙂
Ma alla fine mica ho capito cosa stai combinando…un mod di DBlog?
No, è una piattaforma scritta da zero. Php e MySQL, fra l’altro è utilizzabile solo su apache in quanto il file .htaccess risulta indispensabile 🙂