ÍNDICE DE CONTENIDOS 1. MANUAL DEL PROGRAMADOR 2 1.1 DICCIONARIO DE DATOS 2 1.2 DICCIONARIO DE SCRIPTS DE LA APLICACIÓN 9 1.3 ESTRUCTURA DEL SITIO 13 1.4 CRITERIOS PARA NOMBRAR VARIABLES Y FUNCIONES 18 2. MANUAL DEL ADMINISTRADOR 20 2.1 INSTALACIÓN DEL SOFTWARE NECESARIO 20 2.2 ORGANIZACIÓN DE LOS ARCHIVOS EN EL SERVIDOR 22 2.3 INSTALAR LA BASE DE DATOS EN EL SERVIDOR 24 3. MANUAL DE USUARIO 31 3.1 INGRESO AL SISTEMA 31 3.2 DESCRIPCIÓN DE FUNCIONES DISPONIBLES SEGÚN PERFIL 31 3.2.1 FUNCIONES PARA EL PERFIL ESTUDIANTE 32 3.2.2 FUNCIONES PARA EL PERFIL DOCENTE 35 3.2.3 FUNCIONES PARA EL PERFIL COORDINADOR 41 3.2.4 FUNCIONES PARA EL PERFIL DECANO 42 3.2.5 FUNCIONES PARA EL PERFIL ADMINISTRADOR 43 3.3 HABILITACIÓN DEL AUTOREGISTRO DE USUARIOS 44 3.4 UTILIZACIÓN DEL EDITOR DE CONTENIDO WEB 45 3.4.1 APLICAR FORMATO NEGRITA, ITÁLICA Y SUBRAYADO AL CONTENIDO 46 3.4.2 ALINEAR EL TEXTO DENTRO DEL EDITOR DE CONTENIDO 47 3.4.3 INSERTAR UNA TABLA CON EL EDITOR DE CONTENIDO 49 3.4.4 INSERTAR IMÁGENES CON EL EDITOR DE CONTENIDO 51 2 1. MANUAL DEL PROGRAMADOR El sistema informático de plantillas para guías de práctica de laboratorio se ha desarrollado utilizando una base de datos MySQL y código de scripts en lenguaje PHP. En el siguiente manual del programador se detalla el diseño de la base de datos mediante la descripción detallada de las entidades y campos de las tablas en el diccionario de datos y a continuación la descripción de las librerías y funciones de la aplicación. 1.1 DICCIONARIO DE DATOS Nombre de la entidad tblparametros Descripción Contiene valores que se utilizan dentro de la aplicación para identificar elementos de las pantallas o información relacionada con la institución que de llegarse a modificar dentro de la base de datos no sería necesario modificar la aplicación. Nombre del campo Tipo de dato Descripción idparametro(PK) int NOT NULL Identificador único del tipo de parámetro tipoparametro varchar(20) NOT NULL Se utiliza para clasificar los parámetros en categorías Parametro varchar(50) Breve descripción del parámetro utilizado Valor varchar(120) Valor específico del parámetro que contendrá lo que se verá en la ventana del navegador. Nombre de la entidad tblperfiles Descripción Contiene los diferentes perfiles de usuarios que se relacionarán de algún modo con el sistema. Se han definido perfiles de administrador, coordinador, docente, estudiante e invitado. Cualquier nuevo perfil deberá ser agregado en esta tabla de acuerdo a la necesidad de la institución. 3 Nombre del campo Tipo de dato Descripción idperfil(UN) int NOT NULL Identificador único del tipo de perfil de usuario perfil(PK) varchar(16) NOT NULL Es el código de perfil definido para cada tipo de usuario Descripcion varchar(50) Descripción del tipo de perfil Nombre de la entidad tblperfilesusuarios Descripción Contiene los perfiles de cada uno de los usuarios del sistema. Todos los usuarios registrados en el sistema deben tener un perfil asociado en esta tabla. Nombre del campo Tipo de dato Descripción idperfilusuario int NOT NULL Identificador único para cada registro de la tabla perfiles usuarios usuario varchar(30) NOT NULL Identificador de la cuenta de usuario. Llave foránea relacionada con la tabla usuarios. perfil varchar(16) NOT NULL Es el código de perfil definido para cada tipo de usuario. Llave foránea relacionada por el perfil de la tabla tblperfiles. Nombre de la entidad tblderechos Descripción Contiene los derechos de acceso al sistema para cada uno de los perfiles de usuarios definidos en el sistema. Nombre del campo Tipo de dato Descripción idderecho int NOT NULL Identificador único para cada registro de la tabla tblderechos perfil varchar(16) NOT NULL Es el código de perfil definido para cada tipo de usuario. Es una llave foránea relacionada con la tabla tblperfil. derecho varchar(20) NOT NULL Nombre del derecho que se asigna a los perfiles 4 definidos en el sistema. guias bool NOT NULL Valor lógico que indica si el perfil definido tiene derecho de creación de guías. plantillas bool NOT NULL Valor lógico que indica si el perfil definido tiene derecho de creación de plantillas. usuarios bool NOT NULL Valor lógico que indica si el perfil definido tiene derecho de creación de usuarios. grupos bool NOT NULL Valor lógico que indica si el perfil definido tiene derecho de creación de grupos. eliminacion bool NOT NULL Valor lógico que indica si el perfil definido tiene derecho de eliminación sobre los recursos de la base de datos. Nombre de la entidad tblusuarios Descripción Contiene información personal de cada uno de los usuarios del sistema. Nombre del campo Tipo de dato Descripción usuario(PK) varchar(30) NOT NULL Identificador único para cada usuario registrado en el sistema. Llave primaria de esta tabla. nocarnet varchar(10) NOT NULL Número de carnet del usuario del sistema. Tanto un estudiante como un docente deben tener un número de carnet dado por la institución. carrera varchar(50) NOT NULL Número de identificación de la carrera a la que pertenece el usuario. Aplica tanto a estudiantes como a docentes. contrasena varchar(20) NOT NULL Contraseña asociada a cada cuenta de usuario. Todos los usuarios del sistema deben tener una contraseña para poder ingresar al sistema de plantillas de guías de laboratorio. nombre varchar(30) NOT NULL Nombre completo del usuario. apellido varchar(30) NOT NULL Apellido completo del usuario telefono varchar(15) NOT NULL Teléfono del usuario 5 email varchar(50) NOT NULL Correo electrónico del usuario fechacreacion date Fecha en la que se insertó el registro estado char(2) NOT NULL Indica el estado del usuario. Puede ser A: activo, I: inactivo, R: retirado. Nombre de la entidad tblcarreras Descripción Contiene las diferentes carreras de la Universidad Don Bosco. Nombre del campo Tipo de dato Descripción idcarrera(PK) int NOT NULL Identificador único para las carreras de la Universidad Don Bosco. Se corresponde con los códigos de carrera aprobados en la universidad. carrera varchar(50) NOT NULL Nombre de la carrera dentro de la Universidad Don Bosco Nombre de la entidad tbllog Descripción Contiene el registro de todos los ingresos al sistema. Cada vez que un usuario ingresa al sistema se guarda un registro y cada vez que el usuario realiza una acción o visita una página del mismo. Nombre del campo Tipo de dato Descripción idlog int NOT NULL Identificador único para cada registro de la tabla tbllog idproceso int NOT NULL Proceso realizado por el usuario que ingresó al sistema o que está navegando en este. usuario varchar(30) NOT NULL Identificador del usuario del sistema que realiza la transacción. fechahora datetime NOT NULL Indica la fecha en que se realizó la transacción. ipacceso varchar(15) NOT NULL Dirección IP desde dónde el usuario inició sesión al sistema. pagina varchar(50) NOT NULL Página web en la que navegó el usuario. 6 referencia varchar(30) NULL En el caso que el usuario haya hecho una modificación, inserción o eliminación de algún registro en alguna tabla de la base de datos una referencia al nombre de la tabla y registro modificados. resultado varchar() NOT NULL Si se modificó de alguna forma algún registro un indicador de si la transacción tuvo éxito o no. Nombre de la entidad tblprocesos Descripción Contiene todos los procesos que es posible realizar en el sistema. Nombre del campo Tipo de dato Descripción idproceso int NOT NULL Identificador único de los diferentes procesos. proceso varchar(50) NOT NULL Nombre del proceso de sistema. tipoproceso varchar(100) NOT NULL Descripción del proceso de sistema con el propósito de obtener información más detallada sobre los procesos de sistema. Nombre de la entidad tblmaterias Descripción Contiene las materias que están consideradas para la realización de guías de práctica utilizando el sistema informático de plantillas. Nombre del campo Tipo de dato Descripción idmateria char(8) NOT NULL Identificador único de las materias impartidas en la universidad. materia varchar(50) NOT NULL Nombre del proceso de la materia. idcarrera int NOT NULL Identificador de la carrera. Relación con la tabla tblcarreras. Nombre de la entidad tblgrupos Descripción Contiene los grupos de cada materia con prácticas de laboratorio. 7 Nombre del campo Tipo de dato Descripción usuario int NOT NULL Identificador del usuario docente encargado del grupo idmateria char(8) NOT NULL Identificador de la materia. numerogrupo char(2) NOT NULL Número de grupo relacionado con cada materia. cupo int NOT NULL Número que indica el número máximo de estudiantes que puede aceptarse dentro de un grupo. salon varchar(10) NULL Salón en el que va a realizarse la práctica de laboratorio de ese grupo. hora time NOT NULL Hora a la que va a realizarse la práctica de laboratorio. dia varchar(10) NULL Indica el día de la semana que tiene lugar la práctica de laboratorio. Nombre de la entidad tblplantillas Descripción Contiene las plantillas creadas para la guías de práctica de laboratorio. Nombre del campo Tipo de dato Descripción idplantilla char(9) NOT NULL Identificador único de las diferentes plantillas para guía de práctica. plantilla varchar(50) NOT NULL Nombre que se le asigna a la plantilla. creador varchar(30) NOT NULL Usuario coordinador encargado de la creación de la plantilla fechacreacion date NULL Fecha en que se creó la plantilla por primera vez. fechamodificacion datetime NOT NULL Fecha en que se realiza la modificación actual de la plantilla Nombre de la entidad tblsecciones Descripción Contiene las diferentes secciones de cada plantilla para guías de práctica. 8 Estas secciones serán los contenidos de la guía de práctica. Nombre del campo Tipo de dato Descripción idseccion int NOT NULL Campo de relación con la tabla tbldetalleplantilla para indicar un campo que identifique de forma única cada sección de la guía. orden int NOT NULL Número que indica qué orden ocupa esa sección dentro de la guía de práctica. titulo varchar(60) NOT NULL Título de la sección de la guía de práctica Nombre de la entidad tblguias Descripción Contiene la información respecto a la guía de práctica de laboratorio. Nombre del campo Tipo de dato Descripción idguia int NOT NULL Identificador único de las diferentes guías de práctica de laboratorio. idplantilla char(9) NOT NULL Campo de relación con la tabla tblplantillas que identifica con qué plantilla se realizó la guía. idmateria char(8) NOT NULL Identificador de la materia a la que pertenece la guía de práctica. fechacreacion date NOT NULL Fecha en que se terminó de crear la guía. Cuando pasó por primera vez a estado disponible. fechamodificacion datetime NOT NULL Fecha en que se realiza la modificación actual de la guía estado char(2) Estado en el que se encuentra la guía (A: activa, I: inactiva, P: pendiente). Nombre de la entidad tbldetalleplantilla Descripción Contiene las plantillas creadas para la guías de práctica de laboratorio. Nombre del campo Tipo de dato Descripción 9 idplantilla char(9) NOT NULL Campo de relación con la tabla tblplantillas que identifica de forma única cada detalle de contenido almacenado en cada registro de esta tabla. idmateria char(8) NOT NULL Campo de relación con la tabla tblmaterias para identificar a qué materia corresponde el contenido. idseccion Int NOT NULL Campo de relación con la tabla tblsecciones para identificar a qué sección de la guía corresponde el contenido fechacreacion text NOT NULL Campo que contiene los contenidos a mostrar en la sección de la guía. 1.2 DICCIONARIO DE SCRIPTS DE LA APLICACIÓN SCRIPT UTILIDAD UBICACIÓN LÍNEAS index.php Genera todas las páginas del sitio mediante una estructura de tres secciones. Todas las páginas del sitio deben ser llamadas mediante este script, agregando en la URL una variable con el módulo que se desea cargar. Este módulo es buscado en los arreglos asociativos definidos en el script config.php. plantillasudb, la carpeta raíz del sitio 113 líneas header.php Genera la parte del encabezado de las páginas del sitio, en donde se muestra el logo y el emblema de la Universidad Don Bosco. plantillasudb 66 líneas footer.php Genera la parte del pie de página donde se muestran enlaces hacia plantillasudb 49 líneas 10 otros sistemas de la Universidad Don Bosco y un reloj en JavaScript login.php Página que muestra el formulario para iniciar sesión en el sistema. Este script es el módulo por defecto que se cargará siempre que se intente acceder a una página del sitio sin haber iniciado sesión plantillasudb 59 líneas logout.php Script que permite salir del sistema limpiando las variables, cerrando la sesión y reiniciando las variables superglobales. Redirige hacia la página de inicio de sesión. plantillasudb 10 líneas home.php Este script genera dinámicamente las opciones de menú disponibles de acuerdo al perfil del usuario. Esto significa que un usuario administrador tendrá todos los módulos del sistema disponibles mediante los enlaces. En tanto que, un usuario decano o coordinador tendrá algunos enlaces menos y así sucesivamente, hasta el usuario estudiante quien sólo podrá leer la(s) guía(s) de práctica. plantillasudb 104 líneas guiasdisponibles.php Esta script muestra una página con las guías de práctica a las que tiene acceso un usuario de acuerdo con los grupos de las materias en los que fue asignado. Se muestra una lista anidada con las materias y en cada materia una plantillasudb 69 líneas 11 lista con enlaces hacia las guías de práctica disponibles. lib_dbmysql.php Clase que contiene variables y métodos para manejar los accesos a la base de datos del sistema. Contiene variables de configuración del servidor mySQL, como el servidor, el usuario, la contraseña y la base de datos con la que se desea conectar. plantillasudb 121 líneas createuser.php Muestra el formulario para crear una cuenta de usuario y asignarle de una vez el perfil al que pertenecerá plantillasudb/admin 311 líneas insertuser.php Inserta el usuario ingresado en el formulario del script createuser.php plantillasudb/admin 186 líneas createcarrera.php Muestra un formulario para crear una nueva carrera plantillasudb/admin 67 filas insertcarrera.php Inserta en la base de datos la carrera ingresada en el formulario del script createcarrera.php plantillasudb/admin 77 filas createplantilla.php Muestra un formulario donde ingresará datos básicos para crear una nueva plantilla plantillasudb/admin 121 líneas insertplantilla.udb Ingresa en la base de datos los datos de la plantilla ingresados a través del formulario mostrado por el script createplantilla.php plantillasudb/admin 74 líneas createseccion.php Presenta un formulario en el que se pueden ingresar las secciones que van a tener las guías de práctica de laboratorio plantillasudb/admin 73 líneas insertseccion.php Inserta las secciones de la guía plantillasudb/admin 73 líneas 12 enviadas desde el formulario del script createseccion.php createguia.php Presenta un formulario donde donde se ingresan los datos necesarios para una nueva guía plantillasudb/admin 156 líneas insertguia.php Inserta en la base de datos los datos de la guía de práctica enviados desde el formulario createguia.php plantillasudb/admin 111 líneas creategroup.php Presenta un formulario para crear un grupo de práctica de laboratorio en donde deben definirse la materia, el docente, el número de grupo, el cupo máximo y el listado de estudiantes que estarán en el grupo plantillasudb/admin 160 líneas insertgroup.php Ingresa en la base de datos la información del grupo enviada desde el formulario del script creategroup.php plantillasudb/admin 125 líneas createdetplantilla.php Muestra el formulario donde se ingresan los contenidos de la guía de práctica. Este contenido debe ser ingresado en las secciones de la guía de forma separada plantillasudb/admin 126 líneas insertdetplantilla.php Guarda en la base de datos los contenidos de la guía de práctica enviados desde el formulario del script createdetplantilla.php. Los datos que provienen de los editores de contenido web son almacenados en la base de datos en forma de código HTML. plantillasudb/admin 190 líneas updatedetplantilla.php Presenta un control de edición de plantillasudb/admin 55 líneas 13 texto para poder editar contenido de una sección en particular de una guía de práctica de laboratorio config.php Contiene una constante que define cuál debe ser el módulo por defecto y una serie de arreglos asociativos que determinan qué script PHP debe cargarse cuando se solicite un módulo a través de la URL. plantillasudb/config 90 líneas guiamateria.php Este script es el que muestra la guía de práctica a los usuarios. Los estudiantes únicamente pueden ver la guía para su lectura. Un usuario con derechos de edición sobre la guía de práctica podrá ver enlaces que le permiten modificar las secciones de la guía. plantillasudb/guias 126 líneas common.php Es un script con funciones de propósito general que pueden ser invocadas desde cualquier otro de los scripts de la aplicación. Existen funciones para validar datos de formulario, realizar sustitución de caracteres y modificar datos para formatearlos de forma apropiada para que una consulta MySQL los procese correctamente. plantillasudb/lib 91 líneas 1.3 ESTRUCTURA DEL SITIO El sitio web del sitio “Sistema informático de plantillas para guías de práctica de laboratorio” se ha realizado de forma modular. Esto significa que cada página web 14 que se muestra en el sitio está compuesta por otros scripts. El diseño incluye un módulo denominado header.php, un módulo principal que se carga en la parte central de cada página del sitio y un módulo denominado footer.php, que se muestra en la parte inferior de cada página web. Estos tres módulos son integrados y mostrados mediante una sola página, el archivo index.php. En la siguiente figura se explica el modelo de forma gráfica: FIGURA 1. Diseño de las páginas de la aplicación En el diseño anterior se puede ver que existen tres secciones, todas ellas integradas en una sola página que es el index.php. El script que se carga en la parte central del index.php es invocado a través de la URL agregando al nombre de la página index.php una variable identificada como módulo. Este módulo es una cadena que se utiliza para asociar el script que se desea cargar en la parte central de la página index.php. Es importante mencionar que adicionalmente existe una librería que contiene los módulos que pueden ser cargados en la parte central de cada página cargada en el header.php home.php footer.php index.php 15 sitio. Este script es denominado config.php. Tiene que agregar un nuevo arreglo asociativo por cada página nueva que se desee cargar en el sistema que se vaya a mostrar como módulo principal de las páginas del sitio web. A continuación, se muestra una sección del código fuente del script config.php. //Módulos de la aplicación con sus respectivos archivos $config['login'] = array( 'archivo' => 'login.php' ); $config['home'] = array( 'archivo' => 'home.php' ); $config['test'] = array( 'archivo' => 'test.php' ); $config['salir'] = array( 'archivo' => 'salir.php' ); $config['mostrarguias'] = array( 'archivo' => 'guiasdisponibles.php' ); $config['guia'] = array( 'archivo' => 'guiamateria.php' ); En el código fuente anterior $config es un arreglo asociativo cuyo índice deben ser los módulos pasados a través de la URL a la página index.php. El contenido de cada elemento del arreglo asociativo debe ser una expresión que define otro arreglo asociativo. De modo que el índice debe ser la cadena ‘archivo’ y el valor asignado debe ser el nombre del script que se asociará al módulo. Para poder acceder al script que se va a cargar en la parte principal de la página index.php debe hacerlo a través de un arreglo asociativo bidimensional, como se muestra en el siguiente segmento de código: //Se cargan las páginas que forman la página solicitada require_once('header.php'); //Se verifica que la URL enviada cotenga el módulo salir if($_GET['modulo'] == 'salir'){ require_once($config[$pagina]['archivo']); $pagina = 'login'; 16 } require_once($config[$pagina]['archivo']); require_once('footer.php'); En la sección donde está la sentencia condicional if puede observarse que hay una llamada a un arreglo asociativo bidimensional, en donde se solicita utiliza para el primer índice la variable $pagina. Esta variable es tomada de la URL que se envía. Esto puede verse en la siguiente sección de código del script index.php: //Se guarda la página que fue enviada junto con la URL para cargarla una vez //terminadas las verificaciones de seguridad if($_SESSION['logged'] == true){ $pagina = $_GET['modulo']; } Adicionalmente, las páginas web del sitio están protegidas con sesiones. Eso significa que no se puede acceder a las páginas a menos que el usuario haya ingresado autenticándose con su usuario y contraseña. Esto también se verifica en una sección de código del script index.php. Si los datos de autenticación son correctos se crean las variables de sesión que serán necesarias para las otras páginas del sitio. Esto se muestra a continuación: $qrusr = "SELECT usuario,contrasena,nombre,apellido,carrera,estado FROM tblusuarios WHERE usuario='"; $qrusr .= $_POST['txtuser'] . "' AND contrasena='" . md5($_POST['txtpass']) . "'"; $login = $micon->consulta($qrusr); $qrper = "SELECT perfil FROM tblperfilesusuarios "; $qrper .= "WHERE usuario = '" . $_POST['txtuser'] . "'"; $perfil = $micn->consulta($qrper); //Se establecen las variables de sesión para el usuario la contraseña y //otra para indicar si el usuario ya inició sesión if($dato = mysql_fetch_assoc($login)){ foreach($dato as $key => $value){ 17 $_SESSION[$key] = $value; } $info = mysql_fetch_array($perfil); $_SESSION['perfil'] = $info['perfil']; //prueba sobre estado del usuario if($_SESSION['estado'] == 'I'){ $msgest = "
\n"; $msgest .= "\n"; $msgest .= "Su cuenta no está activada. Consulte al administrador.\n\n"; $msgest .= "
\n"; echo $msgest; } $_SESSION['logged'] = true; $_SESSION['page'] = 'home'; } En el segmento de código anterior se puede observar que la consulta para obtener la información del usuario lista además del usuario y la contraseña, el nombre, el apellido, la carrera y el estado de la cuenta del mismo. Esto es necesario para poder identificar al usuario autenticado y poder personalizar las páginas por las que navegue durante su visita al sitio. Es decir, mientras dure su sesión. Es por esto que luego de ejecutar la consulta y obtener el conjunto de resultados de la misma, se crean las variables de sesión para cada valor del campo listado en la consulta. Eso se realiza en la instrucción foreach anterior. En la parte final del script index.php se genera la página del sitio que verá el usuario autenticado. Esto es, se carga el header.php, que constituye la cabecera de la página. A continuación, se verifica el módulo a cargar en la parte principal de la ventana y, por último, se coloca el footer.php, que el pie de la página web mostrada. Esto se puede constatar en la siguiente sección de código: //Se cargan las páginas que forman la página solicitada 18 require_once('header.php'); //Se verifica que la URL enviada cotenga el módulo salir if($_GET['modulo'] == 'salir'){ require_once($config[$pagina]['archivo']); $pagina = 'login'; } require_once($config[$pagina]['archivo']); require_once('footer.php'); Observe que si el módulo a cargar en la parte principal es ‘salir’, entonces se carga el script PHP correspondiente a ese módulo según se definió en el archivo de configuración config.php, que ya se explicó anteriormente. 1.4 CRITERIOS PARA NOMBRAR VARIABLES Y FUNCIONES Los nombres de variables en el código de los scripts de la aplicación están en letras minúsculas completamente. Esta es una convención que se ha respetado cuidadosamente para tener un código consistente. Cuando el nombre de variable está compuesto de varias palabras se escribió sin signos de separación y en ocasiones se abrevió la primera palabra. Por ejemplo, en el script home.php se utiliza la variable $loctime, que está compuesta de dos palabras local y time. El nombre de la variable se compuso con la abreviación de las primeras tres letras de la palabra local unida con la palabra time. En el caso de las funciones se ha optado por escribir los nombres de las funciones totalmente en minúsculas cuando el nombre está constituido por una sola palabra. En el caso de dos palabras o más, todas las palabras se escriben unidas, sin embargo, la inicial de la segunda o tercera palabra se escribe en mayúscula. Además, se ha considerado que en el caso de que una de las palabras que constituyan el nombre de la función sean siglas, esa palabra se escribirá totalmente en mayúsculas. 19 En todos los scripts de la aplicación se han seguido ciertas convenciones para tener una forma consistente de nombrar variables. Estas convenciones se enumeran a continuación: 1. Cuando las variables indican consultas MySQL el nombre de las variables comienza con las letras qr, para indicar abreviación de la palabra query en inglés. A continuación, pueden o no seguir otras abreviaciones o palabras totalmente en letras minúsculas. Por ejemplo, en el script guiasdisponibles.php se realiza una consulta para obtener las materias de la tabla tblmaterias que un usuario puede ver de acuerdo a su perfil. La variable utilizada se identifica como $qrmat, utilizando qr para abreviar query y mat para abreviar materia. En otro script denominado editarseccion.php se crea una consulta para obtener los datos de una sección de guía de práctica que se desea modificar. En este caso la variable se denominó $qrdatseccion, indicando con qr la abreviación de query, con dat una abreviación para datos y seccion que indica la sección. 2. Para variables relacionadas a la devolución de un conjunto de resultados luego de ejecutar una consulta en el servidor MySQL se utilizan identificadores cuyas dos primeras letras son rs y a continuación una o más abreviaciones o palabras en letras minúsculas. Por ejemplo, en el script creategruop.php, se ha utilizado la variable $rsusr para obtener el conjunto de registros con todos los usuarios registrados en el sistema que no son estudiantes ni administradores. 3. Las variables que son utilizadas para extraer fila por fila los registros de un conjunto de resultados producto de una consulta a la base de datos se denominan con identificadores que comienzan con la palabra row seguida por una o más abreviaciones o palabras completamente en letras minúsculas. Por ejemplo, en el script createuser.php se ha utilizado la variable $rowfrmusr para indicar una fila con información a utilizar en el formulario frmuser. 4. Para contadores se han utilizado únicamente variables de una sola letra, como $i, $j y cuando ha sido necesario $k. Cualquier variable que se encuentre en los scripts con estos identificadores es con seguridad un contador. 20 2. MANUAL DEL ADMINISTRADOR 2.1 INSTALACIÓN DEL SOFTWARE NECESARIO La instalación del software necesario en un servidor Windows resulta mucho más fácil si se utiliza un paquete preconfigurado conocido como WampServer, que significa servidor Windows-Apache-MySQL-PHP. Este paquete se encarga de realizar todas las configuraciones necesarias para que el servidor quede listo para administrar bases de datos, servir páginas web que contengan scripts PHP. Además, configura las principales opciones para echar a andar el servidor web Apache. Lo primero es obtener el software que es gratuito y puede obtenerse descargándolo desde la dirección URL: http://www.wampserver.com/en/index.php. En el momento de la presentación de este manual la última versión disponible era la 5.1.7. El procedimiento de instalación es simple: 1. Primero, ejecute el archivo que descargó del sitio oficial WampServer. 2. Como segundo paso, siga las indicaciones del asistente e ingrese la información solicitada en cada diálogo del asistente. Debe dejar las opciones de configuración con los valores por defecto en cada uno de esos diálogos. No los modifique, si no está seguro de los cambios que implicarán las modificaciones que realice. 3. Es recomendable que si está instalando WampServer en un servidor conectado permanentemente a Internet habilite las opciones para que todos los servicios se ejecuten automáticamente al iniciar el sistema. Esto evitará que tenga que iniciar manualmente estos servicios en caso de que el servidor sea reiniciado. 4. Ejecute el servidor WampServer y tendrá listo el software necesario para implementar cualquier sitio web. 5. Es importante que instale una herramienta que facilite la administración de la base de datos. Se recomienda el phpMyAdmin, que puede descargarse desde la dirección http://www.phpmyadmin.net/home_page/index.php. 21 6. Instale el phpMyAdmin configurando una cuenta con todos los privilegios para acceder a las bases de datos como administrador del sistema. Esto se hace desde la página de inicio del phpMyAdmin, en el enlace Privilegios. Como se ilustra a continuación: FIGURA 2. Creación de privilegios de usuario desde phpMyAdmin Agregue un nuevo usuario desde el phpMyAdmin colocando el usuario y contraseña como dltop. Aunque usted puede utilizar el usuario y contraseña que desee, es importante entender que si los cambia deberá modificar los scripts desde donde envíe el usuario y contraseña para conectarse a la base de datos. Habilite todos los privilegios a este usuario marcando todas las casillas de verificación: Enlace privilegios desde donde se puede configurar un nuevo usuario de la base de datos con privilegios administrativos sobre el servidor de base de datos MySQL. 22 FIGURA 3. Configuración del perfil de usuario en phpMyAdmin Cuando termine de crear la cuenta debe considerar que este acceso solo funciona desde phpMyAdmin. Realice un script sencillo de conexión al servidor para verificar que tiene acceso a las base de datos que crea desde phpMyAdmin. 2.2 ORGANIZACIÓN DE LOS ARCHIVOS EN EL SERVIDOR La aplicación está organizada en varias carpetas. La carpeta principal es plantillasudb. Esta carpeta puede, o no, estar en la carpeta raíz de los documentos web del servidor. El resto de carpetas del sitio se muestra a continuación: 23 FIGURA 4. Organización de las carpetas del sitio plantillasudb en el servidor web Existen carpetas en la estructura anterior que no contienen scripts PHP, si no que únicamente contienen imágenes, iconos, scripts JavaScript, hojas de estilo, etc. Las carpetas que contienen scripts PHP son: admin, donde se incluyen los scripts que tienen que ver con la parte de administración de las guías de práctica, config, que contiene el script de configuración config.php, guia, que contiene el script guiamateria.php que se encarga de generar la guía de práctica para el usuario autenticado que la solicita. Por último, la carpeta lib, contiene funciones PHP que se se utilizan para validar datos de entrada. El resto de scripts PHP deben colocarse en la carpeta de la aplicación, normalmente plantillasudb. Para realizar un respaldo del sitio, específicamente de los archivos de la aplicación únicamente debe copiar la carpeta plantillasudb a cualquier ubicación en el disco fijo del servidor. Si posteriormente necesita restaurar el sitio completo tiene que copiar 24 su carpeta de respaldo plantillasudb en la carpeta para los documentos web en el servidor. En una instalación de WampServer es la carpeta www. 2.3 INSTALAR LA BASE DE DATOS EN EL SERVIDOR La base de datos en el servidor puede crearse, si es la primera vez que la instala en el servidor, desde el phpMyAdmin. También puede hacerlo desde la consola de MySQL si es hábil con los comandos. Para hacerlo desde phpMyAdmin, cargue la página desde el icono en el área de notificación del sistema. Debe hacer clic sobre la opción phpMyAdmin. FIGURA 5. Iniciar el phpMyAdmin desde el icono WampServer del área de notificación del sistema En la página de inicio de phpMyAdmin busque el área Crear nueva base de datos y coloque el nombre udbplantillas en el cuadro de texto correspondiente. Como se muestra a continuación: Debe hacer clic sobre esta opción para cargar la página de phpMyAdmin desde donde podrá administrar la base de datos. 25 FIGURA 6. Creación de una nueva base de datos desde phpMyAdmin Al dar clic en el botón Crear quedará creada la base de datos en el servidor MySQL. Por el momento, únicamente se ha creado una carpeta en el servidor en la carpeta donde se alojan las bases de datos. Puede examinar la carpeta data ubicada en /wamp/mysql/data. FIGURA 7. Carpeta raíz del sito de plantillas para guías de práctica Para terminar la instalación de la base de datos debe importar el script con el volcado1 de la base de datos. Este archivo generalmente tiene extensión .sql; sin embargo, puede ser un archivo de texto .txt. Puede realizar la importación desde el phpMyAdmin buscando el archivo udbplantillas.sql que contiene las instrucciones SQL necesarias para crear la 1 Se le denomina volcado, en terminología de base de datos, al hecho de crear un archivo con la estructura y/o datos que puede ser importado desde el servidor de base de datos. En esta sección de la página de inicio del phpMyAdmin se crea la base de datos. Observe que el nombre es udbplantillas. Si coloca otro nombre tendrá que modificar los scripts de la aplicación donde define la base de datos que va a utilizar. Carpeta que contiene la base de datos dentro del servidor MySQL. 26 estructura de las tablas y los datos, si fueron considerados a la hora de hacer el volcado. FIGURA 8. Importar un archivo de respaldo de la base de datos Es importante que observe que el juego de caracteres debe estar seleccionado como utf8. Esto hará que los caracteres acentuados y las letras ñ y Ñ sean presentadas correctamente en las páginas web del sitio que muestren datos con estos caracteres. Si su script de la base de datos se ejecutó correctamente, la base de datos ya estará instalada y podrá observar las tablas como se muestra a continuación: FIGURA 9. Tablas restauradas a partir de un archivo de respaldo utilizando la opción Importar del phpMyAdmin 27 Debe tener en cuenta que esta base de datos se ha instalado sobre un servidor MySQL versión 5.0.27 que establece el tipo de base por defecto el InnoDB, como se muestra en la figura anterior. Si instala esta base de datos en un servidor MySQL inferior al 5.0 puede ser que las relaciones entre tablas no tengan la funcionalidad que se ha establecido en la aplicación. Se sugiere que se asegure que la versión del servidor MySQL sea 5.0 o superior. Si necesita hacer un respaldo de la base de datos puede utilizar el phpMyAdmin y hacer una exportación de los datos. Para hacerlo debe hacer clic en el enlace Exportar de la parte superior de la página que muestra las tablas de la base de datos udbplantillas. Si lo hace desde la estructura o datos de una tabla en particular, únicamente se exportará la estructura y datos de esa tabla. FIGURA 10. Exportar la base de datos creando un archivo de volcado .sql que puede ser utilizado como respaldo En la página de exportación puede establecer la configuración para el tipo de exportación que desea realizar. Una alternativa de configuración se muestra a continuación. Sin embargo, como administrador del sistema puede probar otro tipo de configuración para generar el archivo de volcado de la base de datos. Enlace exportar que se utiliza para poder hacer un respaldo de la estructura y datos de la base de datos. 28 FIGURA 11. Configuración de las opciones para realizar un archivo de respaldo desde el phpMyAdmin Debe marcar la casilla de verificación Enviar para que el volcado de la base de datos se realice en un archivo. Observe que no se le coloca extensión en el cuadro de texto donde se le solicita el nombre del archivo. La extensión será .sql y phpMyAdmin se encargará de asignársela automáticamente. Observe también que en las figuras mostradas se marcaron las casillas de verificación Estructura y Datos porque se desea hacer una copia completa de la base de datos. En determinadas circunstancias puede ser que usted solamente necesite la estructura o únicamente los datos. En ese caso solamente marque lo que necesita. 29 El archivo .sql generado puede importarlo si necesita restaurar la base de datos a partir de un respaldo. Debe tener en cuenta que tendrá que eliminar la base de datos para poder hacer una restauración. La eliminación de bases de datos completas no puede realizarse desde el phpMyAdmin por cuestiones de seguridad. Por lo tanto, tendrá que eliminar la base de datos desde la consola de MySQL ingresando la instrucción MySQL para eliminar bases de datos. La consola de MySQL debe llamarse desde el icono de WampServer en el área de notificación del sistema. FIGURA 12. Iniciar la consola del MySQL Al abrirse la consola y se le solicitará que ingrese la contraseña para el usuario root. En una instalación por defecto del WampServer esta contraseña está vacía. Por lo tanto, únicamente debe presionar la tecla para poder ingresar. Cuando aparezca el prompt de mysql> puede ingresar la instrucción para eliminación de bases de datos. 30 FIGURA 13. Consola de MySQL iniciada En el modo de consola de mysql todas las instrucciones MySQL que se ingresen deben terminarse con punto y coma (;). Si no lo hace así el motor de mysql no ejecutará la consulta hasta que termine la instrucción de forma correcta. Una vez se haya creado la base de datos será notificado por la consola y después puede regresar al phpMyAdmin e importar el archivo de respaldo que realizó en el archivo udbplantillas.sql. 31 3. MANUAL DE USUARIO 3.1 INGRESO AL SISTEMA Para ingresar al “Sistema Informático de Plantillas para Guías de Práctica de Laboratorio” los usuarios deben iniciar sesión con el usuario y contraseña que se les asignó o el que eligieron cuando se registraron en el sistema. El formulario de ingreso al sistema es el siguiente: FIGURA 14. Formulario de inicio de sesión al sistema de plantillas Si los datos ingresados en el formulario anterior son correctos y existe en la base de datos un usuario que coincide con los datos enviados entonces el usuario ingresará al sistema. De lo contrario, será enviado a una página de error en el inicio de sesión y tendrá que hacer clic en el enlace para regresar a la página de inicio de sesión. Esta página se muestra a continuación: FIGURA 15. Página mostrada cuando se produce un Inicio de sesión incorrecto 3.2 DESCRIPCIÓN DE FUNCIONES DISPONIBLES SEGÚN PERFIL Los usuarios del sistema están asociados a un perfil de usuario, de modo que las funciones del sistema a las que tienen acceso son diferentes dependiendo del perfil de usuario en el que están. Vamos a examinar las funciones del sistema de acuerdo a cada perfil y se explicará únicamente las opciones distintas entre perfiles. 32 3.2.1 FUNCIONES PARA EL PERFIL ESTUDIANTE Este perfil es el que tiene menos opciones disponibles habilitadas en el menú principal de la aplicación. El menú que visualizará un usuario con perfil estudiante es similar al siguiente: FIGURA 16. Enlace disponible para un usuario de perfil estudiante La única opción disponible para un usuario estudiante es la consulta de guías de práctica. Los estudiantes únicamente tendrán acceso a las guías de práctica de las materias en las que pertenecen a un grupo. A continuación se muestran las guías a las que tienen acceso dos usuarios distintos con perfil de estudiante. FIGURA 17. Página con las guías disponibles para un usuario Otro usuario tendría acceso a otras guías de práctica, como se muestra a continuación: FIGURA 18. Página con las guías disponibles para otro usuario Para tener acceso a una guía de práctica debe hacer clic en el enlace de la guía que le corresponde realizar. Al hacerlo podrá observar la guía de práctica en la ventana 33 del navegador. Las guías de práctica tienen una apariencia similar a la mostrada en la siguiente figura: FIGURA 19. Página con la guía de práctica de la materia que seleccionó el usuario estudiante en este caso Una vez terminada la guía el usuario puede regresar al listado de guías de práctica haciendo clic en el enlace ubicado en la parte inferior de la guía de práctica. FIGURA 20. Enlace para regresar al listado de guías disponibles Existen usuarios genéricos con perfil estudiante a los que no se les da acceso a las guías de práctica. Estos usuarios se han creado en la base de datos con el propósito de hacer que los estudiantes se registren en el sistema por su propia cuenta. Esto para evitar que el docente tenga que ingresar a todos los estudiantes de su grupo en 34 el sistema. Existe un usuario para la Facultad de ingeniería (studenting) y otro para la Facultad de Estudios Tecnológicos (studentfet). Las contraseñas son las mismas y el docente debe proporcionarla únicamente a los estudiantes de sus grupos de práctica. Esta contraseña puede ser modificada ciclo con ciclo para evitar que se propague entre otras personas fuera de la Universidad. La forma de autoregistro por parte de los estudiantes que se mencionó anteriormente no está disponible siempre. El docente debe habilitarla para que esté disponible únicamente durante la práctica, si todavía hay estudiantes sin registrarse. El estudiante debe ingresar el usuario de acuerdo a su facultad y la contraseña que le proporcionará el docente y luego, presionar el botón Crear mi cuenta para tener acceso al enlace que le permitirá registrarse como usuario del sistema. FIGURA 21. Botón para crear una cuenta Al hacer clic en el botón Crear mi cuenta el usuario estudiante deberá hacer clic en el enlace Crear cuenta que aparece en el menú de la izquierda en la página a la que fue redirigido. FIGURA 22. Enlace para crear la nueva cuenta Cuando haga clic en el enlace Crear cuenta aparecerá el formulario para registro de usuarios. Debe llenar todos los campos y cuando guarde los datos, si son correctos aparecerá la información que ingresó. De lo contrario será notificado de los datos que han sido incorrectos para que los corrija. El formulario de registro de un nuevo usuario se muestra a continuación: 35 FIGURA 23. Formulario para ingresar los datos de la nueva cuenta de usuario 3.2.2 FUNCIONES PARA EL PERFIL DOCENTE El usuario docente es el siguiente en nivel de jerarquía después del perfil estudiante. Un usuario con perfil de docente además de consultar y editar contenido de las guías de práctica, puede crear guías de práctica, crear usuarios, ingresar contenidos en las guías de práctica, crear grupos y habilitar o deshabilitar el autoregistro de usuarios. El menú de opciones al que tiene acceso un usuario docente se muestra a continuación: FIGURA 24. Menú de enlaces disponibles para un usuario con perfil docente En el enlace Consultar guías disponibles el usuario docente accede a un listado de materias en las que tiene grupo asignado con las guías disponibles. La diferencia 36 está en que cuando accede a una guía en particular haciendo clic en el enlace de la guía deseada aparecen enlaces para editar las secciones de la guía de forma individual. Observe la siguiente figura: FIGURA 25. Enlace para editar guía de práctica disponible para un usuario de perfil docente En la figura anterior puede observar la sección del análisis de resultados de la guía. En la parte inferior de esta sección, así como de todas las secciones de la guía, un usuario con perfil docente puede editar los contenidos. Para hacerlo únicamente debe hacer clic sobre el enlace que muestra el texto Editar contenido de esta sección o sobre el icono que se encuentra al lado izquierdo del enlace. Se abrirá un editor de contenido web con el contenido de la sección que seleccionó editar y puede realizar cualquier cambio y después guardarlo. Esto se hace cuando hace clic en el botón Actualizar en la parte inferior de la página de actualización de contenidos de la guía de práctica. 37 FIGURA 26. Formulario para editar modificar el contenido de una guía Cuando se actualiza el contenido los usuarios pueden ver el cambio inmediatamente, para lo que tendrán que volver a cargar la guía de práctica. Para crear una nueva guía de práctica un usuario docente tiene que hacer clic sobre el enlace Crear guía de práctica. Al hacerlo, aparecerá la página con un formulario para crear una nueva guía de práctica. Debe llenar todos los campos ingresando la información requerida de forma correcta. El formulario para creación de una nueva guía es el siguiente: 38 FIGURA 27. Formulario para crear una nueva guía de práctica En el formulario anterior se debe seleccionar la materia para la que se está creando la guía, debe proporcionar un título para la guía, el número de la guía, ingresar la fecha haciendo uso del control de tipo calendario y establecer el estado de la guía. Para que la guía sea creada debe hacer clic en el botón Guardar. Si no hay errores se le notificará que la guía fue guardado. De lo contrario, se le notificarán los errores encontrados en los campos que ingresó y se le retornará al formulario para que los corrija. Un usuario con perfil docente, también puede crear usuarios. Esto es importante para poder ingresar de forma rápida a un estudiante que se inscribió extemporáneamente y que asiste a su grupo de laboratorio. La forma de registrarlos es similar a la mostrada anteriormente desde el usuario estudiante. La única diferencia es que un usuario docente puede otorgar al usuario además de perfil estudiante, el perfil docente. FIGURA 28. Formulario para crear una nueva cuenta de usuario Otra función disponible para un usuario con perfil de docente es la creación de un grupo de práctica. Para esto debe hacer clic sobre el enlace Crear un grupo. Al hacerlo se le mostrará un formulario donde se deben ingresar los datos para crear el nuevo grupo. 39 FIGURA 29. Formulario para crear un nuevo grupo de práctica de laboratorio Para poder seleccionar los estudiantes del grupo debe presionar la tecla control, y sin soltarla hacer clic sobre el estudiante que desea agregar al grupo. El color de fondo atrás de cada estudiante debe cambiar, indicando que está seleccionado. Cuando haya ingresado todos los datos debe presionar el botón Guardar. Si los datos ingresados fueron correctos el grupo será creado y se notificará en la siguiente página. Si existen datos erróneos o datos faltantes será notificado para que los corrija. La última opción disponible para un usuario con perfil docente es la edición de guías de práctica. Esto es, ingresar el contenido a las secciones de la guía. Para esto debe hacer clic sobre el enlace Ingresar contenido de guía presente en el menú de la izquierda. Como puede verse a continuación: 40 FIGURA 30. Enlace para ingresar contenido en las guías de práctica de laboratorio Al hacer clic en el enlace aparecerá el formulario para ingreso de contenido de guías. Parte de este formulario muestra a continuación: FIGURA 31. Formulario para ingresa contenido en las diferentes secciones de la guía de práctica En la parte inferior de este formulario se muestra el botón para guardar el contenido de la guía. En este formulario encontrará, a parte del menú desplegable de selección y el cuadro de texto, unos controles conocidos como editores de contenido web. Se explicará sobre el uso de este control en otra sección de este manual. Debe ingresar contenido dentro de estos controles. Dicho contenido puede ser texto, imágenes, tablas, e incluso animaciones y/o vídeos si el docente lo considera necesario. La 41 única restricción es que los archivos de animación y vídeos no deben ser de capacidad mayor a los 2 Mega bytes (Mb). 3.2.3 FUNCIONES PARA EL PERFIL COORDINADOR Un usuario con perfil coordinador, a parte de las opciones disponibles para el perfil docente, puede crear plantillas para guías de práctica y puede crear secciones de la guía. El menú que tiene disponible un usuario de perfil coordinador, se muestra a continuación: FIGURA 32. Menú de enlaces disponible para un usuario con perfil coordinador de carrera Para crear una plantilla para guía de práctica el usuario coordinador debe hacer clic en la opción de menú Crear plantilla. Al hacerlo aparecerá el formulario donde se solicitan los datos de la plantilla, como se muestra a continuación: FIGURA 33. Formulario para creación de una nueva plantilla 42 Para crear una plantilla para guía de práctica, únicamente debe proporcionar la materia para la que está creando la plantilla y la fecha de modificación de la plantilla. La fecha debe ser ingresada utilizando el control de tipo calendario. El cuadro de texto para ingresar la fecha está configurado como de sólo lectura. Otra función del sistema que está disponible para un usuario coordinador y que no está disponible para un usuario docente es la creación de secciones para las guías de práctica. Para tener acceso a esta opción debe hacer clic sobre el enlace Crear sección. Al hacerlo, se mostrará el formulario para ingresar los datos de una sección. FIGURA 34. Formulario para creación de una sección de las guías de práctica Para crear la sección debe ingresar el orden de la sección y el título. El orden es un número entero que indica si dentro de la guía de práctica la sección es la primera de la guía, la segunda, la tercera o la cuarta dentro de todas las secciones planificadas. En las guías de la Universidad Don Bosco, los objetivos son la primera sección. Por lo tanto, tendrá que ingresar un número uno para indicarlo. Si se trata de la introducción teórica se trata de la segunda sección, por lo que tendrá que ingresar un número dos, y así sucesivamente. Cuando termine de ingresar los datos de la sección debe hacer clic en el botón Guardar. Si los datos de la sección son correctos se informa en la siguiente página y la sección estará creada. En caso de que existan datos incorrectos, también será notificado y tendrá que corregirlos. 3.2.4 FUNCIONES PARA EL PERFIL DECANO Un usuario con perfil decano solamente tiene una opción del sistema que no tiene un usuario con perfil coordinador o director de escuela, que es la creación de una nueva 43 carrera. Para crear una nueva carrera debe hacer clic en el enlace Crear carrera disponible en el menú de la izquierda. FIGURA 35. Menú de opciones disponibles para un usuario con perfil decano de facultad Al ingresar a esta opción aparecerá un formulario solicitando los datos para la nueva carrera. Cuando se hayan completado los datos de este formulario debe hacer clic en el botón Guardar. FIGURA 36. Formulario para creación de una nueva carrera 3.2.5 FUNCIONES PARA EL PERFIL ADMINISTRADOR Un usuario con perfil administrador puede realizar algunas operaciones que no están disponibles para usuarios con otro perfil. Principalmente opciones que tienen que ver con la seguridad del sitio. El menú disponible para un usuario administrador es el siguiente: FIGURA 37. Menú de enlaces disponibles para un usuario con perfil administrador 44 Como puede observar, existen dos opciones nuevas que no aparecieron con ningún otro usuario, estas son: Realizar respaldo del sitio y Realizar respaldo de datos. Con el primer enlace se crea un respaldo de todos los archivos del sitio. Esto incluye scripts, archivos de imagen, hojas de estilo, etc. Mientras que con la opción respaldo de datos se realiza un respaldo de la base de datos donde se encuentran los usuarios, las carreras, las materias, las plantillas, las guías, las secciones y los contenidos de estas últimas. Para realizar estos respaldos únicamente debe hacer clic en esas opciones. 3.3 HABILITACIÓN DEL AUTOREGISTRO DE USUARIOS El sistema proporciona una opción que está disponible para todos los usuarios menos para el perfil estudiante. Esta opción permite habilitar el autoregistro de estudiantes desde la página de inicio de sesión. Cuando la opción de autoregistro está habilitada, el formulario de inicio de sesión muestra un botón con el texto Crear mi cuenta, como puede verse a continuación. FIGURA 38. Formulario de inicio de sesión con el botón Crear mi cuenta activado Antes de hacer clic al botón debe ingresar el usuario genérico de acuerdo a la facultad a la que pertenece su carrera y la contraseña que será proporcionada por el docente. Cuando no está habilitada la opción de autoregistro de estudiantes el formulario de inicio de sesión aparece sin el botón Crear mi cuenta. FIGURA 39. Formulario de inicio de sesión con el botón 45 Crear mi cuenta no disponible Al hacer clic en el botón Crear mi cuenta el estudiante será direccionado a una página con el enlace Crear cuenta desde donde podrá crear su cuenta de usuario con perfil estudiante, como único perfil disponible. FIGURA 40. Enlace Crear mi cuenta disponible únicamente para usuario genéricos 3.4 UTILIZACIÓN DEL EDITOR DE CONTENIDO WEB En esta sección del manual se presenta un breve manual sobre la utilización del editor de contenido web. Con este editor los usuarios pueden agregar contenido web, como si se tratase de un documento realizado en Word de Microsoft o el Writer de Open Office. El editor de contenido es presentado al usuario en la página web como un control de formulario especial que posee barras de herramientas que le permiten formatear el contenido que ingresa en el área de edición. El aspecto del control es mostrado a continuación: 46 FIGURA 41. Control del editor de contenido web fckEditor La forma en que se trabaja con este control es muy similar a la que utilizada para trabajar con un documento de Word. Puede digitar texto directamente en el área de edición y puede utilizar la barra de herramientas para aplicar formato al contenido o para crear elementos como listas (numeradas o con viñetas), tablas, insertar imágenes, pegar contenido proveniente de aplicaciones como Word, por ejemplo. 3.4.1 APLICAR FORMATO NEGRITA, ITÁLICA Y SUBRAYADO AL CONTENIDO Para aplicar formato a los elementos ingresados en el editor de contenido web debe seleccionarlos primero. Por ejemplo, para aplicar letra negrita debe seleccionar el texto y a continuación presionar el botón para aplicar letra negrita que se encuentra en la barra de herramientas del editor. Lo mismo debe hacer si desea aplicar letra itálica o subrayada a una sección de texto. Como se puede ver a continuación: 47 FIGURA 42. Editor de contenido web con la opción negrita aplicada a un texto seleccionado dentro del área de edición Como puede ver se ha seleccionado el texto y a continuación se ha presionado el botón de letra negrita del editor. Debe hacer exactamente lo mismo si desea subrayar y poner en itálica alguna parte de texto. Vea la siguiente figura: FIGURA 43. Editor de contenido web con las opciones letra itálica y subrayada activadas y aplicada a un texto seleccionado en el área de edición 3.4.2 ALINEAR EL TEXTO DENTRO DEL EDITOR DE CONTENIDO Para alinear texto dentro del editor de contenido, no es necesario seleccionarlo, sin embargo, a veces es conveniente hacerlo. Si lo que desea es alinear una sola línea de texto puede colocar el cursor del teclado sobre alguno de los caracteres de esa línea y, a continuación, presionar el botón centrar. Como se muestra a continuación: 48 FIGURA 44. Editor de contenido web con la opción centrar texto aplicada sobre una línea de texto En el caso que desee centrar un párrafo completo, una imagen o una tabla será necesario que seleccione el elemento completo. De lo contrario puede obtener un resultado no esperado. Vea la siguiente figura: FIGURA 45. Editor de contenido con una tabla centrada con el botón centrar de la barra de herramientas La figura anterior muestra una tabla que está seleccionada y que ha sido centrada presionando el botón Centrar de la barra de herramientas en la parte superior. FIGURA 46. Botón centrar de la barra de herramientas del editor de contenido web 49 En el caso que desee justificar un párrafo de texto completo debe seleccionarlo y a continuación hacer clic sobre el botón Justificar, presente en la barra de herramientas. FIGURA 47. Párrafo de texto justificado con el botón justificar de la barra de herramientas del editor de contenido web 3.4.3 INSERTAR UNA TABLA CON EL EDITOR DE CONTENIDO Ingresar una tabla es muy similar a la forma en que se realiza en un documento de Word. Debe colocar el cursor del teclado en la posición exacta en la que desea colocar la tabla y luego presionar el botón Insertar/Editar tabla. Como se muestra a continuación: FIGURA 48. Botón para insertar tabla del editor de contenido web 50 Después de presionar el botón tabla se abrirá una ventana emergente en donde deberá configurar las opciones de la tabla. La ventana emergente se muestra a continuación: FIGURA 49. Ventana propiedades de tabla del editor de contenido web Las opciones que deben configurarse son el número de filas y columnas de la tabla. También es conveniente indicar el ancho de la tabla y en qué unidades será medido ese ancho. Puede seleccionar entre pixeles o porcentaje, como se muestra en la ventana emergente de la figura anterior. El borde tiene que ser un valor numérico. Si lo deja en cero, la tabla aparecerá sin borde. Puede seleccionar la alineación, si dejar el valor por defecto, la alineación será izquierda. Los demás campos son opcionales y puede dejarlos con sus valores por defecto. El título es un título que aparecerá como encabezado de la tabla y la síntesis es un resumen de la utilidad de la tabla. Cuando haya configurado todos los campos puede presionar el botón OK para que la tabla sea insertada en el área de edición de contenido. El resultado se muestra a continuación: FIGURA 50. Tabla recién creada e insertada en el área de edición del editor de contenido web 51 Una vez que la tabla haya sido insertada, sólo resta agregar el contenido. Para ello coloque el cursor del teclado en la tecla donde desea ingresar texto o colocar algún elemento como imágenes o animaciones. También puede colocar texto y luego convertirlo en enlace. Observe la tabla de la siguiente figura: FIGURA 51. Tabla con contenido de tipo texto e imagen Puede observar que se puede crear una tabla similar a la que se puede crear con un editor de texto como Word. 3.4.4 INSERTAR IMÁGENES CON EL EDITOR DE CONTENIDO Insertar imágenes con el editor de contenido web es muy simple. Debe hacer clic en el botón Insertar/Editar imagen de la barra de herramientas del control y a continuación configurar algunas opciones en una ventana emergente, tal y como se hizo con la tabla. FIGURA 52. Botón insertar imagen de la barra de herramientas del editor de contenido web 52 La ventana emergente Propiedades de imagen se muestra a continuación: FIGURA 53. Ventana propiedades de imagen del editor de contenido web En el diálogo anterior puede configurar una URL desde donde tomará la imagen. Si desea colocar una imagen utilizando este método, es recomendable que verifique en una navegador si la imagen está realmente disponible en dicha URL. Sin embargo, es mucho mejor insertar imágenes que estén en el mismo servidor. Para ello puede hacer clic en el botón Ver servidor y seleccionar una imagen o subir una imagen que esté en la computadora desde donde tiene acceso a la página. Al hacer clic en el botón Ver servidor se abrirá un diálogo similar al utilizado para abrir archivos en Word. Observe la figura a continuación: 53 FIGURA 54. Ventana para seleccionar recurso de tipo imagen La utilización de este diálogo es bastante intuitiva. Observará un área en el panel central donde aparece un enlace img, que es la carpeta donde están las imágenes disponibles para el editor web en el servidor. Si desea subir una imagen desde la computadora cliente al servidor web, deberá presionar el botón Browse para seleccionar su imagen local y a continuación hacer clic sobre el botón Upload. Puede crear antes un fólder presionando el enlace Create New Fólder y luego moverse a esa carpeta para subir su imagen en esa ubicación. Al presionar el botón Browse se le mostrará un diálogo muy conocido si utiliza sistemas operativos Windows o Linux. En este diálogo deberá localizar el archivo de imagen que desea subir al servidor. 54 FIGURA 55. Diálogo Seleccionar archivo que se abre al presionar el botón browse de la ventana anterior Debe seleccionar el archivo y luego presionar el botón Open del diálogo anterior. A continuación debe presionar el botón Upload para que el archivo sea enviado a la carpeta en el servidor, desde donde podrá ser seleccionado para que se pueda insertar en el área de contenido del editor web. FIGURA 56. Seleccionar un archivo de imagen ubicado en el servidor web Debe hacer clic sobre la imagen que desea insertar y después de ello aparecerá en el área de vista previa de la ventana emergente Propiedades de imagen la imagen seleccionada. Para terminar, debe configurar opciones en este diálogo para que la imagen aparezca de la mejor forma posible. La configuración más importante es la 55 URL, todas las demás son opcionales. Cuando la URL aparece automáticamente después de subir una imagen al servidor y seleccionarla para que aparezca en el editor no debe ser modificada de forma manual. FIGURA 57. Ventana propiedades de imagen con una imagen mostrada en el área Vista previa y con algunas opciones configuradas Si ya terminó de configurar las propiedades de la imagen sólo hace falta hacer clic en el botón OK para que la imagen aparezca en el área de edición del editor de contenido web. Observe el resultado, a continuación: 56 FIGURA 58. Imagen insertada dentro del área de contenido del editor de contenido web ÍNDICE DE CONTENIDOS 1. MANUAL DEL PROGRAMADOR 1.1 DICCIONARIO DE DATOS 1.2 DICCIONARIO DE SCRIPTS DE LA APLICACIÓN 1.3 ESTRUCTURA DEL SITIO 1.4 CRITERIOS PARA NOMBRAR VARIABLES Y FUNCIONES 2. MANUAL DEL ADMINISTRADOR 2.1 INSTALACIÓN DEL SOFTWARE NECESARIO 2.2 ORGANIZACIÓN DE LOS ARCHIVOS EN EL SERVIDOR 2.3 INSTALAR LA BASE DE DATOS EN EL SERVIDOR 3. MANUAL DE USUARIO 3.1 INGRESO AL SISTEMA 3.2 DESCRIPCIÓN DE FUNCIONES DISPONIBLES SEGÚN PERFIL 3.3 HABILITACIÓN DEL AUTOREGISTRO DE USUARIOS 3.4 UTILIZACIÓN DEL EDITOR DE CONTENIDO WEB