SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Implementación
24 de abril de 2013
Antonio Cañas Vargas, acanas@ugr.es
Centro de Enseñanzas Virtuales de la Universidad de Granada
¿Quiénes crean SWAD?
Antonio Manuel Aguilera Malagón (SWADroid)
Daniel J. Calandria Hernández (fotos, chat)
Antonio Cañas Vargas (desarrollo, coordinación, admin,)
Juan Miguel Boyero Corral (SWADroid)
Adrián Gómez Anaya (WikiSwad)
Diego Montesinos Hervás (iSWAD)
Francisco A. Ocaña Lara (F.A.Q.)
Helena Rodríguez Gijón (SWADroid)
...y una larga lista de colaboradores, a los que estamos muy
agradecidos
13 años de SWAD
Inicios: 1999-2003
1º PID: 2003-2004
2º PID: 2005-2006
3º PID: 2006-2008
CEVUG: 2008...
Libre: 2010...
UNA: 2012...
Servidores
2004-2006
Pentium 4 HT
RAM 2 GB
2 HD 160 GB
2007-2008
Core 2 Duo
RAM 4 GB
2 HD 500 GB
2009-2010
Core 2 Quad
RAM 4 GB
2 HD 146 GB
2 HD 1 TB
2010...
2 Xeon Quad
RAM 24 GB
4 HD 146 GB
4 HD 500 GB
SWAD, software libre
● FLOSS (Free/Libre/Open Source Software)
● Software con licencia copyleft que garantice
derechos de uso, copia, modificación y redistribución
● Free software (libre, ≠
freeware)
● 1983, centrado en la libertad
de los usuarios
● GPL, GFDL
● Open source
● 1998, centrado en el modelo
de desarrollo cooperativo
SWAD, software libre
http://www.youtube.com/watch?v=tAql6_urM4I
SWAD, software libre
21/01/2010
¿Por qué liberarlo?
● Motivos éticos
● Motivos prácticos
● Necesidad de
colaboradores
● Mejora del código
● Difusión
Pasos para liberar SWAD
1. Escribir el código en inglés (100%)
2. Independizarlo de la UGR (100%)
3. Traducir los mensajes a 9 idiomas (70%)
4. Añadir cabeceras AGPL a los archivos (100%)
5. Publicar el código fuente (100%)
http://swad.ugr.es/source/
6. Publicar procedimiento de instalación (100%)
7. Usar sistema de control de versiones git (0%)
8. Subir a la forja GitHub (0%)
9. Automatizar instalación (0%)
Programas
swad A. Cañas
CGI: c; base de datos: mysql
prado (no liberado) A. Cañas
c; base de datos: mysql
fotomaton D. J. Calandria
c++, OpenCV de Intel
foto_mediana/foto_promedio D. J. Calandria
c, OpenCV de Intel
chat D. J. Calandria
servidor: c++; cliente: Applet Java; protocolo IRC
SWADroid (app Android) J. M. Boyero, A. Aguilera, H. Rodríguez
cliente: Java
iSWAD (app iOS) D. Montesinos
cliente: Objective C
CGI+MySQL+XHTML+CSS+Ajax
● Cada vez que un usuario pulsa en alguna
opción, Apache llama a ejecutar el programa
compilado swad
● Hasta 2000 veces por minuto (30 por segundo)
● Normalmente 350 veces por minuto (6 por segundo)
● El programa swad consulta la BD, genera todo
el código XHTML de la página, y lo envía a la
salida estándar
Módulo principal: escrito en C
● Aprox. 150 000 líneas de código
● 55 .c; 58 .h; 1 .py; 1 .js; 2 .css
Módulo principal: escrito en C
● Ausencia de funciones de biblioteca
especializadas en web
● Programado desde cero, excepto:
● Base de datos: MySQL C API
http://dev.mysql.com/doc/refman/5.0/en/c-api.html
● Cifrado: SHA-256 y SHA-512
http://www.ouah.org/ogay/sha2/
● SOAP: gSOAP
http://www.cs.fsu.edu/~engelen/soap.html
Base de datos
http://swad.ugr.es/database/img/swad_database.jpg
90 tablas
Complementos
● Es posible desarrollar complementos (plugins)
que pueden ejecutarse en otros servidores o en
móviles. Ejemplo: SWADroid
http://swad.ugr.es/ws/
● Los complementos interactúan con el programa
swad a través de un servicio web SOAP con
varias operaciones o funciones descritas en el
WSDL:
http://swad.ugr.es/ws/swad.wsdl
● ¿Implementar también REST?
¿Cómo colaborar?
● Si no quieres/no sabes programar:
● Aspectos legales
● Traducción: http://swad.ugr.es/translation/
● Manuales: http://swad.ugr.es/wiki/
● Diseño gráfico
● Administración de titulaciones
● Difusión
¿Cómo colaborar?
● Si quieres programar:
● Hay multitud de mejoras posibles:
http://swad.ugr.es/roadmap/
● Ejemplos:
● Editor de texto con formato, enlaces, imágenes, fórmulas...
● Maquetación con CSS
● Lo más fácil es desarrollar complementos u otros
módulos independientes del programa swad
● Ejemplos:
● Servicios para smartphones (ampliar SWADroid, versión para iOS)
● Pizarra

