http://lists.elastix.org/pipermail/desarrollo/attachments/20100419/7d244795/attachment-0006.pdf

Anuncio
Manual de Desarrollado de Módulos en Español
Version 1.0-4 Beta
Escrito por: Bruno Macias V.
(bomv.27@gmail.com)
Introducción
Módulo Developer
Este gran módulo distribuido en tres submódulos hasta la presente fecha, ha sido desarrollado para realizar acciones de creación (Build Module), eliminación (Delete Module) y mantenimiento de los lenguages (Language Admin) para uso de desarrolladores que conocen el framework Elastix, lenguaje de programación PHP, bases de datos MySQL y SQLite.
Esta herramienta constituye un ahorro en codificación y transparencia en procesos rutinarios al empezar a desarrollar un modulo para la GUI de Elastix.
Se recomienda tener conocimientos de arquitectura MVC2 (Modelo de Capas), conocimiento en programación orientada a objetos POO, conocer las tecnologías web tanto para el lado del cliente y para el lado de servidor como html, style, javascript, ajax, etc.
Detalles
Build Module:
Este es el principal submódulos para developer, genera un módulo base o esqueleto para luego continuar con el desarrollo de la lógica o el fin que el modulo presenta. Esto ayuda en tomar el tiempo debido a la lógica o funcionalidad, por ende detalles de diseño y tareas repetitivas (codificaciones similares o idénticas) no tomarían mayor tiempo en crearlas.
Al crear un modulo con el Build Module va a generar dos cosas en la plataforma GUI Elastix basando en su framework:
●
●
Generación del menú o menús según sea el nivel donde estará el modulo. Son tres niveles que Elastix maneja para sus menús.
Generación de la programación esqueleto ubicado en la carpeta modules del framework Elastix, esta nuevo módulo su carpeta tiene el nombre del id que se halla elegido en la interfaz de Build Module y este no debe repetirse.
Hay que notar que la generación del esqueleto contiene programación dinámica, que inteligentemente se crea según la descripción del módulo, ya sea este un reporte (grip), un formulario o un framed (para integrar otros software dentro de la GUI Elastix mediante el uso de un frame).
El Build Module esta seccionado en tres partes:
●
●
●
Información General
Localización
Descripción del módulo
Presentación general de la vista de Build Module:
Información General
Esta sección nos ayuda en definición de nombre e identificador único del módulo, datos de la persona que crea el modulo para comentarlas en las cabeceras de cada archivo de programación en PHP y el nivel de visión para los usuarios de este módulo.
Parámetro
Descripción
Module Name
Nombre del Módulo, iniciando la primera letra de cada palabra con mayúscula
Module Id
Identificador del Módulo, debe ser en letra minúscula y separada por un sub guión tal como se muestra en la figura de arriba.
Group Permission
Esta opción permite elegir el grado de accesibilidad de los usuarios a este módulo.
Your Name
Definimos el nombre de quien hizo el módulo.
Your e­mail
Dirección de correo electrónico de quien hizo el módulo.
Location
En esta sección indica donde vamos a ubicar el menú del nuevo módulo. Elastix maneja tres niveles de menús por ende debemos tener un poco de cuidado en el ingreso de los datos, la imagen muestra a elección de menú de nivel 3 y se quiere que se un menú totalmente nuevo. A continuación se explica como llenar estos campos.
Al momento de ubicar un módulo en el menú Elastix se pueden presentar cuatro alternativas:
Nivel 1
Existe
Nivel 2
Nivel 3
Descripción del menú a crear
A crear
No se da el caso
Un menú de segundo nivel con un menú padre de nivel 1 que ya existe, en el caso particular de Elastix los menús padres son: System, PBX, Fax, Email, IM, Reports, Extras, Agenda y Developer.
No Existe A crear
No se da el caso
Un menú de segundo nivel con un nuevo menú padre de nivel 1, en este caso el menú padre no existe y sera creado para ello hay que ingresar su nombre y su id en los respectivos campos de Level 1 Parent Name y Level 1 Parent Id.
Existe
Existe
A crear
Al crear el menú de tercer nivel existen tanto el padre del segundo y primer nivel, en este caso solo se selecciona los respectivos menús padres de los combos que aparecen.
Existe
No Existe
A crear
En este caso habrá que ingresar los datos para crear tanto el nuevo menú como el del padre del mismo, para ello están los campos, Level 2 Parent Name y Level 2 Parent Id.
No Existe No Existe
A crear
Este es el caso en que se desea un menu de tercer nivel pero totalmenete nuevo en categorias de los menús para ello estan los campos:
Level 2 Parent Name y Level 2 Parent Id.
Level 1 Parent Name y Level 1 Parent Id.
Creación de un módulo en un menú de segundo nivel con padre de nivel 1 existente.
Creación de un módulo en un menú de segundo nivel con padre no existente.
Creación de un módulo en un menú de tercer nivel, tanto los padres de nivel 1 y nivel 2 existen.
Creación de un módulo en un menú de tercer nivel, en este caso hay que ingresar los datos para el menú de segundo nivel que no existe pero el de primer nivel si existe. Crear un módulo en un menú de tercer nivel donde sus padres no existen.
Parámetro
Descripción
Module Level
Aqui definimos el nivel del modulo este puede ser 2 ó 3
Level 1 Parent Exists
Esta opción es muy importante pues aqui definimos si el modulo a crear tiene un "módulo padre de nivel 1 existente".
Si: Escogemos el "módulo padre".
No: Procederemos a ingresar información en 2 campos adicionales que aparecen.
Level 1 Parent Name y Level 1 Parent Id
Level 1 Parent Name
Definimos el nombre del "Modulo Padre" siguiendo el mismo formato es decir solo la primera palabra con letra mayúscula
Level 1 Parent Id
Definimos el identificador del "Modulo Padre" siguiendo el mismo formato es decir con letra minúscula y separada de subguiones si es necesario.
Level 2 Parent Exists
Esta opción es muy importante pues aqui definimos si el modulo a crear tiene un "módulo padre de nivel 2 existente".
Si: Escogemos el "módulo padre".
No: Procederemos a ingresar información en 2 campos adicionales que aparecen.
Level 2 Parent Name y Level 2 Parent Id Level 2 Parent Name
Definimos el nombre del "Modulo Padre" siguiendo el mismo formato es decir solo la primera palabra con letra mayúscula
Level 2 Parent Id
Definimos el identificador del "Modulo Padre" siguiendo el mismo formato es decir con letra minúscula y separada de subguiones si es necesario.
Module Description
Esta sección su importancia esta en que se define que tipo de módulo va a crear, entre ello tenemos de tres tipos:
– Formulario
– Reporte
– Frame
Tipos de campos que se pueden crear en la definición de un módulo tipo formulario:
NOTA: Con los botones ">>", "<<" podemos añadir o quitar los campos a insertar en nuestro formulario. Ademas, cuando es de tipo grid el campo "Field Type" es oculto, solo basta con escribir en "Field Name" que son los nombres de las columnas a presentar.
Parámetro
Descripción
Module Type
Esta opción nos permite elegir el tipo de modulo que deseamos crear, tenemos tres tipos.
Form: Creacion de un módulo formulario.
Grid: Creación de un módulo reporte
Framed: Creación de un módulo para contener de frame.
Field Name
Definimos el nombre del campo a crear
Field Type
Definimos el tipo del campo a crear
Al guardar los datos establecidos para el nuevo módulo y en especial los de tipo formulario y reporte esto creara el siguiente árbol de directorios en la ruta documentRoot/modules donde documentRoot es /var/www/html para Elastix :
Como podrá notar un modulo tiene la misma arquitectura general del framework, arquitectura web MVC2 por ende se define a esto como un MVC2 dentro de otro MVC2 una definición de recursividad de grado 2. En que nos ayuda esto, es que podemos de forma inmediata hacer similitud que las carpetas tienen las siguientes relaciones:
● themes es la capa vista
● index.php es la capa control
● libs es la capa modelo
Carpetas como langs son importantes recalcar ya que aquí se definirán las traducciones para el módulo.
Delete Module:
El submenú "Delete Module" del módulo "Developer" en Elastix nos permite eliminar módulos en todos sus niveles. Primero tendrá que eliminar los submódulos que existan en el módulo padre para poder eliminarlo por completo.
Nota:
Tener precaución al escoger la opción “Delete Files” que esto eliminará el contenido de los módulos por completo, usted debe estar seguro al aplicar esta opción.
Language Admin:
El submódulo "Language Admin" del módulo "Developer" nos permite administrar los diferentes idiomas de los módulos en Elastix.
Podemos consultar si existe un lenguaje definido para un módulo, tambien para el FRAMEWORK y observar una lista de palabras con su respectiva traducción como lo podemos observar en la figura de abajo. Estos valores pueden ser modificados de acuerdo al idioma que desee traducir y guardar los cambios presionando el botón "Save all".
Agregar nuevas traducciones y/o lenguajes a un módulo
Para agregar traducciones o definiciones de lenguajes en Elastix existe la siguiente ventana:
Esta ventana nos indica si vamos a crear una nueva traducciones a un lenguaje existente o si vamos a crear totalmente un nuevo lenguaje, algo de notar es que si elejimos un nuevo lenguaje para un módulo dado este establecera las palabraso traducciones basandose del lenguaje en ingles, por ende cuando usted cree su nuevo lenguaje notará que esta lleno en ingles y de ahi podráhacer la traducciones a su idioma.
También nos permite la traducción a otro idioma palabra por palabra de un módulo como lo podemos observar en la figura.
Descargar