Gestor de contenidos web ASP.NET



Documentos relacionados
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

Novedades de Adobe Dreamweaver CS5

WINDOWS : TERMINAL SERVER

PRESENTACIÓN DEL PRODUCTO

MANUAL DE USO DE LA APLICACIÓN

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Guía de instalación de la carpeta Datos de IslaWin

Manual hosting acens

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Plataforma Helvia. Manual de Administración Administración General. Versión

SBConta.NET Manual de instalación. SBSS Consulting, S.A Barcelona Telf , fax web

Novedades. Introducción. Potencia

Notas para la instalación de un lector de tarjetas inteligentes.

Guía de uso del Cloud Datacenter de acens

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

MANUAL DE LA APLICACIÓN CEXVEG Campañas Específicas de Exportación

Toda base de datos relacional se basa en dos objetos

CÓMO ADMINISTRAR TU SITIO WEB Y PUBLICAR

STRATO LivePages Inicio rápido

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Internet Information Server

VideoSoftPHONE Active Contact

Operación Microsoft Access 97

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

WINDOWS XP. Está situada en la parte inferior, muestra información sobre el trabajo que estamos desarrollando en la ventana

Plantilla de texto plano

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Manual de administración Administración General V

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Ajustes del Curso en egela (Moodle 2.5)

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

CASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)

Microsoft Access proporciona dos métodos para crear una Base de datos.

Entorno Virtual Uso educativo de TIC en la UR Tutorial de uso de:

Sistema de SaaS (Software as a Service) para centros educativos

Manual Oficina Web de Clubes (FBM)

Eficiencia en la Automatización y Gestión de Servicios

CAPÍTULO 3 VISUAL BASIC

Antivirus PC (motor BitDefender) Manual de Usuario

Figura No. IV-111. Página No. 125

Curso Online de Microsoft Project

Colegio de Ingenieros de Caminos, Canales y Puertos. Manual de Gestión de correo electrónico y SMS

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:

Introducción a las redes de computadores

La plataforma educativa Helvia.

WINDOWS. Iniciando Windows. El mouse

Web ITSM -GUIA RÁPIDA DE USUARIO-

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

Guía Rápida de Inicio

MANUAL TRAMITACIÓN PROCEDIMIENTO

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

Guía de instalación 1

Para instalar el software FacturaScripts, primero deberemos descargarlo. Para ello, accedemos a la url:

Marta Soler Tel: Fax: TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Tutorial básico. Apunte creado por imedia Creativa

. ConSix Gestión. Abogados. Versiones Home / Advance. Manual de Instalación. Copyright

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Manual de usuario del software de marketing de fidelización de clientes Hermes

CONVERSOR LIBROS DE REGISTRO (IVA IGIC) Agencia Tributaria DEPARTAMENTO DE INFORMÁTICA TRIBUTARIA

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

GENERACIÓN DE TRANSFERENCIAS

Versiones Home / Profesional

GUÍA BÁSICA USUARIO MOODLE 2.6

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Contenido. cursos.cl / Teléfono:

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

Manual de usuario del Centro de Control

MANUAL DE USUARIO PANEL DE CONTROL Sistema para Administración del Portal Web.

GedicoPDA: software de preventa

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

Workflows? Sí, cuántos quiere?

FOROS. Manual de Usuario

Formularios. Formularios Diapositiva 1

Ejecución del programa de instalación de Windows XP

Sistema para el control y tramitación de documentos SITA MSc. María de la Caridad Robledo Gómez y Ernesto García Fernández.

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Introducción a Visual Studio.Net

Manual de Palm BlueChat 2.0

WINDOWS : COPIAS DE SEGURIDAD

SERVICIOS PARA EL DISEÑO E IMPLEMENTACIÓN DEL PROGRAMA INTEGRAL DE TRANSFORMACIÓN DIGITAL DE LA PROVINCIA DE LUGO: TRANSFORM@TIC

El ejemplo de wiki más conocido es la enciclopedia universal colaborativa wikipedia.

MANUAL DE. manual de Joomla JOOMLA

3. Número inicial y número final de mensajes mostrados en la página actual.

Joomla! La web en entornos educativos

Transcripción:

PFC Memoria del proyecto de Ingeniería Técnica en Informática de Sistemas realizado por Ricard Blasco Turón Y dirigido por Marc Talló Sendra Escola d Enginyeria Sabadell, Juny de 2010

El abajo firmante, Marc Talló Sendra, profesor de l'escola d Enginyeria de la UAB, CERTIFICA: Que el trabajo al que corresponde esta memoria ha sido realizado bajo su dirección por Ricard Blasco Turón Y para que conste firma la presente. Sabadell, Junio de 2010 ----------------------------------------------- Firmado: Marc Talló Sendra

Resumen Mediante el presente documento se pretende describir el proceso de creación de una herramienta de tipo CMS (Gestor de contenidos). Conretamente, se desarrollará una herramienta que permita al usuario crear su propio sitio web sin necesidad de tener conocimientos de programación. Debido a la gran variedad de sitios web tanto en su forma como en su contenido y ante la imposibiliad de abarcar todo el espectro desde la primera versión del producto, se centrarán los esfuerzos en obtener una aplicación sencilla pero funcional y, sobretodo, escalable, para que mediante futuras actualizaciones se puedan ir incrementando sus posibilidades y capacidad. Además de para desarrollar una herramienta útil, este proyecto ha servido para poner en práctica los conocimientos adquiridos durante la carrera (especialmente en lo referente a estructura de datos), para adquirir experiencia en la programación de aplicaciones web y para conocer de primera mano algunos de los errores comunes en la planificación de proyectos real.

INDICE 1. INTRODUCCIÓN 8 1.1 Introducción 8 1.2 Objetivos 8 1.3 Estado del arte 8 1.4 Estructura de la memoria 16 2. ESTUDIO DE VIABILIDAD 17 2.1 Introducción 17 2.2 Objetivos 17 2.3 Especificaciones 18 2.3.1 Especificaciones funcionales 18 2.3.2 Especificaciones no funcionales 21 2.3.3 Especificaciones técnicas 22 2.4 Planificación 22 2.5 Análisis de costes 24 2.5.1 Software 24 2.5.2 Hardware 24 2.5.3 Horas de trabajo 25 2.5.4 Coste total 26 2.6 Análisis de riesgos 26 2.7 Conclusiones 26 3. FUNDAMENTOS TEÓRICOS 27 3.1 Introducción 27 3.2 Arquitectura de la aplicación 27 3.3 Alternativas y tecnología utilizada 28 3.3.1 Servidor web 28 3.3.2 Sistema gestor de bases de datos 30 4. ANÁLISIS 35 4.1 Introducción 35 4.2 Tipos de usuario y ámbitos de la aplicación 35 4.3 Especificaciones funcionales 36 4.3.1 Pantalla de entrada 36 4.3.2 Administración 40 4.3.3 CMS 43 4.4 Diseño de la base de datos 53 5. DISEÑO 58 6. IMPLEMENTACIÓN 60 6.1 Descripción técnica 60 6.2 Estructura de la aplicación 60 6.2.1 Capa de presentación 60

6.2.2 Capa de negocio 65 6.2.3 Capa de datos 70 6.3 Herramienta de soporte para la implementación 73 6.4 Componentes externos utilizados 74 6.5 Instalación y configuración del servidor 77 6.5.1 Base de datos 77 6.5.2 Servidor web 79 6.5.3 Otras configuraciones 81 7. PRUEBAS 83 8. CONCLUSIONES 86 9. BIBLIOGRAFÍA 89