Más contenido relacionado

Similar a SWAD: implementación

La plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.orgLa plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.orgAntonio Cañas Vargas
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Carlos Camacho
 
Python vs Java (NotBarraLibreCamp)
Python vs Java (NotBarraLibreCamp)Python vs Java (NotBarraLibreCamp)
Python vs Java (NotBarraLibreCamp)jjimenezlopez
 
Presentación Proyecto Fin de Carrera SWADroid
Presentación Proyecto Fin de Carrera SWADroidPresentación Proyecto Fin de Carrera SWADroid
Presentación Proyecto Fin de Carrera SWADroidJuan Miguel Boyero Corral
 
Estándares Web y Accesibilidad en Colombia
Estándares Web y Accesibilidad en ColombiaEstándares Web y Accesibilidad en Colombia
Estándares Web y Accesibilidad en ColombiaGabriel Porras
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 
Mapeando peru: Presentación Suite gvSIG
Mapeando peru: Presentación Suite gvSIGMapeando peru: Presentación Suite gvSIG
Mapeando peru: Presentación Suite gvSIGAlvaro Anguix
 
Presentacion Arduino PDF
Presentacion Arduino PDFPresentacion Arduino PDF
Presentacion Arduino PDFcristianperea
 
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...RootedCON
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroidsantiagohiguera
 

Similar a SWAD: implementación (20)

La plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.orgLa plataforma educativa libre OpenSWAD.org
La plataforma educativa libre OpenSWAD.org
 
SWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSLSWADroid VI Hackathon CUSL
SWADroid VI Hackathon CUSL
 
SWAD FLISOL 2013
SWAD FLISOL 2013SWAD FLISOL 2013
SWAD FLISOL 2013
 
Odroid 13-es-201501
Odroid 13-es-201501Odroid 13-es-201501
Odroid 13-es-201501
 
Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)Inside SWAD (el interior de SWAD)
Inside SWAD (el interior de SWAD)
 
Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
 
Python vs Java (NotBarraLibreCamp)
Python vs Java (NotBarraLibreCamp)Python vs Java (NotBarraLibreCamp)
Python vs Java (NotBarraLibreCamp)
 
Presentación Proyecto Fin de Carrera SWADroid
Presentación Proyecto Fin de Carrera SWADroidPresentación Proyecto Fin de Carrera SWADroid
Presentación Proyecto Fin de Carrera SWADroid
 
Estándares Web y Accesibilidad en Colombia
Estándares Web y Accesibilidad en ColombiaEstándares Web y Accesibilidad en Colombia
Estándares Web y Accesibilidad en Colombia
 
¿Qué es Hardware Abierto? - v2.0
¿Qué es Hardware Abierto? - v2.0¿Qué es Hardware Abierto? - v2.0
¿Qué es Hardware Abierto? - v2.0
 
Android
AndroidAndroid
Android
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
inicios en java
inicios en java inicios en java
inicios en java
 
Introducción a android
Introducción a androidIntroducción a android
Introducción a android
 
Seminario UX
Seminario UXSeminario UX
Seminario UX
 
Mapeando peru: Presentación Suite gvSIG
Mapeando peru: Presentación Suite gvSIGMapeando peru: Presentación Suite gvSIG
Mapeando peru: Presentación Suite gvSIG
 
Presentacion Arduino PDF
Presentacion Arduino PDFPresentacion Arduino PDF
Presentacion Arduino PDF
 
Arduino PDF
Arduino PDFArduino PDF
Arduino PDF
 
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
Jose M Mejia - Usando computación paralela GPU en malware y herramientas de h...
 
Taller livetrackingandroid
Taller livetrackingandroidTaller livetrackingandroid
Taller livetrackingandroid
 

Último

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdfValeriaCorrea29
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxsisimosolorzano
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaAlejandraFelizDidier
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 

Último (20)

Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptxEL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
EL HABITO DEL AHORRO en tu idea emprendedora22-04-24.pptx
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 

SWAD: implementación

  • 1. Implementación 24 de abril de 2013 Antonio Cañas Vargas, acanas@ugr.es Centro de Enseñanzas Virtuales de la Universidad de Granada
  • 2. ¿Quiénes crean SWAD? Antonio Manuel Aguilera Malagón (SWADroid) Daniel J. Calandria Hernández (fotos, chat) Antonio Cañas Vargas (desarrollo, coordinación, admin,) Juan Miguel Boyero Corral (SWADroid) Adrián Gómez Anaya (WikiSwad) Diego Montesinos Hervás (iSWAD) Francisco A. Ocaña Lara (F.A.Q.) Helena Rodríguez Gijón (SWADroid) ...y una larga lista de colaboradores, a los que estamos muy agradecidos
  • 3. 13 años de SWAD Inicios: 1999-2003 1º PID: 2003-2004 2º PID: 2005-2006 3º PID: 2006-2008 CEVUG: 2008... Libre: 2010... UNA: 2012...
  • 4. Servidores 2004-2006 Pentium 4 HT RAM 2 GB 2 HD 160 GB 2007-2008 Core 2 Duo RAM 4 GB 2 HD 500 GB 2009-2010 Core 2 Quad RAM 4 GB 2 HD 146 GB 2 HD 1 TB 2010... 2 Xeon Quad RAM 24 GB 4 HD 146 GB 4 HD 500 GB
  • 5. SWAD, software libre ● FLOSS (Free/Libre/Open Source Software) ● Software con licencia copyleft que garantice derechos de uso, copia, modificación y redistribución ● Free software (libre, ≠ freeware) ● 1983, centrado en la libertad de los usuarios ● GPL, GFDL ● Open source ● 1998, centrado en el modelo de desarrollo cooperativo
  • 8. ¿Por qué liberarlo? ● Motivos éticos ● Motivos prácticos ● Necesidad de colaboradores ● Mejora del código ● Difusión
  • 9. Pasos para liberar SWAD 1. Escribir el código en inglés (100%) 2. Independizarlo de la UGR (100%) 3. Traducir los mensajes a 9 idiomas (70%) 4. Añadir cabeceras AGPL a los archivos (100%) 5. Publicar el código fuente (100%) http://swad.ugr.es/source/ 6. Publicar procedimiento de instalación (100%) 7. Usar sistema de control de versiones git (0%) 8. Subir a la forja GitHub (0%) 9. Automatizar instalación (0%)
  • 10. Programas swad A. Cañas CGI: c; base de datos: mysql prado (no liberado) A. Cañas c; base de datos: mysql fotomaton D. J. Calandria c++, OpenCV de Intel foto_mediana/foto_promedio D. J. Calandria c, OpenCV de Intel chat D. J. Calandria servidor: c++; cliente: Applet Java; protocolo IRC SWADroid (app Android) J. M. Boyero, A. Aguilera, H. Rodríguez cliente: Java iSWAD (app iOS) D. Montesinos cliente: Objective C
  • 11. CGI+MySQL+XHTML+CSS+Ajax ● Cada vez que un usuario pulsa en alguna opción, Apache llama a ejecutar el programa compilado swad ● Hasta 2000 veces por minuto (30 por segundo) ● Normalmente 350 veces por minuto (6 por segundo) ● El programa swad consulta la BD, genera todo el código XHTML de la página, y lo envía a la salida estándar
  • 12. Módulo principal: escrito en C ● Aprox. 150 000 líneas de código ● 55 .c; 58 .h; 1 .py; 1 .js; 2 .css
  • 13. Módulo principal: escrito en C ● Ausencia de funciones de biblioteca especializadas en web ● Programado desde cero, excepto: ● Base de datos: MySQL C API http://dev.mysql.com/doc/refman/5.0/en/c-api.html ● Cifrado: SHA-256 y SHA-512 http://www.ouah.org/ogay/sha2/ ● SOAP: gSOAP http://www.cs.fsu.edu/~engelen/soap.html
  • 15. Complementos ● Es posible desarrollar complementos (plugins) que pueden ejecutarse en otros servidores o en móviles. Ejemplo: SWADroid http://swad.ugr.es/ws/ ● Los complementos interactúan con el programa swad a través de un servicio web SOAP con varias operaciones o funciones descritas en el WSDL: http://swad.ugr.es/ws/swad.wsdl ● ¿Implementar también REST?
  • 16. ¿Cómo colaborar? ● Si no quieres/no sabes programar: ● Aspectos legales ● Traducción: http://swad.ugr.es/translation/ ● Manuales: http://swad.ugr.es/wiki/ ● Diseño gráfico ● Administración de titulaciones ● Difusión
  • 17. ¿Cómo colaborar? ● Si quieres programar: ● Hay multitud de mejoras posibles: http://swad.ugr.es/roadmap/ ● Ejemplos: ● Editor de texto con formato, enlaces, imágenes, fórmulas... ● Maquetación con CSS ● Lo más fácil es desarrollar complementos u otros módulos independientes del programa swad ● Ejemplos: ● Servicios para smartphones (ampliar SWADroid, versión para iOS) ● Pizarra