Índice por título

Reunión informáticos migración

Fecha: 12 de diciembre de 2012

Presentes: Alejandro Blanco (fing), Jorge Biurrum (fcea), Miguel (fing), Nancy, Nadia Chaer (farq), Alén, Andrés Ramos (odon), Iván Agarrayúa (fhuce, psico), Nicolás Chiarino (psico), Teodoro Visaires (fhuce), Manuel Podetti

Se discutieron parámetros generales de la migración. Ver reunión (interna) DATA

Facultad de Ingeniería tiene migrado el módulo auth_seciu

Se mandará comunicación desde Pro Rectorado de enseñanza a los decanatos con copia a los informáticos con la necesidad de la migración.

Cronograma tentativo de migración

Psicología Febrero
Arquitectura Febrero
Humanidades Febrero
Ingeniería Febrero
Central 2da quincena de enero
CCEE No se sabe
Odontología Febrero

Actualización de moodle 1 a 2

Actualización de moodle 1.9.x a 2.2.x

Referencias:

Previo: migrar la base de datos a utf8

Esto evita errores, puede ocurrir que no toda la base de datos utilice la misma codificación de caracteres y da problemas con el despliegue te texto en español, por ej.

i. Ejecutar un dump

mysqldump -uroot -p -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -B moodleeva2 > moodleeva2-migrando-utf.sql

ii. Convertir

Abrir el archivo con vim:

vim moodleeva2-migrando-utf.sql

y luego:

:%s/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/
:%s/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/
:x

iii. Crear la base de datos con la codificación correcta

mysql -u root -p -e "CREATE DATABASE moodleeva2 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" 

iv. Inyectar los datos

mysql -u root -p moodleeva2 < moodleeva2-migrando-utf.sql

Requerimientos

1. Software

2. Instalar módulos php necesario:

sudo apt-get install php5-intl php5-cli 

Nota: Lo que puede hacerse para saber los requerimientos, es ir a: http://&lt;url-de-moodle&gt;/admin/environment.php y cambiar la versión de moodle en la lista desplegable. De esta forma se informará sobre los requerimientos para dicha versión.

Procedimiento

3. Borrar módulos no estándar (hay que borrarlos de moodle y del disco (en ese orden!)):

Código para borrado de disco:

sudo rm -rf /usr/share/moodleeva2/mod/bigbluebutton && sudo rm -rf /usr/share/moodleeva2/mod/dimdim && 
sudo rm -rf /usr/share/moodleeva2/mod/feedback && sudo rm -rf /usr/share/moodleeva2/mod/hotpot && 
sudo rm -rf /usr/share/moodleeva2/mod/openmeetings && sudo rm -rf /usr/share/moodleeva2/mod/journal && 
sudo rm -rf /usr/share/moodleeva2/mod/lams

4. Idem filtros (se borran del disco):
rm -rf /usr/share/moodleeva2/filter/geshi
5. Idem bloques (se desinstalan y borran del disco):
sudo rm -rf /usr/share/moodleeva2/blocks/graph_stats && sudo rm -rf /usr/share/moodleeva2/blocks/admin_alert
En FCS se algunos módulos estandar provocaban errores y se quitaron:

6. Idem temas (se elige un estándar) (en FCS borramos TODOS los temas excepto el estandar cargado, daban errores algunos templates por defecto)

sudo /usr/share/moodleeva2/theme && sudo rm -rf agraria agraria2 artistica artistica2 ciencia ciencia2 entorno entorno2 interior interior2 salud salud2 social social2 udelar2

Dio error al actualizar "Courses" con "report" y borré carpeta
..course/report

7. Respaldo archivos y base

archivos:

sudo cp -R /usr/share/moodleeva2 /usr/share/moodleeva2-antes-de-migrar

El var/lib no es necesario, pues no lo modifiqué en el procedimiento; lo puedo volver a tomar de los respaldos.

base:

cd ~ && mysqldump -u root -p moodleeva2 | gzip > base-moodle-antes-de-migrar.sql.gz

8. Descargo y descomprimo php de moodle 2.2.x

Obs: Hay que actualizar primero a 2.2.x y luego a la última 2.x que exista (por ejemplo 2.3.1 hoy)

wget http://download.moodle.org/download.php/direct/stable22/moodle-latest-22.tgz
tar -xf moodle-latest-22.tgz

9. Copio los archivos

sudo mv /usr/share/moodleeva2 /usr/share/moodleeva2.old
sudo mv ~/moodle /usr/share/moodleeva2

y colocar los parámetros correctos de config.php

importante: copiar el hash de "pasword salt" para que funcionen las contraseñas

10. Script de actualización

10.a Vía web

Ir a la URL de moodle con el navegador y se advierte sobre la actualización. Hay que ser paciente y ver cómo la actualización se va desplegando hacia abajo. Puede durar varias horas.

10.a Por línea de comandos

OBS: utilizar lo siguiente a través de screen1 porque dura bastante y para prevenir la caída de la conexión

sudo -u www-data /usr/bin/php /usr/share/moodleeva2/admin/cli/upgrade.php --non-interactive

1 Screen es un manejador de consolas virtuales que entre otras cosas permite recuperar una consola en caso que se corte la conexión. Más información en: https://help.ubuntu.com/community/Screen

LDAP

Para que ande LDAP tiene que estar instalado el módulo php

sudo apt-get install php5-ldap

Cambio de URL

Cuidado ! Si hay cambio de URL, se vuelve necesario 2 cosas:

  1. Cambiar el archivo config.php para que moodle sepa como construir los enlaces relativos (muy importante para no saltar sin querer al otro moodle)
  2. Cambiar los enlaces absolutos en la base de datos:
    1. Dump de la base actual
      mysqldump -u user -p moodle2 > moodle2.sql
      
    2. Realizar una copia de seguridad por las dudas
      cp moodle2.sql moodle2.sql.backup
      
    3. Realizar la sustitución
      sed -i "s|url-vieja|url-nueva|g" moodle2.sql
      
    4. Borrar la base y volver a crearla
      mysql -u user -p -e "DROP DATABASE moodle2" 
      mysql -u user -p -e "CREATE DATABASE moodle2 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci" 
      
    5. Cargar los datos modificados
      mysql -u user -p  moodle2 < moodle2.sql
      

Cambiar motor de la base de datos

Es una recomendación cambiar a InnoDB que aparece en "Notificaciones":

Las tablas de la base de datos están utilizando el motor MyISAM: se recomienda usar un motor compatible con ACID que permita transacción completa, tal como InnoDB.

Luego existe un script en el propio moodle para hacerlo. Por tanto, hay que:
  1. Ir a la raíz de moodle por línea de comandos
  2. Ejecutar el siguiente comando:
    sudo -u www-data /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
    

La ejecución del script en el EVA Central dura aproximadamente 3 horas.

Módulo de autenticación SECIU2

El módulo Radius que viene con moodle, no toma nombre y apellido de los estudiantes, de modo que ellos, al autenticarse la primera vez pueden colocar otro nombre diferente al que figura en el sistema de bedelías.

Algunos docentes de Facultad de Ingeniería, escribieron una mejor y a su vez lo migraron para moodle 2.x. Su nombre es auth_seciu2.

El mismo está disponible en el espacio de archivos de este mismo proyecto: http://proyecto.data.cse.edu.uy/projects/redeva/files (ir hasta la parte correspondiente a moodle 2.x)

Prerrequisitos:

Instalación: Al descomprimir el archivo encontrará un README.txt con las instrucciones de instalación.

Tareas post instalación: Una cosa que puede hacer, es transformar todas las autenticaciones radius a SECUI. Si se tiene acceso a la Base de Datos puede ejecutarse lo siguiente:

UPDATE moodle.mdl_user SET auth = 'seciu2' WHERE auth = 'radius';

FIXME: verificar si es seciu o seciu2 que hay que poner
OBS: recomendamos realizar pruebas y un respalo de la base de datos antes de aplicar el comando

Más allá de la 2.2.x

Me confirman de Facultad de Psicología, la actualización de la 2.2.x a la 2.4.x sin problemas. Por tanto el procedimiento sería:

  1. Hacer un respaldo de la carpeta donde está moodle 2.2.x renombrándola
  2. Descargar la última versión de moodle 2.4.x
  3. Llamarla con el mismo nombre que 1 y luego copiar el archivo config.php original
  4. Copiar temas o módulos si se instalaron luego de la actualización de 1.9.x a 2.2.x

Problemas con javascript y AJAX

Si llegan a aparecer problemas en el despliegue del menú principal, puede deberse al caché de AJAX y Javascript. Para corregirlo, deshabilitar los caches en: <raiz-de-moodle>admin/settings.php?section=ajax

Luego todo funcionará y se puede volver a activar.

Actualización de tareas

Parece que no actualiza las tareas a la nueva api de tareas. Para ello pruebo en ir a la url: <url-de-moodle>/admin/tool/assignmentupgrade/listnotupgraded.php

y actualizo todas las tareas


Actualización de moodle 2 dentro de la misma rama

Para tener en cuenta

OBS: Esto funciona para ir de la 2.3.x a una superior, por ejemplo: de la 2.3.6 a la 2.3.7.

Cómo actualizar

1. Descargar la versión correspondiente de moodle en tu carpeta local

cd ~
wget wget http://download.moodle.org/download.php/direct/stable23/moodle-latest-23.tgz
tar -xf moodle-latest-23.tgz

2. Hacer un respaldo de la carpeta de moodle

sudo cp -R /usr/share/moodle236 /usr/share/moodle236.orig

3. Reemplazar los archivos nuevos

sudo cp -R moodle/* /usr/share/moodle236

4. Por último, ir a notificaciones para realizar la actualización


Borrar cursos

Estimados docentes, el uso generalizado de la plataforma EVA nos lleva a la necesidad de optimizar los recursos de la misma. Por tanto hemos decidido borrar todas las copias de seguridad con más de un año de antigüedad.

Esto en general no implica dificultad para nadie. Solamente puede resultar interesante a aquellos que por algún motivo guardaron el estado de un curso utilizando la herramienta "Copia de seguridad", descargarse las copias viejas que habían guardado por algún motivo.

A su vez queremos comunicarles que los cursos con más de 2 años de inactividad también serán dados de baja.

les saluda atentamente
el equipo del DATA


Investigación sobre software de documentación.

La idea es hacer una breve investigación para obtener una solución triple:

Gestor documental

Investigar:

Drupal como gestor documental

Ver: Módulos que proveen Gestión Documental en Drupal

Repositorio interno

"Drop One"

Comparativa Ubuntu One y DropBOX: http://alexandrev.wordpress.com/2009/08/22/ubuntu-one-vs-dropbox/

OwnCloud

Sparkleshare

Repositorio externo

Software de repositorio digital

Investigar:

Convocatoria encuentro Red EVA

Estimadas y estimados,

Por este medio nos dirigimos a todos aquellos que dan soporte al andamiaje tecnológico de cada uno de los Entornos Virtuales de Aprendizaje de la Universidad de la República.

Queremos invitarlos a un encuentro cuyo principal objetivo es fortalecer y ampliar, lo que hemos llamado Red EVA, es decir, la red de personas, el soporte humano que hacen posible el funcionamiento de los diferentes EVAs.

Para ello este evento pretende compartir saberes de las diferentes experiencias que se han generado en torno a la incorporación y puesta en marcha de los EVAs de cada servicio.

Los temas propuestos para el mismo son seguridad, administración y usabilidad, aunque por supuesto la agenda está abierta para seguir ampliando horizontes y mejorando la red existente.

El encuentro se realizará el día miércoles 23 de junio a las FIXME horas en FIXME.


Cómo quitar la password de un pdf si la conocemos

Aquí hay una posibilidad en Ubuntu:

sudo apt-get install qpdf
qpdf --decrypt --password=mypassword input.pdf output.pdf
evince output.pdf #to check if it asks for password

Documentos

Otros documentos:


Drupal instalación, mantenimiento y funcionalidad básica

Tomado originalmente de: http://projek.psico.edu.uy/projects/uninfo/wiki/Drupal-instalacion

Actualización

Hay que ir a la carpeta correspondiente de drupal y hacer:

sudo drush up
sudo drush cc all

Instalación

Instalación multisitio

Se adjunta odt con Instalación Drupal multisitio y módulos utilizados. Ver Sección "Tercer Instalación"

Administración y mantenimiento

Instalación de drush

Descargarse la última versión estable de acá: http://drupal.org/node/1247086

tar -xf drush-7.x-4.5.tar.gz
cp -R drush /opt
cd /opt/drush
ln -s /opt/drush/drush /usr/bin/drush

Comandos básicos

Listado de módulos:

drush pml
Otros comandos drush:

Script de instalación

# CCK: Permite ampliar un tipo de contenido con campos adicionales (email, ref.nodo, ref.usuario, imagen...)
# URL: http://drupal.org/project/cck
drush dl cck
drush en cck
# Views: Permite generar vistas (listados, tablas, rss, bloques) sobre los contenidos, usuario, comentarios... de drupal.
# http://drupal.org/project/views
drush dl views
drush en views
# Un manejador de taxonomías
drush dl taxonomy_manager
drush en taxonomy_manager
# Editor tipo procesador de textos
drush dl wysiwyg
drush en wysiwyg
# FIXME: descripción
drush dl filefield imagefield
# Para la creación automática de urls bonitas
drush dl pathauto transliteration
drush en pathauto transliteration
# Actualización de idioma
drush dl l10n_update
drush en l10n_update
# Conexión ldap y gestión de privilegios
drush dl ldap_integration
# hay que habilitar alguna otra?
drush en ldapauth

Otros módulos


Módulos que proveen Gestión Documental en Drupal

Cosas a revisar:

Filedepot

http://drupal.org/project/filedepot

Estado: en activo desarrollo

Web File Manager

http://drupal.org/project/webfm

Estado: solamente corrigiendo errores


Script para analizar la base de moodle con R. Antes hay que instalar algunas cosas.

Ver: http://www.softwarelibre.edu.uy/tiki-index.php?page=Integrando+R+y+MySQL

El scritp

# Me conecto a la base de datos
library("RMySQL")
conex <- dbConnect(MySQL(),user="urdata", password="eva1854", dbname="moodle19", host="localhost")
# La cantidad de usuarios
cant.usuarios=dim(dbGetQuery(conex, "select * from mdl_user where deleted=0 and confirmed=1"))[1]
cant.usuarios
# La cantidad de cursos
cant.cursos=dim(dbGetQuery(conex, "select * from mdl_course where visible=1"))[1]
cant.cursos
# La cantidad de cursos en construccion
cant.cursos.enconst=dim(dbGetQuery(conex, "select * from mdl_course where visible=0"))[1]
cant.cursos.enconst
# La cantidad de categorías
cant.categorias=dim(dbGetQuery(conex, "select * from mdl_course_categories where visible=1"))[1]
cant.categorias
# La cantidad de foros
cant.foros=dim(dbGetQuery(conex, "select * from mdl_forum"))[1]
cant.foros
# La cantidad de grupos
cant.grupos=dim(dbGetQuery(conex, "select * from mdl_groups"))[1]
cant.grupos
# La cantidad de tareas
cant.tareas=dim(dbGetQuery(conex, "select * from mdl_assignment"))[1]
cant.tareas
# Recursos
cant.recursos=dim(dbGetQuery(conex, "select * from mdl_resource"))[1]
cant.recursos
# Chats
cant.chats=dim(dbGetQuery(conex, "select * from mdl_chat"))[1]
cant.chats
# Glosarios
cant.glosarios=dim(dbGetQuery(conex, "select * from mdl_glossary"))[1]
cant.glosarios
# Cuestionarios
cant.cuestionarios=dim(dbGetQuery(conex, "select * from mdl_quiz"))[1]
cant.cuestionarios
# Wikis
cant.wikis=dim(dbGetQuery(conex, "select * from mdl_wiki"))[1]
cant.wikis
# Me desconecto
dbDisconnect(conex)
# Tratando de presentar mejor la cosa
# Armo un dataframe con el vector de datos
EVAcuadro=data.frame(date(),cant.usuarios,cant.cursos,
cant.cursos.enconst,cant.categorias,cant.foros,cant.tareas,
cant.grupos,cant.recursos,cant.chats,cant.glosarios,cant.cuestionarios,cant.wikis)
# Le agrego los nombres
names(EVAcuadro)=c("Fecha","Cantidad de usuarios","Cantidad de cursos activos","Cantidad de cursos ocultos","Cantidad de categorías","Cantidad de Foros","Cantidad de Asignaciones de Tareas","Cantidad de Grupos","Cantidad de Recursos","Cantidad de Chats","Cantidad de Glosarios","Cantidad de Cuestionarios","Cantidad de Wikis")
# Traspongo para que se vea mejor
EVAcuadro=t(EVAcuadro)
# Imprimo la tabla
EVAcuadro
# Guardo la tabla
write.csv(EVAcuadro,"tablita-eva.csv")

Ejecutarlo desde consola

R --no-save < moodle-est-grales_v1.0.r

Estudio de la posible migración a Moodle 2.x

La idea original es migrar el Moodle 1.9 al 2.1 para aprovechar las nuevas características (features) de la última versión.
Luego de leer bastante no está claro qué es mejor para esta migración. Las opciones son, pasar directamente de la 1.9 a la 2.1 o sino pasar de la 1.9 a la 2.0 y luego de la 2.0 a la 2.1.

Resumen de nuevas características de Moodle 2.x

  1. Community hubs
  2. Repositorios
  3. Portafolios
  4. Completado de cursos
  5. Actividades condicionales
  6. Cohortes o grupos masivos (Cohorts)
  7. Servicios Web
  8. Nuevos bloques
  9. Prevención de plagio

También hay mejoras en características básicas existentes y en módulos de actividades en versiones anteriores.
Por más información ir aquí .

Si quieren leer una discusión en un foro sobre las diferencias entre Moodle 1.9 y 2.0 ir aquí .

Requerimientos para Moodle 2.0

PHP 5.2.8 o superior (fue publicado el 08-Dic-2008), PHP 5.3.3 o posterior es recomendado.
Bases de datos deben ser alguna de estas:
MySQL 5.0.25 o superior (usar motor de almacenamiento InnoDB es altamente recomendado)
PostgreSQL 8.3 o superior
Oracle 10.2 o superior
MS SQL 2005 o superior
Cualquier navegador de Internet que soporte estándares de los últimos años, por ejemplo:
Firefox 3 o superior
Safari 3 o superior
Google Chrome 4 o superior
Opera 9 o superior
MS Internet Explorer 7 o superior (Inclusive Google ya no soporta IE6)
etc

Resumen de nuevas características de Moodle 2.1

  1. Nuevo motor de preguntas
  2. Restauración de contenidos de cursos desde copias de seguridad de Moodle 1.9
  3. Activación de servicios web (WS) para dispositivos móviles

Por más información ir aquí .

Estas son las release notes en inglés.

Discusión: cómo hacerlo

La cossa es sobre si conviene pasar de Moodle 1.9 a 2.0 y luego a 2.1 o pasar directamente de 1.9 a 2.1

Sobre esto encontré muchas discusiones y no me queda nada claro de que alguna de las opciones sea realmente la mejor.
Al pasar de la 1.9 a la 2.0 está el problema de que cambió totalmente la estructura de los backups por lo que hay que modificarlos para poder levantarlos en la 2.0
Hay herramientas externas para hacer esta traducción de backups. Una de ellas es conversionthingy.

En este link habla de cómo hacer este proceso pero en un foro por otro lado decían que esto funcionaba aceptablemente bien en sistemas chicos pero que "no lo recomendaban para una Universidad".

En esta página (para desarrolladores) habla de cómo convertir los backups de 1.9 a 2.x.

En esta otra (de moodle.org también) habla cómo migrar a la 2.1, pero dice al principio de todo que si tenemos la versión 1.9 hay que pasar primero a la 2.0.

Pero por otro lado en este link dice que para pasar de la 1.9 a la 2.1 no hay problema con el backup de los cursos (fue arreglado respecto de la 2.0) y deja abierta la posibilidad de hacerlo directamente desde un Moodle 1.9.

Sin embargo encontré por otros lados que hay problemas con los usuarios (no me queda claro qué tanto problema hay porque leí desde que se pierde alguna información de los mismos como ser calificaciones o comentarios hasta que se perdía toda la información de los usuarios) al pasar de la 1.9 a la 2.1 directamente.

En este enlace y en este otro hablan de migraciones exitosas aunque con mucho trabajo intermedio.
En otros lados leí de migraciones "no exitosas". Cosas como que pensaban estar dos días en la migración pero que al final les llevó 40 o que tuvieron que volver a la versión 1.9 porque no pudieron hacer funcionar correctamente la 2.1.

Acá , por ejemplo hablan de por qué 14 administradores de Moodle independientes llegaron a la conclusión de que Moodle 2.0 no estaba listo para trabajar en un ambiente de producción (y mencionan varios problemas durante el pasaje de 1.9 a 2.0).

Conclusiones

Luego de consultar con algunos especialistas sobre la forma de realizar el upgrade de Moodle 1.9 hacia 2.1 (vale aclarar que el EVA es una implementación considerada como "grande" debido a la cantidad de usuarios y cursos y que no hay experiencias fácilmente comparables en la región) el plan de trabajo que creo sería mejor es el siguiente:


Taller F123: Tecnologías para el acceso a la educación y al empleo par personas con discapacidad

Fecha y hora: 22 de marzo 14hs en el MEC piso 9

Organizado por: Proyecto Cinestrellas, Centros MEC, Botelho & Paula Consultoría; colaboración del BID

Del taller participaron unas 40 personas de diversos lugares: Centros MEC de todo el país, grupos e instituciones que trabajan con personas con discapacidad, Universidad, etc..

Comenzaron la oratoria Roberto Elizalde y Karina Acosta, quienes pidieron a la comunidad la ayuda para evaluar las tecnologías propuestas en el taller. Luego, el resto del taller estuvo a cargo de Fernando Botelho de origen brasileño, quien realizó una brillante exposición, superando la barrera del idioma y de la discapacidad visual.

Su disertación giró en torno al asunto de la discapacidad y el problema de las personas a la hora de acceder a herramientas tecnológicas que los potencien en sus capacidades laborales y profesionales. 180 millones de ciegos en todo el mundo, de los cuales una amplio porcentaje tienen problemas de acceso a estas tecnologías. Además presentó una serie de datos que evidencian que el problema se agudiza en los países de la periferia.

Presentó un gráfico en el que podía observarse la evolución de los costos en los últimos 10 años, de una pc y del programa privativo más utilizado por discapacitados visuales: Jaws (desarrollado por Freedom Cientific). Llama poderosamente la atención el hecho de que mientras el harware bajó en casi un 80%, el software mencionado aumentó un 20% (hoy una licencia Jaws cuesta unos 1100 dólares). Sin embargo, en palabras de Fernando: "No se trata solamente de bajar el costo, sino de no estar dependiente de una empresa que es un monopolio en otro país (...) de trabajar con una ética social".

Fue entonces que desarrolló alternativas al modelo actual de apropiación de tecnologías y lanzó una discusión en torno a los beneficios del modelo de negocios y del modelo distribución y apropiación tecnológica basadas en Software Libre. Explicó las estrategias detrás de su propuesta, el proyecto F123: un proyecto de bajo costo y sostenibilidad de largo plazo. "No solo se trata de un producto, se trata de una estrategia de desarrollo económico de nuestros países" y esto es posible, gracias al modelo de Software Libre.

F123 es un software "con componentes de otros software", es en realidad un sistema operativo completo, que no es más (nada más y nada menos) que una versión de Ubuntu, con diversas adaptaciones para personas con discapacidad. Entre las que se encuentran herramientas de zoom y alto contraste y un lector de pantalla, ORCA con un cambio singular: en vez de la voz que trae el programa, se sustituyó por la voz sintetizada por la misma que utiliza el software Jaws (Una voz privativa licenciada por IBM). Como resultado tenemos dos distribuciones de F123: una para personas con discapacidad visual y otra para personas con discapacidad motriz.

Siguiendo con los beneficios del Software Libre, presentó el ejemplo de un problema que tiene F123 y que será mejorado en breve, pero lo curioso de la mejora, es que se corregirá directamente junto a los programadores de GNOME (Entorno gráfico de F123 y de Ubuntu), lo que redundará no solamente en el beneficio de los miles de usuarios de F123, sino en los millones de usuarios de Ubuntu. Es que "como se trata de Software Libre, no estamos solos realizando los cambios y las mejoras".

Y más adelante, explica con un ejemplo, "si yo me tomo esta agua [y levanta un vaso], ustedes no la pueden tomar, pero el conocimiento, al igual que el software de puede utilizar por muchas personas y reproducir con costos casi nulo".

F123 fue lanzado en Brasil en el año 2010 y planea desarrollos futuros como mejorar la compatibilidad con OpenOffice (pequeñas adaptaciones apenas), mejoras para Eclipse (entorno de programación) y Audacity (software de edición de audio). El programa se distribuye en un DVD que cuesta unos 20 dólares, o en una caja conteniendo 2 DVDs, un estuche de cuero con mini CD y pendrive con el sistema completo, conviertiéndose en un kit de herramientas que las personas con discapacidad pueden utilizar en cualquier computador (en modo Live).

Sitio del proyecto: www.f123.org/es

Para solicitar la presentación completa de Fernando, puede escribirse a: fuentes@f123.org

Artículos relacionados:

SchemaSpy

Existe un

1) Pre requisitos:

a) Instalar driver mysql java

sudo apt-get install libmysql-java

b) Instalar graphviz

sudo apt-get install graphviz

2) Descargarlo de aquí: http://sourceforge.net/projects/schemaspy/

3) Modo de uso:

java -jar schemaSpy.jar -t mysql -host localhost -db moodle -u lupa -p SECRET -dp /usr/share/java/mysql-connector-java.jar -o schemaspy-moodle/
OBS:

Instalación / migración de moodle 1.9.x

Ver scripts de restauración de un respaldo de moodle: http://proyecto.data.cse.edu.uy/projects/eva/files (interno)

Pre requisitos

Instalo apache2, mysql y php

sudo apt-get install apache2 mysql-server php5-mysql

Instalo módulos de autenticación

sudo apt-get install php5-ldap php5-radius

Módulos php para red moodle

sudo apt-get install php5-curl php5-xmlrpc

Instalación de moodle

  1. Código php de moodle. Colocar el php en algún lugar, por ejemplo /usr/share/mooodle
  2. Setear los permisos adecuados, por ejemplo:
    sudo chown -R www-data:root /usr/share/moodle
    
  3. Crear una carpeta para los datos (moodledata), por ejemplo /var/lib/moodledata
    mkdir /var/lib/moodledata
    
  4. Setear los permisos adecuados
    sudo chown -R www-data:root /var/lib/moodledata
    
  5. Crear usuario y base de datos (con phpmyadmin)
  6. Configurar apache2

Migración de moodle a otro servidor

Migrar un moodle de un servidor a otro requiere lo siquiente:

Respaldo

1. Copiar el código moodle (los php). Puede estar en /var/www o en /usr/share o en otro lugar:

sudo cp -R /var/www/moodle /home/ususario/respaldo/

2. Copiar los datos (moodledata). Que puede estar en /var/lib/moodledata o en otro lugar:

sudo cp -R /var/lib/moodledata /home/ususario/respaldo/

3. Hacer un backup de la base de datos:

mysqldump -u root -p moodle | gzip > home/ususario/respaldo/moodle.sql.gz

En respaldo deben haber quedado dos carpetas y un archivo comprimido.

Restauración

Luego restaurar en el nuevo servidor:

1. Código moodle

2. Datos

3. Base de datos


Programas para administrar un directorio LDAP

Ver wiki vieja:

gq

luma

http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html

Instalación:

sudo apt-get install luma

jxplorer

http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html

Apache Directory

http://directory.apache.org/studio/


Laboratorio-de-software


Laboratorio pdf


Instalación Letxuga

(probando postgresql)

Web del proyecto: https://bitbucket.org/enkiduCoop/letxuga

Artículos relacionados:

PREVIO: Instalación de requerimientos

sudo apt-get install python-pip postgresql postgresql-server-dev-all python2.7-dev postgresql-9.1-postgis postgis

PREVIO: Creación de template postgis

Como root corro esto para pasar al usuario postgres:

su - postgres

Luego esto:

createdb template_postgis -EUTF8
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

Procedimiento de instalación

Sigo procedimiento de aquí: https://bitbucket.org/enkiduCoop/letxuga

1. Creo la base e instalo esquema:

createdb letxuga -EUTF8 -Ttemplate_postgis
psql -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql -d letxuga

Me da el siguiente error:

psql:/usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql:15137: \
ERROR:  current transaction is aborted, commands ignored until end of transaction block


Maqueta pdf

Para re maquetar un pdf, es decir, quitar hojas, agregar, cambiar el orden y rotar puede utilizarse el PDF-Shuffler.

En Debian GNU/Linux y similares se instala así:

sudo apt-get install pdfshuffler

Web del programa: http://sourceforge.net/projects/pdfshuffler/

Cómo utilizarlo: http://www.espaciolinux.com/2010/08/pdf-shuffler-elimina-y-anade-paginas-archivos-pdf/


Cómo cambiar metadatos de un PDF

Algo que suele ser necesario, es cambiar los metadatos de un archivo PDF dado que muchas veces se generan en programas que provocan que los PDFs tengan cualquier cosa en sus metadatos y el autor sea: usuario o el título: version43.doc o similar.

Existe una herramienta libre llamada pdftk que puede solucionar el problema.

1. Obtenemos la metadata:

pdftk generaciones\ y\ problematicas.pdf dump_data output reporte.txt

obs: cuidado cuando el nombre de archivo tiene un espacio

2. Editamos reporte.txt con nuestro editor favorito

3. Generamos un nuevo pdf con la metadata corregida

pdftk generaciones\ y\ problematicas.pdf update_info reporte.txt output generaciones_y_problematicas.pdf

obs: aprovechamos a generar un archivo sin espacios en su nombre


Modulos y bloques para instalar en los EVAs

NOTA: en cuanto al asunto de las estadísticas, aquí hay un espacio donde se está comenzando una nueva forma de procesar estadísticas de moodle utilizando R

Bloque graph stats

Se deshabilitó este módulo de la portada de EVA por un tema de consumo de recursos

Este bloque da la posibilidad de ver los usuarios y cursos de toda la plataforma, así como también las conexiones del día.
Puede colocarse el módulo en la portada del sitio.

Se puede descargar el bloque con traducción al español (por Harvert Vanegas) desde el sitio de moodle.

Si el enlace anterior no anduviera, pueden descargarlo desde la sección archivos.

Módulo "Estadísticas en Moodle"

Este módulo permite obtener un resumen con una serie de datos estadísticos. A diferencia del módulo Statistics in Moodle, este muestra información detallada, además de que puede ser utilizado solamente por alguien con perfil de administración en el sitio.

La publicación del módulo original está disponible en sitio de Moodle

Sin embargo lo hemos traducido y le hemos hecho algunos retoques, por lo que pueden descargarlo de este mismo sitio.

En primer lugar genera estadísticas completas de los items que necesitamos de todos los Cursos de una categoría (incluyendo todas las subcategorías). Por lo tanto, bastará con guardar como "solo html" unos 10 o 15 archivos generados por el módulo (con el Statistics original esos datos los generaba curso por curso, por lo tanto se hacia necesario guardar quizás cientos de archivos).

Otra de las mejoras del módulo es que en su portada, discrimina el total de usuarios del Moodle, según forma de autenticación, otro dato que nos interesa relevar.

Módulo original

El comentario de la autora:

Yes, you can translate it and modify the code if you wish.
As you could see, the first part also needed to be changed to count users authenticated by shibboleth
or OpenID, for instance, instead of IMAP or LDAP servers.
Saludos desde Edimburgo y espero que les sea de utilidad.
> Aaricia Thorgalson (aka Mari Cruz García)

Enlace al módulo: http://moodle.org/mod/data/view.php?d=13&rid=1984

Instalación y uso

1. Descomprimir el módulo en la raíz del moodle

2. Setear los dueños adecuados:
sudo chown www-data:root <moodle>/estadisticas

3. Como administrador acceder a http://url-moodle/estadisticas

"Módulo encuesta" o Feedback

Este módulo permite crear encuestas adhoc. Tiene una funcionalidad muy diferente al cuestionario de moodle:

OBS: En español queda traducido como “Módulo Encuesta” y se diferencia de la “Encuesta” prediseñada que trae moodle.

Instalación

Para instalarlo, basta descomprimirlo y colocar la carpeta blocks/feedback en <moodle>/blocks/ y la carpeta mod/feedback en <moodle>/mod/

En el readme lo explica:

To install the package, simply copy it to the root dir of your Moodle
server and uncompress it. Make sure to have a backup of your site's code
if you are woking with a patch that replaces files. Login in to your
site with an administrative account and go to the Notifications page
in the Site administration block to initiate the install/upgrade process.

Moodle1


Moodle2


Optimizar un pdf

Esta es una forma de hacer más pequeños los pdf grandes.

Nota: Estos generalmente son texto que están renderizados como imágenes. Lo mejor sería aplicar OCR.

En linux se hace así:

1. Se abre un terminal: CTRL + t

2. Copiar y pegar el siguiente comando:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=salida.pdf entrada.pdf

Teniendo la precaución de cambiar los nombres entrada.pdf y salida.pdf, dependiendo de las necesidades.

Además la opción -dPDFSETTINGS puede tomar los siguientes valores:

 /screen: (screen-view-only quality, 72 dpi images)
 /ebook: Baja calidad, imagenes de 150 dpi.
 /printer: Alta calidad, imagenes de 300 dpi.
 /prepress: Alta calidad, preservación del color, imagenes de 300 dpi.
 /default: Muy similar al tipo /screen.
Fuentes:

Protocolo de administración


Protocolo de seguridad

Existen numerosas configuraciones a la hora de montar un servidor para un Entorno Virtual de Aprendizaje. Lo que sigue es una guía, no exhaustiva, y propositiva con diversas tácticas que buscan economizar en tiempo y recursos, así como también prevenir posibles pérdidas de datos.

Contraseñas

Es importante aclarar que el tema de las contraseñas es crucial en lo que refiere a la informática. Las contraseñas de los estudiantes que se autentican por el sistema de bedelías (RADIUS), la gestionan ellos mismos por lo que no podemos hacer mucho al respecto. Pero para el caso de administradores, docentes, articuladores, etc., podemos ofrecer algunos consejos útiles desde el DATA.

Lo primero sería utilizar contraseñas largas (no menos de 6 caracteres) que no puedan ser asociadas con su nombre, ni usuario, y en general con ninguna otra información semi-pública. Por ejemplo el nombre de la institución al cual pertenece, el nombre de la calle de su casa, etc.

Preferentemente no utilizar palabras de diccionario y en lugar de esto, utilizar combinaciones de letras mayúsculas, minúsculas, símbolos y números. Sería muy útil inventar alguna regla mnemotécnica para poder recordar la contraseña. También es recomendable no anotar la contraseña en un archivo de texto, por lo que debe ser una contraseña fácil de recordar.

Finalmente y lo más importante de todo: no enviar contraseñas por correo electrónico. Si por algún motivo y alguna urgencia necesita enviar uno, hay herramientas con cierto nivel de seguridad que le permitirían hacerlo como: Privnote

Sistema Operativo

El punto de partida es tener un sistema operativo seguro y robusto en nuestro servidor, para poner en funcionamiento la serie de herramientas que permitirán la creación del Entorno Virtual de Aprendizaje. De ahora en más asumimos que usted trabajará con moodle como LMS (Gestor de contenidos de aprendizaje).

Debido a su seguridad, a su sistema de actualizaciones y a su gran comunidad y por supuesto por ser Software Libre, el DATA recomienda el uso de GNU/Linux - Debian (Web de Debian) como sistema operativo. Existe mucha documentación al respecto y tiene un buen equilibrio entre usabilidad y seguridad. En su defecto, puede elegirse también Ubuntu Server Edition. Recordemos que el 90% de las supercomputadoras utilizan sistemas basados en GNU/Linux, lo que aporta abundantes evidencias a considerarlo un sistema ideal para servidores: http://www.top500.org/stats/list/34/osfam

En cualquiera de los casos, es importante realizar las actualizaciones que el sistema sugiere. Tener un sistema sin actualizar por varias semanas o meses puede generar vulnerabilidades respecto a errores encontrados y corregidos por las comunidades que mantienen dichos sistemas.

Es importante a su vez estar atentos a la cantidad de usuarios que pueden acceder al sistema, así como también los servicios que se ejecutan en el mismo. La política más restrictiva posible es la mejor en estos casos. En el caso de Debian, nadie más que el administrador puede saber la contraseña del superusuario y en el caso de Ubuntu sería importante que solamente el administrador pertenezca al grupo adm que permite escalar a privilegios de superusuario ((En el caso de que el administrador desaparezca, siempre es posible, teniendo acceso físico al mismo, colocar un liveCD y hackear la password del superusuario)).

Asumimos también que usted instalará un servidor web y una base de datos (como MySQL o PostgreSQL) así como también php, ya que son los requisitos sobre los que trabajará moodle. Sobre esta serie de programas hay muchas recomendaciones posibles pero excede los alcances de este trabajo.

display_errors de php

Moodle nos avisa que debemos deshabilitar la directiva display_errors, como forma de evitar revelar información sensible del sistema. Por otro lado, el propio php nos advierte:

Even when display_errors is on, errors that occur during PHP's startup
sequence are not displayed. It's strongly recommended to keep
display_startup_errors off, except for when debugging.

En el caso de Ubuntu Server o Debian Lenny esta configuración está en /etc/php5/apache2/php.ini

Debe cambiarse la línea:

display_errors = On

por:

display_errors = Off

Finalmente reiniciar el servidor Apache:

sudo /etc/init.d/apache2 restart

Sincronización del reloj

Tanto por un tema de seguridad como de usabilidad, suele ser necesario sincronizar los relojes de los servidores, utilizando el protocolo NTP (http://es.wikipedia.org/wiki/Network_Time_Protocol). Esto evita la problemática de las diferencias en minutos del reloj del servidor con los de los usuarios.

La de-sincronización de relojes puede llevar a problemas a la hora de colocar los límites de entrega de trabajos, por ello el DATA recomienda utilizar herramientas como ntpd y ntpdate. En algún caso será necesario el ajuste de la configuración del Firewall.

Red

Para evitar posibles intromisiones en nuestro servidor, es necesario - además de restringir los servicios que corren - utilizar algún cortafuegos firewall . El data recomienda la utilización de NetFilter/iptables. En particular utilizar el software de generación de reglas Firewall Builder. FIXME: enlace

En este sentido, se recomienda abrir solamente los puertos 80 y el 443 para web, y en la medida de lo necesario algún puerto para administración remota. Al respecto es aconsejable utilizar openssh-server en un puerto diferente al 22 digamos x y abrir puerto x con las reglas mencionadas anteriormente (Donde x puede variar entre 1025 y 65535). Esto hace un poquito más dificultoso el escaneo de puertos y los intentos de hackeo.

Moodle

A nivel de Moodle el DATA recomienda la suscripción a sus avisos de seguridad y mantenerlo actualizado en la medida de lo posible. Pensamos que una instalación manual en este caso es lo recomendable ya que los repositorios Debian/Ubuntu no siempre tienen la versión más actualizada.

Si se instala manualmente hay que tener la precaución de desinstalar previamente la versión de los repositorios o de lo contrario bloquear la actualización. Una actualización automática (desde los repositorios) sobre una manual puede causar un problema importante.

Habría muchas recomendaciones al respecto, pero queremos hacer énfasis en la cantidad de usuarios con roles definidos globalmente. Aquí también la opción más restrictiva es la mejor. En este sentido, el DATA recomienda que haya un solo usuario con roles de administración global; en todo caso la administración de categorías y cursos puede realizarse otorgando privilegios de administración a nivel de categoría.

También aquí se hace necesario remarcar la cuestión de las contraseñas. La contraseña del administrador de moodle es otra de las cosas que debemos cuidar con mayor atención. Cuanto menos personas la conozcan mejor.

Por último, moodle presenta un resumen de los posibles riesgos de seguridad, accesible en el Menú Administración -> Informes -> Security Overview, o sino en la siguiente url: <url-de-eva>/admin/report/security/index.php

Recuperación de desastres

Este quizás sea uno de los temas centrales en cuanto al manejo de información ajena y producida con mucho esfuerzo y dedicación y de la cual la Universidad de la República es la última responsable. Refiere a realizar duplicados de la información, más conocidos como respaldos, de forma de poder recuperar la información de los usuarios en caso de problemas.

Los problemas pueden ser diversos: desde la rotura de un disco duro, hasta la posibilidad que se estropee una base de datos debido a un corte de luz o incluso un siniestro que deje inutilizable el servidor.

Existe una multiplicidad de estrategias al respecto, pero aquí solo presentaremos alguna que nos parecen las más adecuadas para nuestra universidad. Es así que supondremos que cada servicio tiene su servidor montado físicamente el edificio propio.

Si la computadora fue comprada específicamente para servidor, es muy probable que cuente con sistema de RAID por hardware -- esto es, dos discos duros que tienen en todo momento la misma información. Esto brindará la posibilidad de poner en funcionamiento al servidor casi inmediatamente en caso de rotura del disco duro.

De todos modos aun debemos solucionar dos cosas: (i) por un lado, la posibilidad de acceder a alguna copia pasada de nuestros datos y (ii) la posibilidad de un siniestro que deje disfuncional a ambos discos duros.

Se proponen 2 soluciones para atacar a los problemas (i) y (ii):

En ambos casos, puede utilizarse el programa BackupPc para realizar las copias de seguridad. Este programa guarda mediante enlaces duros, copias de muchos días hacia atrás con un uso mínimo de espacio en disco. Por ejemplo, en el momento de escribir estas líneas el servidor EVA tiene un moodledata de unos 7,7GB y en el servidor de respaldos, hay hechos 5 respaldos completos y 8 incrementales, ocupando un total de 8,4GB en disco duro. Tenemos respaldos de 40, 26, 19, 12 y menos días de antigüedad; los de la última semana los tenemos todos. ¡Y solamente en 8,4GB!

FIXME: imagen de backuppc

De todos modos, es importante aclarar que existen otras alternativas libres como backup-manager, backula, etc. Hay una lista interesante de programas de respaldos aqui

Monitorización

La idea de este apartado es recomendar una forma de monitorear externamente nuestro servidor, y así acceder al estado general del sistema: uso de ram, de procesador, cantidad de procesos, tráfico de red, etc, etc.. Para ello es recomendable utilizar otra computadora que puede ser la misma que usamos para respaldos donde se instalará alguna de las alternativas libres para ello.

Existen varias posibilidades: FIXME:agregar enlaces

Esta última es la recomendable, pues la hemos instalado y nos ha dado buenos resultados. Puede instalarse por los repositorios Debian/Ubuntu. Su página web es esta: http://www.zabbix.com

FIXME: imagen de zabbix.jpg

Desde el DATA podríamos llegar a acordar con cada servicio la posibilidad de utilizar el servidor de monitorización que tenemos configurado. Para ello se requeriría la apertura de 2 puertos y la instalación de un pequeño programa disponible en los repositorios Debian y Ubuntu.

Bibliografía


Protocolo de usabilidad


Protocolos


Recordatorio

Estimadas y estimados,

Les recordamos que mañana miércoles realizaremos una reunión de trabajo de los administradores y articuladores que participan de una u otra forma de la red de servidores EVA.

Para la misma, proponemos la siguiente agenda:

Esperamos vuestros aportes, propuestas y sobre todo, vuestra mirada crítica para construir entre todos y todas una red más segura, eficiente y amigable.


Reuniones


Algunas tareas de mantenimiento

Espacio en disco

Ver archivos más grandes de 100 MB en moodledata

find /var/lib/moodle -size +100M | xargs ls -lh

Ver de respaldo mayores de 20 MB en moodledata

find /var/lib/moodle -name *copia_de_seguridad* -size +20M | xargs ls -lh

Ver de respaldo mayores de 20 MB en moodledata pero del año 2009

find /var/lib/moodle -name *copia_de_seguridad* -size +20M | xargs ls -lh | grep 2009

Todas las copias de seguridad del 2009 y sacar un resumen del total de bytes que ocupan:

find /var/lib/moodle -name *copia_de_seguridad*2009* | xargs du -b 2>/dev/null | awk '{total += $1; print $0} END{print total}'

Mover las copias de seguridad a una carpeta dada:

find /var/lib/moodle -name *copia_de_seguridad*2009* -exec sudo mv '{}' respaldos-cursos-eva-2009 \;


Virtualbox

Línea de comandos

Crear un disco

VBoxManage createhd --filename /media/disco2/disco.vdi --size 80000 --variant Standard

Crear máquina virtual

VBoxManage createvm --name maqvirtual --ostype Debian --register --uuid 51726333-aa49-464f-9281-dc2af3aed981

(el uuid lo da el paso anterior)

Modificar la memoria RAM, para que tenga 1GB:

VBoxManage modifyvm maqvirtual --memory 1024

FIXME: habilitar el disco duro

USB

Habilitar usb:

VBoxManage modifyvm maqvirtual --usb on --usbehci on

DVD

Listo los dvd:

BoxManage list hostdvds


Wiki de la Red EVA

Protocolos

Versiones anteriores:

Moodle2

Moodle 1.9.x

Laboratorio de software

Eventos

Estadísticas

Aquí hay un espacio donde se está comenzando una nueva forma de procesar estadísticas de moodle utilizando R

Finalmente coloco el script aquí: estadisticas-moodle-con-r