Configuración Klear

En esta sección hablaremos de lo básico para que klear empiece a funcionar en nuestro ordenador. Siendo los dos primeros puntos, los más importantes ya que su correcta configuración depende los generadores y el funcionamiento de la interfaz del Klear:

Atención

Recordar que para tener acceso o identificarse en la aplicación, hay que tener creado la Tabla KlearUsers. Además, la carpeta cache que debe estar en la carpeta application debe contar con todos los permisos; si se piensa usar la interfaz de Klear para subir archivos, debe estar creado la carpeta storage al mismo nivel de application con todos los permisos como se explica en [uuid].

$ cd /home/user/workspace/NuevoProyecto/web
$ mkdir application/cache storage
$ chmod 777 application/cache
$ chmod 777 storage

application.ini

Configuración del archivo /home/user/workspace/NuevoProyecto/web/application/configs/application.ini.

Por defecto el Zend te crea el siguiente archivo, siendo como prioridad la sección “[production]” configuración que se cogerá cuando se suba en producción y “[development : production]” la configuración cuando lo trabajaremos en local:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

Para Klear es necesario incorporar sus módulos y librerías que se deben haber descargado desde el GitHub de Irontec e intentar organizarlo de esta manera.:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[production]

phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

appnamespace = "KlearInterval"

resources.view[] = ""
resources.modules[] = ""
resources.frontController.moduleDirectory.klear = "/opt/klear-libs/modules"
includePaths.klearLibrary = /opt/klear-libs/library

autoloaderNamespaces[] = "KlearInterval"
autoloaderNamespaces[] = "Iron"

resources.frontController.actionhelperpaths.Iron_Controller_Action_Helper = "Iron/Controller/Action/Helper"
resources.frontController.plugins.AjaxLayout = "Iron_Controller_Plugin_AjaxLayout"
resources.view.helperPath.Iron_View_Helper = "Iron/View/Helper"

resources.db.adapter = "MYSQLI"
resources.db.params.dbname = "klearIntervals"
resources.db.params.username = "root"
resources.db.params.password = "pass"
resources.db.params.host = "localhost"

resources.locale.default = "es_ES"
resources.locale.force = true

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]

phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

resources.cachemanager.klearconfig.backend.name = Black_Hole

resources.frontController.moduleDirectory.klear = "/opt/klear-development/modules"
includePaths.klearLibrary = /opt/klear-development/library

Para poder trabajar en el entorno de desarrollo debemos indicarlo en el archivo /home/user/workspace/NuevoProyecto/web/public/.htaccess

SetEnv APPLICATION_ENV development

klear.ini

Configuración del archivo /home/user/workspace/NuevoProyecto/web/application/configs/klear.ini.

Advertencia

Sin este archivo, los generadores “db” , “yaml” y “model-mappers” no funcionan.

Es la base para que los generadores principales sepan cómo configurar la interfaz del Klear por defecto como idiomas, zona horaria, desarrollador responsable, etc. Es como configurar el application.ini, pero aquí solo podemos configurar los siguientes puntos:

Un ejemplo muy sencillo de cómo podría configurarse un klear.ini, sería el siguiente:

[production]
klear.languages[] = es
klear.languages[] = en
klear.languages[] = fr
klear.languages[] = pt

docs.author = "Nombre usuario"
docs.email = "nombre@usuario.com"

klear.countries.table = Countries
klear.countries.name = name
klear.countries.code = code

klear.timezones.table = Timezones
klear.timezones.tz = tz
klear.timezones.comment = comment
klear.timezones.countryLink = countryId

[testing : production]

[development : production]

Klear Languages

Son los lenguages que emplearíamos en nuestra Interfaz del Klear lo significaría que nuestros generadores con cuántos y qué idiomas serán necesarios para configurar nuestra base de datos, los yaml y los models-mapper. Luego por nuestra cuenta o por el cliente, se encargarán de traducir de los literales de la interfaz por si estos no se encuentran en nuestra base de datos de idiomas del Klear.

klear.languages[] = es
klear.languages[] = en
klear.languages[] = fr
klear.languages[] = pt

Docs Author

Este campo es opcional, pues no destaca en la interfaz del Klear pero sí en los archivos internos. Es una formalidad para identificar a la persona responsable del proyecto.

docs.author = "Your Name"
docs.email = "your@name.com"

Klear Countries y Klear Timezones

Estos dos campos se encuentran normalmente relacionados. Timezones depende de Countries. Tiene como objetivo contener datos estáticos de Países y Zonas horarias para hacer uso de ellos según sea necesario para nuestro proyecto.

Klear Countries

klear.countries.table = Countries
klear.countries.name = name
klear.countries.code = code
  • code es un campo único
  • name es un campo Multilang (se escribirá el nombre del país en cada idioma).
  • Deben estar los lenguajes definidos en klear.ini.
  • Deben estar creados los modelos para la tabla especificada.

Klear Timezones

klear.timezones.table = Timezones
klear.timezones.tz = tz
klear.timezones.comment = comment
klear.timezones.countryLink = countryId
  • tz es un campo único
  • comment es un campo opcional. Es un comentario para países con múltiples timezones…
  • countryId implica que la tabla de países tiene que existir, estar configurada en el klear.ini y estar ya importada (o hacerlo al mismo tiempo)