SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
1
BUENAS PRÁCTICAS DE DESARROLLO PARA LABUENAS PRÁCTICAS DE DESARROLLO PARA LA
ADECUACIÓN DE CMS BAJO SOFTWARE LIBREADECUACIÓ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
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
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
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
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
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
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
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
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
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.
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.
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:
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:
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
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):
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.
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:
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:
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:
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:
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):
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:
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:
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 24
CVSCVS
Almacena código fuente de grandes proyectos de software y
ofrece al desarrollador permisos de escritura.
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 25
Bug TrackerBug Tracker
Realiza todo tipo de seguimientos: fallos y nuevas funcionalidades.
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
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
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 28
Adecuación de la PlataformaAdecuació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
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 29
Adecuación de la PlataformaAdecuación de la Plataforma
Moodle para el eCampus USFXMoodle para el eCampus USFX
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 30
Adecuación de la PlataformaAdecuación de la Plataforma
Moodle para el eCampus USFXMoodle para el eCampus USFX
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 31
Sistema de Inscripciones para laSistema 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
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 32
Sistema de Inscripciones para laSistema de Inscripciones para la
CCBOL 2008CCBOL 2008
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 33
Sistema de Inscripciones para laSistema de Inscripciones para la
CCBOL 2008CCBOL 2008
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
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!.
Buenas Prácticas de Desarrollo para la Adecuación
de CMS bajo Software Libre 36
¿Preguntas?
36
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: mache.lmqo@gmail.com
http://mache-lmqo.blogspot.com/
37

Más contenido relacionado

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

Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchAng Car
 
Lineas de Producto de Software y Método Watch
Lineas de Producto de Software y Método WatchLineas de Producto de Software y Método Watch
Lineas de Producto de Software y Método WatchAndreina Soto
 
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyBootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyTelefónica
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptxDyllanBastidas
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intixRoger CARHUATOCTO
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryynelly
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16Ramon
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de softwareMarilupe
 
Ingen de software
Ingen de softwareIngen de software
Ingen de softwareerikapoh
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaresamantha
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software142918
 

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

S14-DAW-2022S1.pptx
S14-DAW-2022S1.pptxS14-DAW-2022S1.pptx
S14-DAW-2022S1.pptx
 
Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watch
 
Framework
FrameworkFramework
Framework
 
Desarrollo Full Stack. El nuevo rol del programador
Desarrollo Full Stack. El nuevo rol del programadorDesarrollo Full Stack. El nuevo rol del programador
Desarrollo Full Stack. El nuevo rol del programador
 
Lineas de Producto de Software y Método Watch
Lineas de Producto de Software y Método WatchLineas de Producto de Software y Método Watch
Lineas de Producto de Software y Método Watch
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Software
SoftwareSoftware
Software
 
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs AcademyBootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
BootCamp Online en DevOps (and SecDevOps) de GeeksHubs Academy
 
DevOps on AZURE
DevOps on AZUREDevOps on AZURE
DevOps on AZURE
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
 
01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix01 webinar caso_migracion_portalweb_v1.4.1-intix
01 webinar caso_migracion_portalweb_v1.4.1-intix
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 
Ingeniería de software16
Ingeniería de software16Ingeniería de software16
Ingeniería de software16
 
Ingenier%c3%ada de software
Ingenier%c3%ada de softwareIngenier%c3%ada de software
Ingenier%c3%ada de software
 
Ingen de software
Ingen de softwareIngen de software
Ingen de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (10)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

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

  • 1. 1 BUENAS PRÁCTICAS DE DESARROLLO PARA LABUENAS PRÁCTICAS DE DESARROLLO PARA LA ADECUACIÓN DE CMS BAJO SOFTWARE LIBREADECUACIÓ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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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.
  • 11. 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.
  • 12. 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:
  • 13. 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:
  • 14. 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
  • 15. 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):
  • 16. 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.
  • 17. 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:
  • 18. 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:
  • 19. 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:
  • 20. 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:
  • 21. 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):
  • 22. 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:
  • 23. 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:
  • 24. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 24 CVSCVS Almacena código fuente de grandes proyectos de software y ofrece al desarrollador permisos de escritura.
  • 25. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 25 Bug TrackerBug Tracker Realiza todo tipo de seguimientos: fallos y nuevas funcionalidades.
  • 26. 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
  • 27. 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
  • 28. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 28 Adecuación de la PlataformaAdecuació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
  • 29. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 29 Adecuación de la PlataformaAdecuación de la Plataforma Moodle para el eCampus USFXMoodle para el eCampus USFX
  • 30. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 30 Adecuación de la PlataformaAdecuación de la Plataforma Moodle para el eCampus USFXMoodle para el eCampus USFX
  • 31. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 31 Sistema de Inscripciones para laSistema 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
  • 32. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 32 Sistema de Inscripciones para laSistema de Inscripciones para la CCBOL 2008CCBOL 2008
  • 33. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 33 Sistema de Inscripciones para laSistema de Inscripciones para la CCBOL 2008CCBOL 2008
  • 34. 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
  • 35. 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!.
  • 36. Buenas Prácticas de Desarrollo para la Adecuación de CMS bajo Software Libre 36 ¿Preguntas? 36
  • 37. 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: mache.lmqo@gmail.com http://mache-lmqo.blogspot.com/ 37