sábado, 10 de septiembre de 2011

Crear un tutorial

Para crear un tutorial o presentación se pueden utilizar recordMyDesktop o Wink[1]. En esta ocación indicaremos cómo instalar Wink en Ubuntu Desktop 10.04 Lucid.

Descargar Wink[2]

mkdir wink
cd wink
wget http://www.digital2b.com/mirror_wink/wink15.tar.gz
tar zxvf wink15.tar.gz
tar zxvf installdata.tar.gz

Ejecutar Wink:
./wink
./wink: error while loading shared libraries: libstdc++.so.5: cannot open shared

Para instalar esa librería, ya que en los repositorios se encuentra libstdc++ versión 6, y no la 5.
Descargar libstdc++5 desde [3]
sudo dpkg -i libstdc++5_3.3.6-21ubuntu1_i386.deb
./wink
./wink: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory

Para subsanar este último inconveniente:
sudo find / -name libexpat.so.*
sudo ln -s /lib/libexpat.so.1.5.2 /usr/lib/libexpat.so.0

Finalmente, ejecutar wink y comenzar a utilizarlo.
./wink


Links

martes, 23 de agosto de 2011

MySQL: Base de Datos con Tabla(s) Corrupta/Inconsistente

Las tres etapas que seguí para hallar el problema de una tabla corrupta, son los siguientes:
  1. Síntomas
  2. Detección
  3. Resolución
La siguiente figura[4] muestra todo el proceso:


Síntomas
  • uso intensivo de la(s) CPU(s),
  • no es posible realizar un backup de una base de datos mediante el comando mysqldump.
  • ningún usuario se puede logear en Moodle, y se muestra el mensaje: "Could not create guest user record !!!"
  • mensaje de error por email:
" Insert into log table failed at Tuesday 06th of September 2011 06:19:40 PM.
It is possible that your disk is full.

The failed SQL is:

INSERT INTO mdl_log (time, userid, course, ip, module, cmid, action, url, info)
VALUES ('1315343980', '31', '0', '190.173.227.212', 'login', '0', 'error', 'index.php', 'usuario') "

En caso de estar corrupta la tabla mdl_users, los síntomas son varios y en alguno cursos puede suceder:
  • Muestra que "no hay Usuarios en línea" ya sea en la portada de Moodle o dentro de los cursos que tengan tal bloque html
  • En el listado de Participantes, no se muestra ninguno (con el filtro de rol: todos).
  • A la hora de agregar manualmente un estudiante, bloque administración del curso -> Asignar roles, no es posible ya que no se puede buscar ni si quiera en los usuarios potenciales.
  • Desaparecen las respuestas en los foros [8].


Resolución
Antes de comenzar con la etapa de Resolución
Ingresar como administrador en Moodle y en el bloque de Administración habilitar el "Modo de mantenimiento" (Servidor -> Modo de mantenimiento).


Opción1: Línea de comandos
El comando "mysqlcheck"[1] trabaja con el motor de base de datos MySql en ejecución. Es decir, NO es necesario detener el servicio de MySql, de hecho debe estar ejecutándose.

Otro modo de resolver este inconveniente
Es utilizar el comando "myisamchk"[2, 3], sin embargo, en esta ocación se requiere detener el servicio de MySql.


Opción2: MySQL Admin/PHPMyAdmin [6, 7]
En la sección de la base de datos, seleccionar la BD de Moodle.
Click el tab SQL, y en "Run SQL query/queries on database moodle" escribir REPAIR TABLE mdl_tablename
Click en el botón Go.
Por ejemplo, para reparar la tabla de logs, escribir REPAIR TABLE mdl_log

De manera similar, para verificar la tabla de logs de Moodle, escribir CHECK TABLE mdl_log.
Ésto nos indicará su estado OK o si algo está mal, por ejemplo, podría decir "Table marked as crashed".



Adicionalmente, si tenemos replicada nuestra base de datos[5], este problema de tabla corrupta detendrá el proceso de sincronización, y requerirá volver a poner a punto la sincronización entre servidores manulamente.


miércoles, 1 de junio de 2011

Editar el Mensaje de Registro de Usuario

En tu plataforma Moodle puedes editar el mensaje de "Registrase como usuario" a conveniencia:


Para ello, debes ir al bloque de Administración->Usuarios->Gestionar Autenticación y en el campo de Instrucciones puedes ingresar el texto más conveniente para tu Moodle.

Allí también, puedes configurar los modos de autenticación de usuarios de Moodle.
Por ejemplo, si tienes habilitado el modo "Autenticación basada en Emal", la plataforma te agregará el botón de "Comience ahora creando una cuenta".

martes, 31 de mayo de 2011

Modificar/Deshabilitar Mensaje de Bienvenida

Cuando un estudiante se auto-matricula en un curso/materia en Moodle, recibe un Mensaje de Bienvenida al Curso.
Ese Mensaje se envía en un mail, que tiene como destinatario el correo del estudiante y como emisor (from/de) el correo del docente a cargo del curso.

Por ejemplo:
"De: Docente a cargo de la materia <correoProfe@com>
Para: Estudiante <correoEstudiante@com>
Enviado: fecha y hora
Asunto: Bienvenido al curso ABC


Bienvenido a ABC

Lo primero que debe hacer es actualizar su información personal: así podremos
saber algo más sobre usted.
No olvide colocar su foto u otra imagen que lo identifique.


(y un link a modificar el perfil de estudiante)
"


