Título: Sitio web de Jo Existeixo

Anuncio
Título: Sitio web de Jo Existeixo: migration y upgrading
Volumen: 1
Alumno: Diego Arenas Casado
Director/Ponente: Ana Edelmira Pasarella Sánchez
Amalia Duch Brown
Departamento: Lenguajes y sistemas informáticos.
2
DATOS DEL PROYECTO
Título del proyecto: Sitio web de Jo Existeixo: migration y upgrading
Nombre del estudiante: Diego Arenas Casado
Titulación: Ingeniero Técnico en informática de Gestión
Créditos: 22,5
Director/Ponente: Ana Edelmira Pasarella Sánchez y Amalia Duch Brown
Departamento: Lenguajes y sistemas informáticos
MIEMBROS DEL TRIBUNAL
Secretaria: Ana Edelmira Pasarella Sánchez
Presidenta: Elvira Patricia Pino Blanco
Codirectora: Amalia Duch Brown
Vocal: Javier Alonso López
CALIFICACIÓN
Calificación numérica:
Calificación descriptiva:
Fecha:
3
4
Facultad de Informática de Barcelona
Universidad Politécnica de Cataluña
PROYECTO FINAL DE CARRERA
Sitio web de Jo Existeixo: migration y upgrading
Alumno:
Directora:
Diego Arenas Casado
Ana Edelmira Pasarella Sánchez
Codirectora:
Amalia Duch Brown
5
6
Resumen
El objetivo general del proyecto fue hacer una "migration and upgrading" del sitio web
de Jo Existeixo, que es una asociación de familias y profesionales vinculados con
personas con pluridiscapacidad.
En concreto, actualizamos el sitio web original migrando el software que lo soportaba a
una versión más actual, modificando el diseño gráfico para hacerlo más amigable y
atractivo y ampliando sus funcionalidades teniendo en cuenta criterios de seguridad,
accesibilidad, etc. Entre las funcionalidades añadidas se encuentran: foros, chats,
registro de usuarios, conectividad con redes sociales, conversión de texto a audio,
widgets, etc.
La herramienta principal para la implementación fue el gestor de contenidos Joomla,
ya que era el que soportaba originalmente el sitio, y a día de hoy, es uno de los más
importantes y seguros que hay de código libre.
El sitio web está permanentemente accesible en http://www.joexisteixo.org/
7
8
Prólogo
Para realizar mi proyecto final de carrera me planteé distintos temas que me llamaran
la atención y que a su vez me motivaran, con el objetivo de tener una mayor
implicación en el proyecto.
Después de tanto indagar, ¡Eureka! … apareció. Me gustan las tareas que sean un
reto y requieran creatividad, por esta razón me decanté por el proyecto: "Sitio web de
Jo Existeixo: migration y upgrading", ya que se trataba de un trabajo altruista que
produciría una verdadera satisfacción entre los miembros de la asociación Jo
Existeixo.
Además la propuesta del proyecto estaba basada en el Sistema de Gestión de
Contenidos Joomla (1), del que había escuchado hablar desde que comencé la
carrera, y esto aumentó mi interés hacia el proyecto: aprendería una herramienta
nueva que podría ser de gran utilidad en mi futuro.
Con la realización de este proyecto he conseguido unos conocimientos muy valiosos
en el campo de los gestores de contenidos y desarrollo web, especialmente en el tema
del diseño.
Finalmente, la realización de esta memoria, me ha aportado, mucho trabajo, y una
gran experiencia en lo que se refiere a la organización y estructuración de la
información en la realización de dichos documentos.
9
10
Índice
Introducción .................................................................................................................... 13
CAPÍTULO I. Preliminares ............................................................................................. 15
I.1. Gestor de contenidos............................................................................................ 15
I.1.1. Características ............................................................................................... 16
I.1.2. ¿Cómo está formado? ................................................................................... 16
I.1.3. Alcance de los CMS ....................................................................................... 18
I.2. Joomla................................................................................................................... 19
I.2.1. Comunidad ..................................................................................................... 22
I.2.2. Versiones de Joomla ..................................................................................... 23
CAPÍTULO II. Estudio del proyecto................................................................................ 26
II.1. Situación de partida ............................................................................................. 26
II.2. Análisis de requisitos ........................................................................................... 31
II.3. Casos de uso ....................................................................................................... 34
II.3.1. Casos de uso: Usuario visitante ................................................................... 35
II.3.2. Casos de uso: Usuario registrado ................................................................ 38
II.3.3. Casos de uso: Usuario publicador................................................................ 41
II.3.3. Casos de uso: Usuario administrador .......................................................... 44
CAPÍTULO III. Implementación ...................................................................................... 47
CAPÍTULO IV. Planificación y estudio económico ........................................................ 58
IV.1. Planificación ....................................................................................................... 58
11
IV.2. Coste del proyecto ............................................................................................. 61
CAPÍTULO V. Conclusiones y mejoras futuras ............................................................. 65
Bibliografía ...................................................................................................................... 67
Anexo 1. Especificación técnica..................................................................................... 71
Anexo 2. Manual de usuario publicador......................................................................... 74
Anexo 3. Casos de uso .................................................................................................. 79
Casos de uso: Usuario visitante ................................................................................. 79
Casos de uso: Usuario registrado .............................................................................. 86
Casos de uso: Usuario publicador.............................................................................. 93
Casos de uso: Usuario administrador ........................................................................ 96
Anexo 4. Hosting ............................................................................................................ 99
Anexo 5. Cursos de formación ..................................................................................... 107
12
Introducción
La Asociación “Jo Existeixo: Nexo de unión entre personas con discapacidad, sus
familias y los profesionales que las atienden”, es una asociación sin afán de lucro,
constituida en el año 2006 por un grupo de familiares y profesionales vinculados
directamente con la pluridiscapacidad.
En Jo Existeixo, familias y profesionales trabajan en equipo para conseguir los apoyos
y la representatividad que les hace falta a las personas con pluridiscapacidad, para
afrontar las dificultades y atender sus necesidades. La Asociación quiere mejorar la
calidad de vida de las personas con pluridiscapacidad y la de sus familias. Buscan el
reconocimiento de la identidad profesional de los equipos que trabajan con personas
con multidiscapacidad para que puedan disponer de la formación y de los medios que
permitan las intervenciones educativas y terapéuticas necesarias.
Se trata de una asociación pequeña con 152 socios, dirigida por una Junta Directiva
de 5 personas que son las encargadas de su buen funcionamiento. El presupuesto de
la asociación es muy reducido, proviene de pequeñas donaciones y principalmente de
las cuotas de sus socios. Debido a esta situación, es muy importante para la
asociación darse a conocer al público en general y mantenerse en contacto con sus
socios de una manera económica y al mismo tiempo atractiva y dinámica.
La Asociación ha tenido muy claro desde sus inicios que un sitio web bien diseñado y
funcional es una manera ideal de combinar las características anteriores, y que
además puede ayudar a captar nuevos socios, voluntarios, colaboradores y/o
donaciones.
Al momento de comenzar este proyecto, en enero de 2011, Jo Existeixo disponía de
un sitio web que comenzaba a quedar corto con respecto a las funcionalidades que la
Asociación requería y obsoleto con respecto al software en que estaba montado (el
gestor de contenidos Joomla versión 1.0 (2). Así mismo, el diseño de las páginas no
consideraba criterios de accesibilidad ni de usabilidad. Adicionalmente, las
funcionalidades ofrecidas eran muy restringidas.
El objetivo de este trabajo, es por lo tanto modernizar el sitio web de Jo Existeixo en
ambos aspectos: tanto ampliando sus funcionalidades como migrándolo a la última
versión estable disponible actualmente de Joomla.
13
Podemos decir que hemos actualizado el sitio web de la asociación desde dos frentes:
 Actualizando (upgrading) la versión del gestor de contenidos utilizado para
garantizar la operatividad, seguridad, el soporte técnico y el mantenimiento del
mismo.
 Rediseñando la estructura del sitio web para hacerlo más ergonómico de cara
a la navegación y ampliar sus funcionalidades.
En el rediseño, hemos considerado criterios de usabilidad,
accesibilidad y
encontrabilidad (findability) en motores de búsqueda (SEO) (3). Adicionalmente,
hemos incluido nuevas funcionalidades que permiten y promueven la interacción y el
intercambio entre usuarios y Jo Existeixo y usuarios entre ellos.
Esta memoria está organizada como sigue. En el Capítulo I presentamos las nociones
preliminares básicas de gestores de contenidos en general (Sección I.1) y Joomla en
particular (Sección I.2), que se requieren en este proyecto.
El Capítulo II está formado por dos secciones. En la primera sección presentamos un
análisis del sitio en el momento de comenzar el proyecto. En la segunda sección
presentamos el análisis de requisitos para establecer las funcionalidades que tendría
el sitio web una vez actualizado.
Dedicamos el Capítulo III a la descripción de la implementación incluyendo una
explicación detallada de todo lo que se hizo para la migración y upgrading del sitio
web.
En el Capítulo IV detallamos la planificación del proyecto viendo los costes temporales
de cómo se ha llevado a cabo y el análisis de su coste económico.
Finalmente en el Capítulo V damos nuestras conclusiones y posibles líneas de trabajo
futuro.
Como anexos a este trabajo presentamos:
 Una especificación técnica del proyecto, es decir las versiones y componentes
utilizados (Anexo 1. Especificación técnica)
 Un manual de usuario publicador (Anexo 2. Manual de usuario publicador)
 Los casos de uso del proyecto (Anexo 3. Casos de uso)
 El informe de los distintos hostings analizados (Anexo 4. Hosting)
14
CAPÍTULO I. Preliminares
En este capítulo, introducimos brevemente algunos de los conceptos necesarios para
el desarrollo de este proyecto. Comenzamos definiendo los sistemas de gestión de
contenidos así como sus principales características en la Sección I.1. En la Sección
I.2, damos una explicación breve sobre el gestor de contenidos Joomla, ya que es el
que hemos utilizado para la implementación del sitio web de Jo Existeixo.
I.1. Gestor de contenidos
Un Sistema de Gestión de Contenidos (o CMS, abreviando su nombre en inglés:
Content Management Systems) es un sistema de software que permite la gestión de
documentos de diferentes tipos. Toda la información se almacena en una base de
datos. Los contenidos pueden ser muy variados incluyendo ficheros de texto, audio,
vídeo, imágenes y, en general, la mayoría de formatos de cualquier contenido web
(4).
Un CMS no solamente ayuda en la gestión de contenidos como los mencionados
anteriormente (sin necesidad de tener conocimientos técnicos de lenguajes de
programación como HTML) sino que permite definir diferentes grupos de usuarios,
cada grupo con roles y responsabilidades distintas, con la idea de que diferentes
personas puedan contribuir a la creación, edición y gestión de contenidos del sitio web
mientras que los visitantes del sitio tienen un acceso limitado, usualmente restringido a
la consulta de dichos contenidos (5).
En particular existe un usuario responsable de la gestión del sitio, es el usuario
administrador. El administrador del sitio puede acceder a los datos de manera muy
sencilla, utilizando la interfaz de administración del sitio proporcionada por el CMS usualmente mediante un sistema de menús. Todo cambio realizado en la interfaz de
administración queda reflejado en la base de datos (6).
Los CMS se han convertido en herramientas sumamente populares ya que la creación
completa de sitios web (a partir de la nada y mediante un lenguaje de programación)
es una tarea compleja y larga. No se trata solamente de la programación de cada una
de las partes del sitio, que requiere de experiencia y conocimientos técnicos, sino de la
integración de todas las distintas partes entre ellas, tarea que induce errores
fácilmente y que requiere de un largo y bien diseñado proceso de pruebas y
correcciones (6).
15
Los CMS actuales son fácilmente extensibles utilizando los módulos y funcionalidades
ya disponibles que son fáciles de añadir y/o eliminar en cualquier sitio web. De esta
manera se pueden conseguir contenidos complejos como por ejemplo: foros, tiendas
online, sistemas de subscripción (RSS), entre otros. Esto convierte la creación de
sitios web en una tarea relativamente sencilla y accesible a personas sin
conocimientos técnicos de informática.
I.1.1. Características
A continuación describimos las características principales de un CMS (7).
Gestión de contenidos: permite organizar los contenidos del sitio. Una página por
defecto, se publica automáticamente en el momento de crearla y sin fecha de
caducidad, pero se puede modificar para publicarse y despublicarse en una fecha
establecida por el usuario.
Gestión de usuarios: controla el acceso al sitio web, de los diferentes tipos de
usuarios gestionando los diferentes permisos de cada área del sitio.
Escalable: gestiona el incremento de la cantidad de información del sitio manteniendo
en la medida de lo posible su rendimiento.
Extensible: facilita el aumento de las funcionalidades del sitio permitiendo la inclusión
de módulos específicos.
Mantenible: En un sitio web con muchas páginas hace falta un sistema para distribuir
los trabajos de creación, edición y mantenimiento con permisos de acceso a las
diferentes áreas. También se tienen que gestionar los metadatos (8) (9) de cada
documento, la publicación y caducidad de páginas, entre otros.
Cambios del aspecto del sitio web. Un cambio de diseño puede llevar a cabo la
revisión de muchas páginas para su adaptación. Los CMS utilizan hojas de estilo, con
lo que se consigue la independencia de presentación y contenido.
I.1.2. ¿Cómo está formado?
Como podemos ver en la Figura 1 un CMS está compuesto por una colección de
programas del CMS, una interfaz, una base de datos y un web server. La interfaz es lo
que compone visualmente el sitio, es decir, incluye imágenes, fotos, etc. En la base de
16
datos se organizan y gestionan los datos que componen los contenidos, y el web
server, es el alojamiento físico (hosting) donde se almacenan los datos que componen
el sitio y la interfaz.
A un CMS se puede acceder a través de dos partes, conocidas como back-end y frontend. El back-end es el área privada del sitio, donde los administradores editan,
categorizan administran y ordenan los contenidos, mientras que el front-end, es el sitio
final con el que interactúan todos los demás usuarios.
Figura 1. Componentes de un CMS. Imagen obtenida de
http://www.chocolatepublicidad.com/blog/?p=259
17
I.1.3. Alcance de los CMS
En la actualidad hay multitud de gestores de contenidos con diferentes propósitos. A
continuación listamos algunos de los tipos de sitios más representativos que se suelen
gestionar con la ayuda de CMS (10):
Para los sitios webs convencionales, que son la mayoría de sitios, por ejemplo los que
muestran noticias, sitios de empresas que muestran información, etc. se utilizan los
CMS genéricos.
También ha CMS que gestionar sitios más interactivos con el usuario como por
ejemplo Foros, permite publicar/discutir todo tipo de comentarios de manera
organizada, Wikis, sitios en que se crea, modifica, y/o elimina información sobre temas
concretos y Blogs, permite la publicación de artículos.
Para los colegios y universidades, es decir para la enseñanza, hay los gestores
llamados e-Learning, que permiten tener toda la información del curso o asignatura
accesible para profesores y alumnos.
Otro tema que está ahora en auge es el comercio electrónico, que permite comprar,
vender por internet, y para esto se utilizarían los CMS del tipo eCommerce.
18
I.2. Joomla
En esta sección explicaremos brevemente las principales características del CMS
Joomla. A continuación presentaremos las diferencias entre sus versiones principales:
1.0, 1.5 y 1.6.
Joomla es un CMS de código libre, que permite crear sitios web robustos, seguros,
dinámicos y multidiomas, con múltiples aplicaciones de manera automática, y sin la
necesidad de tener conocimientos técnicos para administrar el sitio web. Permite que
un grupo de personas pueda contribuir a la creación de contenidos, para mantener el
sitio siempre actualizado, todo de manera automática a través de una jerarquerización
y categorización de la información.
Joomla está desarrollado en PHP y utiliza el gestor de bases de datos MySQL, una
vez instalado Joomla en el servidor, se puede acceder a través de un navegador al
front-end, que es la parte pública, la que verán los visitantes, y será accesible a través
del dominio, y el back-end, es la parte privada del sitio, que se accede agregando
“/Administrator” a nuestro dominio (11).
En la Figura 2, mostramos la organización de archivos que tiene Joomla, observamos
que hay una parte para el administrador (acceso al back-end), y otra parte pública,
está todo muy organizado, las extensiones están separan en tres carpetas distintas
como son módulos, componentes y plugins, las plantillas se ubican en la carpeta de
“templates”, mientras que las imágenes y archivos del sitio se guardan en “images” y
“media” respectivamente. Para acceder a los distintos idiomas se accede mediante la
carpeta de “language”.
Los componentes son aplicaciones independientes entre sí que gestionan la
información dentro de Joomla, por ejemplo el com_contac (contacto), se encarga de
administrar los contactos y enviar los mensajes por correo que se escriben desde el
formulario,
Los módulos extienden las capacidades de Joomla, dándole al software nuevas
funcionalidades, aunque también suelen ser el complemento de los componentes: por
ejemplo el componente com_poll (encuestas) posee un módulo asociado mod_poll
(encuestas) que es el que permite mostrar la encuesta sobre una columna lateral y
permitirle al usuario "votar" con un clic. Una vez que el usuario votó (o si simplemente
19
desea ver los resultados de la votación), es redirigido hacia la información que muestra
el componente com_poll sobre el cuerpo principal del sitio (11).
Los conectores son unidades funcionales de código (scripts) que soportan algunas
operaciones de Joomla. Por ejemplo, existen conectores que sólo operan sobre
artículos de contenido (content), otros proporcionan posibilidades de investigación
(search), controlan el acceso de los usuarios (authentication), entre otros.
Figura 2. Imagen de las carpetas de Jooma. Fuente extraida de http://how-tobuild-a-website-az.blogspot.com/2011/05/joomla-15-directory-and-its-files.html
20
Joomla tienen una gran flexibilidad para cambiar la apariencia del sitio web, esto se
realiza a través de las plantillas, compuestas por un archivo PHP (index.php) que es
donde está la distribución de las distintas posiciones de la web, y los ficheros de hojas
de estilos (CSS), que definen los estilos y formato para cada posición de la plantilla.
Además de cambiar la apariencia del sitio web, Joomla también permite cambiar o
agregar funcionalidades a través del uso de extensiones, formadas principalmente por
componentes, módulos y conectores, de manera organizada y automática.
Los usuarios en Joomla se dividen en dos grupos, back-end y front-end. Los usuarios,
a medida que aumentan de rango, heredan los permisos de los usuarios anteriores,
añadiendo nuevas funcionalidades.
Los usuarios del back-end son: usuario superadministrador que posee acceso total a
todo el sitio y a la administración, el usuario administrador que tiene similares atributos
al del superadministrador pero sin la posibilidad de ingresar en la configuración global,
y el usuario gestor que tiene un acceso parcial, sin poder acceder a la administración
de componentes, edición de usuarios, configuración, etc.
Los usuarios del front-end son: usuario registrado, que solamente puede acceder al
contenido marcado con el permiso de registrado, el usuario autor que puede enviar
artículos, pero no puede editar los ítems de los demás, ni publicar los que escriba él
mismo (quedan pendientes validación hasta que un publicador o administrador lo
autorice y publique), el usuario editor puede enviar artículos y editar los de los demás,
pero no puede publicar (estos quedan pendientes de validación, al igual que el caso
anterior), y el usuario publicador que puede enviar, modificar y publicar artículos.
Los permisos de que dispone un recurso en Joomla son: público: cualquier usuario
puede visualizar el recurso, registrado: sólo los usuarios registrados verán el recurso
y especial: dentro de los usuarios registrados, sólo los usuarios con más rango que el
registrado (de autor hacia delante) podrán acceder al recurso.
Joomla utiliza un sistema de organización de los contenidos basado en tres niveles,
que son: primero las secciones: es el contenedor principal y en su interior se
encuentran las categorías, segundo las categorías: es el contenedor secundario y
dentro encontramos los artículos, y por último los artículos: que es la unidad de
contenido, es decir es donde insertamos el texto, imágenes u otros elementos que
queremos mostrar en nuestra web. Esta estructura es fija y no permite modificaciones,
21
sin embargo, existe una forma de salir de esta jerarquía, son los llamados artículos sin
clasificar. Estos artículos son individuales y no se ubicarían dentro de la jerarquía de
contenido, ya que no tienen ninguna sección ni categoría asociada.
Este potente CMS surge como el resultado de una mejora del gestor de contenido
Mambo (12). La primera versión de Joomla (Joomla 1.0.0) fue publicada el 16 de
septiembre de 2005. Se trataba de una versión mejorada de Mambo 4.5.2.3
combinada con otras modificaciones de seguridad y anti-bugs (13).
El 22 de enero del año 2008, sale la versión estable de Joomla 1.5 que incorpora
nuevos cambios en materia de seguridad, administración y cumplimiento del estándar
W3C (World Wide Web Consortium) (14).
Actualmente, los desarrolladores de Joomla están trabajando en dos frentes, por un
lado en la versión 1.5.X, que mejoran y dan solución a los problemas de la versión
inicial 1.5, y por otro lado en la versión 1.6, actualmente hay una primera versión
lanzada, la cual incorporará una serie de nuevos cambios en el núcleo de la
aplicación, principalmente enfocados en la organización del contenido y los permisos
de los usuarios.
I.2.1. Comunidad
Joomla es uno de los gestores de contenido más populares en la red, y esto lo
demuestra la comunidad de soporte de la que dispone. Los datos oficiales que hay
actualmente sobre el número de participantes hablan de una cifra cercana a las
430.000 personas (15).
El proyecto Joomla es gestionado por un grupo de trabajo llamado "Core Team" (16),
este colectivo es el que marca las pautas en la evolución y a la vez organiza y
distribuye los subgrupos de colaboradores, los cuales trabajan en el desarrollo de
partes concretas de la plataforma. También hay muchos programadores que
desarrollan módulos o componentes de forma totalmente altruista.
Para finalizar, destacamos la amplia presencia de la comunidad hispana dentro de
Joomla. "Joomla Spanish" o "Joomla Hispano" entre otros, que ofrecen soporte y
servicios a todos los usuarios hispano hablantes
22
.
I.2.2. Versiones de Joomla
Joomla nació el año 2005 y se ha ido desarrollando. Las tres versiones principales a
disposición de los usuarios son “Joomla 1.0”, “Joomla
1.5” y “Joomla 1.6”. A
continuación se presenta su evolución.
I.2.2.1. De Joomla 1.0 a Joomla 1.5
Después de tres años con Joomla 1.0, apareció la primera versión estable de Joomla
1.5 que nació en enero de 2008, y desde entonces hasta la fecha de hoy han
publicado numerosas versiones, estando actualmente la versión 1.5.23. Seguidamente
se muestran los cambios en relación a la versión Joomla 1.0.
Uno de los principales cambios ha sido en la interfaz de usuario, haciéndola más
amigable y usable, principalmente en las extensiones y los menús, que además de la
simplificación de la interfaz puede editar un menú sin necesidad de eliminarlo.
En las extensiones, además de la simplificación de la interfaz, los “mambots” (8) (9) se
han renombrado como conectores, que son extensiones o plugins que realizan alguna
transformación en el contenido de Joomla, interceptándolo y manipulándolo de alguna
manera antes de que sea mostrado, es decir, son controladores de eventos, los
conectores se pueden activar o desactivar dependiendo de las funcionalidades del
sitio.
Además el instalador se ha unificado para componentes, módulos, conectores,
plantillas e idiomas e incluye una funcionalidad de seguridad como es la capacidad
para desactivar componentes.
Se ha creado un administrador de artículos, antes llamados ítems de contenido, en el
que incluye una pre-visualización instantánea sin necesidad de guardar el artículo, una
única área de edición para escribir el contenido y mejorando también las funciones de
“salto de página” y “leer más”.
Respecto a las plantillas ha habido una mejora de la pre-visualización, mostrando las
posiciones y nombres de los módulos, así como la posibilidad de editar múltiples hojas
de estilos (CSS). Los usuarios, pueden iniciar sesión mediante Gmail, activando el
conector para poder estar efectivo, y también permite la sincronización, entre otras
componentes que utilicen usuarios, como por ejemplo los foros, y así se sincronizan
los permisos.
23
Otro de los cambios importantes ha sido la mejora de la accesibilidad, aunque es un
tema que depende en gran medida de las demandas del cliente, el diseñador u otros.
El diseñador puede crear sus propios módulos en su plantilla, cambiar clases CSS,
eliminar tablas, hacer la plantilla conforme los estándares de accesibilidad, etc.
Otro cambio ha sido la internacionalización, ofreciendo la codificación completa de
UTF-8, que es capaz de representar cualquier carácter universal en el estándar
Unicode, se ha creado el soporte RTL, que permite la escritura de derecha a izquierda
(escritura árabe) y las traducciones se hacen utilizando unos archivos de texto
(llamados archivos INI), y de este modo resulta muy fácil añadir nuevas traducciones o
modificar las existentes.
I.2.2.2. De Joomla 1.5 a Joomla 1.6
Después de tres años con Joomla 1.5 se ha lanzado la primera versión de Joomla 1.6,
que es posible descargar aunque aún se siguen encontrando algunos errores que
afectan a la seguridad del sitio web. Además hay que tener en cuenta que se debe
esperar a que los desarrolladores comiencen a desarrollar componentes en forma
independiente para aumentar la funcionalidad.
Las principales críticas realizadas a Joomla están referidas a las dificultades que
ofrece para grandes sitios en la gestión de usuarios, lo que parece haber sido una
importante preocupación de los desarrolladores de la nueva versión. La introducción
de cambios importantes no podía afectar las principales características de Joomla, que
son la sencillez de instalación y administración, y la fiabilidad.
Se puede apreciar el primer cambio desde la instalación de Joomla 1.6, ya que en el
proceso de instalación nos permite la elección de un nombre de usuario. Cuando se
instala Joomla 1.0 y 1.5, el primer usuario, el administrador de la página se nombraba
por defecto “Admin”. Además cada usuario o grupo pueden tener permisos
diferenciados, pudiendo crearse nuevos grupos de usuarios ilimitados.
Uno de los cambios más atractivos es la posibilidad de insertar comentarios en los
artículos, además de aceptar pingbacks (trata de conocer cuanta gente ha enlazado o
compartido el documento) y trackbacks (trata de un enlace inverso que permite
conocer qué enlaces apuntan hacia un determinado artículo) sin que se deba instalar
ningún componente adicional para llevarlo a cabo.
24
Además se han eliminado las secciones, permitiendo la creación de distintos niveles
de categorías, lo que significa una notable flexibilización del sistema de clasificación
de contenidos, los menús son más flexibles, ya que se pueden dar diferentes niveles
de acceso y es posible cambiar los ítems de menús, incluyendo la elección de nuevos
elementos padre, sin tener que eliminar dicho menú.
Otro gran cambio es la compatibilidad, ya que incorpora el conector “Legacy mode”
que permite utilizar componentes realizados para la versión 1.0 y 1.5, por último han
llegado a un acuerdo con Microsoft para mejorar la compatibilidad con Internet
Information Server (IIS) (8) (9), que es el servidor web y FTP de Microsoft.
Para la implementación del sitio web de Jo Existeixo utilizaremos la versión 1.5.x ya
que la versión 1.6 está en fase de desarrollo, y aún no es estable, y es preferible dejar
una versión más probada ya que aparte que es más estable hay más soporte y
módulos y componentes para poder utilizar.
25
CAPÍTULO II. Estudio del proyecto
En este capítulo analizamos el sitio web de partida de Jo Existeixo e identificamos
algunos de los cambios y nuevas funcionalidades que utilizadas. También
presentamos los casos de uso del nuevo sitio web (es decir, todo lo que pueden
ejecutar sus usuarios).
II.1. Situación de partida
Como ya hemos mencionado anteriormente, Jo Existeixo disponía de un sitio web
(17), desarrollado en Joomla 1.0.
En la Figura 3, mostramos la estructura de la página principal (o de inicio) del sitio.
Las funcionalidades de las que dispone (como puede verse en el menú principal de la
figura) son: acceso a la información de la asociación, posibilidad de escoger entre tres
idiomas distintos, posibilidad de inscripción a la asociación (en la Figura 4 se muestra
el formulario de inscripción), posibilidad de contactar con la asociación (a través del
formulario que se muestra en la Figura 5), acceso a distintitos enlaces e información
sobre ayudas económicas, espacio reservado a las últimas noticias de la asociación y
posibilidad de intercambiar, comprar o vender productos en el Discamercat.
Figura 3. Estado actual del sitio Jo Existeixo, www.joexisteixo.org.
26
Figura 4. Inscripción de Jo Existeixo, imagen obtenida de www.joexiteixo.org
27
Figura 5. Formulario de contacto, imagen obtenida de www.joexiteixo.org
Como ya explicamos en el capítulo anterior, Joomla 1.0, sigue una estructura modular
y jerárquica. Un sitio está compuesto por artículos que forman parte de categorías que
a su vez pertenecen a secciones, en la tabla siguiente se detallan las secciones y
categorías que existían en el sitio, en el momento de comenzar este proyecto.
28
Secciones
Categorías
Prestacions i Ajudes
Prestacions i Ajudes
Discamercat
Vendes
Compres
Donacions
Enllaços
Enllaços
Contacta’ns
Contacta’ns
Suport
Suport
Fes-te Soci
Fes-te Soci
Comissions
Comissions
Full informatiu
-
Activitats
-
Notícies
Notícies
Inici
Inici
L’associació
Una mica d’història
Objectius i fins
Col·laboracions
Finançament
Estructura
Estatuts
Todo lo anterior está soportado por los siguientes módulos y componentes:
 Componentes:
JoomFish!, proporciona la posibilidad de tener múltiples idiomas.
Contactos, da soporte al formulario de contacto.
 Módulos:
El módulo mod_mainmenu, utilizado por el Menú Principal.
El módulo mod_newsflash, utilizado por las Noticias.
El módulo mod_jflanguageselection, utilizado para cambiar el idioma.
La presentación visual del sitio está soportada por la plantilla “biz_blue” diseñada por
Raduga (18).
29
Desde un punto de vista técnico el sitio contiene una serie de inconsistencias, que
conviene reparar, mencionamos algunos casos particulares:
•
Muchas de las categorías no tenían artículos relacionados, ya que el contenido
está escrito dentro de la sección correspondiente.
•
Muchos artículos no están categorizados (por ejemplo el documento de recetas
y la composición de la junta directiva)
•
Para acceder a toda la información se dispone de un único menú para acceder
a todos los datos.
Por otra parte, Jo Existeixo, quiere un sitio más dinámico, moderno, fácil de utilizar y
con más y mejores funcionalidades que las del sitio del que ya disponían. En el
siguiente apartado presentamos un análisis de las nuevas funcionalidades.
30
II.2. Análisis de requisitos
En el momento de iniciar este proyecto, el sitio de Jo Existeixo no permitía el registro
de usuarios una funcionalidad a tener en cuenta. La asociación solicitó cuatro tipos de
usuarios:
•
Usuario administrador que se encarga de administrar (instalar / desinstalar) que
cualquier componente de la aplicación
•
Usuario publicador el cual se encarga de subir nuevos artículos de última hora
a la web (estos dos usuarios serán personal de Jo Existeixo),
•
Usuario registrado que tiene distintos privilegios básicos.
•
Usuario visitante
Otra de las funcionalidades que solicitaron modificar es el actual Discamercado, se
trata de un espacio para poder vender, comprar o intercambiar objetos que pueden ser
de gran utilidad para personas con pluridiscapacidad, ya que muchos de estos objetos
son caros y difíciles de conseguir. Originalmente, para insertar un anuncio sobre
ventas, compras, donaciones o intercambios, se tenía que enviar un correo electrónico
al personal de Jo Existeixo, para que la organización publicara el anuncio. Solicitaron
la funcionalidad de que los usuarios registrados pudieran publicar esta información sin
tener que pasar por los miembros de la asociación.
La manera ideal de proveer esta funcionalidad es a través de un foro, donde cada
usuario registrado puede añadir o eliminar su producto y/o contestar a otras
publicaciones de usuarios registrados, mientras que los usuarios no registrados tienen
acceso de sólo lectura.
Otra funcionalidad solicitada por Jo Existeixo, es la de una “Comunidad”, en la cual los
usuarios puedan interactuar entre ellos, cambiar opiniones, conocerse, entre otras
muchas actividades.
Dicha funcionalidad estará separada en dos:
 Creación de un “Muro” de Facebook en el cual los usuarios registrados en
dicha red social pueden escribir sus comentarios e interactuar entre ellos.
 Por otro lado, los usuarios no registrados en Facebook, podrán utilizar un chat
interno, siempre y cuando el usuario esté registrado en el portal de Jo
Existeixo.
31
Como facilidades de acceso a la información para todos los usuarios, se han añadido
dos funcionalidades, la primera es la de poder visualizar un fichero en PDF, sin la
necesidad de abrirlos o descargarlos, lo que acelera el acceso a la información y la
segunda es la de convertir el texto a audio, de esta manera se puede escuchar el texto
sin tener que leerlo. Creemos que esta última funcionalidad es muy importante, en el
caso del sitio web de Jo Existeixo, porque da acceso a sus contenidos a personas con
discapacidades visuales.
Para una asociación sin fines de lucro como Jo Existeixo es muy importante recibir
donativos que le permitan llevar a cabo sus actividades, por este motivo, la asociación
está interesada en que desde el sitio web, se puedan realizar aportaciones
económicas, esta es otra de las funcionalidades que tendremos que tener en cuenta
en el momento de la implementación del nuevo sitio.
También es importante para la asociación el poder contactar con voluntarios, que les
ayuden en sus actividades, ya que es una asociación pequeña con pocos recursos
humanos.
Una ayuda para las familias, es utilizar enlaces de interés, además de los que ya están
publicados, incluir también distintas ONG’s colaboradoras con la asociación, Centros
de Servicios Sociales y centros de educación especial en Cataluña.
Para la que la gente visite el sitio web con frecuencia y por tanto poderle dar más
visibilidad a la asociación, la junta directiva solicitó que el nuevo sitio web incorporara
un calendario, un módulo del tiempo en Barcelona, ya que es donde se sitúa la sede
de la asociación. Con este mismo objetivo se les propuso, y estuvieron de acuerdo,
incorporar dos “mini juegos”, el primero sería, como un puzle, que se basa en ordenar
una imagen de proporcionada por Jo Existeixo hasta hacerla coincidir con la imagen
original, y el otro “mini juego”, el clásico comecocos.
Además habrá accesos directos a Facebook y Twitter de Jo Existeixo.
El sitio web, estará adecuado según el protocolo de accesibilidad de la Generalitat de
Cataluña (19) y el de W3C (World Wide Web Consortium) (14).
Otra funcionalidad es un SiteMap (mapa del sitio) ya que Google, lo utiliza para
indexar las páginas web y posicionarlas en las búsquedas. Además, muchos usuarios
lo utilizan para acceder más rápido a lo que están buscando. De todas maneras,
32
facilitaremos a los usuarios de Jo Existeixo con la incorporación de un botón de
búsqueda para toda la página web de la organización.
Finalmente, pero no menos importante, es poder realizar copias de seguridad de todo
el sistema, es decir copia de toda la base de datos y de los archivos del sitio (fotos,
documentos, presentaciones, etc.).
33
II.3. Casos de uso
Un caso de uso es una descripción de la secuencia de interacciones que se producen
entre un actor y el sistema, cuando el actor usa el sistema para llevar a cabo una tarea
específica.
El sistema tiene cuatro usuarios diferenciados que son: usuario visitante, usuario
registrado, usuario publicador y usuario administrador, a continuación veremos el
diagrama de casos de uso y algunos casos de usos de ejemplos. Queda detallada la
lista completa, en el Anexo 3. Casos de uso.
Hemos creado los casos de uso, diagrama y especificación, basados en los
estándares vistos en la asignatura ES1 y ES2 (Ingeniería del Software 1 y 2). Además
también se ha utilizado UML (Lenguaje Unificado de Modelado) (20) (21).
En el diagrama de casos de uso representamos el sistema como una caja rectangular
con el nombre de dicho caso de uso en su interior. Los casos de uso están situados en
el interior de la caja del sistema y los actores situados fuera. Cada actor está unido a
los casos de uso en los que participa.
La especificación de los casos de uso está compuesto por los campos: nombre,
actores (aquellos que interactúan con el sistema), precondiciones (hechos que se han
de cumplir para que el caso de uso se pueda llevar a cabo), postcondiciones
(resultado de haber concluido satisfactoriamente el caso de uso) y por último, el curso
de acontecimientos, que corresponde a la ejecución normal y exitosa de dicho caso de
uso. Los cursos alternativos son los que nos permiten indicar qué es lo que hace el
sistema en los casos menos frecuentes e inesperados.
34
II.3.1. Casos de uso: Usuario visitante
II.3.1.1. Diagrama
SISTEMA
Registrarse
Contactar
Visualización de páginas
Consultar enlaces
Leer foro
Cambiar idioma
Cambiar tamaño de letra
Usuario visitante
Escuchar artículo
Hazte socio
Utilizar gadgets interactivos
Compartir en Facebook
35
II.3.1.2. Especificación
Caso de Uso: Registrarse
Caso de Uso: Registrarse
Descripción
Un usuario quiere registrarse en nuestra página web.
Actor Principal
Usuario visitante.
Precondición
El usuario no está registrado.
Postcondición
Se ha registrado un nuevo usuario en el sistema.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide registrarse en el
sistema.
2. El sistema muestra los campos que hay
que rellenar.
3. El usuario introduce sus datos.
4. El sistema comprueba que los datos
estén correctos y manda un correo de
confirmación al usuario.
5. El usuario confirma su registro con
el link recibido en su correo.
Cursos Alternativos
3a. La información entrada es incorrecta.
3a1. El sistema notifica al usuario que los datos son incorrectos.
3a2. El usuario entra de nuevo los datos.
3a3. El caso de uso continúa en el paso 3.
36
Caso de Uso: Contactar
Caso de Uso: Contactar
Descripción
Un usuario quiere contactar con nosotros.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se ha enviado un correo a la asociación Jo Existeixo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide contactar con la
asociación.
2. El sistema muestra los campos que hay
que rellenar.
3. El usuario introduce los datos.
4. El sistema comprueba que los datos
estén correctos y manda un correo con la
información a Jo Existeixo.
Cursos Alternativos
Caso de Uso: Visualización de páginas
Caso de Uso: Visualización de páginas
Descripción
Un usuario quiere ver algún apartado de nuestra página web.
Actor Principal
Usuario visitante.
Precondición
Postcondición
El sistema muestra la página pedida por el usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide que se le muestre
una página del sistema.
2. El sistema muestra la página deseada.
Cursos Alternativos
-
37
II.3.2. Casos de uso: Usuario registrado
El usuario registrado hereda todos los casos de uso del usuario visitante, excepto, el
caso de uso de registrarse, ya que el usuario ya se encuentra en el sistema.
II.3.2.1. Diagrama
SISTEMA
Iniciar sesión
Cerrar sesión
Utilizar chat Jo Existeixo
Publicar nuevo tema en el foro
Responder tema en el foro
Borrar sus mensajes en el foro
Usuario registrado
Pedir contraseña
Pedir nombre de usuario
Modificar cuenta
38
II.3.2.2. Especificación
Caso de Uso: Iniciar Sesión
Caso de Uso: Iniciar Sesión
Descripción
Un usuario registrado en el sistema se identifica para acceder a su contenido.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado.
Postcondición
Se inicia la sesión del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide acceder a
su cuenta.
2. El usuario registrado introduce sus
datos.
3. El sistema comprueba que los datos
estén correctos.
4. El sistema permite el acceso al usuario
registrado.
Cursos Alternativos
3a. La información entrada es incorrecta.
3a1. El sistema notifica al usuario que los datos son incorrectos.
3a2. El usuario entra de nuevo los datos.
3a3. El caso de uso continúa en el paso 3.
39
Caso de Uso: Cerrar Sesión
Caso de Uso: Cerrar Sesión
Descripción
Un usuario registrado quiere cerrar su sesión abierta en el sistema.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y tiene sesión abierta.
Postcondición
Se cierra la sesión del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide cerrar su
sesión.
2. El sistema cierra la sesión del usuario.
Cursos Alternativos
-
Caso de Uso: Utilizar chat de Jo Existeixo
Caso de Uso: Utilizar chat de Jo Existeixo
Descripción
Un usuario registrado quiere utilizar el chat de Jo Existeixo.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión
Postcondición
Se inicia la sesión en el chat.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide acceder al
chat.
2. El sistema inicia sesión en el chat, con el
nombre de usuario de la sesión.
3. El sistema muestra la página con el chat
cargado.
Cursos Alternativos
-
40
II.3.3. Casos de uso: Usuario publicador
El usuario publicador hereda todos los casos del usuario registrado, y por lo tanto
también los el usuario visitante, excepto, el caso de uso de registrarse, ya que el
usuario ya se encuentra en el sistema.
II.3.3.1. Diagrama
SISTEMA
Editar artículo
Subir archivos
Crear artículos
Usuario publicador
41
II.3.2.2. Especificación
Caso de Uso: Editar artículo
Caso de Uso: Editar artículo
Descripción
Un usuario publicador quiere modificar un artículo del sistema.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se modifica el artículo
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide modificar un artículo.
2. El sistema muestra el artículo a editar.
2. El usuario modifica el artículo.
3. El sistema guarda la nueva información y
muestra el artículo modificado.
Cursos Alternativos
Caso de Uso: Crear artículo
Caso de Uso: Crear artículo
Descripción
Un usuario publicador quiere crear un nuevo artículo.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se crea el artículo
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide crear un artículo.
2. El sistema muestra un editor de texto
para crear el artículo.
2. El usuario introduce los datos.
3. El sistema guarda el nuevo artículo.
Cursos Alternativos
-
42
Caso de Uso: Subir archivos
Caso de Uso: Editar artículo
Descripción
Un usuario publicador quiere subir archivos al sistema.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se sube un archivo al servidor
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide subir un archivo.
2. El sistema muestra un cuadro buscar
para escoger el archivo.
3. El usuario selecciona el archivo.
4. El sistema guarda el archivo en el
servidor.
Cursos Alternativos
4a.La extensión del archivo no es válida para guardarla en el servidor.
4a1. El sistema notifica al usuario que la extensión del archivo a subir no está
permitida.
4a2. El caso de uso continúa en el paso 3.
43
II.3.3. Casos de uso: Usuario administrador
El usuario administrador controla tanto el back-end como el front-end y por tanto tiene
el control total del sitio. Ahora mostraremos algunas funcionalidades que puede hacer
el usuario administrador.
II.3.3.1. Diagrama
SISTEMA
Limpiar memoria
Asignar permisos a usuarios
Eliminar usuarios
Usuario administrador
44
II.3.2.2. Especificación
Caso de Uso: Limpiar memoria
Caso de Uso: Limpiar memoria
Descripción
El administrador hace una limpieza de la caché.
Actor Principal
Usuario administrador
Precondición
El usuario ha iniciado sesión en el back-end.
Postcondición
Se elimina la caché
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide eliminar la caché.
2. El sistema muestra que cache quiere
eliminar si la del sitio o la del administrador.
2. El usuario selecciona la que desea.
3. El sistema elimina la caché seleccionada.
Cursos Alternativos
Caso de Uso: Eliminar usuario
Caso de Uso: Eliminar usuario
Descripción
El administrador quiere eliminar un usuario del sistema.
Actor Principal
Usuario administrador
Precondición
El usuario está registrado en el sistema.
Postcondición
El usuario es eliminado del sistema.
Curso típico de acontecimientos
Actor
1. El administrador pide ver
usuarios
Sistema
los
2. El sistema muestra
registrados en el sistema.
los
2. El administrador selecciona uno.
3. El sistema elimina al usuario.
Cursos Alternativos
45
usuarios
Caso de Uso: Asignar permisos a usuarios
Caso de Uso: Asignar permisos a usuarios
Descripción
El administrador asigna permisos de publicador o administrador a un usuario.
Actor Principal
Usuario administrador
Precondición
El usuario está registrado en el sistema.
Postcondición
El usuario pasa a ser usuario administrador o publicador
Curso típico de acontecimientos
Actor
1. El administrador pide ver
usuarios
Sistema
los
2. El sistema muestra
registrados en el sistema.
2. El administrador selecciona
usuario y el rango a asignar.
los
usuarios
al
3. El sistema asigna los nuevos permisos al
usuario.
Cursos Alternativos
-
46
CAPÍTULO III. Implementación
En el momento de iniciar este proyecto el sitio web, como se ha dicho anteriormente,
estaba desarrollado en Joomla 1.0, y por tanto mantendremos el mismo gestor de
contenidos ya que actualmente es uno de los que ofrecen mayores funcionalidades,
seguridad y soporte, teniendo en cuenta que es de código libre (gratuito), ya que los
CMS comerciales tienen un coste elevado, con valores que oscilan entre 5.000 y
100.000 euros (22). Actualizaremos su versión de 1.0 a 1.5, ya que la versión 1.0, no
tiene soporte de Joomla y la versión 1.5 además de tener soporte, es más segura, más
rápida y más fiable. Por tanto lo primero que haremos será una migración a la versión
1.5.22 de Joomla, que actualmente es la última.
Joomla 1.5.22 requiere versiones mínimas de PHP 4.3.10 y de MySQL 3.23, versiones
que el hosting que alojaba el sitio sí que cumplía, pero para otras funcionalidades,
como por ejemplo el foro, necesitamos las versiones mínimas de PHP 5.2.3 y de
MySQL 5.0.3, que no están soportadas por el hosting que alojaba el sitio web de Jo
Existeixo. Dado que para poder realizar el proceso de migración y upgrading del sitio
requeríamos de mejores servicios realizamos un estudio de mercado de diferentes
compañías de hosting, que explicamos más adelante.
Una vez contratado el hosting y hecha la migración procedemos a la instalación,
modificación y configuración de las distintas funcionalidades, que los miembros de la
junta de Jo Existeixo, nos han pedido para su nuevo sitio web. Así mismo también
rediseñaremos la plantilla, adaptándola a los estándares de accesibilidad (14) (19).
Para empezar el nuevo proyecto, realizamos un análisis de requisitos (véase Capítulo
II), para saber qué conservaba y qué necesidades había.
Hosting
Realizamos la búsqueda de información sobre distintos hosting, dado que el que había
en el momento de iniciar el proyecto era “Nominalia”, caduca en breve y no cumplía
con los requisitos técnicos para el correcto funcionamiento del sistema.
Para ello analizamos cuatro opciones distintas, Se puede ver el resultado de este
análisis en el Anexo 4. Hosting, donde mostramos una tabla con las distintas
características que son necesarias y/o deseables de un servicio de host y de dominio y
las diferentes compañías que estudiamos.
47
Como puede verse en el estudio descartamos Nominalia y Hostalia, primero, por su
precio elevado, aunque la oferta del primer año es asequible, pero en los siguientes
años el precio se eleva considerablemente, y segundo porque no ofrecen las versiones
de PHP y MySQL que se requieren para Joomla 1.5.23.
Por lo tanto nos quedan 1and1 y Fatcow. El primero tiene un precio asequible, pero
sólo nos ofrece una base de datos, y diez cuentas de correo con una capacidad
máxima en el servidor de 1GB, mientras que en el segundo, dispondríamos de cuentas
de correo y capacidad ilimitadas.
Hemos elegido Fatcow como proveedor de dominio y de alojamiento, tanto por los
motivos anteriores como por su tiempo de respuesta de atención al cliente, ya que es
inmediata (Chat, correo, teléfono) durante los siete días de la semana, las 24 horas del
día, solucionan todos los problemas o consultas en un espacio muy reducido de
tiempo (menos de una hora).
Migración
Antes de iniciar el proceso de migración a la versión 1.5 de Joomla, como medida de
seguridad, realizamos una copia de seguridad de todo el sitio. Para poder llevar a cabo
el proceso de migración, descargamos e instalamos un componente de Joomla 1.0
llamado “com_migrator”,
Realizamos la preparación del componente “com_migrator” seleccionando todos los
artículos, categorías, secciones, usuarios, entre otros, así como los componentes que
vamos a migrar (como por ejemplo JoomFish!), y el propio componente nos crea un
script de migración para la nueva versión.
También necesitamos descargar y subir al servidor la última versión de Joomla, en
este caso la versión 1.5.22 (23), una vez obtenida la nueva versión en el servidor y el
script de migración de la versión anterior, precedemos a la instalación/migración del
sitio web de Jo Existeixo. (Véase manual de instalación de Joomla (24)).
Una vez efectuada la migración de la base de datos, descargamos (desde el sitio
oficial (25)) e instalamos la extensión actualizada de JoomFish! versión 2.0.4 para
Joomla 1.5, y configuramos los idiomas deseados. Intentamos utilizar el componente
GTranslate, ya que hace traducciones automáticas utilizando el traductor de Google,
pero había un problema, y es que también traduce el nombre de la organización Jo
Existeixo a “Yo Existo”, “I Exist”, y por tanto se descartó dicho componente. También
48
instalamos la plantilla “School time” (26), y por último cambiamos el apuntador del sitio
web de Jo Existeixo, a la versión 1.5, así la nueva página está actualizada y en
funcionamiento.
Hemos de decir que al realizar la migración han aparecido una serie de errores:
Problema de pérdida de información de la base de datos. Al hacer la migración se
perdieron datos en la base de datos, así como las traducciones que teníamos con el
componente Joom!Fish, en los datos originales se perdieron datos por la codificación
UTF-8 como por ejemplo, cuando llegábamos a un acento, apóstrofe, etc. Para
solucionarlo se tuvo que ejecutarlo manualmente, es decir, para que la página pudiera
estar en funcionamiento, se tuvo que coger la información de la base de datos de
respaldo que se hizo en Joomla 1.0 y hacer un copiar y pegar de la información.
Problema de pérdida de ficheros. Al realizar la migración no se copiaron los ficheros
ni las imágenes almacenadas en Joomla 1.0 ya que no estaban ubicados en la base
de datos, y por tanto se tuvieron que volver a subir mediante FTP a sus respectivos
directorios.
Problemas con el menú Joom!Fish. Una vez hecha la migración, instalamos el
Joom!Fish, y pero no podíamos entrar a su panel de control, pero si a sus
funcionalidades internas, para solucionarlo, mediante MySQL entramos en la base de
datos, en la tabla jos_components, registro Joom!Fish, y allí cambiamos manualmente
el valor del parámetro showPanelNews a de 1 a 0 (27).
Una vez resueltos todos los errores, tenemos un sitio web migrado a Joomla 1.5.22,
este sitio contiene la misma información y funcionalidades que el de la versión 1.0.
A partir de este momento, tenemos hecha la actualización de la versión de Joomla y el
cambio de hosting.
Desde que se empezó el proyecto, creamos un sitio web de Joomla, en local, es decir,
en el propio ordenador, que ha servido de pruebas y en el cual se han ido instalando y
desinstalando distintos componentes y módulos (que más adelante explicaremos).
En el nuevo servidor, instalamos una nueva versión de Joomla, en este caso la 1.5.22,
ya que acababa de salir, y con toda la información que teníamos en el antiguo sitio
web, dicho sitio será que él estará visible una vez terminado el proyecto, y por lo tanto,
lo primero que se hizo fue actualizar toda la información y links.
49
Plantilla
Para el nuevo sitio necesitamos una plantilla rápida de cargar, con optimización para
búsquedas SEO ( del inglés Search Engine Optimizer, en castellano Optimizador de
Buscadores) (8) (9), gratuita y con numerosas posiciones para insertar las
funcionalidades solicitadas, después de mucho buscar, la plantilla que finalmente se
eligió, fue “afterbuner” (28), véase Figura 6. Esta plantilla tiene 18 posiciones, es
compatible con la mayoría de navegadores, cumple con el estándar de W3C y está
optimizada para SEO.
Figura 6. Se muestra el estado original de la plantilla Afterburner, imagen
obtenida de http://demo.rockettheme.com/free/afterburner/
En dicha plantilla, se crearon dos posiciones nuevas, una fue para poner los idiomas y
la elección del tamaño de letra, y otra para el recuadro de búsqueda.
El aspecto del sitio viene dado por el diseñador Enric Cala, un amigo del presidente de
la asociación Jo Existeixo, manteniendo los colores y estilos que hace tiempo él creó
para la asociación en trípticos y notificaciones. De esta manera el sitio mantiene la
línea corporativa la asociación.
50
Para adecuar el diseño a las peticiones del señor Cala fue necesario cambiar el fichero
de estilos (CSS). A continuación, en la Figura 7, mostramos el diseño final de la
plantilla, se puede observar que el fondo de la página es de color blanco, y el color de
letra es gris, en los menús se ha utilizado el color amarillo, ya que es el originario de la
asociación, con letra de color blanco, el color negro únicamente aparece en los
enlaces. En la parte superior, vemos en los lados derecho e izquierdo, las dos
posiciones nuevas creadas para insertar el módulo de buscar, el de los idiomas y del
tamaño de letra, añadiendo también un fondo de color amarillo. Modificamos también
el espacio para insertar el logo, y al artículo de “Bienvenidos a Jo Existeixo” se le puso
de fondo una parte del logo de Jo Existeixo.
Figura 7. Imagen que muestra el nuevo diseño de la página principal del sitio
web de Jo Existeixo. Imagen obtenida de www.joexisteixo.org
Módulos y componentes
Como se ha mencionado anteriormente, para cumplir con los requisitos del sitio web,
se hemos probado distintos módulos y componentes, obtenidos de sus sitios oficiales,
y accediendo a ellos desde el sitio de extensiones de Joomla (29). Todos los módulos
y componentes utilizados son de código libre.
51
A continuación se muestran los módulos y componentes, que se han utilizado y los
que se han tenido que configurar para poder adaptarlos al sitio. Para ver el resto de
módulos y complementos con sus respectivas versiones véase el Anexo 1.
Especificación técnica.
Los componentes que han sido configurados son los siguientes:
Utilizamos para crear el chat de Jo Existeixo el componente jPFChat (30), y una vez
instalado, modificamos los canales del chat, ya que sólo habrá un canal para todos los
usuarios, también se creó un filtro de palabras prohibidas, con el fin de que si un
usuario las escribiese, aparecerían codificadas con asteriscos (*).
En el componente JoomFish! (25), solamente añadimos los idiomas deseados
(castellano, catalán e inglés) e insertamos las traducciones del contenido en cada
idioma.
El foro previsto a utilizar es el Kunena 1.6.1 (31), es gratuito, y su última versión está
en castellano y catalán. Para poder adaptarlo al sitio web se modificamos las
categorías del foro y configuramos parámetros y permisos de cara a los usuarios,
como por ejemplo, no modificar ni postear las normas de uso, poder borrar sus propios
post, entre otros.
Asimismo instalamos un nuevo editor JCE 1.5.75 (32), el cual ofrece una mejora en la
vista para el usuario, y más funcionalidades que los incorporados de serie, como un
componente para facilitar la subida de archivos al servidor (para usuarios
Publicadores).
A continuación se presentan los módulos que han sido configurados:
Para hacer más fácil la incorporación de archivos al servidor, se instalamos un módulo
llamado “EasyFileUpdate” (33), de serie solamente se podían subir imágenes
y
vídeos, lo hemos modificado de tal manera que, ahora permiten añadir ficheros de
tipos diversos (PDF’s, PowerPoint, etc.).
Para poner los enlaces de enlace a facebook y Twitter, utilizamos el módulo “Nice
Social Bookmark” (34), configuramos los enlaces y redireccionándolos a cada una de
las cuentas de facebook y twitter respectivamente.
52
Para el chat del facebook hemos utilizado el módulo “Facebook Live Stream” (35) y
hemos configurado los enlaces hacia la página de Facebook de Jo Existeixo.
También incorporamos un “widget” (8) (9) del tiempo en Barcelona, para esto creamos
un módulo personalizado en HTML, e insertamos un código (36), previamente
configurando unos parámetros en dicha página.
Para poder visualizar los ficheros PDF desde el mismo sitio sin necesidad de abrirlos,
instalamos el conector llamado “embed pdf” (37), para poder utilizarlo, hemos tenido
que insertar un pequeño código en el sitio en que se quiera mostrar el PDF, por
ejemplo en el artículo de recetas, el código sería el siguiente.
{pdf}Ruta_del_archivo_pdf|height:altura|width:anchura|app:
aplicación_para_abrirlo{/pdf}
Para poder abrir el archivo PDF tenemos dos opciones, una es utilizando la
herramienta de google para webs que puedan abrir PDF’s (app:google), y la otra es
utilizar la aplicación de adobe (app:adobe), insertada en los navegadores, y
observamos que manejando la aplicación de google tardaba menos tiempo en abrir el
documento, por este motivo utilizamos app:google.
Vemos ahora el ejemplo completo para abrir el PDF de recetas de concina.
{pdf}http://www.joexisteixo.org/media/Martinecat.pdf|height:1020|width:99%|app:google{/pdf}
Problema con el visor de PDF’s
Como hemos comentado anteriormente decidimos utilizar la aplicación de google para
abrir el PDF, pero vimos que para el navegador Internet Explorer, no era compatible, y
por lo tanto probamos con la aplicación de adobe, y no daba ningún problema, y
creamos el siguiente código:
53
{source}
<?php
$navegador=getenv("HTTP_USER_AGENT");
if(preg_match("/MSIE/i","$navegador"))
{
?><p>{pdf}http://www.joexisteixo.org/media/Martinecat.pdf|height:1020|width:99%|app:adobe{/pdf}</p><?php
}
else if (preg_match("/Mozilla/i", "$navegador"))
{
?>
<p>{pdf}http://www.joexisteixo.org/media/Martinecat.pdf|height:1020|width:99%|app:google{/pdf}</p><?php
}
else
{
?><p>{pdf}http://www.joexisteixo.org/media/Martinecat.pdf|height:1020|width:99%|app:google{/pdf}</p><?php
}
?>
{/source}
Con dicho código, lo que se hace es comprobar qué navegador se está utilizando, y si
se utiliza Internet Explorer, abrimos el archivo con la aplicación de adobe, y si se utiliza
Firefox u otro navegador se abre con la aplicación de google, que es más rápida.
Donaciones
La asociación quería un apartado para hacer aportaciones económicas y se barajó la
opción de un aplicativo de “La Caixa” obteniendo así una mayor seguridad para los
donantes y evitar posibles fraudes, pero esta opción finalmente no se ha llevado a
cabo, ya que “La Caixa” se llevaba una alta comisión en cada donación que se hiciera
a la asociación.
Artículos
Todos los artículos se han categorizado y se han actualizado la información,
especialmente en la Junta directiva, los enlaces y prestaciones y ayudas que están
actualmente en funcionamiento.
54
SEO
Un aspecto fundamental a ser tomado en cuenta cuando se lanza un sitio web es el
posicionamiento en buscadores. A fin de establecer la infraestructura básica para el
posicionamiento del nuevo sitio www.joexisteixo.com, hemos definido las palabras
claves (como parte de los metadatos) para cada artículo. Las palabras claves que se
han elegido son: pluridiscapacitat, pluridiscapacidad, asociación de discapacitados,
associació discapacitat, ajuda famílies discapacitat, ayudas familias discapacitadas,
discapacitat, discapacitados, discamercat. Estas palabras clave están escritas en los
dos idiomas oficiales de la comunidad autónoma de Cataluña, el catalán y el
castellano.
También hemos incluido el mapa del sitio web que como comentaremos más adelante
hemos dado de alta en la herramienta de Google para webmasters. Con esto
facilitamos el indexamiento de las páginas del sitio por este motor de búsqueda.
W3C
El World Wide Web Consortium (W3C) es una comunidad internacional que desarrolla
estándares que aseguran el crecimiento de la web a largo plazo y controla que se
cumplan estos estándares de programación y de diseño de las páginas webs. El nuevo
sitio www.joexisteixo.org fue sometido a los validadores de XHTML (38), y CSS (39),
de W3C. En relación al código, fue necesario adaptarlo a los estándares, ya que en la
modificación del diseño y de algunos módulos se incumplían dichas normas y no
fueron aceptados. Una vez modificados obtuvimos los certificados de W3C de XHTML
1.0 y CSS 2.1.
Iniciativa de Accesibilidad Web (Web Accessibility Initiative WAI)
La Iniciativa de Accesibilidad Web, WAI, pertenecientes al W3C representa un camino
para diseñar una web accesible, ya que siguen una serie de estándares de
accesibilidad que ayudan a los diseñadores y desarrolladores web a identificar los
puntos claves al optimizar una web desde el punto de vista de la accesibilidad. Hay
tres niveles A, AA, AAA, correspondiendo respectivamente a criterios mínimos de
accesibilidad, extendidos, y accesibilidad máxima (40).
El sito www.joexisteixo.org, cumple las pautas que son aplicables de prioridad 1, y un
subconjunto de las pautas de prioridad 2 y 3. No podemos optar a la doble A, porque
si se deshabilita el Java Script, las funcionalidades del audio quedarían inhabilitadas, y
55
queremos que personas con problemas visuales puedan acceder a la información,
Este aspecto sería superable utilizando un conector de audio programado utilizando el
lenguaje PHP o HTML5, por ejemplo. No obstante, cumple con prioridades 2 y 3, en el
aspecto visual al ver la web en blanco y negro y sin hoja de estilos.
Actualización
Durante todo este tiempo, de creación del sitio, la versión de Joomla 1.5.23 fue
liberada, y por razones de seguridad actualizamos nuestro sitio a dicha versión, la
actualización consistió en descargarse un paquete de datos (41), y mediante FTP (8)
(9), subirlos al servidor y reemplazar los existentes, esto siempre haciendo antes un
backup, por si había algún error durante el proceso de actualización.
Seguridad
En el momento de contratación del hosting, también se contrató un servicio de
seguridad, para nuestro sitio esté protegido de cualquier vulnerabilidad. Dicho servicio
tiene el nombre de “SiteLock” (42), para poder insertarlo en la página se tuvo que
acceder a la cuenta del hosting en fatcow (43), y darse de alta para habilitar el servicio,
obtuvimos un trozo de código, que nos muestra una insignia de la empresa, para darle
confianza a los usuarios.
Otro mecanismo de seguridad es el componente “Akeeba Backup”, que permite hacer
copias de seguridad (backup), tanto de la base de datos como del sitio, es decir, es
una herramienta para que el administrador respalde todos los archivos, fotos,
documentos, plantillas que hay en el servidor, mediante un simple clic.
Otro mecanismo de seguridad está basado en las recomendaciones de Joomla (44),
como utilizar un servidor con PHP5 (8) (9), apache, no habilitar el usuario anonimous
en FTP (8) (9), ajustar permisos de usuarios, tanto para el sitio web, como para los
archivos que componen dicho sitio 755 para directorios, y 644 para archivos, vaciar la
caché, crear copias de seguridad, eliminar el usuario Admin y los módulos y
componentes que no se utilizan, entre otros.
Herramientas de Google
Para controlar las visitas del sitio web, utilizaremos las herramientas de Google. A
continuación se especifican:
56
Google analytics. Nos proporciona información muy valiosa sobre el tráfico del sitio
web, es decir, que páginas visita más el usuario, en que página abandona nuestro sitio
web, cuantos usuarios nuevos nos han visitado, cuantos usuarios entran asiduamente,
etc. (45).
Para poder utilizar el servicio, es necesario darse de alta (45), además, hay que
colocar nuestro sitio web para obtener un código de Google, y con dicho código,
insertarlo en nuestra web justo antes de cerrar el “head”.
Google Webmaster tools. Es un conjunto de herramientas que permite a los
webmasters hacer que los sus sitios web sean amigables para Google. Entre otras
cosas, a través del envío del mapa del sitio (sitemap) se facilita el rastreo de las
páginas del sitio por el robot de google (Googlebot). También permite visualizar
cuántos enlaces apuntan a los sitios gestionados,
monitorización de las palabras
utilizadas en la búsqueda, verificación de software malicioso, etc. (46).
Para poder utilizar el servicio, hay que darse de alta (46), una vez dados de alta se ha
de poner nuestro sitio web y descargar y subir un fichero mediante ftp, para comprobar
la identidad del sitio. Una vez comprobada, se puso el sitemap, para que el “robot” de
google, acceda a todos los apartados de nuestro sitio web, pueda indexarlos
correctamente, compruebe que los links no son obsoletos y que no haya ningún
software malicioso en nuestro sitio web.
57
CAPÍTULO IV. Planificación y estudio económico
En este capítulo, se especifica la planificación, una previsión del coste y el tiempo del
trabajo ejecutado.
IV.1. Planificación
El proyecto se planteó en enero del 2011, con una duración de un cuatrimestre, para
una dedicación de 6 horas diarias de lunes a viernes para presentarse a principios de
junio del mismo año hacer su presentación.
La planificación consta de 5 fases
•
Fase 1: Estudio del proyecto.
•
Fase 2: Análisis de requisitos.
•
Fase 3: Implementación y diseño
•
Fase 4: Pruebas
•
Fase 5: Documentación de la memoria
La siguiente Tabla 1, muestra un diagrama de Gantt simple con la planificación de
dichas fases.
Tabla 1. Diagrama de Gantt inicial simple
Este diagrama inicial ha sufrido modificaciones por diversos imprevistos y problemas
encontrados durante el transcurso del proyecto, especialmente en la elaboración de la
memoria y las pruebas para asegurarse que, todas las funcionalidades del sitio están
operativas.
Esto supuso posponer la fecha de la defensa del proyecto y aumentar las horas de
dedicación diarias.
58
En la siguiente Tabla 2 se muestra el diagrama de Gantt final.
Tabla 2. Diagrama de Gantt final simple
A continuación mostramos la duración de las distintas tareas.
Tabla 3. Diagrama de Gantt simple
A principios de abril, una vez definidos el análisis de requisitos y que diseño tendría el
sitio web, se empezó a documentar la memoria de éste.
La Tabla 4, muestra detalladamente las 140 horas de estudio inicial para llegar al
análisis del proyecto, en el que se han invertido 110 horas.
59
Tabla 4. Diagrama de Gantt. Partes: Estudio del proyecto y Análisis de requisitos
Se puede observar en Tabla 4, que una de las tareas listadas corresponde a diversos
cursos de formación. En efecto durante la elaboración del proyecto hemos asistido a
los cursos que se detallan en Anexo 5. Cursos de formación, con el fin de adquirir los
conocimientos necesarios para mejorar la garantía y calidad del proyecto.
La Tabla 5, se muestran detalladamente las 107 horas invertidas en el diseño del
nuevo sitio web y las 205 horas invertidas en su implementación.
Tabla 5. Diagrama de Gantt. Partes: Diseño e Implementación
60
La Tabla 6 indica la duración de las pruebas y la documentación. La tarea de testear
se solapa con la de implementación, ya que se consideró oportuno ir haciendo
pruebas a medida que se iban añadiendo funcionalidades. Las horas dedicadas al
testeo son 180, mientras que a la elaboración de la documentación hemos dedicado
304 horas.
Tabla 6. Diagrama de Gantt. Partes: Test/Pruebas y Documentación
IV.2. Coste del proyecto
Como sucede en la planificación temporal, es muy importante realizar un presupuesto
inicial del proyecto para ver su grosor a nivel económico. Esto permite hacer una
predicción económica del proyecto y saber si se dispone de recursos suficientes para
su realización. A pesar de todo, el coste real del proyecto se calcula al finalizar éste ya
que puede haber alteraciones en su cálculo inicial.
Hay dos grandes grupos dentro de los costes temporales: el coste del personal
encargado en llevar a cabo todas las fases del proyecto y el coste del material usado
para ello.
Cuando se calcula el coste total de un proyecto aparecen también factores de
desplazamiento, imprevistos, sistema eléctrico y otros. Éstos aumentan la complejidad
del cálculo del coste final, por lo que no los hemos considerado.
61
Coste del personal
Este bloque es el que más recursos económicos consume. En este proyecto, al ser un
proyecto final de carrera, no hay un personal especializado en cada una de las tareas,
sino que solamente hay una persona, que se encarga de todas las tareas.
Para mostrar el cálculo que supondría la realización de este proyecto hemos supuesto
lo siguiente:
Que hay distintos roles encargados de realizar las tareas que se han especificado en
el diagrama de Gantt. En un proyecto informático intervienen los roles de director de
proyecto, analista, diseñador y programador. En este caso, el director del proyecto
será a su vez el analista y se encargará de toda la parte de especificación y análisis
del problema. El diseñador se encarga de realizar el diseño del sistema y el
programador de codificarlo. El programador y el diseñador seleccionados para la
realización del proyecto son becarios y el analista es profesional, a continuación se
muestra el precio por hora de cada rol, obtenidos de la página del Univers de la UPC
(47):
•
Analista: 20 € / hora *
•
Diseñador: 6 € / hora
•
Programador: 6 € / hora
(*) Se ha considerado 20 € la hora, ya que hace una faena más técnica y sería un
poco más del triple que cobra un diseñador/programador.
TAREA
Estudio del proyecto
ROL
HORAS
COSTE
Analista
/Programador 130 h
2.600 €
Especificación preliminar del PFC
Analista
30 h
600 €
Especificación preliminar de los casos de uso
Analista
30 h
600 €
Definición de requisitos del proyecto
Analista
30 h
600 €
Definición definitiva de los casos de uso
Diseño
Analista
30 h
600 €
Buscar diseño preliminar
Seleccionar diseño final
Diseñador
Diseñador
13 h
20 h
78 €
Estudio de Joomla + Cursos + Otros
Análisis de requisitos
62
120 €
Modificar la plantilla del diseño final
Implementación
Programador
50 h
300 €
Instalación y migración de Joomla
Programador
Análisis y contratación del nuevo hosting
Analista
Buscar,
instalar
y
configurar
módulos/componentes
Programador
7h
15 h
42 €
300 €
180 h
1.080 €
Reuniones
Analista
20 h
400 €
Actualización de Joomla
Programador
2h
12 €
Seguridad del sitio
Programador
2h
12 €
SEO + Analytics + WebMasterTools
Test / Pruebas
Programador
30 h
180 €
Prueba de la plantilla
Programador
20 h
120 €
Prueba de módulos
Programador
180 h
1.080 €
Prueba de enlaces
Documentación
Redactar memoria
Programador
2h
12 €
304 h
Analista
152 h
3.040 €
Becario
152 h
912 €
Preparar presentación
Analista
10 h
200 €
Defender proyecto
Analista
2h
40 €
946 h
12.928 €
Se observa que el desarrollo total del proyecto tiene un coste de 12.928 €.
Pero si quitamos la parte de redactar la memoria, quedaría en 8.736 €
Coste del material
En el coste material se cuenta el software y el hardware utilizado. Hemos trabajado
con el sistema operativo Windows7 utilizando programas que se incluían en el sistema
o que se han conseguido mediante la licencia de estudiante y todos los módulos o
componentes usados son de código libre, por lo que no conllevan coste adicional.
63
Hemos tenido que contratar un nuevo hosting, pero eso sí mucho más barato que el
que había anteriormente, con un coste de 60 €. Además se ha utilizado un portátil de
coste 800 € incluyendo el mencionado sistema operativo.
Por lo tanto el coste total del material sube a 860€.
Coste total
El coste total no es más que la suma de los dos costes anteriores:
Coste total = 8.736 € + 860 € = 9.596 €
64
CAPÍTULO V. Conclusiones y mejoras futuras
En este trabajo hemos actualizado el sitio web de las Asociación Jo Existeixo
convirtiéndolo en un sitio moderno, “alegre”, dinámico y funcional.
Para ello hemos hecho un “upgrade” de la versión de Joomla que soportaba el sitio y
hemos migrado todos sus contenidos a esta nueva versión 1.5.23 (que es la última
versión estable de Joomla)
Además le hemos agregado las siguientes funcionalidades:
 Registro de usuarios.
 Calendario.
 Módulo del tiempo.
 Aumentar, reducir tamaño de letra.
 Buscador.
 Entretenimiento mediante dos mini juegos.
 Chat y comunidad.
 Foro para el discamercado.
 Conversor de texto a audio en los artículos.
 Visualización de PDF en línea.
El sitio resultante cumple con los criterios de accesibilidad de la Generalitat de
Cataluña y del W3C, y los requisitos de posicionamiento en buscadores (SEO).
Como mejoras futuras proponemos:
Migración a versión 1.6. Además de ir actualizando la versión de Joomla y sus
componentes para obtener un mayor grado de seguridad en el sitio, en la página de
Joomla nos hacen unas preguntas por si queremos instalar la versión 1.6. (48):
Hemos de mirar si tenemos la plantilla y el código adaptado a la versión 1.6, así como
la compatibilidad de las extensiones para Joomla 1.6, en nuestro caso, las respuestas
no serían todas afirmativas, y si no se superan todas estas preguntas, es mejor no
actualizar a dicha versión, para más información léase el artículo de Joomla (48).
Estudio del SEO, ya que se ha dado de alta por primera vez en “Google analytics” y
“Google Webmaster Tools”, para conseguir aumentar las visitas en el sitio web de Jo
Existeixo y así, poder captar nuevos asociados.
65
Sistema de donaciones. Como alternativa al servicio de donaciones de “La Caixa”, se
podría hacer un estudio, de crear una cuenta PayPal, y así poder hacer donaciones
on-line.
Accesibilidad. Comprobar si aparecen nuevas normas de accesibilidad para
garantizar que el sitio web las cumpla.
66
Bibliografía
1. Sitio web de Joomla Spanish http://www.joomlaspanish.org/. [En línea]
2. Sitio web de la Ayuda de Joomla http://ayuda.joomlaspanish.org/ayuda-joomla/. [En
línea]
3. Página web wikipedia en castellano: http://es.wikipedia.org/. [En línea]
4. Página Web de CMS, alojada en wikipedia en castellano:
[http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_contenidos]. [En línea]
5. Artículo de, Ruyman Gil. ¿CMS o desarrollo web personalizado?, 2008,
http://www.yafaonline.com/portal/joomla/joomla-noticias/cms-o-desarrollo-webpersonalizado.html. [En línea]
6. Gary Mailer, Michael K. Glass, Jason Gerner, Mike Glass, Jeremy Stolz, Yann
Le Scouarnec, Elizabeth Naramore. ECM/CMS: Content Managements
http://books.google.es/books?id=tHA_2RMqsZ0C&printsec=frontcover&dq=cms&hl=es
&ei=Wo. 2008.
7. Robertson, J. How to evaluate a content management system.
http://www.steptwo.com.au/papers/kmc_evaluate/index.html. 2002.
8. Diccionario básico de tecnología, para el mundo de mac, http://www.faqmac.com/31544/diccionario-basico-tecnologia. [En línea]
9. Diccionario informático en español de la web del programador
http://www.lawebdelprogramador.com/diccionario/#. [En línea]
10. Gonzalez, Jorge. Distintos tipos de CMS
http://es.scribd.com/doc/9784576/Distintos-Tipos-de-CMS. [En línea]
11. Hanke, Johann-Christian. Joomla!: versión 1.5, crea y administra tu sitio web.
s.l. : KnowWare E.U.R.L., 2008.
12. Sitio web de mambo, http://www.mamboserver.com/. [En línea]
13. Harwani, Bintu. Manual imprescindible de Joomla! (Traducción de: Foundation
Joomla!). Madrid : Anaya Multimedia, 2010.
67
14. Accesibilidad, w3c. http://www.w3c.es/divulgacion/accesibilidad. [En línea]
15. Orwig, Paul. Documento con datos de los usuarios de la comunidad de Joomla
http://groups.google.com/group/joomla-wg-community?pli=1. [En línea]
16. Página web de los principales miembros del proyecto de Joomla
http://www.joomla.org/about-joomla/the-project/leadership-team.html. [En línea]
17. Sitio web de Jo Existeixo, http://www.joexisteixo.org/. [En línea]
18. Sitio web de plantillas de Raduga.
http://www.joomla24.com/remository/Download/Templates_for_Joomla_1.5/Templates
_from_Raduga/. [En línea]
19. Gencat, Accesibilidad. http://www.gencat.cat/web/cas/accessibilitat.htm .
Accesibilidad Gencat. [En línea]
20. Larman, Craig. Applying UML and patterns: an introduction to object-oriented
analysis and design and iterative development. s.l. : Prentice Hall PTR, 2005.
21. James Rumbaugh, Ivar Jacobson, Grady Booch. The Unified modeling
language reference manual. s.l. : Addison-Wesley, 2005.
22. Sitio web Content Management overview, precios de los CMS http://tools.hartmancommunicatie.nl/. [En línea]
23. Descarga de Joomla 1.5. http://www.joomlaspanish.org/. [En línea]
24. Manual de instalación de Joomla: http://ayuda.joomlaspanish.org/ayuda-joomla/.
[En línea]
25. Descarga de JoomFish: http://www.joomfish.net/downloads. [En línea]
26. Plantilla Siteground: http://www.siteground.com/templatepreview/joomla/siteground-j15-101. [En línea]
27. Solución error JoomFish
http://www.joomfish.net/forum/viewtopic.php?f=42&t=2579&p=12112&hilit=internal+ser
ver+error#p12112. [En línea]
68
28. Demo plantilla Afterbuner. http://demo.rockettheme.com/free/afterburner/. [En
línea]
29. Extensiones de Joomla: http://extensions.joomla.org. [En línea]
30. Descargar del Chat http://www.jpfchat.com/. [En línea]
31. Foro Kunena http://www.kunena.org. [En línea]
32. Editor JCE para joomla http://www.joomlackeditor.com/. [En línea]
33. EasyFileUpdate, subir ficheros al servidor http://michaelgilkes.info/joomla-plugineasy-file-uploader/. [En línea]
34. Nice Social Bookmark, enlaces a Facebook y Twitter http://salamanderstudios.com/download,. [En línea]
35. Facebook Live Stream, chat facebook http://www.khawaib.co.uk/downloads/kafacebook-live-stream.html. [En línea]
36. El tiempo http://www.eltiempo.es/widget/. [En línea]
37. Embed PDF, visor de pdf's online http://tekdi.net/View-document-details/4-EmbedPDF-in-content-for-Joomla-1.5.html,. [En línea]
38. Validador de XHTML http://validator.w3.org/. [En línea]
39. Validador de CSS http://jigsaw.w3.org/css-validator/. [En línea]
40. Normas WAI. http://www.w3.org/TR/WAI-WEBCONTENT/. [En línea]
41. Actualización de Joomla 1.5.22 a 1.5.23
http://joomlacode.org/gf/project/spanish/frs/?action=FrsReleaseView&release_id=1452
5. [En línea]
42. Sitio de seguidad Site Lockhttp://www.sitelock.com/. [En línea]
43. Fatcow http://www.fatcow.com/. [En línea]
44. Normas de seguridad de Joomla. http://docs.joomla.org/Security. [En línea]
69
45. Google Analytics http://www.google.com/intl/es/analytics/ . [En línea]
46. Sitio web de Google WebMasterTools:
http://www.google.com/webmasters/tools/?hl=es. [En línea]
47. Web Univers http://www.univers.upc.edu/comunitatupc/beques/models_impresos.
[En línea]
48. Pagina web de una noticia para actualizar tu sitio a Joomla 1.6, página ubicada en
http://www.joomlaspanish.org/noticias/191-noticias-16/402-actualizando-tu-sitio-ajoomla-16.html. [En línea]
49. Web de Jacob Nielsen www.useit.com. [En línea]
50. Web W3C. www.w3c.org. [En línea]
51. Normas WAI. http://www.w3.org/WAI/WCAG1AAA-Conformance.html.es. [En línea]
70
Anexo 1. Especificación técnica
En este apartado veremos las especificaciones técnicas del sitio de Jo Existeixo.
La versión de Joomla utilizada es la 1.5.23, ocupa aproximadamente 27 MB, y para
poder instalar y usar Joomla se debe tener un servidor web (Apache es el
recomendado), una base de datos (MySQL es la óptima) y el lenguaje de script del
lado del servidor PHP, junto con módulos específicos que se activan en PHP para
MySQL, XML y Zlib, entre otros.
Ahora veremos los requisitos mínimos de cada versión del software que se necesita
para tener instalado Joomla:
Software
Requisitos mínimos
Recomendado Sitio Web
PHP
4.3.10
4.4.7
MySQL
3.23.x o superior
http://dev.mysql.com
Apache
1.3 o superior
http://httpd.apache.org
http//php.net
Fuente obtenida de:
http://ayuda.joomlaspanish.org/index2.php?option=com_content&task=findkey&pop=1
&keyref=requisitos
Se recomienda, por razones de seguridad hacer un backup cada dos semanas, por si
hay algún problema tener siempre una versión bastante actual del sitio. También, se
recomienda hacer mensualmente una limpieza de la memoria caché, con esto
conseguimos limpiar ficheros generados por el servidor web y así evitar la entrada de
hackers al sitio.
Ahora nos centramos en los módulos y componentes del sitio web.
En la siguiente tabla se muestran todas las posiciones de la plantilla que se ha
utilizado y en cada posición nos mostrará los módulos, componentes, menús… que
contiene el sitio web de Jo Existeixo.
71
debug
footer
bottom
user9
user8
user7
user6
user5
user4
right
user3
user2
user1
breadcrumb
left
advertisement
nav
top
Módulo
mod_footer
mod_breadcrumbs
mod_custom
mod_mainmenu
mod_mainmenu
mod_login
mod_whosonline
mod_jflanguageselection
mod_search
mod_mainmenu
mod_mainmenu
mod_mainmenu
mod_mainmenu
mod_nice_social_bookmark
mod_jalendar
mod_custom
mod_puzzlemania
mod_pacman
mod_poll
mod_newsflash
mod_easyfileuploader
mod_facebook_live_stream
lengua
Titulo
Pie de página
Navegación
Info y seguridad
Menú principal
Menú usuario
Acceso
Quien está en línea
Idiomas
Buscador
Mapa del sitio
Discamercado
Comunidad
Chat
FB and Twitter
Calendario
Tiempo
Puzle
Pacman
Encuestas
JoExisteixo Informa
Subir archivo
Facebook live stream
look
Posición
Para finalizar veremos una tabla con todos los módulos y componentes que se han instalado:
Nombre
Joomla
Versión
1.5.23
Akeeba backup
3.2.4
Admin Tools Core
2.0.2
JCE administration
Joom!Fish
jPFChat
Kunena
1.5.7.5
2.0.4
2.1.1
1.6.1
JMSitemap
1.0
enbedPDF
easyfileuploader
1.8
0.5
Sourcerer
2.8.3
vozme2j
2.0
puzlezmania
Pacman
nice_social_bookmark
facebook_live_stream
jalendar
Plantilla
x
x
x
x
x
x
Descripción
http://www.joomlaspanish.org/
Se encarga de hacer copias de seguridad de la base de datos como del sitio
https://www.akeebabackup.com/download.html
Se necesita para configurar las opciones de admin de akeeba
https://www.akeebabackup.com/download.html
Editor de texto http://www.joomlacontenteditor.net/downloads/editor/joomla15x/item/jceadministration-component
Se encarga de gestionar las traducciones http://www.joomfish.net/downloads
Chat de Jo Existeixo http://www.jpfchat.com/
Foro de Jo Existeixo http://www.kunena.org/download
Se encarga de crear el mapa del sitio web http://www.juicymedia.co.uk/downloads/joomla-15xdownloads.html
Se encarga de leer pdf's directamente en la web
http://heinelt.info/index.php?option=com_content&view=article&id=34&Itemid=50
Permite subir archivos al servidor http://michaelgilkes.info/joomla-plugin-easy-file-uploader/
Permite insertar código php, en el editor y luego es interpretado por Joomla como tal
http://www.nonumber.nl/extensions/sourcerer?tab=download
Se encarga de hacer la conversión de texto a audio de los artículos
http://joomlacode.org/gf/project/bot_vozme/frs/
Nos crea un puzle de una imagen http://extensions.joomla.org/extensions/sports-agames/games/13702
Juego del comecocos http://joomla.baronti.net/remository.html?func=fileinfo&id=8
Enlaces hacia facebook y twitter http://salamander-studios.com/download
Chat del facebook http://www.khawaib.co.uk/downloads/ka-facebook-live-stream.html
Calendario http://calendarium.ru/wiki/Joomla!:_Jalendar
Afterburner http://demo.rockettheme.com/free/afterburner/
73
Anexo 2. Manual de usuario publicador
Para poder acceder al sistema, el usuario se ha de registrar mediante un formulario de
entrada, escribiendo su nombre, nombre de usuario, contraseña y un correo
electrónico, una vez se validen los datos, se le enviará un correo al nuevo usuario,
para que valide mediante un enlace el proceso de registro, una vez abierto dicho
enlace, el usuario ya estará activo para poder entrar en el sistema.
Subir archivo
Para subir un archivo se ha de clicar el botón “examinar”, y seleccionar el archivo de
su ordenador, y a continuación clicar el botón “Upload”. Por seguridad del sitio,
solamente están permitidos subir archivos del tipo imágenes (jpg, gif, bmp, png),
PowerPoint, Word, y pdf’s.
Crear artículo
Para crear un artículo, el usuario tiene que haber iniciado sesión y seleccionar en el
menú de usuario la opción “Publicar Artículo”, se le presenta la pantalla “Publicar
artículo nuevo”, que la dividiremos en dos zonas.
Figura 8. Imagen de la primera zona
La Figura 8 contiene el campo de entrada en el que se puede titular el nuevo artículo
los botones de Guardar y Cancelar y el editor de texto (WYSIWYG), donde se
introduce el contenido.
Si la noticia a insertar, es muy grande, contiene alguna imagen o se quiere insertar un
archivo PDF, se recomienda hacer:
1. Insertar el titular de la noticia
2. Clicar en la parte inferior donde pone “Leer más”
3. Insertar el cuerpo de la noticia.
a. Si se quiere insertar una imagen, se ha de clicar en la parte inferior
donde pone “Imagen”, y seleccionar la imagen deseada.
75
b. Si se quiere insertar un archivo PDF, primero se ha de subir el archivo
PDF y después se ha de clicar en “Insert Code” borrar lo que hay
escrito y escribir el siguiente código:
{source}
<?php
$navegador=getenv("HTTP_USER_AGENT");
if(preg_match("/MSIE/i","$navegador"))
{
?><p>{pdf}http://www.joexisteixo.org/images/stories/NOMBRE_DEL_ARCHIV
O.pdf|height:1020|width:99%|app:adobe{/pdf}</p><?php
}
else if (preg_match("/Mozilla/i", "$navegador"))
{
?><p>{pdf}http://www.joexisteixo.org/images/stories/NOMBRE_DEL_ARCHIV
O.pdf|height:1020|width:99%|app:google{/pdf}</p><?php
}
else
{
?><p>{pdf}http://www.joexisteixo.org/images/stories/NOMBRE_DEL_ARCHIV
O.pdf|height:1020|width:99%|app:google{/pdf}</p><?php
}
?>
{/source}
En la parte del código de color rojo, que pone Nombre del archivo, se ha de poner el
nombre del archivo que se ha subido anteriormente al servidor, por ejemplo si hemos
subido el archivos joexisteixo.pdf anteriormente, en este caso tenemos que cambiar
quedaría así
{pdf}http://www.joexisteixo.org/images/stories/joexisteixo.pdf|height:
1020|width:99%|app:google{/pdf}</
76
Figura 9. Imagen de la segunda zona
La Figura 9 contiene las partes de categorizar el artículo, tiempo de publicación y
metadatos, por tanto se han de configurar de la siguiente manera.
•
En el apartado de Sección y categoría, se ha de seleccionar “Noticias”.
•
Seleccionar la fecha de inicio y final de publicación, la fecha de Inicio
predeterminada, es la del día actual, mientras que la de finalización no tiene
caducidad, si se quiere modificar se ha de clicar al icono de la derecha y saldrá
un calendario para escoger las fechas.
•
Descripción: Poner Jo Existeixo – Título del artículo
•
Palabras claves: Poner “pluridiscapacitat, discapacitat, Título del artículo, Jo
Existeixo”, separadas por comas.
Una vez completada la información introducida, puede almacenarla pulsando el botón
Guardar, o anular la acción pulsando el icono Cancelar.
77
Modificar artículo
En Joomla, los usuarios “Publicadores” pueden editar el contenido. Cuando acceden al
sistema mediante su nombre de usuario y contraseña, pueden ver un pequeño icono
de Edición
encima del título de los artículos.
Pulsando este icono se mostrará una página de edición del contenido, que tiene las
mismas pantallas que hemos descrito para la creación de artículos de contenido.
Desde aquí se puede editar el contenido y guardar el artículo que aparecerá
automáticamente en la web.
Eliminar tema/comentario del foro
Una vez seleccionado el tema del foro que queremos eliminar, solamente tendremos
que clicar al botón “Eliminar” y se eliminará el comentario o “Eliminar tema” y se
eliminará todo el tema.
78
Anexo 3. Casos de uso
Seguidamente veremos todos los casos de usos completos de todos los usuarios,
recordando que el sistema tiene cuatro usuarios diferenciados, que son: usuario
visitante, usuario registrado, usuario publicador y usuario administrador.
Casos de uso: Usuario visitante
Diagrama
SISTEMA
Registrarse
Contactar
Visualización de páginas
Consultar enlaces
Leer foro
Cambiar idioma
Cambiar tamaño de letra
Usuario visitante
Escuchar artículo
Hazte socio
Utilizar gadgets interactivos
Compartir en Facebook
79
Especificación
Caso de Uso: Registrarse
Descripción
Un usuario quiere registrarse en nuestra página web.
Actor Principal
Usuario visitante.
Precondición
El usuario no está registrado.
Postcondición
Se ha registrado un nuevo usuario en el sistema.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide registrarse en el
sistema.
2. El sistema muestra los campos que hay
que rellenar.
3. El usuario introduce sus datos.
4. El sistema comprueba que los datos
estén correctos y manda un correo de
confirmación al usuario.
5. El usuario confirma su registro con
el link recibido en su correo.
Cursos Alternativos
3a. La información entrada es incorrecta.
3a1. El sistema notifica al usuario que los datos son incorrectos.
3a2. El usuario entra de nuevo los datos.
3a3. El caso de uso continúa en el paso 3.
80
Caso de Uso: Contactar
Descripción
Un usuario quiere contactar con nosotros.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se ha enviado un correo a la asociación Jo Existeixo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide contactar con la
asociación.
2. El sistema muestra los campos que hay
que rellenar.
3. El usuario introduce los datos.
4. El sistema comprueba que los datos
estén correctos y manda un correo con la
información a Jo Existeixo.
Cursos Alternativos
-
Caso de Uso: Visualización de páginas
Descripción
Un usuario quiere ver algún apartado de nuestra página web.
Actor Principal
Usuario visitante.
Precondición
Postcondición
El sistema muestra la página pedida por el usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide que se le muestre
una página del sistema.
2. El sistema muestra la página deseada.
Cursos Alternativos
-
81
Caso de Uso: Consultar enlaces
Descripción
Un usuario quiere ver los enlaces.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se ha enviado un correo a la asociación Jo Existeixo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide que se muestren los
enlaces.
2. El sistema muestra los enlaces.
3. El usuario selecciona el enlace que
quiere visualizar.
4. El sistema abre una nueva ventana con la
información seleccionada anteriormente.
Cursos Alternativos
-
Caso de Uso: Leer foro (Discamercat)
Descripción
Un usuario quiere consultar el foro.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se muestra un listado con los temas del foro.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide que se le muestre el
foro.
2. El sistema muestra un listado con los
temas del foro.
Cursos Alternativos
-
82
Caso de Uso: Cambiar idioma
Descripción
Un usuario quiere cambiar el idioma del sitio web.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se cambia el idioma de toda la página web de Jo Existeixo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario selecciona el idioma en
que quiere ver el contenido.
2. El sistema muestra la página web con el
idioma seleccionado previamente.
Cursos Alternativos
-
Caso de Uso: Cambiar tamaño de letra
Descripción
Un usuario quiere cambiar el tamaño de letra del sitio web.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se modifica el tamaño de letra de toda la página web de Jo Existeixo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario selecciona si quiere
aumentar, reducir o poner formato
predefinido en el tamaño de la letra.
2. El sistema muestra la página web con el
nuevo tamaño de letra seleccionado.
Cursos Alternativos
-
83
Caso de Uso: Escuchar artículo
Descripción
Un usuario quiere escuchar un artículo.
Actor Principal
Usuario visitante.
Precondición
Postcondición
El usuario escucha el artículo.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide escuchar un artículo.
2. El sistema abre una nueva ventana, que
carga el sonido del artículo.
3. El sistema reproduce el texto.
Cursos Alternativos
-
Caso de Uso: Hazte socio
Descripción
Un usuario quiere hacerse socio de Jo Existeixo.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se ha imprimido o descargado el formulario de inscripción de socio.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide hacerse socio.
2. El sistema muestra el formulario para
imprimir y enviar mediante correo ordinario
a la asociación.
3. El usuario se descarga/imprime el
formulario de solicitud.
Cursos Alternativos
-
84
Caso de Uso: Utilizar gadgets interactivos
Descripción
Un usuario quiere utilizar los gadgets interactivos.
Actor Principal
Usuario visitante.
Precondición
Postcondición
El usuario interactúa con el gadget.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario activa el gadget.
2. El sistema envía el control a una
aplicación externa.
Cursos Alternativos
-
Caso de Uso: Compartir en facebook
Descripción
Un usuario quiere compartir información mediante el muro del Facebook.
Actor Principal
Usuario visitante.
Precondición
Postcondición
Se inicia la sesión del usuario.
Curso típico de acontecimientos
Actor
Sistema
1.
El
usuario
pide
compartir
comentarios en Facebook. En el menú,
comunidad.
2. El sistema envía el control a la aplicación
Facebook.
Cursos Alternativos
-
85
Casos de uso: Usuario registrado
El usuario registrado hereda todos los casos de uso del usuario visitante, excepto, el
caso de uso de registrarse, ya que el usuario ya se encuentra en el sistema.
Diagrama
SISTEMA
Iniciar sesión
Cerrar sesión
Utilizar chat Jo Existeixo
Publicar nuevo tema en el foro
Responder tema en el foro
Borrar sus mensajes en el foro
Usuario registrado
Pedir contraseña
Pedir nombre de usuario
Modificar cuenta
86
Especificación
Caso de Uso: Iniciar Sesión
Descripción
Un usuario registrado en el sistema se identifica para acceder a su contenido.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado.
Postcondición
Se inicia la sesión del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide acceder a
su cuenta.
2. El usuario registrado introduce sus
datos.
3. El sistema comprueba que los datos
estén correctos.
4. El sistema permite el acceso al usuario
registrado.
Cursos Alternativos
3a. La información entrada es incorrecta.
3a1. El sistema notifica al usuario que los datos son incorrectos.
3a2. El usuario entra de nuevo los datos.
3a3. El caso de uso continúa en el paso 3.
87
Caso de Uso: Cerrar Sesión
Descripción
Un usuario registrado quiere cerrar su sesión abierta en el sistema.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y tiene sesión abierta.
Postcondición
Se cierra la sesión del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide cerrar su
sesión.
2. El sistema cierra la sesión del usuario.
Cursos Alternativos
-
Caso de Uso: Utilizar chat de Jo Existeixo
Descripción
Un usuario registrado quiere utilizar el chat de Jo Existeixo.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión
Postcondición
Se inicia la sesión en el chat.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide acceder al
chat.
2. El sistema inicia sesión en el chat, con el
nombre de usuario de la sesión.
3. El sistema muestra la página con el chat
cargado.
Cursos Alternativos
-
88
Caso de Uso: Publicar nuevo tema en el foro
Descripción
Un usuario registrado quiere crear un nuevo tema en el foro.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se crea un nuevo tema en el foro.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario introduce el título y el
comentario del nuevo tema en el foro.
3. El sistema actualiza el foro con el nuevo
tema.
Cursos Alternativos
-
Caso de Uso: Responder tema en el foro
Descripción
Un usuario registrado quiere responder un tema del foro.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se ha respondido un mensaje en el foro.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario selecciona el tema del
foro.
2. El sistema muestra todos los comentarios
del tema.
3. El usuario selecciona un comentario
y lo responde.
4, El sistema actualiza el tema con el nuevo
comentario.
Cursos Alternativos
-
89
Caso de Uso: Borrar sus mensajes en el foro
Descripción
Un usuario registrado quiere borrar un mensaje en el foro.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión
Postcondición
Se elimina un mensaje del usuario en el foro.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado selecciona el
tema a eliminar.
2. El sistema muestra el tema seleccionado.
3. El usuario elimina el tema entero o
un comentario.
4. El sistema actualiza el foro con el tema
eliminado.
Cursos Alternativos
3a. El comentario o tema no es del usuario.
3a1. El sistema notifica al usuario que no puede eliminar el tema.
3a2. El caso de uso continúa en el paso 1.
90
Caso de Uso: Pedir contraseña
Descripción
Un usuario registrado quiere pedir su contraseña al sistema.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado.
Postcondición
Se envía la nueva contraseña al usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide al sistema
que se le envíe su contraseña
introduciendo su correo electrónico.
3. El sistema envía un correo con una clave
de verificación.
4. El usuario introduce la clave
recibida.
5. El sistema verifica y envía la nueva clave
al usuario.
Cursos Alternativos
2a.El correo electrónico no se encuentra en la base de datos.
2a1. El sistema notifica al usuario que el correo electrónico es incorrecto.
2a2. El usuario entra de nuevo el correo.
2a3. El caso de uso continúa en el paso 2.
4a.El correo electrónico no se encuentra en la base de datos.
4a1. El sistema notifica al usuario que la clave es incorrecta.
4a2. El usuario entra de nuevo la clave.
4a3. El caso de uso continúa en el paso 4.
91
Caso de Uso: Pedir nombre de usuario
Descripción
Un usuario registrado quiere pedir su nombre de usuario al sistema.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado.
Postcondición
Se envía el nombre del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario registrado pide al sistema
que se le envíe su nombre de usuario
introduciendo su correo.
2. El sistema envía un correo con el nombre
de usuario.
Cursos Alternativos
2a.El correo electrónico no se encuentra en la base de datos.
2a1. El sistema notifica al usuario que el correo electrónico es incorrecto.
2a2. El usuario entra de nuevo el correo electrónico.
2a3. El caso de uso continúa en el paso 2.
Caso de Uso: Modificar la cuenta
Descripción
Un usuario registrado quiere modificar sus datos personales.
Actor Principal
Usuario registrado
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se modifican los datos del usuario.
Curso típico de acontecimientos
Actor
Sistema
1. El usuario solicita modificar sus
datos.
2. El sistema muestra los datos del usuario.
3. El usuario modifica sus datos.
4. El sistema registra los nuevos datos.
Cursos Alternativos
-
92
Casos de uso: Usuario publicador
El usuario publicador hereda todos los casos del usuario registrado, y por lo tanto
también los el usuario visitante, excepto, el caso de uso de registrarse, ya que el
usuario ya se encuentra en el sistema.
Diagrama
SISTEMA
Editar artículo
Subir archivos
Crear artículos
Usuario publicador
93
Especificación
Caso de Uso: Editar artículo
Descripción
Un usuario publicador quiere modificar un artículo del sistema.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se modifica el artículo
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide modificar un artículo.
2. El sistema muestra el artículo a editar.
2. El usuario modifica el artículo.
3. El sistema guarda la nueva información y
muestra el artículo modificado.
Cursos Alternativos
-
Caso de Uso: Crear artículo
Descripción
Un usuario publicador quiere crear un nuevo artículo.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se crea el artículo
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide crear un artículo.
2. El sistema muestra un editor de texto
para crear el artículo.
2. El usuario introduce los datos.
3. El sistema guarda el nuevo artículo.
Cursos Alternativos
-
94
Caso de Uso: Editar artículo
Descripción
Un usuario publicador quiere subir archivos al sistema.
Actor Principal
Usuario publicador
Precondición
El usuario está registrado y ha iniciado sesión.
Postcondición
Se sube un archivo al servidor
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide subir un archivo.
2. El sistema muestra un cuadro buscar
para escoger el archivo.
3. El usuario selecciona el archivo.
4. El sistema guarda el archivo en el
servidor.
Cursos Alternativos
4a.La extensión del archivo no es válida para guardarla en el servidor.
4a1. El sistema notifica al usuario que la extensión del archivo a subir no está
permitida.
4a2. El caso de uso continúa en el paso 3.
95
Casos de uso: Usuario administrador
El usuario administrador controla tanto el back-end como el front-end y por tanto tiene
el control total del sitio. Ahora mostraremos algunas funcionalidades que puede hacer
el usuario administrador.
Diagrama
SISTEMA
Limpiar memoria
Asignar permisos a usuarios
Eliminar usuarios
Usuario administrador
96
Especificación
Caso de Uso: Limpiar memoria
Descripción
El administrador hace una limpieza de la caché.
Actor Principal
Usuario administrador
Precondición
El usuario ha iniciado sesión en el back-end.
Postcondición
Se elimina la caché
Curso típico de acontecimientos
Actor
Sistema
1. El usuario pide eliminar la caché.
2. El sistema muestra que cache quiere
eliminar si la del sitio o la del administrador.
2. El usuario selecciona la que desea.
3. El sistema elimina la caché seleccionada.
Cursos Alternativos
-
Caso de Uso: Eliminar usuario
Descripción
El administrador quiere eliminar un usuario del sistema.
Actor Principal
Usuario administrador
Precondición
El usuario está registrado en el sistema.
Postcondición
El usuario es eliminado del sistema.
Curso típico de acontecimientos
Actor
1. El administrador pide ver
usuarios
Sistema
los
2. El sistema muestra
registrados en el sistema.
2. El administrador
usuario.
selecciona
los
el
3. El sistema elimina al usuario.
Cursos Alternativos
-
97
usuarios
Caso de Uso: Asignar permisos a usuarios
Descripción
El administrador asigna permisos de publicador o administrador a un usuario.
Actor Principal
Usuario administrador
Precondición
El usuario está registrado en el sistema.
Postcondición
El usuario pasa a ser usuario administrador o publicador
Curso típico de acontecimientos
Actor
1. El administrador pide ver
usuarios
Sistema
los
2. El sistema muestra
registrados en el sistema.
2. El administrador selecciona
usuario y el rango a asignar.
los
usuarios
al
3. El sistema asigna los nuevos permisos al
usuario.
Cursos Alternativos
-
98
Anexo 4. Hosting
Ahora veremos el estudio realizado en la contratación del hosting.
En el momento de empezar este proyecto el dominio está contratado en Nominalia.
Las opciones de hosting son las siguientes:
NOMINALIA
Pack Starter
Pack Professional
Espacio en disco (GB)
1
100
Tráfico web en GB (de entrada y salida)
10
100
Ancho de banda (Mbps)
ilimitado
ilimitado
Alias de dominio
1
ilimitado
WWW)
incluidos
incluidos
Subdominios ilimitados
incluidos
incluidos
Registro de su nombre de dominio
1
1
Prioridad de procesamiento
-
incluidos
Distribución de carga
-
incluidos
PHP
4.4.9 - 5.2.5
4.4.9 - 5.2.5
ASP, ASP.net
-
-
Extensión SSI
Sí
Sí
Perl
5.8.8
5.8.8
Python
2.6
2.6
Ruby
1.8.7
1.8.7
SilverLight3, Ajax\LINQ
-
-
Bases de datos
1
10
Versión
5
5
Espacio de la base de datos (MB)
25
100
Número de usuarios
1
ilimitado
MySQL Connector ODBC
No
Sí
MySQL Connector .NET
No
-
PhpMyAdmin
Sí
Sí
BigDump para importar (10MB)
Sí
Sí
CARACTERÍSTICAS
Servicio DNS y Configuración DNS (MX,FTP,
SISTEMA
BASE DE DATOS MySQL
99
HERRAMIENTAS DE GESTIÓN
Administrador de archivos
Sí
Sí
Número de usuarios FTP
ilimitado
ilimitado
Directorios protegidos por copias de seguridad
Sí
Sí
Control de tráfico y de espacio
Sí
Sí
servidor
Sí
Sí
Administrador en PHP y php.ini
Sí
Sí
Crontabs (administrador de tareas)
No
Sí
PHP y CGI debugger
Sí
Sí
HERRAMIENTAS DE DESARROLLO
Administrador de HTaccess y respuesta del
HERRAMIENTAS
WordPress
Listo para instalar Listo para instalar
Joomla
Listo para instalar Listo para instalar
Otros CMS
Sí
Sí
BlogEngine.NET
-
-
DasBlog
-
-
Firewall
Sí
Sí
Copia diaria de seguridad en el servidor
Sí
Sí
Acceso a los ficheros de copias de seguridad
No
Sí
Sí
Sí
Cuentas POP3/IMAP4
10
100
Espacio de almacenamiento de correos
2 GB
2 GB
Alias de Dominios
incluidos
incluidos
Redireccionamiento de correo
5
50
Antivirus y Antispam
incluidos
incluidos
Webmail
incluidos
incluidos
PRECIO MENSUAL (IVA no incluido)
5€
7,42 €
PRECIO MENSUAL (IVA no incluido)
4€
5,75 €
SEGURIDAD
SOPORTES
FAQ online
CORREO
(Si tiene dominio registrado en Nominalia)
100
El pack Starter queda descartado por su poca capacidad en la base de datos (tan solo
25MB).
En cambio, el pack profesional tiene una gran capacidad de 100GB. Un ancho de
banda ilimitado, y tráfico de entrada y salida de 100GB. El espacio en la base de datos
es de 100MB, teniendo hasta diez bases de datos. Además dispone de copia de
seguridad, cien cuentas de correo electrónico con capacidad de 2GB por cuenta, con
antivirus y antispam.
La desventaja es que no dispone de servicio telefónico a sus clientes, pero sí de FAQ
online y de un formulario del cual dan prioridad a los clientes con hosting para
solucionar su problema, y no incluye horarios de atención al público. El precio anual
total es de 89,04 euros, y 69 euros si tenemos dominio registrado en nominalia.
101
HOSTALIA
Plan Base
Plan Avanzado
Tarifas
59€
Primer
año,
Cuota Anual
99€
129€, 205€
Cuota Bienal
106€, luego 178€
232€, 367€
Espacio en Disco
1 GB
5 GB
Transferencia Máx. Mensual
10 GB
40 GB
Número de Dominios
1
1
Número de Subdominios
5
10
Dominio Gratis
No
Primer año
Cuentas de Email
10
50
Conf. Cuentas en Tiempo Real
Si
Si
Servidor de Correo SMTP/POP3/IMAP4
Si
Si
AntiSpam, AntiVirus, AntiPhishing
Si
Si
Panel de Control Online
Si
Si
Cuentas FTP Adicionales
5
10
Acceso SSH
No
No
Utilización CGIs Externos
Si
Si
PHP5
Si
Si
Flash, PERL, Phyton
Si
Si
.htaccess, Mod rewrite, SSI
Si
Si
ASP, AspUpload, AspMail, Servlets, .NET
No
No
phpBB
Si
Si
phpBook
Si
Si
phpMyChatPlus
Si
Si
FormMail
Si
Si
WordPress Blog (WordPress)
Si
Si
GalleryGallery
Si
Si
Espacio y Tráfico
Dominios
Email
Administración y Acceso
Programación
Aplicaciones
CMS
102
Joomla, Drupal, Mambo
Si
Si
MySQL
1
10
SQL Server
No
No
Access
No
No
IP Fija
Si
Si
IP Dedicada para SSL
Si
Si
Directorios Protegidos por Contraseña
Si
Si
Páginas de Error Personalizables
Si
Si
SSL
120 €/año
120 €/año
Acceso Sin www
Si
Si
Backups diarios
Si
Si
Recuperación de Backup
40 €/recuperación
40 €/recuperación
Tiempo de Servicio Garantizado: 99%
Si
Si
Soporte Técnico Experto
Si
Si
Bases de Datos
Otras Características
Servidores
Garantía y Soporte
La capacidad de la que disponemos es de 1 GB para alojar la web y la base de datos.
Gracias a que los ficheros de Joomla poseen poca ocupación, tendríamos una
capacidad elevada en la base de datos.
Además posee una elevada fiabilidad la web, es decir, el servidor no “se cae”, dispone
de un servicio técnico experto. En mi opinión es rápido y da buen resultado, ya que,
sin ser cliente, les hice una consulta para saber el tamaño de la BBDD porque no lo
especificaba, y tan solo tardaron 8 horas en contestarme.
También realiza backups diarios, que tienen un coste de 40 euros para recuperarlos.
En definitiva el precio es elevado 50 euros primer año y resto de años a 99 euros.
103
FATCOW
Precio
4 € mes
Seguridad
Dominios
1 gratis
Backups diarios
Programación
Si
Plan
PHP 4 & 5 Support
Si
Espacio en disco
Ilimitado
CGI Directory
Si
Ancho de banda
Ilimitado
MySQL Databases
Ilimitado
Dominios por cuenta
Ilimitado
Python y Script Library
Si
Cuentas de correo
Ilimitado
Aplicaciones
Opciones del sitio
disponibles
Herramientas de Web Analytics
Si
WordPress
Si
Extensiones de FrontPage
Si
Gallery2
Si
Búsqueda en Google
Integrado
phpBB
Si
Webmaster
Integrado
GBook
Si
Acceso FTP
Si
Joomla
Si
Herramientas
de
Google
Poll,
Survey,
Counter
Tools
Si
Soporte
Telf., email y
Soporte 24x7
chat
Email
Panel de control personalizado
Si
Buzón de correo (POP)
Ilimitado
FAQ's
Si
WebMail
Si
Tutoriales paso a paso
Si
Filtro Spam
Si
Además dispone de un servicio de atención al cliente los siete días de la semana y las
24 horas al día. También ofrecen un espacio en disco ilimitado, igual que el ancho de
banda y las cuentas de correo. Realiza backups diarios y el primer dominio es gratuito.
Las versiones de PHO y MySQL están actualizadas a la última versión, es un servidor
bastante fiable, es decir no ha sufrido caídas en los últimos años. El precio es de 50
euros anuales.
104
1and1
Espacio web
Programación
Precio
1,99€/mes PHP5 y PHP6 beta
Si
Espacio web
1 GB
CMS(Joomla, Drupal…)
Si
Tráfico mensual
Ilimitado
Soporte Flash
Si
Alojamiento multidominio
Si
Perl, Python, Ruby
No
IP Española
Si
Acceso FTP
1
Bases de datos
.htaccess
Si
Bases de datos MySQL
1
Panel de control
Si
Capacidad
100MB
Dominios
Seguridad
Gestión de DNS
Si
Dominios incluidos gratis
1
Cantidad
máxima
dominios
Dominios multilingües
Redirección de dominio
de
Ilimitado
Si
Si
Backups diarios
Si
Atención al cliente
Asistencia telefónica 8-22h
Servicio de facturación 822h
Asistencia gratuita por email
Si
Si
Si
Email
Cuentas IMAP/POP3
10
Capacidad por cuenta
2GB
Antivirus
Si
Antispam, antiphishing
Si
WebMail
Si
Dispone dos servicios de atención: telefónicamente de 8 a 22 horas, y mediante el
correo electrónico en el cual no hay horario. Realiza backups diarios y posee una base
de datos con un tamaño máximo de 100 MB, además tiene IP española, y dispone
sólo de diez cuentas de correo. El precio es asequible, 24 euros al año.
105
Después de estudiar los cuatro casos, descartamos Nominalia y Hostalia, por su
precio elevado, aunque la oferta del primer año es asequible, pero en los siguientes
años el precio se eleva considerablemente.
Por lo tanto nos quedan 1and1 y Fatcow. El primero tiene un precio asequible, pero
sólo nos ofrece una base de datos y diez cuentas de correo con una capacidad
máxima en el servidor de 1GB, mientras que el segundo todos los elementos son
ilimitados.
Finalmente, hemos escogido Fatcow como proveedor de internet y de alojamiento,
gracias a su tiempo de respuesta de atención al cliente, que es inmediata (Chat,
correo, teléfono) durante los siete días de la semana y las 24 horas del día, solucionan
los problemas o consultas en un espacio muy reducido de tiempo (menos de una
hora). También dispone de múltiple bases de datos y nosotros utilizaremos dos bases
de datos, en una estará el actual sitio web, y en la otra estaremos trabajando para
obtener el nuevo sitio web, y por tanto, la página web siempre está operativa.
106
Anexo 5. Cursos de formación
Joomla 2: Práctica con aplicaciones avanzadas de Joomla.
En este curso, se hizo un mini portal, muchos de los pasos y explicaciones que se
hacían, ya habían sido testeadas y averiguadas por mí, de otras como crear módulos
personalizados o cambiar la forma en que aparecen los artículos en la página
principal, fueron aprendidas en dicho curso. También se mejoró el manejo de Joomla
ya que se hizo un recorrido por todo el back-end de Joomla.
Usabilidad: hacer la web pensando en el usuario.
En este curso, se explico cómo crear un producto usable, realizar el diseño para el
usuario, es decir el producto se ha de adaptar al usuario y no al revés. Para hacer una
evaluación la mejor forma, es hacer un test de usuarios de diferentes edades y
ámbitos profesionales, y también utilizar google analytics.
Se ha de evaluar para tener al usuario satisfecho principalmente, porque así el usuario
aumenta el tiempo de visita en la web y fidelizar al usuario, reduce costes de
aprendizaje y esto implica no tener que modificar el diseño constantemente para que
los usuarios puedan acceder a toda la información, la cual debe estar accesible como
máximo en tres clics y no utilizar presentaciones flash en la página principal. Para más
información consultar a Jacob Nielsen en (49), o los estándares de accesibilidad y
usabilidad (50).
Como crear webs y proyectos tecnológicos accesibles a personas discapacitadas.
En este curso se explicó, no solo como crear proyecto para personas discapacitadas
físicamente, sino también personas que le cuesta el aprendizaje de las nuevas
tecnologías, ya que hay que hacer una web distinta dependiendo del tipo de usuario al
que va dirigida. También se explico las normas que debe pasar una página web para
ser accesible y obtener unos certificados de calidad, los llamados w3c (50), vistos
también en el cursillo de usabilidad, y el otro certificado de accesibilidad, el cual está
categorizado por “A”, “AA”, “AAA”, son las llamadas normas WAI (en inglés Web
Accessibility Initiative y en castellano Iniciativa para la accesibilidad web), en el
siguiente enlace se pueden ver los puntos de verificación que tienen los distintos
niveles (51). También se ha visto, como una persona daltónica ve las páginas web, y
en nuestro caso, el contraste de colores, la hace visible hacia dichas personas.
107
Descargar