Menu

Tree [e9f5bd] master /
 History

HTTPS access


File Date Author Commit
 nbproject 2017-07-27 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [5d9f42] ajuste de configuracion de base de datos. junit...
 sample-evaluaciones 2017-07-25 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [d2f665] Version estable
 sql 2017-07-25 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [d2f665] Version estable
 src 2017-08-01 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [e9f5bd] Se mejora DatabaseConnectionFacctory para hacer...
 test 2017-07-27 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [5d9f42] ajuste de configuracion de base de datos. junit...
 web 2017-07-31 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [7cabe6] Se agrega ErrorController. Mejoras generales y ...
 .gitignore 2017-07-31 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [78bc3c] Ajustes de las secciones 2 y 3 para tener las 5...
 LICENSE 2017-07-25 David Rengifo David Rengifo [4699a4] Initial commit
 README.md 2017-07-31 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [912a2e] Correciones menores en documentacion
 _config.yml 2017-07-25 David Rengifo David Rengifo [489122] Set theme jekyll-theme-architect
 build.gradle 2017-07-31 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [16066e] Se corrige la construccion del war
 build.xml 2017-07-25 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [d2f665] Version estable
 gradle.properties 2017-07-25 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [d2f665] Version estable
 settings.gradle 2017-07-25 David Alexander Rengifo Rodriguez David Alexander Rengifo Rodriguez [d2f665] Version estable

Read Me

Evaluacion5

Sistema Básico de Evaluación

Basado en algunos ejercicios del sitio de capacitación en línea edureka! he desarrollado una aplicación que funciona como un sistema muy básico de evaluación.

El objetivo, más allá del sentido académico, era satisfacer una necesidad especifica de un órgano gubernamental que hasta el presente ha carecido por completo de apoyo y guía apropiada en lo que respecta al área de sistemas.

Las principales limitantes que he tenido que afrontar en esta labor (la mayoría insustentables) han sido:
- Utilizar Netbeans como IDE.
- Desplegar sobre el servidor de aplicaciones Glassfish.
- Utilizar una versión no actualizada de MySQL.

Requisitos:

  • Crear la base de datos.
  • Cargar los exámenes en el catalogo.
  • Configurar el acceso a la base de datos.
  • Colocar los archivos .xml correspondiente a la primera sección de los exámenes.
  • Editar el archivo exam2.jsp correspondiente a la segunda sección (Preguntas de Ordenamiento y Relación) de los exámenes.
  • Editar el archivo exam3.jsp correspondiente a la tercera sección (Preguntas Abiertas) de los exámenes.

Creando la base de datos

Uno de los prerequisitos para el funcionamiento de la aplicación es la creación de la base de datos
Hay que ejecutar el script "create_table.sql" localizado en la carpeta "sql" del proyecto.

Verificando catalogo de examenes

Otro de los prerequisitos para el funcionamiento de la aplicación es la carga del catalogo de examenes.
En el script "create_table.sql" localizado en la carpeta "sql" del proyecto contamos con un ejemplo para realizar dicha tarea.
Para verificar que el catalogo se encuentra cargado podemos realizar una consulta sobre la tabla "quiz.examenes".

SELECT * FROM quiz.examenes;

NOTA: Los nombres de los exámenes deben corresponderse con los nombres (sin sufijo) de los xml.

Configurando el acceso a la base de datos

Para configurar el acceso a la base de datos debemos editar el archivo "dbConnection.properties",
originalmente ubicado en WEB-INF pero que puede ubicarse en alguna ruta externa al proyecto,
y colocar los datos apropiados:

  • jdbc.driver=com.mysql.jdbc.Driver
  • jdbc.server=****
  • jdbc.port=****
  • jdbc.schema=quiz
  • jdbc.username=****
  • jdbc.password=****
  • jdbc.useUnicode=true
  • jdbc.useJDBCCompliantTimezoneShift=true
  • jdbc.useLegacyDatetimeCode=false
  • jdbc.serverTimezone=UTC

Verificando el acceso a la base de datos

