Está en la página 1de 16

Adobe Connect Attendance

Checker
Software Informtico
Descripcin del desarrollo y funcionamiento del
software Adobe Connect Attendance Checker. El
objetivo de este software es disponer de un analizador
de los ficheros TSV que genera esta plataforma para
analizar de forma rpida la asistencia de alumnos a las
clases impartidas por este medio.
Alejandro Rodrguez Gonzlez
25/11/2014

Contenido
Introduccin .................................................................................................................................. 2
Caractersticas tcnicas ................................................................................................................. 3
Detalles de implementacin ......................................................................................................... 4
TSV Loader................................................................................................................................. 4
Class Manager ........................................................................................................................... 5
Interfaz grfica .......................................................................................................................... 6
Lgica general ........................................................................................................................... 7
Tutorial de funcionamiento .......................................................................................................... 8
Ms informacin ......................................................................................................................... 15

Introduccin
Adobe Connect Attendance Checker (AC2) es un software que tiene como objetivo ofrecer una
interfaz grfica que permita el anlisis del contenido de los ficheros CSV que la plataforma
Adobe Connect1 genera cuando los alumnos se conectan a sta. Estos ficheros contienen
informacin sobre las diferentes sesiones a las que los diferentes alumnos se han conectado
as como el tiempo de conexin.
El anlisis de estos ficheros de forma manual para garantizar que un determinado alumno ha
asistido a la clase es una tarea muy tediosa si se debe hacer desde la interfaz grfica que
ofrece la web de Adobe Connect, y mucho ms si se tuviera que analizar el TSV de forma
manual, algo que hace casi imposible su anlisis cuando el nmero de sesiones y alumnos es
muy alto.
De esta forma AC2 permite introducir una serie de parmetros bsicos como identificacin de
clases mediante su horario (y por ende calculando automticamente su duracin) y duracin
mnima de la clase a la que el alumno debe haber asistido para que se considere su asistencia
como vlida (en porcentaje de duracin) para calcular por lo tanto que alumnos han pasado y
cules no.
El programa permite adems poder seleccionar las clases de forma individual para mostrar
todos los alumnos y sus tiempos de conexin, pero tambin permite filtrar por todas las clases
o por los alumnos que han pasado (cumplido el tiempo mnimo de permanencia en la clase)
o no.
Finalmente, el software permite exportar los datos en Excel, haciendo muy fcil de visualizar
los datos completos analizados y procesados por la interfaz de AC2.

http://www.adobe.com/es/products/adobeconnect.html

Caractersticas tcnicas
AC2 ha sido desarrollado ntegramente en lenguaje de programacin Java. Adems del cdigo
base de la lgica del programa, que ha sido utilizando las propias libreras nativas de Java, se
han utilizado las siguientes APIs externas:

SWT (Standard Widget Toolkit2): Se ha utilizado la API de SWT para proporcionar la


interfaz grfica. SWT tiene diferentes libreras segn el sistema operativo sobre el que
se ejecute el programa que hace uso de esta API, con lo que es necesario tener
diferentes versiones para los diferentes sistemas operativos o arquitecturas (32 o 64
bits).
Java Excel API3: Se ha utilizado esta librera para proporcionar la funcionalidad de
volcado de datos a ficheros Excel.

AC2 puede ser ejecutado por lo tanto en cualquier mquina que disponga de una mquina
virtual de Java compatible con el cdigo generado. Se recomienda una JDK v7 o superior,
aunque es posible que la ejecucin sea fructfera en otras versiones anteriores de la JDK.

2
3

https://www.eclipse.org/swt/
http://jexcelapi.sourceforge.net/

Detalles de implementacin
AC2 est diseado con una serie de mdulos que se detallan a continuacin para explicar la
funcionalidad individual de cada mdulo y que de forma conjunta da lugar al programa en su
totalidad.

TSV Loader
Tal y como se indica en la introduccin el objetivo de AC2 es poder analizar y procesar de forma
sencilla los ficheros TSV generados por Adobe Connect. Estos ficheros tienen una serie de
campos delimitados por tabuladores, que se indican a continuacin:

transcript-id
asset-id
sco-id
principal-id
login
session-name
sco-name
date-created
date-end
participant-name
answered-survey

Los campos marcados en negrita son los que en realidad interesan para el propsito de la
funcionalidad del programa, pudiendo incluso descartarse session-name o participant-name
(pero no ambos). La posibilidad de descarte se debe a que ambos proporcionan informacin
sobre el alumno/participante en la sesin (su nombre), siendo redundante el procesamiento
de ambos.
El software lee todas las lneas del fichero TSV separando los diferentes campos y quedndose
con aquellos relevantes. Como cada lnea contiene una hora de comienzo (date-created) y
hora de final (date-end), cada una de las lneas se considera internamente lo que se llama un
registro (Registry). Se procesan por lo tanto dos tipos de datos:

Estudiantes: Cada estudiante puede aparecer mltiples veces en un fichero. Sin


embargo, se genera un nico objeto de tipo Student para todo el fichero,
independientemente de las veces que aparezca.
Registros: Existen tantos registros como lneas contiene el fichero (excepto la primera,
que es la cabecera que indica los campos del fichero). Se crea por lo tanto un registro
por cada lnea vlida.

Cada registro ha de ser asignado a un estudiante. Como al cargar el registro se sabe a qu


estudiante pertenece, cada registro es asociado al estudiante que corresponda.

Class Manager
Como el objetivo de AC2 es poder determinar si un determinado alumno ha acudido a una
determinada clase es necesario crear un gestor de clases. El gestor de clases se encarga de
guardar una serie de datos bsicos sobre la clase:

Fecha de la clase: Fecha en la que se imparti la clase.


Hora de comienzo: Hora a la que empez la clase.
Duracin: Duracin de la clase en minutos.

Cada vez que una clase es generada se guarda en memoria en objetos de tipo StudentClass. En
caso de que el usuario quiera serializar las clases para poder procesar ms adelante, con las
mismas clases, el nuevo fichero TSV, puede hacerlo. Los ficheros se guardarn en archivos
planos de texto con la extensin que el usuario indique (por defecto .cls). El formato de este
tipo de ficheros es el llamado fichero de configuracin o fichero .properties4.
Las claves dentro de este fichero son las siguientes:

CLASSES: Esta clave contiene identificadores numricos para las diferentes clases que
hay separados por comas. El identificador ser sustituido en las diferentes y siguientes
claves por <ID>.
CLASS_<ID>_DAY: Hace referencia al da de la clase.
CLASS_<ID>_MONTH: Hace referencia al mes de la clase.
CLASS_<ID>_YEAR: Hace referencia al ao de la clase.
CLASS_<ID>_HOUR_START: Hace referencia a la hora de comienzo de la clase.
CLASS_<ID>_MINUTE_START: Hace referencia al minuto de comienzo de la clase.
CLASS_<ID>_SECOND_START: Hace referencia al segundo de comienzo de la clase.
CLASS_<ID>_DURATION: Hace referencia a la duracin de la clase (en minutos).

Adems de estos valores, que son los que introduce el usuario (excepto CLASSES), se auto
generan las siguientes claves calculando la hora de finalizacin en funcin de la hora de
comienzo y duracin:

CLASS_<ID>_HOUR_END: Hace referencia a la hora de fin de la clase.


CLASS_<ID>_MINUTE_END: Hace referencia al minuto de fin de la clase.
CLASS_<ID>_SECOND_END: Hace referencia al segundo de fin de la clase.

http://en.wikipedia.org/wiki/.properties

Interfaz grfica
La interfaz grfica hace referencia a una serie de clases que ofrecen la funcionalidad y
apariencia visual de AC2. Entre estas clases encontramos las siguientes, todas ellas dentro del
paquete de cdigo com.alejandrorg.ac2.gui:

AboutDialog: Contiene un cuadro de tipo Acerca De mostrando informacin sobre el


autor.
ClassEditor: Es el editor que permite aadir nuevas clases.
ShowMessage: Clase para la gestin de mensajes de la interfaz.
StudentInfo: Muestra informacin sobre un estudiante y sus clases.
MainGUI: Es la interfaz principal.

La interfaz grfica se comunica en todo momento con el resto de mdulos del programa a
travs del paso de objetos que representan la lgica del programa u otros objetos auxiliares
para el funcionamiento de ste.

Lgica general
Para el funcionamiento general del programa es necesario matizar una serie de aspectos
acerca de los datos que el mismo carga, dejando bien claro los roles de cada uno as como las
modificaciones u operaciones que se realizan sobre estos. Fundamentalmente, tenemos tres
tipos de datos:

Estudiantes: Son obtenidos a partir del fichero TSV y son nicos (no puede haber
estudiantes duplicados).
Registros: Son los registros de conexin y siempre estn asociados a un estudiante (en
realidad se asocian a un usuario, ya que Adobe Connect no permite saber el rol del
participante, pero se asume que todos son estudiantes). Esta informacin tambin
procede del fichero TSV.
Clases: Son las clases que el profesor ha impartido y en las que quiere que se
evale/analice la asistencia del alumno. Deben ser introducidas manualmente por el
usuario que maneje AC2 debido a que aunque se podran tratar de extrapolar del
fichero TSV puede que no todos los registros sean interesantes o tiles para el
docente.

