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!