AUTOR: Juan Julio Gonzlez Paredes DIRECTORA: Mara Dolores Cano Baos
Juan Julio Gonzlez Paredes julioteleco@gmail.com Mara Dolores Cano Baos mdolores.cano@upct.es
Resumen
Aplicacin web de reserva de recursos y salas para la Escuela Tcnica Superior de Ingenieria de Telecomunicacin que dar soporte al servidor del centro, donde los usuarios podrn llevar a cabo reservas de aulas y materiales. La gestin de usuarios la llevar a cabo un administrador, el cual se encargar de toda la tramitacin de solicitudes. Se trata de una aplicacin web robusta y eficaz con una interfaz amigable para los usuarios y fcilmente gestionable por parte del administrador. Se puede acceder a travs de cualquier intranet o desde internet, algunas de sus caractersticas son: autentificacin, visualizacin en tiempo real de las reservas, iteraciones y repeticiones de reservas , notificacin de eventos al administrador , mltiples idiomas. Est herramienta est basada en cdigo de libre distribucin GNU , y programada en Php y MySql..
Septiembre 2009
Prefacio
Acerca de este proyecto
Esta aplicacin ha sido creada como proyecto fin de carrera para la obtencin del ttulo de Ingeniero Tcnico en Telecomunicaciones especialidad en Telemtica de la Universidad Politcnica de Cartagena (UPCT). Su principal funcin es la dar soporte a la gestin y reserva de salas de la universidad. En este documento se adjunta toda informacin necesaria para la gestin y mantenimiento por parte del administrador y por parte del usuario de la aplicacin web Gestin de Reservas de Infraestructuras (GRI) para una correcta utilizacin.
Agradecimientos
A mi hermana Ana, por ayudarme y apoyarme durante todos estos aos A mis padres Julio y Ana, por el esfuerzo que han hecho para que este da se hiciera realidad A mi novia Silvia, por el apoyo incondicional a su estudiante A todos esos amigos que me han acompaado a lo largo de la carrera, Javi, Roco, Diego, Angulo... Y como no, a Juan Manuel todo un maestro para m. Vale ms saber alguna cosa de todo, que saberlo todo de una sola cosa.(Blaise Pascal)
ndice
ndice
Captulo 1: Introduccin
1.1 Antecedentes y objetivos.... objetivos ..1 1.2 Estructura y descripcin del proyecto .....2
ndice
ndice
Capitulo 6: : Conclusiones
6.1 Conclusiones: .... 117 6.2 Lneas futuras .... 118
Referencias. . 119
ndice
Captulo1 Introduccin
Captulo 1
Introduccin
Captulo1 Introduccin
Estas fases se han descrito en la memoria de este proyecto bajo los siguientes captulos: Captulo 2: Se presentan las diversas soluciones software existente para abordar el proyecto, enumerando y destacando aquellas que, por sus ventajas desde el punto de vista de la arquitectura, se eligen para realizar la aplicacin. Captulo 3: Descripcin de la aplicacin y su arquitectura desarrollada bajo las herramientas software elegidas en el captulo anterior. Se tienen en cuenta a nivel usuario todos los pasos a seguir para la instalacin y configuracin de la aplicacin para su puesta en marcha. Capitulo 4: Manual del de usuario, donde se describen todas las la funcionalidades de la aplicacin, sus secciones y procedimientos. Capitulo 5: Manual del de usuario administrador, donde se describen desc todas las funcionalidades de la aplicacin, sus secciones y procedimientos. cedimientos. Capitulo 6: : Conclusiones, donde se resumen las etapas, resultados y lneas futuras del proyecto. proyecto
22
Captulo 2
Herramientas de desarrollo
2.1 Introduccin
A continuacin vamos a enumerar los conceptos y tecnologas utilizadas en el proyecto, describiendo sus ventajas y caractersticas ms importantes.
22
software original. Integridad del cdigo fuente del autor, pudiendo requerir que los trabajos derivados tengan distinto nombre o versin. No discriminacin a personas o grupos. Sin uso restringido a campo de actividad. Los derechos otorgados a un programa sern vlidos para todo el software redistribuido sin imponer condiciones complementarias. La licencia no debe ser especfica para un producto determinado. La licencia no debe poner restricciones a otro producto que se distribuya junto con el software licenciado. La licencia debe ser tecnolgicamente neutral. n Estndar abierto: Esta basado en los principios de Disponibilidad. Maximizar las opciones del usuario final. Sin tasas sobre la implementacin. Sin discriminacin de implementador. Permiso de extensin o restriccin. Evitar prcticas predatorias por fabricantes dominantes Software de dominio pblico: aqul que no est protegido con copyright. Software con copyleft: software libre cuyos trminos de distribucin no permiten a los redistribuidores agregar ninguna restriccin restriccin adicional cuando lo redistribuyen o modifican. O sea, la versin modificada debe ser tambin libre. Software semi libre: aqul que no es libre, pero viene con autorizacin de usar, copiar, distribuir y modificar para particulares sin fines de lucro. luc Freeware: se usa comnmente para programas que permiten la redistribucin pero no la modificacin (y su cdigo fuente no est disponible). Shareware: software con autorizacin de redistribuir copias, pero debe pagarse cargo por licencia de uso continuado. uado. Software privativo: aqul cuyo uso, redistribucin o modificacin estn prohibidos o necesitan una autorizacin. Software comercial: el desarrollado por una empresa que pretende ganar dinero por su uso.
22
Desarrollos de software libre: libre Motivacin tica: abanderada por la Free Software Foundation [FSF FSFO09] partidaria del apelativo libre, , que argumenta que el software es conocimiento, debe poderse difundir sin trabas y que su ocultacin es una actitud antisocial y que la posibilidad de modificar programas gramas es una forma de libertad de expresin. Motivacin pragmtica: abanderada por la Open Source Initiative [OSIN09] partidaria del apelativo fuente abierta, , que argumenta ventajas tcnicas y econmicas, apartando el trmino free para poder evitar as la posible confusin entre libre y gratis. En la figura 2.1 [SOFT T09] podemos observar un mapa conceptual ual de software libre donde estn n relacionados los conceptos ms importantes.
En la figura 2.2 [LSOF09 LSOF09] podemos ver una tabla que muestra una comparativa de las licencias ms importantes para software no propietario, indicando si son compatibles con la licencia GNU[GENU09] [GENU09] GPL[GPLI09] y si estn aprobadas por la Open Source Initiative.
22
Los tipos de licencia ms utilizados son: BSD[BSDI09]: Una aplicacin licenciada con BSD permite que otras versiones pueden tener otros tipos de licencias, tanto propietarias, como BSD o GPL. GPL: Esta licencia aplica la necesidad del copyleft, haciendo que las nuevas versiones de la aplicacin sean siempre libres y licenciadas bajo GPL. MPL[MOPL09]: Aplica licencias dobles al cdigo fuente y a los ejecutables, obligando a devolver al autor las fuentes modificadas y permitiendo licenciar los binarios como propietarios.
22
22
Los sistemas s de bases de datos (SGBD) presentan numerosas ventajas que se pueden dividir en dos grupos: las que se deben a la integracin de datos y las que se deben a la interface comn que proporciona el SGBD.
22
Ms informacin sobre la misma cantidad de datos. Al estar todos los datos integrados, se puede extraer informacin adicional sobre sobr los mismos. Comparticin de datos. En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos todos los usuarios que estn autorizados. Adems, las nuevas aplicaciones que se vayan creando pueden utilizar los datos de la base de datos existente. Mantenimiento de estndares. Gracias a la integracin es ms fcil respetar los estndares necesarios, tanto tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estndares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estndares de documentacin, procedimientos de actualizacin y tambin bin reglas de acceso.
2.3.2 Ventajas
Mejora en la integridad de datos. La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. Mejora en la seguridad. La seguridad de la base de datos es la proteccin de la base de datos frente a usuarios ios no autorizados. Sin unas buenas medidas de seguridad, la integracin de datos en los sistemas de bases de datos hace que stos sean ms vulnerables que en los sistemas de ficheros. Sin embargo, los SGBD permiten mantener la seguridad mediante el establecimiento establecimiento de claves para identificar al personal autorizado a utilizar la base de datos. Las autorizaciones se pueden realizar a nivel de operaciones, de modo que un usuario puede estar autorizado a consultar ciertos datos pero no a actualizarlos, por ejemplo. plo. Mejora en la accesibilidad a los datos. Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicacin que realice tal tarea. Mejora en la productividad. El SGBD proporciona muchas de las funciones estndar que el programador necesita escribir en un sistema de ficheros. A nivel bsico, el SGBD proporciona todas las rutinas de manejo de ficheros tpicas de los programas de aplicacin. El hecho de disponer de estas funciones permite al programador centrarse mejor en la funcin especfica requerida por los usuarios, sin tener que preocuparse de los detalles de implementacin de bajo nivel. Muchos SGBD tambin proporcionan un entorno de cuarta generacin consistente en un conjunto de herramientas que simplifican,
9
22
en gran medida, el desarrollo de las aplicaciones que acceden a la base de datos. Gracias a estas herramientas, el programador puede ofrecer una mayor productividad en un tiempo menor. Mejora en el mantenimiento gracias a la independencia de datos. En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicacin que los manejan. Esto hace que los programas programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos. Aumento de la concurrencia. En algunos sistemas de ficheros, si hay varios vari usuarios que pueden acceder simultneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda informacin o, incluso, que se pierda la integridad. La mayora de los SGBD gestionan el acceso concurrente a la base de d datos y garantizan que no ocurran problemas de este tipo. Mejora en los servicios de copias de seguridad y de recuperacin ante fallos. Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada da, y si se produce algn fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la ltima copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
2.3.3 Inconvenientes
Complejidad. Los SGBD son conjuntos de programas muy complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder sacar un buen partido de ellos. Tamao. Los SGBD son programas complejos y muy extensos que requieren una gran cantidad de espacio en disco y de memoria para trabajar de forma eficiente. Coste econmico del SGBD. El coste de un SGBD vara dependiendo del entorno y de la funcionalidad que ofrece. Por ejemplo, un SGBD para un ordenador personal puede costar 500 euros, mientras que un SGBD para un sistema multiusuario que d servicio a cientos de usuarios puede costar entre 10.000 y 100.000 euros. Adems, hay que pagar
10
22
una cuota anual de mantenimiento que suele ser un porcentaje del precio del SGBD. Coste del equipamiento adicional. Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento. Adems, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una mquina ms grande o una mquina que se dedique solamente al SGBD. Todo esto har que la implantacin de un sistema de bases de datos sea ms cara. Coste de la conversin. En algunas ocasiones, el coste del SGBD y el coste del equipo informtico que sea necesario adquirir para su buen funcionamiento, es insignificante icante comparado al coste de convertir la aplicacin actual en un sistema de bases de datos. Este coste incluye el coste de ensear a la plantilla a utilizar estos sistemas y, probablemente, el coste del personal especializado para ayudar a realizar la conversin con y poner en marcha el sistema. Este coste es una de las razones principales por las que algunas empresas y organizaciones se resisten a cambiar su sistema actual de ficheros por un sistema de bases de datos. Prestaciones. Un sistema de ficheros est est escrito para una aplicacin especfica, por lo que sus prestaciones suelen ser muy buenas. Sin embargo, los SGBD estn escritos para ser ms generales y ser tiles en muchas aplicaciones, lo que puede hacer que algunas de ellas no sean tan rpidas como antes. a Vulnerable a los fallos. El hecho de que todo est centralizado en el SGBD hace que el sistema sea ms vulnerable ante los fallos que puedan producirse. Existen una gran diversidad de sistemas de administracin de bases de datos relacionales (RDBMS: BMS: Relational Relational Data Base Management System) base de datos relacionales los ms conocidos se explican a continuacin: MySQL: disponible bajo S.O. MS Windows y GNU/Linux, posee una gran velocidad, es muy empleada sobre todo en aplicaciones desarrolladas en PHP o Perl y tiene un bajo coste en cuanto al espacio que necesita. Es de cdigo abierto y la base de datos ms popular del mundo. Como principales inconvenientes destacan las grandes limitaciones para transacciones [TRAN09], , procedimientos almacenados y complejas sentencias de SQL.
Oracle: fabricado por Oracle Corporation [ORAC09], , es un producto vendido a nivel mundial, aunque su gran potencia y su elevado precio lo hace slo accesible a grandes empresas. Otorga gran robustez y numerosas caractersticas caractersticas que garantizan la seguridad e integridad de los datos, que las transacciones se ejecuten de una forma
11
22
correcta sin inconsistencias, ayuda a administrar y almacenar gran cantidad de informacin, estabilidad, escalabilidad y est disponible bajo MS Win Windows y GNU/Linux. Hasta hace poco tiempo ha presentado un dominio casi total en el mercado de servidores empresariales. Access: disponible nicamente bajo S.O. MS Windows, su uso se aconseja nicamente para volmenes de datos pequeos, bajo nmero de visitas visitas simultneas y que la aplicacin que acceda a ella no efecte cambios. Se deben de emplear aplicaciones elaboradas en ASP para acceder a ella. MS SQL Server: disponible nicamente bajo S.O. MS Windows, est orientada para programadores especializados especializad en ASP y Visual Basic, entre otros de Microsoft, y es adecuada para aplicaciones crticas y con cualquier grado de complejidad. PostgreSQL: disponible bajo S.O. MS Windows y GNU/Linux. Se trata del servidor de bases de datos de cdigo abierto ms potente, y es, de los de cdigo abierto, el ms adecuado para aplicaciones complejas o crticas. Entre sus principales caractersticas se encuentran: funciones (que pueden escribirse en variedad de lenguajes para que se ejecuten en el servidor, como C, C++ y JAVA), alta concurrencia (que permite que un proceso escriba en una tabla y mientras otros accedan a esa misma tabla sin necesidad de bloqueos), amplia variedad de tipos nativos (como texto ilimitado y direcciones IP y MAC), integridad transaccional y herencia h de tablas. Su principal inconveniente est en que se trata de los servidores de bases de datos ms lentos. En este proyecto ecto se va a emplear el sistema de administracin de bases de datos d MySQL aportando: Integridad referencial, la informacin est almacenada con una mayor seguridad frente a borrados accidentales, pero no es necesaria la alta seguridad y gran soporte para estos menesteres que Oracle y Postgre SQL, por ejemplo, brindan. Buena relacin entre calidad, usabilidad y coste.
2.4 MySQL.
2.4.1 Historia
Los inicios de MySQL se remontan a la necesidad necesidad de conectar el gestor mSQL a las propias tablas de MySQL, , para lo que se comenz con unas rutinas a bajo nivel. Despus de diversas pruebas se hizo ms evidente que mSQL no brindaba la suficiente
12
22
flexibilidad para estos menesteres, motivo por el cual se comenzaron a desarrollar nuevas funciones, que dieron lugar a una interfaz SQL totalmente compatible con mSQL. Desde sus comienzos se han ido desarrollando multitud de versiones, siendo sien actualmente la versin estable 5.0.27 la ms reciente. El origen del nombre MySQL no se conoce con certeza, parece ser que durante los ltimos aos sus libreras han llevado el prefijo my, lo que justamente coincide con el nombre de la hija de un miembro miembro del equipo de desarrollo.
22
entorno de red cliente-servidor. cliente idor. A su vez tambin est disponible como biblioteca y puede ser embebido en aplicaciones autnomas, con disponibilidad o no de red. Tipos de datos, sentencias y funciones Soporte para una gran variedad de tipos de datos: enteros con y sin signo, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM. Permite registros tanto de longitud fija como variable. Da soporte completo para operadores operadores y funciones en las clusulas de consultas SELECT y WHERE. Soporta de una manera completa las clusulas GROUP BY y ORDER BY, adems de funciones de agrupacin COUNT, AVG, STD, SUM MAX, MIN y GROUP_CONCAT, as como LEFT OUTER JOIN y RIGHT OUTER JOIN cumpliendo iendo estndares de sintaxis SQL y ODBC. Permite el uso de alias en tablas y columnas. Las clusulas DELETE, INSERT, REPLACE y UPDATE devuelven el nmero de filas que han sido afectadas o el nmero de filas que seran afectadas, segn se requiera. Las funciones iones pueden llamarse igual que las tablas o las columnas, no hay colisiones entre ellos, salvo que no se permiten espacios entre el nombre de la funcin y los parntesis empleados para invocarla. Seguridad y conectividad Empleo de un sistema de privilegios privilegios y contraseas con gran flexibilidad y seguridad, permitiendo la autenticacin basada en la mquina servidora, adems de intercambiar contraseas de manera cifrada. Se puede conectar al sistema empleando sockets TCP/IP en cualquier plataforma. Los servidores res basados en MS Windows permiten conexiones con memoria compartida si se inicializan con la opcin para tales efectos, as como los clientes tambin pueden utilizar esta prestacin. La interfaz para el conector MyODBC, disponible para todas las plataformas, proporciona a MySQL soporte para programas clientes que utilicen conexiones ODBC (Open Open Database Connectivity), como es el caso de emplear MS Access para conectarse al servidor MySQL. MySQ De igual manera existen interfaces para conectores J y NET que permiten conexiones a la base de datos desde aplicaciones desarrolladas en Java y .NET. Escalabilidad y localizacin MySQL es empleado en bases de datos que contienen 50 millones de registros. registro Tambin hay casos con 60.000 tablas y alrededor de 5 millones de registros. Permite hasta 32 ndices por tabla (64 a partir de la versin 4.1.2), de los que cada
14
22
uno puede tener desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son on 500 bytes (1000 a partir de la versin 4.1.2). Los mensajes de error pueden ser mostrados en multitud de idiomas, segn en el que sea configurado el servidor. Soporte para gran variedad de conjuntos de caracteres. Datos guardados en el conjunto de caracteres caracteres elegido, adems de que todas las comparaciones, salvo si se indica en el juego de caracteres, son insensibles a maysculas (case-insensitive). insensitive). Las ordenaciones son llevabas a cabo en el conjunto de caracteres elegido.
22
procesado mnimo, pero el gran inconveniente de que a veces es necesario que el cliente clie cuente con unos plugins especficos para poder visualizar correctamente los resultados que recibe del servidor. A diferencia de las del lado del cliente, las aplicaciones del lado del servidor tienen el inconveniente de que en algunas ocasiones el servidor serv puede encontrarse muy saturado, por ejemplo, debido a un gran nmero de peticiones simultneas pero a su vez esta tecnologa presenta la gran ventaja de que apenas requiere procesado por parte del cliente, ni ninguna capacidad adicional para poder visualizar vis la respuesta del servidor.
22
Es necesario que el servicio funcione sobre plataforma GNU/Linux, dado que es el Sistema Operativo que tiene instalado el ordenador en el que se va a implantar el sistema. Por esta razn, a pesar de sus servicios complementarios, ISS queda descartado para esta aplicacin. El sistema requiere estabilidad tanto a nivel de Sistema Operativo como tambin de la aplicacin que trabaja de servidor web, motivo por el que de los servidores web restantes se considera que Apache es el ms idneo por su gran variedad de versiones, antigedad y amplia comunidad de desarrollo. Resulta aconsejable que la aplicacin tenga un buen soporte y asistencia tcnica, y de todas las mencionadas Apache es la ms extendida y utilizada. Todo su cdigo est escrito en C, por lo que a pesar de no estar compuesto de las funcionalidades nicamente necesarias, el detrimento que ellas pueden ocasionar en su velocidad no es muy apreciable para el uso que en este proyecto va a tener. En algn momento puede ser necesario implementar un sistema de conexiones seguras a travs del servidor web, funcionalidad no disponible por parte de Thttpd.
22
Permite trabajar con CGI, Java, Perl y PHP, entre otros lenguajes de script, incluso en modo CGI o como mdulos. Hace posible la personalizacin de los diversos diversos errores que se pueden dar, como por ejemplo al intentar acceder a una pgina inexistente. Ofrece una alta configurabilidad en la creacin y gestin de logs, por si se requiere tener un mayor control sobre el funcionamiento del servidor web.
La manera tradicional de ver el sistema ha consistido en pensar en l como en 4 capas, de las que cada una intercambiaba informacin con otra a travs de una interfaz. Las cuatro capas eran Ncleo, Ncleo, Mdulos, Sistema Operativo (SO) y Utilidades (Util). La capa de los mdulos era la ms independiente y consista en un subsistema que provea de funcionalidades adicionales, como el subsistema subsistem MIME[MIME09]. Como se aprecia en la figura 2.5 [FORO09] actualmente la arquitectura del sistema se contempla desde el punto de vista de otro modelo:
18
22
En este modelo la perspectiva es diferente. El Ncleo del servidor web puede decirse que ue est compuesto del Subsistema Ncleo, Subsistema de Sistema Operativo y Subsistema de Utilidades. Los tres subsistemas se encuentran formando tres capas en el Ncleo, y los mdulos se comunican a travs de interfaces proporcionadas por cada una de esas capas, por lo que esencialmente los mdulos suplementan las funcionalidades del Ncleo. cleo Compuesto fundamentalmente por cuatro esquemticamente en la figura 2.6 [FORO09]:
componentes,
representado
19
22
Mdulos El servidor Apache dispone de diversos mdulos que implementan las funcionalidades de los servicios solicitados por el cliente. Estos mdulos interactan con el Ncleo y son independientes unos s de otros, pero todos tienen la misma interfaz hacia l. El servidor Apache contiene varios mdulos estndares, de los cuales dado su gran nmero slo se describirn algunos, agrupados segn su fase de uso o utilidad, aunque hay diversas clasificaciones. Traduccin de direcciones mod_userdir: traduce el directorio de usuario en las rutas reales de mod_rewrite. mod_rewrite: proporciona un motor de reescritura, basado en reglas que reescriben las peticiones de direcciones de inmediato.
Fases de autenticacin/autorizacin Comprueban que el usuario tiene permiso para acceder al servidor, y se verifica mediante nombre de host o direccin IP. mod_auth, mod_auth_anon, mod_auth_db, mod_auth_dbm: empleados para la autenticacin. mod_access: proporciona proporciona control de acceso basndose en el nombre del host del cliente, direccin IP u otras caractersticas de la peticin del cliente.
Determinacin de tipo MIME de los objetos solicitados mod_mime: determina el tipo de archivo a travs de la extensin del archivo. mod_mime_magic: determina el tipo MIME de un archivo analizando los bytes iniciales del contenido.
Fase de fijacin mod_alias: traduce diferentes partes del sistema de archivos del servidor en el rbol de documentos del servidor y redirecciona direcciones. mod_env: modifica el entorno que se enva a los scripts CGI y las pginas SSI (Server Side Includes). mod_speling: puede corregir automticamente algunos errores tipogrficos de la direccin e ignora maysculas y minsculas
20
22
Envo de datos al cliente mod_actions: se utiliza para ejecutar scripts CGI basndose en el tipo de medio o el mtodo de peticin. mod_asis: empleado para el envo de archivos que tienen sus propias cabeceras HTTP. mod_autoindex: lista y muestra los contenidos de un directorio direct de manera automtica. mod_cgi: permite la ejecucin de scripts CGI. mod_include: posibilita el incluir documentos HTML generados por el propio servidor, tambin conocido como SSI. mod_dir: utilizado para redirecciones y servir los archivos de listado de directorios. mod_imap: necesario para el procesado de imgenes en el lado del servidor.
Fase de registro de peticiones mod_log_config: registro de las peticiones efectuadas al servidor. mod_logio: registro del nmero de bytes recibidos y enviados en cara respuesta de peticin de un cliente.
Figura 2.7 - Procesos a seguir por la peticin de una direccin [FORO09 FORO09]
21
22
El Ncleo del servidor web Apache est dividido en componentes, cada uno con una responsabilidad especfica en el ciclo del tratamiento de peticiones. Una peticin de un cliente primeramente contacta con HTTP_PROTOCOL, componente responsable de todas las conexiones con los clientes. El servidor Apache gestiona la peticin transfirindola la entre los diferentes mdulos, en donde cada mdulo es responsable de una funcionalidad especfica, y por lo tanto el ncleo debe de asegurarse de que la peticin es reenviada por el mdulo apropiado para el procesado necesario. Cada mdulo es independiente nte de los dems, y por lo tanto nunca interactan entre ellos directamente, slo a travs del ncleo. El componente HTTP_REQUEST es el responsable del intercambio de peticiones entre ncleo y mdulos. Por lo tanto, una peticin es recibida por HTTP_PROTOCOL, HTTP_REQUEST toma el control y comienza el ciclo tpico de ejecucin. Primero tiene lugar la traduccin de la direccin (URL) y extraccin del nombre del archivo solicitado en la peticin. En el transcurso de esta etapa el mdulo mod_userdir recibe la peticin y resuelve la ruta de direccin. A continuacin, se autentica la peticin. El componente HTTP_REQUEST enva la peticin a los mdulos mod_auth, mod_auth_anon y mod_auth_db y mod_auth_dbm. Esta etapa corresponde a la fase de autenticacin anteriormente anteriorm mencionada. Una vez que el nivel de acceso es el correcto y se permite este, se entrega la peticin al sistema de archivos o al script CGI. Finalmente el componente HTTP_REQUEST permite el tipo MIME necesario. El tipo MIME es el tipo de contenido que ser enviado por el flujo de salida de datos hacia el cliente. Este determina el contenido, la codificacin en este y el lenguaje empleado para entregar la salida al cliente. Al final del proceso, el resultado es colocado en el flujo de salida con la ruta y direcciones reales, las cuales sern des-traducidas. des traducidas. As que por ltimo, el componente HTTP_PROTOCOL comunicar al cliente la respuesta a su peticin, y al final de esta labor la peticin ser registrada en el registro de peticiones del servidor.
22
versin 2, (FI era otro programa del desarrollador que procesaba datos de formularios), por lo que ya la herramienta para pginas web tambin contaba con un intrprete de formularios, adems de soporte para mSQL. PHP/FI fue creciendo con gran rapidez y mucha gente comenz a contribuir en el desarrollo de este pequeo proyecto inicial. in En 1997 el desarrollo del proyecto sufri un profundo cambio al pasar a ser un proyecto mucho ms organizado, reescribindose por ejemplo el analizador sintctico, y creando las bases para la versin 3, la cual fue lanzada oficialmente en 1998. En 1999 se volvi a reescribir gran parte del cdigo producindose el motor Zend, motor de procesamiento para la compilacin y cifrado del cdigo, desarrollado por Zend Tecnologies. Un ao despus, en Mayo de 2000, fue lanzado PHP 4, en Julio de 2004 se lanz PHP 5 y en breve se espera el lanzamiento de PHP 6. Actualmente estn activos las actualizaciones y soportes para las versiones 4 y 5, y para cuando haga aparicin la versin 6 se espera que entonces este soporte se ample a las tres.
2.7.2 Caractersticas
Cabe destacar que de las dos versiones actualmente activas, las mayores ventajas de la versin 5 frente a la versin 4 son el mejor soporte para Programacin Orientada a Objetos, mejoras de rendimiento, mejor soporte para MySQL y XML, iteradores es de datos y excepcin de errores. Dado que el servidor en el que se va a instalar este proyecto de repositorio de artculos cuenta con la versin 4.4.4, las caractersticas se centrarn en esta versin: Hace posible la utilizacin de pginas web dinmicas dinmicas en combinacin con el motor de base de datos MySQL, aunque cuenta con soporte para una gran variedad de motores de bases de datos. Con l se pueden crear aplicaciones grficas independientes del navegador, por medio de PHP y GTK, permitiendo desarrollar aplicaciones de escritorio si el Sistema Operativo en cuestin lo soporta. Es multiplataforma, se puede compilar su cdigo en diferentes arquitecturas. Permite la lectura y manipulacin de datos desde diversas fuentes, como datos ingresados en formularios HTML. Tiene capacidad para expandir su utilidad con una gran variedad de mdulos, como el empleado en este proyecto para la autenticacin mediante directorio LDAP. Amplia documentacin y soporte en su pgina web. Es libre, resultando una alternativa alternativa de fcil acceso para todos. Soporta tcnicas de Programacin Orientada a Objetos. Tiene una biblioteca nativa de funciones sumamente amplia e incluida. No requiere de la definicin de tipos de d variables.
23
22
2.7.3 Funcionamiento
PHP se comporta como un mdulo de Apache, que extrae cdigo dentro de las pginas, lo ejecuta en el servidor y enva el resultado al cliente. El cliente no puede visualizar el cdigo del programa, solamente su resultado. Adems es importante destacar que al ser un lenguaje de script, script, los programas en PHP no se compilan, sino que nicamente se interpretan, por lo que es ms lento en ejecutarse como programas hechos en C, que requieren estar compilados. No obstante, su gran ventaja es que un cambio en el cdigo en PHP tiene el efecto efec inmediato, y en C por ejemplo, es necesario volver a compilarlo. Resulta importante aclarar que slo son interpretados por el mdulo PHP, es decir pasados por parte del Ncleo de Apache a l, los archivos que hayan sido definidos en la configuracin del servidor como tales, dado que la interpretacin de cdigo es un proceso que necesita un tiempo mayor que el empleado en enviar una pgina tal como est. Normalmente se emplea la extensin .php, aunque tambin se utilizan otras como .php3, .php4, y phtml.
2.8 Xampp
libre que consiste [XAMPP] es un servidor independiente de plataforma, software libre, principalmente en la base de datos MySQL, el servidor Web Apache y los intrpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrnimo acrnim de X (para cualquiera de los diferentes sistemas operativos), Apache,MySQL, PHP, Perl. El programa est liberado bajo la licencia GNU y acta como un servidor Web libre, fcil de usar y capaz de interpretar erpretar pginas dinmicas. dinmicas
2.8.1 Caractersticas
XAMPP solamente requiere descargar y ejecutar un archivo zip, tar, tar o exe, con unas pequeas configuraciones en alguno de sus componentes que el servidor Web necesitar. XAMPP se actualiza regularmente para incorporar las ltimas versiones de Apache/MySQL/PHP y Perl. Tambin Tambin incluye otros mdulos como OpenSSL y [PHPM09 PHPM09] Para instalar XAMPP se requiere solamente una pequea fraccin del tiempo necesario para descargar y configurar los programas por separado. Los os diseadores de XAMPP slo pretendan su uso como una herramienta de desarrollo, para permitir a los diseadores de sitios webs y programadores testear su trabajo en sus propios ordenadores sin ningn acceso a Internet. En la prctica, sin embargo, XAMPP es utilizado actualmente para servidor de sitios Web y, con algunas modificaciones, es generalmente lo suficientemente seguro para serlo. Con el paquete se incluye una herramienta especial para proteger fcilmente las partes ms importantes.
24
Captulo 3
Descripcin de la aplicacin
3. La aplicacin
Veremos a continuacin como se ha desarrollado la aplicacin ,sus fases de desarrollo y su puesta en marcha en el servidor.
3.1 Introduccin
Gestin y Reservas de Infraestructuras (GRI) es una aplicacin basada en PHP / MySQL para la reserva de salas de reunin basada en un mdulo de gestin con licencia GPL de libre modificacin in y distribucin llamado MRBS. MRBS La aplicacin a nivel fsico est compuesta por diversos archivos almacenados en el lado del servidor.
Recomendaciones: - JavaScript activado en el navegador - CSS activado en el navegador - Conexin del mdulo de PHP en el servidor (tambin llamados SAPI) si desea utilizar cualquier de los sistemas de autenticacin bsica HTTP proporcionado.
3.4 Topologa
Como podemos ver en la figura 3.1, nuestro sistema consta principalmente de un servidor con la aplicacin Xampp, que integra entre otros mdulos un servidor Apache, MySQL y Php. Dicho servidor est conecta a una red con acceso a internet haciendo posible el acceso a los distintos usuarios a nuestra nuest aplicacin.
26
En la primera fase, se definen defi los requisitos que debe tener la herramienta de reserva de aulas, , para ello consultamos al a centro implicado para conocer sus necesidades a la hora de reservar. El sistema deba cumplir las siguientes caractersticas: Aplicacin web con soporte para mltiples usuarios . Autentificacin de usuarios. usuarios Interfaz intuitivo y de fcil manejo. Gestin de reservas por parte de un administrador. Soporte para ara salas y edificios Notificacin de reservas por correo electrnico.
Una vez conocidos todos los requisitos empezamos con la bsqueda de soluciones y el tipo de plataforma donde se iba a desarrollar. Para ello se hizo una gran labor de bsqueda, comparando rando las diversas soluciones que otras instituciones daban a dicho problema. El resultado fue el menos esperado, ya que la a gran mayora no tena ningn sistema de gestin, y slo lo algunas se hacan valer de un formulario de reservas como se puede ver en la figura 3.2, 3.2 el cual se rellena y se le enva a un administrador para que tramite la solicitud.
27
[RESER09]
Dichos formularios no cumplen nuestros objetivos marcados, , y se opto por una u bsqueda ms a fondo en aplicaciones ms especficas como son los Gestores de Contenidos CMS [CMSY09] y software de libre distribucin (GPL). Tras cientos de programas descartados, encontramos un software que cumple con parte de los requisitos. Se trata de una aplicacin llamada MRBS [MRBS09] (figura 3.4). El mdulo MRBS es una aplicacin web desarrollada con licencia GPL, GPL para la reserva de recursos. MRBS est basado en Webcalendar [WEBC09] (figura 3.3), aplicacin basada en PHP que implementa un calendario de eventos en lnea que puede ser configurado como para un usuario nico, o un calendario para grupos de usuarios. WebCalendar puede tener la configuracin en una variedad de formas, tales como: como Un sistema de gestin estin de calendario para una sola persona Un sistema de gestin de calendario para un grupo de personas, permitiendo que uno o varios asistentes para gestionar el calendario de otro usuario Un calendario de eventos que se puedan ver, permitiendo a los visitantes vis a presentar los nuevos eventos Un servidor de calendario que puede ser visto con iCalendar compatible con aplicaciones de calendario, como Mozilla Sunbird, Apple iCal o aplicaciones habilitadas GNOME Evolution o RSS-como RSS como Firefox, Thunderbird, RSSOwl, RSSOw FeedDemon o BlogExpress. Dichas aplicaciones se encuentran alojadas en el servidor de SourceForge , central de desarrollos de software que controla y gestiona varios proyectos de software libre y acta como un repositorio de cdigo fuente , sus direcciones direcci web son:
28
29
La segunda fase del proyecto finaliza con la eleccin de MRBS ya que es la solucin ms viable y cumple con los requisitos del servidor puesto que tiene soporte para servidores Apache , Php y Mysql. La tercera fase comienza con la necesidad de instalar la aplicacin en un servidor con sistema operativo Windows , para ello elegimos el Xampp. Xampp es una forma fcil de instalar la distribucin Apache que contiene contien MySQL, PHP y Perl.
En esta ventana hay que elegir si queremos que se instale el Apache (servidor web), MySQL (bases de datos) y Filezilla FTP (servidor FTP), como servicios de Windows, es decir, que se inicien siempre con el ordenador y permanezcan conectados aunque cerremos la Sesin de Windows. Una vez hecha nuestra eleccin, la instalacin se dar por concluida y nos solicitar si queremos ver el Panel de Control del Xampp. Elegiremos que si, y se nos presentar la pantalla de la figura 3.6.
30
Desde aqu veremos los diferentes servicios que nos provee el Xampp. Los explicaremos todos. Apache: Es lo que nos proveer del servidor web, para poder servir nuestras pginas en local.
MySQL: Para dar soporte a la bases de datos, necesitaremos necesitaremos siempre que est conectado. FileZilla: Nos proveer de un servidor FTP local, uno de los puntos fuertes del Xampp. Mercury: Programa para poder crearnos nuestro propio servidor de correo en local.
Procederemos pues a conectar los servicios servicios que requiramos. Para instalar la aplicacin de Gestin de Reservas e Infraestructuras necesitaremos como mnimo el Apache y MySQL. Deberemos de darles al botn "Start" para conectarlos. Si es Windows XP con el SP2, posiblemente el firewall muestre un aviso, aviso, si se da el caso, hay que dar permiso para acceder. As pues, deberemos de tener la pantalla como muestra la figura 3.7.
31
Con esto termina la instalacin del servidor local. Ahora vamos vamos a ver las opciones del Xampp ms importantes. Si ahora introducimos en nuestro navegador la direccin http://localhost , veremos la apariencia del servidor web. Deberemos de elegir el idioma que queramos, y se nos presentar la pantalla de la figura 3.8. 3.
32
En esta pantalla tenemos multitud de opciones. Vamos a proceder a explicarlas: Bienvenido: Introduccin del panel de administracin Estado: Aqu nos dar el estado (activado o no activado) de los distintos servicios cios del Xampp. Chequeo de seguridad: Desde aqu nos har un chequeo de la seguridad del server. Ms adelante veremos cmo configurarlo. Documentacin: Una serie de manuales para consultar. Componentes: Enumera los componentes que incluye el Xampp. phpinfo(): Informacin sobre la versin de PHP Categora Demos: Aqu tenemos una serie de scripts ya creados. phpMyAdmin: Lugar para administrar nuestras bases de datos. Webalizer: Estadsticas sobre nuestro servidor. Conmutador PHP: Opcin MUY til. La explicaremos detenidamente a continuacin.
Mercury Mail: Configuracin del servidor de correo FileZilla FTP: Configuracin del servidor FTP
El Xampp posee PHP 5.x.x . Esto puede darnos problemas en algunas aplicaciones, ya que la mayora yora estn pensadas para PHP 4.x.x , ya que la versin 5 aun es nueva. En caso de que tengamos problemas de este tipo, el conmutador PHP ser lo que portar nuestro PHP 5.x.x a uno 4.x.x , por ello es una opcin muy til. Ahora veremos cmo mejorar la seguridad, seguridad, lo primero es introducir una contrasea a nuestro servidor MySQL, para que no pueda entrar nadie a nuestras bases de datos desde el exterior. Para ello nos dirigiremos a chequeo de seguridad, donde se nos abre la ventana de la figura 3.13
33
Esta pgina nos visualiza si tenemos bien configurado el XAMPP en cuanto a seguridad. Para corregirlo pulsamos sobre el enlace (), y nos saldr otra pantalla como podemos ver en la figura 3.14:
Ahora tenemos la posibilidad de poner la contrasea del administrador de MySQL (el usuario ser root). Para no confundirnos, pondremos como contrasea mysql, elegimos la autentificacin cookie y pulsamos sobre password changing para almacenar los cambios. Despus configuramos un usuario y una contrasea para proteger el acceso al panel del XAMPP. Pondremos como usuario y contrasea server para ambos, y pulsamos sobre Make safe the XAMPP directory. Se quedaran los siguientes usuarios y contraseas:
34
Para MySQL: User: root Passw: mysql Para el XAMPP: User: server Passw: server
Seguidamente cerramos todas las ventanas del navegador y volvemos a abrirlo otra vez en local con la direccin (http://localhost). ( . Ahora se nos pedir un usuario y una contrasea para entrar en el panel del XAMPP como podemos ver en la figura 3.10. 3.
Introducimos como usuario server y como contrasea server. Volvemos a entrar en Chequeo de seguridad, y nos sale la pantalla que podemos ver en la figura 3.11 3.1
amarillo es la parte del servidor ftp, que no vamos a usar, la otra opcin de seguridad que queda en rojo nos indica que el php no se est ejecutando en modo seguro. Esta opcin la dejamos as, ya que de otra forma nos genera bastantes restricciones. restri Para finalizar con la configuracin desactivamos las register_globals o registros globales, las cuales estn activadas por defecto en el Xampp, cosa muy poco aconsejable. Para ello nos dirigiremos a "C:\Archivos "C: de programa\xampp\apache\bin" bin" y abriremos el php.ini (con el bloc de notas), aqu deberemos de buscar la siguiente cadena: register_globals = On
En la cual, tendremos que cambiar el "On", por un "Off", la podemos ver en la figura 3.12.
Para poner er el servidor al safe mode, sera tambin en este fichero. Habra que buscar la cadena: Safe_mode = off En la cual tendremos que cambiar el "Off" por un "On" (figura 3.13). 3.1
Ahora reiniciamos los servicios de Apache y MySQL (desde el panel de configuracin del inicio. Paramos los servicios y los volvemos a iniciar). Con esto, concluimos con la configuracin del Xampp.
36
Una vez tenemos los archivos en la carpeta temporal se copia la carpeta web que se encuentra dentro de mrbs-1.4.2 mrbs en C:/Archivos de programa/xampp/htdocs/. Renombramos la carpeta web por mrbs. Esa carpeta que ahora se llama mrbs es la que tendramos endramos que subir al raz de nuestro sitio web. Ahora todo lo que se encuentra bajo htdocs sera el raz de nuestro sitio web en local.
37
Creamos una base de datos nueva, para ello crearemos una base de datos en e blanco. Abrimos la direccin http://localhost/phpmyadmin y nos aparecer la pantalla de la figura 3.15
Nos pedir un usuario y contrasea, pondremos los que configuramos previamente para MySQL en el Xampp: Xampp Usuario: root Contrasea: mysql De esta forma entramos la pantalla de configuracin de MySQL como podemos ver en la figura 3.16. Ahora hora seleccionamos el campo donde pone crear base de datos, datos y escribimos mos el nombre de la base de datos en nuestro caso mrbs y presionamos al botn crear.
38
Procedemos ahora a crear las tablas que necesitamos para la aplicacin. Pulsamos sobre la pestaa SQL que nos aparece encima de las tablas. Nos sale la pantalla que podemos ver en la figura 3.17
Pulsamos sobre el botn examinar, y vamos al directorio temporal donde descomprimimos el mrbs, buscamos busca el fichero tables.my.sql. Una vez encontrado lo abrimos, y pulsamos sobre el botn continuar, dejando la opcin de compresin en automtico como est y el juego de caracteres del archivo en utf8. Cuando acabe el proceso nos dir que la consulta se ejecut con xito, y si nos fijamos en las tablas, ahora aparecen cuatro de ellas que antes no estaban, y las cuatro comienzan por mrbs_. En la figura 3.18 vemos las tablas ablas que utilizar nuestro programa.
39
$dbsys = "mysql"; Indica ndica el tipo de base de datos, datos en nuestro caso elegimos mysql. $db_host = "localhost"; Hostname de la base de datos, por defecto se pone localhost, que indica que se encuentra en la propia mquina. $db_database = "mrbs"; "; Aqu deberemos poner la base de datos que utilizamos, utilizamos, donde creamos las tablas. $db_login = "root"; mbre de usuario de la base de datos MySQL . Nombre $db_password = 'mysql mysql'; Contrasea de la base de datos MySQL, MySQL Una vez introducidas las modificaciones, modificaci guardamos uardamos los cambios y abrimos Internet Explorer xplorer con la siguiente direccin: http://localhost/mrbs/index.php. Si todo va bien, nos saldr nuestra web como podemos observar en la figura 3.20
Esta es la ventana de la aplicacin, pero quedan por configurar bastantes parmetros como vemos en la figura 3.21.
$mrbs_admin = "Julio"; Nombre el administrador de la aplicacin. aplicacin $mrbs_admin_email = "UPCT"; Email del administrador de la aplicacin. aplicacin $mrbs_company = "UPCT"; Nombre de la institucin que da soporte la aplicacin. aplicacin $mrbs_company_logo = " "; Imagen a mostrar en la parte superior relacionada con la pgina.
42
43
Vamos a configurar los parmetros del calendario como se puede ver en las figuras 3.22 y 3.23. Tomamos como ejemplo un centro de estudios, donde los perodos no suelen coincidir con las horas en punto o las medias horas. En este caso, deberemos activar la opcin enable_periods enable_periods = TRUE. Con esta opcin activada, ya no se tienen en cuenta las opciones resolution, que nos marca la duracin de los perodos en minutos; morningstarts y eveningends, que nos marcan la hora de comienzo y de final; morningstartminutes y eveningendsminutes, que nos dicen los minutos despus de las horas de entrada y de salida que se aadirn a las horas que hemos configurado; y twentyfourhour_format, que nos marca el formato horario en 24 o en 12 horas. Ahora hay dos formas de configurar configurar el calendario, una por perodos, sin ponerles hora de comienzo ni de final, y otra configurando la hora de comienzo y de final de cada perodo. Para la primera opcin, ya tenemos dos perodos configurados: $periods[] = "Period 1"; $periods[] = "Period 2"; Sera cuestin de aadir ms lneas hasta completar los perodos que necesitemos. En el otro caso, ser necesario configurar la hora de entrada y de salida de cada bloque horario. Para ello habr que anular las lneas $periods[] = "Period 1"; riod 1"; $periods[] = "Period 2"; Para anularlas, podemos ponerles un # y un espacio delante de la lnea. Quedara: # $periods[] = "Period 1"; # $periods[] = "Period 2"; Ahora estaran anuladas. Ahora veamos eamos como configuramos el horario para un centro que comienza las clases a las 8:20 de la maana, con tres perodos lectivos de 50 minutos, un intervalo de 5 minutos entre clase, un descanso de 30 minutos y otros tres perodos de 50 minutos con sus correspondientes pondientes 5 minutos entre perodos. Es decir, el horario sera (figura 3.24):
45
1 2 3 Descanso 4 5 6
8:20 9:10 9:15 10:05 10:10 11:00 11:00 11:30 11:30 12:20 12:25 13:15 13:20 14:10
Figura 3.24 Horario
$periods[] = "08:20 - 09:10"; "08:20 $periods[] = "09:15 - 10:05"; "09:15 $periods[] = "10:10 - 11:00"; "10:10 $periods[] = "Recreo 1"; $periods[] = "11:30 - 12:20"; "11:30 $periods[] = "12:25 - 13:15"; "12:25 $periods[] = "13:20 - 14:10"; "13:20 parte de poner los perodos del horario, hay que configurar las siguientes opciones: Aparte $weekstarts = 0; $dateformat = 0; Tenemos que cambiar el 0 por un 1, para indicarle al programa que la semana empieza de lunes (weekstarts), y que el formato de fecha debe ser dd mm (dateformat). Quedara: $weekstarts = 1; $dateformat = 1;
46
47
A continuacin veremos en e la figura 3.24 otros parmetros de configuracin como son: $max_rep_entrys = 365 + 1; Indica el mximo imo de repeticiones por entrada, entrada $default_report_days = 60; Periodo de informe por defecto en das $search["count"] = 20; Nmero de resultados por pgina en una bsqueda $refresh_rate = 0; Refresco de la pgina a en segundos, 0=desactivada $area_list_format = "list"; #$area_list_format = "select"; La lnea de arriba est activa, y nos dice que vamos a utilizar el formato de lista. La de abajo est t anulada (tiene un # delante) y tiene la funcin de activar el formato de casilleros. $monthly_view_entries_details = "both"; Muestra los detalles al visualizar las reservas por mes. $view_week_number = FALSE; Muestra las semanas en la parte inferior. inferior
48
$times_right_side = FALSE; Muestra la hora de reserva en el lado derecho. derecho $javascript_cursor = TRUE Habilita cursor en javascript. javascript $show_plus_link = TRUE; Muestra un smbolo + en cada hora a reservas. reservas $highlight_method = "hybrid Cambia la apariencia del men sobresaltando los colores. colores $default_view = "day"; Vista por defecto a mostrar, mostrar ya sea por das o por semanas. $default_room = 0; Sala por defecto a mostrar.
49
Esta parte es la de autenticacin y consta de diversos campos como se puede observar en la figura 3.25 Los parmetros ms importantes son: son $auth["type"] = "db"; Indica el tipo de autentificacin tentificacin por base de datos, datos, para la primera puesta en marcha el programa automticamente ente nos crea una tabla en la base de datos para los usuarios, y sta slo contiene un usuario, llamado administrator, con derechos de administrador, pero que an no est dado de alta. Deberemos eberemos crear este primer usuario, usua que ser el administrador. Guardamos uardamos los cambios y abrimos Internet Explorer Explorer con la siguiente direccin: http://localhost/mrbs/index.php para abrir de nuevo el programa. Veremos que a la derecha, debajo del botn Log in, ahora nos aparece apar un enlace llamado User list. Pinchamos sobre l, y ahora sobre el botn add a new user. Nos sale la pantalla que aparece en la figura 3.26: 3.26
En Name debemos poner obligatoriamente administrator, y en Password la contrasea que elijamos para el administrador. Por ejemplo administrator (hay que poner la misma contrasea dos veces para verificar que no nos confundimos). Le damos a ok y nos sale la pantalla que aparece en figura 3.27.
50
Ahora ya podemos aadir usuarios. A los usuarios que creemos tendremos que ponerles una contrasea, pero despus ellos podrn cambiarla por la que deseen. De todas formas, el administrador puede editar tanto el nombre como la contrasea de cualquier er usuario, aunque ste la haya cambiado. Del fichero config.inc.php slo resta ver las opciones del idioma. Buscamos el comando: $default_language_tokens = "en"; "e Sustituimos en por es para poner el castellano como lenguaje por defecto.
51
Figura 3.28 Parmetros de avisos por correo ispone de un mdulo para el envo envo de notificaciones va email como MRBS tambin dispone podemos ver en la figura 3.28. 3.28 Para habilitar cada parmetro se utiliza TRUE, TRUE y FALSE para deshabilitarlos. Los os ms importantes son: so MAIL_ADMIN_ON_BOOKINGS", FALSE); Notifica al administrador si se ha producido una entrada. MAIL_AREA_ADMIN_ON_BOOKINGS", FALSE Notifica al administrador del de edificio si se produce una entrada. MAIL_ROOM_ADMIN_ON_BOOKINGS", FALSE Notifica al administrador de la sala si se produce una entrada. entrada MAIL_ADMIN_ON_DELETE", FALSE) Notifica de una reserva borrada al administrador, admi , depende de las opciones anteriores. MAIL_ADMIN_ALL", FALSE) Notifica de cualquier cambio al administrador.
52
MAIL_DETAILS", FALSE Muestra detalles de la entrada enviada por correo electrnico. electrnico MAIL_BOOKER", FALSE Enva una copia al usuario que ha reservado de su solicitud. MAIL_DOMAIN",'' Utiliza una autentificacin por el domino de correo en lugar de hacerla hacerla por la base de datos. MAIL_USERNAME_SUFFIX",'' Sustituye el domino del usuario por un sufijo. sufijo MAIL_ADMIN_BACKEND", "mail" Define el mtodo de envio de correo electrnico.
Figura 3.29
Para poder utilizar el envi de notificaciones tendremos que configurar un servidor de correo o SMTP .Vamos a describir los parmetros ms importantes mostrados en la figura 3.29.
53
SMTP_HOST", "localhost" Hostname del servidor SMTP. SMTP SMTP_PORT", 25 Puerto rto del servidor SMTP. SMTP SMTP_AUTH", FALSE Autentificacin requerida por parte del servidor SMTP. SMTP SMTP_USERNAME", '' Nombre de usuario para la autentificacin en caso de estar habilitada. SMTP_PASSWORD", '' Contrasea de usuario para la autentificacin en caso de estar habilitada. Una vez terminado se guardan los cambios y cerramos la edicin del fichero config.inc.php. El programa ya est instalado y configurado. Slo nos resta aadir edificios y salas. Para ello entramos al programa, nos identificamos como administrador y pulsamos sobre el enlace Administracin. Primero crearemos los edificios y despus las salas asignadas a cada edificio. Por ltimo, hay un fichero que es el encargado de realizar las traducciones al castellano de todo el programa. Para gestionar recursos sera conveniente editarlo y cambiar Salas, por Aulas y Recursos, de forma que podramos reservar tanto aulas como otros recursos susceptibles de administrar (retroproyectores, caones de imgenes, ordenadores porttiles, tiles, etc.). Este fichero es lang.es, que est dentro de la carpeta mrbs. Una vez configurado totalmente los parmetros parmetro de MRBS vamos a comentar todas las variaciones y modificaciones que se realizaron
54
A continuacin comentaremos las mejoras con mayor repercusin por su relevancia en el programa. La configuracin visual de MRBS se hace ms cmoda gracias a que permite la configuracin de todo su interfaz por p medio de hojas estilos o CSS, pudiendo cambiar los distintos colores y tipos de fuente utilizados sin necesidad de editar cada pgina por separado. Para ello se cre un fichero en Php de configuracin personalizad o tema como podemos ver en la figura 3.30, donde el programa recoge parte de los parmetros par personalizados.
55
Dicho fichero se encuentra dentro de la carpeta del programa denominada Themes Theme con el nombre default.inc, default.inc este nombre indica al programa que son los parmetros por defecto. Para la composicin del encabezado que podemos ver en la figura 3.31 se hizo uso de la aplicacin Adobe Photoshop. Una vez terminado se integr en la aplicacin a travs del archivo Php de configuracin config.inc que vimos anteriormente y por medio m del archivo function.inc, , dicho archivo recoge las principales principales funciones del programa. En E nuestro caso la funcin modificada es : function print_header($day, $month, $year, $area, $room) Es la encargada de imprimir el encabezado encabezado de cada pgina del programa. progra En ella se implement una nueva tabla en html para tabular y posicionar el nuevo encabezado. Podemos odemos ver un segmento de dicha funcin en la figura 3.32.
56
Destacamos estacamos el desarrollo de un mdulo en PHP P para el soporte de imgenes imgene dndole un toque de dinamismo a la pgina. pgina La idea principal era la visualizacin del edificio edificio y sala a la hora de reservar. Para P ello se tena que dar soporte en los mens del programa a la subida de imgenes en la edicin de cada sala y de cada edificio como podemos observar en las la figuras 3.33 , 3.34. y 3.35.
57
El funcionamiento es bastante sencillo, ya que a la hora de editar los datos del edificio o sala en el men superior aparecen dos botones: examinar, que nos sirve para buscar b la ubicacin de la imagen, y upload que sube la imagen una vez elegida. elegida Si todo se ha realizado correctamente la imagen aparecer en la parte superior. Una vez subidas las imgenes aparecern en el men principal segn vayamos cambiando de edificio o sala. Para la integracin y elaboracin de dicho mdulo tuvo que estudiarse estudiar muy bien la estructura de toda la aplicacin y cada uno de sus archivos para poder la edicin. El mdulo recibe el nombre de thumb_a.php o thumb_r.php dependiendo depend si es un edificio o sala y est alojado en el directorio raz de la aplicacin. Sus funciones f bsicas es el la carga de imgenes y el redimensionado de las imgenes generando una imagen miniatura o thumbail guardndolas en el servidor ms concretamente en la carpeta thumbail con un prefijo y nmero para su posterior visualizacin. . En la figura 3.36 podemos ver una parte del cdigo del programa.
58
Para la integracin en la pantalla de edicin de edificios y salas, se ha tenido que editar la pgina llamada edit_area_room.php que se encarga de editar la informacin dentro de la aplicacin, programando primero el guardado de imgenes y luego la llamada al mdulo que genera la imagen miniatura. miniatura En n la figura 3.37 y 3.38 podemos ver parte del cdigo.
Para finalizar con el mdulo nos queda la presentacin de las imgenes imgenes en la pantalla principal, para ello se crearon aron dos nuevas funciones con el siguiente prototipo: print_photo_area($day, $month, $year, $area, $room); print_photo_room($day, $month, $year, $area, $room); sta funciones estn alojadas alojada en el archivo function.inc antes mencionado que recoge las principales funciones ciones llamadas por el programa. programa Su principal ipal cometido es el de representar la imagen correspondiente a la sala o edificio elegido en el men principal. En la figura 3.39 podemos ver su implementacin. implementacin
60
Para llamarlas se editaron las pginas principales ncipales del programa day.php, week.php y month.php, , ya que el mtodo de visualizacin en la aplicacin puede ser por da, da semana o mes. Podemos ver un ejemplo de llamada en la figura 3.40.
Cabe advertir en el cdigo que para la visualizacin de las imgenes se tuvo que implementar una tabla en html para su mejor distribucin y tabulado. Como gran contratiempo en la aplicacin mencionar que se realizaron dos versiones debido do a la actualizacin del mdulo mdulo MRBS a una versin superior, superior dando soporte a nuevas funcionalidades. En E la figura 3.41 podemos ver la primera versin anterior. anterior
61
Aparte de toda la configuracin estas son las principales modificaciones realizadas al programa. Una vez depuradas uradas y probadas damos paso a la cuarta fase, fase donde se procede a la instalacin en el servidor haciendo todo tipo de pruebas. pruebas
Nos pedir un usuario y contrasea, pondremos los que configuramos previamente para MySQL en el Xampp: De esta forma entramos la pantalla de configuracin de MySQL como podemos ver en la figura 3.43. Ahora hora seleccionamos el campo donde pone crear base de datos, y escribimos el nombre de la base de datos en nuestro caso mrbs y presionamos al botn crear.
62
Procedemos ahora a crear las tablas que necesitamos para la aplicacin. Pulsamos sobre la pestaa SQL que nos aparece encima de las tablas. Nos sale la pantalla que podemos ver en la figura 3.44 3
Pulsamos sobre el botn examinar, y vamos al directorio temporal donde descomprimimos omprimimos el archivo etsitgestion.zip, buscamos el fichero tables.my.sql. Una vez encontrado lo abrimos, y pulsamos sobre el botn continuar, dejando la opcin de compresin en automtico como est y el juego de caracteres del archivo en utf8.
63
Cuando acabe el proceso, proceso nos dir que la consulta se ejecut con xito, y si nos fijamos en las tablas, ahora aparecen cuatro de ellas que antes no estaban, y las cuatro comienzan por mrbs_. Podemos ver en la figura3.45 las tablas que utilizar nuestro nuest programa.
Una vez configurada la base de datos de la aplicacin. Pasamos a la configuracin del programa. Para ello hacemos uso de Dreamweaver, Dreamweaver un editor web que nos facilitar la edicin de los archivos en Php. Primero vamos a editar el fichero config.inc.php. Este fichero se encuentra en la direccin C:/Mis Archivos de Programa/xampp/htdocs/etsitgestion/ (es la antigua carpeta del fichero comprimido). Una vez abierto el fichero, lo primero es es configurar los parmetros de la base de datos y los parmetros de correo. correo $dbsys = "mysql"; Este parmetro indica el tipo de base de datos, datos, en nuestro caso elegimos mysql.
64
$db_host = "localhost"; Hostname de la base de datos , por defecto se pone localhost, que indica que se encuentra en la propia mquina. $db_database = "etsitgestion etsitgestion"; Aqu deberemos poner la base de datos que utilizamos, utilizamos, donde creamos las tablas. $db_login = " "; Nombre de usuario ario de la base de datos MySQL . $db_password = ' '; Contrasea de la base de datos MySQL, SMTP_HOST", "localhost" Hostname del servidor de correo SMTP. SMTP_PORT", 25 Puerto del servidor de correo SMTP. SMTP_AUTH", TRUE Autentificacin requerida por parte del servidor de correo SMTP. SMTP_USERNAME", '' Nombre de usuario para la autentificacin en caso de estar habilitada. SMTP_PASSWORD", '' Contrasea de usuario para la autentificacin en caso de estar habilitada.
65
Una vez introducidas las modificaciones, modificaciones guardamos los cambios y abrimos Internet I Explorer xplorer con la siguiente direccin: http://localhost/etsitgestion/index.php. http://localhost/etsitgestion/index.php Si todo va bien, nos saldr nuestra web como podemos observar en la figura 3.47 3.
En los siguientes captulos se muestra cmo utilizar la herramienta, tanto por parte del administrador como por parte del usuario que desea realizar reservas.
66
Captulo 4
67
I DICE
El programa y sus caractersticas 1.El 1.Funciones: 1.1.Entrada/salida Entrada/salida de usuario 1.2.Editar Editar informacin del usuario 1.3Ir a fecha 1.4.Reservas: 1.4.1.Nueva reserva 1.4.2.Editar reserva 1.4.3.Copiar reserva 1.4.4.Borrar reserva 1.5.Buscar reservas 1.6.Volver Volver a pgina principal .Resumen de funciones y sus campos 1.7.Resumen
68
Opciones del men: -Sistema Sistema de Reservas de Sala de Reserva: : Nos dirige a la pgina principal con fecha actual -Ir a: Nos dirige a la fecha seleccionada -Ayuda: Pgina gina de ayuda con las preguntas ms frecuentes -Administrador: Nos dirige al men administrador (el usuario no est autorizado) -Informes: Consulta de nuestras reservas ordenadas por diversos criterios -Bsqueda: Busca reservas por alguna palabra clave contenida en la reserva -Entrar: Nos sirve para autentificarnos como usuario -Lista de usuarios: Nos sirve s para editar nuestros datos
Importante: Para poder hacer cualquier tipo de reserva tenemos que estar autentificados, para nuevo usuarios ponerse en contacto con el administrador (email en la opcin Ayuda).
69
Procedimiento: -Presionamos Presionamos Entrar en el men superior. -Rellenamos Rellenamos los campos Nombre y Contrasea. -Presionamos Presionamos el botn Entrar situado bajo el campo contrasea Salida de usuario (desloguearse): Procedimiento: -Presionamos Presionamos Salir en el men superior
Observaciones: Debemos de tener un nombre de usuario y contrasea para entrar al sistema, si no es as pngase en contacto con el administrador va correo electrnico, el email de contacto se encuentra en la seccin n de Ayuda situado en el men superior.
70
Procedimiento: Pantalla 1: -Presionamos Presionamos Lista de usuarios en el men superior. -Presionamos Presionamos el botn Editar situado al lado de nuestro correo electrnico. Pantalla 2: Introducimos nuevo nombre de usuario. -Introducimos -Introducimos Introducimos nuevo email. -Introducimos Introducimos contrasea (la misma en los 2 campos). -Presionamos el botn Salvar para guardar los cambios. Observaciones: Los campos nombre, email y contrasea se pueden editar individualmente sin necesidad de cambiar otros campos.
71
1.3.Ir a fecha
Ir a fecha:
Procedimiento: -Introducimos Introducimos la fecha a seleccionar en el men superior. -Presionamos Presionamos el botn Ir a situado al lado de la fecha en el men superior. superior
Observaciones: Esta funcin nos lleva a la fecha seleccionada, es muy til para consultar das concretos y realizar reservas. Otras opciones como indica la imagen pueden ser, desplazarnos al da deseado seleccionndolo en uno de los tres calendarios (2 Forma), Forma o seleccionndolo al final de la pgina (3Forma).
72
73
ueva reserva:
Procedimiento: Pantalla 1 -Una Una vez elegidos el da y el edificio, seleccionamos el campo que coincide con la sala y la hora y le presionamos encima. Pantalla 2 -Rellenamos Rellenamos los campos del formulario. -Presionamos Presionamos el botn Salvar.
Observaciones: Los campos Da de repeticin repeticin y Nmero de semanas solo son necesarios si se elige tipo po de repeticin semanal o n-Semanas n respectivamente. Para visualizar nuestra reserva una vez guardada tenemos que situarnos en el da reservado de la pantalla principal o elegir la opcin Informes del men superior.
74
1.4.2.Editar reserva
75
Editar reserva:
Procedimiento: Pantalla 1 tabla -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (A) -Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.
Observaciones: Al no ser administradores, solo podemos editar las reservas hechas por nosotros.
76
1.4.3.Copiar reserva
77
Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (B) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.
Observaciones: Al no ser administradores , solo podemos copiar las reservas hechas por nosotros
78
1.4.4.Borrar reserva
79
Borrar reserva:
Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Borrar Reserva. Pantalla 3 (C). -Presionamos Presionamos al botn Aceptar para confirmar.
Observaciones: Al no ser administradores , solo podemos borrar las reservas hechas por nosotros
80
1.5.Buscar reservas
81
Procedimiento 1: Pantalla 1 Seleccionamos Bsqueda en el men superior. -Seleccionamos -Rellenamos Rellenamos el campo Buscar por por la palabra clave a buscar contenida en la reserva -Seleccionamos Seleccionamos la fecha desde donde se quiere empezar la bsqueda en Desde -Presionamos Presionamos el botn Bsqueda. Procedimiento 2: Pantalla 2 -En En el campo Bsqueda del men superior introducimos el trmino a buscar y presionamos Intro en el teclado.
Observaciones: El procedimiento 1 permite perm una bsqueda ms especfica, , mientras en procedimiento 2 hace una bsqueda rpida. Para utilizar la bsqueda debemos introducir alguna algu palabra clave que contenga nuestra reserva a buscar en alguno de sus campos.
82
Procedimiento: -Seleccionamos Seleccionamos Sistema de Reservas de Salas de Reserva y nos lleva a la pgina principal de la aplicacin con el da actual.
Observaciones: Se puede utilizar para volver a la pgina principal y cancelar alguna accin en curso. curso
83
84
Captulo 5
85
I DICE
El programa y sus caractersticas 1.El 1.Funciones: 1.1.Entrada/salida Entrada/salida de usuario 1.2.Editar Editar informacin del usuario 1.3Ir a fecha 1.4.Reservas: 1.4.1Nueva Nueva reserva 1.4.2.Editar reserva 1.4.3.Copiar Copiar reserva: reserva 1.4.4.Borrar Borrar reserva 1.5.Buscar reservas 1.6.Informes 1.7.Volver Volver a pgina principal 1.8.Resumen de funciones y sus campos Panel de administrador 2.Panel 2.1.Agregar edifcio 2.2.Editar edifcio 2.3. Borrar edifcio 2.4.Agregar sala 2.5.Editar sala 2.6.Borrar sala 2.7.Aadir usuario 2.8.Modificar o borrar usuario 2.9 Notificacin otificacin de reservas 3. Resumen de funciones y sus campos
86
Opciones del men: -Sistema Sistema de Reservas de Sala de Reunin: Nos dirige a la pgina principal con fecha actual -Ir a: Nos dirige a la fecha seleccionada -Ayuda: Pgina gina de ayuda con las preguntas ms frecuentes -Administrador: Nos dirige d al men administrador -Informes: Consulta de reservas ordenadas por diversos criterios -Bsqueda: Busca reservas por alguna palabra clave contenida en la reserva -Entrar: Nos sirve para autentificarnos autentif como usuario -Lista de usuarios: Nos sirve s para editar nuestros datos
Importante: Para poder hacer cualquier tipo de reserva tenemos que estar autentificados, para nuevo usuarios ponerse en contacto con el administrador (email en la opcin Ayuda).
87
Entrada de usuario:
Procedimiento: -Presionamos Presionamos Entrar en el men superior. -Rellenamos Rellenamos los campos Nombre y Contrasea. -Presionamos Presionamos el botn Entrar situado bajo el campo contrasea Salida de usuario: Procedimiento: -Presionamos Presionamos Salir en el men superior
Observaciones: Debemos de tener un nombre de usuario y contrasea contrasea para entrar al sistema, sistema si no es as pngase en contacto con el administrador va correo electrnico, , el email de contacto se encuentra en la seccin n de Ayuda situado en el men superior.
88
Procedimiento: Pantalla 1: -Presionamos Presionamos Lista de usuarios en el men superior. -Presionamos Presionamos el botn Editar situado al lado de nuestro correo electrnico. Pantalla 2: Introducimos nuevo nombre de usuario. -Introducimos -Introducimos Introducimos nuevo email. -Introducimos Introducimos contrasea (la misma mism en los 2 campos). -Presionamos el botn Salvar para guardar los cambios. Observaciones: Los campos nombre, nombre, email y contrasea se pueden editar individualmente sin necesidad de cambiar otros campos. campo
89
1.3.Ir a fecha
Ir a fecha:
Procedimiento: -Introducimos Introducimos la fecha a seleccionar en el men superior. -Presionamos Presionamos el botn Ir a situado al lado de la fecha en el men superior. superior
Observaciones: Esta funcin nos lleva a la fecha seleccionada, es muy til para consultar das concretos y realizar reservas. Otras opciones como indica la imagen imag pueden ser, desplazarnos al da deseado seleccionndolo en uno de los tres calendarios (2 Forma) o seleccionndolo al final de la pgina (3Forma).
90
91
ueva reserva:
Procedimiento: Pantalla 1 -Una Una vez elegidos el da y el edificio, seleccionamos el campo que coincide con la sala y la hora y le presionamos encima. Pantalla 2 -Rellenamos Rellenamos los campos del formulario. -Presionamos Presionamos el botn Salvar.
Observaciones: Los campos Da de repeticin y Nmero de semanas solo son necesarios si se elige tipo po de repeticin semanal o n-Semanas n respectivamente. Para visualizar la reserva una vez guardada tenemos que situarnos en el da reservado de e la pantalla principal o elegir la opcin Informes del men superior.
92
1.4.2.Editar reserva
93
Editar reserva:
Procedimiento: Pantalla 1 tabla -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (A) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.
94
1.4.3.Copiar reserva
95
Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (B) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.
Observaciones: Al ser administradores tenemos la posibilidad de copiar cualquier reserva. Esta opcin se utiliza para clonar las reservas sin necesidad de hacer una nueva.
96
1.4.4.Borrar reserva
97
Borrar reserva:
Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Borrar Reserva. Pantalla 3 (C). -Presionamos Presionamos al botn Aceptar para confirmar.
98
1.5.Buscar reservas
99
Procedimiento 1: Pantalla 1 -Seleccionamos Seleccionamos Bsqueda en el men superior. -Rellenamos Rellenamos el campo Buscar por por la palabra clave a buscar contenida en la reserva -Seleccionamos Seleccionamos la fecha desde donde se quiere empezar la bsqueda en Desde -Presionamos Presionamos el botn Bsqueda. Procedimiento 2: Pantalla 2 -En En el campo Bsqueda del men superior introducimos el trmino a buscar y presionamos Intro en el teclado.
Observaciones: El procedimiento 1 permite perm una bsqueda ms especfica, , mientras en procedimiento 2 hace una bsqueda rpida. Para utilizar la bsqueda debemos introducir alguna palabra clave que contenga la reserva erva a buscar en alguno de sus campos.
100
1.6.Informes
Informes:
Procedimiento: -Presionamos Presionamos Informes en el men superior -Rellenamos Rellenamos los campos que deseamos para la consulta de informes de reservas -Presionamos Presionamos el botn Pedir Informe.
Observaciones: Tenemos campos obligatorios y campos opcionales, los cuales se pueden quedar en blanco a la hora de pedir el informe.
101
Procedimiento: -Seleccionamos Sistema de Reservas de Salas de Reunin y nos lleva a la pgina principal de la aplicacin con el da actual.
Observaciones: Se puede utilizar para volver a la pgina principal y cancelar alguna accin en curso. curso
102
Operaciones bsicas del administrador: -Agregar edificio: Agrega un edificio nuevo en nuestra aplicacin -Editar edificio: Modifica los datos del edificio y permite carga de imgenes deben estar borradas -Borrar edificio: Borra el edificio seleccionado , previamente deben todas las salas -Agregar sala: Agrega una sala al edificio seleccionado -Editar sala: Modifica los datos de la sala y permite carga de imgenes -Borrar sala: Borra la sala seleccionada -Lista de usuarios: Consulta la lista de usuarios de la aplicacin -Aadir usurio: Agrega un nuevo usuario -Modificar usuario: Modifica los datos del usuario -Borrar usuario: Borra el usuario de la aplicacin
103
2.1.Agregar edifico:
Agregar edifico:
Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Rellenamos el campo Nombre con el nombre del nuevo edificio. -Rellenamos -Presionamos Presionamos el botn Agregar edificio.
Observaciones: Para rellenar la informacin del edificio y subir una imagen hay que seleccionar Editar edificio en el edificio creado.
104
2.2.Editar edificio:
105
Editar edificio:
Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Pantalla 1 -Seleccionamos Seleccionamos Editar edificio en el edificio correspondiente. Pantalla 2 -Para Para subir una imagen presionamos el botn Examinar para buscarla y luego presionamos sionamos Upload para subirla (slo (slo se admiten imgenes en formato JPG). JPG) (Opcional) -Rellenamos Rellenamos los campos a editar. -Presionamos Presionamos el botn Cambiar para guardar los cambios. -Presionamos Presionamos el botn Volver a Admin para volver al panel de administrador.
Observaciones: Solo se admiten imgenes en formato JPG, JPG, la imagen puede tener cualquier tamao ya que ajusta automticamente.
106
2.3.Borrar edificio:
Borrar edificio:
Procedimiento: Nos situamos en el panel de administrador , seleccionamos Administrador en el -Nos men superior. Seleccionamos Borrar edificio en el edificio correspondiente. -Seleccionamos
Observaciones: Para poder borrar un edificio primero deben estar borradas todas sus salas
107
2.4.Agregar sala
Agregar sala:
Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Seleccionamos el edificio donde deseamos agregar la sala. -Seleccionamos -Rellenamos Rellenamos los campos Nombre, Descripcin y Capacidad de la sala. -Presionamos Presionamos el botn Agregar sala.
Observaciones: Para rellenar la informacin de la sala y subir una imagen hay que seleccionar Editar edificio en el edificio creado.
108
2.5.Editar sala
109
Editar sala:
Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Pantalla 1 -Seleccionamos Seleccionamos el edificio donde se encuentra la sala -Seleccionamos Seleccionamos Editar sala en el edificio correspondiente. Pantalla 2 -Para Para subir una imagen presionamos el botn Examinar para buscarla y luego presionamos sionamos Upload para subirla (slo (slo se admiten imgenes en formato JPG) (Opcional) -Rellenamos Rellenamos los campos a editar. -Presionamos el botn Cambiar para guardar los cambios. -Presionamos Presionamos el botn Volver a Admin para volver al panel de administrador.
Observaciones: Solo se admiten imgenes en formato JPG, JPG, la imagen puede tener cualquier tamao ya que ajusta automticamente. automticamen
110
2.6.Borrar sala
Borrar sala:
Procedimiento: Nos situamos en el panel de administrador , seleccionamos Administrador en el -Nos men superior. Seleccionamos el edificio donde se encuentra la sala -Seleccionamos -Seleccionamos Seleccionamos Borrar en la sala correspondiente.
Observaciones: Al borrarse la sala desaparecen todas las reservas efectuadas en dicha sala
111
2.7.Aadir usuario
Aadir usuario:
Procedimiento: Seleccionamos Lista de usuarios en el men superior -Seleccionamos Pantalla 1 -Presionamos Presionamos el botn Agregar usuario Pantalla 2 -Rellenamos Rellenamos los campos con los datos del usuario. usuario -Presionamos Presionamos el botn Salvar.
112
Editar usuario:
Procedimiento: -Seleccionamos Seleccionamos Lista de usuarios en el men superior Pantalla 1 -Presionamos Presionamos el botn Editar usuario Pantalla 2 -Rellenamos Rellenamos los campos a editar con los datos del usuario. -Presionamos Presionamos el botn Salvar.
113
Borrar usuario:
Procedimiento: -Seleccionamos Lista de usuarios en el men superior Pantalla 1 -Presionamos Presionamos el botn Editar usuario Pantalla 2 -Presionamos Presionamos el botn Borrar usuario.
Observaciones: Se puede editar cada campo individualmente sin necesidad de editarlos todos.
2.9 otificacin de reservas: La notificacin de reservas se hace a travs del correo electrnico, dependiendo de la configuracin el sistema podr ser notificado tanto administrador como usuario de los posibles cambios en las reservas.
Observaciones: Para cualquier duda consulte con el administrador de la pgina la configuracin predeterminada de notificaciones.
114
115
116
Captulo 6
Conclusiones
6.1 Conclusiones
Con este proyecto se ha conseguido ofrecer a los profesores del centro una aplicacin que agilice y facilite los trmites para la gestin de reservas de aulas, as como el control de las mismas por parte de un administrador. Se ha creado una herramienta web en la que los profesores podrn administrar sus reservas de salas en tiempo real, ofrecindoles mtodos de consulta y notificacin muy potentes. . Por otro lado, el sistema facilita enormemente la gestin por parte del administrador, ya que el sistema ofrece multitud opciones de consulta y modificacin de peticiones. Adems la herramienta web diseada en este proyecto es fcil f de modificar y extender con nueva funcionalidad. Primeramente se empez eligiendo la arquitectura de la herramienta. Para ello se hizo uso de un proyecto de libre licencia que aportaba parte de la funcionalidad del programa llamado MRBS que funcionaba bajo PHP y MySQL. Despus empez el desarrollo de las la nuevas funcionalidades, como una nueva interfaz o el soporte de imgenes entre otras. Para el desarrollo tuvo que hacerse un estudio exhaustivo de la estructura del programa y de sus funciones principales. princi Todo el desarrollo del cdigo se hizo a travs trav del editor web Dreamweaver y todas las modificaciones fueron integradas como parte del cdigo de la aplicacin. Para la realizacin de dichos cambios se tuvo que profundizar en el conocimiento de la programacin ogramacin en el lenguaje PHP , MySQL y estndares CSS. Una vez creados los mdulos bsicos de funcionalidad, se fueron depurando errores y aadiendo funcionalidad extra. Conforme la aplicacin creca, a su vez aumentaba la modularidad de la misma para crear crear un cdigo sencillo de entender y modificar.
117
Seguidamente se pas a la configuracin y depuracin del programa en el lado del servidor, , para ello se instalo el Xampp para Windows, , que incluye un servidor Apache, PHP y MySQL. Como herramientas principales de desarrollo cabe destacar: Adobe Dreamweaber (editor web) Adobe Fireworks (editor grfico con soporte web) Adobe Photoshop (editor grfico) grfico Xampp (aplicacin que integra PHP P , MySQL y Apache)
118
Referencias
Referencias
[APAC09] Apache. http://www.apache.org. http://www.apache.org 2009 [BSDI09] Berkeley Software Distribution. http://www.bsd.org.2009 .2009 [CHER09] Cherokke: : http://www.cherokee-project.com/.2009 [CMSY09] CMS..http://www.cmsenespanol.com/ http://www.cmsenespanol.com/. 2009 [FORO09]: Foros del web. http://www.forosdelweb.com.2009 .2009 [FSFO09]: Free Software Foundation. http://fsfe.org/index.es.html.2009 [GPLI09]: GPL.General General Public License. License http://www.gnu.org/licenses/gpl.html.2009 http://www.gnu.org/licenses/gpl.html [GE U09]: GNU. http://www.gnu.org/.2009 http://www.gnu.org/ [HTTP09]: HTTP.http://www.w3.org/Protocols/ http://www.w3.org/Protocols/. 2009 [ISSE09] ISS. http://www.microsoft.com/spain/technet/productos/iis/default.mspx. http://www.microsoft.com/spain/technet/productos/iis/default.mspx 2009 [LHTT09] Lighttpd.http://www.lighttpd.net/ http://www.lighttpd.net/.2009 http://www.forosdelweb.com [LSOF09]: Tabla comparativa de licencias. http://www.forosdelweb.com.2009 [MIME09]: Multipurpose Internet Mail Extensions. Extensions http://www.faqs.org/rfcs/rfc2045.html http://www.faqs.org/rfcs/rfc2045.html.2009 [MOPL09]: MPL. http://www.mozilla.org/MPL/.2009 http://www.mozilla.org/MPL/ [MRBS09]: MRBS. http://sourceforge.net/projects/mrbs/.2009 ht http://www.hughes.com.au/ [MSQL09]: MSQL. http://www.hughes.com.au/.2009
119
Referencias
[OSI 09]: Open Source Initiative. http://www.opensource.org/.2009 .2009 [PHPM09]: Phpmyadmin . http://www.phpmyadmin.net/.2009 [PSQL09] PSQL: http://www.postgresql.org.2009 http://www.postgresql.org [RESER09]: Formulario de reservas de aulas del campus de Getafe. http://portal.uc3m.es/portal/page/portal/informatica/Aulas http://portal.uc3m.es/portal/page/portal/informatica/Aulas.2009 http://es.wikipedia.org/wiki/Software_libre .2009 [SOFT09]: Web del documento :http://es.wikipedia.org/wiki/Software_libre [THTT09]: Thttpd . http://acme.com/software/thttpd/.2009 [TRA 09]:Transacciones.http:/www.wikipetia/transaccion/.2009 Transacciones. [WEBC09]: Webcalendar. ebcalendar. http://sourceforge.net/projects/webcalendar/.2009 http://sourceforge.net/projects/webcalendar/ [WIKI09]: Wikipedia. http://es.wikipedia.org/wiki/PHP. 2009 [XAMP09]: Xampp. http://www.apachefriends.org/es/xampp.html.2009 http://www.apachefriends.org/es/xampp.html.2009
120