VERSION 2008-11-13 Esta versión tiene 2 modificaciones importantes a destacar: 1) Nuevo Instalador del motor del modelo de datos del SIGOB La nueva versión del instalador del modelo de datos de SIGOB tiene como propósito instalar el modelo de datos completo del sistema, incluyendo tablas, índices, procedimientos almacenados y funciones, triggers y esquema de seguridad de usuarios, dejando al finalizar su ejecución el modelo de datos listo para su uso en el sistema. Uno de sus objetivos es que luego de una instalación exitosa, no haga falta ejecutar ningún proceso adicional para poner en marcha el sistema. Esta versión del instalador sigue un esquema diferente al de su versión anterior para montar el modelo de datos: Para mejorar su efectividad en la actualización de instalaciones existentes, el instalador crea un inicio de sesión temporal (de nombre INSTALADOR_SIGOB_fecha_hora_actual, por ejemplo INSTALADOR_SIGOB_20081110_10h25m) y su correspondiente usuario en la base de datos. Luego instala las tablas del modelo bajo el usuario temporal, lo que permite que en un momento dado coexistan dos versiones de las tablas del sistema: la versión existente (asignada al usuario dbo), y la versión nueva (asignada al usuario temporal). Ello permite realizar un complejo proceso de comparación de las estructuras para determinar diferencias existentes y definir las posibles acciones para resolverlas. El instalador, luego de la inicialización estándar (validación de contraseña de instalación y credenciales de conexión al servidor de base de datos) sigue los siguientes pasos: 1. Buscar instalación existente: El instalador determina si se trata de una instalación nueva o si se desea actualizar una instalación previa. 2. Ofrecer opciones de configuración: En caso de que se trate de una instalación existente, el instalador brinda la posibilidad de definir qué elementos serán instalados: a. Instalar esquema de seguridad: instalar rol Grupo_SIG y usuario Conexión_SIG, usuarios de consulta de MIA y administración de sistemas, y asignar permisos sobre objetos del modelo de datos b. Instalar tablas c. Instalar procedimientos almacenados y funciones d. Instalar valores iniciales y verificar consistencia e. Instalar triggers Estas opciones sólo están disponibles para instalaciones existentes. En una instalación nueva siempre se realizan todos los pasos. 3. Configurar usuarios de administración: Si se trata de una instalación nueva, o si se ha incluido la instalación del esquema de seguridad, el instalador pide el detalle de los usuarios y contraseñas para la consulta de MIA y la administración de los sistemas. 4. Confirmar instalación: una última oportunidad para revisar los pasos de instalación a ejecutar y poder hacer cambios antes de comenzar. 5. Instalar modelo a. Crear usuario temporal: Crear inicio de sesión y usuario del instalador en la base de datos b. Instalar tablas: Si es una instalación nueva, se crean las tablas directamente bajo el usuario dbo. Si es una actualización y se eligió instalar las tablas, se crean las tablas bajo el esquema del usuario temporal para su análisis posterior c. Revisar conflictos: Sólo si es una actualización, se analizan las tablas existentes una por una y se compara su estructura con la nueva versión. Esta comparación puede tener los siguientes resultados (para cada tabla): i. No hay diferencias: la tabla existente tiene la misma estructura que la tabla nueva. Se conserva la tabla existente y se descarta la nueva versión. ii. Hay diferencias recuperables automáticamente: la tabla existente tiene una estructura diferente a la tabla nueva, pero el instalador puede actualizar la estructura existente de forma automática. Si este es el caso, el instalador genera un batch con uno ó varios script de alteración de la tabla para actualizar su estructura y lo ejecuta. Si resulta bien, la tabla nueva se descarta. Si hay errores, la tabla existente se renombra y se instala la nueva versión. iii. Hay conflictos no recuperables automáticamente: las diferencias son muy complejas y el instalador no puede actualizar la tabla existente de forma automática. La tabla se agrega a una lista de tablas en conflicto para que el usuario administrador decida qué acción tomar posteriormente (ver paso “d”) d. Procesar conflictos: Si en el paso anterior se encontró conflictos no recuperables automáticamente, se presenta al administrador la lista de tablas en conflicto para que decida qué acción tomar. Hay 3 posibles opciones: i. Respaldar tabla para su posterior recuperación: el instalador renombrará la tabla existente y en su lugar instalará la nueva versión. El administrador deberá recuperar los datos manualmente después. ii. Recuperar datos y respaldar tabla existente: el instalador intentará recuperar los datos de la tabla existente en la tabla nueva, e independientemente del resultado de la operación renombrará la tabla existente para conservar una copia de la versión anterior. iii. Ignorar tabla: el instalador ignorará las diferencias, descartará la tabla nueva y guardará en un archivo el script de creación de la nueva versión y el script de recuperación de los datos existentes. Si se elige esta opción, es muy posible que los procedimientos almacenados, funciones, triggers y valores iniciales no puedan ser instalados correctamente. e. Eliminar triggers: Sólo si es una actualización, se analizan las tablas existentes en busca de triggers asociados. Los triggers encontrados son eliminados, pero primero se determina si los mismos son parte del catálogo oficial de triggers. Si se encuentra algún trigger que no forme parte del modelo, se respalda su código fuente para su posterior procesamiento. En este caso al usuario administrador se le presentará posteriormente una lista con los triggers adicionales encontrados, donde tendrá la oportunidad de decidir qué hacer con ellos. f. Instalar procedimientos y funciones: Si es una instalación nueva o si es una actualización y se eligió instalarlos, se crean los procedimientos almacenados y funciones. g. Instalar valores iniciales y verificar consistencia: Si es una instalación nueva o si es una actualización y se eligió este paso, se insertan los valores predefinidos en las tablas del modelo y se realizan los ajustes para verificar la consistencia de datos existentes. h. Instalar triggers: Si es una instalación nueva o si es una actualización y se eligió instalarlos, se crean los triggers del catálogo oficial del sistema. En una actualización, si en el paso “e” se encontró triggers adicionales, se presenta al usuario la lista de los triggers encontrados y se le ofrecen 2 opciones para cada trigger: i. Crear trigger: instalar trigger adicional. Si falla, el trigger será respaldado en un archivo. ii. Respaldar trigger: Se guarda el script de creación del trigger en un archivo. i. Instalar esquema de seguridad: Si es una instalación nueva o si es una actualización y se eligió instalarlo, se crea el rol Grupo_SIG, el usuario Conexión_SIG, el usuario de consulta de MIA, los usuarios de administración del sistema, y los usuarios adicionales para los sistemas Web. Además, se configura el registro de Windows para establecer como conexión predeterminada del sistema la base de datos recién instalada. j. Asignar permisos: Si se instaló el esquema de seguridad, se asignan los permisos sobre los objetos del modelo de datos a todos los usuarios y roles creados por el instalador. k. Eliminar usuario temporal: Se cierra la sesión del usuario temporal, se quita el usuario de la base de datos y se elimina el inicio de sesión temporal. 6. Presentar reporte: Se presenta el reporte de la instalación, donde está el detalle de todos los pasos ejecutados en el proceso de instalación. El reporte se puede guardar a Excel o como página HTML. Finalizado el proceso, es posible ingresar al sistema. 2) AGENDA DEL DESPACHO La nueva versión del módulo de “Agenda del Despacho” contiene las siguientes modificaciones: a) Vista inicial: La vista inicial contiene el conjunto de tareas y eventos disponibles y es del tipo calendario, pudiendo visualizar el mismo en modo diario, semanal, semanal laboral, mensual, anual y en modo de grilla horaria. También se puede seleccionar un periodo haciendo clic sobre la fecha inicial y arrastrando el mouse hasta la fecha final, con lo cual se despliega una vista del periodo seleccionado. Se agregaron las opciones de crear nuevas tareas o eventos haciendo clic derecho sobre el calendario y de abrir o eliminar tareas o eventos haciendo clic derecho sobre ellos. Solo se pueden eliminar desde el calendario tareas y eventos que fueron creados desde la Agenda. Tareas: se despliegan en la parte superior del cuadro correspondiente a la fecha de término de la misma, ya que las tareas no poseen una fecha y hora de inicio ni hora de término. Cuando una tarea está vencida, se presenta con letras de color rojo, cuando está sin revisar con letras en negritas y cuando está finalizada con letras itálicas. Eventos: cuando está sin revisar, se muestra con letras en negritas. Si el evento fue programado desde la agenda, el mismo puede moverse arrastrándolo a la nueva fecha y hora en que se desea fijar el evento. b) Ingreso directo a tareas: Se eliminó el paso intermedio que existía al querer ingresar a una tarea, el cual consistía en desplegar un formulario con la información común a todos los tipos de tarea, el cual contenía un botón para ingresar a la tarea en particular, ya sea de centro de gestión o procal. En esta nueva versión entonces, al ingresar a una tarea, el módulo reconoce el origen de la misma y despliega el formulario específico para el tipo de tarea. c) Tareas de agenda: En esta versión, las tareas de agenda son manejadas por el mismo tipo de formulario que manejan los demás tipos de tareas, permitiendo así asociar documentos, realizar comunicaciones y consultar la bitácora de consultas. d) Nuevas opciones en sección de control: se crearon accesos directos a las nuevas tareas asignadas, tareas programadas y tareas en las que se es monitor. También se repitieron las opciones de tareas de la sección de consulta (tareas pendientes, vencidas y finalizadas). e) Nuevo control de seguridad: Cuando se toma control de la agenda de otro despacho, no se puede ingresar a las tareas y eventos que no fueron creados desde la agenda y tampoco se despliega su descripción, sino que se indica que es un evento del centro de gestión o evento de programa calendario, etc.