Sysacad WEB

 

Introducción

 

            Sysacad WEB es un conjunto de páginas ASP que implementan una interfaz Web sobre el servidor de peticiones del Sysacad tradicional. Por lo tanto, es imprescindible que este esté corriendo para que las páginas funcionen. Sugerimos leer el instructivo respectivo a fin de conocer sobre este servidor antes de probar Sysacad Web.

 

            Las páginas están desarrolladas en lenguaje ASP, y pueden ser ejecutadas nativamente en cualquier servidor IIS (Internet Information Server) de Microsoft, como así también en servidores Apache de Linux que soporten ASP (como http://www.opensa.org) . Los requerimientos de hardware son modestos, porque todo el procesamiento es realizado por el servidor de peticiones de Sysacad, de manera que el servidor Web no necesita más hardware que para cualquier otra página. Si es necesario que esté actualizado a la última versión, con todos los parches de seguridad aplicados (esto es elemental para cualquier servidor Web). Sysacad Web utiliza un solo componente COM que es Microsoft XML Parser (MSXML). Este es habitualmente instalado por IE versión 6.0 y posteriores, por lo que si el servidor Web está actualizado debería incluirlo. Puede instalarse o actualizarse separadamente desde este link.

 

            La seguridad del servidor Web debe ser cuidadosamente controlada, como para cualquier otra página, pero en el caso de Sysacad WEB el servidor Web solo necesita conexión a una sola tabla, PETICIONESSERVIDOR con solamente permisos de insertar y leer. De esta manera, en caso de que algún hacker comprometa el servidor, es muy limitado el daño que puede hacer, ya que solo podría enviar peticiones (si es que tiene tiempo para aprender la interfaz) y aun así todas sus peticiones quedarían registradas para poder volver atrás esas operaciones. De todas maneras puede ser conveniente implementar HTTPS, del protocolo de seguridad SSL (cuando las páginas aparecen con el candado). Esto es a nivel del servidor Web, y es transparente para Sysacad WEB. Todos los recaudos de seguridad conocidos fueron adoptados en las páginas ASP. El alumno se desconecta automáticamente a los 4 minutos que no hace operaciones, y todos los parámetros pasados a las páginas son controlados, de manera que no puede hackearse los parámetros pasados con GET ni POST, ni cambiar la secuencia de operaciones del sistema.

 

            Como el paquete está desarrollado en lenguaje ASP, todo el código está disponible para quienes lo utilicen. Sin embargo, se han mantenido separadas las páginas locales, que solo son copiadas en la instalación del resto de las páginas, las cuales serán actualizadas frecuentemente para agregar nuevas funciones. Sin embargo, a través de estas páginas locales (en el directorio local) se puede cambiar gran parte de la apariencia y funcionamiento de todo el conjunto, de manera de adaptarlo al estilo del sitio local, habilitar partes y para agregar observaciones, advertencias, avisos, etc. para los alumnos en cada página del conjunto. Si alguien quiere modificar el código base corre riesgos de no poder implementar actualizaciones, porque se pisaría su código modificado. Teniendo en cuenta este riesgo, y con suficiente cuidado, puede hacerlo libremente, siempre y cuando mantenga los términos de la licencia GNU bajo la cual se publica Sysacad WEB. Esta licencia establece que toda modificación debe enviarse a soporteSysacad@asiutn.org.ar a fin de que pueda incorporarse al conjunto según criterio de los desarrolladores o al menos esté disponible para toda la comunidad, a fin que toda mejora sea aprovechada libremente por todo el conjunto de los usuarios.

 

            En el directorio local, existen 3 archivos por defecto: config.asp, membrete.htm y pie.htm. El primero se utiliza para cambiar las variables que afectan el funcionamiento del conjunto de páginas. Estas variables están definidas y explicadas en configDefecto.asp, el cual no debe tocarse, sinó copiar la variable a config.asp para cambiarla allí. Por ejemplo, para definir el nombre de la facultad, debe colocarse esta línea en local/config.asp:

 

Facultad="Facultad Regional Bahía Blanca"

 

Otro cambio puede ser la imagen de fondo, la cual puede cambiarse modificando la siguiente variable de CSS:

 

EstiloBody="body {background-image:url(""local/fondoFRBA.gif"")}"

 

Si se desea colocar una advertencia al inscribirse condicionalmente, se puede agregar la siguiente línea:

 

pieCondicionalExamen="Si se inscribe condicionalmente y luego no cumple con la condición <br> su examen será inválido y deberá iniciar un expediente para corregir la situación"

 

Existen mucho más cambios que pueden hacerse. Para esto léase el archivo configDefecto.asp . Sería conveniente tener al menos nociones de ASP y CSS para cambiar variables de estilo. Los otros dos archivos son insertados al tope y al pié de cada página del conjunto.

 

Instalación

 

            Desde http://www.asiutn.org.ar/sysacad/InstalarSysacadWeb.zip se baja un archivo ZIP que contiene todas las páginas ASP del conjunto, incluyendo aquellas páginas locales. Para aquellas facultades que ya instalaron una versión anterior, deben bajar desde http://www.asiutn.org.ar/sysacad/UpgradeSysacadWeb.zip que no contiene el directorio local a fin de no pisar los cambios hechos. El contenido del ZIP se debe descompactar dentro del directorio del servidor Web, usualmente C:\inetpub\wwwroot. El ZIP tiene seteado un directorio Sysacad para todo el conjunto, el cual puede cambiarse.

 

            Una vez copiadas las páginas, la siguiente operación es establecer la conexión con la base de datos. Esto, por defecto se hace vía un DSN de ODBC, pero puede usarse cualquier método si se modifica la variable CadenaConexion que por defecto vale "dsn=AutogestionSysacad"

 

Si se desea seguir el método estándar, es necesario un usuario que tenga acceso a la tabla PETICIONESSERVIDOR. Por defecto IIS usa un usuario llamado IUSR_XXX donde XXX es el nombre de máquina del servidor Web. Puede usarse este usuario de Windows o crear otro. En cualquier caso, una vez que el usuario Windows exista es necesario efectuar tres tareas: Registrarlo en IIS,  en SQLServer y crear un DSN.

 

Registro en IIS:

 

            Ingresando en el administrador de IIS (usualmente Inicio->Herramientas administrativas-> Administrador de Internet Information Services (IIS)) se debe desplegar el directorio donde está Sysacad Web (usualmente Equipo->Sitios Web->Sitio Web predeterminado->Sysacad y hacer botón derecho y propiedades. Allí elegir la solapa Seguridad de Directorios y  en ella el botón Modificar en el grupo Autenticación y control de acceso:

 

 

            Allí debe colocase el usuario y contraseña. Llegado este punto, en algunos IIS debe reiniciarse IIS para que tome en cuenta las páginas copiadas y el nuevo usuario. Esto se hace parado sobre el equipo, botón derecho -> Todas las tareas -> Reiniciar IIS.

 

Registro en SQLServer:

 

            Ingresar en el Administrador Corporativo (o Enterprise Manager en la versión en inglés) a Seguridad->Inicios de Sesión (Security->Logins). Allí hacer botón derecho, Nuevo inicio de sesión (New Login). Allí seleccionar el usuario como autenticación de Windows y la base de datos defecto seteada a Sysacad (o como se llame la base de datos del sistema):

 

 

 

            En la solapa de Acceso a bases de datos (Database Access) configurar permiso público a Sysacad:

 

 

 

Allí presionar propiedades y luego permisos. Allí buscar PeticionesServidor y otorgarle SELECT e INSERT:

 

 

Crear un DSN (Data Source Name):

 

            En Orígenes de datos (ODBC) (Generalmente en Herramientas Administrativas o Panel de control, según la versión de Windows)  debe agregar un DSN para de Sistema para SQLServer llamado AutogestionSysacad:

 

 

 

En la siguiente ventana debe setearse la base de datos del sistema como defecto

 

 

Luego de aceptar un par de ventana más, se crea finalmente el DSN.

 

 

Uso de Sysacad WEB

 

Una vez completado los pasos anteriores, y en ejecución el servidor de peticiones, debería estar disponible Sysacad WEB si se ingresa a la página inicial http://xxx.utn.edu.ar/Sysacad/loginAlumno.asp. Allí se pide un legajo y una contraseña que son las mismas que la autogestión. Por defecto, se permite loguearse con el DNI como contraseña para la primera vez, y se exige setear la contraseña. Para el caso de docentes, se debe acceder a http://xxx.utn.edu.ar/Sysacad/loginDocente.asp. La contraseña docente debe asignarse si o si desde el sistema académico, por razones de seguridad, y la debe cambiar al ingresar.

 

En caso de que algo falle, es aquí donde aparecerán los errores. IIS deberá estar seteado para mostrar los errores de ASP a fin de depurarlos. Para esto debe configurarse los mensajes de errores del directorio Sysacad en el IIS. Para ello se ingresa en el administrador de IIS (usualmente Inicio->Herramientas administrativas-> Administrador de Internet Information Services (IIS)), allí se debe desplegar el directorio donde está Sysacad Web (usualmente Equipo->Sitios Web->Sitio Web predeterminado->Sysacad y hacer botón derecho, propiedades. Allí se va la solapa Errores personalizados y se debe dar doble click sobre los errores 500, 500;100, 501 y 502 y en todos los casos cambiar tipo de mensaje por Clave Predeterminada. Con esto los errores será descriptivos para poder debuguearlos.

 

Una lista de los errores más comunes y su solución es:

 

·        El nombre de objeto 'peticionesservidor' no es válido: Es posible que no esté seteada la base de datos del SYSACAD como defecto para el usuario en SQLServer o en el DSN. También existe la posibilidad de que no se haya instalado el servidor con el usuario de conexión a SQL del sistema como DBO de la base. Eso puede detectarse en la ventana de propiedades del usuario en el Administrador Corporativo, en la solapa Acceso a Bases de datos. Si el nombre que aparece en la columna usuario al lado de la base de datos del sistema no coincide con el verdadero del usuario, entonces, puede modificarse la variable PrefijoPeticiones para colocar el nombre de base y nombre de usuario. Supongamos que en el nombre de usuario dice usersistema y la base se llama sisacad, la variable se setea así: PrefijoPeticiones=”sisacad.usersistema.”  Nótese el punto final antes de cerrar la comilla. Esto es porque es un prefijo, y las páginas ASP agregan el nombre de la tabla a continuación.

·        Acceso denegado a la tabla ‘peticionesservidor, Acceso denegado a la base de datos Sysacad’: No se otorgó el permiso correspondiente al usuario de conexión.

·        Se requiere un objeto: 'xmldom.childnodes(...): Este error implica que el servidor IIS no tiene instalado el XMLParser de Micrsoft. Si bien puede bajarse e instalarse desde este link, sería mejor asegurarse de que se han ejecutado todas las actualizaciones y parches de seguridad. En estos tiempos un IIS desactualizado dura minutos en Internet antes de ser atacado.

 

 

Otro error posible es cuando una vez logueado el alumno vuelve a la página de logueo. Esto puede producirse por dos circunstancias: IIS no mantiene las sesiones o el navegador no acepta cookies. IIS utiliza un cookie especial por cada usuario logueado, para mantener la sesión del mismo. Para habilitar esta característica, en las propiedades del directorio se presiona el botón Configuración (si no está habilitado, deber presionarse Crear)

 

 

 

Una vez en la Configuración, en la solapa Opciones, debe habilitarse el estado de sesión. El tiempo de espera no debería exceder los 5  minutos, para que se cierre la sesión cuando el alumno deje de operar por ese tiempo.

 

 

 

Una vez que esté todo bien, el menú presentado a un alumno que se loguea es:

 

·        Materias del plan: Listado de materias del plan del alumno indicando si se cursan y/o se rinden (no se muestran las que no se rinden ni se cursan)

·        Estado académico: Idéntico al que se muestra desde alumnos en el sistema.

·        Exámenes: Todos los exámenes del alumno, incluyendo ausentes.

·        Notas de parciales: Notas de los parciales de las materias cursadas este año

·        Correlatividad para cursar: Estado de correlatividad para cursar las materias que no están aprobadas o regularizadas por el alumno.

·        Correlatividad para rendir: Estado de correlatividad para rendir las materias que no están aprobadas por el alumno.

·        Inscripción a cursado: Idéntica opción a la del sistema. El control de permiso se hace con el usuario del servidor de peticiones. Puede anularse con la variable permiteInscripcionCursado=false en local/config.asp

·        Inscripción a exámenes: Idéntica opción a la del sistema. El control de permiso se hace con el usuario del servidor de peticiones. Puede anularse con la variable permiteInscripcionExamen=false en local/config.asp

·        Cambio de contraseña: Permite el cambio de contraseña del alumno, pidiendo la contraseña actual. Puede anularse con la variable permiteCambioPassword=false

·        Mensajes: Mensajes y avisos enviados al alumno.

 

El menú presentado a Docentes es:

 

·        Materias dictadas: Listado de materias y comisiones dictadas por el docente, cualquiera sea su cargo. Se muestran todas las registradas en el sistema. Haciendo clic en ellas, puede ver los alumnos con las notas de parciales y la condición de regularidad. Si la comisión puede regularizarse todavía, puede editar las notas de parciales y la condición final, pero esto se carga en una tabla anexa, y no se pasa a la tabla real hasta tanto el docente se comunique con algún operador autorizado del sistema académico real para que transfiera las notas parado sobre la comisión respectiva. Para asegurar de que la información no ha sido potencialmente hackeada por alguien, se le muestra al docente en el Web y al operador del sistema real un código de seguridad que se altera cada vez que se carga algo. También en el docente se puede cargar un password interno elegido por el mismo, que no se muestra en el Web, para que lo verifique el operador y esté seguro que se trata del docente. Todas estas medidas de seguridad son para que no exista la posibilidad de que se hackeen las notas aun si al docente se le compromete su password.

·        Tribunales que integra: Tribunales que integra el docente, con las fechas del próximo examen, y haciendo clic sobre ellos, los alumnos inscriptos hasta el momento.

·        Cambio de contraseña: Permite el cambio de contraseña del alumno, pidiendo la contraseña actual. Puede anularse con la variable permiteCambioPassword=false

·        Mensajes: Mensajes y avisos enviados al docente, según corresponda en base a las materias que dicta.

 

Todos los comentarios, críticas y sugerencias son bienvenidos en soporteSysacad@asiutn.org.ar

 

 

Área de Servicios Informáticos
Rectorado
Universidad Tecnológica Nacional