dBlog CMS Open Source: italiano - english - español - français - deutsch | Laboratorio: template - plug in - translation - extra | Forum | Licenza | Newsletter | Contatti

Clicca sulle stelline per votare
Attualmente voti: 3 media: 4  

dBlog 3: l'analisi

Di Daniele Vietri | Twitter Twitter @marlenek | Facebook Facebook danielevietri
29/10/2007 - in dBlog - Commenti (17)
Questo post è stato letto 7439 volte in 1564 giorni.
 

Sto completando la fase di analisi della nuova versione di dBlog 3.0 CMS Open Source e mi piacerebbe condividere con voi le fasi più importanti di questo percorso. L'obiettivo di un "metodo" simile è quello di rendere tutti più partecipi e propositivi, nonché di ottenere, fin dalle prime fasi, un risultato che sia il più possibile robusto, completo e frutto del lavoro e delle necessità di utilizzatori molto diversi tra loro. Visto l'impegno che richiede spero di riuscire in questo intento anche nelle prossime settimane, intanto vediamo come va questo primo post! : - D

Perché la 3.0 e non la 2.1?
La nuova versione sarà la 3.0 per il semplice motivo che ho intenzione di riscrivere il codice, lavorando molto anche sul tema delle performance e sull'esperienza della precedente versione. Le novità saranno parecchie e il DataBase verrà ristrutturato totalmente (anche per agevolare il porting su SQL/mySQL), ma don't worry ci sara' anche un tool trasparente per il passaggio dalla 2.0 alla 3.0.

Partiamo dal DataBase
Questa è una bozza. Come si può vedere dallo screenshot "content is king", senza dubbio, oltre alla presenza di una forte componente partecipativa. Rispetto alla precedente versione c'è finalmente una strutturazione dei dati più seria. Ho inserito il BlogRoll, che sarà più semplice da gestire rispetto allo spazio testuale di prima (ad esempio inserendolo nel DataBase si potrà generare automaticamente un file OPML), come si può vedere ci sarà modo di inserire il post in più categorie, la possibilità di abilitare o meno i commenti sul singolo contenuto, la BlackList per gli spammer, un sistema di tag, una fase editoriale per la pubblicazione dei contenuti (es. la moderazione), il linklog organizzato, un sistema di microblogging (tipo Twitter), la possibilità di inserire delle pagine descrittive, il log delle ricerche effettuate sul blog, i livelli di utenza, il log delle attività lato utente/admin, la configurazione e la localizzazione integrate nel DataBase.

dBlog 3 - Bozza di relazioni tra tabelle (DataBase)
Clicca sull'immagine per ingrandirla

Questo più o meno quello che si evince da uno sguardo alle relazioni. Di seguito invece, per ogni tabella, lo scopo e la spiegazione dei campi, così da rendere più chiara la lettura dello schema:

tSondaggio
Testo: la domanda
Attivo: flag che decide quale sondaggio è quello in corso
RisposteMultiple: flag che decide se si possono dare più risposte o una sola

tRisposte
IDSondaggio: risposta legata a quale sondaggio
Testo: testo della risposta
Voti: voti ricevuti dalla risposta

tCitazioni
Testo: citazione
Autore: fonte
Rotazione: flag che decide se la citazione finisce a rotazione nella home page

tBlogRoll
Testo: nome del blog
URL: indirizzo del blog

tLog
Testo: informazioni sull'azione registrata
Autore: autore dell'azione (anonimo, se non loggato)
Data: quando è stata registrata
IP: da quale indirizzo IP è stata compiuta

tConfigurazione
Parametro: parametro da configurare
Valore: valore da assegnare

tLocalizzazione
Parametro: parametro da configurare
Valore: frase tradotta
Lingua: in quale lingua

tCategorie
Testo: nome della categoria

tLinkContenutoCategorie
IDContenuto: quale contenuto viene inserito nella categoria
IDCategoria: la categoria di assegnazione del contenuto

tContenuti
IDUtente: chi è l'autore di questo oggetto
IDStato: in quale situazione, nell'iter di pubblicazione, si trova questo contenuto
Titolo: titolo
Testo: testo descrittivo
Data: data di pubblicazione
Letture: quante volte è stato consultato
MetaTAG: meta tag di riferimento
Permalink: il link permanente al contenuto
Commenti: flag che decide se i commenti sono attivi per questo contenuto

tTag
IDContenuto: a quale contenuto fanno riferimento le informazioni
Testo: tag

tCommenti
IDContenuto: a quale contenuto fanno riferimento le informazioni
Data: data di pubblicazione del commento
IP: indirizzo IP di provenienza
Autore: nome dell'autore
Mail: indirizzo mail dell'autore
URL: indirizzo del sito web dell'autore
Testo: corpo del commento
Trackback: flag che decide se si tratta di un commento o di un trackback
Notifica: flag che decide se l'autore deve essere avvisato ad ogni nuovo commento per questo contenuto
Moderato: flag che decide se il commento è visibile a tutti o deve essere ancora approvato

tBlackList
Mail: indirizzo mail dal quale non si può commentare
IP: indirizzo IP dal quale non si può commentare

tVoti
IDContenuto: a quale contenuto fanno riferimento le informazioni
Ricevuti: numero di votazioni espresse
Totale: totale delle valutazioni

tStati
Testo: descrizione dello stato nell'iter di pubblicazione
Gerarchia: posizione di questo step nell'iter di pubblicazione

tPost
IDContenuto: a quale contenuto fanno riferimento le informazioni
Podcast: indirizzo del file audio
Video: indirizzo del file video

tFoto
IDContenuto: a quale contenuto fanno riferimento le informazioni
Immagine: indirizzo dell'immagine
Rotazione: flag che decide se questa immagine finisce a rotazione nella home page

tLink
IDContenuto: a quale contenuto fanno riferimento le informazioni
URL: indirizzo di interesse
ViaNome: nome dell'eventuale fonte sulla quale è stata trovata questa segnalazione
ViaURL: indirizzo dell'eventuale fonte sulla quale è stata trovata questa segnalazione
Click: numero di click inviati all'indirizzo di interesse

tMicro
IDContenuto: a quale contenuto fanno riferimento le informazioni
BOH: campi specifici dell'oggetto ancora da definire

tPagine
IDContenuto: a quale contenuto fanno riferimento le informazioni
BOH: campi specifici dell'oggetto ancora da definire

tUtenti
IDLivello: livello di riferimento dell'utente
UserID: nome utente per l'accesso al sistema
Password: parola segreta per l'accesso al sistema
Mail: indirizzo mail
Nome: nome anagrafico
Cognome: cognome anagrafico
Testo: descrizione dell'autore
Immagine: foto dell'autore
Proprietario: flag che decide se l'autore è anche il proprietario del blog

tLinkUtentiProtocolli
IDProtocollo: quale protocollo viene utilizzato dall'utente
IDUtente: quale utente utilizza questo protocollo
Codice: indirizzo di riferimento per trovare l'utente su questo mezzo di comunicazione

tProtocolli
Testo: nome del protocollo

tLivelli
Livello: nome del livello gerarchico
Gerarchia: posizione di questo livello nella gerarchia delle utenze
tRicerche
Testo: keyword cercata all'interno del sito
Frequenza: quante volte è stata cercata

Ma veniamo alla conversazione...
Non parliamo di quando verrà pubblicata, per questo ci saranno i prossimi post e - why not - una bella pizzata. Ciò di cui vorrei discutere è invece la struttura. Mi piacerebbe ricevere pareri, consigli, domande. Vorrei approfondire e sentire la vostra idea.

Ad esempio ecco qualcuno dei miei dubbi per i quali sto valutando vantaggi/svantaggi:
  1. ha senso tenere la tabella tVoti per una questione di ordine o è meglio trasferire i due campi sotto tContenuti?
  2. è meglio tenere un file di locazzazione ed uno di configurazione esterni (es. file di testo) come nella precedente versione oppure è più comodo e/o performante integrarli nel DataBase?
  3. è un bene non definire il tipo di contenuto (es. post, foto, link, etc) nella tabella tContenuti e recuperarlo ogni volta a vantaggio di una maggiore flessibilità per l'aggiunta di nuovi tipi di oggetti in futuro?
  4. quali informazioni possono essere utili in tMicro e tPagine?
  5. è questa la migliore struttura relazionale per dBlog?
E i vostri dubbi? E i vostri pareri? E le vostre idee?
Grazie

Questo articolo ti è piaciuto?



Se desideri stamparlo clicca qui oppure potresti essere interessato alla sottoscrizione del feed RSS per ricevere gratuitamente nel tuo aggregatore tutti gli aggiornamenti di questo blog.

< Vai al post precedente
Vai al post successivo >

 

Commenti

1
Grandi novità vedo... e ce lo dici così? : - P
Apparte gli scherzi mi studio un pò l'analisi e poi dico la mia.


Di SimoneRodriguez il 30/10/2007 @ 08:09:19

