-
Notifications
You must be signed in to change notification settings - Fork 9
oldDolly
Hay muchas materias que son exactamente la misma, mismos docentes, mismo horario, mismo todo, pero poseen códigos y hasta nombres distintos. Para poder agruparlas, hay una array de reemplazos en el archivo data/equivalencias.json
listadas de la forma [ [7533, 7543, 9560],[7541, 9515], ... ]
. Cada elemento de ese array es un grupo de materias equivalentes.
La funcion Equivalency.getEquivalent() @ js/equivalence.js
se encarga de resolver dicho dilema.
Si la materia no posee equivalencias listadas, devuelve el mismo valor.
En caso de pertenecer a algún grupo de equivalencias, devuelve el elemento 0.
** Es importante no alterar el orden del json de equivalencias **
Al completar una encuesta, el desplegable muestra todas las materias con sus equivalentes por separado (ya que un usuario no necesita saber que internamente el programa hace esta crotada o que su materia tiene otros códigos). Sin embargo, al enviar la encuesta, ésta no se almacena con el nombre original de la materia elegida. Por ejemplo, al completar una encuesta de la materia 8601 el código se lo pasa por getEquivalent y se registrará internamente como 6601. Todo esto ocurre a espaldas del usuario.
Al ver los resultados de una materia, el desplegable muestra todas las materias por la misma razón que arriba, pero se el parámetro recibido se pasa por getEquivalent previamente. Es decir: al entrar a resultados?mat=8601
el programa busca los resultados de la materia 6601.
Si un día nos enteramos que la materia X y la materia Y son efectivamente las mismas, se pueden mergear en la db con el siguiente procedimiento:
- Hacer una copia de seguridad antes de tocar cosas en el server
- Agregar el array [X, Y] al archivo
data/equivalencias.json
- Abrir la página
update_equivalencies.html
y ejecutar en consola lo que dice. - Copiar el texto mostrado a un archivo txt y subirlo al server. Ojo! no el HTML, sino lo que muestra el navegador. En lugar de hacer la operación a mano puede renombrar gente.txt y enviar
$('body').text()
al server mediante la funcionalidad usual para que lo apendeé al csv (vaciado anteriormente). Recuerde no renombrargente.txt
antes de llamar a la función en el navegador (o pase como parámetro el archivo renombrado). - Correr el análisis de datos con
bash analitics/analisis.sh
[sic]. Si todo fue bien puede verlo en el log. - Verificar que todo funcione, recuerde actualizar la caché.