[Php-avanzado] Normalizacion y algunos detalles.
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Nov 25 01:24:06 ART 2008
Hola Matías,
El dom, 23-11-2008 a las 08:57 -0800, BlackSwan escribió:
> Leo decime que te parece:
>
> BLOGS
>
> Tablas:
>
> #blogs
> id (int)
> direccion (varchar15) //del blog para crear el directorio, por
> ejemplo: www.blogs.com/valorqueeligio/
este campo llevalo a 40 0 50 char de ancho máximo. 15 es poco.
> nombre (varchar50) //nombre visible del blog, el titulo.
Este a 75 u 80...
> descripcion (varchar255)
>
> #blogs_usuarios
> idblog (int)
> idusuario (int)
>
> #usuarios
> id (int)
> usuario (varchar20)
Recordá definir "usuario" como unique, así no hay usuarios repetidos en
la tabla.
> clave (varchar12)
Llevalo a 20... o más, con un mínimo de 6 al validar en el formulario.
> nombre (varchar100) //lo que el usuario quiera poner para mostrar,
> nombre solo, o con apellido, todos sus nombres...
> fecha_nacimiento (date)
> ubicacion (varchar100) //igual que lo del nombre
Como digimos, esto implica que tu sistema _nunca_ podrá mostrar ni
buscar en un listado de nombres de personas ni de ubicaciones.
> email (varchar50)
llevalo a 70 de ancho.
> imagen (varchar255) //para guardar la ubicacion exacta de donde va a
> estar el archivo
> administrador (bool) //para indicar si es administrador de todo
> mostrarperfil (bool) //para indicar si quiere o no que su perfil
> (datos aparte del nombre de usuario) este visible.
>
> #entradas
> id (int)
> idblog (int)
> idusuario (int)
> titulo (varchar60)
> texto (text)
> fecha_publicacion (datetime)
> imagen (varchar255) //para guardar la ubicacion exacta de donde va a
> estar el archivo
Con esto, te queda solo una imagen por entrada como máximo.
Si lo querés así, está perfecto.
> #comentarios
> id (int)
> identrada (int)
> idusuario (int)
> invitado(varchar50) //por si el comentario lo realiza alguien que no
> es usuario
> texto (text)
> fecha_publicacion (datetime)
Es decir, permitirás comentarios anónimos y de usuarios registrados.
>
>
> INDEX PRINCIPAL
> Se van a mostrar los 10 blogs actualizados recientemente.
Ok.
> Link para ver todos los blogs.
> Link para ver todos los usuarios.
Esto paginado cada 10 o 20 o algo...
> INDEX INTERNO DE BLOG
> Se van a mostrar las ultimas 10 entradas del blog.
> Link para ver todas las entradas del blog.
Paginadas? Por mes?
> UN USUARIO PUEDE:
> Crear blogs, modificarlos y eliminarlos.
> Crear sus entradas, modificarlas y eliminarlas.
> Realizar comentarios.
Que también pueda registrarse y modificar algunos datos de su perfil...
> Teoricamente (si me sale) definir el estilo de los blogs que posee.
Te va a salir, no te preocupes.
De hecho es lo que hace interesante a este proyecto: lo demás son ABML
a tablas.
> UN ADMINISTRADOR PUEDE (como extra):
> Eliminar usuarios.
> Eliminar blogs.
> Delegar privilegios (hacer que un usuario sea tambien administrador).
Suena bien.
Tal vez el usuario pueda tener una opción de borrar su propio blog.
> Lo que no se Leo, es como manejar el tema que me propusiste de los
> estilos. Teoricamente un usuario puede definir elementos basicos del
> estilo de un blog del cual es propietario, como cambiar algun color.
> Pero no se como hacerlo. Pense en guardar esto en una tabla del tipo:
>
> #estilos
> id
> color_links
> color_texto
> color_fondo
> panel_ubicacion
> etc...
>
> y en la tabla "blogs" poner obviamente el campo idestilo. Pero no se
> si esto que pense es cualquier cosa. La verdad es que no se me ocurre
> como hacerlo de una manera practica.
Esta es una manera posible.
Otra es que, mediante un formulario, defina cosas que son un CSS
llamado por el documento. De esta forma decorás en CSS más fácilmente.
Hay editores PHP de hojas de estilo para basarse en ellos.
Ambos enfoques sirven... y si lo pensamos seguro que se nos ocurren
más...
> Saludos.
=mente!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado