Webs

En la Oficina de Software Libre de la Universidad de Granada no paramos de trabajar así que acabamos de terminar una nueva versión de la plataforma UGR transparente que corrige los errores de funcionamiento que existían hasta ahora. Todo el código desarrollado es libre y se puede encontrar en este repositorio de GitHub, así que se interesa conocer mejor el estado del proyecto solo tienes que seguir leyendo.

Motivación de los cambios:

En la versión anterior se producía siempre un error interno del servidor cuando se cargaba una página por primera vez, además de forma intermitente las tablas de las páginas se mostraban vacías. Esto era debido a que por el funcionamiento asíncrono de Node.js, puede ser que la llamada retorne antes de que se completen las operaciones en su totalidad, por lo que se podía producir la situación de que se intentase visualizar una página antes de que la información del contenido que tenía que recuperarse de la base de datos pudiera haber sido recuperada o incluso accedida. Si la página se intentaba mostrar antes de que la base de datos fuera accedida, los recursos no se encontraban creados y por eso siempre daba un error la primera vez que se visualizaba; si la página se intentaba mostrar antes de que la información hubiera sido recuperada, los recursos ahora si existían, pero estaban vacíos por lo que las tablas de la página se mostraban vacías; solo si la llamaba retornaba cuando todas las operaciones habían sido completadas, lo que significa que la página se intentaba mostrar una vez la información ya había sido recuperada completamente de la base de datos, era cuando la página se mostraba correctamente.

Para evitar el error interno del servidor, al arrancar el servidor en transparente.ugr.es se hacía una carga inicial de todas las páginas mediante la orden “curl“, pero el problema de las tablas vacías seguía estando ahí. Como no conseguí encontrar la forma de arreglar estos errores que se producían por la asincronía entre las operaciones, y el uso de la base de datos era similar al de un índice al que igualmente había que introducirle los datos manualmente desde archivos externos JSON, empecé a desarrollar una nueva versión en la que se sustituyera la función de la base de datos con la carga de los archivos JSON directamente desde la aplicación, esto podría solucionar todos estos errores porque el propio Node.js mediante el módulo “fs“, que provee de la funcionalidad para operar con entrada/salida de ficheros, tiene un método para que la lectura de estos archivos se haga de forma síncrona [fs.readFileSync(archivo)]. Como los archivos son leídos de forma síncrona (forma de la que no era posible recuperar los datos de la base de datos), tanto el error interno como el error en las tablas vacías han dejado de producirse debido a que ya nunca se intentará visualizar las páginas antes de que los datos estén cargados.

Comparación de versiones:

En la versión anterior de UGR transparente, desde el archivo principal de la aplicación “app.js” se cargaba el contenido del archivo “config.json” (también en raíz), que tenía la configuración de acceso a la base de datos MongoDB de la que recuperaba el contenido de las tablas que se visualizan en las diferentes páginas de la web; también de dicho archivo, se recuperaba el contenido de las páginas sin tablas: “Inicio“, “Presentación” y página de error; y además la siguiente información sobre el contenido de cada una de las páginas: categoría, colección, contenido, dataset, nombre y plantilla. En la nueva versión, la información de cada una de las páginas se ha movido a archivos JSON independientes: “claustro.json“, “estadistica.json“, etc. (que también son cargados desde “app.js“), el contenido que se recuperaba desde la base de datos se ha introducido también en esos archivos JSON. Todos estos archivos se encuentran en una nueva carpeta “config” situada en raíz, además la información recuperada se ha simplificado a: nombre, plantilla, contenido y datos.

Toda la información cargada desde “app.js” luego es utilizada desde los archivos JS que se encuentran en la carpeta “routes” correspondientes a cada una de las secciones de la página UGR transparente: “administracion.js“, “docencia.js“, “gestionInvestigacion.js” y “normativaLegal.js“. En la versión anterior, se recuperaba la configuración de acceso a la base de datos desde la información cargada, y mediante iteraciones por las colecciones correspondiente a la página a visualizar, se almacena en variables el contenido recuperado, contenido que luego era gestionado cuando Express generaba la página web después de procesar la plantilla Jade pertinente. En la nueva versión, la recuperación de la información está mucho más simplificada porque se obtiene directamente de la información cargada desde “app.js“, recuperando el contenido de los archivos “config.json” y “PAGINA.json“; por ejemplo, para la gestionar la sección “Administración“, en el archivo “administracion.js” se recupera la información de “config.json” que nos dará la dirección del servidor con los datos (open.data.ugr en este caso) y también recupera la información de los archivos “personal.json” para la página “Personal“, “infoEconomica.json” para la página “Información Económica” y “servicios.json” para la página “Servicios“, esta información es la que usará Express para generar la página que se vaya a visualizar.

En las plantillas Jade de la carpeta “views“, también se ha cambiado la forma de acceder a las variables con la información de la página que la plantilla recibe. En la versión anterior, los valores del contenido eran recibidos en arrays bidimensionales con el contenido recuperado de la base de datos, que tenían que ser procesados mediante varios bucles for; en la versión actual, los valores de contenido son recibidos directamente como campos de archivo JSON, por lo que pueden ser fácilmente accedidos como un array unidimensional.

Ventajas e inconvenientes:

Como ventajas encontramos en primer lugar, que al eliminar MongoDB se liberan una gran cantidad de recursos del sistema; además, a falta de pasar los test pertinentes, no se ha vuelto a producir ningún fallo en la carga o visualización de los datos en las páginas. Como ya no dependemos de la base de datos, el trabajar directamente con los archivos JSON nos da una mayor manejabilidad como es que se puedan adaptar en cualquier momento y directamente la estructura y contenido de los archivos según las necesidades.

Un inconveniente que existe en este versión es algo que también existía en la versión anterior, y es que los datos provienen de archivos JSON que hay que crear manualmente, por lo que si el número de datos es elevado, el proceso de introducción de datos se puede volver realmente pesado.

Siguiente trabajo:

El problema de tener que crear los JSON directamente se podría solucionar si se pudieran recuperar los datos directamente desde el servidor de open.data.ugr, como ese portal esta construido con CKAN que usa una base de datos PostgreSQL para almacenar los datos y además provee de una API para acceder a los datos, sería deseable encontrar la llamada o llamadas que permitieran recuperar los mismos datos que se encuentran en los archivos JSON, algo que todavía no he conseguido encontrar. Una vez que se encontraran estas llamadas, los datos se podrían recuperar directamente utilizando el backend Recline.js que nos permite fácilmente recuperar la información (ejemplo en el scriptprueba_recline.js” de la carpeta “public/script“) y trabajar con ella usando las funciones de las que nos provee, o bien, recuperar la información mediante consultas AJAX (ejemplo en el scriptprueba_acceso.js” también en la carpeta “public/script“) y trabajar con funciones que desarrollemos para trabajar con la información recuperada.

Lo próximo en lo que voy a trabajar es en realizar los test de cobertura, siendo lo primero todo lo que se refiera al acceso a datos. Empezaré viendo como utilizar el framework de test “Mocha” para todo esto. Otros aspectos que quedan pendientes son la integración continua y el aprovisionamiento.

El próximo 26 dce marzo se celebra en todo el mundo el “Document Freedom Day 2014“.

El plan en la Universidad de Granada se presenta muy interesante, se celebrará en las instalaciones del CEVUG (Cómo acceder) y tendrá tanto charlas en torno a temas como la ciencia abierta y la transparencia en la propia universidad como una parte práctica de apertura y publicación de datos científicos y educativos.

Aquí está el horario de actividades:

Horario Tema Ponente(s)
9:30 Introducción y presentación del portal de transparencia de la UGR José Luis Verdegay, Delegado TIC del rector
10:00 ¿Amor a la ciencia o prostitución académica? Lourdes Verdes-Montenegro, cientifico titular del CSIC
12:00 Ciencia digital: hacia el trabajo científico ejecutable José Enrique Ruiz
13:00 Presentación técnica del portal de transparencia y opendata en la UGR Jaime Torres Benavente, becario de la OSL.
17:00 Selección de fuentes de datos científicos/universitarios y procesado para publicación en opendata.ugr.es Presentación por diferentes científicos de la UGR/CSIC y trabajo en común
20:00 FreeDocs&Beers  

La entrada y participación en todas las actividades es libre, pero se recomienda inscribirse en este formulario

Aquellos que tengan más experiencia con el lenguaje de edición de textos LaTeX conocerán el CTAN (Comprehensive TeX Archive Network) el mayor repositorio de documentación y materiales para TeX.

La mayoría de los repositorios de cierta importancia (y este no es una excepción) tienen unos requisitos de ancho de banda, tráfico y disponibilidad que pocos (o ninguno) servidores pueden dar.

Para evitar saturaciones y lograr que el servicio esté siempre disponible se usan otros servidores que contengan los mismos archivos a modo de réplica. Son los llamados “servidores espejo” o “mirrors“.

Todo esto viene a que, a partir de ahora, el CTAN tiene un nuevo mirror oficial (el primero de España) aquí, en la Universidad de Granada.

Concretamente, se puede encontrar en http://osl.ugr.es/CTAN/

Ya están disponibles, en abierto y con una licencia libre Creative Commons – Atribución CompartirIgual, los cursos On-Line que imparte esta Oficina de Software Libre.

Se trata de los mismos cursos que se imparten en el Centro de Enseñanzas Virtuales de la Universidad de Granada. aunque, lógicamente, en esta plataforma abierta se ponen a disposición de la comunidad los cursos “tal cual”, y esta oficina no provee de otros servicios como tutorización, corrección o acceso a certificados. Actualmente están disponibles los siguientes cursos de forma libre:

  • Programación Avanzada en Python
  • Introducción al lenguaje de programación Python
  • Liberación de Proyectos de Software Libre
  • Introducción al procesador de textos científicos LaTex
A medida que se vayan creando nuevos cursos y contenidos libres o se actualicen los actuales, se agregarán también a esta plataforma abierta.

Sin embargo, existe la posibilidad de cursar alguno de ellos y otros de forma tutorizada, con correcciones de ejercicios, reconocimiento de créditos y acceso a certificados. Puedes matricularte a través del Centro de Enseñanzas Virtuales de la Universidad de Granada. En estos momentos se encuentran en periodo de matrícula los cursos tutorizados:

Con estos  cursos de Arduino, introducción a Python y Scratch se pueden solicitar 3 créditos ECTS en todos los grados de la UGR. Además, se reconocen, tras su solicitud, créditos de libre configuración (plan antiguo) en algunas facultades indicadas en la descripción de cada curso. En el resto de facultades también pueden solicitarse, siendo la decisión del reconocimiento de la propia facultad.

 

Tenemos buenas noticias para la comunidad universitaria de la UGR.
La UGR en el Ranking de universidades en software libre. PortalProgramas.com

Más o menos como deja entender el título del post “Ranking de universidades y Software Libre” la noticia va sobre unos estudios que se hacen a nivel de España de la unión de universidades y el Software Libre en distintos aspectos, entre ellos la difusión que se hace acerca del mismo Software Libre. Hemos de indicar que de todas las universidades que han sido evaluadas, la UGR es la única que ha obtenido una puntuación de 100, basándose en el IDSL que es un indicador que mide el compromiso que la universidad adquiere con la difusión del software libre y que se calcula a partir de 37 indicadores que analizan todos los ámbitos de la universidad. Más sobre el IDSL

Seguida de la UGR están la Universidad de Zaragoza en segunda posición (con un IDSL de 93,48) y la Universidad de La Laguna (89,05) en tercera, seguidas estas tres por la Universidad de Sevilla (57,78).

De entre todos los factores que se han tenido en cuenta, podemos decir que se carece un poco acerca de aspectos como la internacionalización (desde aquí hacemos una llamada a todos aquellos alumnos y/o profesores que quieran ayudarnos en este aspecto), el no tener un sistema operativo propio y muy poco más pero en el resto de aspectos tiene una buena nota que hace que la UGR sea la primera a nivel español.

Se evalúan también varios ámbitos de las universidades como son:

  • Cultura de la universidad en software libre.
  • Docencia.
  • Tecnología.
  • Divulgación.
  • Webmetría.
  • Institución.
  • Producción.

Este estudio ha sido realizado por el RuSL compuesto por un gran equipo como aquí se puede ver, entre ellos podemos destacar a Ramón Ramón, miembros de CENATIC, Bilib y más personas.

Desde aquí en la OSL vamos a seguir trabajando más y mejor para que la UGR se mantenga en esa posición y destaque sobre las demás por toda la labor que hace respecto al Software Libre.

OSL

 

Ya empiezan a salir los cursos virtuales del Centro de Enseñanzas Virtuales de la Universidad de Granada para este año, y ya empiezan a verse los primeros de ellos dedicados al Software Libre o temas relacionados:

Desde los de uso de aplicaciones libres, como el de “OpenOffice.org/LibreOffice: Ofimática con Software Libre, 6ª edición (140 horas)” hasta los de administración de sistemas o servidores, como los de “Aprenda a administrar su servidor GNU/Linux, 1ª edición (70 horas)“.

Tampoco podían faltar este año los de porgramación, como el veterano curso de “Programación en Perl, 11ª edición (50 horas)“, el nuevo “Programación Avanzada en Perl, 1ª edición (30 horas)” y nuestro querido curso de “Introducción al lenguaje de programación Python, 4ª edición (30 horas)“.

De modo que, si buscas un curso virtual con el que complementar tus conocimientos y quieres que tenga algo que ver con el Software Libre, esta es tu oportunidad.

Durante la mañana de ayer, en el Centro C.A.P.I. del Albaizin, miembros de Wikanda nos hablaron de este proyecto.

La mañana comenzó con una presentación de qué es Wikanda, cómo está organizada y cómo se administra.

Basándose en el motor libre Mediawiki, Wikanda, la enciclopedia libre de Andalucía, está concebida como un conjunto de locapedias que actúan como repositorios de la cultura, historia y tradiciones locales de cada provincia.

Pese a que está abierta a la participación de cualquiera (el único requisito para editarla es dar un usuario de alta), hoy por hoy su principal fuente son los usuarios de los centros Guadalinfo que, acompañados por los dinamizadores de estos y los llamados “Cicerones” de la propia Wikanda, aportan su conocimiento, fotografías, etc.

Actividades de este tipo (ultralocales, abiertas y distribuidas) permiten la recuperación y conservación de la cultura popular, recurriendo a su propia fuente e impidiendo que se pierda.

Posteriormente hubo una mesa redonda, con participación del público, en la que se pusieron en común distintas formas de participar y aportar a la medida de cada uno.

En resumen, Wikanda es un proyecto muy interesante en el que es muy fácil participar y para el que no se requieren conocimientos de programación o informática, que suele ser lo que impide acercarse a mucha gente.

AZlinux
El equipo AZlinux del ayuntamiento de Zaragoza lleva ya unos años desarrollando un plan a largo plazo de migración a Software Libre. Dadas las condiciones de trabajo de un Ayuntamiento, el equipo fue introduciendo herramientas paulatinamente, haciendo un seguimiento de los usuarios y sus dificultades, y respondiendo a sus peticiones y necesidades.

Como toda migración, ha sido un proceso lento y en el que ha habido que evitar muchos obstáculos y dificultades.

