Monitoreo de cursos e-learning.
Breves:
Como comunicar el inicio y el fin de una sesión a SENCE
Antes de explicar este procedimiento, es importante señalar muy brevemente que es un LMSLearning Management System (LMS) : Herramienta de gestión y de distribución de la formación en línea.
El objetivo primario de un LMS es administrar a los estudiantes, siguiendo su progreso
y su rendimiento para cualquier categoría de actividad de enseñanza electrónica.
Las soluciones LMS también se focalizan en elementos tales como el catálogo, la
matrícula, etc.
También se concentran en la administración de la formación y la gestión de la
logística de las aulas de formación.
Generalmente, los productos LMS incluyen funcionalidades tales como :
El inicio y fin de una sesión, pasa a ser entonces, una nueva funcionalidad que debe
tener incluida un LMS y su objetivo es comunicar que un alumno ingresó o salió del
curso, efectuando esta comunicación al al Webservice de SENCE.
Esta comunicación debe ir acompañada de los siguientes parámetros:
curso: Corresponde al código SENCE.
rut: Rut del alumno.
passwd: Contraseña del Organismo Capacitador (no la del alumno).
Nota: La contraseña corresponde a la que SENCE entrega a los Organismos
Técnicos cuando estos se adhieren para trabajar vía internet a través del formulario de adhesión.
Por ejemplo, para informar el inicio de una sesión, o que un alumno acaba de ingresar
a un curso, se debe realizar la siguiente llamada:
http://notificaciones.sence.cl/inicio_sesion?rut=1-9&passwd=3046&curso=1234666943
De la misma forma, para informar el fin de una sesión, se debe realizar la siguiente
llamada:
http://notificaciones.sence.cl/fin_sesion?rut=1-9&passwd=3046&curso=1234666943
En el caso de informar los inicio y fin de sesión de los alumnos, pero fuera de línea, se debe incorporar un parámetro extra en la llamada a la API, el cual corresponde a la fecha y la hora, con el siguiente formato.
Para inicio de sesión:
http://notificaciones.sence.cl/inicio_sesion?rut=1-9&passwd=3046&curso=1234666943&fecha_hora=20/10/2002-17:30
Para fin de sesión:
http://notificaciones.sence.cl/fin_sesion?rut=1-9&passwd=3046&curso=1234666943&fecha_hora=20/10/2002-18:30

Antes y después.
Antes:
Después:
Respuesta de una Comunicación
Al realizar una comunicación de inicio o fin de sesión, el Webservice o API retorna un código que puede ser 400 cuando encuentra un error o 200 en el caso de tener éxito.
Pruebas
Por ejemplo si el carnet de identidad es 1774761-4, las comunicaciones serían de esta forma:
Para informar que el alumno 1774761-4 ingresó al curso es la siguiente:
http://notificaciones.sence.cl/inicio_sesion?rut=1774761-4&passwd=3046&curso=1234666943
Y para informar que el alumno salió del curso es:
http://notificaciones.sence.cl/fin_sesion?rut=1774761-4&passwd=3046&curso=1234666943
Es importante señalar que no todos los LMS tienen la opción
para finalizar sesión o salir del curso, y si la tienen, por lo general los alumnos
cierran el browser.
Para estos casos, el procedimiento es el siguiente:
A diario se corre a las 0 horas 1 minuto (00:01) un proceso que cierra todas
aquellas inicios de sesión que quedaron abiertas, es decir, si un alumno entró a las
17:30 horas y el LMS no envió el fin de su sesión, el proceso lo cierra con 1 horas de
trabajo, es decir a las 18:30 horas.
Ejemplo de programa cliente que
realiza
una comunicación desarrollado en PERL.
#!/usr/bin/perl
use strict;
use HTTP::Response;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new(timeout => 30);
my $url
="http://notificaciones.sence.cl/inicio_sesion?rut=3-5&passwd=3046&curso=1234666943";
my $resp =
$ua->request(HTTP::Request->new('GET', $url));
print $resp->status_line;
Para el ejemplo anterior, la variable $resp es quien tiene el valor de retorno producto de una llamada a la API.
------------------------------------------------------------------------------------------------------------------------
Ejemplo de programa cliente que realiza una comunicación desarrollado en ASP cedido por la empresa Les Halles, Consultores de Empresas.
<% ' Cedido por ::: Les Halles, Consultores de Empresas
:::
RUT="1-9"
myURL =
"http://notificaciones.sence.cl/inicio_sesion?rut="&RUT&"&passwd=3046&curso=1234666943"
Set GetConn = CreateObject("Microsoft.XMLHTTP")
GetConn.Open "get", myURL, False
GetConn.Send
ResponsePage = GetConn.responseText
Response.write ("Status:"& GetConn.Status & " - " &
GetConn.StatusText &"_<br>")
Set GetConn = Nothing
%>
------------------------------------------------------------------------------------------------------------------------
Ejemplo de programa cliente que realiza una comunicación desarrollado en PHP, cedido por el señor Marcelo Castillo Leyton, Programador Jefe Entorno Educativo.
===CODIGO PHP===
<?php
/*
* Codigo para comunicacion con API de cursos e-learning Sence
* Programador : Marcelo Castillo L. <mcl@tics.cl> <mcl@educativo.cl>
* URL : http://www.tics.cl http://www.educativo.cl
* Fecha : 20/07/2003
* Licencia : GNU/GPL (http://www.gnu.org/licenses/gpl.txt)
*/
// Nombre del host a conectar con la API (del Sence)
$host="notificaciones.sence.cl";
$fp=fsockopen($host,80);
// Cambiar los datos correspondientes a RUT, PASSWORD y CURSO, segun
corresponda.
fwrite($fp, "GET /inicio_sesion?rut=1-9&passwd=3046&curso=1234666943
HTTP/1.0\r\n");
fwrite($fp, "Host: $host\r\n\r\n");
while(! feof($fp)) {
// lectura de datos desde el host de la API
$resultado .= fread($fp, 1024);
}
// Cierre de la coneccion con el host
fclose($fp);
//Retencion del codigo
switch (substr(substr($resultado,0,12),9)){
case 400: // Salida Codigo 400
echo "MAL"; // Algo Fallo
break;
case 200: // Salida Codigo 200
echo "BIEN"; // Todo esta OK
break;
}
?>
===CODIGO PHP===
Si usted es un organismo capacitador o empresa asesora, puede coordinar una etapa de testing enviando lo solicitado a: mesadeservicios@sence.cl
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ministerio del Trabajo y Previsión Social