Plantilla:WzCzW/Disseny tècnic/db-alt1
De GERMINADOR wiki
< 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 |
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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| 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:

