Open wlmb opened 7 years ago
Mi petición a conacyt es, permítanme demostrar que un programa de este tipo es una alternativa viable para llenar el CVU.
Podría tratar de demostrar la viabilidad empezando con una sola tabla. Quizás la tabla de publicaciones, o la de congresos, cursos, conferencias, la que conacyt acuerde.
El programa podría integrar una fase de validación de la información.
Compromiso:
Beneficios:
Podría resumirse la propuesta en términos de un CVM (Currículum Vitae Múltiple), libre salvo por un mínimo de información estructural que permita extraer (semi)automáticamente la información con que se pueda alimentar automáticamente el CVU.
Acabo de subir a este sitio dos programas que permiten tomar un CV, precondicionarlo añadiendo unos cuantos corchetes, procesarlo para producir un archivo YAML y procesar el archivo YAML para producir una base de datos que debería poder importarse al CVU. Los programas son articulos2yaml.pl y yaml2db.pl. También subí una presentación de estos programas llamada presentacion.tex/presentacion.pdf.
Acabo de subir otro programa, nature2yaml.pl que toma una lista de publicaciones en el formato que admite nature y produce un archivo en yaml que puede ser revisado, editado y procesado por yaml2db.pl para generar una base de datos.
Y otro más. Basado en la sugerencia de @robertoSussman, el programa apa2yaml.pl lee un archivo en el formato que admite la APA (American Psychological Association) y lo convierte en un archivo yaml estructurado.
Modifiqué el programa original articulos2yaml.pl para permitir formatos arbitrarios. El usuario define en qué orden van los datos de su lista de publicaciones incluyendo una línea de la forma
.Formato [[autores][título][revista][volumen][páginas][año]]
en el orden que desee.
(lo cerré por error)
Esta mejora me parece una muy buena idea. Creo que puede haber una alternativa a esta sugerencia que posiblemente sea más fácil de implementar para el CONACyT y tal vez más versátil.
La página del CVU actual debe de estar utilizando una interface web (API) para comunicarse con el servidor que se encarga de procesar y almacenar la información. Sugiero que hagan la documentación de esta API pública para que podamos hacer nuestros propios programas para automatizar el llenado del CVU. Como creo que debería de funcionar esto para que fuera seguro es que los usuario del CVU pueden entrar a la página para obtener una llave única para cada usuario que puede ser utilizada para hacer peticiones al servidor sin tener que hacerlo a través de la página.
Parecen haber usado herramientas bastante estándar para implementar la página del CVU así que ya debe existir un servicio al que nos podamos comunicar con formatos como yaml, xml o json.
De hecho, si no fuera por el re-captcha en el login podría ser posible hacer ingeniería inversa para encontrar esta API.
Carlos Pineda me señaló un programa útil, bib2xml, para convertir listas de publicaciones en el formato bibtex que empleamos los usuarios de tex y de latex al formato XML. XML es un formato estandarizado de texto rígidamente estructurado que permite serializar cualquier estructura de datos. Como es texto, es legible por humanos (quizás un poco menos que el formato YAML que yo había mencionado aquí tiempo atrás), y como es estructurado puede ser procesado automáticamente. Carlos subió un programilla y una lista de publicaciones para probar esta conversión en la sección de código.
Buscando bib2xml encontré el paquete bibutils de debian y derivados. Incluye programas para la conversión automática entre varios formatos. De la descripción del paquete:
La forma de hacerlo es convertir de cualquier formato a XML, como sugirió @carlospgmat03 y convertir de XML a cualquier otro formato. Hay también herramientas para la conversión automática de XML a YAML.
Actualmente tenemos dos opciones: o nos funciona scopus o llenamos la base de datos registro por registro y campo por campo. Me gustaría proponer una tercera alternativa. Si yo supiera qué campos les proporciona la página web, podría hacer un programa en primera instancia para mi uso personal que llenara una base de datos mía con esos mismos datos. Por su portabilidad, yo usaría sqlite3 (una base de datos completa en un archivo) pero podría usar cualquier otra base de datos libre. Conacyt podría entonces sacar los datos de esa base de datos y proporcionarselos a su manejador de bases de datos, saltándonos su página, eliminando así la necesidad de que yo los introduzca uno a uno en su interface web. Cuando demostremos que esto funciona en principio, entonces podrían hacer un mejor programa que le facilite la vida a muchos miembros de la comunidad que organicen la información de manera similar a como yo la organizo y que manejen el tipo de herramientas que yo tengo. (Como mencioné anteriormente, yo haría un traductor automático de latex a yaml y de yaml a sqlite). Seguramente, a miles de académicos no les servirá mi solución, pero entonces podrían (quizás con mi ayuda y la de Uds.) desarrollar su propia solución del mismo problema: traducir de sus formatos y estilos favoritos (documentos word, hojas de cálculo, archivos de texto enriquecido, etc.) a una base de datos que Uds. puedan leer e incorporar al CVU. Así habría no dos, sino una multiplicidad de formas de hacer llegar la información a conacyt. Habrá quien haga una app para llenar el cvu desde el teléfono, habrá quien haga programas para mac, windows o linux. Quien no se sienta cómodo con ninguno de estos programas, siempre podrá usar su interface web actual, con las mejoras que vayan incorporando. Los usuarios podrían elegir el método que más les plazca para el llenado de estas bases de datos intermedias. Así tendríamos el mejor de los dos mundos. Conacyt recibirían información estructurada con datos relevantes y nosotros tendríamos libertad para usar nuestras herramientas favoritas.