Transcript CMS
CMS Sympho – V1.0 Setembre 2012 David Aresté Índice • • • • • • • • Introducción Objetivos Especificaciones Diseño y desarrollo Implementación Evaluación Planning Temporal Conclusiones 2 Introducción • Acceso ilimitado a Internet • Acceso ilimitado a información/contenidos • Problema: Gestionar/Tratar información externa, como presentar la propia CMS 3 Introducción -Content Management System • Software que permite administrar una página web. • Funciones: Publicar, editar, borrar, otorgar permisos de acceso o establecer los módulos visibles para el visitante. • Características: Código abierto , interfaz gráfica sencilla y rápida ,Roles y permisos para los usuarios inscritos. 4 Introducción -CMS - Ejemplos • PHP-NUKE: Primer sistema que pasó de la Web 1.0 a la Web 2.0. • Uso de templates, módulos. Fallos de seguridad por ser el primero. • JOOMLA: se crea en 2005 a partir de la unión de la empresa australiana Miro, con parte del equipo que llevaba el CMS Mambo. • DRUPAL:El mantenimiento y mejora llegando a tener un código fuente de gran calidad y usabilidad. • página principal personalizada. • Diferentes tipos de URL’s. Conjunto de roles. Activa un Sistema de congestión + sistema de caché. • • 5 Introducción -Learning Management System • CMS de propósito específico. Los LMS se centran en el E-Learning (Aprendizaje en línea) • Recursos: Actividades ,Décimo Grado ,Matemáticas,Presentación Power Point , Foro , Referencia en Internet,Ficheros MP3, Vocabulario,Tarea ,Recurso en Internet ,Glosario. • Usuarios: Profesores, Creadores de Cursos, Administradores • Evolución del aprendizaje que la enseñanza a distancia tradicional no tiene. 6 Introducción -LMS – Ejemplo - MOODLE • Software de creación de plataformas de e-learning de uso más extendido. • Filosofía basada en el constructivismo social de la educación. • El constructivismo valora como se enseña la materia a estudiar, no el resultado. • Características: Personalizable, Versatilidad , Facilidad de uso ,Soporte técnico "comunitario" , Gratuidad, Código abierto, Actualizaciones constantes , Estándar, Compatibilidad. Parte del curso online, otra parte presencial 7 Introducción - Herramientas - I Lenguajes utilizados (PHP+html/SQL) 8 Introducción - Herramientas - II • Guardar información (Base de Datos): 9 Introducción - Herramientas - III Gestión de Base de datos (MySQL/phpMyAdmin) 10 Introducción - Herramientas - IV Diseño gráfico/Estilos (Capas/CSS) 11 OBJETIVOS 12 Objetivos • Estructura de funcionamiento estable para CMS • Sistema de permisos para usuarios registrados • Sincronización en la publicación de artículos entre páginas • Sistema de seguridad en administración de CMS • Posibles: Interacción redes sociales/ Estadísticas 13 ESPECIFICACIONES 14 Especificaciones 15 DISEÑO Y DESARROLLO 16 Diseño y desarrollo Lenguaje utilizado: PHP(+html) + Base de datos Estructura estable de funcionamiento con un CSS conjunto. Frontoffice: Usuario (lecturas a la BD) Backoffice: Admin (lecturas+ escrituras a la BD). CSS de admin 17 Diseño – Parte Gráfica 3 archivos conjuntos (index.php, cat.php, not.php) + CSS Común 18 Diseño - usuarios Superadministrador (Creador de CMS): Leer Artículos, Gestión de Usuarios y módulos, Configuración web Invitado: Leer Artículos Usuario registrado: Leer Artículos/ Configuración web (Nivel 1 de Administrador) Gestión de módulos (Nivel 2 de Administrador + Nivel 1) Gestión de Usuarios ( Nivel 3 de Administrador+ Nivel 2) Comentarios (Nivel 1 no podrá comentar/ Nivel 2 si) 19 Diseño - Módulos • Código libre = usuarios podrán añadir módulos. • Cubrir determinadas necesidades: foros, noticias, galerías de imágenes • Necesidades mínimas de Sympho: • Módulos iniciales: categorías, noticias, comentarios 20 Diseño – módulos II • Categorías: Módulo que servirá para dividir en un tema en concreto los artículos publicados • Noticias: Módulo para publicar artículos • Comentarios: Módulo para comentar los artículos publicados 21 IMPLEMENTACIÓN 22 Implementación 3 archivos principales: Index.php: Pagina principal del CMS Cat.php: Artículos ordenados por categoría Not.php: Artículo completo Acceso a la información de la bd via paso de parámetros (GET) --Admin (Backoffice) 23 Implementación – División Gráfica • Capa logo: Aquí estará el logo del CMS, tiene unas medidas de 624x100 pixeles. • Capa título: Bloque de login para los usuarios, cuando son invitados tienen ahí la opción para registrarse o hacer el proceso de login. • Capa menú: Ésta capa muestra las categorías añadidas . • Capa content: Aquí se muestra diferente información que se le consulta a la base de datos( bloque de noticias o una noticia completa) • Capa Wrapper: Capa general que une a las demás 24 Implementación - Usuarios • Utilización de sesiones PHP • Utilización de permisos para acceder a determinados sitios (admin,módulos, comentarios) • Comprobación de datos de sesión para acceder a esos sitios. 25 Implementación - Módulos • Puesta en funcionamiento: Añadir/Activación a la bd vía un formulario (nombre/ archivo a subir) 26 Implementación - Módulos • Noticias • Funciones específicas: • Mostrar noticias • Mostrar noticias de una categoría concreta • Mostrar una noticia completa • Categorías • Funciones específicas: • Mostrar todas las categorías disponibles 27 Implementación - Módulos • Añadir ítem • Eliminar ítem • 1.- Rellenar formulario con información de ítem • 1.-Mostrar lista de ítems con su id • 2.-Elegir id 2.- Enviar a BD • 3.-Consulta de ítem a la bd filtrando esa id • 4.- Eliminar ítem • • Editar ítem • 1.-Mostrar lista de ítems con su id • 2.-Elegir id • 3.-Consulta de ítem a la bd filtrando esa id • 4.-Mostrar campos de ítem a editar • 5.-Rellenar formulario • 6.-Enviar y actualizar información de ítem 28 Evaluación • Video-demo: 29 Diagrama temporal 30 Conclusiones • Estructura base para funcionamiento estable de CMS • Aspecto simple y sencillo en la administración del sitio web. • Código limpio sin problemas con los navegadores. • Extenso estudio sobre el lenguaje PHP. • Unión de toda la estructura para su correcto funcionamiento. • Uso de los conocimientos adquiridos con PhpMyadmin o MySQL. • Futuras mejoras: • CMS Multilingüe / Potenciar parte gráfica via un diseñador gráfico 31 Gracias por su atención!