Opciones
  • Cambiar el mensaje[1]: para cambiar el contenido del mensaje, ir al bloque de Administración->Idiomas->Edición del Idioma->Editar palabras o frases, seleccionar "moodle.php" y modificar el contenido de la varible $a->coursename!
  • Deshabilitar el menaje de bienvenida[1]: en algunas ocaciones genera confusión este mensaje debido a que el emisor (from/de) del correo es el Docente a cargo del curso y éste mensaje ha sido enviado por la plataforma en forma automática. Para deshabilitarlo en Moodle 1.9.9+, ir al bloque de Administración->Cursos->Matriculaciones y deshabilitar "Enviar mensaje de bienvenida al curso". Para ver cómo se hace en Moodle 2.0 ver el link #1.

Link

miércoles, 18 de mayo de 2011

Cambiar la Clave del Administrador

Para cambiar la clave del administrador lo que vamos a hacer es dejarla sin clave, o más bien, asignarle la clave vacía. Con ello podremos ingresar con el usuario administrador sin clave a nuestra plataforma Moodle y cambiar la clave inmediatamente por seguridad.

En la base de datos que utiliza nuestra plataforma, dentro de la tabla mdl_user modificaremos el campo(columna) password del usuario administrador. Allí pondremos el siguiente valor

d41d8cd98f00b204e9800998ecf8427e

Nota: ese valos se debe a que el campo password almacena la clave codificada con la función md5, por lo que md5(“”)=d41d8cd98f00b204e9800998ecf8427e


Si deseamos asignar directamente una clave, por ejemplo, si la clave es: temp

escribimos sólo la clave en un archivo, y luego con la cantidad de caracteres de la clave calculamos el md5: head -c 4 file.txt | md5sum

La opción "-c 4" indica que sólo calcule md5sum sobre el texto de la clave y no se incluya el fin de línea o sálto de línea.


Este cambio podemos hacerlo accediendo a la base de datos a través de

  1. phpMyAdmin via web, NO seleccionar MD5 al momento de asignar el valor vacío al usuario administrador.
  2. accediendo al servidor remotamente por SSH y en línea de comandos ejecutar:

    mysql -uroot -p xxxxx

    update moodle19.mdl_user set password='d41d8cd98f00b204e9800998ecf8427e' where username='admin';
    (En este ejemplo, moodle19 es el nombre de nuestra base de datos).
  3. Finalmente, colocar una clave en el bloque de administración->Usuarios->Cuentas->Hojear lista de usuarios y editar el perfil del usuario admin.

Links

miércoles, 2 de marzo de 2011

Poner un curso en diferentes categorías

En Moodle resulta útil organizar los cursos por categorías. Sin embargo, en ocasiones se requiere colocar una única instancia de un curso en diferentes categorías.
Es decir, que una única instancia de un curso se encuentre disponible en categorías diferentes, por ejemplo:
Categoría 1 -> Curso A
Categoría 2 -> Curso A

Aclaración: el "Curso A" es exactamente el mismo en la Categoría 1 y 2, donde contiene los mismos docentes, estudiantes, actividades, foros, etc.

Una de las limitaciones de Moodle[1, 3] es que podemos poner un curso en sólo una categoría. Sin embargo, existen algunas opciones:
  1. Se puede crear un curso en una categoría, duplicarlo, y subir la copia dentro de otra categoría. Esta opción tiene la desventaja de requerir que se administren dos cursos separados. Los estudiantes podrían confundirse en el curso que están inscriptos.
  2. Se puede crear un curso en una categoría, y entonces crear un curso con el mismo nombre en la segunda categoría. Sin embargo, se pondrá una única cosa en el segundo curso: un enlace al verdadero curso con el que el usuario podrá dirigirse al verdadero curso.
  3. Se puede crear un curso en una categoría, y entonces crear un curso con el mismo nombre en la segunda categoría. En lugar de que el usuario se rediriga manulamente del segundo curso al verdadero curso en otra categoría, lo que haremos es que la redirección[2] sea realizada en forma automática y transparente al usuario por el Servidor Apache.
Este última opción es la que trataremos en cómo llevar adelante.

Al momento de crear cada curso Moodle le asigna un único identificador al mismo. Por ejemplo:

Categoría 1 -> Curso A
equivale al enlace http://myMoodleSite/course/view.php?id=278

Categoría 2 -> Curso A
equivale al enlace http://myMoodleSite/course/view.php?id=727

Sea el primer enlace el que conduce hacia el verdadero curso, es decir
http://myMoodleSite/course/view.php?id=278.

Entonces cuando sea soliticado el enlace http://myMoodleSite/course/view.php?id=727 deberemos redireccionarlo hacia el primero. Esto lo haremos desde el Servidor Apache.

En el archivo de configuración (/etc/httpd/conf/httpd.conf) de Apache donde tengamos definido nuestro Virtual Host podremos indicar este redireccionamiento:

...
RewriteEngine on
AllowOverride All
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} ^/course/view.php$
RewriteCond %{QUERY_STRING} ^id=727$
RewriteRule ^.*$ http://myMoodleSite/course/view.php?id=278 [L,R=301]
...


De esta manera podremos tener una serie de reglas que redirigan de forma automática y transparente al usuario al verdadero curso.
Las reglas de rescritura responden a un orden de prioridad, y una vez que se cumple la primera con la opción L se le indica que no continúe verificando el listado.


Nota: también es posible ubicar estas redirecciones en el archivo .htaccess

Enlaces:
  1. http://moodle.org/mod/forum/discuss.php?d=169925#p745499
  2. http://stackoverflow.com/questions/1260632/apache-redirect-301-fails-when-using-get-parameters-such-as-blah
  3. Libro: Moodle - Elearning Course Development - (sección) Putting a Course into Several Categories.