Temario Creación de un sitio web utilizando Joomla - Hubor 2011
TEMARIO DEL CURSO CREACIÓN DE UN SITIO WEB UTILIZANDO JOOMLA. 1.- Sistema de gestión de contenidos (CMS - content management system). 1.1.-Definción. 1.2.-Características y posibilidades. Editor WYSIWYG Planificación temporal de los contenidos. Archivado de contenidos. Gestión de usuarios. Control de accesos. Gestión de ficheros multimedia. Gestión de idiomas. Gestión de anuncios (banners). Gestión de contactos. Gestión de encuestas (polls). Gestión de búsquedas (search). Gestión de enlaces (links). Gestión de sindicatos (rss). Generación de semillas propias (feeds) y visualización de semillas externas. Sistema de ayuda integrado. Gestión de plantillas. Gestión de la cache. Sistema ftp integrado. Sistema de creación de URLs amigables para los motores de búsqueda (SEO). 1.3.-Licencias GNU-GPL. 1.4.-Entorno: apache + MySQL + PHP 1.5.-Funcionamiento: requerimiento + datos de la base + formato plantilla = documento devuelto. 1.6.-Comunidad jommla Comunidad: www.joomla.org Codigo: www.joomlacode.org Desarrolladores: developer.joomla.org Extensiones: extensions.joomla.org Documentación: docs.joomla.org Foros: forum.joomla.org
2-Instalación. 2.1.-Obtener el programa en www.joomla.org en el idioma deseado (es un fichero zip que hay que descomprimir en un directorio). 2.2.-Requisitos técnicos del servidor según la versión: Apache = MySQL = PHP = Comprobar que mod_mysql, mod_xml y mod_zlib están habilitados (enable). Evitar las versiones de PHP 4.3.9/4.4.2/5.0.4 que dan problemas. Página 1 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
2.3.-Instlación en remoto o en local. Entorno XAMPP (Linux, Windows o mac). Usar el instalador joomla: o Crear directorio. o Mover todos los archivos (que descomprimimos del zip) a ese directorio. o Ejecutar desde el browser la ruta base donde lo colocamos. o Seguir los pasos del instalador: Seleccionar idioma. Chequeos preliminares. Aceptación de los términos de la licencia. Configuración de la base de datos. Configuración del entorno ftp. Instalación opcional de datos de ejemplo. Aviso para borrar el directorio de instalación.
3.-El front-end y el back-end. 3.1.-El front-end (la parte que interactúa con el usuario) Plantillas (templates). Contenidos. o Secciones. o Categorías. o Artículos. Módulos (modules). o Posiciones. o Menús. Complementos (plugins). 3.2.-El back-end (la parte donde se realizan las tareas de administración) (1024x768px o más). www.nombre-dominio.com/administrator. Panel de control. o Menú superior. o Lado izquierdo: atajos a opciones. o Lado derecho: ventana de mensajes (configurable). Menú del sitio. Menú de menús. Menú de contenidos. Menú de componentes. Menú de extensiones. Menú de herramientas. Menú de ayuda.
4.-Configuración de entorno joomla. 4.1.-Configuración del sitio. Sitio. Metadatos. SEO o URLs amigables. o Apache mod-rewrite. o Mod-sufix.
Página 2 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
4.2.-Configuración del sistema. Sistema. Usuario. Multimedia. Depuración (debug). Cache. Sesión. 4.3.-Configuración del servidor. Servidor. Configuración local. ftp. Base de datos. Correo electrónico.
5.-Gestión de contenidos. 5.1.-La jerarquía de los contenidos. Secciones. Categorías. Artículos. 5.2.-El gestor de las secciones. 5.3.-El gestor de las categorías. 5.4.-El gestor de los artículos. Parámetros globales. Parámetros del artículo. Parámetros avanzados. Parámetros de metadatos del artículo. 5.5.-Controlando el texto de introducción a un artículo: botón leer más (read more). 5.6.-Creando artículo multipáginas: botón paginación (pagebreak). 5.7.-Publicar y despublicar artículos. 5.8.-Archivado de artículos utilizando los botones archivo y desarchivar.
6.-Uso de los editores y gestión de archivos multimedia. 6.1.-Editor “no editor”. 6.2.-Editor “TinyMCE”. 6.3.-Editor “XStandard Lite”. 6.4.-Editor “joomlaCK” (jckeditor). 6.5.-El gestor de archivos multimedia.
7.-Gestión de contenidos: técnicas avanzadas. 7.1.-Utilizar módulos para visualizar contenidos. Módulos “personalizar HTML” (custom HTML). Módulos “flash de noticias” (newsflash) Módulos “marco” (wrapper). Módulos presentación de la subscripción (feed display). Módulo para permitir suscripciones de nuestro sitio a otros (joomla syndication). 7.2.- Visualizar un módulo dentro de un artículo. {loadposition <modulepositionname>}. Plugin content-load.
Página 3 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
8.-La Gestión de los menús. 8.1.-El gestor de menús. 8.2.-El gestor de ítems de menús. 8.3.-Tipos de ítems de menú. Enlace interno. o Artículos. Presentación de la lista de artículos archivados. Presentación del artículo (visualizar un artículo). Presentación de artículos (escribir un artículo desde el front-end). Presentación de la categoría blog (visualizar los artículos de una categoría). Presentación de la lista de categorías (visualizar la lista de artículos de una categoría). Presentación de la página principal del blog. Presentación de la sección blog (visualizar lista de artículos de una sección). Presentación de la lista de secciones (visualizar la lista de categorías de una sección). o Buscar. o Contactos. Presentación del contacto de la categoría (visualizar todos los contactos de una categoría). Presentación estándar de contacto (visualizar detalles de un contacto). o Encuestas. Presentación de la encuesta. o Enlaces web. Presentación de la lista de las categorías de los enlaces web. Presentación del listado de categorías. Presentación de los enlaces web enviados (enviar enlaces). o Servidor de noticias. Presentación para la lista de servicios de noticias de la categoría (visualizar la lista de categorías de servidores de noticias). Presentación para la categoría del servidor de noticias (visualizar la lista de servidores de noticias de una categoría). Presentación para un solo servicio de noticias (visualizar un solo servidor de noticias). o Usuario. Presentación predeterminada de acceso a la cuenta de usuario. Presentación de registro predeterminado. Recordar por defecto (recordar la contraseña). Restablecer distribución en pantalla por defecto (restablecer contraseña). Presentación de usuario predeterminada. Usar presentación de formulario. o URL embebidas (wrapper). Enlace externo. Separador. Alías. 8.4.-Gestionar los permisos de acceso a los ítems de menú.
Página 4 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
9.-Gestión de la pagina principal del sitio. 9.1.-Gestionar el formato de la página principal utilizando un ítem de menú tipo “Presentación de la página principal del blog”. 9.2.-Parámetros del ítem “Presentación de la página principal del blog”. Básicos. o Destacando. o Introducción. o Columnas. o Enlaces. Avanzados. Componente. Sistema. 9.3.-Control de navegación al final de la página. 9.4.-Usar una plantilla específica sólo para la página principal. 9.5.-Gestionando los artículos de la página principal. Gestor de artículos: qué artículos se muestran. Gestor de la página principal: orden de presentación. 9.6.-Publicando módulos en la página principal. 10.-Gestión de los usuarios. 10.1.-Privilegios de usuarios, control de accesos y perfiles de usuario. 10.2.-El gestor de usuarios. 10.3.-Jerarquía de usuarios (8 niveles). Front-end. o Público. o Registrado. o Autor. o Editor. o Publicador. Back-end. o Gestor. o Administrador. o Super administrador.
Página 5 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
10.4.-Añadir usuarios al sistema. Desde el back-end: gestor de usuarios. Desde el front-end: procedimiento de registro de usuarios. Datos: detalles de usuario, parámetros e información de contacto. 10.5.-Envío de mensaje de correo electrónico al usuario que se da de alta. Texto del mensaje en el fichero es-ES-com_user.ini. 10.6.-Forzando la salida del sistema (logout) de un usuario. 10.7-Bloqueando el acceso de un usuario al sistema. 10.8.-Utilización del módulo “Acceso” (login). 10.9.-Utilización de la función “olvidé mi nombre de usuario”. 10.10.-Utilizacióin de la función “olvidé mi contraseña”. 10.11.-Creación de un página de bienvenida usando el ítem de menú “Presentación predeterminada de acceso a la cuenta de usuario” (default login layout). 10.12.-Dirigir a los usuarios directamente a una determinada página después de conectarse. 10.13.-Dirigir a los usuarios directamente a una determinada página después de desconectarse. 10.14.-Gestióin del acceso a contenidos y funcionalidades. Artículos, secciones y categorías. Menús e ítems de menús. Componentes, módulos y plugins.
11.-Gestión de idiomas. 11.1.-El Gestor de idiomas. 11.2.-Insalación de nuevos paquetes de idiomas. extensions.joomla.org/extensions/languages/translations_for_joomla. 11.3.-Modificando un determinado paquete de idioma. 11.4.-Selección del idioma a utilizar. Para el front-end. Para el lback-end. Por defecto para todos los usuarios. Para un usuario en concreto. 11.5.-Escribir un texto para cada idioma en cada artículo utilizado el combo-box “idoma del contenido” dentro de los parámetros avanzados. 11.6.-Gestión de sitios multi-idiomas con herramientas de terceros (Joom!fish).
12.-Gestión de anuncios (banners). 12.1.-El gestor de anuncios. 12.2.-Parámetros de un anuncio. 12.3.-El gestor de clientes de anuncios. 12.4.-El gestor de categorías de anuncios. 12.5.-El módulo “banner”. Parámetros.
Página 6 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
13.-Gestión de contactos. 13.1.-El gestor de contactos. Detalles. Información. Parámetros de los contactos. Parámetros avanzados. Parámetros de correo electrónico. 13.2.-El gestor de categorías de contactos. 13.3.-Utilización de un formulario para captar los datos de un contacto. 13.4.-Visualización de los contactos de una categoría con el ítem de menú “presentación del contacto de la categoría”. 13.5.-Visualizació de un contacto con el ítem de menú “Presentación estándar del contacto”. 14.-Gestión de las semillas (feeds). 14.1.-El gestor de semillas. 14.2.-Parámetros. 14.3.-El gestor de categorías de semillas. 14.4.-Formatos de semillas soportados. RSS 0.9 1 - 1.0 - 2.0 Atom 0.3 1.0 14.5.-Visualización de las semillas en el sitio Usando el módulo “Presentación de la suscripción”. Items de menú. o Presentación de la lista de servicios de noticias de la categoría. o Presentación para la categoría del servidor de noticias. o Presentación para un solo servicio de noticias. Módulos de terceras partes.
15.-Gestión de encuestas (polls). 15.1.-El gestor de encuestas. 15.2.-Visualizando las encuestas. Usando el módulo “encuesta”. Ítem del menú “presentación de la encuesta”. 15.3.-Visualizando los resultados de la encuesta. 16.-Gestión de enlaces web (web link). 16.1.-El gestor de enlaces web 16.2.-El gestor de categorías de enlaces web. 16.3.-Visualizando los enlaces web. Item de menú “Presentación de los enlaces web enviados”. Item de menú “Presentación del listado de categorías”. Item de menú “Presentación de la lista de categorías de los enlaces web”.
Página 7 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
17.-Gestión de los módulos. 17.1.-El gestor de módulos. Detalles. Asignación de menú. Parámetros del módulo. 17.2.-Tipos de módulos estándar joomla. Artículos relacionados. Banner. Buscar. Contenido archivado. Contenido más leído. Encuestas. Estadísticas. Flash de noticias. Pie de página (footer). Imagen aleatoria. Marco (wrapper). Menú. Personalizar HTML. Presentación de la suscripción. Quién está en línea. Ruta de acceso (breadcrumbs). Secciones. Sindicación. Últimas noticias. 17.3.-El posicionamiento de los módulos. 17.4.-Módulos de administrador (back-end). Usuarios identificados. Popular. Artículos añadidos recientemente. Menú de estadísticas. Footer. Los mensajes no leídos. Usuarios online. Iconos rápidos. Acceso. Menú admin. Estado del usario. Admin submenú. Titulo. Toolbar.
Página 8 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
18.-Gestión de complementos (plugins). 18.1.-El gestor de complementos. Detalles. Parámetros. 18.2.-Tipos de complementos estándar. Complementos de Autenticación. o Joomla - LDAP - OpenID - Gmail. Complementos de contenido. o ValAddThis - Page Navigation - Votar - Email cloacking - Code highlighter - Cargar modulo - Pagebreak. Complementos de editores. o No editor - TinyMCE - XStandard LIte 2.0 - JoomlaCK. Complementos de editors de funcionalidad extendida (XTD). o Botón imagen - Botón Pagebreak - Botón Leer más. Complementos de búsqueda. o Contenido -Weblinks -Contactos - Categorías - Secciones - Newsfeedds. Complementos de sistemas. o One click action - SEF (search engine friendly) - Debug - Legado - Cache - Log Recordarme - Backlink Complementos de usuario. o Usuario Joomla. Complementos XML-RPC o Joomla - Blogger API.
19.-Utilización de plantillas (templates). 19.1.-Utilización de plantillas para dar forma a nuestro sitio. 19.2.-Plantillas suministradas con joomla. Beez - ja_purtiy - rhuk_milkyway - khepri. 19.3.-Estructura de una plantilla. El fichero templatedetails.xml que define una plantilla. El fichero index.php. Los ficheros e hojas de estilo css. La definición de posiciones en una plantilla. Los parámetros en una plantilla. El fichero “template_thumbanil.png”. El fichero “favicon.ico”. 19.4.-El gestor de plantillas. 19.5.-Utilización de múltiples plantillas en un mismo sitio. 19.6.-Utilizacion de sufijos en las clases. 20.-Adaptación avanzada de joomla a nuestras necesidades. 20.1.-Principios de la adaptación. Módulos. Componentes. Complementos (plugins). Arquitectura MVC (model view controller): segregar modelo, presentación y lógica. 20.2.-Herramientas necesarias para la adaptación. Navegador (firefox, chrome, internet explorer). Editor de textos (notepad++). Cliente FTP (filezilla). 20.3.-La estructura de joomla (framework) y su API http://api.joomla.org/li_Joomla-Platform.html http://docs.joomla.org/Platform/11.1 http://docs.joomla.org/API_Reference_Project
Página 9 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
20.4.-Componentes. Componentes de sitio (components/com_<nombre del componente>). Componentes de administración (administrator/components/com_<nombre del componente>). El modelo MVC (model-view-controller). o Modelo: rutinas para gestionar y manipular datos (clase JModel del paquete Application). o Presentación: rutinas para presentar los datos, incluyendo una o más plantillas para formatear la salida de los datos (clase JView del paquete Application). o Lógica: rutinas para gestionar las solicitudes del usuario (clase JController del paquete Application). Anatomía de un componente: encuestas (poll). o Este componente tiene dos partes: una para el front-end (pedir votaciones a los usuarios y mostrar los resultados de las encuestas) y otra para el back-end (gestión y creación de encuestas). Vamos a ver el front-end. o Modelo MVC Modelo: en la carpeta /models. Presentación: en la carpeta /views. Lógica: en el fichero controller.php. El fichero principal que contiene la entrada al módulo es poll.php. El fichero controller.php contiene las funciones que manejan el módulo, se encarga de arrancar el modelo (fichero /models/poll.php) que carga los datos almacenados en la base de datos referentes a las votaciones y ejecuta la presentación (fichero /views/poll/view.html.php) para mostrarlos. El fichero metadata.xml contiene una pequeña descripción de la presentación. Cada presentación (view) tiene un directorio separado llamado /tmpl que contiene la plantilla con el formato para la visualización de la información La carpeta /assets contiene varios elementos gráficos y la hoja de estilos en cascada: poll_bars.css. o Modificar la presentación para visualizar los datos de otra forma: modificando los ficheros default.php y default_graph.php.
Página 10 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
20.5.-Módulos. Módulos de sitio (modules/mod_<nombre del módulo>). Módulos de administración (administrator/modules/mod_<nombre del módulo>). Anatomía de un módulo: acceso (login). o En la carpeta “modules/mod_login” o El fichero mod_login.php es el fichero al que llama el sistema cuando se ordena la ejecución de este módulo. Contiene las rutinas de inicialización. o El fichero helper.php contiene las clases que se usan para recibir los datos que serán visualizados. o El fichero mod_login.xml contiene la información para configurar el módulo desde el gestor de módulos de joomla. o La carpeta /tmpl contiene la plantilla con el formato para la visualización de la información. o Modificar la presentación para visualizar los datos de otra forma: modificando el fichero default.php. 20.6.-Complementos (plugins). Agrupados en ocho categorías: autenticación, content, editors, editors-xtd, searcch, system, user, xmlrpc. Complementos (plugins/<nombre categoría>/<nombre plugin>.php). Anatomía de un complemento: pagebreak. o El fichero pagebreak.php contiene la lógica de funcionamiento. o El fichero pagebreak.xml contiene la información para configurar el complemento desde el gestor de complementos de joomla.
21.-Gestión de la seguridad de un sitio joomla. 21.1.-Primera regla: actualizar el sitio con la última versión de joomla disponible. 21.2.-Fijandolos derechos de acceso a ficheros y carpetas. Todos los directorios con derechos 755. Directorios con derechos 777: o tmp, images , cache, components, language, media, modules, plugins, templates. o Dentro de la carpeta administrator: backups, components, language, modules, templates, cache Ficheros con derechos 644. Fichero configuration.php con derechos 444 (eso impide hacer modificaciones en la configuración desde el back-end, pero aumenta la seguridad). En servidores apache, usar .htaccess. Crear un nuevo superadministrador y borrar el creado por defecto de nombre admin. Borrar cuando no sean necesarias: plantillas no utilizadas, extensiones que se ha decidido no utilizar y el directorio de instalación. Si no se está usando la interface xml-rpc, borrar el directorio xml-rpc. Deshabilitar todos los componentes que no se utilizan y que no pueden ser desinstalados. Sacar copias de seguridad con la frecuencia que sea necesarias.
Página 11 de 12
Temario Creación de un sitio web utilizando Joomla - Hubor 2011
22.-Optimización de un sitio joomla. 22.1.-La caché en el sistema joomla. Configurando la cache del sitio: administración -> configuración global -> sistema -> configuración de la caché. Configurando el plugin sistema-cache. Configurando la caché de cada módulo (excluir de la caché aquellos módulos que deben refrescar datos continuamente, por ejemplo, imágenes rotativas). 22.2.-Limpieza de la caché. Administración -> herramientas -> limpiar la caché. 22.3-.Purgado de la caché expirada. Administración -> herramientas -> purgar la caché expirada. 22.4.-Mejorar la respuesta del sitio. Evitar ficheros grandes. Resolución de imágenes a 72dpi. Usar el formato de imagen más apropiado: jpg para fotos, png o gif para gráficos con transparencia, gif para animaciones. Almacenar las imágenes en el mismo tamaño en que van a ser visualizadas. Usar css en lugar de tablas. Usar con moderación los módulos de rotación de imágenes. Usar lo mínimo posible los iframes (wrappers). Limitar el uso de animaciones. Limitar el uso de flash. No comenzar la carga de videos hasta que lo solicite el usuario. Utilizar la compresión de ficheros gzip: Administración -> configuración global -> servidor -> compresión gzip de las páginas. Deshabilitar todos los componentes que no se utilicen. Reducir al mínimo los ficheros css y javascript. o Si usa las librerías mootools, jquery u otra similar utilizar el enlazado a un host externo (vg. Google). Ponderar si se debe utilizar Google Analytics en el sitio. Revisar cuidadosamente la plantilla utilizada. Revisar el consumo de recursos de las extensiones de terceros utilizadas en el sitio. Evitar el uso de estadísticas, ficheros de depuración y ficheros log. Ponderar los beneficios de la utilización de SEF URLs frente a la ralentización que suponen. 22.5.-Mejorar la accesibilidad al sitio. Realizar test de accesibilidad. Problemas con la estandarización propia del sistema joomla para cumplir normas WAI. Utilizar las etiquetas h1…h6 para ayudar a jerarquizar los contenidos. Evitar el uso de tablas. Evitar el uso de javascript. Utilizar textos en lugar de imágenes para los menús. Utilizar un esquema de colores que facilite la accesibilidad. Utilizar hojas CSS bien construidas para posibilitar el aumento y disminución de fuentes desde el navegador. Utilizar formularios accesibles. Suministrar opciones para descargar los applets y plugins que se utilicen en el sitio. Evitar los formularios que fijan un tiempo máximo para recibir una respuesta o dar márgenes de tiempo amplios. 22.6.-Construir sitios amigables para los motores de búsqueda.
Página 12 de 12