¿Aún no tienes una cuenta? Crea una ahora y accede a tus listas favoritas, tu histórico de cuentas y muchas más cosas...
Pedidos y atención al cliente
PARTICULARES: 963 392 051 - FAX: 963 615 480 / LIBRERÍAS: 963 600 598 - FAX: 963 694 151
Dentro del universo de la implementación de sitios web avanzados y económicos, Joomla! se ha convertido en el Sistema de Gestión de Contenidos (CMS) no comercial más importante del mundo. Este libro pretende cubrir ese vacío centrándose en dos áreas fundamentales, el desarrollo y la implementación de Joomla, con especial atención en la nueva versión 1.5 y en las características que proporciona.
El experimentado autor Dan Rahmel le presenta el proceso de creación de los tres tipos de extensiones de Joomla! (módulos, componentes y complementos), explica cómo utilizar la tecnología Ajax de forma óptima y muestra cómo adoptar patrones de diseño e incorporar control de código fuente. En este libro se analizan las tecnologías subyacentes (PHP, Apache, etc.) que puede modificar para obtener el mejor rendimiento del sistema y se indica cómo interactuar con contenidos externos, configurar LDAP (Protocolo Ligero de Acceso a Directorios), entre otros aspectos. Incluso nos adentraremos en la estructura interna de Joomla!.
Introducción
A quién va dirigido este libro
Contenidos del libro
Estructura del libro
Requisitos para utilizar este libro
Convenciones
Código fuente
1. Presentación de Joomla!
Familiarizarse con Joomla
Flexibilidad: razón para elegir Joomla
A quién va dirigido este libro
Administradores Web
Diseñadores Web
Programadores Web
Usuarios de Joomla 1.0 y Mambo
Resumen
2. Detalles de instalación y configuración
Cuatro servidores en el sistema Joomla
Opciones de instalación
Instalación local o implementación remota
Elegir plataforma: Windows, Linux o MacOS
Instalar servidores individuales o una instalación combinada
Seleccionar el servidor Web: Apache o IIS
Pasos del proceso de instalación de Joomla
Configurar el servidor Web Apache
Archivos de configuración
Archivos de registro
Carpetas Modules y Extensions
Carpeta htdocs
Configurar PHP
Directivas PHP
Configurar MySQL
Instalar MySQL
Administrar MySQL
Restablecer una contraseña de usuario de MySQL
Configurar Joomla
configuration.php
Restablecer una contraseña de usuario de Joomla
Servidores de pruebas y servidores de implementación
Configurar servidores de pruebas
Configurar servidores de implementación
Cuentas y contraseñas predeterminadas
Resumen
3. Desarrollar plantillas personalizadas
Estructura de plantillas
Archivos y carpetas
Lógica de plantillas: el archivo index
Instrucciones de ejecución de Joomla
Presentación de plantillas: el archivo CSS
Elementos en línea y de bloque
Estilos predeterminados
Incorporar imágenes en CSS
Metadatos de plantillas: el archivo TemplateDetails
Variables de plantillas: el archivo de parámetros
Gráficos de plantilla: la carpeta images
Miniaturas de plantillas
Crear una plantilla de tres columnas
Crear la carpeta template y detalles adicionales
Crear el archivo index.php
Crear una hoja de estilo de esquinas redondeadas
Crear los gráficos de esquinas redondeadas
Crear un gráfico de anuncio
Cambiar el módulo
Personalizar CSS para componentes
Crear el archivo de detalles para su distribución
Técnicas avanzadas de creación de plantillas
Utilizar una familia de plantillas con CSS
favicon.ico
Plantillas para sustituir contenido predeterminado
Crear una CSS para teléfonos móviles
Definir la CSS handheld
Convertir una plantilla de Mambo o Joomla 1.0
Resumen
4. Añadir y modificar extensiones
Directorio de extensiones
Funciones y administración de sitios
Instalar un editor WYSIWYG diferente
Añadir un estilo personalizado a TinyMCE
Añadir administración de archivos y compatibilidad FTP
Añadir un mapa del sitio
Community Builder
Estructura de Community Builder
Complementos CB
Avatares de usuario
Descargar e instalar
Organizaciones y comercio electrónico
Administrador de suscripciones
Carro de la compra PayPal MicroShop
Administrador de proyectos Project Fork
Extensión Timesheets
Añadir una estructura de subastas a su sitio
Contenidos del sitio
Retransmitir programas a través de Joomla
Incluir una galería de imágenes
Interactividad del sitio
Añadir comentarios a artículos publicados
Libros de visitas
Salas de conversación en Joomla
Configurar un sistema Wiki en Joomla
eWriting
Implementar anuncios por palabras
Añadir resultados deportivos
Añadir juegos de casino
Concursos de preguntas
Resumen
5. Desarrollar extensiones sencillas: módulos
Crear un módulo Hello World
Crear un módulo de felicitaciones
Crear el archivo descriptor XML
Crear el archivo de código del módulo
Crear la tabla y almacenar datos de ejemplo
Configurar el módulo
Crear un módulo de contacto
Resumen
6. Extensiones avanzadas: componentes
Configurar un sistema de desarrollo
Adoptar control de código fuente con SVN
Instalar SVN
Crear un repositorio SVN
Utilizar Eclipse
Descargar e instalar EasyEclipse
Configurar Eclipse
Fundamentos de Eclipse
Crear un componente de libro de visitas
Protegerse contra correo basura
La interfaz del componente Guestbook
Crear el componente de interfaz
El componente de administración de Guestbook Editor
El descriptor XML
Añadir el componente al repositorio SVN
Archivar el componente
Instalar el componente de libro de visitas
Utilizar phpDocumentor
Instalación
Añadir bloques de documentación al código fuente
Resumen
7. Joomla! y Ajax
Estructura de Ajax
Un sencillo componente Ajax
Crear el componente
Crear la página Web de Ajax
Crear un componente de consultas de servidor
Crear el componente
Aceptar la solicitud de consulta
Consultar la base de datos MySQL
Devolver un resultado XML
Crear el módulo Ajax
Crear la carpeta del módulo y el archivo XML
Crear mod_articleajax
La ventana emergente
Funciones de solicitud
Buscar artículos en la base de datos de Joomla
Desventajas de Ajax
Invisibilidad SEO de Ajax
Recolección de información
Riesgos de seguridad
Resumen
8. Patrones de diseño y Joomla!
Patrones de diseño
Categorías principales de patrones
Patrones de creación
Patrón de fábrica abstracta
Patrón de instancia única
Patrón generador
Patrones de estructura
Patrón de adaptación
Patrón puente
Patrones de comportamiento
Patrón de observación
Patrón de cadena de responsabilidad
Patrón de estrategia
Patrones de concurrencia
Patrones arquitectónicos
Patrón basado en servidores
Patrón de ejecución cliente
El patrón Modelo, Vista, Controlador
MCV para componentes de Joomla
El archivo del modelo: mvc.php
Los archivos de la vista
El archivo del controlador: controller.php
El archivo descriptor: hellomvc.xml
Resumen
9. Acceder a la base de Joomla!: los complementos
Presentación de los complementos de Joomla
Eventos de contenido
Eventos de editor
Eventos de sistema y búsqueda
Eventos de usuario
Complemento Hello World
Crear el archivo descriptor XML
Crear el código del complemento
Complemento Text Abbreviation Replacement
Código del descriptor XML
Código del complemento
Acceder a la estructura de Joomla
Estructura del CMS Joomla (JApplication)
Aplicación JInstallation
Aplicación JSite
Aplicación JAdministrator
Variables de rutas
Consejos para examinar código fuente de Joomla
Utilizar una función de búsqueda de directorios
Examinar com_content
SVN Joomla: más allá de la vanguardia
Resumen
10. Crear comunidades de Joomla!
Planificar una comunidad virtual
Las tres fases de una comunidad virtual
Fase 1: desarrollo y pruebas
Fase 2: lanzamiento y obtención de usuarios
Fase 3: redefinición y consolidación
Comprender la importancia de la estabilidad y la regularidad
Por qué crear una comunidad virtual
Tecnología de una comunidad virtual
Libro de visitas
Easybook
Jambook
Conversación
BlastChat
utChat
Foros y tablones de anuncios
Simple Machines Forum (SMF)
Fireboard
Encuestas
Comentarios
AkoComment Tweaked Special Edition 1.4.6
!JoomlaComment
Redes sociales
SocialBookmarkerBot v1.3.2
Calendario de acontecimientos
Extensión JEvents
JCalPro
Sistemas Wiki
OpenWiki
WikiBot
Implementar una comunidad virtual
Implicaciones legales
Moderadores
Mantener una comunidad
Resumen
11. Gestionar una implementación profesional
Desarrollo y pruebas
Parámetros de depuración
Interfaz de línea de comandos (CLI) PHP
Pruebas automáticas
Validar páginas
Probar unidades
Implementar el sitio
Transferir al servidor de implementación
Copia de seguridad de Joomla
Configurar anfitriones virtuales de Apache
Controlar Apache desde la línea de comandos
Administrar varios servidores
MySQL Instance Manager
PhpMyAdmin
Pruebas de carga
Equilibrar la carga
Internacionalización
Vetar contenidos automáticamente
Mejorar el rendimiento de MySQL
Configurar la unidad de datos
Seleccionar un tipo de servidor
Origen de problemas
Optimizar índices
Utilizar índices compuestos
Valores exclusivos en un campo de índice
Eliminar índices redundantes
Usar el tipo de datos más reducido posible
Recuperar solo lo necesario
Utilizar el comando EXPLAIN
Crear perfiles del sistema
Administración
Autenticación LDAP
Complemento LDAP de Joomla
OpenLDAP
Mantenimiento
Limpieza de Joomla
Utilizar el Gestor de artículos para buscar artículos y menús sin publicar
Acceso directo a MySQL
Buscar contenido antiguo
Buscar usuarios inactivos
Buscar campos de datos vacíos
Buscar artículos y menús sin publicar
Buscar las últimas encuestas
Buscar secciones y categorías vacías
Resumen
12. Interactuar con contenido externo
Obtener contenido externo
Canales electrónicos
Formato de canales electrónicos
Módulo de suscripción a suministros de Joomla
Módulo de sindicación de Joomla
Extensión Auto Articles 3000
Administrar programas afiliados
Programa afiliado AdSense de Google
Programa afiliado Amazon
La extensión Amazon Associates
Amazon Products Feed
Interacción empresarial con EDI
Documentos EDI
Estándares EDI
La extensión Skylark
Interactuar con redes externas personalizadas
Componente de copia de pantallas
Breve historia de los programas de copia de pantallas
Inconvenientes del uso de programas de copia de pantallas
Archivo de código del componente
Archivos descriptor del componente
Componente de copia
Componente Google Map
API Google Maps
Registrarse para obtener una clave
Archivo descriptor del componente
Crear el archivo de índice del componente
Buscador de direcciones postales con XML
Pruebas manuales
Implementar una página de prueba PHP
Archivo descriptor del componente
Crear el archivo de índice del componente
Resumen
13. Optimización de motores de búsqueda (SEO) y marketing de motores de búsqueda (SEM)
Parámetros de Joomla
URLs amigables para motores de búsqueda
Metadatos
Metadatos del sitio
Metadatos de artículos
Activar rutas de navegación
Mapa del sitio
Extensiones de mapa de sitio de Joomla
Google Sitemaps
Técnicas generales
Principales motores de búsqueda
Buscar palabras clave
Crear una lista inicial de palabras clave
Utilizar una herramienta de búsqueda de palabras clave
Buscar las palabras clave más precisas
Analizar las páginas principales
Títulos de página
Atributo alt para imágenes y otros medios
Page Rank de Google
Enlaces recíprocos
Ajax y SEO
Google Analytics
Acciones que evitar
Marketing de motores de búsqueda (SEM)
Crear un anuncio eficaz
Pago por clic y publicidad visual
Google Adsense
Resumen
14. Seguridad en Joomla!
Tipos de ataques
Ataques de contraseña
Inyección SQL
Campos de texto sin filtrar
Procesar campos de texto en Joomla y PHP
Campos sin tipo
Solicitudes personalizadas: Ajax
Secuencias de comandos entre sitios (XSS)
Análisis de directorios
Ataque de negación de servicio (DoS)
Husmeadores HTTP
Seguridad en servidores Web
Proteger el servidor Apache
Configurar .htaccess
Directiva ServerSignature
Directiva ServerTokens
Denegar el acceso a extensiones de archivo
Seguridad en PHP
Modo seguro de PHP
Directiva doc_root de PHP
Directiva disable_functions de PHP
Directiva disable_classes de PHP
Directiva display_errors de PHP
Directiva expose_php
Seguridad en MySQL
Seguridad en Joomla
Eliminar archivos de instalación
Editor HTML de Joomla
Ejecución desde el sistema
Pruebas y desarrollo
Resumen
15. Lo que Joomla no puede hacer
Control de versiones de documentos
Importar, convertir archivos y exportar
Funciones de seguridad y autenticación limitadas
Equilibrio de carga y replicación
Niveles y aspecto visual de la interfaz de usuario
Funciones estándar para grupos
Funciones de portal
Resumen
16. Sitios de Joomla!
Sitios académicos
Departamento de Biología molecular de Princeton
Shakespeare Birthpace Trust
Journal of Intercultural and Interdisciplinary Archaeology
Graphic User Interactive Learning and Development (GUILD)
Virgin Islands Department of Education
Sitios sobre familia y salud
SeniorNet
KidsChannel
A Story for Bedtime
Second Wives Club
Better Health Here
Sitios para profesionales
World Cup 2010 South Africa
Best Association Resources and Tools
Sitio de viajes de Randall Wood
Turbo Trade
Sonetto
John Avon Illustration
Sitios de medios (noticias, revistas, etc.)
MainSPOT.NET
PanNatural Environmental
Centro Regional de Información de las Naciones Unidas para Europa Occidental
HCJB Global
Asiaing.com
The Chaser
Creative Guy Publishing
Sitios de entretenimiento
Success and Sport (S.A.S.)
Safari Ventures
Sky Systems
KISSin´ UK
Calialive.com
Sitios tecnológicos
Sitio de Joomla en español
VOIPSpeak.net
Open Workbench
Joomlahut
OScar Project (coche de código abierto)
Resumen
??ndice alfabético