[Php-avanzado] Tesis Diego Oliva
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Dic 27 13:17:30 ART 2008
Hola Diego!
dejo solo las cosas a responder, así el mail no se hace kilométrico:
El vie, 26-12-2008 a las 20:26 -0200, Oliva, Diego M. escribió:
> > > > Ok. Entonces el usuario crea sus grupos para organizar su información?
> > > >
> > > >
> > > en efecto, el usuario añade un contacto y lo
> > > categoriza dentro de un grupo, que puede ya existir o puede crearlo en
> > > el momento...
> > >
> >
> > Es muy confuso el uso que le das a la palabra "grupo"... a veces es
> > para agrupar los contactos, y a veces es para el grupo del usuario.
> > Dado que yo leo lo que escribís, y no sé lo que pensás, necesito que lo
> > desambigües.
> >
> >
> >
>
> hay grupos de usuarios y grupos de contactos
> independientes por cada usuario,
Que hay dos tipos de grupos me quedó clarísimo.
La crítica pasaba por como te referís a los grupos, sin hacer
referencia a cual es, lo que hace complicado seguir la estructura.
> los grupos de usuarios sólo se pueden crear por un administrador y
> van a tener un moderador. Estos grupos poseen miembros, dichos
> miembros son usuarios del sistema,
Ok: Grupos de usuarios definidos por el Administrador.
Punto aparte.
> y cada uno de dichos usuarios puede categorizar sus contactos, sus
> entradas a la agenda, dentro de grupos de contactos, definibles e
> independientes por cada usuario...
Acá tenés un hueco: si los grupos de contactos los define cada usuario,
no tenés en tus tablas como relacionar a un usuario con sus grupos (o
estoy viendo unas tablas viejas).
Ahora bien, si relacionás al usuario con sus grupos, cuando se comparte
un contacto, pueden pasar 2 cosas no gratas: que el usuario que ve el
dato compartido no vea de qué grupo es, pero que tampoco lo pueda
categorizar, porque el dato ya tiene su grupo; o que vea los grupos del
usuario que comparte, lo que puede revelar más información de la
necesaria (ej, un contacto en el grupo "cabrones" que se marque como
compartido).
> > > > > > > mails
> > > > > > > `id` int(11) NOT NULL auto_increment,
> > > > > > > `mail` varchar(100) NOT NULL,
> > > > > > > `top` tinyint(1) NOT NULL,
> > > > > > > `id_data` int(11) NOT NULL,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > Qué es "top"?
> > > > > > Esto es una relación uno a muchos con "data"...
> > > > > >
> > > > > >
> > > > > >
> > > > > top es un booleano que voy a usar para la muestra
> > > > > de los datos... mi idea es que se vea por cada contacto , rapido, un
> > > > > telefono predetermindo (o preferido), una direccion, un celular, un
> > > > > mail, etc... y despues, si se quiere ver mas información sobre dicho
> > > > > contacto, se ven todos los demas datos que existan...
> > > > >
> > > > >
> > > > entiendo... y no va a ser único para la tupla id_data + top ??? o puede
> > > > tener varios preferidos?
> > > >
> > > >
> > > la idea es que tenga sólo un preferido, dentro
> > > de cada categoria... un mail preferido, un telefono preferido, una
> > > direccion preferida...
> > > por?
> > >
> >
> > Por que si son únicos por tupla, los podés definir en la tabla como
> > "unique" y tener mas consistencia a nivel de almacenamiento.
> >
>
> unique no sirve para asegurar que no haya registros
> duplicados?
Sirve para asegurar que no haya tuplas duplicadas, definidas por la
cantidad de campos que quieras....
> >
> > Esto pide a gritos ver los registros en la tabla "perm".
> > Qué va ahí adentro??
> >
> >
> >
> >
> id y descripcion... por ahora quedaria...
>
> 1 --- Privado
> 2 --- Para el Grupo de Usuarios
> 3 --- Publico
Mucho más claro!
No se adivinaba por el nombre que esta tabla era la que tenía esto.
> > > > > > > phones
> > > > > > > `id` int(11) NOT NULL auto_increment,
> > > > > > > `phone` varchar(20) NOT NULL,
> > > > > > > `desc` varchar(50) NOT NULL,
> > > > > > > `id_ptype` int(11) NOT NULL,
> > > > > > > `id_dir` int(11) NOT NULL,
> > > > > > > `id_data` int(11) NOT NULL,
> > > > > > > `top` tinyint(1) NOT NULL,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > Mmm... asociar una dirección a un teléfono tiene un lado muy flaco: los
> > > > > > móviles.
> > > > > > Qué es "top"?
> > > > > > Para qué era esta asociación?
> > > > > >
> > > > > >
> > > > No me respondés... supongo que es para sacar los prefijos... pero esto
> > > > significa que no se puede anotar un teléfono sin antes cargar la ciudad
> > > > con el prefijo correspondiente. Me sigue pareciendo muy mezclado...
> > > >
> > > >
> > > no habia visto ninguna pregunta... lo de top
> > > ya lo habia explicado...
> > >
> > > la asociacion a la que te referis es la de
> > > direccion-telefono? no tiene un fin realmente especifico, simplemente
> > > me parecio practico saber a donde estoy llamando cuando llamo a un
> > > telefono fijo...
> > >
> >
> > Mmm... me parece una característica que le baja mucho la usabilidad al
> > sistema...
> >
> >
> >
>
> yo queria hacerlo lo mas transparente posible para el
> usuario, si en el momento veia que se me complicaba, iva a perder la
> asociacion, pero no crei tener que llegar a eso...
> crees que no vale la pena?
>
Yo creo que es una complicación innecesaria.
La gente anota los teléfonos con prefijos o internos todo junto. Para
forzar al usuario a que use los prefijos telefónicos asociados a la
dirección, debés restringir la cantidad de caracteres, pero si lo hacés,
no cabe poner un nro de interno o líneas rotativas.
Si dejás más grande para que entre esto, cuando hacés la composición de
prefijos y nros, se van a ver datos "mal" por estar 2 veces. Además
tendrías que saber dónde está el usuario porque estar en Mardel y ver
"54 223" adelante de todo es "molesto".
> > > > > > > ptypes (Tipos de teléfonos)
> > > > > > > `id` int(11) NOT NULL auto_increment,
> > > > > > > `type` varchar(25) NOT NULL,
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > Supongo que para móvil o fijo... pero es realmente importante saber de
> > > > > > qué tipo es?
> > > > > >
> > > > > >
> > > > > >
> > > > > trabajo, oficina, casa, casa de veraneo (:P), mas
> > > > > configurables, y móvil...
> > > > >
> > > > >
> > > > Ahhh... pero entonces necesitás la misma descripción para las
> > > > direcciones y posiblemente para los mails...
> > > >
> > > >
> > > >
> > > las direcciones, mails y webs tienen un campo
> > > varchar de descripcion, para dicha aclaracion...
> > >
> >
> > Sí, pero la misma justificación que usaste para codificarla acá debería
> > ser aplicable a las direcciones y los mails.
> > Por qué acá se justifica y en los otros no???
> >
> >
>
> porq los telefonos son, en general, bastante
> estables, movil, casa, casa de verano, trabajo, oficina y casi que ya
> esta...
Supongamos que con esto alcanza... (falta bipper, taller, barco, auto,
fax, modem....)
> pero en mails y paginas web ya si que hay mucha variacion... mi web
> personal, web de la empresa, mi blog, mi group (google, msn,
> yahoo...), blog del laburo, blog de los amigos, de los hijos, google
> docs y se puede seguir... con los mails no va para tanto, pero casi...
Pero todos los "blogs" y "grupos", pueden ser también solo personales o
laborales, y no requieren esa discriminación tan fina.
La parte importante es distinguir una forma de contacto laboral de una
personal, para saber a cuál llamar y cuándo llamar según lo que haga
falta.
Quiero decir que en el primer caso te arreglás con poco, habiendo
otros, y en los siguientes casos, tu granularidad es muy alta.
La idea es que las cosas se vean y sientan "parejas".
> > >
> >
> > Sí, Diego, la relación está abajo.
> > Pero mi pregunta sigue sin responder "qué vas a configurar?"
> > Necesito entender como pensaste la cosas para validar tu modelo de
> > datos!
> >
>
> si no es lo que ya respondi, entonces explicame aun
> mas que es lo que me falta porq no me doy cuenta... esto es lo que ya
> mande...
>
>
> las configuraciones de las que hablaria rconfig son
> del registro de un nuevo usuario en dicho grupo. de ahi se obtendria
> la informacion de que hacer al ser requerido un nuevo alta de
> usuario... (alta automatico, alta contra comprobación de mail, contra
> comprobacion de mail con mail restringido, contra aprovacion de
> moderador...)
Entiendo. en otras palabras, estos registros van a estar asociados a
algoritmos que implementen el modo de registro.
Con tu respuesta, enviame por favor de nuevo las tablas a cómo están
ahora, para charlar sobre el modelo actual de datos.
Saludos!
--
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