Plantilla:WzCzW/Disseny tècnic/db-alt1

De GERMINADOR wiki

Dreceres ràpides: navegació, cerca

< PLANTER <Disseny interacció < Disseny tècnic
de sistemes i projectes de creació col·lectiva en xarxa.

m.Lloc on hi ha les plantes nades, on es crien les plantes petites, destinades a ésser trasplantades; les mateixes plantes. (Diccionari IEC).

Disseny tècnic: Base de dades (variant alternativa-1)



Aquesta variant de la proposta que estem començant a desenvolupar introdueix un nou nivell entre la pool i content: la box (o snip).

Retalls
Enlloc de dir-li box a les "caixes" que tenen el contingut em semblaria maco dir-los snips (retalls) per la referència al collage. --David 11:27, 12 nov 2007 (CET)



O sigui: tenim una pool oberta, que és un canal de Wikipool. Hi ha vàries caixes (box) o "peces de retall" (snip) que podem moure per la composició (tècnicament són "div"). Aquestes caixes tenen un contingut (content) que poden ser imatges o text.

Per tant:

  • Una pool té vàries box
  • Una box va canviant el content

L'estructura és la següent:

pool

box o snip

content

Les pool s'identifiquen i registren en una taula específica de la base de dades. També les box i el content.

Hi ha 2 taules més relacionals:

  • box2pool: diu a quina pool està cada box
  • content2box_current: diu quin contingut (content) té cada box

Hi ha dues taules més que ens serveix com a historial dels continguts de les box:

  • content2box_old: diu quin content ha tingut cada box i en quin moment
  • pos2box_old: diu quines posicions ha tingut cada box i en quin moment


La distinció entre caixes (box) i contingut (content) crec que és molt coherent i obra vàries possiblitats. Entre elles la de comptar d'una manera fàcil amb un historial. També podria facilitar la possible restauració de continguts (undo).

Pel que fa a l'historial aquesta aproximació podria ser alternativa però també es pot veure com a complementaria de l'enfocament stat events.

Contingut

[edita] taules base de dades

Només les taules afectades per la proposta:

A continuació es mostren les taules. També es poden veure com a arxiu SQL a: WzCzW/Disseny tècnic/db-alt1-SQL.


[edita] taula contents

Taula contents: Guarda els continguts que van dins de les "caixes" (box). Poden ser imatges o text.
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) no auto_increment identificador únic
coordenates varchar(255) latin1_swedish_ci no coordenades; son el top i el left del contingut (quan és imatge) respecte la box. Es guarden tipus 120x400 i s'han de recuperar fent servir explode
size varchar(255) latin1_swedish_ci no mida; són el width i el lenght del contingut (quan és imatge) en píxels. Es guarden tipus 120x400 i s'han de recuperar fent servir explode
data mediumtext utf8_unicode_ci No URL del recurs quan són imatges
css varchar(255) latin1_swedish_ci No color, tamany, etc.. quan el contingut és text
content_type int(11) tipus de contingut (imatge, text, ...), és un número que el relaciona amb la taula "contents_type"


[edita] taula snips

Taula contents: Són les caixes que contenen el contingut (content)
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) no auto_increment identificador únic
coordenates varchar(255) latin1_swedish_ci no coordenades; son el top i el left de cada div respecte la pool. Es guarden tipus 120x400 i s'han de recuperar fent servir explode
data mediumtext utf8_unicode_ci No URL del recurs quan són imatges
css varchar(255) utf8_unicode_ci No color de fons, marge, contorn, angles, ... del div
status locked/editable; per si cal bloquejar una caixa mentre algú l'està editant


[edita] taula contents2snips

Taula contents2pool: Relaciona boxes i contents. Diu a quin contingut (content) està cada caixa (box).
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
content_id int(11) no identificador únic d'un contingut de la taula "contents"
box_id int(11) no identificador únic d'un contingut de la taula "box"
age timestamp (14) no null data en que s'ha fet la relació. Això es podria consultar en el mode Reciclatge per saber quina és la snip que té un contingut més vell


[edita] taula contents2snips_old

Taula contents2pool: Guarda registre de la relació entre boxes i contents. Diu a quin contingut (content) ha estat cada caixa (box).
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
content_id int(11) no identificador únic d'un contingut de la taula "contents"
box_id int(11) no identificador únic d'un contingut de la taula "box"
from timestamp (14) no null timestamp des de quan hi ha estat
until timestamp (14) no null timestamp quan ha deixat d'estar-hi


[edita] taula pos2snips_old

Taula contents2pool: Guarda registre les posicions que ha tingut una caixa (box).
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
snip_id int(11) no identificador únic d'un contingut de la taula "box"
coordenates varchar(255) no coordenades; son el top i el left de cada div respecte la pool. Es guarden tipus 120x400 i s'han de recuperar fent servir explode
from timestamp (14) no null timestamp des de quan hi ha estat
until timestamp (14) no null timestamp quan ha deixat d'estar-hi


[edita] taula snips2pool

Taula contents2pool: Relaciona boxes i pools. Diu a quines caixes (box) hi ha a cada canal (pool).
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
pool_id int(11) no identificador únic d'un contingut de la taula "pool"
snip_id int(11) no identificador únic d'un contingut de la taula "box"


[edita] taula contents_type

Taula contents_type: Guarda informació dels tipus de continguts
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) unsigned no auto_increment identificador únic de la tipologia de contingut
name varchar(20) utf8_unicode_ci no nom de la tipologia que podria ser: img, imgsrc, txt, video, videosrc...
comments varchar(100) utf8_unicode_ci No comentari


[edita] taula pool

Taula pool: S'hi guarden les "pools" creades amb la seva configuració
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) unsigned no null auto_increment identificador
name varchar(255) utf-8 no null nom de la pool
created_by int(11) unsigned No null autor de la pool, referencia numèrica en una llista (taula user)
date_creation timestamp(14) No null data de creació en format AAAMMDDHHMMSS. Al ser timestamp es crea sola en registrar per primer cop
last_change timestamp(14) null darrer canvi en format AAAMMDDHHMMSS. Al ser timestamp s'actualitza sola cada cop que hi accedim''
date_start timestamp(14) null data-horari d'inici de la sessió-wikipool en format AAAMMDDHHMMSS.''
date_stop timestamp(14) null data-horari de finalització de la sessió-wikipool en format AAAMMDDHHMMSS.''
group_permissions varchar(255) utf-8 No null tipus d'usuari i permís separat per espai, tipus d'usuari d'altre tipus d'usuari separat per comes. * edit/view, ruser edit/view. Exemple: * view, ruser edit vol dir que tots els usuaris (*) poden veure i només els registrats (ruser) poden editar. Aquests són els dos tipus d'usuari per defecte (*, ruser) però es podrien crear més grups.
publicview bool No null Valor booleà 0/1: 0 és false (pool no és públicament visible en portada) i 1 és true (la pool és visible en portada)
size varchar(100) utf-8 No null Mida en píxels (valors absoluts) de l'espai de composició. Del tipus 800x600 que s'haurà de recuperar fent explode


[edita] taula users

Taula users: Informació sobre els usuaris connectats
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) unsigned latin1_general_cs not null auto_increment identificador únic
username varchar(255) utf8_unicode_ci not null nom usuari
comment mediumtext utf8_unicode_ci Not null comentari
passw varchar(255) utf8_unicode_ci Not null contrassenya
usergroup int(11) unsigned NULL grup al que pertany usuari, correspon a id taula Usergroups


[edita] taula usergroups

Taula usergroups: Es registren els grups d'usuaris que serveixen per atorgar permissos a la taula pool
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
group_id int(11) unsigned no null auto_increment identificador
groupnave varchar(255) utf-8 no null nom del grup
comment mediumtext utf8_unicode_ci null per si cal posar un text de comentari que pugui ser utilitzat com a info


[edita] taula stats_events

Taula stats_events: Estadístiques del que passa per poder extreure'n l'historial o reproduïr la sessió.
Camps Tipus Ordenació Atributs Nul Defecte Extra Comentari
id int(11) no auto_increment identificador únic de l'event
date date no pendent escriure info d'aquest camp; què és? perquè es codifica així?
pool_id int(11) no pendent escriure info d'aquest camp; què és? perquè es codifica així?
content_id int(11) no pendent escriure info d'aquest camp; què és? perquè es codifica així?
event_kind int(11) no pendent escriure info d'aquest camp; què és? perquè es codifica així?
event_data varchar(255) latin1_general_cs No pendent escriure info d'aquest camp; què és? perquè es codifica així?


[edita] referències

Referents a tenir en compte en el disseny de la base de dades: