Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

37
1 BUENAS PRÁCTICAS DE DESARROLLO PARA LA BUENAS PRÁCTICAS DE DESARROLLO PARA LA ADECUACIÓN DE CMS BAJO SOFTWARE LIBRE ADECUACIÓN DE CMS BAJO SOFTWARE LIBRE Facilitador: Lucio Marcelo Quispe Ortega Universidad San Francisco Xavier de Chuquisaca 8vo Conasol 2008 – 13, 14 y 15 de noviembre La Paz - Bolivia

Transcript of Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Page 1: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

1

BUENAS PRÁCTICAS DE DESARROLLO PARA LA BUENAS PRÁCTICAS DE DESARROLLO PARA LA ADECUACIÓN DE CMS BAJO SOFTWARE LIBREADECUACIÓN DE CMS BAJO SOFTWARE LIBRE

Facilitador: Lucio Marcelo Quispe OrtegaUniversidad San Francisco Xavier de Chuquisaca

8vo Conasol 2008 – 13, 14 y 15 de noviembreLa Paz - Bolivia

Page 2: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 2

ContenidoContenido

(1)Conociendo un CMS(2)Buenas Prácticas de Desarrollo sugeridas por los

CMS(3)Casos Prácticos de Adecuaciones a CMS(4)Conclusiones

2

Page 3: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 3

ContenidoContenido

(0)Conociendo un CMS(1)Buenas Prácticas de Desarrollo sugeridas por los

CMS(2)Casos Prácticos de Adecuaciones a CMS(3)Conclusiones

3

Page 4: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 4

(0) Conociendo un CMS(0) Conociendo un CMS

4

¿Qué es un CMS?Sistema de gestión de contenidos (Content Management System)

¿Cuáles son sus principales caracteristicas?•Crea, administra y publica contenidos en una página Web

•Separa el contenido de la presentación

•Distintos roles de usuarios: Administrador, Editor y Creador de Contenidos

•Desarrolladas por grandes grupos de programadores

•Contenidos creados por múltiples usuarios

Page 5: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 5

(0) Conociendo un CMS(0) Conociendo un CMS

5

¿Cómo surge?Ante la necesidad de crear y mantener una página Web con facilidad

¿Cuándo y por qué emplear un CMS?●Inclusión de nuevas funcionalidades en la página web●Mantenimiento de gran cantidad de páginas●Reutilización de objetos o componentes●Páginas interactivas●Cambios del aspecto de la web●Consistencia de la web●Control de acceso

Page 6: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 6

(0) Conociendo un CMS(0) Conociendo un CMS

6

Clasificación●Genéricos: Drupal, Joomla, Plone, TYPO3, OpenCMS.●Blogs: WordPress, Movable Type.●Foros: phpBB, SMF, myBB.●Wikis: MediaWiki, TikiWiki.●eCommerce: osCommerce●eLearning: Moodle, Atutor, Dokeos, Claroline

¿Cuáles son los requisitos?•Servidor Web

•Soporte con el lenguaje script del Servidor

•Base de datos

Page 7: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 7

ContenidoContenido

(0)Conociendo un CMS(1)Buenas Prácticas de Desarrollo sugeridas por los

CMS(2)Casos Prácticos de Adecuaciones a CMS(3)Conclusiones

7

Page 8: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 8

(1) Buenas Prácticas de Desarrollo (1) Buenas Prácticas de Desarrollo sugeridas por los CMSsugeridas por los CMS

8

● Revisión de la API● Conocer la Arquitectura● Estilo de código● Referencia al código fuente● CVS● Bug tracker

Page 9: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 9

Revisión de la APIRevisión de la API• Interfaz de Programación de Aplicaciones (Application

Programming Interface)

• Conjunto de funciones y procedimientos (o métodos si es POO)

• Facilita la tarea al programador

• Representa un método de abstracción en programación

APIMÓDULO II

MÓDULO III

MÓDULO I

Page 10: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 10

...Revisión de la API...Revisión de la API

Ejemplo: escribir "Hola Mundo" sobre la pantalla en diferentes niveles de abstracción:

● Haciendo todo desde el principio:

1) Trazar, sobre papel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o".

2) Crear una matriz de cuadrados negros y blancos que se asemeje a la sucesión de letras.

3) Mediante instrucciones en ensamblador, escribir la información de la matriz en la memoria intermedia ("buffer") de pantalla.

4) Mediante la instrucción adecuada, hacer que la tarjeta gráfica realice el volcado de esa información sobre la pantalla.

Page 11: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 11

...Revisión de la API...Revisión de la API

● Por medio de un S.O. para hacer parte del trabajo:

1) Cargar una fuente tipográfica proporcionada por el S.O.

2) Hacer que el sistema operativo borre la pantalla.

3) Hacer que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada.

● Usando una aplicación (que a su vez usa el S.O.) para realizar la mayor parte del trabajo:

1) Escribir un documento HTML con las palabras "Hola Mundo" para que un navegador Web como Mozilla, Firefox u Opera pueda representarlo en el monitor.

Page 12: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 12

...Revisión de la API...Revisión de la API•Uso de la API en Moodle:

Page 13: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 13

...Revisión de la API...Revisión de la API•Uso de la API en Joomla:

Page 14: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 14

Conocer la ArquitecturaConocer la Arquitectura•Estructura de Directorios

•Nomenclatura

•Disposición de archivos

•Patrón de diseño

Page 15: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 15

...Conocer la Arquitectura...Conocer la Arquitectura•Ejemplo, patrón MVC (Joomla/Componentes):

Page 16: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 16

Estilo de CódigoEstilo de Código● Código legible.- Identación y espacios, definición de

constantes, variables, funciones, etc.● Documentación.- Formato PHPDoc u otro estándar.● Estructuras de base de datos.- Definición de tablas, campos,

tipos de datos, etc.● Normas de Seguridad.- Manejo de variables, parámetros,

paso de parámetros a formularios, URLs, etc.

Page 17: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 17

...Estilo de Código...Estilo de Código● Código legible:

Page 18: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 18

...Estilo de Código...Estilo de Código● Documentación:

Page 19: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 19

...Estilo de Código...Estilo de Código● Estructura de la Base de datos:

Page 20: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 20

...Estilo de Código...Estilo de Código● Normas de seguridad (Control de acceso) en Joomla:

● Normas de seguridad (Control de acceso) en Moodle:

Page 21: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 21

...Estilo de Código...Estilo de Código● ...Normas de seguridad (Paso de parámetros):

Page 22: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 22

Referencia al código fuenteReferencia al código fuente● PHP Cross Reference:

Page 23: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 23

Referencia al código fuenteReferencia al código fuente● PHP Documentor:

Page 24: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 24

CVSCVSAlmacena código fuente de grandes proyectos de software y ofrece al desarrollador permisos de escritura.

Page 25: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 25

Bug TrackerBug TrackerRealiza todo tipo de seguimientos: fallos y nuevas funcionalidades.

Page 26: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 26

ContenidoContenido

(0)Conociendo un CMS(1)Buenas Prácticas de Desarrollo sugeridas por los

CMS(2)Casos Prácticos de Adecuaciones a CMS(3)Conclusiones

26

Page 27: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 27

(2) Casos Prácticos de Adecuaciones (2) Casos Prácticos de Adecuaciones a CMSa CMS

27

●Adecuación de la Plataforma Moodle para el eCampus USFX●Sistema de Inscripciones para la CCBOL 2008

Page 28: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 28

Adecuación de la Plataforma Adecuación de la Plataforma Moodle para el eCampus USFXMoodle para el eCampus USFX

●Administración de Areas, Facultades y Carreras●Creación de Cursos sobre categorias (semestre o año)●Módulo Chat desarrollado sobre AJAX●Seguridad sobre los cuestionarios o exámenes●Instalación de varias instancias de Moodle -> MoodleX

Page 29: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 29

Adecuación de la Plataforma Adecuación de la Plataforma Moodle para el eCampus USFXMoodle para el eCampus USFX

Page 30: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 30

Adecuación de la Plataforma Adecuación de la Plataforma Moodle para el eCampus USFXMoodle para el eCampus USFX

Page 31: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 31

Sistema de Inscripciones para la Sistema de Inscripciones para la CCBOL 2008CCBOL 2008

Componente desarrollado en Joomla:●Administración de Cursos (Tutoriales y Conferencias)●Administración de Paquetes●Administración de Conferencistas●Administración de Universidades●Administración de Departamentos●Administración de Preinscripciones, Inscripciones y Confirmaciones

Page 32: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 32

Sistema de Inscripciones para la Sistema de Inscripciones para la CCBOL 2008CCBOL 2008

Page 33: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 33

Sistema de Inscripciones para la Sistema de Inscripciones para la CCBOL 2008CCBOL 2008

Page 34: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 34

ContenidoContenido

(0)Conociendo un CMS(1)Buenas Prácticas de Desarrollo sugeridas por los

CMS(2)Casos Prácticos de Adecuaciones a CMS(3)Conclusiones

34

Page 35: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 35

(3) Conclusiones(3) Conclusiones

35

• Obtener SW Libre no cuesta nada, desarrollar o aportar tampoco. ¿Por qué no intentarlo?

• Seguir buenas prácticas mejoraran nuestro entorno de trabajo y el nivel de desarrollo.

• Por tanto reutilizar código implica mayor productividad.• Existen herramientas de apoyo que implementan Buenas

Pŕacticas. Comencemos a utilizarlas!.

Page 36: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 36

¿Preguntas?

36

Page 37: Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre

Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 37

Gracias por la atención !!!

Lucio Marcelo Quispe Ortega

E-mail: [email protected]

http://mache-lmqo.blogspot.com/

37