vtigerCRM-Spain

vtigerCRM-Spain::Crear Módulo vtlib

Gracias a |Marlon Alfonzo que ha publicado esta mini guía en el foro.

Uso e Implementación de vtlib

Vtiger, a nivel de código, es muy amplio y complejo. Su paradigma de programación es la orientación a objetos y está basando en Modelo Vista Controlador, por ende es bastante complejo adentrarse en el código fuente. Para ello, los desarrolladores de Vtiger ponen a disposición vtlib una API que nos permite crear y modificar módulos del sistema. A continuación se explicará detalladamente el uso e implementación de esta API tan útil.

Existe una documentación proporcionada por Vtiger llamada vtlib-2.1.pdf. Este manual es de gran ayuda, sin embargo está en ingles y carece de detallada información. La siguiente explicación está basada en ese manual y en diversos foros conseguidos por la web que complementan dicho manual. La versión 5.4.0 del Vtiger ya contiene vtlib. Esta documentación está basada en dicha versión. Creación de un nuevo módulo

Se va a realizar el ejemplo que se explica en vtlib-2.1.pdf, que es la creación del módulo Payslip (Nómina) en el CRM Vtiger. Requerimientos: • Vtiger 5.4.0 instalado. • Usuario para ingresar al sistema. • Descargar el archivo vtlib-2.1.zip de la web. • Tener acceso a la gestión de base de datos del Vtiger en MySql.

1) Se deben crear tres (3) tablas nuevas en la base de datos con estos mínimos parámetros: a. vtiger_<nombreModulo> (<nombreModulo>id INTEGER). b. vtger_<nombreModulo>cf (<nombreModulo>id INTEGER PRIMARY KEY). c. vtiger_<nombreModulo>grouprel (<nombreModulo>id INTEGER PRIMARY KEY, groupname VARCHAR (100)).

Para este caso del ejemplo: a. vtiger_payslip (payslipid INTEGER). b. vtger_ payslipcf (payslipid INTEGER PRIMARY KEY). c. vtiger_ payslipgrouprel (payslipid INTEGER PRIMARY KEY, groupname VARCHAR (100)).

Estas tablas son necesarias para cada módulo a crear. Fueron creadas con los campos mínimos para poder ser creado el módulo. Sin embargo en estas tablas se almacenará toda la data correspondiente a este módulo.

2) En el directorio principal del Vtiger se encuentra una carpeta llamada vtlib/ModuleDir/ dentro de esta carpeta se encuentran varias carpetas con el nombre de las distintas versiones de Vtiger, en este caso necesitamos copiar la carpeta vtlib/ModuleDir/5.4.0/

3) Pegamos esta carpeta en el directorio vtigercrm/modules/ junto al resto de los módulos del sistema. Una vez añadido la carpeta 5.4.0 la renombramos al nombre de nuestro módulo. En este caso Payslip.

4) Debemos renombrar los siguientes archivos de la carpeta vtigercrm/modules/Payslip/: a. ModuleFile.php por <nombreModulo>File.php b. ModuleFije.js por <nombreModulo>File.js c. ModuleFileAjax.php por <nombreModulo>Ajax.php

Para este caso: a. ModuleFile.php por PayslipFile.php b. ModuleFije.js por PayslipFile.js c. ModuleFileAjax.php por PayslipAjax.php

5) Se debe modificar el archivo PayslipFile.php para adaptarlo al modulo a crear. En este caso, el archivo ModuleFile.php ya tiene los parámetros del módulo Payslipt por defecto. Se deben cambiar las primeras 85 líneas (aproximadamente) de la clase Payslipt y adaptarlas al modulo que se vaya a crear. Ejemplo:

a. class ModuleClass extends CRMEntity{ por class Payslip extends CRMEntity{

b. var $table_name=’vtiger_payslip’ por var $table_name=’<tablaModulo>’

6) Ahora usaremos el archivo vtlib-2.1.zip. De aquí solo necesitamos dos archivos: vtlib.test.html y vtlib.test.Create.Module1.php. Ambos archivos se deben descomprimimos en el directorio principal del Vtiger. El archivo vtlib.test.Create.Module1.php es el que contiene la configuración previa para la creación del módulo. Este archivo viene con la configuración del modulo Payslip predeterminada. Para otros módulos este archivo también debe ser modificado cuidadosamente. Aquí se podrán agregar bloques, filtros, campos, etc. Sin embargo este archivo, sea cual sea el caso, solo debe tener el siguiente cambio. Es el siguiente:

a. Bajo la línea: $module=initTables(); b. Escriba la siguiente línea: $module=initWebService();

7) Ahora solo resta ejecutar el script para la creación del nuevo módulo. Para esto podemos hacerlo de dos maneras distintas, según sea el caso:

a. Para este ejemplo del modulo de Payslip hacemos lo siguiente: Abrimos el archivo vtlib.Test.html con nuestro navegador mediante la dirección http:<servidor>/<directorioPrincipaldeVtiger>/vtlib.Test.html y presionamos el botón “Create Payslip Module”. b. Para la creación de otro módulo solo se ejecuta el archivo vtlib.Test.Create.Module1.php (O el nombre que se le haya asignado a este archivo) con nuestro navegador mediante la dirección http:<servidor>/<directorioPrincipaldeVtiger>/vtlib.Test.Create.Module1.php

8) Por último se debe ingresar al sistema y ya nuestro módulo deberá estar creado en la lista de “Más”.

Marlon Alfonzo Caracas-Venezuela