- Ya que haremos Módulos Independientes para diferentes funciones, considerar que debe de ser portable. Por ejemplo, se está trabajando en ClienteReport (Zepeda) y en CalzadoDeck (Landeta). El módulo deberá de ser sencillo de insertar en cada nuevo proyecto. Se me ocurre mandarlo a llamar con alguna función y que si regresa falso no continuar con la ejecución de la herramienta.
- No podemos utilizar la contraseña que asigna Maxicomercio porque desconocemos la forma en que se encriptó.
- Utilizaremos una columna que acabo de crear en la tabla tuser y que la nombre ut_altpass la hice varchar con 32 de longitud.
- Desde Maxicomercio NO activaré que se pueda escribir o ver este password, así que necesito una interfaz que nos permita acceder a la lista de usuarios y podamos desde ahí agregar el password que nosotros queramos y que (ya lo pensé bien) NO SE ENCRIPTE, para que, si a alguien se le olvida ESE el password podamos revisar cual es fácilmente desde el Dreamcoder. Para acceder a la parte donde podamos agregar estas contraseñas puedes utilizar "Admin" y el password que tenemos actualmente en el Maxicomercio, pero por favor, este que no esté a la mano. El de conecta.txt está muy obvio para conocer la contraseña de Root. A ver que se te ocurre para esconderlo y que no sea facil de hackear.
- Al abrir el módulo me gustaría ver primeramente una lista de los usuarios existentes similar al CalzadoDeck y con ese mismo campo para buscar. Que al buscar busque de los campos: UserID y UserName de la tabla tuser.
- En la pantalla anterior no es que me haya faltado el botón agregar. Recuerda que los usuarios deberán de crearse desde Maxicomercio.
- El Editar el elemento se deberá presentar un diálogo mostrándonos:
- Usuario
- Nombre
- Si está bloqueado o no, con opción a bloquearlo o desbloquearlo
- Dos campos para el código alterno y su confirmación. Si el elemento ya tiene asignado un password que nos permita escribir en los campos pero que nunca se muestre el contenido. Que salgan asteriscos.
- Mensaje
- Notas
- Un listado de los módulos a los que tiene acceso y que ahí nos permita agregar o quitar. Inicialmente solo deseo controlar si tiene acceso o no. En un futuro podríamos pensar en si les damos acceso de lectura, escritura, etc pero ahorita no es necesario. Lo que quiero controlar es que no puedan entrar a todos los módulos con su contraseña.
- La captura de este Password Alternativo, al momento de escribirlo NO DEBE PODERLO VER LA PERSONA QUE LO ESCRIBE, pero deberá de confirmarlo dos veces antes de grabarlo por eso deberá de presentarse con asteriscos ese campo.
- El Acceso a los módulos, es por supuesto acceso a NUESTROS módulos. Para ello se deberá crear otra tabla. No la cree yo por falta de tiempo a través del creador de tablas de Maxicomercio. Me gustaría que se enlazara a tuser pero utilizando el Sys_GUID. Es eso posible??? Toma en cuenta que en un futuro replicaremos la tabla de acceso a módulos a las tiendas y es posible que cambie el Sys_PK.
- Para administrar los accesos se ocupan dos tablas. La tabla de accesos y la tabla que contendrá el listado de módulos. Lo visualizo de la siguiente manera:
Tabla 1: ut_mismodulos
* Campos normales que agrega Maxicomercio +
ut_codigo
ut_nombre
Tabla 2: ut_accesos
* Campos normales que agrega el Maxicomercio +
ut_folio
ut_PKUser
ut_PKModulo
ut_Status
Comentarios: El folios sería un número consecutivo además del Sys_PK para llevar nuestro control de relaciones.
El PKUser y el PKModulo son los que hacen el enlace entre el nombre del módulo y el usuario.
Status sería si está activo o no. En este caso sería Booleano.
- Si tienes alguna idea de como hacerlo de alguna manera más fácil lo comentamos. El chiste sería no limitar la cantidad de módulos y que estos puedan ser variables.
- La otra opción es hacer perfiles, tal y como lo maneja Maxicomercio, al perfil es a quien le dices a qué módulos tienes acceso y luego relacionas el perfil con el usuario. Pero eso debemos comentarlo. Piensalo.
- En donde sale el Grid de usuarios podría agregarse el botón para Crear y Editar el Listado de Módulos (Nosotros al hacer el módulo deberemos identificarlo para que se valide contra algún folio o código que definamos)
Espero que haya podido plasmar mis ideas, seguimos en contacto!