3 | | * Un paquete es un tipo de NameBlock especial que se carga con la orden |
4 | | #Require nombre_de_paquete y que se lee directamente de un archivo .oza |
5 | | almacenado previamente en un directorio local predeterminado por el sistema. |
6 | | * Los paquetes están disponibles en repositorios remotos o locales desde los |
7 | | cuales es posible instalarlos y manejarlos mediante las utilidades de |
8 | | {{{StdLib::TolPackage::Client}}} |
9 | | * Las correspondientes funciones de creación y mantenirmiento de los |
10 | | respositorios están disponibles en {{{StdLib::TolPackage::Server}}} |
11 | | * Los nombres de los paquetes deben seguir el estilo CamelCase |
| 3 | == Objetivos == |
| 4 | |
| 5 | El objetivo principal de este sistema es que los usuarios finales que no |
| 6 | colaboran en el desarrollo de las librerías de uso más o menos genérico, |
| 7 | no tengan que preocuparse de dónde se encuentra el código fuente de las |
| 8 | mismas ni tenga que tener instalados programas para compartir código como |
| 9 | CSV o SVN. El usuario sólo necesita saber una URL remota o un camino local |
| 10 | donde se encuentran los paquetes y el nombre de los que necesita. El |
| 11 | sistema se ocupa de instalar todo lo necesario de forma automática si se |
| 12 | desea o manualmente si se trata de procesos críticos. |
| 13 | |
| 14 | El otro gran objetivo es fomentar la creación de utilidades concretas que |
| 15 | se puedan cargar atómicamente sin necesidad de compilar cantidades ingentes |
| 16 | de código del cual luego se usa sólo una pequeña parte la mayor parte de |
| 17 | las veces. El usuario no necesita saber qué paquetes dependen de cuáles |
| 18 | sino que son ellos mismos quienes se autogestionan. |
| 19 | |
| 20 | Por último, hay que permitir que cada paquete evolucione sin excesivas |
| 21 | ataduras de compatibilidad hacia atrás para que pueda progresar pero sin |
| 22 | dejar tirados a los usuarios que por motivos de seguridad no pueden |
| 23 | arriesgarse a actualizarse cada poco tiempo. |
| 24 | |
| 25 | == Arquitectura == |
| 26 | |
| 27 | Un paquete es un tipo de NameBlock especial que se carga con la orden |
| 28 | {{{ |
| 29 | #Require nombre_de_paquete |
| 30 | }}} |
| 31 | y que se lee directamente de un archivo OIS almacenado previamente en un |
| 32 | directorio local predeterminado por el sistema al que llamaremos almacén |
| 33 | del cliente y que es común para todas las instalaciones de TOL que haya |
| 34 | en una misma máquina. |
| 35 | |
| 36 | Un repositorio es un sitio web o un directorio local al que llamaremos |
| 37 | también almacén servidor, donde se encuentra disponible una colección de |
| 38 | paquetes ya preparados para que los usuarios puedan descargarlos a su |
| 39 | almacén de cliente. |
| 40 | |
| 41 | Los paquetes disponibles en repositorios remotos o locales se instalan, |
| 42 | actualizan y manejarlos mediante las utilidades de |
| 43 | {{{StdLib::TolPackage::Client}}} |
| 44 | |
| 45 | Las utilidades para la creación de repositorios se encuentran en |
| 46 | {{{StdLib::TolPackage::Server}}} |
| 47 | |
| 48 | == Creación de paquetes == |
| 49 | |