Archivo de configuración: instalacion/alias.conf
Este template permite tener instalado en diferentes alias las diferentes unidades # académicas y también define de manera centralizada todo el manejo de nombres en los dominios # LOS ALIAS NO TIENEN QUE TENER PUNTOS Alias /v294 "proyectos/guarani2/3w/versiones/2.9.4/src/siu/www" <Directory "proyectos/guarani2/3w/versiones/2.9.4/src/siu/www"> Options FollowSymLinks DirectoryIndex index.php Order allow,deny Allow from all include proyectos/guarani2/3w/versiones/2.9.4/instalacion/rewrite.conf </Directory> <Location /v294> SetEnv ACC_ID des01 SetEnvIf always_match ^ ACC_ALIAS=/v294 </Location>
Archivo de configuración: instalacion/config.php
El archivo de configuración tiene un bloque principal llamado global. En este bloque se configuran valores globales a todos los puntos de acceso del proyecto. A continuación vemos un archivo de configuración de ejemplo: # instalacion/config.php
<?php return array ( 'global' => array ( 'produccion' => false, 'usar_personalizaciones' => false, 'sesion_timeout' => 600, 'sesion_maxtime' => 3600, 'dir_attachment' => '/tmp', // 'server_name' => '192.168.126.180', 'imagen_alumno_dir' => '/path/to/g3w2/src/siu/www/_comp/_img_alumnos', 'imagen_alumno_url' => 'http://localhost/g3w2/_comp/_img_alumnos', 'salt' => '9bf057558b90263987bd8f99caf2e92f7efc1a13', 'captcha' => array ( 'activo' => true, 'intentos_login' => 3, 'public_key' => '6Ldja84SAAAAAKdiYZIbx6qjQMtAdzWXiW474_Af', 'private_key' => '6Ldja84SAAAAABchqHlz65yICNXJQ8ENbZpLvmS5', ), 'log' => array ( 'activo' => true, 'nivel' => 'debug', 'barra_dev' => true, ), 'ini_debug' => false, /** * Indica el manejador de cache a utilizar. * NOTA: si utiliza un esquema de servidores distribuidos se recomienda * utilizar 'memcached' y configurar uno o más servidores de cache. * - Valores posibles: apc|memcached */ 'manejador_cache_memoria' => 'apc', /** * Configuración de servidores de memcached */ 'memcached' => array ( 'server_1' => array ( 'host' => 'localhost', 'port' => 11211, 'peso' => 1, ), ), 'smtp' => array ( 'from' => '**********@gmail.com', 'host' => 'smtp.gmail.com', 'seguridad' => 'ssl', 'auth' => true, 'port' => 465, 'usuario' => '**********@gmail.com', 'clave' => '**********', ), 'login_externo' => 'none', 'accesos' => array ( 'des01' => array ( 'ua' => 'unidadAcademica', 'personalizacion' => 'ejemplo01', 'database' => array ( 'vendor' => 'informix', 'database' => 'baseDeDatos', 'host' => 'localhost', 'server' => 'guarani', 'client_locale' => 'en_us.cp1252', 'service' => 1526, 'protocol' => 'olsoctcp', 'LogonID' => 'internet', 'pwd' => 'internet', 'EnableScrollableCursors' => 1, ), ), ), ), 'url_kolla' => 'http://localhost/siu/kolla/aplicacion.php', 'ssl' => array( 'alcance' => 'none',//'none' | 'all' 'redirigir_ssl' => true,//true | false ), 'cant_emails_a_enviar_por_corrida_cron' => 10, );
Veamos las entradas de este archivo una por una:
- produccion *: indica si el sistema está o no en un entorno de producción
- valores posibles: true|false
- usar_personalizaciones *: si se encuentran activadas o no las personalizaciones
- valores posibles: true|false
- sesion_timeout *: tiempo de timeout de la sesión en segundos
- valores posibles: número entero
- sesion_maxtime *: tiempo máximo de duración de sesión en segundos
- valores posibles: número entero
- imagen_alumno_dir : El comando ./guarani importar_fotos extrae las fotos de los alumnos de la base y las almacena en el sistema de archivos para que sea mas eficiente el uso de las mismas. En imagen_alumno_dir el sistema de archivos donde se van a guardar esas fotos.
- ini_debug: si está activo busca una clase siu\debug y ejecuta el metodo ini() despues de cargar el nucleo
- valores posibles: true|false
- valores defecto: false
- salt *: en algunos lugares de la aplicación se encriptan cadenas con sha1. Se utiliza este salt para hacer la encriptación
- valores posibles: string
- url_recursos: url de los recursos compilados del sistema (ver pasaje a producción). Si no se setea por defecto los busca en la carpeta www/_comp
- valores posibles: string; una url
- valores defecto: string vacío
- dir_temp: path al directorio donde se guardarán los archivos temporales del sistema (por ejemplo la cache de los templates twig). En esta carpeta apache debe tener permisos de escritura.
- valores posibles: string; un path
- valores defecto: instalacion/temp/[conf_id]
- dir_attachment: path al directorio donde se guardarán los attachments de los mensajes. Por defecto usa la carpeta especificada por dir temp. En esta carpeta apache debe tener permisos de escritura.
- valores posibles: string; un path
- valores defecto: dir_temp
- captcha: configuración de captchas (por defecto usa recaptcha). Si no se especifica este bloque no se usa captcha (es lo mismo que setear activo en false)
- activo: indica si se activan los captchas a través de toda la aplicación
- valores posibles: true|false
- intentos_login: la cantidad de intentos de login que se pueden hacer antes de que se solicite ingresar un captcha
- valores posibles: integer
- public_key: la clave pública de recaptcha
- valores posibles: string
- private_key: la clave privada de recaptcha
- valores posibles: string
- activo: indica si se activan los captchas a través de toda la aplicación
- log: configuración de logging. Si no se especifica este bloque no se usa el log (es lo mismo que setear activo en false).
- activo: indica si el log está activo o no
- valores posibles: true|false
- nivel: el nivel de log
- valores posibles: string; error | info | debug
- barra_dev: indica si la barra de development está activa
- valores posibles: true|false
- activo: indica si el log está activo o no
- accesos *: en esta entrada se configuran los puntos de acceso de la aplicación, por lo menos tiene que haber uno. Ver configuración de archivo de alias
- id_acceso: el nombre del acceso
- ua: unidad académica de este acceso. Es obligatorio.
- personalizacion: id de la personalización que se va a utilizar. Si está vacío no se utiliza ninguna personalización
- database: información de conexión de la base de datos
- id_acceso: el nombre del acceso
- url_kolla : es la conexión con Kolla. Más información en Conexión Kolla - Guaraní
- ssl: configuración de SSL, la cual define si la aplicación es accedida vía el protocolo HTTP o HTTPS.
- alcance: si se indica 'all' la aplicación es accedida vía el protocolo HTTPS, si se indica 'none' se accede vía el protocolo HTTP, esta ultima es la opción por defecto.
- valores posibles: 'none'|'all'
- redirigir_ssl: indica si se debe redirigir en el caso que se halla accedido con el protocolo incorrecto, por defecto es true (redirige).
- valores posibles: true|false
- alcance: si se indica 'all' la aplicación es accedida vía el protocolo HTTPS, si se indica 'none' se accede vía el protocolo HTTP, esta ultima es la opción por defecto.
- cant_emails_a_enviar_por_corrida_cron: cantidad de emails a enviar por cada corrida del cron o por cada vez que se corre el comando 'enviar_emails'. Si no se setea por defecto envía todos los emails encolados.
- valores posibles: número entero
- imagen_alumno_dir: Directorio donde se guardan las fotos de las personas, es utilizado por el comando importar_fotos para importar dichas fotos desde la base de datos al sistema de archivos.
- valores posibles: path a un directorio ya sea dentro del 3W o externo.
- imagen_alumno_url: URL donde se encuentran las fotos de las personas.
- valores posibles: URL.
- manejador_cache_memoria: Indica el manejador de cache a utilizar. (Opcional). Si utiliza un esquema de servidores distribuidos se recomienda utilizar 'memcached' y configurar uno o más servidores de cache.
- Valores posibles: apc|memcached
- Valores por defecto: apc
- memcached: Configuración de los servidores de memcached. (Opcional)
- Valores posibles: Servidores de memcached
Datos de conexión a la base de datos:
- ua: Código de Unidad Académica (sga_unidades_acad.unidad_academica)
personalizacion: nombre de la personalización si tienen personalizado el sistema. - vendor: Por defecto 'informix' ya que es el motor de base de datos de Guarani 2.
- database: Nombre de la base de datos de Guarani.
- host: Nombre o IP del server donde se encuentra el motor informix.
- server: Nombre de la instancia del motor informix.
- client_locale: Locale del Cliente. Por defecto en_us.cp1252.
- service: Nro de puerto habilitado para la conexion al servidor informix. Por defecto el puerto 1526.
- protocol: protocolo de conexion a la base. Por defecto 'olsoctcp'.
- LogonID: Nombre del usuario de la base. Debe ser un usuario con permiso de acceso a la base y ser un usuario de Guarani, es decir que exista en las tablas acc_usuarios y sga_datos_usuarios.
- pwd: Password del usuario de la base
- EnableScrollableCursors: Por defecto va el valor 1. Habilita los cursores.
* el campo es obligatorio
NOTAS: Este archivo puede ser configurado en cascada, es decir, los valores globales pueden ser sobrescritos por los valores que se definen a nivel de bloque de acceso. Por ejemplo si se quiere sobrescribir el valor reply_to de la configuración del correo electrónico se hace como sigue:
<?php return array( 'global' => array( .............. 'smtp' => array( 'from' => 'from_global@gmail.com', 'host' => 'smtp.gmail.com', 'seguridad' => 'ssl', 'auth' => true, 'port' => 465, 'usuario' => 'usuario_global@gmail.com', 'clave' => 'xxxxxxxxxxxxx', 'reply_to' => 'reply_to_global@gmail.com' ), .............. 'accesos' => array( 'des01' => array( 'ua' => 'MED', 'personalizacion' => 'medicina', 'database' => array( .............. ), 'smtp' => array( 'reply_to' => 'reply_to_medicina@gmail.com' ), ), 'des02' => array( 'ua' => 'VET', 'personalizacion' => 'veterinaria', 'database' => array( .............. ) ), ), ), );
En este ejemplo el bloque de acceso des01 (medicina) sobrescribe el valor global reply_to a reply_to_medicina@…, en cambio el bloque de acceso des02 (veterinaria) utiliza el valor global (reply_to_global@…).
Archivo de configuración: instalacion/login.php
└── instalacion └── login.php
Toda la configuración de la autenticación se realiza en el archivo de configuración /instalacion/login.php. Aquí se debe retornar un arreglo de los mecanismos de autenticación disponibles en el proyecto.
return array( 'form' => array( 'activo' => true, 'clase' => 'modelo\\autenticacion\\auth_form', 'parametros' => array( ) ),
Parámetros
- Llave del arreglo: Se utiliza para referenciar al provider en distintas fases del proceso, y también aparece en la URL.
- Activo: Si está activo este proveedor en el proyecto.
- Clase: Clase que extiende de kernel\acceso\authentication_provider. En guaraní preferentemente extender de auth_guarani.
- Parámetros: Se entrega al constructor de la clase, y cada clase lo maneja a discreción.