CAPÍTULO 1: INTRODUCCIÓN 1.1 Introducción Cuando hace unos años Internet se popularizó y llegó hasta los hogares, la mayoría de sitios Web que la conformaban pertenecían a empresas e instituciones públicas. Estos primeros sitios Web apenas permitían la interacción del usuario y se actualizaban con muy poca frecuencia. Con el paso del tiempo el contenido de Internet ha ido adquiriendo dinamismo y se ha hecho más accesible para todos. Hoy en día prácticamente todo el mundo tiene su sitio Web personal, sitio que se actualiza casi a diario y que permite la participación activa de los visitantes y usuarios. Ante esta proliferación de sitios Web personales, con su necesidad de constante actualización, el concepto de desarrollo Web también ha tenido que cambiar. Se ha tenido que eliminar la dependencia del desarrollador Web. Se han tenido que crear herramientas para que el usuario no informático pueda crear y mantener su propio sitio Web. Estas herramientas se denominan Sistemas gestores de contenido (o CMS). La complejidad de muchos sitios Web hace que siga siendo necesaria la figura del desarrollador Web, pero para la gran mayoría de páginas de carácter personal e incluso portales de pequeñas y medianas empresas, la funcionalidad que aportan estos gestores de contenido es más que suficiente, permitiendo que personas en todo el mundo, sin tener apenas nociones informáticas, puedan crear y mantener su propia página Web. 1.2 Objetivos Se pretende desarrollar una herramienta que permita generar y gestionar sitios Web, dando especial importancia a las siguientes características: 1) Polivalencia: la herramienta debe ofrecer múltiples posibilidades para generar sitios Web variados tanto en su forma como en su contenido. 2) Accesibilidad: es muy importante que la herramienta pueda ser utilizada por el máximo número de personas, con independencia de su nivel de conocimientos informáticos. 3) Escalabilidad: el sistema tiene que ser lo más abierto posible, Internet está en constante evolución y el producto tiene que permitir en la medida de lo posible la incorporación de nuevas funcionalidades y mejoras. 4) Económicamente accesible: el uso de la herramienta desarrollada tiene que tener un coste cuanto más bajo mejor, a ser posible gratuito. 1.3 Estado del arte Actualmente existen muchos sistemas gestores de contenido en el mercado. Se busca una herramienta económica y fácil de utilizar así que no todos ellos son alternativas válidas al software que se pretende desarrollar. Las opciones comerciales (o de pago ) quedan prácticamente descartadas: por lo general se trata de productos destinados al entorno empresarial y que cuestan miles de euros. En cuanto a las alternativas de libre distribución, no todas ellas son lo sencillas que cabría esperar, algunas de las más populares requieren de una instalación adicional en el PC local, hecho que choca por completo con el segundo de nuestros objetivos: la accesibilidad. Otras son fáciles de manejar pero limitadas en tanto que todos los sitios Web que generan son muy similares entre sí. A continuación se analizan las alternativas más serias: Universitat Autònoma de Barcelona (UAB) Página 8 de 91

Drupal Drupal es junto a Joomla! uno de los CMS que mejor relación sencillez-funcionalidad aportan. Buscando en Internet es fácil encontrar servicios de hosting gratuitos que ofrezcan la posibilidad de administrar sitios Web mediante Drupal (por ejemplo Freedrupal5hosting.com) sin necesidad de realizar ninguna instalación previa. Drupal: Panel de administración El menú de administración ofrece las opciones más comunes: configuración visual de la Web, gestión de contenidos, definición de usuarios y roles, etc. Drupal: edición de contenidos Dos grandes problemas sin duda son el idioma de la interficie y la inclusión sistemática de propaganda en la Web. El segundo se soluciona contratando un hosting de pago; el primero tiene más difícil solución: para utilizar Drupal en español lo mejor es instalarlo en el propio ordenador, opción que se descartó. Además, el sistema de administración en general es demasiado técnico. Sin ir más lejos, el editor de contenido que se ofrece por defecto espera que el usuario introduzca directamente código HTML o que se limite a crear páginas de texto plano. Drupal es un muy buen CMS pero no está orientado hacia el tipo de usuario que nosotros pretendemos satisfacer. Universitat Autònoma de Barcelona (UAB) Página 9 de 91

Sitio oficial: http://drupal.org Joomla! En 2005 la comunidad de desarrolladores y usuarios del CMS Mambo se fracturó porque los propietarios de la herramienta decidieron limitar las condiciones de la licencia de uso de su software. Desde entonces, unos se dedicaron a mantener Mambo mientras que otros crearon el que a día de hoy es uno de los CMS de libre distribución más utilizados y con más futuro: Joomla! Como ocurre con Drupal, no es difícil encontrar servicios de hosting gratuitos que ofrezcan Joomla! ya instalado (por ejemplo www.freejoomlas.com). Tras un proceso de registro muy sencillo el usuario puede empezar a configurar su Web y a publicar contenido. Como ya se comentó, este tipo de servicios presentan una serie de problemas: interficie de administración en inglés, propaganda por toda la Web y limitaciones en muchos aspectos (número de visitas, espacio en disco, tamaño de los archivos...). Joomla!: Panel de control Más allá de estos inconvenientes, el panel de control es muy claro y amigable gracias al uso de numerosos iconos y a una distribución eficaz de las diferentes áreas y opciones. Además, en la página principal se presentan una serie de accesos directos para que el usuario ni tan siquiera necesite bucear por los menús para realizar las tareas más comunes. Dentro de los parámetros de configuración, una opción bastante interesante que ofrece Joomla! es la de poder deshabilitar el sitio Web temporalmente, muy útil por ejemplo para hacer pruebas o actualizaciones cuando no se dispone de entorno de pruebas. En cuanto a la gestión de usuarios, este CMS no permite al administrador crear sus propios perfiles: el sistema ofrece una serie de roles preestablecidos muy orientados al control y publicación de contenido (autor, editor, publicador, administrador ). Universitat Autònoma de Barcelona (UAB) Página 10 de 91

Joomla!: Definición de usuarios Este comportamiento impide por ejemplo publicar un listado con precios y definir con exactitud qué usuarios podrán acceder a él, tarea muy necesaria en sitios Web de carácter más empresarial. La edición de contenidos es muy completa (apta tanto para los usuarios noveles como para los más avezados) y la gestión del diseño ofrece muchas posibilidades (existen decenas de plantillas para cambiar el aspecto visual del sitio Web, con la interesante característica de poder establecer para cada elemento de la página el estilo de una plantilla diferente). En general las opciones y el manejo resultan bastante satisfactorios por lo que Joomla! constituye una alternativa realmente interesante para quienes deseen administrar un sitio Web tipo Blog (*) o de publicación de noticias. Si se precisa de más funcionalidad habrá que barajar otras posibilidades. Sitio oficial: http://www.joomla.org Typo3 y Movable Type Herramientas muy potentes pero sobretodo orientadas al mundo corporativo. Tanto las interficies de administración como la gran mayoría de información que se encuentra en Internet están en inglés. Además, Movable Type no es estrictamente libre, hay que pagar a partir de la versión Business lo que significa que utilizando versiones inferiores nuestro horizonte está limitado. Universitat Autònoma de Barcelona (UAB) Página 11 de 91

Movable Type: configuración de comentarios Por si esto fuera poco y, debido a los requerimientos que presentan ambos sistemas y al tipo de usuarios a los que van destinados, encontrar servicios de hosting gratuitos con las herramientas instaladas y preparadas para trabajar es prácticamente imposible. Para Typo3 hay algunas posibilidades, pero el periodo gratuito está limitado en el tiempo; para Movable Type hay que pagar. Typo3: interficie de administración Precio, idioma y complejidad: estos dos CMS no son una alternativa a considerar en nuestro caso. Sitios oficiales: http://typo3.com y http://www.movabletype.org Universitat Autònoma de Barcelona (UAB) Página 12 de 91

Zikula Hasta hace poco una de los más célebres CMS fue sin duda PHP-Nuke. A partir de éste y con el propósito de solucionar problemas de eficiencia y sobretodo de seguridad se creó PostNuke. A mediados de Junio de 2008 PostNuke adoptó el nombre de Zikula. PHP-Nuke sigue existiendo aunque muchos servicios de hosting se niegan ya a alojar sitios Web gestionados con el mismo debido a los problemas antes mencionados. Encontrar servicios de hosting gratuitos que suministren PostNuke/Zikula preinstalado es muy difícil, esto implica que el usuario debe instalar el CMS en su propio ordenador y subir posteriormente el sitio Web a un hosting con soporte PHP-MySQL. En nuestro caso ésta es razón suficiente para desestimar el uso de Zikula. Sitio oficial: http://zikula.org WordPress Lo primero que destaca en este gestor de contenidos es su accesibilidad, no hay más que ver el formulario de registro de la página oficial: WordPress: formulario de registro Durante el registro se pueden configurar de manera muy fácil el idioma de la interficie de administración y el comportamiento del sitio Web respecto a los principales buscadores. Universitat Autònoma de Barcelona (UAB) Página 13 de 91

WordPress: panel de control En general las opciones que ofrece WordPress son sencillas pero suficientes: estadísticas básicas (palabras buscadas, enlaces seleccionados, entradas más visitadas ), configuración del diseño por temas, uso de Widgets (*) (incrementando con ello la flexibilidad funcional del CMS) y una gestión y edición de contenidos muy simple y directa. Claramente WordPress es una herramienta orientada a todos los públicos: desde la página oficial, de forma gratuita y con un par de clicks, el usuario puede estar ante el panel de control en español de su sitio Web. Además de la no necesidad de buscar hosting gratuito, este CMS ofrece otras características interesantes: compatibilidad con la innovadora tecnología Gears (*), módulo anti-spam Akismet (*) incorporado y la posibilidad de Importar contenido desde otros CMS (como Movable Type o Blogger por ejemplo). El principal inconveniente de wordpress está muy relacionado con su principal virtud: al ser tan sencillo sus posibilidades son bastante limitadas. La opción de incorporar Widgets atenúa esta carencia pero en este caso también hay problemas: WordPress no permite el uso de scripts de usuario (*) en los sitios Web alojados en sus servidores. La gestión de usuarios y perfiles es prácticamente testimonial: por defecto sólo se ofrecen 4 roles, que pueden ser asignados a otros usuarios de WordPress para permitir que colaboren en la edición de contenidos de nuestro sitio Web. Otra pega importante es la lentitud del servicio en general y de la administración en particular: gestionar los contenidos del sitio Web se pude convertir en una tarea bastante desesperante. Se soluciona alojando la Web en un servidor de pago, pero esta no es una opción en nuestro caso. WordPress es un CMS muy asequible, tanto por su precio como por su sencillez, dirigido a la generación de sitios Web de tipo personal basados en la publicación de contenido a base de texto e imágenes. Demasiado simple para nuestro propósito. Sitio oficial: http://es.wordpress.com Blogger Blogger es la herramienta que ofrece Google para la creación de páginas Web personales. Siguiendo la misma línea que WordPress, el servicio es totalmente gratuito y si cabe aún más sencillo en todos sus aspectos. Universitat Autònoma de Barcelona (UAB) Página 14 de 91

Blogger: diseño del sitio La administración y publicación de contenidos son muy sencillas, tanto que todos los sitios Web alojados en Blogspot parecen prácticamente el mismo. Es la alternativa más sencilla pero también la más básica y limitada. Sitio oficial: http://www.blogger.com DotNetNuke Destaca como principal característica de este CMS el hecho de que esté implementado mediante tecnología Microsoft y que por lo tanto permita trabajar bajo entorno ASP.NET (*) y utilizar SQLServer (*) como sistema gestor de base de datos. Como los presentados hasta ahora, este producto es gratuito, de código abierto y libre distribución. Sin embargo DotNetNuke presenta dos grandes problemas: 1) el usuario puede utilizar el software libremente pero encontrar un servicio de hosting gratuito para alojar una Web que utiliza IIS (*), SQLServer y ASP.NET es prácticamente una quimera. 2) la instalación del entorno necesario en un ordenador local es demasiado compleja incluso para usuarios con conocimientos informáticos. En nuestro caso éstas son dos razones de peso para descartar DotNetNuke. Conclusiones Tras este análisis se pueden obtener varias conclusiones: 1) Los usuarios sin los conocimientos informáticos necesarios para realizar complejas instalaciones en su equipo y con pocas nociones de inglés se tienen que limitar a construir sitios Web más bien sencillos y parecidos entre ellos. 2) La gran mayoría de los gestores de contenido disponibles han sido desarrollados y funcionan sobre entorno LAMP (Linux, Apache, MySQL, PHP *), las alternativas en este sentido son muy escasas. Por estas razones y para eliminar la dependencia que puede generar el uso de herramientas desarrolladas y mantenidas por terceros, se considera una buena opción la implementación de nuestro propio CMS. Universitat Autònoma de Barcelona (UAB) Página 15 de 91

1.4 Estructura de la memoria Este documento estructura sus contenidos según el siguiente esquema: Introducción: se citan los objetivos generales del proyecto y se detalla el estudio de productos similares, realizado con el fin de buscar carencias funcionales y obtener ideas. Estudio de viabilidad: detalle de los objetivos a cumplir, estimación de costes para llevar a cabo el proyecto, planificación temporal y conclusiones en referencia a la viabilidad del proyecto. Fundamentos teóricos: bases teóricas sobre las que se asenta la aplicación. Descripción de la arquitectura general de la misma. Discusión de las alternativas tecnológicas disponibles para la implementación. Selección del marco de trabajo definitivo. Análisis: definición de los ámbitos de la aplicación. Definición de los tipos de ususario de la aplicación. Explicación detallada de cada uno de los requisitos funcionales de la aplicación, incluyendo diagramas de casos de uso y de flujo. Presentación del diseño de la base de datos y explicación detallada del mismo. Diseño: criterios de diseño de la aplicación. Tipos de pantalla. Formato de los campos. Objetivos del diseño. Implementación: descripción detallada de las tres capas que forman la aplicación, de la relación entre ellas y de sus componentes. Descripción de la herrmaienta desarrollada para dar soporte durante la fase de implementación del proyecto. Enumeración de los componentes externos utilizados para cubrir ciertas funcionalidades. Detalle del proces de instalación de la aplicación en un servidor de producción. Pruebas: resumen de los procesos de pruebas a los que ha sido sometida la aplicación. Problemas que se han encontrado y sus posibles soluciones. Conclusiones: análisis de las desviaciones sufridas por el proyecto respecto a la planificación inicial. Futuras mejoras. Valoración final. Universitat Autònoma de Barcelona (UAB) Página 16 de 91

CAPÍTULO 2: ESTUDIO DE VIABILIDAD 2.1 Introducción En Internet existe gran variedad de sitios: páginas corporativas, tiendas virtuales, foros públicos, casas de apuestas... La creación y mantenimiento de estas Web suele ser tarea de equipos de profesionales, desarrolladores Web experimentados y con grandes conocimientos técnicos. Sin embargo existen otro tipo de páginas Web: las páginas Web personales o Blogs. Éstos son sitios mucho más sencillos, a menudo gestionados por el propio usuario mediante herramientas conocidas como sistemas gestores de contenido (o CMS). Estas herramientas permiten a cualquier usuario, independientemente de sus conocimientos a nivel de programación Web, crear y actualizar su página Web de forma fácil y económica. Mediante la consecución del presente proyecto se pretende desarrollar un sistema gestor de contenidos accesible a cualquier tipo de usuario y que sea capaz de generar sitios Web de apariencias, contenidos y estructuras muy variadas, incrementando con ello las posibilidades que a día de hoy ofrecen los CMS actuales para el desarrollo de páginas Web de carácter personal. 2.2 Objetivos El objetivo principal de este proyecto consiste en crear un sistema que permita generar y mantener sitios Web de carácter personal. Los usuarios que deseen utilizarlo deberán registrarse. Tras ello, podrán acceder a la interficie de administración de su propio sitio Web. Esta interficie debe permitir al propietario del sitio Web realizar las siguientes tareas: Configurar la estructura del sitio (disposición de los elementos en la pantalla). En este aspecto el sistema tiene que ser muy flexible (de lo contrario sucederá lo que sucede con la mayoría de CMS orientados a la creación de Blogs: todas sus Web se parecen entre sí). Permitir incluir contenidos de tipo variado: páginas con entradas tipo noticias, páginas de contenido general, imágenes, encuestas, menús Gestionar el acceso al sitio Web mediante usuarios y perfiles. El propietario del sitio Web debe poder definir tantos perfiles de acceso como quiera y para cada uno de ellos podrá determinar el aspecto de la Web, los contenidos y las acciones que se le permite realizar. A su vez, también deberá poder gestionar los usuarios y determinar con qué perfil accede cada uno al sitio Web. El sistema también permitirá generar sitios Web en los que el acceso anónimo no esté permitido. Consultar indicadores y estadísticas que le ayuden a conocer aspectos como las páginas de su Web más visitadas o los usuarios más activos. Realizar copias de seguridad de su sitio Web y poder restaurarlas en caso de ser necesario. Acceder a un sistema de ayuda que le permita conocer de forma rápida y clara cómo se llevan a cabo las tareas principales. El funcionamiento del sistema tiene que ser claro y lo suficientemente intuitivo como para que incluso los usuarios sin nociones de desarrollo Web puedan utilizarlo. Universitat Autònoma de Barcelona (UAB) Página 17 de 91

2.3 Especificaciones 2.3.1 Especificaciones funcionales Administración y usuarios La página principal de la aplicación permitirá identificarse como usuario, registrarse como nuevo usuario o solicitar una nueva contraseña en caso de pérdida. La aplicación presentará dos tipos de usuario: los administradores de la aplicación y los usuarios del CMS. Tras identificarse en la página principal, se accederá a una u otra interficie de según el tipo de usuario. Los administradores de la aplicación gestionarán a los usuarios del CMS, podrán consultar las estadísticas que afecten a todo el sistema y atender a las peticiones que los usuarios del CMS les hayan mandado mediante la opción contactar con los administradores. La gestión de los usuarios CMS permitirá altas, ediciones y bajas. También se podrá bloquear y desbloquear usuarios y activar usuarios que hayan emitido una solicitud de registro desde la página principal. Las estadísticas que los administradores podrán consultar se referirán al número de Sitios Web virtuales creados, espacio de disco ocupado por cada sitio y los tipos de página y tipos de módulo utilizados. Estas estadísticas deberán permitir al administrador detectar qué características son las más y las menos utilizadas por los usuarios CMS, para poder así concentrar los esfuerzos en los aspectos que más interés tengan. Cuando se atiendan las peticiones de los usuarios CMS, se marcarán estas peticiones como atendidas y opcionalmente se podrá responder al usuario desde la misma pantalla mediante un sencillo formulario. Tras identificarse en la página principal, los usuarios del CMS accederán a una interficie que les permitirá gestionar su sitio Web virtual. Las tareas que se podrán llevar a cabo desde esta interficie se detallan a continuación. Gestión CMS: Distribuciones El usuario podrá definir tantas distribuciones de pantalla para su sitio Web como desee (Layouts). Para cada distribución se definirá el nombre y una descripción. Siempre habrá una distribución por defecto (solo una), que será la que verán los visitantes para cuyo perfil de acceso no se haya definido ninguna distribución concreta. El usuario podrá especificar cuál es la distribución por defecto de entre todas las que tenga creadas. El sistema no permitirá eliminar la distribución por defecto. Cuando se cree un nuevo sitio Web virtual, se creará automáticamente una distribución por defecto. Cuando se defina una distribución, se podrá escoger entre utilizar marcos (o frames) y no utilizarlos. Si no se utilizan marcos, se tendrá que especificar una página principal. En caso de utilizar marcos, se podrá dividir la pantalla hasta en 7 zonas. El marco central siempre será visible, los 4 laterales, el superior y el inferior podrán mostrarse u ocultarse. Para cada marco visible el usuario deberá definir la página Web a mostrar. El usuario podrá configurar el tamaño de los marcos de forma fácil e intuitiva, sin tener que especificar medidas en píxeles ni nada por el estilo. En las distribuciones con marcos, el usuario podrá definir el estilo de los bordes. Universitat Autònoma de Barcelona (UAB) Página 18 de 91

Gestión CMS: Contenidos El contenido de un sitio Web virtual se presentará en forma de páginas y módulos. Las páginas serán el equivalente a páginas Web, los módulos serán bloques de código con funcionalidades específicas y que se mostrarán en el sitio Web incrustados en páginas contenedoras de módulos. El usuario podrá gestionar todas las páginas de su Web de forma intuitiva y clasificarlas en carpetas tipo explorador de Windows. Se le permitirá crear, editar y eliminar carpetas, y mover elementos (páginas y carpetas) de una carpeta a otra. Se podrán crear diferentes tipos de página según su funcionalidad: - páginas de contenido general - páginas de noticias - páginas contenedoras de módulos El sistema será lo suficientemente abierto como para poder ir incorporando nuevos tipos de página. Cada tipo de página presentará una serie de acciones posibles a realizar sobre ella, los permisos sobre estas acciones se definirán a nivel de perfil de acceso. Cuando se cree una página, se especificará obligatóriamente el nombre, tipo y la ubicación (carpeta). Tras crear una página, se podrá definir su contenido, que variará en función del tipo de página. Tras crear una página también se podrán definir los permisos de acceso por perfil (permitido o denegado según perfil). Para las páginas de contenido general, el usuario dispondrá de un editor tipo WYSWYG (arrastrar y soltar). Este editor permitirá escribir texto con formato (tipo de letra, colores, tamaño ), crear tablas, incrustar imágenes y enlaces. Durante la edición de páginas de carácter general se dispondrá de la opción de previsualizar la página, para que el usuario no tenga que guardar e ir a su sitio Web cada vez que desee comprobar cómo queda la página. Para las páginas de tipo contenedor de módulos, el programa presentará al usuario la pantalla dividida en cuadrículas y éste sólo tendrá que arrastrar los módulos hasta la posición en la que desee que aparezcan. Un mismo módulo solo podrá aparecer una vez por página. Para las páginas de tipo noticias, el usuario especificará el número de noticias por página y el formato de las mismas, pudiendo ocultar o mostrar campos según desee (título, fecha, autor y etiquetas). También se permitirá al usuario decidir si las noticias admiten comentarios por parte de los visitantes o no. Para cada noticia se podrán asociar hasta 3 etiquetas, que servirán para poder realizar búsquedas y filtros de noticias desde la Web. Las páginas tipo noticias permitirán definir los siguientes permisos a nivel de perfil de usuario: - Inserción de noticias: los usuarios con este perfil podrán insertar nuevas entradas en las páginas de noticias y editar las entradas que ellos mismos hayan insertado con anterioridad (el sistema guardará las fechas de creación y de última edición). - Edición de noticias: los usuarios con este perfil podrán modificar las entradas de las páginas de noticias aún no siendo ellos los autores de las noticias. - Inserción de comentarios: los usuarios con este perfil podrán insertar comentarios en las noticias (siempre que el administrador del CMS haya configurado la página de noticias para permitir los comentarios). Estos usuarios también podrán editar los comentarios que hayan sido escritos por ellos mismos con anterioridad (el sistema guardará las fechas de creación y de última edición). - Edición de comentarios: los usuarios con este perfil podrán modificar comentarios escritos por otros usuarios. Inicialmente el usuario podrá crear cinco tipos de módulo: - módulos tipo Menú Universitat Autònoma de Barcelona (UAB) Página 19 de 91

- módulos tipo Login - módulos tipo Imagen - módulos tipo Encuesta - módulos tipo Búsqueda El sistema será lo suficientemente abierto como para poder ir incorporando nuevos tipos de módulo. Cada tipo de módulo presentará una serie de acciones posibles a realizar sobre él, los permisos sobre estas acciones se definirán a nivel de perfil de acceso. Los módulos de tipo Menú servirán para mostrar menús en el sitio Web. Para cada menú, el usuario decidirá si es horizontal o vertical y podrá añadir tantas entradas como desee. Para cada entrada menú se especificará el nodo del que colgará (se podrán crear menús de la profundidad que se desee), el orden en el que se mostrará y el enlace al que conducirá. Este enlace podrá ser una URL, una página del propio sitio Web o ninguno (para entradas de menú con subentradas). Los módulos de tipo Login aportarán la funcionalidad de identificación de usuarios en el sitio Web. Si el administrador del sitio Web virtual desea utilizar la gestión de usuarios necesitará incluir un módulo de tipo Login para que éstos se puedan identificar. Un sitio Web virtual sin módulo de Login sólo tendrá visitantes de tipo Anónimo. El módulo de Login permitirá identificarse, cerrar sesión, solicitar nueva contraseña y registrarse como nuevo usuario. Esta última característica podrá deshabilitarse cuando se configure el módulo de tipo Login. Los módulos de tipo Imagen permitirán mostrar imágenes en las páginas contenedoras de módulos. La imagen podrá estar alojada en el propio sitio Web virtual o en Internet (URL). El usuario podrá modificar el tamaño con el que el módulo de Imagen muestra la imagen. La principal finalidad de este tipo de módulos será la inclusión de banners en el sitio Web. Los módulos tipo encuesta permitirán realizar consultas. Estos módulos constarán de una pregunta y hasta 5 posibles respuestas. Tanto la acción de responder como la de consultar resultados se podrán regular a nivel de permisos por perfil. Se deberá controlar que un mismo usuario no conteste más de una vez a la misma encuesta. Los módulos de tipo búsqueda permitirán buscar noticias y contenidos dentro del sitio Web virtual. La búsqueda simple sólo buscará por el título de la noticia o página, la búsqueda avanzada permitirá buscar por título, contenido o etiquetas. El administrador podrá deshabilitar la búsqueda avanzada durante la configuración del módulo de Búsqueda. Además de páginas y módulos, el usuario del CMS podrá definir el aspecto de páginas especiales de su sitio Web virtual como son la página de acceso denegado o la de registro de nuevo usuario. El sistema permitirá al usuario del CMS subir imágenes a su sitio Web virtual. Estas imágenes serán las que luego utilizará en sus páginas Web y módulos. La gestión de estas imágenes será fácil y clara. El sistema controlará que no se exceda un máximo de tamaño fijado por un administrador. Gestión CMS: Control de acceso Cuando se cree un sitio Web virtual se creará automáticamente un perfil denominado Anónimo. Este perfil no se podrá eliminar y será el que se le asignará a todos los visitantes del sitio Web hasta que no utilicen un módulo de tipo Login para identificarse. El usuario del CMS podrá crear tantos perfiles de acceso como desee. Para cada perfil definirá un nombre, una descripción y opcionalmente la distribución (o Layout) asociada al perfil. Si no se define una distribución, los usuarios del perfil accederán a la Web mediante la distribución por defecto. Para cada perfil también se definirá a qué páginas pueden y no pueden acceder los usuarios que lo utilicen, así como las acciones que pueden realizar sobre cada tipo de página (por ejemplo, se podrá definir que los usuarios de cierto perfil, en las páginas de noticias, puedan insertar noticias). El usuario CMS podrá crear tantos usuarios de su sitio Web como desee. Estos usuarios deberán utilizar un módulo de tipo Login para identificarse. Para cada usuario se almacenará el nombre, email, login, password, fecha de alta, estado y perfil. Los estados serán: activo, Universitat Autònoma de Barcelona (UAB) Página 20 de 91