UNIVERSIDAD CENTROAMERICANA FACULTAD DE CIENCIAS TECNOLOGIA Y AMBIENTE DEPARTAMENTO DE DESARROLLO TECNOLOGICO Construcción del sitio web de la Dirección de Registro y Control Académico de la Universidad Centroamericana. Monografía para obtener el título de Ingeniero(a) en Sistemas y Tecnologías de la Información Concentración: Redes y Comunicaciones Autores: Br. Pedro Pablo Romero Santana (2007930082) Br. Germán Danilo Vásquez Hernández (2007930129) Tutor: Msc. Gerald Sánchez Managua, Nicaragua Febrero, 2012 PÁGINA DE ACEPTACIÒN Esta Monografía fue aprobada por el tribunal examinador de la Facultad de Ciencia, Tecnología y Ambiente de la Universidad Centroamericana como requisito para optar al título de Ingeniería en Sistemas y tecnologías de la información. Msc. Mauricio Antonio García Sotelo ------------------------------------------------Presidente del Tribunal Lic. Carlos Iván Argüello Martínez ---------------------------------------------Secretaria Ing. Gerald Alfredo Sánchez Pineda -----------------------------------------------Tutor Br. Romero Santana Pedro Pablo Br. Vásquez Hernández Germán Danilo ---------------------------------------------- ---------------------------------------------------- Egresado Egresado AGRADECIMIENTO Agradezco a Dios por siempre guiar mis pasos, porque a pesar de las dificultades siempre pude salir adelante, con una visión positiva de la vida. También agradezco a la compañía de Jesús por brindarme su apoyo y confianza para poder cumplir mis deseos de superación. Agradezco a las instancias de la UCA (Dirección de Registro y Control Académico / Msc. María Auxiliadora - Oficina de Coordinación y Desarrollo Web / Lic. Marcelo Martínez Vallecillo) por el infinito apoyo que nos brindaron para la ejecución de este proyecto. Finalmente agradezco a nuestro tutor por poner a nuestra disposición su amplia experiencia. Pedro Pablo Romero Santana Agradezco a Dios y a mis padres que son el soporte y la razón de ser de mi vida. Agradezco el apoyo que ellos me brindan para ser una persona con valores y criterios bien definidos. También agradezco a nuestro tutor Gerald Sánchez por la ayuda brindada, la flexibilidad de horarios y total disponibilidad que me han permitido mantenerme en continuo contacto para poder realizar este proyecto y compaginarlo con mi vida laboral. Finalmente al Ing. Carlos Leal Saballos que nos encamino en el desarrollo de esta monografía. Germán Danilo Vásquez Hernández CONTENIDO I. INTRODUCCIÓN II. OBJETIVO III. MARCO TEORICO WEB CMS JOOMLA LENGUAJE PHP MySQL DOMINIO Y ALOJAMIENTO IV. V. METODOLOGÍA DESARROLLO ETAPA 1: CONSTRUCCIÓN DEL SITIO WEB ETAPA 2: DIAGRAMA DE CASOS DE USO ETAPA 3: DIAGRAMAS DE COLABORACIÓN ETAPA 4: FICHAS DE CASOS DE USO ETAPA 5: DIAGRAMA DE ESTADOS ETAPA 6: DIAGRAMA DE COMPONENTE ETAPA 7: DIAGRAMA LÓGICO DE LA BASES DE DATOS VI. CONCLUSIÓN VII. RECOMENDACIONES VIII. BIBLIOGRAFIA IX. ANEXOS LISTA DE FIGURAS Figura V.1. Directorios del servidor local Figura V.2. Interfaz de Administración para la Base de Datos Figura V.3. Entorno de Instalación de JOOMLA Figura V.4. Comprobación de Instalación y Actualización. Figura V.5. Acceso Entorno administrador. Figura V.6. Posiciones Disponibles en la Plantilla Figura V.7. Esquema de Posiciones Utilizadas Figura V.8. Propuesta de Diseño Figura V.9 Interfaz demo de administración de servicios web en hostgaror Figura V.10. Entorno de Administración de Extensiones. Figura V.11. Entorno de Administración de la barra wibiya Figura V.12. Entorno de Administración de Calendario de Evento Figura V.13. Entorno de Administración de Chat en Línea GLOSARIO Acunetix: es un escáner de vulnerabilidades en servidores web como SQL injection, Xss y otras más. Apache: servidor de páginas web. Hoy por hoy líder del mercado de servidores, por delante de soluciones propietarias. Balanceo de carga: técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de más de una unidad de procesamiento para realizar labores útiles. Benchmarking: es un anglicismo que en las ciencias de la administración de empresas, puede definirse como un proceso sistemático y continuo para evaluar comparativamente los productos, servicios y procesos de trabajo en organizaciones. Componentes: son pequeñas aplicaciones independientes entre sí que gestionan la información dentro de Joomla. Los componentes añaden distintas funcionalidades a Joomla y lo convierten en mucho más que una web de artículos o noticias. Directorios: es un contenedor virtual en el que se almacenan una agrupación de archivos de datos y otros subdirectorios, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario. Dominio o nombre de dominio: es el nombre que identifica un sitio web. Cada dominio tiene que ser único en Internet. Por ejemplo, "www.uca.edu.ni " es el nombre de dominio de la página web de la Universidad Centroamericana. Un solo servidor web puede servir múltiples páginas de múltiples dominios, pero un dominio sólo puede apuntar a un servidor. Escritorios virtuales: una de las herramientas más interesantes que nos ofrece la web 2.0 son los escritorios virtuales. En esencia se trata de una página de inicio para el navegador, configurable y a partir de la cual podemos iniciar múltiples tareas que realizamos con frecuencia delante de nuestro ordenador. FTP (Protocolo de Transferencia de Archivos): en informática, es un protocolo de red para la transferencia entre sistemas conectados a una red TCP (Transmisión Control Protocolo), basado en la arquitectura cliente-servidor. GPL: (Licencia Pública General). Creada por la Free Software Foundation y orientada principalmente a los términos de distribución, modificación y uso de software libre. GTmetrix: es un servicio web que te puede ser de gran ayuda para detectar los aspectos que disminuyen en tiempo de carga de tu web. HTML: siglas de HyperText Markup Language («lenguaje de marcado de hipertexto»), es el lenguaje de marcado predominante para la elaboración de páginas web. Malware: es un tipo de software que tiene como objetivo infiltrarse o dañar una computadora sin el consentimiento de su propietario. Módulos: es un software que agrupa un conjunto de subprogramas y estructuras de datos. Los módulos son unidades que pueden ser compiladas por separado y los hace reusables y permite que múltiples programadores trabajen en diferentes módulos en forma simultánea, produciendo ahorro en los tiempos de desarrollo. OpenSource: se define por la licencia que lo acompaña, que garantiza a cualquier persona el derecho de usar, modificar y redistribuir el código libremente. PhpMyAdmin: es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios y exportar datos en varios formatos. Plugins: son extensiones que realizan dentro de Joomla! una amplia variedad de funciones relacionadas fundamentalmente con la autenticación de usuarios, el funcionamiento del buscador interno o con la edición de contenidos. Un ejemplo es el editor Wysiwyg TinyMCE con el que podemos editar contenidos desde un entorno más amigable o el plugin Pagebreak que nos permite paginar los artículos. SaaS: es un modelo de distribución de software donde el software y los datos que maneja se alojan en servidores de la compañía de tecnologías de información y comunicación (TIC) y se accede con un navegador web a través de internet. SGBDR (Sistema de Gestión de Bases de Datos Relacionales): permite el almacenamiento de datos en tablas formadas por filas y columnas, y su posterior consulta y mantenimiento mediante un sencillo y potente lenguaje de consulta estructurado (SQL). Slideshow: Una colección de páginas inteligentes en secuencia, que contienen texto e imágenes para presentar a una audiencia. URL (localizador de recursos uniforme): es la cadena de caracteres con la cual se asigna una dirección única a cada uno de los recursos de información disponibles en la Internet. Virtual: es un sistema tecnológico, basado en el empleo de ordenadores y otros dispositivos, cuyo fin es producir una apariencia de realidad que permita al usuario tener la sensación de estar presente en ella. Wibiya: es una barra de herramienta que se implementa a pie de página en páginas web y blogs de forma elegante y sencilla. En ella podemos incluir datos sobre nuestra cuenta Twitter, Facebook, vídeos Youtube, etc. XAMPP: es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. I. INTRODUCCIÓN Es evidente, que en el mundo la forma de propagar la información ha cambiado y el cambio ha sido radical, con la reformulación de los nuevos medios de divulgación de la información. Estos cambios están obligando a las empresas a buscar medios competitivos; auxiliándose de las TI (Tecnología de la Información) utilizando herramientas tecnológicas, que contribuyan a alcanzar sus objetivos. La DRCA (Dirección de Registro y Control Académico) de la Universidad Centroamericana UCA, es el área encargada de emitir: Títulos, Certificados de Notas y Programas de Estudio, brindando su atención a un promedio de 8550 estudiantes de pregrado y a 700 estudiantes de postgrado. La falta de disponibilidad de la información las 24 horas, los 365 días del año, es una de las causa que permite que los usuarios finales (nacionales - extranjeros) tengan que visitar físicamente las instalaciones de DRCA en horarios de oficina para obtener algún tipo de información. Además realizan costosas llamadas telefónicas para aclarar cualquier tipo de duda. Para superar los inconvenientes antes mencionados, se pretende desarrollar un sitio web, con la implementación de un CMS (sistema de gestión de contenido) bajo la licencia GPL. Además se pretende incorporar un sinnúmero de funcionalidades tales como: (Formularios en Línea, Sistema de Chat, Galería de Imágenes - Videos, Escritorios Virtuales a Redes Sociales Facebook - Twitter, Encriptación de URL, Calendario de Eventos, Slideshow Noticias, Animaciones SWF Personalizadas, Buscador de contenido interno y controles de descargas. De esta manera se fortalecerá la funcionalidad del sitio web, garantizándole un mejor servicio a la comunidad estudiantil. II. OBJETIVO Objetivo General Implementar un sistema de gestión de contenido web que permita administrar la información de carácter pública producida por la DRCA (Dirección de Registro y Control Académico) de la Universidad Centroamericana UCA. Objetivos Específicos Identificar los requerimientos necesarios para el desarrollo del sitio web, basados en las necesidades del área. Integrar módulos, componentes, plugins y aplicaciones de terceros que fortalezcan la funcionalidad del sitio web. Implementar mecanismos de seguridad en busca de garantizar la confiabilidad en la navegación y administración del sitio web. Realizar pruebas que permitan monitorear el comportamiento del sitio web. III. MARCO TEORICO WEB (Milenium, 2011). Plantea que un sitio web es conjunto de archivos electrónicos y páginas web referentes a un tema en particular, que incluye una página inicial de bienvenida, generalmente denominada home page, con un nombre de dominio y dirección en internet específicos. Los sitios web pueden ser de diversos géneros, destacando los sitios de negocios, servicio, comercio electrónico en línea, imagen corporativa, entretenimiento y sitios informativos. (Conectu, 2004), plantea que muchos objetivos se puede lograr con el hecho de poseer un sitio web como: Alcanzar nuevas audiencias de público (nacionalmente - internacionalmente). Atraer prospectos y clientes. Vender productos y servicios. Dar mayor satisfacción al cliente a través de un mejor servicio, información y soporte, además de establecer una relación empresa-usuario más estrecha. Proporcionar información precisa de lo que la gente busca en el web. Recibir retroalimentación de los usuarios y poder aplicarla en el mejoramiento de los servicios o productos pues se realiza de forma anónima. Automatizar procesos de negocios. Incrementar la visibilidad y la credibilidad de una empresa. Proporcionar información inmediata sobre productos y servicios Reducir el ciclo de ventas ya que el cliente cuenta con información previa de la empresa dada a través del sitio web, eventualmente, esto le hace confiar más. Facilitar a los clientes existentes a contactarse más fácilmente. Atraer negocios y prospectos de diferentes ciudades y países. (Este beneficio quizá sea una de las ventajas más difundida sobre sitios Web y una de las menos aprovechadas por las empresas). CMS Huerta García y Cristina en su proyecto final de carrera en la Universidad Rey Juan Carlos de Madrid, España (Huerta García, 2010), define: CMS (Content Management System), o sistema de gestión de contenidos, "es un software que permite la creación y administración de contenidos (o información), principalmente en la web". Consiste en una interfaz unos menús y botones para manejar el sistema que controla una o varias bases de datos donde se almacena el contenido de la información o datos del sitio. El sistema permite manejar de manera independiente el contenido y diseño. Así, es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo, además de permitir fácilmente y de manera controlada la publicación en el sitio a varios editores o autores. La empresa Wime (Copyright © Wime, 2011) líderes en el desarrollo de aplicaciones y servicios basados en web, ubicada en Querétaro - México, Destaca algunas de las ventajas de utilizar sistemas de gestión de contenido (CMS). Permite que una persona sin conocimientos técnicos maneje el contenido del sitio. Por el contrario, cuando se crea un sitio sin ayuda de un CMS nos enfrentamos con la dificultad de crear una herramienta que permita modificar la información de éste de manera sencilla porque en la mayoría de los casos; esta acción involucra entender el código fuente para poder realizar los cambios. Da la posibilidad de que un grupo de personas colabore con el manejo del contenido. Algunos sitios tienen una cantidad de información muy grande, por lo cual el manejo de ésta requiere de un equipo de trabajo que pueda trabajar de manera colaborativa y sencilla. Controla el acceso a los datos de acuerdo a los tipos de usuarios. Esta característica es de gran utilidad cuando diferentes personas o departamentos están encargados de darle mantenimiento al contenido de diferentes secciones del sitio. Plugins. Un CMS generalmente cuenta con la posibilidad de utilizar plugins para aumentar la funcionalidad del sitio sin tener que “reinventar la rueda”. Los plugins normalmente son bastante flexibles y se pueden configurar para adaptarlos a necesidades específicas. Escalabilidad. Esta propiedad permite que el sitio permanezca en constante crecimiento, aumentando y mejorando su funcionalidad, sin la necesidad de realizar el trabajo de nuevo y manteniendo la estabilidad del sitio. Separa el contenido de la apariencia. Esta separación permite que se hagan rediseños tanto de estructura como de interfaz gráfica sin que la información que se encuentra en ésta se vea afectada. Tiempo de desarrollo. Un CMS, sobre todo los especializados, están pensados en facilitar tareas comunes, por lo cual el tiempo que se invierte en realizar estas tareas es mucho menor y se ve reflejado en el tiempo total de desarrollo del sitio. Comunidad. Un CMS tiene toda una comunidad detrás en la cual te puedes apoyar para resolver dudas y problemas que puedas tener en el desarrollo. JOOMLA (Barriocanal, 2009) expone el significado de Joomla, es una aplicación Open Source o de código abierto programada en lenguaje PHP bajo una licencia GPL y que utiliza una base de datos MySQL para almacenar el contenido y los parámetros de configuración del sitio. Además de libre, Joomla! es gratuito y no tendrás que pagar nada por usar este CMS para construir tu web. Joomla! se basa en Mambo, otro CMS iniciado por la empresa australiana Miro, que tenía además la propiedad de la marca. El proyecto Joomla surge en 2005 cuando Miro decidió crear una Fundación que, a juicio de una buena parte de los desarrolladores de Mambo, se apartaba bastante de la filosofía del software libre. Estos desarrolladores se agruparon en torno al movimiento Open Source Matters que poco después daría lugar a Joomla!, una denominación que procede de una palabra de la lengua swahili que significa "todos juntos". LENGUAJE PHP Ángel Cobo, Patricia Gómez, Daniel Pérez y Rocío Rocha en su libro "Tecnologías para el desarrollo de sitios web" (Ángel Cobo, 2005) definen el termino PHP como un lenguaje interpretado del lado del servidor que se caracteriza por su potencia, versatilidad, robustez y modularidad. Los programas escritos en PHP son embebidos directamente en el código HTML y ejecutados por el servidor web a través de un intérprete antes de transferir al cliente que lo ha solicitado un resultado en forma de código HTML puro. Al ser un lenguaje que sigue la corriente open source, tanto el intérprete como su código fuente son totalmente accesibles de forma gratuita en la red. En concreto, la dirección oficial en la que puede descargarse. http://www.php.net/ (Ángel Cobo, 2005). Por su flexibilidad, PHP resulta un lenguaje muy sencillo de aprender; especialmente para programadores familiarizados con lenguajes como C, Perl o Java, debido a las similitudes de sintaxis entre ellos. Por supuesto, es un lenguaje multiplataforma; los programas funcionan igual sobre diferentes plataformas, trabajando sobre la mayoría de servidores web y estando preparado para interactuar con más de 20 tipos de bases de datos. MySQL Cyril Thibaud escritora del libro "MySQL 5" (Thibaud, 2006), define MySQL como un sistema de administración de bases de datos relacionales (SGBDR) rápido, robusto y fácil de usar. Se adapta bien a la administración de datos en un entorno de red, especialmente en arquitecturas cliente / servidor. Se proporciona con muchas herramientas y es compatible con muchos lenguajes de programación. Es el más célebre SGBDR del mundo Open Source, en particular gracias a su compatibilidad con el servidor de páginas Web Apache y el lenguaje de páginas Web dinámicas PHP. DOMINIO Y ALOJAMIENTO Según William Wilfrido Maila Nacimba y Marco Javier Loachamín Cruz, desarrolladores web de la escuela politécnica del ejército de Ecuador (William Wilfrido Maila Nacimba, 2009), definen dos conceptos fundamentales para poner en línea un sitio web. Dominio: es el nombre que se le asigna al hosting para que cualquier usuario pueda tener acceso a él. Se escribe con ciertas normas. Triple w, nombre y terminación de dominio. Por ejemplo: http://www.algo.com/. .com, .net, .org son los sufijos más conocidos y baratos. El dominio es una asociación a la IP del hosting con el cual cualquier navegador apunta al hosting para ver los archivos que este tiene. Hosting: así como usted guarda la información en el disco duro de su computador, se requiere guardar los contenidos de su sitio web en un espacio que sea accesible mundialmente a través de internet, es decir, que todos puedan ver los contenidos de su página. Hosting es el alquiler virtual de un espacio para publicar su página Web. Al contratar un Hosting, usted tendrá un espacio que le permitirá almacenar información, imágenes, vídeo, o cualquier contenido accesible vía Web. Existen diversas empresas que entregan este servicio, y su valor dependerá de las funciones adicionales que contenga, tales como: panel de control, ejecución de tareas automáticas, cuentas de correo electrónico, capacidad de almacenamiento, entre otros. Alojamiento web en la Nube Los dirigentes de cloudhost (yobidu, 2011), definen que el alojamiento web en la nube o Cloud hosting es el futuro del alojamiento web. La nube la forman varios servidores vinculados para formar una sola plataforma. Debido a que hay una gran cantidad de servidores trabajando en conjunto en lugar de uno solo, se balancea la carga, aumenta la capacidad, y se reduce al mínimo la probabilidad de fallo. (yobidu, 2011). A diferencia del alojamiento web en servidores compartidos, en el que los datos se guardan en un servidor único, el alojamiento web en la nube se asienta sobre una red de servidores, de esta forma si un servidor falla, o si el disco duro de un servidor se avería, el sitio no se ve afectado, porque sus datos se reflejan en otros servidores, se "balancea" su carga de trabajo entre la "nube" de servidores y la información se replica en otros servidores, por lo que el usuario no experimenta cortes en el acceso a las páginas web. Esto hace que en uptime (tiempo que la web está accesible para los usuarios ) sea virtualmente del 100%. El uptime real de un servidor cloud está en torno al 99.99%. El hecho de abstraer la información de la parte física es lo que ha dado nombre a este tipo de alojamiento web en la nube (del inglés cloud hosting) ya que los datos se encuentran respaldados por varios servidores entrelazados y son más inmunes a las averías de un servidor. (yobidu, 2011). Otra ventaja de los servidores cloud es su escalabilidad, si en un momento una web necesita más recursos por un aumento de las visitas, no se ve limitado por su hardware y puede utilizar los recursos de la nube de servidores. Estas ventajas han convertido el alojamiento web en la nube muy popular entre los usuarios que utilizan aplicaciones en internet. También es un alojamiento muy económico y muy fiable. Además es adecuado para todo tipo de sitios y no sólo para grandes proyectos. Los beneficios de la nube frente a un sistema tradicional de alojamiento web Todo Internet es una nube. Los servicios que utilizamos todos los días, como Google, Amazon, Apple, Yahoo, etc .. son servicios residentes en una nube. Las aplicaciones de software en la nube son los programas más avanzados. A menudo usamos el término SaaS (Software as a Service) para identificar una aplicación que funciona en la nube. La aplicación sólo se utiliza a través de un navegador. Desde el punto de vista de los usuarios, el software es transparente. El usuario no tiene que preocuparse de donde está instalado el software ni donde se ejecuta. La disponibilidad de servicio es prácticamente completa. Los costos son asociados con el uso real. Los requisitos de TI prácticamente no existen. Multiusuario, proceso que permite utilizar el software de servidor de múltiples usuarios simultáneamente. Coste cero para la compra de más recursos de hardware. Dispone de procesos automatizados de copia de seguridad y recuperación de desastres. Virtualización automática y segura en la nube. No hay licencias de software. Aplicaciones y actualizaciones completamente transparente al usuario No hay hardware físico para gestionar y realizar el seguimiento. Posibilidad de añadir capacidad de TI que necesitan. Dificultad para un hacker para corromper a una aplicación en la nube. Arie Simchis, gerente de ventas Radware (Cordero, 2011), aporta que la entrega de aplicaciones mediante la web requiere de avanzados sistemas de balanceo de carga y de protección contra ataques sofisticado y desconocidos. Cuando se ingresa a un aplicación en la nube de computación o un sitio web, sin saberlo se accede al equipo que en ese momento tiene disponibilidad. La selección sobre la cual el equipo será utilizado y puede brindar el servicio se realiza con tecnología de balanceo carga. Adicionalmente, se requiere protección completa, que hoy dada la sofisticación y complejidad de los malware en internet, incluso debe dar blindaje contra ataques desconocido más sofisticados y difíciles de detectar por sistemas de seguridad tradicionales. IV. METODOLOGÍA Para la construcción del Sitio web de la DRCA de la Universidad Centroamericana UCA se consideró utilizar la "Metodología para Creación de Sitios Web". Una metodología híbrida producto de una recopilación bibliográfica basada principalmente en las fases para el desarrollo de sitios web. Creada por la Ingeniera Dely Maybel Alvarez y un grupo de técnicos del Instituto Universitario de Tecnología de Valencia (IUTVAL). La "Metodología para creación de sitios web" comprende las siguientes fases : análisis, planificación, contenido, diseño, programación, testeo, mercado y publicidad. Estas fases antes mencionadas se retomaron en el desarrollo del proyecto. FASES DEL PROYECTO 1. Fase de Análisis 1.1 Análisis de Requerimiento Para potencializar esta fase se planificaron reuniones periódicas con la responsable de la DRCA, Msc. María Auxiliadora Saavedra. Las reuniones se realizaron los días miércoles a las 4:00 pm. Comenzando su ejecución el día 17 de agosto y finalizando las mismas hasta que el proyecto esté culminado. Si se presentó alguna dificultad que impidiera la realización, cualquiera de las partes notificó previamente su inasistencia. En estas reuniones se abarcaron aspectos como: análisis de necesidades, entrega de información, presentación y justificación de alternativas tecnológicas, solicitudes de recursos, visualización de avances en el desarrollo. 1.2 Definición de Audiencia El impacto directo de este tipo de proyecto según las fuentes consultadas en la DCI (Dirección de Comunicaciones Institucionales) de la Universidad Centroamericana UCA. Beneficiará positivamente a toda la comunidad estudiantil. Se contabiliza 8550 estudiantes de pregrado y a 700 estudiantes de posgrado. 1.3 Expectativas de la Organización Para dejar plasmado en el documento monográfico las expectativas de la DRCA se solicitó una carta emitida por la directora del área, Msc. María Auxiliadora Saavedra. Ver ANEXO 1 - Carta de Aprobación de Ejecución de Proyecto. 2. Fase de Planificación 2.1 Selección de Software Se utilizó como sistema de gestión de contenido JOOMLA bajo licencia GPL por ser uno de los CMS más potente a nivel mundial. En la actualidad la UCA en sus diversos sitios web utiliza mayoritariamente esta distribución de CMS Open Source. Empresas e instituciones prestigiosas como: Naciones Unidas Centro Regional de Información, Harvard Graduate School of Art y las Ciencias, Olympus, Porsche Brasil, utilizan este tipo de sistemas para administrar su contenido web. Especificaciones Técnicas: Sistema de Gestión de Contenido (CMS): JOOMLA 1.7.3 Tipo de Licencia: GPL Código Abierto: Si Lenguaje de Programación: PHP Base de Datos: MySQL Escalabilidad: Si Disponibilidad de Actualizaciones: Si Entorno de Administración: Si 2.2 Selección del Hardware Para la construcción del sitio web de la DRCA, la Universidad Centroamericana con apoyo de sus dos áreas especializadas en el tema; la Oficina de Coordinación y Desarrollo Web y Dirección de Informática, han puesto a nuestra disposición los recursos, accesos e información necesaria para la ejecución del proyecto. Se utilizó la misma infraestructura de servidores (DNS, WEB) que en la actualidad posee la UCA. 2.2.1 Servidor de Alojamiento Para obtener información detallada sobre el servidor de alojamiento, con previa autorización nos dirigimos a la dirección de comunicaciones institucionales a sostener una reunión con el coordinador de desarrollo web. Es importante mencionar que el servidor de alojamiento Web está físicamente en Estados Unidos. Toda la administración es realizada remotamente vía C-Panel. Por mantener este servicio en la nube se paga una cuota anual. Este servicio de alojamiento cuenta con las siguientes características: TECNICAS: Proveedor de Servicio: Hostgator Sistema Operativo: Centos 5.7 Enterprise Linux x86 Base de Datos: MySQL 5.1.56 Procesador: 8 procesadores Intel Xeon de 2.0 GHz Disco Duro: 200 GB Ancho de Banda: 1400 GB / Transferencia 100 Mb por segundo Soporte de IPv6: SI Cache: 6 MB SERVICIOS: Soporte del Servicio: 24 Horas Certificados de Normas de Calidad: ISO 27001, SAS-70, HIPAA y PCI-DSS 2.2.2 Servidor DNS Para obtener información detallada sobre el Servidor de Nombre de Dominios (DNS) con previa autorización nos dirigimos a la dirección de informática a sostener una reunión con la encargada de administrar el servidor DNS ubicado en el departamento de redes. Servidor DNS Primario Especificaciones Técnicas Modelo: Dell PowerEdge 2300 Sistema Operativo: Windows Server 2003 R2 - Standard Edition Procesador: Inter (R) Pentium III, 548 MHz Memoria RAM: 1 GB Disco Duro: 10 GB Manejo de Zona Inversa: Si Soporte de IPv6: NO Firewall: ASTARO Servidor DNS Alternativo Trabaja alternamente con el servidor de nombre de dominio primario como servidor espejo. Es decir si ocurre un error en el servidor principal entra en funcionamiento automática mente el servidor alternativo con la misma configuración. Especificaciones Técnicas Modelo: HP Xw4400 Workstation Sistema Operativo: Windows Server 2003 R2 - Standard Edition Procesador: Intel Core 2 Duo 2.66 GHz Memoria RAM: 4 GB Disco Duro: 250 GB Manejo de Zona Inversa: SI Soporte de IPv6: NO Firewall: ASTARO 2.3 Benchmarking Se procedió a explorar los diversos sitios web de universidades en el mundo que poseen áreas de registro y control académico, seleccionando los más destacados. 1. Universidad de Santiago de Chile I (Chile, 2011) 2. Universidad de Pamplona / Colombia I (Pamplona) 3. Universidad del Rosario - Colombia I (Universidad del Rosario) 4. Pontificia Universidad Javeriana / Bogotá - Colombia I (Pontificia Universidad Javeriana) La selección se realizó evaluando los siguientes criterios. ¿Cuáles son los objetivos del sitio? - ¿Es un sitio web interesante? - ¿Como son los gráficos? - ¿Refleja el género de la empresa o compañía? - ¿Es de fácil uso y es cómodo navegar en él? - ¿El contenido está estructurado de manera lógica? Este tipo de análisis nos apoyó a tomar decisiones acertadas al momento de seleccionar las funcionalidades y contenido que se integró en el sitio web de la DRCA. 2.4 Estructura de Navegación La estructura que se implementará es la estructura de árbol o jerárquica formada por nodos conectados por ramas donde cada rama conecta un nodo con otro de nivel inferior. Hay un único nodo, llamado raíz, que no depende de ningún otro, y todos los nodos debajo de la raíz dependen directamente de otro nodo. 3. Fase de Contenido La información detallada que se integró al sitio web fueron proporcionada directamente por el personal interno de la DRCA. Tomando como referencia las normativa de procesos estudiantiles autorizada por vice rectoría académica. Para identificar cuidadosamente los pasos involucrados en los procesos de Pre matrícula, Matrícula, Solicitud de Certificados de: Calificaciones, Egresado/a, Estudiante Activo/a, Título en Trámite, Graduado/a, Aclaración de APR, Aclaración de CONV, Acreditación, Notas Cuatrimestrales, Solo auténtica, Programas de Estudio, Plan de Estudios, Trámite de Título, Trámite de Diploma de Mención, Reposición de Título, Reposición de Diploma y Certificación Título. Se coordinaron reuniones periódicas durante el proceso de desarrollo con los responsables de ejecutar los procesos antes mencionados con el objetivo de recolectar la información y plasmarla detalladamente en el sitio web. Con este tipo de información los usuarios finales obtendrán respuestas a interrogantes como: donde ir, que documentos presentará, costos y tiempo de ejecución del proceso. La información que en el futuro se desee publicar en el sitio web será administrada por un trabajador interno de planta seleccionado por las autoridades de la DRCA, la cual estará en la capacidad de administrar en su totalidad el sitio web. 4. Fase de Diseño Esta es una de las etapas fundamental en el desarrollo del sitio Web, porque lo que se diseño es la imagen de la DRCA ante el mundo. En la fase de diseño se planificaron reuniones periódicas con el coordinador de la OCDW (Oficina de Coordinación y Desarrollo Web) donde se le mostrarán los avances realizados si cumplían con los estándares de diseño. Basándonos previamente en las normativas establecidas por la UCA para la elaboración de sitios web. Se seleccionó y modificó la plantilla que cumplió con las exigencias del área. A continuación explicaremos los elementos de más relevancia que se planificaron integrar en el diseño del sitio web. Logo: se integró el logo tipo de la Universidad Centroamericana UCA en la parte superior izquierda con las dimensiones reglamentarias. Colores: se utilizó los colores institucionales de la Universidad Centroamericana UCA. Menú: se integraron referencias y sud referencias del contenido, organizándolo de manera jerárquica. Slideshow Panorámico: se presentarán imágenes con información publicitaria de las eventualidades que acontecerán en la DRCA. Botones: se diseño e íntegro iconos ilustrativos con referencia a enlaces. 5. Fase de Programación En esta fase se mencionarán las herramientas, base de datos e interfaz de usuario para el desarrollo del sitio Web. Cada CMS dispone de una base de datos estandarizada. (Ver en Anexo 3 / Página 103 - Diagrama la base de datos de Joomla), debido que es un manejador de contenido Open Source, su Base de Datos requiere de mayor flexibilidad, para posteriormente integrarle extensiones que son generadas por una comunidad de desarrolladores que aportan a esta comunidad Open Source. En este proyecto se procedió a crear una base de datos utilizando MySQL 5.1.56, la cual es administrada con la herramienta phpMyAdmin 3.4.5 que permite administrar la interfaz de usuario. Con dicha herramienta se creó la base de datos, usuario asociado y se definieron los permisos y contraseña. Posteriormente se procedió a inicializar el proceso de instalación del CMS joomla, enlazando los atributos que anteriormente se definieron. Luego de haber realizado las pruebas locales del CMS procedimos desde la interfaz de administración del joomla, a integrar y configurar todas las funcionalidades y extensiones requeridas por la DRCA. 6. Fase de Testeo Para el correcto funcionamiento del sitio Web, se ejecutaron pruebas con el propósito de detectar fallas, debilidades y errores; que se produzcan en el desarrollo del proyecto. Posteriormente se realizó su solución. Instalación en servidor local: se instalo el software xampp-win32-1.7.3, para comprobar el correcto funcionamientos de los directorios del CMS y de las funcionalidades que se integraron. Todo esto para garantizar el buen funcionamiento del sitio web antes de ponerlo en línea. Comprobación en Navegadores: se puso a prueba el sitio Web en los diferentes navegadores: (Microsoft Explorer, Mozilla Firefox, Opera, Google Chrome). Para visualizar su correcto desempeño. Detección de Vínculos Rotos: se analizó con la herramienta ACUNETIX cada uno de los enlaces disponible en el sitio web para garantizar el buen funcionamiento de todos los hipervínculos. Comprobación de Tiempos de Carga: uno de los puntos clave para el éxito de un sitio es su rapidez de carga. Para analizar este punto muy importante nos auxiliáremos de la herramienta en línea GTmetriX, la cual nos genero información de velocidad de la página, que elementos están fallando y qué hacer para corregirlo. 7. Fase de Mercadeo y Publicidad Para fortalecer las estrategias a utilizar para mercadear y dar a conocer el sitio Web, se planteó a las autoridades de la DRCA a manera de propuesta las siguientes acciones: Redes Sociales: promocionar el sitio web en las redes sociales (Facebook, Twitter) de la Universidad Centroamericana UCA. MUPI (Mueble Urbano para la Presentación de Información): colocar banner en los mupis de la Universidad Centroamericana UCA. Ventana Emergente: integrar una imagen promocional emergente que se ejecute automáticamente al ingresar al portal web de la UCA, que permita al usuario dar clic y sea re direccionado al sitio web de la DRCA. Entrega de volantes: entrega de brochure con información promocional del sitio web, en los procesos de Pre matrícula y Matrículas. Video Promocional: producir un video promocional que represente las funcionalidades del sitio web y presentarlo en la pantalla panorámica de la Biblioteca José Coronel Urtecho y en los canales sociales (youtube). Difundir Comunicados: emitir comunicados formales a las diversas autoridades de cada facultad, para que sea difundido a toda la comunidad estudiantil. Todas estas eventualidades pueden contribuir a popularizar el sitio web. Es importante mencionar que para proponer las estrategias antes mencionadas sostuvimos una reunión con las autoridades de la oficina de mercadeo y publicidad de la Universidad Centroamericana UCA. V. DESARROLLO ETAPA 1: CONSTRUCCIÓN DEL SITIO WEB Para el proceso de desarrollo, primeramente se planificó montar la página web en un servidor local XAMPP 1.7.3 versión ZIP, luego de realizar avances en el diseño se procederá a alojar la página web en el servidor web de la Universidad Centroamericana UCA. Instalación de Servidor Local Figura V.1. Directorios del servidor local Los servicios básicos del apache y el MySQL fueron inicializados desde el panel de control del servidor local. Elaboración de la Base de Datos Para la elaboración de la bases de datos procedimos a utilizar la herramienta phpmyadmin. Ingresando desde el URL del navegador la dirección: http://localhost/phpmyadmin/ Figura V.2. Interfaz de Administración para la Base de Datos En la interfaz que se muestra en la figura V.2 se realizaron las siguientes acciones: Creamos la base de datos con el nombre < nombredebase > definiendo el cotejamiento de las conexiones MySQL como UTF8_general_ci. Agregamos un nuevo usuario definiendo el usuario y contraseña < nombredeusuario >, < contraseñadeusuario >, asignándole los siguientes privilegios. Datos: SELECT, INSERT, UPDATE, DELETE, FILE Estructura: CREATE, ALTER, INDEX, DROP, CREATE TEMPORARY TABLES, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, CREATE VIEW, EVENT, TRIGGER Administración: GRANT, SUPER, PROCESS, RELOAD, SHUTDOWN, SHOW DATABASES, LOCK TABLES, REFERENCES, REPLICATION CLIENT, REPLICATION SLAVE, CREATE USER Instalación de CMS y Plantilla Antes de Inicializar el proceso de instalación procedimos a crear un directorio en la carpeta del servidor local HTDOC, con el nombre original. En el directorio original se integraron los directorios necesarios para la instalación de JOOMLA. Para inicializar el proceso de instalación accedimos el navegador web con la dirección URL: http://localhost/original/. Figura V.3. Entorno de Instalación de JOOMLA En el transcurso de la instalación, se definieron 7 pasos fundamentales: Paso 1. Selección de Idioma. Se seleccionó el idioma que se utilizará para el proceso de instalación. Habilitando la opción de español Paso 2. Comprobaciones Previas. El sistema manejador de contenido verifica automáticamente el soporte de algunos de los elementos. Versión de PHP >= 5.2.4 = Si Soporte de Compresión Zlib = Si Soporte XML = Si Soporte MySQL = Si Mbstring language predeterminado = Si Mbstring overload desactivado = Si Soporte para análisis INI = Si Soporte JSON = Si configuration.php Escribible = Si Paso 3. Términos de Uso de Licencia. Simplemente aceptamos los términos de licencia de uso de joomla. Paso 4. Base de Datos Definimos los datos de acceso a nuestra base de datos MySQL para que puedan acceder a ella los scripts de Joomla!. Para ello definimos los siguientes parámetros: Tipo de base de datos: MySQL. Nombre del Serviror: localhost. Usuario: < nombredeusuario >. Contraseña: < contraseñadeusuario >. Paso 5. Configuración del FTP. Esta pantalla nos permite poner los datos de acceso a una cuenta FTP del servidor donde estamos instalando Joomla, en este proyecto no realizamos configuraciones en este paso. Paso 6. Configuración Principal. Indicamos el título del sitio web, además ingresamos el correo electrónico, usuario y contraseña del administrador para acceder a la administración del CMS. Paso 7. Finalización de Instalación Antes de finalizar la instalación, accedimos al directorio donde está alojado el sitio web y eliminamos el directorio INSTALATION. Posteriormente procedimos a actualizamos la versión de joomla 1.6.1 a la versión 1.7.2, descargando el paquete de actualización desde la página web http://www.joomla.org/ Para visualizar desde el navegador web la correcta instalación y actualización del CMS accedemos a la dirección URL. http://localhost/original/. Figura V.4. Comprobación de Instalación y Actualización Configuración de Plantilla Entorno de Administración Para realizar las labores de desarrollo en el sitio web accederemos a la interfaz de administrador desde la dirección URL http://localhost/original/administrator/. Iniciando sección con el usuario y contraseña que se definió en el paso 7. Figura V.5. Acceso Entorno administrador Cuando trabajamos con plantillas para joomla, necesitamos conocer las posiciones que tienen predefinidas para poder cargar los diferentes módulos que estarán disponibles para la elaboración del sitio web. Antes de planificar los cambios a realzar visualizamos en la figura V.6. Las posiciones disponibles en la plantilla seleccionada. Ingresando desde el URL del navegador http://localhost/original/index.php?tp=1 Figura V.6. Posiciones Disponibles en la Plantilla Estructura de Diseño Para facilitar la descripción de los cambios realizados, puntualizaremos en la siguiente figura, la estructura organizativa del diseño, seguido de la explicación técnica de los cambios realizados. Figura V.7. Esquema de Posiciones Utilizadas Descripciones de Posiciones Utilizadas 1. Logotipo: se descargó el logotipo desde el portal web de la Universidad Centroamericana, en formato PNG con las siguientes dimensiones 135 px de largo y 135 px de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. Al CSS de la plantilla se le asignó la posición del elemento, y se integró el hipervínculo al inicio del sitio. 2. Menú Superior: los elementos que se integrarán al menú superior fueron administrados desde el gestor de menú del CMS en la siguiente ruta: Menús / Gestor de Menú. Integrando los siguientes enlaces Inicio, Facultades, Calendario Académico, Galería, Contáctenos. Se personalizó la barra superior con los colores institucionales de la Universidad Centroamericana, integrándole los siguientes tonos. Celeste (Valor Hexadecimal: 007dc3), Dorado (Valor Hexadecimal: bb8d09). 3. Fondo para Slideshow: se integró una franja de tono Celeste (Valor Hexadecimal: 007dc3), que se muestra como fondo para el slideshow. 4. Slideshow Noticias: se integró un nuevo módulo en la posición SLIDESHOW. El elemento fue gestionado desde el administrador de posiciones del CMS, configurando los siguientes parámetros. Tiempo de transición: 5000 ms Estilo de Transición: Maju Ancho del modulo: 900 px Altura del modulo: 300 px Tipo de Animación: Slideshow Botones de Anterior y Siguiente: Mostrar En el slideshow se presentaran imágenes informativas de los eventos de interés para la comunidad estudiantil 5. Enlace a Servicios en Línea: se diseñó una imagen representativa con las siguientes dimensiones 250 px de largo y 80 de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. Se integró un nuevo modulo de tipo HTML personalizado, en la posición USER1. El elemento fue gestionado desde el administrador del CMS en la siguiente ruta: Extensiones / Gestor de Módulos, El elemento re direccionará a servicios en línea de la Universidad Centroamericana UCA. 6. Enlace a Información de Procesos: se diseñó una imagen representativa con las siguientes dimensiones 250 px de largo y 80 de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. Se integró un nuevo módulo de tipo HTML personalizado, en la posición USER2. El elemento fue gestionado desde el administrador del CMS en la siguiente ruta: Extensiones / Gestor de Módulos. El elemento direccionará a los artículos que contienen información de los diversos procesos que atiende la DRCA. 7. Enlace a Solicitud de Tramite: se diseñó una imagen representativa con las siguientes dimensiones 250 px de largo y 80 de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. Se integró un nuevo modulo de tipo HTML personalizado, en la posición USER3. El elemento fue gestionado desde el administrador del CMS en la siguiente ruta: Extensiones / Gestor de Módulos. El elemento direccionará al formulario en línea donde se realizarán las solicitudes de trámite de los usuarios finales. 8. Enlace a Chat en Línea: se diseñó una imagen representativa con las siguientes dimensiones 250 px de largo y 80 de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. Se integró un nuevo modulo de tipo HTML personalizado, en la posición USER4. El elemento fue gestionado desde el administrador del CMS en la siguiente ruta: Extensiones / Gestor de Módulos. El elemento direccionará hacia el servicio de chat donde se mostraran los operadores disponibles. 9. Banner estático frontal: Se integró un nuevo modulo de tipo HTML personalizado, en la posición USER5. El elemento fue gestionado desde el administrador del CMS en la siguiente ruta: Extensiones / Gestor de Módulos. Se editó e íntegro una imagen representativa con las siguientes dimensiones 630 px de largo y 118 px de alto. Para su posterior almacenamiento en el directorio de imágenes del sitio web de la DRCA. 10. Contenido: Esta posición se predeterminó para mostrar los artículos que el administrador estime como destacados, o que desee visualizar. Configurando los siguientes parámetro. Cantidad de Artículos de Introducción: 5 Cantidad de Artículos después de los de introducción: 3 Cantidad de Columnas: 1 11. Buscador de Contenido Interno: se integró un nuevo modulo de tipo buscar en la posición RIGTH. El elemento fue gestionado desde el administrador de posiciones del CMS, configurando los siguientes parámetros. Etiqueta: Busca... Ancho: 20 Botón de Búsqueda: No Posición del Botón: Derecha Imagen del Botón: No 12. Menú enlace destacados: se integró desde el gestor de menú del CMS un nuevo menú, con el nombre ENLACE DESTACADOS. Además se integró un nuevo modulo de tipo menú en la posición RIGTH2. El cual mostrará los elementos integrados en el menú ENLACES DESTADOS. El menú contiene los siguientes enlaces: Portal UCA, Biblioteca, Pregrado, Posgrado, Ex alumnos UCA, Vicerrectoría Académica, Entorno Virtual de Aprendizaje. 13. Botones Laterales: Se integró un nuevo modulo de tipo HTML personalizado en la posición RIGHT. La posición contiene tres botones con enlace a Buzón de Sugerencias, Horarios de Clase 2012 y Manuales de Usuario. 14. Información Básica: Se integró un modulo de tipo HTML personalizado en la posición USER11. La posición contiene la dirección de la DRCA y los números telefónicos. 15. Enlace Últimas Noticias: se integró un nuevo modulo de tipo HTML personalizado, en la posición USER12. El módulo presentará el titulo de las últimas noticias de la DRCA con sus enlaces correspondientes a la noticia completa. 16. Enlace a Preguntas Frecuentes: se integró un nuevo módulo de tipo HTML personalizado, en la posición USER13. El módulo presentará un listado de las preguntas más frecuentes realizadas por los usuarios finales, con su enlace correspondiente, de las respuestas emitidas por la DRCA. 17. Pie de Página: se modificó la página principal de la plantilla con la herramienta Adobe Dreamweaverd. Integrando la descripción de los derechos de autor. 18. Barra Wibiya: se instalo un nuevo plugin desde el administrador de extensiones del sitio web, el cual en su configuración guarda el enlace al script que pone a nuestra disposición el servicio wibiya. Resultado de Propuesta de Diseño de Plantilla Figura V.8. Propuesta de Diseño Presentación de Propuesta de Diseño Plantilla Es importante mencionar que el diseño que se muestra en la figura V.8 fue presentada a manera de propuesta a la directora de la DRCA, para su aprobación. Resultado: Como resultado de la presentación. La directora mostró gran aceptación a la propuesta de diseño, autorizando al coordinador de la Oficina de Coordinación y Desarrollo Web (OCDW), el alojamiento de los directorios y base de datos del sitio web que se le presentó localmente. La Oficina de Coordinación y Desarrollo Web fue el área encargada de realizar las siguientes eventualidades por medio del CPanel virtual del servidor web de la Universidad Centroamericana. Figura V.9 Interfaz demo de administración de servicios web en hostgator En la interfaz que se muestra en la figura V.9, se realizaron las siguientes acciones: 1. Importación de Directorios en Servidor Web. Todos los directorios del sitio web que se estaban trabajando de manera local, se comprimieron en un archivo ZIP para luego subirlos vía FTP y descomprimirlos en el directorio asignado para la DRCA, en el servidor web. 2. Importación de la Base de Datos. Desde el administrador de bases de datos se definió el nombre de la base de datos, usuario y contraseña asociada. Seguidamente se importó los valores de la base de datos que se estaba trabajando de manera local. 3. Conexión de Base de Datos. Para la conexión a la base de datos se ingresó al administrador de archivos, para modificar los valores del archivo configuration.php, en el cual se definieron las rutas de acceso para los registros del sistema y archivos temporales. 4. Conexión al servidor DNS El directorio asignado para la página web de la DRCA fue apuntado hacia la dirección IP del servidor DNS de la Universidad Centroamericana UCA. Para poder visualizar la página web solo tendremos que introducir en el navegador la dirección URL: http://registroacademico.uca.edu.ni/. Luego de la ejecución de las acciones antes mencionadas, La OCDW nos proporcionó cuenta de acceso FTP y cuentas de acceso al directorio administrador para continuar con el proceso de desarrollo. Instalación de Extensiones Para la instalación de las utilidades accedemos desde el panel administrador del CMS siguiendo la siguiente ruta: Extensiones / Administrador de Extensiones, como se visualiza en la figura V.10 Figura V.10. Entorno de Administración de Extensiones. En la interfaz que se muestra en la figura V.10, se realizaron las siguientes instalaciones: Paquete de Idioma a español, entorno Cliente y Administrador. Habilitando su uso en la siguiente ruta del menú: Extensiones / Administrador de Lenguaje. Editor de Texto JCE Editor 2.0.15. Habilitando su uso en la siguiente ruta del menu: Sitio / Configuración Global / Editor Predeterminado. RSFrom! Pro. En este componente se administraran los formularios de manera independiente. Phoca Gallery. Este componente nos permitirá crear galería de imágenes y gestionada por categorías. Rokbox: Nos permite gestionar imágenes emergentes dentro de cualquier artículo, agregando una sintaxis al principio y al final del URL de la imagen. ZT-Slideshow: Este modulo nos permite gestionar los diversos estilos, tiempos y secuencia de las imágenes panorámicas. Instalación de Aplicaciones de Terceros Barra Wibiya Para centralizar en una sola posición del sitio web todo lo referente a funcionalidades varias como acceso a redes y canales sociales, se ha decidió utilizar la barra wibiya. Para realizar los registros a este servicio hemos creamos una cuenta de correo electrónico en Gmail. En la siguiente gráfica se mostrará el entorno de administración en línea con la cual se gestionará los elementos a integrar. Figura V.11. Entorno de Administración de la barra wibiya En la interfaz que se muestra en la figura V.11, se integraron las siguientes funcionalidades Conteo Usuarios en Línea: nos muestra la cantidad de usuarios conectados en línea, un listado gradual de las páginas que están siendo más vistas y un mapa donde podemos visualizar la posición geográfica de los visitantes. Traductor: se habilitaron 12 idiomas varios (Chino, Holandés, Inglés, Francés, Alemán, Italiano, Japonés, Coreano, Portugués, Ruso y Español.), los cuales con un simple clic se realiza la traducción de las líneas de código html. Botón Seguir en Twitter: al presionar este botón automáticamente nos indicará que iniciemos sesión, para formar parte de los seguidores de la DRCA en Twitter. Google +: al presionar este botón automáticamente nos pedirá iniciar sesión con nuestra cuenta personal de G+, para ser un seguidor de la página en G+ de la DRCA. Escritorio Virtual de Youtube: en el que aparecerá una galería dinámica de todos los videos del canal de Youtube de la DRCA. Escritorio Virtual de Facebook: al presionar este botón se mostrará una vista previa de todas las notificaciones y eventualidades realizadas en la página de Facebook de la DRCA. Escritorio Virtual de Twitter: al presionar este botón se mostrará una vista previa de todas las notificaciones en el canal de Twitter de la DRCA. Mensaje Emergente: se configuró el inicio automático de una ventaja emergente de bienvenida. Calendario de Evento Para gestionar los eventos de la DRCA se decidió utilizar el calendario de eventos que pone a nuestra disposición la cuenta de GMAIL de la DRCA. Enlazando el script del calendario en el sitio web. Este tipo de calendario permite a los usuarios finales copiar los eventos de la DRCA en su calendario personal. Cuando se desee administrar el calendario será realizado desde la interfaz que se muestra en la figura V.12, automáticamente serán reflejados los cambios en el sitio web. Figura V.12. Entorno de Administración de Calendario de Evento Chat en Línea Con el servicio de chat en línea, se pretende poner a la disposición de los usuarios finales un medio de comunicación, que les permita interactuar a los visitantes del sitio, con el equipo de atención al cliente de la DRCA. Con tan sólo un clic los visitantes podrán comunicarse con el equipo de atención, sin necesidad de asistir físicamente a las instalaciones de la DRCA. Para realizar la administración de este servicio, se ha creado una cuenta de usuario en el sitio web del proveedor de servicio en línea (Provide Support), se nos ha asignado un panel de control para gestionar el chat en línea. En la siguiente gráfica se mostrará el entorno de administración en línea con la cual se gestionará los elementos a integrar. En la interfaz que se muestra en la figura V.13, se visualizan las funcionalidades del panel de control del chat en línea. Figura V.13. Entorno de Administración de Chat en Línea ETAPA 2: DIAGRAMAS DE CASOS DE USO Usuario Anónimo Éste no necesita ninguna capacidad especial para acceder al contenido público del sitio web, tan sólo conocer la dirección de Internet para acceder desde su navegador. Estará en la capacidad de realizar funciones como consultar contenido público, ver galerías de imágenes, consultar calendario de eventos, llenar formulario en línea, chat en línea y realizar búsqueda de contenido público. Diagrama de caso de usos para el usuario anónimo Diagrama de Secuencia - Usuario Anónimo (Consulta de contenido público) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” consulta algún contenido público. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End que en el diagrama denominamos “JOOMLA”, realiza una petición de contenido al componente de JOOMLA “componente de contenido” que se encarga de gestionar los contenidos. 2) El componente de JOOMLA “componente de contenido” se comunica con otro componente de JOOMLA denominado “componente de usuario” para preguntarle por los privilegios que posee el usuario de la sesión actual. 3) El componente de JOOMLA “componente de usuario” responde a “componente de contenido” que ese usuario no posee privilegios por lo que sólo podrá ver contenido de carácter público. 4) El componente de JOOMLA “componente de contenido”, tras esta respuesta, pide al componente de JOOMLA denominado “Interface_Base de Datos” que obtenga el contenido público que peticiona el usuario. 5) El componente de JOOMLA “Interface Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para buscar en ésta, los datos que solicita el usuario. 6) El Gestor de Bases de Datos “MySQL” devuelve los datos pedidos en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 7) El componente “Interface Base de Datos” interpreta el lenguaje SQL y responde al componente “componente de contenido” dándole el contenido que le había solicitado. 8) El componente “componente de contenido” a su vez muestra dicho contenido en el formato adecuado al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Diagrama de Secuencia- Usuario Anónimo (Pulsar botón de galería de imágenes) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” pulsa el botón galería de imágenes. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End “JOOMLA” realiza la petición de la galería al componente de JOOMLA componente zoom” que se encarga de gestionar dicha galería de imágenes. 2) El componente de JOOMLA “componente zoom”, pide al componente de JOOMLA denominado “Interface Base de Datos” que obtenga la galería que solicita el usuario. 3) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para buscar en ésta, los datos que solicita el usuario. 4) El Gestor de Bases de Datos “MySQL” devuelve los datos pedidos en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 5) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “componente zoom” dándole la galería que le había solicitado. 6) El componente “componente zoom” a su vez muestra dicha galería de imágenes en el formato adecuado al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Diagrama de Secuencia- Usuario Anónimo (Pulsa el botón calendario) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” pulsa el botón de Calendario. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End “JOOMLA” realiza la petición al “Gestor de menús” se encarga de gestionar el menú que hace referencia al archivo que contiene la configuración del calendario. 2) El “Gestor de menús”, pide al archivo “calendario.html” que obtenga el calendario que solicita el usuario. 3) El archivo “Calendario.html” a su vez realiza esa petición al “Scrip_google_calendar” para que muestre el calendario de Google de calendar que fue configurar con la cuenta de Gmail de la institución. 4) El “Scrip_google_calendar” devuelve los datos al archivo “Calendario.html”. 5) El archivo “Calendario.html” interpreta la respuesta y responde “Gestor_menús”, dándole el calendario que le había solicitado. 6) El “Gestor_menús”, a su vez muestra dicho calendario en el formato adecuado al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Diagrama de Secuencia- Usuario Anónimo (Pulsa el botón formulario) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” pulsa el botón de Formulario. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End “JOOMLA” realiza la petición de mostrar_formulario al componente de JOOMLA “Componente_Formulario” que se encarga de gestionar dicho formulario. 2) El componente de JOOMLA “Componente_Formulario”, pide al componente de JOOMLA denominado “Interface_Base de Datos” que inserte_dato que digitalizó el usuario al hacer la solicitud mostrar_formulario. 3) El componente de JOOMLA “Interface Base de Datos” a su vez realiza una petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para almacenar_datos de lo que solicitó el usuario. 4) El Gestor de Bases de Datos “MySQL” comprueba la operación de datos_almacenado y luego envía un mensaje con interprete SQL al componente “Interface_Base de Datos” indicando que fueron almacenados. 5) El componente “Interface Base de Datos” interpreta el mensaje en lenguaje SQL y responde alcomponente “Componente_Formulario” indicándolo que los datos han sido insertado en la base de datos. 6) El componente “Componente_Formulario” a su vez muestra dicho mensaje en un formato adecuado al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Diagrama de Secuencia- Usuario Anónimo (búsqueda de contenido público.) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” utiliza el motor de búsqueda del sitio web para buscar un contenido público. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End “JOOMLA” realiza la petición de buscar por los criterios y palabras introducidos por el usuario al componente de JOOMLA “Componente_buscar” que es el motor de búsquedas que se encarga de gestionarlas dentro del sitio web. 2) El componente de JOOMLA “Componente_buscar” se comunica con otro componente de JOOMLA denominado “Componente_usuario” para preguntarle por los privilegios que posee el usuario de la sesión actual. 3) El componente de JOOMLA “Componente_usuario” responde a“Componente_buscar” que ese usuario no posee privilegios por lo que sólo podrá ver contenido de carácter público. 4) El componente de JOOMLA “Componente_buscar”, tras esta respuesta, pide al componente de JOOMLA “Componente_contenido” que obtenga el contenido público que concuerde con los criterios del usuario, ya que este se encarga de gestionar los contenidos del sitio web. 5) El componente de JOOMLA “Componente_contenido”, a su vez, pide al componente de JOOMLA denominado “Interface_Base de Datos” que obtenga el contenido público que solicitó el usuario. 6) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para buscar en ésta, los datos que solicitó el usuario. 7) El Gestor de Bases de Datos “MySQL” devuelve los datos pedidos en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 8) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_contenido” dándole los contenidos públicos que le había solicitado. 9) El componente “Componente_contenido” a su vez, devuelve dichos contenidos al motor de búsqueda “Componente_buscar”. 10) El componente “Componente_buscar” muestra dichos contenidos públicos en el formato adecuado al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Usuario Administrador: El “Back-End”, de cara al administrador, permitirá configurar y gestionar todo el sitio web de manera sencilla y segura. Para acceder al sitio web, el administrador deberá conocer los parámetros “Usuario” y “Clave”. También deberá conocer la URL de acceso a la zona del administrador, http://registroacademico.uca.edu.ni/administrador. Diagrama de casos de usos para el usuario Administrador Diagrama de Secuencia- Usuario Administrador (autentificación en el “Back-End como Administrador) Este diagrama de secuencia corresponde a la acción que realiza el sistema para el caso de uso “Usuario Administrador” y representará la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” se autentica en el “Back-End” mediante un formulario de acceso. Esta acción será un requisito para que el administrador pueda realizar cualquier otra acción con privilegios dentro del “Back-End”. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador digita el directorio administrator, en la dirección de sitio http://registroacademico.uca.edu.ni/administrator, esta acción es dirigida al servidor Apache, para que se realice la petición al componente_Administrador. 2)Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 5) El Back-End “Componente_Administrador” realiza la petición de acceso con estos parámetros al componente de JOOMLA “Componente_iniciar_seción” que se encarga de gestionar los accesos al sitio web. 6) El componente de JOOMLA “Componente_iniciar_seción”, a su vez, pide al componente de JOOMLA denominado “Interface_Base de Datos” que consulte dichos parámetros de acceso. 7) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para comprobar en ésta, los datos que proporciona el administrador. 8) El Gestor de Bases_de Datos “MySQL” devuelve que dicha operación ha sido realizada con éxito, en lenguaje SQL, al componente de JOOMLA “Interface Base de Datos”. 9) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_iniciar_seción” diciéndole que el acceso ha sido concedido. 10) El componente “Componente_iniciar_seción” muestra dicho acceso concedido en el formato adecuado al Back-End “Componente_Administrador”, para que lo pueda visualizar el administrador. Diagrama de Secuencia- Usuario Administrador (Operación sobre algún contenido) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre algún contenido, pudiendo ser este de carácter tanto público como privado, ya sea para añadir algún contenido, borrarlo o modificarlo. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Back End”, dicha acción, será redirigida al servidor Apache, para que luego se realice la solicitud al componente_Administrador. 2)Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) El Back-End “Componente_Administrador” realiza una petición de operación sobre contenido al componente de JOOMLA “Componente_contenido” que se encarga de gestionar los contenidos. 4) El componente de JOOMLA “Componente_contenido” se comunica con otro componente de JOOMLA denominado “Componente_usuario” para preguntarle por los privilegios que posee el administrador de la sesión actual. 5) El componente de JOOMLA “Componente_usuario” responde a “Componente_contenido” que ese administrador posee privilegios por lo que podrá gestionar contenidos tanto públicos como privados. 8) El componente de JOOMLA “Componente_contenido”, tras esta respuesta, pide al componente de JOOMLA denominado “Interface_Base de Datos” que realice la operación sobre el contenido que desea el administrador. 9) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para realizar en ésta, la operación que solicito el administrador. 10) El Gestor de Bases de Datos “MySQL” devuelve respuesta sobre la operación realizada en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 11) El componente “Interface Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_contenido” diciéndole si la operación sobre el contenido ha sido realizada con éxito. 12) El componente “Componente_contenido” a su vez muestra el resultado de dicha operación sobre el contenido en el formato adecuado al “Componente_Administrador”, para que pueda ser visto por el administrador. Back-End Diagrama de Secuencia- Usuario Administrador (Operación sobre algún usuario) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre algún usuario, ya sea para darle de alta, darle de baja o modificar sus datos. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Back End”, dicha acción, será redirigida al servidor Apache, para luego se realice la solicitud al componente_Administrador. 2) Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) El Back-End “Componente_Administrador” realiza una petición de operación sobre usuarios al componente de JOOMLA “componente_usuario” que se encarga de gestionar los usuarios. 4) El componente de JOOMLA “Componente_usuario” comprueba los privilegios que posee el administrador de la sesión actual. 5) El componente de JOOMLA “Componente_usuario”, tras esta respuesta, pide al componente de JOOMLA denominado “Interface_Base de Datos” que realice la operación sobre el usuario que desea el administrador. 6) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para realizar en ésta, la operación que peticiona el administrador. 7) El Gestor de Bases de Datos “MySQL” devuelve respuesta sobre la operación realizada en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 8) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_usuario” diciéndole si la operación sobre el usuario ha sido realizada con éxito. 9) El componente “Componente_usuario” a su vez muestra el resultado de dicha operación sobre el usuario en el formato adecuado al “Componente_Administrador”, para que pueda ser visto por el administrador. Back-End Diagrama de Secuencia- Usuario Administrador (Operación sobre alguna galería de Imágenes) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre la galería de imágenes, ya sea para añadir alguna imagen, borrarla o modificarla. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Back End”, dicha acción, será redirigida al servidor Apache, para luego se realice la solicitud al Componente_Administrador. 2) Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) Luego el Back-End “Componente_Administrador” realiza una petición de operación sobre la galería de imágenes al componente de JOOMLA “Componente_zoom” que se encarga de gestionar dicha galería. 4) El componente de JOOMLA “Componente_zoom” se comunica con otro componente de JOOMLA denominado “componente_usuario” para preguntarle por los privilegios que posee el administrador de la sesión actual. 5) El componente de JOOMLA “Componente_usuario” responde a “Componente_zoom” que ese administrador posee privilegios por lo que podrá gestionar la galería de imágenes. 6) El componente de JOOMLA “Componente_zoom”, tras esta respuesta, pide al componente de JOOMLA denominado “Interface_Base de Datos” que realice la operación sobre la galería que desea el administrador. 7) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para realizar en ésta, la operación que peticiona el administrador. 8) El Gestor de Bases de Datos “MySQL” devuelve respuesta sobre la operación realizada en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 9) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_zoom” diciéndole si la operación sobre la galería ha sido realizada con éxito. 10) El componente “Componente_zoom” a su vez muestra el resultado de dicha operación sobre la galería de imágenes en el formato adecuado al Back-End “Componente_Administrador”, para que pueda ser visto por el administrador. Diagrama de Secuencia - Usuario Administrador (Operación sobre el calendario) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre el calendario, ya sea para añadir algún evento, borrarlo o modificarlo. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Calendario de evento de DRCA”, dicha acción, será redirigida por un servidor Apache, para que este realice la solicitud a la “Cuenta_Gmail”, institucional de la DRCA. 2) Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” a la de “Cuenta_Gmail”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) Luego en la “Cuenta_Gmail”, se verifica la los privilegios de acceso de usuario administrador de la cuenta. 4) Después de haberse comprobado la autentificación del usuario administrador “Cuenta_Gmail”, realiza una petición de operación sobre la “Interface_Gmail”. La cual será realizar operaciones sobre el “Google_calendar” de Gmail. 5) El “Google_calendar” responde a la “Interface_Gmail”, que las operaciones sobre el calendario se han realizado exitosamente. 6) La “Interface_Gmail, tras esta respuesta, le indica al usuario “Cuenta_Gmail”, que la operación que el administrador ha solicitado sobre el calendario, se ha realizado. 7) “Cuenta_Gmail”, calendario de a su vez muestra el resultado de dicha operación sobre el eventos en el formato adecuado al “Usuario_Administrador”. Diagrama de Secuencia - Usuario Administrador (Operación sobre el formulario) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre los formularios, ya sea para añadir algún formulario, borrarlo o modificarlo. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Back End”, dicha acción, será redirigida al servidor Apache, para luego se realice la solicitud al Componente_Administrador. 2) Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) Luego el Back-End “Componente_Administrador” realiza una petición de operación sobre el formulario al componente de JOOMLA “Componente_formulario” que se encarga de gestionar dicho formulario. 4) El componente de JOOMLA “Componente_formulario” se comunica con otro componente de JOOMLA denominado “componente_usuario” para preguntarle por los privilegios que posee el administrador de la sesión actual. 5) El componente de JOOMLA “Componente_usuario” responde a “Componente_formulario” que ese administrador posee privilegios por lo que podrá gestionar la galería de imágenes. 6) El componente de JOOMLA “Componente_formulario”, tras esta respuesta, pide al componente de JOOMLA denominado “Interface_Base de Datos” que realice la operación sobre el formulario que desea el administrador. 7) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para realizar en ésta, la operación que peticiona el administrador. 8) El Gestor de Bases de Datos “MySQL” devuelve respuesta sobre la operación realizada en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 9) El componente “Interface_Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_formulario” diciéndole si la operación sobre el formulario ha sido realizada con éxito. 10) El componente “Componente_formulario” a su vez muestra el resultado de dicha operación sobre el formulario en el formato adecuado al “Componente_Administrador”, para que pueda ser visto por el administrador. Back-End Diagrama de Secuencia - Usuario Anónimo (Pulsar botón chat en línea) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Anónimo” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando un “usuario anónimo” pulsa el botón de Chat en línea. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) El Front-End “JOOMLA” realiza la petición de chat en línea al “Gestor_módulos” de JOOMLA, el cual gestiona todo los módulos instalados en el CMS. 2) El “Gestor_módulos” de JOOMLA, pide al módulo “botón 4” de JOOMLA que re direccione la solicitud del usuario. 3) El módulo “botón 4” de JOOMLA, a su vez realiza una petición a “URL_provide_support” esta para solicitar la url que mostrara la ventana de registro de usuario. 4) Luego ““URL_provide_support”, responde a “botón 4”, que la solicitud ha sido aceptada. 5) El “botón 4”, tras ese respuesta, pide a la “ventana_login_usuario”, que realice la petición de datos (nombre, Descripción de la consulta). 6) La “ventana_login_usuario”, después de haber aceptado y almacenados los datos de solicitud del usuario, mostrara a continuación la sala de chat en un formato adecuado en al Front-End “JOOMLA”, para que pueda ser visto por el usuario. Diagrama de Secuencia - Usuario Administrador (Operación instalación de extensiones) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza la instalación de alguna extensión de software sobre el CMS JOOMLA, pudiendo ser estas módulos, componentes o plugins compatibles con JOOMLA, permitiendo añadir dicha extensión, borrarla o modificarla. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “Back End”, dicha acción, será redirigida al servidor Apache, para luego se realice la solicitud al “Componente_Administrador”. 2) Una vez realizadas todas las comprobaciones, el servidor Apache envía por un canal los parámetros “usuario” y “clave” al Back-End “Componente_Administrador”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) Luego el Back-End “Componente_Administrador” realiza una petición de operación sobre el formulario al componente de JOOMLA “Componente_instalación” que se encarga de gestionar dichas instalaciones y actualizaciones de extensiones sobre el CMS JOOMLA. 4) El componente de JOOMLA “Componente_instalación” se comunica con otro componente de JOOMLA denominado “Componente_usuario” para preguntarle por los privilegios que posee el administrador de la sesión actual. 5) El componente de JOOMLA “Componente_usuario” responde a “Componente_instalación” que ese administrador posee privilegios por lo que podrá instalar extensiones. 6) El componente de JOOMLA “Componente_instalación” comprobará la ruta donde se encuentre el paquete de instalación de la extensión, dicha operación se representa en este diagrama mediante la expresión: “Obtener_ruta (Instalación)”. 7) El componente de JOOMLA “Componente_instalación”, tras estas comprobaciones, pide al componente de JOOMLA denominado “Interface_Base de Datos” que realice la instalación que desea el administrador. 8) El componente de JOOMLA “Interface_Base de Datos” a su vez realiza esa petición al Gestor de Bases de Datos “MySQL” esta vez en lenguaje SQL, para realizar en ésta, la instalación que peticiona el administrador. 9) El Gestor de Bases de Datos “MySQL” devuelve respuesta sobre la operación realizada en lenguaje SQL al componente de JOOMLA “Interface_Base de Datos”. 12) El componente “Interface Base de Datos” interpreta el lenguaje SQL y responde al componente “Componente_instalación” diciéndole si la operación de instalación ha sido realizada con éxito. 13) El componente “Componente_instalación” a su vez muestra el resultado de dicha operación de instalación en el formato adecuado al Back-End “Componente_usuario”, para que pueda ser visto por el administrador. Diagrama de Secuencia - Usuario Administrador (Operación sobre el panel de administración chat en línea) Este diagrama de secuencia se corresponde con la acción que realiza el sistema para el caso de uso “Usuario Administrador” y sirve para mostrar la secuencia de pasos y métodos a utilizar en cada una de las distintas capas que atraviesa la ejecución del programa cuando el “administrador” realiza alguna operación sobre el panel de administración del chat en línea, ya sea para añadir algún operador, borrarlo o modificarlo. A continuación describimos los pasos que realiza este diagrama de secuencia de manera detallada: 1) Cuando el administrador va a realizar una operación cualquiera sobre el “panel de administración del chat en línea”, dicha acción, se tiene que hacer ingresando a la “url_provide_support”, la cual es la siguiente http://www.providesupport.com/ . 2) Una vez ingresado a la “url_provide_support”, se tiene que autentificarse en la ventana de “login” con los parámetros “usuario” y “clave”, interpretado en el diagrama mediante “HTTP (Usuario, Clave)”. 3) La ventana “login”, realizará una petición de administrar_operadores. La cual será realizar operaciones sobre el “Panel_administracion Provide support”, el cual se encarga de gestionar los operadores y configuración del sistema chat en línea. 4) El “Panel_administracion Provide support”, responde a la ventana “login”, que la administración sobre los operadores se han realizado exitosamente. 5) “Login”, a su vez muestra el resultado de dicha operación sobre la solicitud realizada en el formato adecuado para “Usuario_Administrador”. ETAPA 3: DIAGRAMAS DE COLABORACIÓN Diagrama de colaboración - Usuario Anónimo (Consulta de contenido público) 1: Id_contenido_público Joomla Usuario_Anónimo 11: Contenido_público() 2: Pedir_contenido() 10: Mostrar_contenidos Componente de contenido 5: Sin_privilegios 9: Contenidos 6: Obtener_contenidos 3: Privilegios de usuarios 4: Comprobar_sesion Componente de usuario 7: SQL_obtener_contenidos Interface de BD MySQL 8: SQL_contenidos Diagrama de colaboración - Usuario Anónimo (Botón chat en línea) 1: Botón_chat en línea Usuario Anónimo 2: Mostrar_chat Joomla 9: Mostar_chat 10: Chat_en_línea 8: Nombre_introducido 6: chat 7: Introducir_nombre Gestor de Modulos 3: Obtener_chat 4: Solicitud_de_url Boton 4 Ventana login de usuario URL provide support 5: Url_solicitud ok Diagrama de colaboración- Usuario Anónimo (Pulsar botón de galería de imágenes) 1: Boton_galería Joomla Usuario_Anónimo 2: Pedir_galería 8: Galería de Imagenes() 7: Mostrar_Galería Componente_zoom 6: Galería_ok MySQL 5: SQL_galería 3: Obtener_galería 4: SQL_obtener_galería Interface de BD Diagrama de colaboración- Usuario Anónimo (Pulsa el botón Calendario) 1: Botón_calendario Usuario Anónimo 2: Pedir_calendario Joomla Gestor de menús 7: Mostrar_calendario 8: Calendario() 6: Obtener_calendario ok 3: Obtener_calendario Calendario.html 4: Solicitud_código Script_google_calendar 5: Código_solicitud ok Diagrama de colaboración- Usuario Anónimo (Pulsa el botón formulario) 1: Boton_Formulario Joomla Usuario_Anónimo 2: Mostrar_formulario 8: Formulario_recibido() 7: Mostrar_resultado_formulario MySQL Componente_Formulario 6: Datos_insertados ok 5: SQL_operación ok 3: Insertar_datos 4: SQL_datos_almacenados Interface de BD Diagrama de colaboración- Usuario Anónimo (búsqueda de contenido público.) 1: Palabra_a_buscar 2: Buscar Usuario Anónimo Componente buscar Joomla 13: Resultados_busqueda 12: Resultado_buscar 5: Sin_privilegios 4: Comprobar_sesion 11: Contenidos_públicos 6: Buscar_contenido_público 3: Privilegios de usuarios 7: Buscar_contenido Componente usuario Interface de BD Componente_c ontenido 10: Contenidos 8: SQL_buscar_contenido 9: SQL_contenidos MySQL Diagrama de colaboración- Usuario Administrador (autentificación en el “Back-End como Administrador) Apache 1: Usuario y clave 2: HTTP(usuario y clave) Usuario Administrador Componente Administrador 9: Acceso_concebido 8: Acceso ok 3: Acceso MySQL Componente iniciar secion 4: Comprobar_acceso 5: SQL_comprobar_acceso 6: SQL_operación ok 7: Acceso_concebido Interface de DB Diagrama de colaboración- Usuario Sobre algún 5: Comprobar_sesion Administrador (Operación contenido) 1: Usuario y clave Apache Usuario Administrator Componente usuario 4: Privilegios_ administrad or 12: Operación_realizada 7: Operación_contenidos 3: Operación Componente contenido 11: Operación ok 8: SQL_operación_contenidos 6: Con_Privilegios 2: HTTP(usuario y clave) Componente Administrador MySQL Interface de BD 10: Operación_contenidos ok 9: SQL_operación ok Diagrama de colaboración- Usuario Administrador (Operación sobre algún usuario) Apache 2: HTTP(usuario y clave) 1: Usuario y clave Usuario Administrador Componente Administrador 10: Operación_realizada 9: Operación ok 4: Comprobar_ Sesion 3: Operación Componente usuario 5: Operación_usuario 6: SQL_operación 8: Operación_usuario MySQL Interface de BD 7: SQL_operación ok Diagrama de colaboración- Usuario Administrador (Operación sobre alguna galería de Imágenes) Apache 1: Usuario y clave 2: HTTP(usuario y clave) Componente Administrador Componente Administrador 12: Operación_realizada 11: Operación ok 3: Operación Componente zoom 7: Operación_galería 8: SQL_operación_galería 6: Con_privilegios 10: Operación_galería ok 4: Privilegios_Administrador Componente usuario 5: Comprobar_sesion MySQL Interface de BD 9: SQL_operación ok Diagrama de colaboración - Usuario Administrador (Operación sobre el calendario) 1: Usuario y clave Google_calendar Apache Usuario Administrador 5: Operación_calendario 3: Comprobar_sesión 8: Operación_realizada 6: Operación_calendario ok 2: HTTP(usuario y clave) 4: Operación_Administrador Cuenta_G mail Interface_Gmail 7: Operación_Administrador Diagrama de colaboración - Usuario Administrador (Operación sobre el formulario) Apache 1: Usuario y clave 2: HTTP(usuario y clave) Usuario Administrador Componente Administrador 12: Operación_realizada 11: Operación ok 3: Operación 7: Operación_formulario Componente formulario 10: Operación_formulario ok 4: Privilegios_Administrador Interface de BD 8: SQL_operación_formulario 5: Comprobar_sesión 9: SQL_operación ok 6: Con_privilegios MySQL Componente usuario Diagrama de colaboración - Usuario Administrador (Operación instalación de extensiones) Apache 2: HTTP(usuario y clave) 1: Clave y usuario Usuario Administrador Componente_Ad ministrador 13: Instalación_realizada 7: Obtener_ruta(instalación) 12: Instalar ok 3: Instalar 8: Operación_instalar Interface de BD Componente instalación 11: Operación_instalar ok 9: SQL_operación_instalar 4: Privilegios_Administrador 6: Con_privilegios 10: SQL_instalar ok 5: Comprobar_sesión MySQL Componente usuario Diagrama de colaboración - Usuario Administrador (Operación sobre el panel de administración chat en línea) 1: Usuario y clave Url_provide_support Usuario Administrador 6: Operación_realizadas() 2: HTTP(usuario y clave) 3: Comprobar_sesión 4: Administrar_operadores Panel_administración Provide_support Login 5: Operadores_administrados ok ETAPA 4: FICHAS DE CASOS DE USO IDENTIFICACIÓN DE REQUISITOS La tarea de identificación de requisitos se lleva a cabo mediante reuniones periódicas con el cliente, en nuestro caso será con la responsables de la Dirección de registro y control académico - UCA. La colección de requisitos se realizó de forma clara, sencilla y estructurada mediante una ficha con las siguientes propiedades: IDENTIFICADOR Nombre: Descripción: Tipo de Usuario: Prioridad: Estabilidad: Necesidad: Fuente: Anónimo Alta Si Esencial Administrador Baja Conveniente A continuación explicamos brevemente el significado de los parámetros que se recogen en la ficha: Identificador: Identifica de forma relacionada cada uno de los requisitos. Dicho identificador sigue la siguiente nomenclatura. IDENTIFICADOR= RU+ Tipo + Número Donde: RU: Son las siglas de “Requisito de Usuario”. Tipo: Puede tomar los valores “C”, si se trata de un requisito de usuario de Capacidad (acceder algún recurso especifico). Número: Será un número de tres cifras que empezará por 001 y se irá incrementado en una unidad por cada nuevo requisito añadido. Ejemplos: RUC001: Requisito de Usuario de Capacidad, Número 1. Nombre: Expresa el nombre del requisito, en pocas palabras un resumen del requisito. Descripción: Breve comentario textual del requisito. Tipo Usuario: Nos indica el tipo de usuario para el cual va dirigido el requisito. Puede tomar los siguientes valores: “Anónimo”: Usuario visitante del sitio web, el cual no posee ningún privilegio de acceso sobre contenidos privados de la DRCA - UCA. “Administrador”: Posee los privilegios para gestionar y configurar todos los aspectos del sitio web de la DRCA. Prioridad: Indica la prioridad en el desarrollo del requisito. Puede tomar los valores “Alta”, “Media” o “Baja”. Estabilidad: Indica la posibilidad de que el requisito cambie a lo largo del desarrollo del sitio web. Puede tomar los siguientes valores: “Si”: Cuando el cliente asegura que no va a ser modificado. “No”: Cuando el requisito puede variar en función de las sucesivas etapas del proyecto. Necesidad: Indica el nivel de necesidad del requisito dentro del sistema final. Puede tomar los valores “Esencial”, “Opcional” o “Conveniente”. “Esencial”: Cuando el cliente no acepte ninguna negociación. “Conveniente”: Cuando el requisito se pueda negociar. “Opcional”: Cuando su implementación puede ser eliminada. Fuente: Indica el origen a partir del cual se ha obtenido el documento. Cuando se trata de un documento externo se hace referencia a dicho documento. REQUISITOS DE USUARIO En la fase de toma de requisitos de usuario, o fase de definición del problema, se definirán el ámbito y el alcance del sistema, es decir, lo que se espera que haga el sistema. Los requisitos de usuario son de tipo de capacidad. DESCRIPCIÓN GENERAL Perspectiva del Producto: El sistema debe constar de dos partes bien diferenciadas: El “Front-End”, de cara a los usuarios del sitio web, el cual les permitirá ver y consultar diversos contenidos que ofrece la Dirección de control y registro académico. El “Back-End”, de cara al administrador, el cual permitirá configurar y gestionar todo el sitio web de manera sencilla y segura. Capacidades Generales: El sistema ofrecerá diversas funcionalidades que podemos resumir en: visualizar contenidos e imágenes, consultar el calendario de la DRCA, llenar formulario en línea y realizar consulta con el chat en línea. Restricciones Generales: El sistema tendrá que poderse utilizar de manera remota, tanto por los usuarios como por el administrador, siendo instalado dicho sistema en un servidor y accediéndose a este mediante su URL. REQUISITOS DE USUARIO DE CAPACIDAD En estas fichas se representarán los requisitos que los usuarios necesitan que tenga el sistema para que pueda resolver sus problemas o cumplir sus objetivos. A continuación se exponen los requisitos de capacidad: IDENTIFICADOR: RUC001 Nombre: Consultar contenidos públicos Debe permitir consultar contenidos como documentos y noticias, Descripción: siempre y cuando estos tengan un carácter público, es decir, que no sean contenidos protegidos por la DRCA. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC002 Nombre: Ver galería de imágenes Debe permitir ver una galería de imágenes con diversas fotografías Descripción: que presenta la DRCA. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC003 Nombre: Consultar calendario Debe permitir consultar el calendario de la DRCA para conocer donde, Descripción: cuando y a qué hora realizarán las eventualidades de la DRCA. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC004 Nombre: Llenar Formulario en línea de solicitud de trámite Debe permitir llenar formulario en línea de trámites con la finalidad de Descripción: que el usuario realice su trámite desde el sitio web. De esta manera la solicitud será reciba digitalizada. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC005 Nombre: Consultar chat en línea Debe permitir realizar consulta através del servicio de chat, de esta Descripción: manera se establecerá una comunicación de dos vía usuario y operador. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC006 Nombre: Realizar búsquedas sobre contenido público Debe permitir realizar búsquedas de información a través de palabras Descripción: clave, sobre los contenidos, en este caso de carácter público. Anónimo Administrador Tipo de Usuario: Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC007 Nombre: Autenticarse como administrador Debe permitir al administrador mediante un “USUARIO” y una “CLAVE” Descripción: autenticarse para pasar a tener los privilegios del Administrador en la zona del administrador o “Back- End”. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC008 Nombre: Gestión de contenidos Debe permitir añadir, modificar o eliminar cualquier tipo de contenido, Descripción: tanto público como privado. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC009 Nombre: Gestión de usuarios Debe permitir crear, modificar y eliminar los datos personales de Descripción: cualquier usuario registrado. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC0010 Nombre: Gestión de galería de imágenes Debe permitir añadir, modificar o eliminar cualquier fotografía de la Descripción: galería de imágenes del sitio web. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC0011 Nombre: Gestión del calendario Debe permitir añadir, modificar o eliminar cualquier eventualidad con Descripción: relación al calendario de la DRCA. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC0012 Nombre: Gestión de formularios Debe permitir añadir, modificar o eliminar cualquier formulario que Descripción: necesite gestionar la DRCA. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC0013 Nombre: Gestión de chat en línea Debe permitir añadir, modificar o eliminar cualquier operador. Descripción: Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: IDENTIFICADOR: RUC0014 Nombre: Instalar extensiones Debe permitir instalar cualquier tipo de funcionalidad o actualización Descripción: del sistema. Administrador Tipo de Usuario: Anónimo Alta Baja Prioridad: Si Estabilidad: Esencial Conveniente Necesidad: DRCA – Dirección de registro y control académico (El cliente) Fuente: Pedro Pablo Romero Santana / Germán Danilo Vásquez Hernández Elaborado por: ETAPA 5: DIAGRAMA DE ESTADOS Este diagrama de estado representa la acción consultar calendario. La visualización del contenido se representa en tres estados. Por semana, mes y por agenda, en cada uno de ellos se brindará opciones de impresión. Este diagrama de estado representa, la acción consultar contenido, la visualización del contenido puede pasar por dos estados. Para verificar el estado primeramente se consulta en la configuración del CMS la disponibilidad del sitio web Estado 1 - Sitio no Bloqueado: Al verificar la disponibilidad y encontrando como respuesta en la configuración, libre acceso. Se ejecutará directamente la instrucción visualizar contenido. Estado 2 - Sitio Bloqueado: Al verificar la disponibilidad y encontrando como respuesta en la configuración, acceso bloqueado. Se mostrará un mensaje notificando que el sitio web está bloqueado temporalmente, seguidamente se le solicitara usuario y contraseña para acceder al mismo. Si la validación de los campos es correcta, se ejecuta la instrucción mostrar contenido, de lo contrario se le solicitará nuevamente el usuario y contraseña. Este diagrama de estado representa la acción consultar galería de imágenes. Se visualizarán las diversas categorías de imágenes, con un posible estado, pre visualizar imágenes. Este diagrama de estado representa, la acción llenar formulario en línea. Primeramente se visualizan los campos del formulario para que el usuario introduzca y seleccione los campos de interés. Estado 1 - Limpiar Campos: Los campos del formulario se limpiarán en su totalidad. Estado 2 - Validar Datos: Los campos del formulario se validarán, verificando si cumplen con las normativas establecidas en la configuración de cada elemento. Si la validación es correcta los datos se guardarán y se mostrará un mensaje de confirmación de envió. Si los datos son mal ingresados o no cumplen con las normativas de tipo de dato se visualizará la descripción de donde se ha cometido el error. Este diagrama de estado representa, la acción solicitar chat en línea. Primeramente se presentará el estado de los operadores. Estado 1. - Operador Fuera de línea: mostrará un mensaje al usuario final haciéndole saber que se encuentra fuera de línea. Estado 2.-Operador en línea: solicitará al usuario que introduzca su nombre y una descripción de la consulta a realizar, seguidamente se ejecutará la instrucción solicitar conexión al operador. Si el operador acepta la solicitud se establecerá la comunicación, de lo contrario la solicitud estará a la espera hasta que el operador la acepte. Cuando el usuario estime conveniente salir de la aplicación, se le solicitará que evalué el servicio, y se almacenará su resultado. ETAPA 6: DIAGRAMA DE COMPONENTE En el diagrama de componentes, se representan las relaciones que existen entre los distintos componentes software que configuran la plataforma de este proyecto. El Servidor APACHE gestiona las comunicaciones con la aplicación web JOOMLA, que está a su vez es la encargada de gestionar los distintos componentes, módulos y plugins, que fortalecerán las funcionalidades del sitio web. El Gestor de Contenidos JOOMLA interactúa a través de su interfaz con la base de datos del Proyecto (MySQL). Igualmente en JOOMLA tendremos que instalar, modificar y personalizar ciertos componentes para ampliar las funcionalidades base. ETAPA 7: DIAGRAMA LÓGICO DE LA BASES DE DATOS VI. CONCLUSIÓN Conforme a los requerimientos emitidos por las autoridades de la Dirección de Registro y Control Académico de la Universidad Centroamericana, plasmadas en la carta de aprobación de desarrollo web (ver carta de aprobación en anexo 1), se desarrolló el sitio web de la Dirección de Registro y Control Académico. El sitio web permitirá gestionar la información pública producida por la DRCA (información de procesos, eventos, convocatorias y contactos). Además se integraron funcionalidades como: Formulario de solicitud de trámite, chat en línea, escritorios virtuales y manuales de usuario multimedia, que fortalecen el desempeño del sitio web. Se implemento diversas pruebas de monitoreo y mecanismos de seguridad en busca de garantizar la correcta navegación y administración del sitio web. Para dejar plasmada la validación de este proyecto se plasmó en una carta las expectativas finales de la DRCA (ver carta de expectativas finales en anexo 2), con relación al producto terminado. Actualmente el sitio web de la DRCA está disponible ingresando la dirección URL en el navegador: http://registroacademico.uca.edu.ni/. VII. RECOMENDACIONES 1. Se recomienda a la DRCA gestione, la contratación de un personal con conocimientos y habilidades para realizar el debido mantenimiento de este sistema. 2. Actualizar el kernel del CMS, a la última versión estable. 3. Realizar copias de respaldo de los directorios y base de datos, para volver a recuperar el sitio en caso de algún ataque externo o por algún problema de incompatibilidad al instalar o actualizar un componente de nuestro sitio web. 4. No es recomendable realizar pruebas en el sitio web online, ya que podría afectar el funcionamiento normal del sitio, las pruebas se deben realizar en un servidor local o en una copia online del sitio. 5. Recomendamos eliminar todo lo que ya no se utilice en el sitio web. Es decir no dejar instalado idiomas, plantillas, componentes, módulos o plugins que ya no se utilice. 6. Explotar al máximo los beneficios de las redes sociales y canales sociales. 7. Promover la seguridad de la información dentro del área, aplicando buenas prácticas de administración. Programar el cambio de contraseñas periódicamente utilizando claves con alto nivel de seguridad. Realizar las actualizaciones de contenido, con el acceso a internet que dispone la universidad. VIII. BIBLIOGRAFIA Ángel Cobo, P. G. (2005). PHP y MySQL. Tecnología para el desarrollo de aplicaciones web. España: Ediciones Díaz de Santos - 504 páginas. Barriocanal, L. (17 de Octubre de 2009). edujoomla. Recuperado el 28 de Septiembre de 2011, de http://www.edujoomla.es/que-es-joomla Chile, U. d. (2011). Registro Académico. Recuperado el 05 de Octubre de 2011, de http://registro.usach.cl/ Conectu. (05 de Septiembre de 2004). conectu. Recuperado el 29 de Septiembre de 2011, de http://www.conectu.com/v4/es_articulos.php?a=105 Copyright © Wime. (22 de Abril de 2011). Recuperado el 30 de Septiembre de 2011, de http://wime.com.mx/blog/2011/04/las-ventajas-de-utilizar-un-cms/ Cordero, C. (2011). Dos claves para la Nube. IT NOW , Edición 67 - Pág 28. Huerta García, C. (2010). Biblioteca - Universidad Rey Juan Carlos. Obtenido de http://eciencia.urjc.es/handle/10115/4175 Milenium. (s.f.). informaticamilenium. Recuperado el 29 de Septiembre de 2011, de http://www.informaticamilenium.com.mx/paginas/espanol/sitioweb.htm Pamplona, U. d. (s.f.). Oficina de Admisiones, Registro y Control Académico. Recuperado el 04 de Octubre de 2011, de http://www.unipamplona.edu.co/registroycontrol/ Pontificia Universidad Javeriana. (s.f.). Oficina de Admisiones y Registro Académico. Recuperado el 05 de Octubre de 2011, de http://www.javeriana.edu.co/admisiones/oficina/inicio.htm Thibaud, C. (2006). MySQL 5. Cornella de Llobregat (Barcelona): Ediciones ENI - 464 páginas. Universidad del Rosario. (s.f.). Secretaría Académica. Recuperado el 04 de Octubre de 2011, de http://www.urosario.edu.co/cpg-ri/Secretaria-Academica/ William Wilfrido Maila Nacimba, M. J. (Septiembre de 2009). espe (Escuela Politécnica del Ejercito). Recuperado el 29 de Septiembre de 2011, de http://www3.espe.edu.ec:8700/bitstream/21000/4458/1/M-ESPEL-0030.pdf yobidu, g. (2011). cloudhost. Recuperado el 04 de Septiembre de 2011, de http://www.cloudhost.es/alojamiento-web-en-la-nube IX. ANEXOS ANEXO 1 – Carta de Aprobación de Ejecución de Proyecto ANEXO 2 – Expectativas Finales de la DRCA ANEXO 3 - Manual de Usuario Administrador I. Panel de control de Joomla El panel de control cuenta con un menú principal, a través del cual se tiene acceso a todas las funciones (ver color rojo en la imagen siguiente). Sin embargo, para hacer más intuitiva la interfaz, se han dispuesto otras formas de acceder a las funciones más importantes. A la derecha del menú principal (amarillo), se encuentra el menú de información, que proporciona información acerca de la cantidad de usuarios que se encuentran en la página, acceso directo al sitio (en otra pestaña o ventana), al panel de mensajes (da la información de la cantidad de mensajes sin leer que hay en él) y un acceso a la salida de la sesión. Debajo del menú principal (verde), hay un panel de botones de acceso directo, con las funciones de uso más frecuente o más importantes. Finalmente, a la derecha, hay un menú de pestañas desplegables, en las que se encuentra un listado de los usuarios logueados, un listado de los artículos más populares y otro con los artículos recientes. Salvo en la página principal del panel de control de Joomla, en todas las demás páginas aparece una barra de herramientas, que tiene los íconos de acceso a las funciones principales de cada una de estas páginas, como por ejemplo, guardar, nuevo, editar, publicar, etc. Cada una de las secciones tiene una barra de herramientas específica de la misma, por lo que será descrita cuando se haga la descripción de la función. En cada una de las secciones, el cuerpo principal del panel de control está ocupado por un listado o por los formularios necesarios para cumplir con las funciones asignadas a cada una de estas secciones. Menú principal de Joomla El menú principal de Joomla, tal como ya se dijo, es un menú desplegable en el cual se encuentran todas las funciones de administración. Está dividido en siete menús. 1. Sitio. En este menú se encuentran todas las funciones de configuración y de información del sistema. 2. Usuarios. Todas las herramientas de administración de usuarios, grupos, niveles de acceso, etc. 3. Menús. Administración, creación y edición de los menús de la página. 4. Contenido. Administración de contenidos, tanto artículos como multimedia y administración de categorías. 5. Componentes. Administración de componentes, tanto los propios de la instalación de Joomla como los instalados posteriormente. 6. Extensiones. Administración de todos los tipos de extensiones, como los módulos, plug-ins, plantillas y lenguajes. 7. Ayuda. Acceso a la ayuda, tanto instalada como en línea. Menú de información A pesar de llamarse de esta forma, cumple algunas otras funciones, además de brindar algunas informaciones importantes. En este menú aparece la cantidad de usuarios presentes y registrados en el fron-end y en el back-end, por separado. Además, se cuenta con un acceso directo que abre una pestaña o ventana con la vista de la página principal, información de la cantidad de mensajes internos sin leer (que además sirve como acceso directo a la función), y el ícono de salida de sesión. Botones de acceso directo en Joomla Los botones de acceso directo son diez, y permiten acceder a las siguientes funciones: 1. Artículo nuevo. Dirige directamente a la ventana de creación de artículos nuevos. 2. Gestor de Artículos. Acceso al gestor de artículos, donde es posible crear, editar, borrar, publicar o archivar artículos, entre otras funciones. 3. Gestor de categorías. Con este botón se accede a la administración de las categorías. 4. Gestor multimedia. Se accede a la gestión de imágenes y videos. 5. Gestor de menús. Permite acceder a la sección donde se administran los menús de la página. 6. Gestor de usuarios. Acceso a la gestión de todos los usuarios, donde se pueden crear usuarios, borrar, editar datos de los mismos, modificar permisos, etc. 7. Gestor de módulos. Se accede a la gestión completa de los módulos que componen la página. 8. Gestor de extensiones. Permite ingresar a la sección donde se pueden instalar, desinstalar y editar las extensiones. 9. Gestor de lenguajes. En caso de tener varios lenguajes instalados, permite el acceso a la gestión de los mismos. 10. Configuración global. Mediante este acceso directo, se ingresa en la página donde se puede modificar la configuración general de la página. Menú desplegable de información en Joomla Este menú cuenta con tres pestañas desplegables. En la primera, se observa un listado de los usuarios registrados, donde se muestra el nombre de usuario, el lado del sitio donde se encuentra (back-end o front-end), el número de ID, la fecha y hora de la última actividad registrada y, como novedad, un botón que permite cerrar la sesión del mismo. La segunda pestaña muestra los artículos más populares, donde se muestra el nombre del artículo, la fecha de creación y la cantidad de veces que ha sido visto. La tercera pestaña presenta los artículos de reciente creación, con el nombre del artículo, la fecha de creación y el autor. En ambas listas la cantidad de artículos mostrados es de cinco, no siendo editable este número. II. Usuarios en Joomla Para tener una total comprensión de los temas que trataremos en adelante, en primer lugar deberemos definir los siguiente. Grupo Se denomina grupo de usuarios a aquellos usuarios que comparten un mismo nivel de permisos y accesos. Usuario Se define como usuario a toda persona que hace uso de la página, aún cuando solo se trate de un visitante ocasional. Usuario registrado Es el usuario que ha completado un formulario de registro, y en los casos que esto es necesario, se ha habilitado su ingreso al grupo. Es el único grupo que tiene posibilidad de integrarse a un grupo por si mismos. En niveles superiores, esto tiene que ser concedido por usuarios de niveles superiores. Autor Se trata de un grupo de usuarios que tiene acceso al back-end para subir ítems (ítems pueden ser artículos, comentarios, imágenes, videos, etc.), pero que no tiene la posibilidad de publicar estos ítems, quedando guardados los mismos hasta que sea revisado y publicado por un usuario con los permisos para hacerlo. El grupo Autor tampoco tiene acceso a la edición de ítems subidos por otros usuarios Editor Tiene casi los mismos permisos que el grupo anterior, con la salvedad de que puede editar ítems subidos por otros usuarios. Al igual que en el grupo autor, no tiene acceso a la publicación de los ítems subidos o editados, por lo que quedan a la espera de la validación y publicación por parte de usuarios de nivel superior. Publicador Este grupo cuenta con la posibilidad de editar los ítems de otros usuarios, subir sus propios ítems y publicar, tanto suyos como de usuarios de grupos de nivel de acceso inferior. Manager (gerente o gestor) Los Manager tienen acceso parcial al administrador, aunque no puede realizar modificaciones sustanciales en la página, como por ejemplo, gestionar componentes, módulos, usuarios, y en definitiva, todo aquello relacionado con el funcionamiento de la página. Su función principal sería la de gestionar los contenidos, para lo que tiene plenos permisos. Administrador El administrador, en Joomla tiene amplias capacidades, accediendo a todos los niveles, con excepción de la configuración global, lo que está restringido al Super Administrador. Super Administrador Es el único usuario que tiene pleno acceso a toda la página y a toda la administración. Gestor de usuarios de Joomla Cuando abrimos el gestor de usuarios de Joomla, nos encontramos con una barra de íconos y un área de trabajo que tiene tres pestañas. La barra de íconos cuenta con las herramientas necesarias para la gestión de los usuarios, como crear, editar, activar, bloquear o eliminar usuarios. Además, hay un botón de Opciones, que sirve para realizar algunas configuraciones, como veremos más adelante. Cuando se activa la pestaña “usuarios”, aparece un listado de todos los usuarios registrados en la página, que contiene toda la información de los mismos y permite manejar la habilitación y la activación. En la parte superior del listado, se encuentra un buscador, que permite la búsqueda de usuarios por el nombre, nombre de usuario o por su email. Más a la derecha aparecen tres listas desplegables que permiten filtrar la lista por su estado (habilitado o deshabilitado), la estado de activación (activado o desactivado) y por grupos de usuario. Cuando se hace clic sobre el nombre del usuario, se abre la ventana de edición de datos de usuarios de Joomla, a la cual también se puede acceder marcando la casilla de verificación del usuario y haciendo clic en “Editar” de la barra de íconos. Editor de usuarios de Joomla La ventana de edición de usuarios de Joomla consta de tres secciones. En la primera se encuentran los datos de la cuenta, algunos de los cuales se pueden editar. Allí aparecen campos donde se pueden editar el nombre, nombre de usuario, la contraseña de acceso (con un campo en el cual se debe repetir la misma) y el email. Más abajo se encuentran dos grupos de botones de radio que permiten seleccionar el bloqueo del usuario y el envío de un email (conteniendo los cambios realizados en su cuenta). Finalmente, en esta sección, se muestran (no es editable) la fecha de registro, la fecha de la última visita y el número identificador del usuario (ID). Debajo de esta primera sección, aparece la sección de asignación de grupo, donde se puede asignar uno o más grupos al usuario. Cabe destacar que, cuando se selecciona un grupo padre de otro grupo, la casilla de verificación del último también se activa. En Joomla es posible asignar más de un grupo a un mismo usuario. A la derecha se encuentra la sección donde se pueden configurar los parámetros básicos, como los lenguajes que empleará por defecto el usuario en el back-end y en el front-end, que pueden seleccionarse de alguno de los que se tienen instalados. También se puede asignar el editor que el usuario tendrá para los comentarios y, en caso de que cuente con los permisos necesarios, para el área de texto de la ventana de creación de artículos. Por último, se puede configurar la página de ayuda externa a la que podrá acceder el usuario, y la zona horaria que corresponde al usuario. Creación de nuevos usuarios Haciendo clic en “Nuevo” en la barra de herramientas, se accede a la ventana de creación de usuarios, que tiene las mismas secciones y campos que la ventana de edición. Los datos de fecha de creación y última visita, así como el número identificador, aparecerán en 0, lo que se modificará automáticamente cuando se guarden los cambios o cuando se produzca la primera entrada como usuario registrado, según sea el caso. Gestor de grupos Joomla La segunda pestaña corresponde a la ventana de gestión y edición de grupos de usuarios. En esta ventana aparece un listado de los grupos existentes, los que tiene Joomla por defecto y aquellos que se creen luego de la instalación. La barra de íconos tiene botones mediante los cuales se puede acceder a las ventanas de creación y edición de grupos, además de un botón que permite la eliminación. El listado consta de solo cuatro columnas, donde aparece el nombre del grupo, una casilla de verificación que permite señalar uno o más grupos sobre los que se desea realizar acciones, una columna donde se muestra la cantidad de usuarios que componen el grupo, y la columna donde se muestra el número de identificación. Cuando se hace clic sobre el nombre del grupo, se abre la ventana de edición de grupos. En Joomla es posible crear nuevos grupos, además de los que por defecto se instalan. Para ello basta con hacer clic en “Nuevo” en la barra de herramientas. Con esto se abre una ventana de creación de grupos, que es igual a la de edición. Editor de grupos La ventana de edición de grupos de Joomla, salvo en la que corresponde al grupo “Público”, contiene solo un campo, donde se puede editar el nombre del grupo, y más abajo, una lista desplegable donde se debe señalar el grupo padre del grupo que se está editando. Creación de grupos Cuando se hace clic en “nuevo” en la barra de herramientas, se abre la ventana de creación de grupos, que tiene los mismos parámetros que la ventana de edición. Gestor de Niveles de Acceso Joomla permite la gestión (edición, eliminación y creación) de niveles de acceso, lo que combinado con las nuevas características de la gestión de usuarios, dota al sistema de una gran flexibilidad, similar a la de otros gestores de contenidos. Como puede verse en la imagen anterior, además de la barra de herramientas mediante la cual se puede crear, editar y borrar niveles de acceso, aparece un listado donde se muestran los diferentes niveles, tanto los que Joomla tiene por defecto como los que sean creados posteriormente. En este listado aparece el nombre del nivel, el orden que tienen dentro de Joomla y el número identificador. Como en los gestores anteriores, haciendo clic en el nombre del nivel, se accede a la ventana de edición de niveles de acceso. Edición y creación de niveles de acceso En la ventana de edición (que es igual a la de creación), aparece en primer lugar el campo donde se edita o se crea el nombre de nivel de acceso. Más abajo, aparece un listado con sus respectivas casillas de verificación de los grupos de usuario que cuentan con este nivel de acceso. III. Gestor de Menús El Gestor de Menús es la primera herramienta que debemos conocer. El Gestor de Menús es, además de la más importante, la más sencilla de todas las herramientas, ya que desde ella solo tendremos control sobre la creación y borrado de los menús. Para acceder a ella, simplemente debemos ir a “Menús / Gestor de Menús” desde la barra de herramientas ubicada en la parte superior de la página de Administración Al hacer clic en el link, se abrirá de inmediato una tabla que contiene el listado de los menús existentes, el estado de los mismos y un acceso a la edición de los ítems. Como puede verse en la siguiente imagen, cada menú ocupa una fila de la tabla. Editar menú Cuando en el listado del Gestor de Menús seleccionamos el menu a editar, hacemos clic sobre el botón editar. En esta ventana, podremos modificar los elementos esenciales del mismo. En el primer campo, se coloca el “nombre único”, que es el que se emplea para identificar al mismo dentro del código; se debe tener en cuenta que este nombre no debe aparecer repetido en otro menú, porque podrían generarse errores que impedirían la visualización de uno de los menús con nombre único repetido. Otro aspecto a tenerse en cuenta, es que los nombres únicos no pueden contener espacios entre palabras, por lo que se aconseja el empleo de guiones para la separación de palabras, en caso de ser necesario. Por ejemplo, el Menú Principal podría aparecer como menu principal o como menu_principal. En el segundo campo se encuentra el título del menú. Este es el título que aparecerá en la ventana del Gestor de Módulos y, en caso de seleccionarse esta opción, también aparecerá como título del mismo en la vista de la página. En el último campo, se debe colocar una descripción del menú. Creación de menús El primer paso para la creación de un nuevo menú consiste en darle la configuración básica. Para acceder a una ventana desde donde crear un nuevo menú, debemos hacer clic sobre el botón “Nuevo” ubicado en la barra de herramientas ubicada encima del listado. En la imagen vemos como aparecen los diferentes campos de la ventana. En el primer campo, deberemos colocar el nombre único, teniendo en cuenta que no debe ser igual a otro nombre único y que no debemos dejar espacios en blanco en caso de que el nombre lleve más de una palabra. En el segundo y tercer campo se colocan el título y la descripción del menú. En el último campo, deberemos colocar el nombre del módulo en el que se visualizará. Si este campo se deja en blanco, el menú no se publicará, por lo que deberemos publicarlo desde el Gestor de Módulos. Una vez que hemos terminado, haremos clic en guardar y se nos abrirá nuevamente la ventana del Gestor de Menús, en el cual podremos ver el nuevo menú, aunque en la columna de “Publicado”, simplemente aparecerá un guión. El siguiente paso en la creación de un menú, es dotarlo de los ítems que deseamos mostrar en él. Para ello, haremos clic en el ícono que aparece en la columna “Ítems del Menú”, para abrir el “Gestor de ítems del menú”. El listado aparecerá en blanco ya que el menú aún no tiene ítems. Para agregar nuevos ítems, debemos hacer clic en “Nuevo” en la barra de herramientas ubicada en la parte superior del listado. Al seleccionar “Nuevo”, se abre un cuadro donde se muestra el tipo de enlace que será el ítem que estamos creando. Tipos de ítems Ítems del tipo enlace interno Dado que Joomla ofrece una gran cantidad de tipos de contenidos, secciones, aplicaciones, etc., la cantidad de enlaces internos posibles son muchos, cada uno con sus particularidades. Es por esta razón que cuando optamos por crear un ítem de enlace interno se abre un gran abanico de opciones. Artículos Los enlaces a artículos, puede realizarse en forma individual (un enlace un artículo) o hacia grupos de artículos. Los artículos en Joomla se pueden dividir en categorías, además de los artículos archivados tras un período de publicación. Otro grupo de artículos con características especiales, son aquellos que aparecen en la portada de la página. Es por ello que aparecen una serie de opciones diferentes cuando se selecciona “Artículos” como ítem de menú. La primer opción que se muestra, es la que permite la visualización de los artículos que se encuentran archivados, es decir, aquellos artículos que ya no se encuentran publicados pero que están aún almacenados en el sitio. A la derecha, se puede seleccionar (en parámetros básicos) el orden en que se mostrará el listado de artículos archivados una vez que el usuario selecciona este ítem. Por defecto, aparecerán ordenados con los artículos de fecha más reciente en la parte superior. La segunda opción es la de colocar un artículo individual como ítem. Esta opción hace que cuando el ítem es seleccionado, se accede directamente al artículo indicado. Para seleccionar el artículo, se debe buscar el mismo en la columna de la derecha, en la sección de parámetros básicos. La segunda opción dentro de este tipo de ítems, a pesar de que por error en la versión en español de Joomla tiene el mismo nombre que el anterior, es la que permite la inserción de un nuevo artículo desde el front-end, por lo que solo es accesible por los usuarios del grupo autores en adelante. En tercer y cuarto lugar aparecen dos tipos de ítems que tienen un funcionamiento similar, por lo que los describiremos en conjunto. Se refieren al acceso a categorías. Cada ítem da acceso a una categoría que se define dentro de los parámetros básicos. Dentro de estas opciones, se puede elegir entre presentar un listado de los artículos contenidos en una categoría, o la presentación directa de los artículos en formato blog. En los parámetros básicos de este ítem de menú, se selecciona la categoría que se mostrará, se puede optar entre mostrar o no la descripción de la categoría y la descripción de la imagen de la categoría, siendo en ambos casos “ocultar” la opción por defecto. Más abajo aparecen cuatro casillas en las que se debe introducir un número; la primera se refiere a si se mostrará un artículo destacado, que se mostrará ocupando todo el ancho de la pantalla y en toda su extensión, debiendo colocarse un 1 si se desea y 0 si no se quiere destacar ningún artículo. En la segunda casilla se indica la cantidad de artículos que se mostrarán después del artículo destacado. Cuando un artículo tiene la opción “leer más”, estos solo mostrarán la introducción a los mismos. La tercera casilla sirve para indicar la cantidad de columnas que los artículos no destacados ocuparán, siendo de 1 a 3 las posibilidades. En la casilla enlaces, es donde se colocará la cantidad de enlaces a artículos adicionales que aparecerán al final de los artículos mostrados, para que el usuario tenga acceso a una mayor cantidad de artículos de la categoría. La otra opción es mostrar un listado de la categoría, que tiene una serie de parámetros básicos que permiten configurar la forma en que se mostrará la página resultante. Como en el caso de la presentación en formato blog, primero aparece el listado de categorías, cuyos enlaces a artículos serán mostrados en la página. Luego se encuentra una casilla en la que se puede introducir el número de enlaces a los artículos que se mostrarán. Debajo se puede optar entre mostrar u ocultar el encabezado de la lista de enlaces, que hace referencia al título de la categoría mostrada. Las dos opciones posteriores están referidas a si se mostrará o no la fecha en la tabla con los enlaces, y en caso de mostrarse, el formato de fecha preferido. Esta opción depende del lenguaje que se está empleando. Por último, se debe seleccionar si se introducirá un formulario para filtros que permite a los usuarios filtrar los resultados de acuerdo a la selección por el usuario. Más abajo, aparece la opción donde el filtro es aplicado por defecto, siendo las opciones Autor, Título o Impresiones (cantidad de veces que ha sido visto). Buscar Al seleccionarse este tipo de enlaces internos, al hacer clic el usuario accederá a una página donde se mostrará un formulario de búsqueda y los correspondientes resultados. En los parámetros básicos, puede configurarse si se desea que el usuario pueda optar por limitar las búsquedas a determinadas áreas (artículos, enlaces, contactos, categorías, etc.,) o no, y si se desea que se muestre la fecha de creación en los resultados de las búsquedas. Contactos En Joomla es posible introducir ítems que dirijan al usuario hacia un contacto. Cuando comenzamos a colocar un ítem nuevo de contacto, veremos que contamos con dos opciones. La primera es la que permite presentar un listado de la categoría contactos, mientras que la segunda opción permite acceder directamente a un contacto. Categorías Cuando optamos por la primera opción, se abrirá el siguiente cuadro, con el cual podremos configurar el resultado obtenido tras seleccionar el ítem. Como todos los demás tipos de ítem, deberemos introducir un nombre y un alias, este último con la finalidad de generar un nombre que sea identificable dentro del código PHP, por lo que no es conveniente que contenga espacios separando palabras. En los parámetros básicos, se debe seleccionar la categoría de los contactos que queremos exponer, la cantidad de enlaces a mostrarse en cada vista, la imagen que deseamos que se muestre para ilustrar el contacto (este imagen debe haber sido subida previamente a la carpeta “images / stories”) y la alineación de la misma También pueden configurarse los parámetros del componente. En la primera parte encontraremos un grupo de opciones que permiten seleccionar las imágenes que se verán como ícono de cada uno de los ítems de contacto (email, teléfono, etc.). Luego, en la segunda parte, podremos decidir cuales datos mostrar y cuáles no, además de otras opciones visuales, como la visualización del encabezado de tabla y de la posición del contacto. Contacto individual También es posible establecer ítems que deriven hacia los datos de un contacto individual, donde se mostrará, además de todos los datos de contacto que se configuren, un formulario de contacto para el envío de un email. Esta opción se muestra en Joomla como “Presentación estándar de contacto”. Cuando comenzamos el proceso de introducción de un nuevo ítem de menú y seleccionamos este tipo de ítem, aparecerá la siguiente página para que se haga la configuración correspondiente. En los parámetros básicos seleccionaremos en primera instancia el contacto que será visible luego de seleccionar el ítem del menú. Luego deberemos seleccionar si queremos que se muestre una lista desplegable con los contactos que se encuentran en la misma categoría. También se puede seleccionar si se desea que aparezca la ruta de la categoría en la parte superior de la página. También pueden configurarse, al igual que en el caso anterior, los parámetros del componente. Encuesta Desde cualquiera de los menús, se puede crear un ítem, tal como aparece en el listado de los tipos de ítems, que brinde un acceso a la página donde se encuentran publicadas las encuestas. Para ello, previamente debe haber alguna encuesta publicada. Luego, cuando seleccionamos la introducción de un nuevo ítem, debemos hacer clic en “Presentación de la encuesta”, tras lo cual se abrirá la ventana de configuración del ítem. Luego se sigue el procedimiento normal de introducir el nombre, alias, el modo en que se abrirá y el nivel de acceso. Luego, en los parámetros básicos, solo se debe seleccionar la encuesta a mostrarse. Enlaces Este tipo de ítem muestra todos los tipos de enlaces en las formas que Joomla admite, que son tres. Puede visualizarse una página donde aparecerán todas las categorías de enlaces existentes, una página donde se muestra una de las categorías de enlaces, u otra donde se visualizarán los enlaces enviados por los usuarios de la página, en caso de que esta opción se encuentre habilitada. Cuando se selecciona la primera opción, en los parámetros básicos se puede una imagen que represente los enlaces y su alineación, además de permitir la configuración de RSS. Si se selecciona mostrar una categoría, en los parámetros básicos se seleccionará la categoría que se mostrará y si se desea mostrar un enlace al feed. Por último, cuando se habilita el envío de enlaces por parte de los usuarios, cuando se selecciona este ítem del menú se abre una página donde se muestra un formulario para tal efecto. Servidores de noticias Cuando se cuenta en la página con suscripciones a servidores de noticias, puede accederse a ellos a través de ítems de menú. Para ello, cuando se selecciona un nuevo ítem de menú es posible hacer que se muestre un listado de los servicios, en caso de que estén divididos en categorías, se puede mostrar un listado de las mismas, o puede optarse por seleccionar un solo servidor de noticias. Todas estas opciones son accesibles desde los parámetros básicos, que tienen las mismas opciones que en casos anteriores. Usuarios También es posible crear ítems de menús para que los usuarios accedan a todas las opciones de registro, acceso a cuentas, seleccionar casillas de verificación que permitan recordar nombre de usuario y contraseña y otras opciones que ya describiremos. Generalmente este tipo de ítems se muestran en un menú especialmente destinado a esta función, que por razones de espacio y accesibilidad se encuentran en las columnas izquierda o derecha, aunque Joomla admite que estos menús sean colocados en cualquier ubicación destinada a módulos. Presentación predeterminada Cuando se selecciona “Presentación predeterminada de acceso a la cuenta de usuario”, se genera el acceso a una página que contiene el formulario de acceso de usuarios. Los parámetros básicos tienen en primer lugar un selector para definir si se desea mostrar el título de la página. Luego se debe colocar el título de dicha página, que será mostrado en caso de que se haya seleccionado previamente. Luego se debe seleccionar si se desea mostrar (en caso de que se haya creado el mensaje) un mensaje de ingreso exitoso en una ventana emergente y si se desea mostrar una descripción de cómo se debe realizar el ingreso. Esta descripción tiene un mensaje predeterminado el cual puede ser modificado empleando el área de texto que se encuentra inmediatamente debajo. Debajo del área de texto, se encuentra una lista desplegable de imágenes que permite seleccionar la imagen que se utilizará para ilustrar la página, que tiene una imagen por defecto en caso de que se opte por ella, así como la selección de la alineación de la misma. También es configurable la página de cierre de sesión, en la cual son configurables los mismos parámetros para la página de acceso. Presentación de registro predeterminado Este tipo de ítems abre una página donde se muestra un formulario que contiene los campos necesarios para el registro de un usuario nuevo, como nombre, nombre de usuario, email, contraseña y un campo de verificación de contraseña (donde se debe reingresar la contraseña para verificar que se encuentra bien escrita). Este ítem no tiene parámetros de configuración. Recordar datos de registro También se puede colocar como ítem de menú la clásica opción de recordar los datos con los que se encuentra registrado introduciendo el email. Este tipo de ítems tampoco cuenta con parámetros de configuración, y todo lo que aparece en la página es el título, un campo donde introducir el email y un botón de envío. Restablecer presentación de restablecimiento de contraseña por defecto Similar a la opción anterior, en lugar de recordar la contraseña se genera una nueva contraseña que se envía por email al usuario para que tenga acceso al sistema y pueda luego establecer una nueva contraseña. Al igual que en el caso anterior, esta opción no tiene parámetros de configuración. Presentación de usuario predeterminada Muestra un mensaje de bienvenida cuando se ha ingresado como usuario. El único parámetro de configuración es el mensaje mismo, el cual puede ser incluido en los parámetros básicos. Usar presentación de formulario A esta página se puede acceder solo una vez que se ha registrado e ingresado como usuario en el sistema, ya que presenta una página que contiene un formulario con los datos personales que el sistema requiere. La cantidad de datos que contiene este formulario depende de la configuración de usuarios que la instalación de Joomla posea. URL embebida (Wrapper) Cuando se establece un ítem de este tipo, lo que se abre cuando se selecciona dicho ítem es un IFrame que envolverá a una página interna o externa dentro del sitio Joomla. Al igual que los demás ítems de menú, se deberá colocar un título y un alias. A la derecha, en los parámetros básicos, aparece un campo en el cual se debe colocar la URL de la página que se quiere ver en el IFrame. Como parámetros de configuración aparecen si se desea que aparezcan barras de desplazamiento (si, no, auto) y el ancho y altura del IFrame. Enlace externo Cuando se desea que el ítem de un menú contenga un enlace a una página externa, se debe seleccionar esta opción, colocándose simplemente un título, alias y la URL de la página enlazada. En los parámetros básicos, solo puede seleccionarse una imagen que acompañará al enlace. Separador Esta opción sirve para colocar una separación entre grupos de ítems. A pesar de que contiene campos para rellenar, en caso de que solo se desee que aparezca un espacio en blanco, los mismos deben dejarse sin rellenar. Alias Este tipo de ítems hace que se tome un ítem de otro menú mediante su alias y se establezca también en el menú en el que se está introduciendo. Los parámetros de configuración serán tomados del ítem del menú original, por lo que en este caso no aparecen parámetros de configuración IV. Gestor de artículos Como el cometido de este desarrollo es la gestión de contenidos, es lógico que el panel de control principal contenga accesos directos a la gestión de los mismos. Como se puede apreciar en la siguiente imagen, el panel de control tiene por defecto acceso a la inclusión de un nuevo artículo, al gestor de artículos, al gestor de categorías. Orden lógico Si bien los contenidos pueden ser guardados sin asignarles categorías, es más que conveniente por las razones expuestas, que cada uno de los contenidos se encuentre clasificado. Para incluir un artículo o cualquier otro contenido en una categoría, en primer lugar deberemos tener las categorías necesarias. Siempre que se inicie la inclusión de contenidos en un sitio generado con Joomla, deberemos crear en primer lugar las categorías. Crear una nueva categoría Cuando hacemos clic en “Nuevo” del gesto de categoría, se abre una página donde podremos introducir todos los parámetros de la nueva categoría. Para hacerlo, deberemos introducir el título, alias, determinar si se publicará, el tipo de usuarios que tendrá acceso. Gestor de artículos Una vez que se han creado las categorías necesarias, y aún en el caso de que éstas no existan o no se desee utilizar ninguna, se puede comenzar a crear los artículos. El proceso puede comenzar desde el propio Panel de Control haciendo clic en el ícono “Añadir un nuevo artículo”, haciendo clic en el ícono “Gestor de Artículos”, o acceder al gestor desde el menú (Contenidos / Gestor de Artículos). El Gestor de Artículos tiene una barra de herramientas en la parte superior de la ventana, con los que, al igual que sucede con el gestor de secciones y el gestor de categorías, tiene utilidades para realizar configuraciones en varios artículos a la vez, así como otros que son individuales. Dentro de los primeros, además de los que ya se nombraron en el Gestor de categorías, aparecen dos íconos que permiten archivar y desarchivar artículos antiguos. Buscador y filtros Cuando la cantidad de artículos es muy grande, puede resultar una tarea titánica buscar artículos de acuerdo a ciertos parámetros, por lo que Joomla ofrece un buscador de artículos debajo de la barra de herramientas, que además cuenta con varios filtros que permiten refinar la búsqueda. Los filtros permiten mostrar artículos de determinadas categorías, por autores y por el estado de publicación. Esto hace que el tiempo empleado en la búsqueda de artículos dentro de Joomla se vea reducido sensiblemente. Tabla de artículos Del mismo modo que se listan las categorías en sus respectivos gestores, el Gestor de Artículos muestra los artículos de la página en una tabla, la cual cuenta con las siguientes columnas: 1. Casilla de verificación para señalar uno o más artículos. 2. Título del artículo. 3. Estado de publicación. Esta columna muestra íconos para cada artículo que permite seleccionar el estado de publicación. 4. También es posible modificar desde aquí la aparición o no del artículo en la página principal. Esta función permite que los Administradores seleccionen el material a emplear en la portada de la página web. 5. Al igual que en los otros gestores, se puede determinar desde aquí, además de mostrar el estado, los artículos que serán vistos por los distintos niveles de usuarios. 6. También aparecen columnas donde se indica la sección y la categoría de la publicación, así como su autor y modificar los mismos. 7. Las tres últimas columnas muestran la fecha de publicación, la cantidad de impresiones y el número identificador del artículo. Como crear un artículo en Joomla Para crear un artículo nuevo, tenemos un acceso directo en la página principal del Administrador, es decir, en el Panel de Control. También podremos acceder a la creación de un artículo haciendo clic en el ícono “Nuevo” del “Gestor de Artículos”. En cualquiera de los dos casos, en nuestro monitor aparecerá la ventana “Añadir un nuevo artículo”. En ella, como podemos ver en la imagen de arriba, deberemos colocar el título del artículo y un alias. Este último es el nombre que recibirá el artículo en la base de datos, y por tanto será el que emplee el script para llamarlo y activar su visualización. A la derecha tenemos botones de radio que permiten seleccionar si el artículo será publicado tras ser guardado y si el mismo aparecerá en la página principal. Más abajo, podremos seleccionar categoría a la cual pertenecerá. En caso de no seleccionar ninguna, el artículo aparecerá en el listado con su columna de categoría en blanco, pese a lo cual puede ser publicado. El único problema que existe con los artículos sin categorizar, es que no es posible ubicarlos mediante un buscador interno refinando la búsqueda por categorías. Más abajo aparece el editor de textos, JCE. Parámetros de los artículos A la derecha de la ventana de creación de artículos, aparece el editor de parámetros. En los parámetros básicos, podremos seleccionar el autor del artículo, alias del mismo, el nivel de los usuarios que podrán tener acceso al artículo, la fecha de creación del artículo, la fecha de publicación y la fecha de finalización de la publicación. En caso de que se seleccione una fecha de finalización de la publicación, una vez expirado el período el artículo se ubicará en los artículos archivados. También a la derecha del editor de textos, pero arriba, se encuentra una descripción de las características del artículo. Editar preferencias de los artículos Los artículos pueden aparecer mostrando su título o no. También es posible hacer que los artículos muestren solo un resumen de los mismos, el nombre de la categoría y la sección a la que pertenecen, el autor, fechas de creación, publicación y expiración, el “leer más”, y una larga lista de otros parámetros. Esto se puede configurar abriendo un pop-up con el ícono “Preferencias”, donde se puede configurar la forma en que se mostrarán los artículos. Papelera de artículos Cuando por cualquier circunstancia borramos un artículo del listado, el mismo se guarda en la “Papelera de Artículos”. El artículo borrado no se pierde, aunque no aparecerá publicado. Para acceder a la papelera de artículos, deberemos seleccionar en la siguiente ruta “Gestor de Artículos / Papelera de Artículos”. Una vez dentro de la papelera, podremos restituir los artículos que allí se encuentran, o borrarlos en forma definitiva. Archivado de artículos Cuando los artículos tienen una fecha de expiración y la misma es superada, el artículo se archiva. También es posible archivar el artículo en forma manual. Para ello se debe emplear el ícono que se encuentra en la barra de herramientas de la parte superior del listado de artículos. El artículo archivado será visible desde el listado, pero no se podrá publicar ni modificar. Es posible, teniendo los permisos adecuados para ello, desarchivar artículos, para lo cual se cuenta con un ícono en la barra de herramientas. V. Gestor de extensiones Las extensiones son pequeños programas que suministran al sistema de funcionalidades que la versión estándar de Joomla no provee. Las extensiones de Joomla pueden ser desde el agregado de pequeñas funcionalidades, como por ejemplo el agregado de un formulario de contacto o un sistema de comentarios tipo blog, hasta las más complejas, como por ejemplo los complementos para tiendas virtuales o foros, que son aplicaciones mucho más complejas. Las extensiones se dividen en cinco tipos diferentes: 1. Componentes: Los componentes son aplicaciones que modifican totalmente el cuerpo de la página, y generalmente cuentan con un sistema de administración propio, accesible desde el administrador de Joomla. 2. Módulos: Los módulos son aplicaciones más pequeñas que los componentes, y por lo general sirven para mostrar algunos elementos en una, algunas o todas las páginas. No modifican sustancialmente el cuerpo de la página de Joomla. 3. Plugins: Son secciones de código que se agregan al código de Joomla cuando se producen determinados eventos. Por ejemplo, el plugin “page-break” ejecuta un código que permite la visión parcial de un artículo acompañado de un botón “leer más” cuando esta función se ha introducido en un artículo. 4. Lenguajes: Joomla cuenta originalmente con el idioma inglés, lo que puede ser modificado, tanto en el front-end como en el back-end, mediante la utilización de estas extensiones, sin necesidad de que se produzcan modificaciones en el código original de Joomla. 5. Plantillas: Las plantillas son las extensiones encargadas de dar el aspecto visual, tanto del front-end como del back-end. Las plantillas no solo modifican el diseño gráfico de la página Joomla, sino que además otorga ubicación a cada uno de los elementos componentes, organizándolos en varias posiciones predefinidas en la plantilla. Instalación de extensiones A continuación veremos una captura de pantalla del cuadro de instalación de extensiones de Joomla. En el primer campo del cuadro, podremos explorar en nuestro disco duro y seleccionar una extensión comprimida. Joomla se encargará de subir el archivo, descomprimirlo e instalarlo. En el segundo cuadro, podremos introducir una ruta a algún directorio de la instalación de Joomla donde se encuentra una extensión; esta opción sirve en los casos en que la extensión ha sido subida por FTP y solo se puede emplear cuando se encuentra descomprimida. La tercera opción, permite que Joomla descargue directamente la extensión desde la web del proveedor de la misma, lo que iniciará un proceso de descarga, descompresión e instalación. Actualización de extensiones La segunda pestaña de la ventana, permite acceder a la página donde se pueden realizar actualizaciones de las extensiones instaladas. Esta es una de las novedades que presenta Joomla. En la pantalla aparece un listado de las extensiones que cuentan con esta función incorporada. Una vez que se solicita la actualización, el sistema verificará la existencia de la misma y hará la descarga e instalación. Gestor de extensiones La tercera pestaña pertenece al gestor de extensiones propiamente dicho. Consta de un listado de todas las extensiones instaladas. Varias de las operaciones que pueden realizarse sobre las extensiones, pueden realizarse desde aquí, sin necesidad de ingresar a la configuración individual de cada una. La primera columna contiene las casillas que permiten seleccionar una o varias extensiones, tras lo cual pueden realizarse acciones de bloque (publicación, quitado de la publicación y desinstalación). La segunda y tercera columna contienen información; la segunda proporciona el nombres de la extensión, y la tercera el tipo de extensión. La siguiente columna muestra el estado de publicación de la extensión, y haciendo clic sobre el ícono contenido en la celda correspondiente, es posible modificar este estado. Las dos siguientes columnas muestran la versión y la fecha de creación. Las dos siguientes columnas también son informativas, y se refieren a la carpeta donde se encuentra alojada la extensión (en el caso que sea posible, ya que algunas extensiones se alojan en varias carpetas) y la locación de la misma (si pertenece a la página o al administrador). Finalmente, las dos columnas finales corresponden a la información del autor de la extensión y al número de identificación interno de Joomla. Al igual que en todos los casos en que la ventana del administrador muestra una tabla, esta presenta en su parte superior un buscador con diferentes opciones de filtrado, además de permitir ordenar la misma utilizando varios de los títulos de las columnas. Descubrir extensiones en Joomla La siguiente pestaña corresponde a otra de las novedades que presenta Joomla. Este es un sistema que permite instalar aquellas extensiones que por su tamaño no puede hacerse por el procedimiento normal. Para realizar este tipo de instalaciones, primero debe subirse la extensión descomprimida al servidor y ubicarla en el directorio correspondiente. Luego se utiliza esta funcionalidad para localizar e instalar este tipo de extensiones. También es posible instalar varias extensiones a la vez, haciendo la selección correspondiente. El sistema detecta en forma automática aquellas extensiones que se encuentran en el sitio y no han sido instaladas. Luego de encontrarlas, las muestra en el listado. Para instalar estas extensiones, se activa la o las casillas de verificación correspondientes y se hace clic en el botón instalar de la barra de herramientas que se encuentra en la parte superior de la tabla. En esta tabla, solo se muestra la información de las extensiones (nombre, tipo, versión, fecha, carpeta, cliente, autor y número de identificación) y solo se pueden realizar acciones sobre las mismas mediante el proceso realizado con la selección de la misma y utilizando las herramientas de la barra. Las herramientas que se encuentran en la barra son los botones de instalación, que instala las extensiones señaladas, descubrir, que hace una revisión de las carpetas de extensiones localizando y listando las extensiones no instaladas, purga del caché, que limpia el listado, y opciones, que abre la ventana de configuración del instalador. Procedimiento de búsqueda e instalación Para utilizar esta nueva funcionalidad, se deben seguir los siguientes pasos: 1. Subir la extensión al servidor. Para que el sistema detecte la nueva extensión, primero debe ser subida al servidor por FTP y ubicada en la carpeta correspondiente al tipo de extensión (components, modules, plugins, languages y templates). La extensión debe estar contenida en una subcarpeta (en caso de que no se encuentre así originalmente debe crearse una a tales efectos) y los archivos deben mantenerse en el orden original. 2. Una vez subidos los archivos, desde la pantalla “Descubrir” del Gestor de extensiones, se debe hacer clic en el botón “Descubrir” para que Joomla inicie el proceso de búsqueda de las extensiones no instaladas. Joomla listará todas las extensiones no instaladas que sean compatibles con esta versión. 3. Luego deben señalarse las extensiones que se desean instalar, mediante el uso de las casillas de verificación correspondientes, y se debe hacer clic en “Instalar” de la barra de herramientas, con lo que finaliza el proceso de instalación. Ventana de advertencias La última pestaña muestra las advertencias sobre conflictos generados en las extensiones. Esta ventana solo provee información, y en caso de que aparezcan errores o advertencias, estos conflictos deben solucionarse mediante la reinstalación de las extensiones u otras medidas, de acuerdo al mensaje recibido.