[[TranslatedPages]] [[PageOutline(2-5,Índice)]] {{{ #!div style="width:50%; background: #ffd; font: bold italic large sans-serif"> En preparación. - Revisar todo el texto. }}} = Acciones y menús de usuario = == Introducción. == La consola web de OpenGnSys ofrece un amplio conjunto de características relacionadas con la gestión y el despliegue de equipos en una Unidad Organizativa. Merece especial interés indicar que el administrador de una Unidad puede realizar y programar distintas acciones que pueden ser ejecutadas sobre los clientes. Además de los comandos revisados en los temas anteriores, van a estudiarse el resto de operaciones más comunes, tales como: * '''Acción''': operación en general que puede ser requerida desde la consola de administración web y que será ejecutada en los clientes. * '''Comando''': acción predefinida en la consola web de OpenGnSys. * '''Procedimiento''': secuencia de acciones con sus parámetros de ejecución que puede ser lanzada para ejecutarse sobre cualquier cliente o grupo de clientes. * '''Tarea''': secuencia de acciones, similar al procedimiento, que se realiza directamente sobre un ámbito de ejecución determinado y que puede ser programada para realizarse en periodos específicos de tiempo. * '''Menú de cliente''': página de inicio de un cliente que muestra el conjunto de acciones predeterminadas que pueden ser seleccionadas por el usuario local. * '''Menú automático''': creado a partir de los procedimientos y tareas definidos, que pueden contener acciones públicas y privadas para el administrador. * '''Menú personalizado''': página web con inserción de comandos específicos de la API de funciones de OpenGnSys (este tipo de menús no se estudiarán en el presente manual). == Comandos == Un comando es una acción predefinida en la consola web de OpenGnSys que contiene un conjunto de parámetros determinado y que puede ser solicitada su ejecución sobre cualquier cliente o conjunto de clientes. Como ya se ha visto en temas anteriores, los comandos se pueden ejecutar pinchando sobre el objeto deseado dentro de la pestaña Aulas y seleccionándolo dentro del menú “Comandos”. También se puede ver la lista de comandos predefinidos en la lista “Comandos” de la pestaña Acciones. Los comandos predefinidos en OpenGnSys son los siguientes: * '''Apagar''': ejecuta la secuencia de apagado del ordenador cliente. * '''Arrancar''': realiza una petición de encendido del equipo cliente. * '''Crear Imagen''': solicita la creación de una imagen de uno de los sistemas de ficheros de un determinado cliente. * '''Ejecutar Script''': ejecuta sobre el cliente cualquier comando o función de la API del Motor de Clonación, que pueda ser interpretada por el cliente de OpenGnSys. * '''Eliminar imagen de caché''': borra de la caché local del cliente los ficheros de la imagen seleccionada. * '''Iniciar sesión''': solicita el inicio de uno de los sistemas operativos instalados en el ordenador. * '''Inventario Hardware''': recopila la información de los dispositivos del equipo. * '''Inventario Software''': obtiene el listado de aplicaciones instaladas en uno de los sistemas operativos del cliente. * '''Reiniciar''': lanza el proceso de rearranque del ordenador. * '''Restaurar imagen''': vuelca una imagen en uno de los sistemas de archivos del cliente La gestión de imágenes sincronizadas se encuentra aún en pruebas, por ello se ha optado por separar los comandos asociados a este tipo de imágenes en un submenú independiente. Los comandos del submenú '''Sincronización''' son los siguientes: * '''Crear Imagen Básica''': solicita la creación de una imagen base de uno de los sistemas de ficheros de un determinado cliente. * '''Crear Imagen Incremental''': genera una imagen con las diferencias incluidas en uno de los sistemas de ficheros de un determinado cliente con respecto a su imagen básica asociada. * '''Restaurar imagen Básica''': vuelca una imagen básica en uno de los sistemas de archivos del cliente * '''Restaurar imagen Incremental''': vuelca una imagen incremental en uno de los sistemas de archivos del cliente Cada tipo de ámbito de ejecución (ésto es: cada tipo de objeto dentro del árbol de aulas) cuenta con un número diferente de comandos. La siguiente tabla muestra la lista de comandos disponibles para cada tipo de ámbito. ||= Comandos =||= Unidad Organizativa =||= Grupo de Aulas =||= Aula =||= Grupo de Ordenadores =||= Ordenador =|| ||Apagar|| X || X || X || X || X || ||Arrancar|| X || X || X || X || X || ||Crear Imagen|| || || || || X || ||Ejecutar Script|| X || X || X || X || X || ||Eliminar imagen de caché|| X || X || X || X || X || ||Iniciar Sesión|| X || X || X || X || X || ||Inventario Hardware|| || || || || X || ||Inventario Software|| || || || || X || ||Reiniciar|| X || X || X || X || X || ||Restaurar Imagen|| || || X || X || X || ||= Comandos de Sincronización =||= Unidad Organizativa =||= Grupo de Aulas =||= Aula =||= Grupo de Ordenadores =||= Ordenador =|| ||Crear Imagen Básica|| || || || || X || ||Crear Imagen Incremencial|| || || || || X || ||Restaurar Imagen Básica|| || || X || X || X || ||Restaurar Imagen Incremencial|| || || X || X || X || == Procedimientos == La pestaña “'''Acciones'''” de la consola de web cuenta con una segunda lista que contiene el conjunto de procedimientos definidos por el administrador de la Unidad Organizativa. Un procedimiento almacena los datos de ejecución de un determinado comando o asistente, incluyendo todos los parámetros necesarios. Dicho procedimiento puede ser lanzado sobre cualquier objeto del tipo '''Aula'''. === Definir un nuevo procedimiento === Aunque este primer paso no es necesario, resulta una buena práctica de trabajo, el definir previamente los objetos de tipo '''Acción'''. Por lo tanto, puede definirse un nuevo procedimiento vacío directamente desde la pestaña “Acciones”, tal y como se muestra en la siguiente figura. [[Image(ProcedimientosDefinirNuevo.png)]] También puede definirse un procedimiento nuevo directamente al incluir la primera acción a ejecutar, incluyendo un nuevo nombre para dicho procedimiento. === Asignar acciones a un procedimiento === Una vez definido el nuevo procedimiento, debe asignarse el contenido de sus datos, realizando la simulación de la ejecución de un comando o de un asistente, incluyendo toda la información necesaria en el formulario correspondiente. El comando puede realizarse sobre cualquier objeto de tipo Aula que soporte su ejecución y que disponga de los datos adecuados para componer el procedimiento. La simulación de la ejecución del comando debe contener todos los datos necesarios, por lo tanto, deberá rellenarse el formulario completamente. El siguiente ejemplo muestra cómo añadir el comando “Arrancar” a un procedimiento ya creado previamente denominado “Arrancar pc”, simulando la ejecución de dicho comando, marcando la opción de “Guardar como procedimiento” y eligiendo de la lista el procedimiento correspondiente. [[Image(ProcedimientosIncluirAcciones.png)]] ''Nótese que en el ejemplo se ha desmarcado la casilla “Ejecutar inmediatamente” para simular la ejecución del comando, por lo que esta operación sería realizada sobre cualquier ordenador que pueda lanzar el comando (en este caso, “Arrancar” puede ser solicitado sobre cualquier equipo).'' Un procedimiento puede constar de un único comando, pero también puede estar compuesto por una secuencia de ejecución ordenada de otros procedimientos previamente definidos. El siguiente ejemplo muestra como realizar la operación de “Incluir acciones” sobre el procedimiento “Clonación completa”, indicando que el procedimiento “Arrancar pc” será el 1º en su secuencia de ejecución. [[Image(ProcedimientosIncluirAccionesClonacion.png)]] La opción “Información procedimiento” puede utilizarse para comprobar los datos almacenados que serán ejecutados por el procedimiento, indicando la secuencia establecida de comandos y sus parámetros. [[Image(ProcedimientosInformacion.png)]] === Ejecutar un procedimiento === Los procedimientos definidos pueden ejecutarse sobre cualquier ordenador o grupo de ordenadores, teniendo en cuenta las restricciones evidentes derivadas de la configuración de los equipos respecto a los comandos que se van a realizar. Por ejemplo, puede producirse un error al intentar restaurar una imagen sobre varios ordenadores que tengan configuraciones muy diferentes. Para ejecutar el procedimiento solo es necesario pulsar con el botón derecho sobre el objeto deseado, seleccionar “Procedimientos”, elegirlo en la pantalla de ejecución de procedimientos pulsando con el botón derecho y elegir “Ejecutar procedimiento”. El siguiente ejemplo muestra como ejecutar el procedimiento “Arrancar pc” sobre los ordenadores del aula “A4.30”. [[Image(ProcedimientosEjecutar.png)]] === Eliminar un procedimiento === La consola web de OpenGnSys ofrece también la posibilidad de eliminar la definición de procedimientos, lo que provoca que ya no puede volver a ser lanzado. Debe tenerse en cuenta que, si se borra un procedimiento que se ejecuta dentro de la secuencia de otro procedimiento contenedor, aparecerá una línea vacía en la pantalla de información de éste último. Se deben tener en cuenta las siguientes recomendaciones a la hora de eliminar procedimientos. * Si se elimina un procedimiento que consta de una secuencia de procedimientos de ejecución, borrar en primer lugar el contenedor. * Al eliminar un procedimiento, repasar si está contenido dentro de cualquier otro para desmarcarlo, evitando definiciones vacías en la secuencia de ejecución.. El siguiente ejemplo muestra como eliminar el procedimiento “Arrancar pc”. [[Image(ProcedimientosEliminar.png)]] == Tareas == Como ya se indicó en la Introducción a este tema, una tarea consta de un procedimiento o de una secuencia de acciones que se ejecutará siempre sobre un determinada ámbito de aplicación y que puede ser programada para ser lanzada en determinados periodos de tiempo. Ámbito de aplicación:: Cualquier objeto de tipo Aula, formado por uno o varios clientes donde se realizará la ejecución de una determinada acción. Los tipos de ámbitos de ejecución predefinidos son: Unidad Organizativa, Grupo de Aulas, Aula, Grupo de Ordenadores y Ordenador. Programación de una tarea:: Lista con la definición de los tiempos en los que se activa la ejecución de una tarea. === Definir una nueva tarea === La consola de administración web de OpenGnSys requiere que se realice en primer lugar la definición de una nueva tarea, indicando los datos de su nombre, su descripción y el ámbito de aplicación específico donde podrá se ejecutada. El siguiente ejemplo muestra la creación de la tarea “Arrancar PCs Módulo A4” que se ejecutará sobre un grupo de aulas denominado “Módulo A4”. [[Image(TareasDefinirNueva.png)]] === Asignar acciones a una tarea === Aunque, como en el caso de los procedimientos, puede asignarse un comando a la tarea recién creada, el método más correcto de asignar acciones a tareas es definir una secuencia basada en procedimientos creados con anterioridad. Si se asigna directamente un comando a una tarea, el sistema creará un procedimiento temporal que su contenido y asignará dicho procedimiento a la tarea. El siguiente ejemplo muestra la manera de añadir un nuevo procedimiento “Iniciar Partición 2”, que será ejecutado en 2º lugar en la tarea “Arrancar PCs Módulo A4”, mediante el formulario de “Incluir acciones”. [[Image(TareasIncluirAcciones.png)]] ''Nótese que la tarea cuenta con un procedimiento poco descriptivo “Proc(6)”, creado a partir de incorporar un comando, el cual no presta una descripción correcta del mismo. Por este motivo, se aconseja incorporar procedimientos predefinidos en vez de convertir un comando en una tarea.'' La pantalla de “Información Tarea” incluye una descripción de la secuencia de ejecución de la tarea deseada. Así, el siguiente ejemplo muestra la definición detallada de la tarea “Arrancar PCs Módulo A4”, constituida por 2 procedimientos: “Proc(6)” con el comando “Arrancar” e “Iniciar Partición 2” con el comando de “Iniciar Sesión” en la partición 2. [[Image(TareasInformacion.png)]] === Programar la ejecución de una tarea === Otro aspecto diferencial de las tareas es la posibilidad de programar su ejecución en momentos determinados. La consola web de OpenGnSys permite la personalización de los instantes de ejecución deseados, incluyen varios tipo de series de repetición (por días de la semana, días del mes, semanas, meses y anuales). El siguiente ejemplo muestra como programar la ejecución de la tarea “Arrancar PCs Módulo A4” para que se realice todos los días de lunes a viernes a las 8:00 durante los 4 últimos meses de 2012. [[Image(TareasProgramar.png)]] === Ejecutar una tarea === La tarea es una acción que tiene todos sus datos almacenados (ámbito y periodo de ejecución, acción, parámetros), por lo tanto, para realizar su ejecución basta con seleccionar la tarea deseada y pulsar con el botón derecho sobre la opción “Ejecutar tarea”. Para evitar errores a la hora de seleccionar la tarea que se desea ejecutar, el sistema solicita la confirmación de la ejecución, mostrando resalta la tarea seleccionada. El gráfico siguiente muestra el mensaje de advertencia para confirmar la ejecución de la tarea “Arrancar PCs Módulo A4”. [[Image(TareasEjecutar.jpg)]] === Eliminar una tarea === Cuando una tarea deja de ser necesaria, la consola web de OpenGnSys permite eliminar definitivamente su definición, pero sin borrar las acciones que se ejecutaban en su secuencia, puesto que dichas acciones pueden ser lanzadas “a mano” o ejecutadas dentro de otras acciones. Si el administrador de la Unidad Organizativa quiere borrar todas las acciones que se realizaban en una tarea eliminada, tendrá que quitarlas de una en una. El siguiente ejemplo muestra como eliminar la definición de la tarea “Arrancar PCs Módulo A4”. En el caso del ejemplo que nos ocupa, seguramente será recomendable que se elimine también el proceso “Proc(6)” creado a partir de la incorporación del comando “Arrancar” en la tarea. [[Image(TareasEliminar.png)]] == La cola de acciones == En los puntos anteriores de este tema se ha estudiado como preparar y ejecutar acciones sobre los distintos ordenadores clientes gestionados por la consola de OpenGnSys, pero ¿qué ha ocurrido?, ¿las acciones se han ejecutado correctamente? La consola web de OpenGnSys incluye una herramienta potente y versátil, denominada Cola de Acciones, que facilita toda la información necesaria sobre la historia de ejecución de acciones, para que el administrador de la Unidad Organizativa pueda realizar las comprobaciones necesarias. Existe una cola de acciones independiente y accesible para cada objeto de tipo Aula, o sea, para cualquier ámbito de aplicación definido. El siguiente ejemplo muestra una pantalla general de la cola de acciones de toda la Unidad Organizativa. [[Image(ColaDeAcciones.png)]] La cola de acciones incluye información sobre los comandos, los procedimientos y las tareas ejecutadas, indicando los siguientes datos: * Nombre de la acción. * Subprocesos, si los hubiera. * Parámetros de ejecución. * Resultado de terminación (sin errores o con errores). * Datos temporales de inicio y fin de ejecución. * Ámbito de aplicación de la acción. * Información del error, si se ha ejecutado con fallos. * Indicador de parar o reanudar una acción. * Porcentaje de finalización, en el caso de ejecutarse sobre varios equipos. El ejemplo siguiente muestra los datos de los resultados de ejecución de 2 acciones, la primera de ellas finalizada correctamente y la segunda terminada con error. [[Image(ColaDeAccionesResultados.png)]] Por defecto, los procedimientos y las tareas se incluyen automáticamente en la cola de acciones de su objeto correspondiente. Sin embargo, los comandos no se almacenan por defecto en la cola de acciones, para ello debe marcarse su inclusión en la pantalla de opciones de ejecución de dicho comando. El siguiente gráfico muestra cómo indicar que un comando debe añadirse a la cola de acciones. [[Image(ColaDeAccionesIncluir.png)]] === Filtrar la información a mostrar === La cola de acciones puede mostrar una gran cantidad de información sobre las acciones ejecutadas en cada cliente, por lo que el formulario de la pantalla de datos incluye una variedad de opciones para que los resultados se visualicen de la manera más cómoda posible. Los datos por los que se puede filtrar la información presentada en la cola de acciones son: * Tipo de acción. * Estado de ejecución de la acción. * Resultado final de la ejecución. * Rango de porcentaje de finalización de la acción para ámbitos con varios equipos. * Fecha y hora de inicio y de finalización de la acción. El siguiente ejemplo muestra el formulario de selección de opciones de filtrado y parte del resultado de la búsqueda de de los procedimientos finalizados correctamente entre el 01/09/2012 y el 24/10/2012. [[Image(ColaDeAccionesFiltrado.png)]] También se puede seleccionar el tipo de información que se desea presentar, pudiendo seleccionar datos complementarios a los propios de la acción en si, tales como: * Notificaciones de estado y errores individualizadas (marcado por defecto). * Subprocesos de una acción compuesta (desmarcado por defecto). * Parámetros de ejecución de la acción (desmarcado por defecto). El cuadro siguiente muestra la salida completa con todos los datos de ejecución de un comando “Restaurar imagen” realizado sobre un grupo seleccionado de ordenadores. [[Image(ColaDeAccionesDatosAccion.jpg)]] El último aspecto importante de la herramienta Cola de Acciones es la posibilidad de realizar algunas operaciones sobre las acciones presentadas, pulsando sobre los botones correspondientes o con el botón derecho sobre el icono de la acción. Las siguientes operaciones pueden realizarse sobre una acción determinada, dependiendo de su estado. * Filtrar acción, o sea, mostrar solo los datos de dicha acción. * Eliminar los datos de la acción, liberando espacio en la base de datos. * Reiniciar (volver a ejecutar) una acción finalizada. * Parar la ejecución de una acción. * Reiniciar una acción parada. * Marcar la acción como finalizada correctamente y sin errores. * Marcar la acción como terminada con errores. El siguiente ejemplo muestra como finalizar el procedimiento “Iniciar Partición 2” para que no se ejecute en los 3 equipos que queda pendiente en el aula “A4.31”. [[Image(ColaDeAccionesFinalizarAccion.png)]] == Menús automáticos == El proceso de arranque normal de un cliente OpenGnSys finaliza con un el Browser o navegador que presenta una página web modificada para que el usuario pueda seleccionar aquellas operaciones preparadas para ser ejecutadas en su equipo, tales como el inicio de un sistema operativo instalado, la restauración de un sistema de archivos o el apagado del equipo. La página web que presenta el Browser del cliente es un menú de opciones que se almacena o se compone desde la consola de administración web de OpenGnSys y puede ser personlizada para cualquier ámbito de aplicación. Aunque OpenGnSys permite crear menús de clientes personalizados componiendo la página web usando un lenguaje HTML modificado, durante este curso solo se estudiará el menú automático, que se compone a partir de las acciones predefinidas. === El menú por defecto === Como se verá más adelante, el menú de arranque asociado a un ordenador se asigna en la pantalla de Propiedades. Cuando este campo está vacío, o sea, no existe ningún menú asociado al ordenador, OpenGnSys genera un menú por defecto que muestra información sobre el PC y una única opción para apagar el equipo. El siguiente ejemplo muestra el menú por defecto generado para una de las máquinas virtuales del curso. [[Image(MenusDefecto.jpg)]] ''Nótese que el usuario solo puede pulsar sobre el enlace “Apagar el equipo”, que ejecuta la orden de OpenGnSys para parar la máquina.'' === Definir un nuevo menú === La pestaña “Menús” de la consola web de OpenGnSys incluye toda la información necesaria sobre los menús de usuario. Para definir un menú nuevo, solo hay que pulsar con el botón derecho sobre “Menús” y seleccionar la opción “Definir nuevo menú”. La pantalla de creación de un menú nuevo requiere la introducción de los siguientes datos: * Nombre del menú, que será mostrado en el árbol de menús. * Título que aparecerá en el menú del ordenador cliente. * Imagen de fondo seleccionada de la lista. * Resolución de pantalla, que dependerá de la tarjeta gráfica del ordenador, en caso de usar el menú en distinto tipo de hardware, se recomiendo usar la menor resolución posible. * Comentarios opcionales. * Datos básicos de la parte pública del menú de usuario, como tipo de presentación y URL de menú personalizado (dejar este último campo vacío). * Datos básicos de la parte privada para el menú del administrador, como tipo de presentación y URL de menú personalizado (dejar este último campo vacío). ''Los campos de posición no tienen efecto, están previstos para versiones futuras, mientras que el valor de “Modalidad” indica el número de columnas que se utilizará para presentar el menú.'' El siguiente ejemplo muestra el formulario para crear un nuevo menú denominado “Menú Curso”, que usará una resolución de pantalla de “800x600, 16bits”. [[Image(MenusDefinirNuevo.png)]] Después de definir un nuevo menú debe asignarse a los equipos que vayan a utilizarlo en su arranque. El menú puede asociarse de manera individual en las Propiedades de un ordenador en particular o de manera colectiva en las Propiedades de un aula, para que puede ser utilizado por todos sus equipos. El siguiente ejemplo muestra como asociar el “Menú Curso” el equipo “ogclient1” pulsando con el botón derecho sobre la opción “Propiedades” de dicho ordenador y seleccionando el menú de la lista desplegable. [[Image(MenusAsignarAPC.png)]] El último paso a realizar para terminar de definir y asignar correctamente un menú es ejecutar la opción de “Netboot Avanzado” sobre aquellas aulas que tengan ordenadores a los que se le ha asignado el menú y pulsar en el botón de “Aceptar”, para componer los ficheros adecuados de arranque con la resolución de pantalla adecuada. === Asignar acciones a un menú === En menú automático puede consta de 2 series ordenadas de acciones, que pueden ser seleccionadas por el usuario: * Elementos públicos: aquellas acciones que pueden ejecutarse por cualquier usuario. * Elementos privados: acciones que solo pueden ser lanzadas por un usuario administrador, previa autentificación en OpenGnSys. Las acciones definidas por el administrador de la Unidad Organizativa (tanto procedimientos como acciones) se pueden asignar a cualquiera de los menús creados en el sistema, indicando los siguientes datos para cada uno de ellos: * Marcar si la acción se asigna al menú. * Indicar el tipo de ítem, público o privado. * Asignar opcionalmente un icono predefinido. * Texto que aparecerá en el enlace para ejecutar la acción. * Orden deseado para mostrar la acción dentro del menú. El siguiente ejemplo muestra la manera de incluir el procedimiento “Iniciar Ubuntu 12.04” como ítem público del “Menú Curso”, incluyendo un gráfico y un texto en el 2º lugar. [[Image(MenusIncluirProcedimiento.png)]] Los elementos asignados a un determinado menú pueden revisarse y modificarse en su opción “Gestionar ítems”, presentando una lista con las acciones incluidas en dicho menú, indicando su tipo (público o privado), la imagen, el texto y el orden. Desmarcando las acciones, éstas dejarán de estar disponibles para el menú. El siguiente ejemplo muestra el “Menú Curso” con 3 procedimientos públicos y ninguna acción privada. [[Image(MesnuGetsionarItem.png)]] La siguiente imagen muestra el menú generado directamente sobre un cliente, donde puede observarse una cabecera con información sobre la máquina, el título del menú, las 3 acciones marcadas anteriormente y un enlace “Administrar”, que puede utilizarse para entrar en el menú privado, previa autentificación en el servidor de OpenGnSys. En este caso, el menú privado no muestra ninguna acción disponible y presenta solo un enlace “Volver” para regresar al menú público. [[Image(MenusResultado.png)]] La opción “Información Menú” ofrece una pantalla con todos los detalles del menú seleccionado, indicando los ordenadores que lo usan agrupados por aulas y los elementos que lo componen, tanto públicos como privados. La siguiente captura de pantalla muestra un ejemplo de los datos de configuración del “Menú Curso”, preparado anteriormente y asignado a todos los equipos del “Aula Curso”. [[Image(MenusInformacion.png)]] === Eliminar un menú === Para finalizar con el tema, la consola de OpenGnSys también ofrece la posibilidad de eliminar un menú. Cuando se borra un menú no se elimina ninguna de las acciones que tuviese asignadas y sus los equipos que lo utilizaban pasan a usar el menú por defecto, a no ser que se les indique otro menú diferente. El siguiente ejemplo muestra la pantalla de la opción “Eliminar Menú” para borrar el “Menú Curso”. [[Image(MenusEliminar.png)]]