Directorios y archivos

Se ha buscado que cada uno de los archivos se encuentren agrupados de acuerdo a su naturaleza en directorios que reflejen el propósito o característica común entre ellos. Asi, los archivos de javascript se encuentran en un directorio llamado js/, lo diccionarios de equivalencias de datos en lang/, la información referente a módulos o servicios en mod/ y así.

Si el archivo forma parte de la entrega propia del sistema, se encontrará a nivel raíz. Si tiene alguna funcionalidad especial se encontrará dentro de un directorio correspondiente. Y si es una librería o función ajena al sistema o proporcionada por un tercero, pero necesaria para el correcto funcionamiento del sistema se encontrará en un subdirectorio llamado lib/.

Pongamos como ejemplo la siguiente estructura:

  • js/
    • custom.js
    • lib/
      • jquery.min.js
      • modernizr.min.js
    • sup/
      • validate.min.js
    • tabslet/
      • jquery.tabslet.js
      • jquery.tabslet.min.js
      • tabslet.jquery.json
En esta se muestra el directorio de javascript, donde el script custom.js es utilizado por esa instalación en particular. En sup/ se encuentra validate.js que requiere el sistema, así como scripts de terceros jquery.min.js y modernizr.min.js en la carpeta de lib/. También existe un jquery script llamado tabslet que no es básico para el funcionamiento del sistema pero se utiliza en este caso y se almacena en un directorio exprofesso con el mismo nombre.

Tablas, funciones, objetos y ejemplos

Debido a la naturaleza de datos y lenguajes de programación, aún cuando se ha buscado conservar estándares lo más posible, no se ha logrado por dicha razón. Se ha procurado que ciertos archivos o librerías contengan la misma funcionalidad a lo largo del sistema, hasta donde la notación o capacidades del lenguaje lo permitan.

Aunque conservan el mismo nombre tanto los archivos, objetos y funciones, la notación puede variar. Así, una llamada para recuperar un valor pasado como parámetro, cambia de envGet("valor"); en Perl a $env->envGet("valor"); en Php, ya que el primero no está orientado a objetos.

Por la misma naturaleza de la información y su funcionalidad, no ha sido posible incluir ejemplos de todas las funcionalidades, razón por la cual se muestran de manera somera. No se ha pretendido hacer una documentación extensiva o soportada por sistemas externos ya que el sistema al estar desarrollado en código abierto, permite una valoración y modificación del código, facilitando su entendimiento para un programador.

Equivalencias e independencia

Aún con el mismo nombre y mismo propósito, no todas las librerías y sus funcionalidades están disponibles en cada uno de los lenguajes. La siguiente es una lista de librerías que están disponibles en más de dos lenguajes:

Js
Perl
Php
crypt
SI
SI
debug
SI
SI
sup_db
SI
SI
sup_env
SI
SI
sup_user
SI
SI
validate
SI
SI

Se ha procurado que muchas de las funciones y liberías puedan ser ejecutadas independientemente, a fin de poderlas aplicar a otros sistemas. Estas son:

Css:
  • layout.css
  • typo.css
  • effects.css
Javascript:
  • validate.js
Perl:
  • crypt.pl
  • debug.pl
  • validate.pl
Php:
  • crypt.php
  • debug.php