Para comprobar que hayamos configurado apropiadamente el acceso a la base de datos contamos con un JUnit
DatabaseConnectionFactoryTest. Al ejecutarlo debería de ejecutar satisfactoriamente.

Archivos de examenes

Para el funcionamiento de la aplicacion debemos preparar los archivos de exámenes (XML) y colocarlos en la ruta definida en la clase mx.rengifo.evaluacion.util.Constante.
En la carpeta sample-evaluaciones se incluyen algunos archivos que pueden utilizarse como plantilla para esta labor.

NOTA: Hay que cuidar de mantener la estructura correcta en los XMLs,
además de recordar que el índice que indica la respuesta correcta es el numero de la respuesta menos uno (-1).

Editar el archivo exam2.jsp

La segunda sección de los exámenes son preguntas de ordenamiento y relación las cuales están escritas en el archivo exam2.jsp
Hay que editar el archivo para ajustar las preguntas y opciones de respuesta antes de realizar la compilación, empaquetado y despliegue del WAR.

Editar el archivo exam3.jsp

La tercera sección de los exámenes son preguntas abiertas las cuales están escritas en el archivo exam3.jsp
Hay que editar el archivo para ajustar las preguntas y opciones de respuesta antes de realizar la compilación, empaquetado y despliegue del WAR.

Configurando la aplicacion

La aplicacion NO está preparada para ser configurada de manera dinámica.
Las configuraciones deben realizarse previas a la compilación, empaquetado y despliegue,
ajustando los valores en la clase: mx.rengifo.evaluacion.util.Constante

Configurando el Inicio

La aplicación permite configurar el URL o enlace que deseamos utilizar como inicio.
Solo hay que ajustar el valor de la constante URL

Configurando el Background

La aplicación permite configurar el background a utilizar.
Puede elegir entre dos opciones: white | gray

Solo hay que ajustar el valor de la constante BACKGROUND

NOTA: Para incorporar otra opción debe contarse con una imagen background-{color}.jpg
en la carpeta images/background

Configurando el Título

La aplicación permite configurar el título a utilizar.

Solo hay que ajustar el valor de la constante TITLE_GRAL

Configurando el Sufijo a utilizar

La aplicación permite configurar el sufijo utilizado en el nombrado de las evaluaciones
Los archivos xml de las evaluciones deben nombrarse con este sufijo

Solo hay que ajustar el valor de la constante SUFFIX

Configurando la ubicacion del archivo properties

La aplicación permite configurar la ubicacion del archivo properties donde se configura el acceso a la base de datos

Solo hay que ajustar el valor de la constante PATH_PROPERTIES

Nota: Debe incluir '\' al final

Configurando la ubicación de los archivos de las evaluaciones

La aplicación permite configurar la ubicación de los archivos de las evaluaciones

Solo hay que ajustar el valor de la constante PATH_EVALUATIONS

Nota: Debe incluir '\' al final

Habilitando / Deshabilitando el log de las excepciones manejadas

La aplicación permite habilitar el log de las excepciones manejadas para labores de revisión,
o deshabilitarlo para ambientes productivos.

Solo hay que ajustar el valor de la constante DEBUG_ENABLED

NOTAS

Retirando calificación

Una vez que un usuario ha realizado un examen,
se le asigna una calificación y no podrá tomar nuevamente el examen.
Si por algún motivo se requiere que el usuario tome nuevamente el examen,
o si acaso estamos realizando labores de desarrollo o pruebas,
requeriremos retirar la calificación del usuario. Para ello,
realizaremos un update sobre la tabla quiz.users filtrado por el email del usuario.

-- Update quiz.users SET calificacion=NULL where email='david@rengifo.mx';

SELECT * FROM quiz.users;

Cambiando el rol

Es posible que por algún motivo se requiera cambiar el rol de un usuario. Para ello,
realizaremos un update sobre la tabla quiz.users filtrado por el email del usuario.

-- Update quiz.users SET exam='rol4' where email='david@rengifo.mx';


David Rengifo 2017 © Derechos Reservados · Orgullosamente respaldado por: eRa5.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.