Adems de estos datos, el usuario que maneje AC2 debe proporcionar un dato fundamental:
porcentaje de asistencia. El porcentaje de asistencia establece el tiempo (en porcentaje) que
un estudiante tuvo que estar dentro de la clase para que se considere como vlida dicha
asistencia. El tiempo de cada clase ha sido previamente introducido (ver Class Manager), y el
hecho de que un alumno apruebe la asistencia ser algo que se calcule en funcin de la
duracin de la clase, el tiempo de asistencia a sta que los registros proporcionen y el
porcentaje mnimo que se establezca que se necesite.
En este contexto es importante destacar que la plataforma de Adobe Connect puede
proporcionar varios registros para un mismo alumno en una misma clase. Esto puede deberse
a desconexiones puntuales por diferentes motivos. Sea como sea, es muy habitual esta
situacin en la que para una clase concreta hay varios registros de conexin.
En este contexto, el programa obtiene todos aquellos registros que son vlidos, dndose
mltiples situaciones (conectado antes de la clase pero desconectado tras empezar; conectado
antes y desconectado tras acabar; conectado tras empezar y desconectado tras acabar;
conectado tras empezar y desconectado antes de acabar). En funcin de esos registros que son
vlidos para el cmputo, se calcula el tiempo de los intervalos que son vlidos y se suman para
obtener el tiempo de conexin total del alumno durante la clase. Si ese tiempo de conexin es
mayor o igual que el correspondiente al porcentaje establecido para esa clase, se asume que el
alumno ha estado el tiempo necesario y por ende tiene aprobada la asistencia.
A nivel de implementacin esto se realiza mediante mltiples algoritmos disponibles en las
diferentes clases que manejan el programa siendo la clase gestora de la funcionalidad general
y como motor bsico del programa la clase LogicAC2.

Tutorial de funcionamiento
En las siguientes pginas se ofrece un tutorial bsico de funcionamiento mediante capturas de
pantalla, si bien existe disponible un vdeo5 en YouTube con explicacin del funcionamiento del
software.
En primer lugar se muestra la interfaz principal del programa nada ms ser ejecutado:

En la parte superior, dentro del grupo Source file es posible presionar el botn Browse para
abrir un cuadro de dilogo que nos permita seleccionar el fichero TSV que contiene los
registros de Adobe Connect.
La siguiente imagen muestra este dilogo en una carpeta que contiene el fichero que vamos a
procesar. Por defecto el software trata de buscar los ficheros con formato .TSV (en realidad
Adobe Connect devuelve un fichero .csv a pesar de tratarse de un .tsv). En este sentido, es
5

https://www.youtube.com/watch?v=Wd6a8Z6pcOM

posible seleccionar cualquier formato de fichero (*.*) en la parte donde se establece la


extensin (parte inferior derecha).

Una vez seleccionado el fichero, este simplemente es actualizado en el campo de texto que
corresponde al nombre del fichero. Para poder tener disponible el botn Process que se
encuentra en la interfaz en la parte inferior derecha es necesario crear clases.
Para crear clases, en la parte media de la interfaz tenemos el grupo Classes. En este grupo,
en el margen derecho tenemos 4 botones:

La funcionalidad de estos botones es la siguiente:

[+]: Permite aadir una nueva clase. Se abrir el dilogo correspondiente.


[-]: Se activar al seleccionar alguna clase cuando tengamos clases y permite borrarla.
[L]: Permite cargar las clases desde un fichero externo.
[S]: Permite guardar las clases que tenemos actualmente en memoria en un fichero. Se
activar cuando tengamos clases.

De esta forma, vamos a mostrar como agregar una clase. Para el funcionamiento correcto del
ejemplo se aadirn adems otras clases adicionales.
Para aadir una clase, presionamos el botn [+], abrindose el siguiente dilogo:

En este dilogo debemos poner, de la clase, la fecha (Date), hora de comienzo (Start Hour) y
duracin en minutos (Class Duration). Veremos como la hora de finalizacin se actualizar de
forma automtica. Al presionar el botn Add Class se aadir la clase y se actualizar la
interfaz principal con la clase. Si quisiramos cerrar ese dilogo podemos simplemente
presionar la tecla ESC para salir sin hacer cambios.
Por ejemplo, si aadimos una clase con fecha 22 de Octubre de 2014, con comienzo a las 11:00
y duracin de 90 minutos, en la interfaz principal, en el grupo de Classes veremos lo siguiente:

El ID es aadido automticamente por el software para identificar las clases.


Tras aadir una serie de clases adicionales de tal forma que podamos mostrar de forma ms
fehaciente la funcionalidad, en nuestro caso, tenemos las siguientes clases:

Tras aadir estas clases y ya que hemos cargado el fichero TSV veremos cmo se habr
activado el botn Process, que nos permitir procesar los datos y calcular los resultados.

Por otra parte, tenemos activado ya el botn [S] que nos permitir guardar en un fichero
externo las clases.
Ya antes de procesar, para finalizar la configuracin debemos establecer el ltimo parmetro:
porcentaje de asistencia. El porcentaje de asistencia se encuentra justo encima del grupo
Classes dentro del grupo Parameters. Es un Spinner que permite meter valores entre 0 y
100. Actualmente, lo dejaremos en el valor por defecto (50) tal y como indica la siguiente
figura, que ya muestra toda la interfaz tal y como est justo antes de poder ser procesados los
datos.

Una vez estn todos los parmetros seleccionados y todos los datos/ficheros cargados
podemos presionar el botn Process. Este botn cargar todos los registros vlidos y mostrar
al finalizar un resumen:

Como se observa en la imagen el resumen proporciona informacin sobre el nmero de


registros procesados as como los estudiantes.
Una vez el proceso ha finalizado automticamente dos opciones nuevas de la interfaz pasarn
a tener campos dentro del grupo Results.
En primer lugar tenemos el combo Class to show. Este combo ser rellenado
automticamente con las clases que nosotros definimos, del tal forma que podamos
seleccionar una clase determinada para que se muestren resultados sobre dicha clase tal y
como muestra la imagen:

Una vez seleccionada una de las clases se cargarn automticamente los datos en la tabla, tal y
como muestra la siguiente imagen:

En este caso se muestran los datos para la clase 2. En la parte inferior se pueden observar el
nmero mnimo de segundos que se necesitan para que la conexin/permanencia en la clase
se considere como vlida. Es importante destacar y recordar que el nmero de segundos
puede variar segn la clase ya que se rige por un porcentaje pero la duracin de las clases

puede ser diferente. As mismo se muestra el nmero de alumnos correspondientes a dicha


clase segn el tipo de filtrado escogido (ver siguiente prrafo).
El segundo parmetro de filtrado es Results to show que nos permite escoger entre tres
opciones: Todos los estudiantes (la actual), estudiantes que han pasado y estudiantes que no
han pasado. Si por ejemplo filtramos la clase actual por estudiantes que han pasado,
obtenemos este resultado:

Aqu ya podemos observar que el nmero de alumnos que han pasado es menor (6). De igual
forma podramos seleccionar los que no han pasado:

De igual forma, estas imgenes nos permiten comprobar que el nmero total de alumnos (71)
es la suma de los que han pasado (6) y los que no han pasado (65).
Por otra parte, si hacemos doble click sobre un estudiante concreto se nos abre un cuadro con
informacin que nos indica los diferentes registros que se tuvieron en cuenta para calcular si el
estudiante ha estado en clase el tiempo suficiente o no. En el caso de los estudiantes que

pasaron, si hacemos clic sobre la alumna Laura Arua Ochoa obtenemos el siguiente cuadro
de informacin:

Ah vemos los diferentes registros que corresponden a la alumna en varios das, marcando
como no validos aquellos que no se pudieran usar en el cmputo de la clase concreta que
estaba seleccionada cuando se ha pedido obtener informacin del alumno. Tngase en cuenta
que este cuadro muestra todos los registros, pero solo marca como vlidos aquellos que son
vlidos para la clase en cuestin.
Finalmente, tenemos la opcin del botn Export que nos pedir el nombre del fichero Excel
donde queremos guardar los resultados. Una vez guardamos, podremos observar el contenido
del fichero Excel.
El contenido de este fichero (una muestra) se puede observar en la siguiente imagen:

De esta forma, con este fichero, podemos, para un alumno determinado (aparecen ordenados
por orden alfabtico), saber que clases ha superado.

Ms informacin
Para ms informacin sobre el software y su posible uso contactar con:
Dr. Alejandro Rodrguez Gonzlez [alejandro@alejandrorg.com]
Nota: Todos los datos usados no pertenecen a alumnos reales si no que se han modificado
para esta documentacin.

También podría gustarte