Ahora, con toda la experiencia generada por este proceso, han publicado “Migración Escritorio Software Libre“, un informe profusamente documentado de este proyecto que constituye una útil guía para cualquiera que trate de embarcarse en un trabajo de estas características.

Ubunchu es un comic manga, creado por el Ubuntu-jp Team, dedicado a los primeros pasos en la distribución de Canonical. Se anuncia como el primer “Ubuntu romantic School comic” y ya va por su quinto número.

Se puede descargar de su página oficial, pero lo malo es que está escrito en Japonés, con lo que hay gente que quiźas no lo entienda del todo.

De todos modos, la comunidad es la comunidad, con lo que ya han surgido diversas traducciones.

Para ir abriendo boca, y para celebrar el día de la toalla, aquí están las traducciones de los tres primeros capítulos.

Por cierto ¿Que hace Andatuz infiltrado en un comic japonés?

Web Jornadas de Software Libre
Logo y enlace Web Jornadas de Software Libre 2018
Web SereIngeniera
Logo y enlace Web SereIngeniera 2018
Web Campus Infantil 2018
Logo y enlace Web Campus Infantil 2018
Calendario
junio 2018
lunes martes miércoles jueves viernes sábado domingo
28 mayo, 2018 29 mayo, 2018

Categoría: General10:00 am: #SereIngeniera18 - Sto. Tomás de Villanueva

10:00 am: #SereIngeniera18 - Sto. Tomás de Villanueva
30 mayo, 2018 31 mayo, 2018 1 junio, 2018

Categoría: General12:00 pm: Admisiones provisionales Campus de Chicas

12:00 pm: Admisiones provisionales Campus de Chicas

Categoría: General12:00 pm: Cierre III Campaña de Donación

12:00 pm: Cierre III Campaña de Donación

Categoría: General10:00 pm: Pre-inscripción Campus de Chicas

10:00 pm: Pre-inscripción Campus de Chicas
2 junio, 2018 3 junio, 2018
4 junio, 2018 5 junio, 2018 6 junio, 2018 7 junio, 2018 8 junio, 2018

Categoría: General12:00 pm: 1ª asignación III Campaña de Donación

12:00 pm: 1ª asignación III Campaña de Donación

Categoría: General12:00 pm: Admisiones definitivas Campus de Chicas

12:00 pm: Admisiones definitivas Campus de Chicas
9 junio, 2018 10 junio, 2018
11 junio, 2018

Categoría: General12:00 pm: 2º Asignación III Campaña de Donación

12:00 pm: 2º Asignación III Campaña de Donación

Categoría: General12:00 pm: Admisiones provisionales Campus Infantil

12:00 pm: Admisiones provisionales Campus Infantil
12 junio, 2018 13 junio, 2018 14 junio, 2018 15 junio, 2018

Categoría: General12:00 pm: Admisiones definitivas Campus Infantil

12:00 pm: Admisiones definitivas Campus Infantil
16 junio, 2018 17 junio, 2018
18 junio, 2018 19 junio, 2018 20 junio, 2018 21 junio, 2018

Categoría: General10:30 am: Taller de la III Campaña de Donación

10:30 am: Taller de la III Campaña de Donación
22 junio, 2018 23 junio, 2018 24 junio, 2018
25 junio, 2018

Categoría: General9:00 pm: Campus Infantil - 1º turno

9:00 pm: Campus Infantil - 1º turno
26 junio, 2018

Categoría: General9:00 pm: Campus Infantil - 1º turno

9:00 pm: Campus Infantil - 1º turno
27 junio, 2018

Categoría: General9:00 pm: Campus Infantil - 1º turno

9:00 pm: Campus Infantil - 1º turno
28 junio, 2018

Categoría: General9:00 pm: Campus Infantil - 1º turno

9:00 pm: Campus Infantil - 1º turno
29 junio, 2018

Categoría: General9:00 pm: Campus Infantil - 1º turno

9:00 pm: Campus Infantil - 1º turno
30 junio, 2018 1 julio, 2018
Archivos
Categorías