Permisos y Visor de Archivos


(Javier) #1

Buenas tardes, he estado practicando con la aplicacion vMusicBox y ya quiero hacer una aplicacion practica en mi empresa para seguir evaluando la herramienta, para esto necesito 2 puntos basicos que por mas que le busco en los foros, no encuentro como hacerle, espero que me puedan ayudar.

Los puntos son:

1.- Requiero poder condicionar a los usuarios a nivel Menu y Campo la edicion de la informacion. en pocas palabras quiero que solo algunos usuarios puedan agregar y/o modificar y que otros solo puedan consultar, tambien requiero filtrar la informacion mostrada en una grilla, dependiendo del usuario activo, esto para que no puedan ver informacion de otros usuarios.

2.- poder guardar un archivo PDF y que este disponible en una grilla para que el usuario pueda consultarlo en algun visor dentro de la aplicacion.

se puede hacer esto? Como podria hacerlo?

Saludos y gracias.


([N4] eic) #2

Hola.

Algunas indicaciones:

1-a. Para condicionar usuarios a nivel menú, lo mejor que puedes hacer es tener (si, por ejemplo, hay dos niveles de usuarios), tres proyectos de aplicación:

- Un proyecto A en el que tienes todos los objetos (formularios, rejillas, búsquedas, etc.)

- Otros dos proyectos (B y C), cada uno con marco Autoexec, que heredan (cada uno) el proyecto A. En el esquema de la solución, B y C están en la parte superior, al mismo nivel, y debajo estaría A, que es heredado por ambos. Los proyectos B y C sólo tendrían los menús para cada tipo de usuario, que serían menús totalmente distintos. A cada tipo de usuario, en vAdmin, se le asignarían o bien el proyecto B, o bien el proyecto C para ejecutar. De este modo, puedes solventar el problema de que en los menús no se pueden usar condiciones de visibilidad.

1-b. Para condicionar a nivel de campo, en cada formulario deberás utilizar condiciones de lectura en los controles.

2. Para visualizar archivos pdf puedes utilizar el visor HTML. A partir de ahí, dependiendo de si la aplicación va a estar en la nube o en red local, tendrás que decidir si te interesa que el archivo esté directamente almacenado en la base de datos, o bien sólo almacenar la ruta, o descargarlo en modo local sólo para visualizarlo. Dependerá de lo que te interese hacer.

Saludos,

Fran Varona

 


(Javier) #3

Gracias, eurosistemas, ya me imaginaba lo de los menus; abusando un poco de tu amabilidad, quisiera hacer otras preguntas:

1.- Me queda claro que no puedo ocultar las opciones de menus, ¿pero se puede agregar alguna validacion a la accion que se ejecuta del menu, para que valide por ejemplo al usuario o alguna condicion y si no se cumple, enviar un aviso y que ya no continue o se retorne?

2.- ¿Se puede condicionar la informacion en las grillas para que me muestre solo la informacion perteneciente a un usuario? o aqui en velneo mas o menos cual es la forma de que un usuario solo pueda ver su informacion y no la de los demas? en algun otro lenguaje haria un query y no un filtro para sea mas rapido, pero aqui cual es su equivalente?

3.- Si no me equivoco, en red lo mas recomendable es guardar el archivo en disco y la liga en la BD; ¿en la nube que es lo recomendable? como quiera la base que pienso manejar es demasiado pequeña, pero en una base grande si afectaria considerablemente almacenarlo en la DB, cierto?

 

Saludos y gracias por su valiosa ayuda


(Javier) #4

Gracias, eurosistemas, ya me imaginaba lo de los menus; abusando un poco de tu amabilidad, quisiera hacer otras preguntas:

1.- Me queda claro que no puedo ocultar las opciones de menus, ¿pero se puede agregar alguna validacion a la accion que se ejecuta del menu, para que valide por ejemplo al usuario o alguna condicion y si no se cumple, enviar un aviso y que ya no continue o se retorne?

2.- ¿Se puede condicionar la informacion en las grillas para que me muestre solo la informacion perteneciente a un usuario? o aqui en velneo mas o menos cual es la forma de que un usuario solo pueda ver su informacion y no la de los demas? en algun otro lenguaje haria un query y no un filtro para sea mas rapido, pero aqui cual es su equivalente?

3.- Si no me equivoco, en red lo mas recomendable es guardar el archivo en disco y la liga en la BD; ¿en la nube que es lo recomendable? como quiera la base que pienso manejar es demasiado pequeña, pero en una base grande si afectaria considerablemente almacenarlo en la DB, cierto?

 

Saludos y gracias por su valiosa ayuda




([N4] eic) #5

Hola.

1.- Depende de lo que haga cada acción de menú. Si, por ejemplo, lanza un proceso, puedes finalizarlo según una condición; pero si lanza una búsqueda, no hay ninguna manera.

2.- En cada columna de una rejilla puedes poner una condición de visibilidad. Además, la información que muestra la rejilla puede venir determinada por una búsqueda, en la cual puedas escoger la información a mostrar según el usuario que la solicita.

3.- En la nube también puedes subir el archivo mediante el servidor de disco a una carpeta del servidor, y guardar sólo el enlace. Dependerá del uso que vayas a hacer de esos archivos, su tamaño total... Guardar en base de datos es cómodo (te evitas tener que manejar el servidor de disco), pero a veces no es una buena opción. Es algo que tendrás que experimentar para poder decidir. Para un número no demasiado grande de datos, en general, suelo optar por guardar en la base de datos, sea en red o en la nube. 

Saludos,

Fran Varona

 


([N1] eparrf@gmail.com) #6

Hola [N1] nassamty.gruponassa #, has conseguido grabar un documento en formato PDF en la base de datos ? Si es así te ruego me indiques paso a paso como lo has realizado. Muchísimas Gracias.