2
Ommamma Marlenek...che ti è preso : - D ?
Giusto ieri pom. ne stavamo parlando con SuperMario.
Per quanto mi riguarda, "voli" troppo in alto...sei troppo tecnico e non potrò esserti di aiuto in questi "termini"...ma se mi viene in mente qualcosa, anche da suggerirti, lo farò (primo consiglio/richiesta: immagine da abbinare ad una categoria da poter eventualmente inserire accanto al titolo del post).
Insomma...buon lavoro e guardiamo un po' che vien fuori.


Di Sirsly il 30/10/2007 @ 08:10:25

3
Oddio marlenek....mi precedi...stavo lavorando ad un fork di dblog2.0...bene bene!
Vista l'ottica futura(di Access come uno dei possibili DB)...my2cents...altra carne al fuoco:
Campo memo (blob) per memorizzare l'articolo (si rendono possibili ricerche semantiche...non solo a tag)
ID scartato a favore di un nome pagina (Niente più url rewriting)
Generazione VERA di una pagina...anche se forse su aruba significa mettere tutto in public...ma sto lavorando ad un workaround

altre che ho in mente ma non ci stanno qui!


Di Wodka40 il 30/10/2007 @ 08:59:45

4
le cose che c'ho in testa so talmente tante che non le posso elencare in 2 minuti...


Di acor3 il 30/10/2007 @ 10:18:39

5
una cosa la posso dire subito... per il punto 2
sarebbe ottimale una soluzione promiscua...
la gestione della localizzazione memorizzata sul db (come hai già previsto nel db che hai proposto)
solo che poi il pannello di admin su richiesta genera un file con le variabili di localizzazione da usare per il dBlog...

il meglio del db con la velocità di accesso di un file


Di acor3 il 30/10/2007 @ 10:20:56

6
Io vorrei pregarti di una cosa...utilizzare le classi per la definizione degli oggetti del database ed una classe di accesso unica allo stesso. io provai a realòizzare uan cosa del genere con dalbum anche se alla fine non ho portato la cosa all'estremo ma in pratica è rimasta in "bozza".
Cmq anche io darò un'occhiata più approfondita alla tua analisi e vedrò se riesco ad essere utile. una domanda...ma per i plugin sviluppati da noi cosa si fà?


Di mago28 il 30/10/2007 @ 11:43:19

7
Per quelli come me e Sirsly che capiscono poco e interne suggerisco la lettura di questo link per dare un significato a BlogRoll oppure OPML : - )
Pregando poi Marlenek di mettere qualche link ogni tanto ; - )
http://it.wikipedia.org/wiki/Blogroll


Di anonimo che non dirà mai di essere mago28 il 30/10/2007 @ 12:15:04

8
Beh credo tu sappia come la penso... per il db posso dire poco... tranne... li vogliamo mettere qualche title nei link contenuti nel db : - )


Di supermario il 30/10/2007 @ 19:39:16

9
Una cosa...ovviamente ti hai gia dato un'occhiata allo schema del db di WordPress vero?
: - )


Di mago28 il 30/10/2007 @ 23:29:35

10
Scusate l'intrusione, non sono un programmatore ma utilizzo da qualche tempo con soddisfazione la piattaforma. Vorrei dare il mio contributo semplicemente dicendo che molti rinunciano ad utilizzare dblog per la cerenza di templates, alcuni addirittura meditano il trasferimento verso altri applicativi ben forniti (confesso che anche io ci ho pensato spesso).
Detto questo chiedo: perchè nel nuovo dblog non vengono utilizzati gli stessi tag css di wordpress in maniera tale da ritrovarsi in un colpo solo un mare di templates a disposizione?
Perdonate l'intrusione, se l'argomento non è pertinente bannate pure l'intervento.
Complimenti a tutti.


Di Giovanni il 01/11/2007 @ 08:38:20

11
è meglio tenere un file di locazzazione ed uno di configurazione esterni (es. file di testo) come nella precedente versione oppure è più comodo e/o performante integrarli nel DataBase?

Sicuramente Meglio nel DataBase ... speriamo SQL2005
con codice convertito da asp ad asp.NET.


Di MalcomX il 01/11/2007 @ 20:51:32

12
simone: ok aspetto, i tuoi commenti sono importanti!

sirsly: per l'immagine della categoria ci penso, la segno! grazie

wodka40: si, l'articolo sarà nel db questa volta. per il workaround fammi sapere... ma penso manterrò la struttura del mio modrewrite che mi sembra comodo, veloce e performante

acor3: attendo con impazienza : - )

mago28: mi raccomando ci conto sul tuo parere. Per la classe stanne certo, così sarà almeno per quelle di connessione/uso del db. I plug-in rimarranno validi per la 2.0 e sempre disponibili online, poi faremo delle versioni per la 3.0 pian piano


Di Marlenek il 02/11/2007 @ 22:50:23

13
supermario: questa versione cerchera' di separare totalmente il layout, appoggiandosi completamente al css. in pratica, col tuo aiuto, vorrei uscire già con un tempate in versione accessibile.

mago28: si per il db ho guardato anche quello di WordPress (è molto semplice perché di base fa solo weblog)

giovanni: la tua è un'idea geniale... ho guardato subito, ma la struttura dei template di Wordpress è molto più complessa. Si tratta di N file, in php. Contengono parti di programmazione, etc. Insomma non è possibile utilizzarli (accetto suggerimenti e spero in smentite), inoltre non capisco come mai hanno fatto una scelta di questo tipo.

MalcomX: grazie, sul punto del file di configurazione e localizzazione ci sto ancora pensando


Di Marlenek il 02/11/2007 @ 22:54:47

14
Scusami se insisto sulla questione del DB ma mi è stà molto a cuore visto che dovrò passare a MySQL se non voglio che aruba mi uccida!
Come hai intezione di Accedrvi? ogni pagina avrà la sua conenssione ecc oppure vi saranno "classi" che si occuperanno di ciò? Ti dico questo perchè ad oggi passare a MySQL o altro...è mooooolto complicato : - )


Di mago28 il 05/11/2007 @ 10:30:34

15
Marlenek ...il workaround consiste in questo:
Il problema dell'url rewriting consiste nel fatto che NORMALMENTE...non si può creare ub file in una cartella TRANNE che in cartelle speciali (Public in aruba)...questo costringe a mettere tutto il sito web in Public.
Però .NET consente di accedere anche alla macchina (con ovvie limitazioni).
Mi sono fatto una cartella nella root chiamata test e ho inserito dei file asp vuoti....test1.asp..test2.asp etc etc
Con uno script asp.net gli ho rinominati...me lo fa fare a patto di chiedermi le password di accesso ftp.La scommessa adesso è aggieggiare il CLR per settare tali permessi e renderli "trasparenti" ad un eventuale utente abilitato a scrivere NUOVI articoli.
Lo script mi dispiace non ci sta qui...o alzi il limite di 1000 caratteri...o aspetti che posti un articolo sul mio blog!


Di Wodka40° il 08/11/2007 @ 07:37:28

16
Ma la versione 3 dove la troviamo?


Di Pamela il 30/10/2008 @ 12:14:52

17
pamela: non ho avuto tempo di svilupparla : - )


Di marlenekk il 30/10/2008 @ 19:20:31



Nuovo commento

Non inserire testo nel campo sotto (altrimenti non riuscirai a commentare)

Testo (max 1000 caratteri)

Nome

e-Mail / Link ("nofollow", "no-rel", non pubblicato)



Disclaimer
L'indirizzo IP del mittente viene registrato, in ogni caso si raccomanda la buona educazione.

Marlenek

Daniele Vietri - Milano, IT

Web Project Manager di sistemi e-Commerce e community, autore di dBlog CMS... [continua]


x Feed RSS dei post
Iscritti su FeedBurner

Daniele Vietri

LinkedIN Twitter Facebook

Il mio libro sull'e-Commerce (ed. Hoepli, 09/2011)

Libro Hoepli e-Commerce

e-Commerce
Come avviare, gestire e fare profitto con il vostro negozio online


Autori D. Vietri, G. Cappellotto
Collana Informatica, ed. Hoepli
Acquista ora cartaceo | e-book

> www.libroecommerce.it <

Su argomenti simili...

Zzub: analisi sito Telecom Italia

18/01/2010 - in Web Design - Commenti (2)

Web design: verifica delle ipotesi sulle interfacce

16/10/2008 - in Web Design - Commenti (4)

Google Chrome: cosa non fa e in cosa può migliorare

03/09/2008 - in Computer - Commenti (14)

Social network: le dinamiche delle relazioni

20/08/2008 - in Internet - Commenti (1)

Restyling grafico del blog

16/08/2008 - in dBlog - Commenti (2)

Corso siti web, in aula a Milano (o altrove, su richiesta)

Dall'autore di questo blog un corso completo per sviluppare semplici siti web e diventare webmaster:
Corso di HTML

Scopri: Info | Date e città | Argomenti | Destinatari | Blog