Introducción
Se trata de un proyecto impulsado por MNCS en el año 2007, para la FOrmación de un Repositorio de Javascript para Atica. que pretende proporcionar un repositorio de funciones javascript de uso común, basadas en jQuery, además de la documentación y formación necesarias tanto para su construcción, como para su posterior mantenimiento.
La recomendación de MNCS es que todo el desarrollo javascript que se haga en el Servicio de Desarrollo, esté basado en el uso de jQuery, y que cuando se programe una función javascript que pueda ser de utilidad para cualquier otra aplicación, se suba al repositorio FORJA.
Estructura del Repositorio SVN de FORJA
El repositorio consta básicamente de un tronco ("/js") y un directorio de despliegue para cada servidor de aplicaciones ("/web_*"), de modo que cualquier proyecto javascript que se una a FORJA tendrá su tronco en "/js/nombre_proyecto/principal", y será desplegado en cada servidor en el directorio "/web_nombre_servidor/forja/nombre_proyecto", simplemente creando un tag (o etiqueta de SVN) del tronco en el servidor correspondiente. Ejemplo:
$ svn copy https://svn.atica.um.es/svn/FORJA/js/nombre_proyecto/principal https://svn.atica.um.es/svn/FORJA/js/nombre_proyecto/versiones/v1.0.0
$ svn copy https://svn.atica.um.es/svn/FORJA/js/nombre_proyecto/versiones/v1.0.0 https://svn.atica.um.es/svn/FORJA/web_nombre_servidor/forja/nombre_proyecto
Cómo incorporar una nueva librería a FORJA
La librería debe estar hecha con jQuery, y debe ser autónoma, en cuanto a aplicable a cualquier aplicación, por ejempolo: calendario, contador de caracteres, utilidad para ordenar las columnas de una tabla, etc.
Hay que contactar con MNCS para que verifiquen que la librería se puede publicar (no está duplicada, es realmente útil fuera del grupo que la ha desarrollado, etc).
Teniendo el visto bueno de MNCS hay que:
Finalmente, MNCS creará un tag en el repositorio FORJA, en las ramas correspondientes a los servidores de aplicaciones, de modo que la librería estará accesible en dichos servidores, como se ve en este ejemplo.
Justificación del Proyecto FORJA
Hasta ahora cada grupo de desarrollo generaba su javascript como mejor le parecía:
- Escasa reutilización de código entre grupos.
- Código que funciona, pero a veces ineficiente.
Todas las aplicaciones web tienen prácticamente las mismas necesidades básicas en la parte cliente:
- Validación de formularios (Yav).
- Manejo de DOM (jQuery).
Organizar y documentar (jsDoc) el código javascript de las aplicaciones web de ATICA:
- Proponiendo librerías de manejo de DOM (jQuery) y validación de formularios (Yav)
- Proponiendo que se desarrolle código javascript basado en jQuery, reutilizable por cualquier aplicación web de ATICA
El acceso es público para ATICA, en lectura (de momento restringido en escritura a MNCS)
Queremos que las librerías javascript que se vayan publicando estén accesibles desde los servidores web de Sistemas; de hecho, ya tenemos disponible en TODOS los servidores web las siguientes urls:
De modo que cualquier librería del repositorio FORJA, que tendrá como url "https://svn.atica.um.es/svn/FORJA/js/nombre_librería/principal/nombre_fichero.js", la encontraremos en cualquier servidor de Sistemas en la url relativa "forja/nombre_librería/nombre_fichero.js". Y en el caso de los plugins de jQuery estarán en FORJA en la url "https://svn.atica.um.es/svn/FORJA/js/jqueryPlugins/principal/nombre_librería/nombre_fichero.js", y en cualquier servidor de Sistemas en la url relativa "forja/jqueryPlugins/nombre_librería/nombre_fichero.js"; como por ejemplo el fichero javascript "jquery.charCounter.plugin.js" de la librería "cuentaCaracteres" (charCounter) que es un plugin jQuery, cuya url en FORJA es "https://svn.atica.um.es/svn/FORJA/js/jqueryPlugins/principal/cuentaCaracteres/jquery.charCounter.plugin.js", y que lo podemos encontrar accesible en la aplicación UNICA, en la url "https://unica.um.es/forja/jqueryPlugins/cuentaCaracteres/jquery.charCounter.plugin.js".
Hemos actualizado la Normativa de ATICA que regula el aspecto y las funcionalidades de nuestras aplicaciones web (NORMAWEB), para que cualquier nuevo desarrollo use el javascript de FORJA.
La validación del formulario del prototipo Normaweb, ha sido recodificada usando jQuery y Yav:
Programación Javascript y librerías de manejo de DOM y validación de formularios
En el 2007 MNCS organizó un seminario sobre "FORJA y Programación Javascript", impartido por Jose Francisco Rives, del GAT, que además publicó una excelente documentación sobre programación con Javascript y uso de librerías (jQuery y Yav). Toda esta documentación está accesible en "http://www.um.es/atica/documentos/forja/js/docs/".
Nuevas incorporaciones a FORJA
En esta sección iremos anotando la información correspondiente a las nuevas librerías javascript que se vayan añadiendo a FORJA:
- 30/08/2011 - jQuery-1.6.2, y los plugins jQueryUI-1.8.16, jQueryTools-1.2.5 y jQueryTransformable-0.3.0. FRJ-3 ya están accesibles en Egeria e Iuturna, en las urls relativas:
- 05/06/2011 - charCounter: Enriquemc ha creado este plugin para jQuery 1.3.2, de modo que el usuario de la aplicación que lo use en un INPUT TEXT, verá un contador debajo del campo que va disminuyendo conforme escribe caracteres, con lo que sabrá cuando ha llegado al límite máximo. También permite indicar un número mínimo de caracteres a introducir. Y usa los estilos de FundeWEB, de modo que si usa en una aplicación FundeWEB no hará falta crear los citados estilos. Puedes ver un ejemplo de uso.
- 14/04/2011 - TableSorter: Fjcosta lo ha modificado para poder ordenar tablas html de Justoi que incluyen el nº de factura en alguna columna, con el formato "número/año" (ejemplo 123/2011), q antes del cambio, TableSorter las trataba como caracteres y las ordenaba mal.
- 05/12/2008 - Bibliografía sobre jQuery.
- 03/12/2008 - Actualización de jQuery y Yav en los servidores web de Sistemas.
- 21/04/2008 - jsCanlendar. Disponible en Sistemas en la url relativa "forja/jscalendar/*". Ejemplo:
- https://dumbo.um.es/forja/jscalendar/calendar.js
- 14/04/2008 - Treeview es un plugin para jQuery que permite convertir una lista en un árbol. Se ha usado en un contenido de la web de ATICA del grupo PCI.
- 14/03/2008 - cryptoapplet del grupo de Administración Electrónica (más información en la Wiki del Programador).
- 20/08/2007 - Añadido plugin jQuery.YAV para la validación fácil y accesible con YAV y jQuery.
- 07/06/2007 - Nueva librería jsCalendar, y dos plugins para jQuery (charscounter y wordscounter), aportadas por Jose Fco Rives.
- jsCalendar: usada en Dumbo, Justoi y Guías Didácticas.
- Nuevos plugins jQuery (charscounter y wordscounter): añaden un pequeño contador de palabras o de caracteres a un textarea mostrando así mientras escribimos, la cantidad restante de caracteres que podemos escribir en ese textarea.
- 11/06/2007 - Disponibles en Sistemas las librerías anteriores (en su versión comprimida). Ejemplos:
- https://dumbo.um.es/forja/jqueryPlugins/tablesorter/jquery.tablesorter.js
- https://dumbo.um.es/forja/jqueryPlugins/gridxml/jquery.gridxml.js
- 28/05/2007 - Incorporación a FORJA de librerías javascript para crear tablas ordenables (enlace para acceso directo al repositorio):
- TableSorter (Aportado por Jose Francisco Rives)
- gridXML (Aportado por Jose Francisco Rives y Fran Costa)
|