Osumi Framework

Configuración

El archivo de configuración app/config/config.json es un archivo JSON con pares clave/valor con los que configurar la aplicación que se quiere crear. Todos los campos son opcionales, por lo que se podría dejar el archivo sin valores (por ejemplo {}), pero conviene configurarlos para una experiencia más personalizada. Estos son los posibles parámetros:

db Sirve para indicar la configuración de la base de datos a usar.
Parámetro Valor por defecto Explicación del parámetro
host (no tiene) Nombre de host o URL de la base de datos a usar. Por ejemplo localhost o una dirección IP.
user (no tiene) Nombre de usuario con el que acceder a la base de datos.
pass (no tiene) Contraseña del usuario con el que acceder a la base de datos.
name (no tiene) Nombre de la base de datos a la que conectarse.
charset utf8mb4 Juego de caracteres con los que comunicarse con la base de datos.
collate utf8mb4_unicode_ci Juego de caracteres para los campos de tipo texto en la base de datos.
cookies En el caso de que se quieran usar cookies personalizadas, cookies sirve para configurarlas.
Parámetro Valor por defecto Explicación del parámetro
prefix (no tiene) En el caso de que varias aplicaciones compartan un mismo dominio, mediante un prefijo se puede hacer que las cookies de la aplicación no colisionen con otras de otra aplicación.
url (no tiene) Dominio en el que serán validas las cookies. Hay que indicar un punto antes del dominio, por ejemplo .osumi.es.
smtp Datos para el envío de emails mediante SMTP (en caso de que el parámetro base_modules/smtp sea true).
Parámetro Valor por defecto Explicación del parámetro
host (no tiene) Nombre de dominio o dirección IP del servidor de correo. Por ejemplo smtp.gmail.com.
port (no tiene) Puerto al que conectarse al realizar el envío. Por ejemplo en el caso de Google sería el 587.
secure tls Tipo de cifrado usado al realizar el envío de datos al servidor de correo.
user (no tiene) Usuario con el que se realizará el envío de emails.
pass (no tiene) Contraseña del usuario con el que se realizará el envío de emails.
error_pages Sirve para configurar páginas personalizadas en el caso de errores de servidor.
Parámetro Valor por defecto Explicación del parámetro
403 (no tiene) URL a la que redirigir en el caso de un error 403 (error de autenticación)
404 (no tiene) URL a la que redirigir en el caso de un error 404 (página no encontrada)
500 (no tiene) URL a la que redirigir en el caso de un error 500 (error interno del servidor)
Parámetro Valor por defecto Explicación del parámetro
log_level DEBUG Indica el nivel de depuración que se quiere establecer. Hay 4 niveles: ALL (todos los mensajes enviados a objetos OLog, incluso los internos del Framework), DEBUG (todos los mensajes de la aplicación, no los del Framework), INFO (mensajes de tipo INFO o tipo ERROR) y ERROR (solo los mensajes de tipo ERROR).
base_url (no tiene) Indica la dirección completa de la aplicación, por ejemplo https://framework.osumi.es/.
admin_email (no tiene) Indica la dirección email del creador de la aplicación. Se muestra en las páginas de error no personalizadas.
default_title (no tiene) Título por defecto que se incluira en el campo HTML title de cada página. Se puede configurar en cada acción para mostrar uno personalizado.
lang es Código de idioma por defecto en caso de querer usar traducciones. Se usa en caso de que el usuario que accede a la aplicación tenga un idioma no contemplado en las traducciones.
css [] Lista con los archivos CSS que se incluirán. Solo hay que poner el nombre del archivo y el framework lo rellenará. Por ejemplo poniendo "common", el framework incluirá el archivo common.css de la carpeta web/css.
ext_css [] Lista con los archivos CSS EXTERNOS que se incluirán. En este caso hay que indicar la URL completa del archivo que se quiere incluir, por ejemplo una URL de Google Fonts.
js [] Lista con los archivos JS que se incluirán. Solo hay que poner el nombre del archivo y el framework lo rellenará. Por ejemplo poniendo "jquery", el framework incluirá el archivo jquery.js de la carpeta web/js.
ext_css [] Lista con los archivos JS EXTERNOS que se incluirán. En este caso hay que indicar la URL completa del archivo que se quiere incluir, por ejemplo la URL de jQuery del CDN.
extra {} Este campo permite guardar valores personalizados mediante pares clave/valor. Por ejemplo "numero_articulos_por_pagina": 10.
libs [] Lista con las librerías de terceros que se incluirán en el framework. Por ejemplo "another/library" incluiría el archivo library.php de la carpeta ofw/library/another. En caso de que estas librerías no se encuentren la carga se detiene y se muestra un error indicando que el archivo no se ha encontrado.
dir {} Lista de directorios personalizados. El framework tiene una lista de directorios a los que se puede acceder para consulta, pero el usuario puede definir los suyos propios. Por ejemplo "thumb_dir": "web/img/thumb". En este campo se puede añadir las claves de directorios previamente definidos indicándolos entre dos llaves. Por ejemplo, el caso anterior mejor definido sería "thumb_dir": "{{web}}img/thumb" donde {{web}} se sustituiría con la ruta al directorio web del framework.
environment (no tiene) La configuración del sitio se realiza en el archivo config.json, pero se pueden crear archivos "secundarios" basados en entornos. Por ejemplo, si se indicase "environment": "dev", tras la carga del archivo de configuración, se cargaría el archivo config.dev.json. Estos archivos secundarios pueden contener los mismos parámetros y sustituirán a los del archivo principal. De este modo se puede tener la configuración de un sitio de prueba en un archivo y del sitio en producción en otro, y realizar la carga de uno u otro simplemente cambiando el valor de este parámetro.


	{
		"db": {
			"host": "localhost",
			"user": "demo_ofw",
			"pass": "db_password",
			"name": "demo_ofw",
			"charset": "utf8mb4",
			"collate": "utf8mb4_unicode_ci"
		},
		"cookies": {
			"prefix": "osm",
			"url": ".osumi.es"
		},
		"log_level": "DEBUG",
		"base_url": "https://demo.osumi.es/",
		"admin_email": "",
		"default_title": "Osumi Framework",
		"lang": "es",
		"smtp": {
			"host": "smtp.gmail.com",
			"port": 587,
			"secure": "tls",
			"user": "inigo.gorosabel@gmail.com",
			"pass": "password"
		},
		"error_pages": {
			"404": "/not-found"
		},
		"css": ["common"],
		"ext_css": [],
		"js": ["common"],
		"ext_js": [],
		"extra": {
			"key": "value",
			"foo": "bar"
		},
		"libs": ["another/library"],
		"dir": {
			"test": "{{app_controller}}test/"
		},
		"environment": "dev"
	}

Y ejemplo de un archivo condig.dev.json en el que se sobreescriben y añaden valores al archivo config.json:



	{
		"base_url": "https://demodev.osumi.es/",
		"extra": {
			"key": "boooo"
		}
	}