Introducción

¿Qué es SuiteCRM?

La historia de SuiteCRM comienza con SugarCRM, el cual fue creado en 2004, y que contaba con una versión open source llamada Community Edition junto a varias versiones de pago. Sin embargo, y de forma inesperada, SugarCRM no incluyó en el release de la version 7 la version Community Edition y además, informó que solo brindaría soporte limitado a las anteriores versiones abiertas.

Es entonces que SalesAgility genera un Fork sobre SugarCRM Community Edition para crear SuiteCRM, desarrollándose sober las fortalezas del antiguo SugarCRM pero extendiendo y añadiendo funcionalidades integradas con nuevos plugins de código abierto.

Acerca de ésta guía

Ésta guía está pensada para desarrolladores que están familiarizados (o al menos tuvieron algún tipo de contacto previo) con la version base de SuiteCRM, pero que desean llevar a cabo sus propias customizaciones. SuiteCRM es un software extenso que ya cuenta con más de diez años de desarrollo, lo que torna impráctico desarrollar una guia que cubra todos los aspectos de su composición. Sin embargo, ésta guía está construida sobre los ejes más importantes del software, permitiendo satisfacer el 99% de las necesidades de personalización que puedan ser necesarias. Para el 1% de los casos restante, al final se incluye un capítulo sobre recursos extras que deberían dar solucion a cualquier otra eventualidad. Por favor, siéntase libre de llevar a cabo cualquier comentario (o corrección) que usted considere importante contactándonos en JSMackin.co.uk.

Cómo leer ésta guía

Cada capítulo en esta guía guarda la intención de abordar cada tema de forma independiente, de manera que el lector pueda saltar entre capítulos en base a sus intereses y necesidades. Esto produce ligeros solapamientos sobre algunas ideas o términos, los que estarán debidamente vinculados mediante links con los capítulos donde se extiende la información respecto a esas aplicaciones o funcionalidades.

Algunos pasajes también pueden hacer referencias a rutas de archivos u otros bloques de código que puedan tener valores variables; por ejemplo, los nombres de los Controllers contienen el nombre del módulo o archivo, los cuales son arbitrarios. En esos casos, se los marcará con la etiqueta <TheModuleName> (para nombres de módulos), <TheFileName>(para nombres de archivos) o lo que corresponda según el caso. En esos casos, se debe interpretar por los nombres concretos de los módulos, archivos, etc…​

Configuración de SuiteCRM

Ésta guía está desarrollada tomando como base SuiteCRM v7.1.5, la cual es la versión más actualizada al momento de la redacción del documento. Para obtener las instrucciones de instalación más actualizada en todo momento, se puede consultar la wiki de SuiteCRM. suitecrm.com/wiki/index.php/Installation.

Website

El instalador de SuiteCRM se lo puede encontrar en SuiteCRM.com. Si se desea comenzar con una interfaz completa y customizarla en base a las necesidades, la opción mas recomendable es SuiteCRM Max. Caso contrario, puede elegir la que mejor se adapte a sus requerimientos.

GitHub

SuiteCRM también está disponible vía GitHub en github.com/salesagility/SuiteCRM. Cada versión de SuiteCRM está taggeada, de forma que fácilmente pueda descargar la versión que usted precise.

Ajustes Iniciales

Realizada la instalación, se pueden realizar algunas configuraciones para llevar a cabo ajustes sobre la instancia sobre la que se está desarrollando. Éstos cambios deberían mejorar el flujo de desarrollo y productividad así como ayudar a identificar problemas que puedan llegar a generarse en el curso de su customización.

Developer Mode (Modo Desarrollador)

SuiteCRM guardará en cache diversos archivos de los últimos requerimientos ya procesados o consultados a fin de mejorar la performance, tales como las plantillas (templates) de Smarty. El modo desarrollador desactiva algunos de esos procesos de caching, de manera que los cambios en los archivos modificados se vean de forma inmediata (salvando algunas excepciones, tales como las del caso de extensions). Esta opción puede ser activada tanto desde la edición del archivo de configuración como desde la página General settings (ajustes generales) dentro del administrador.

Log Level (Nivel de Log de error)

El nivel por defecto de log de errores de SuiteCRM es fatal. Éste es un buen nivel de log para instancias de producción, pero quizás en entorno de desarrollo usted desee mantener el nivel del log en info o debug, de manera que la salida del log sea más verboso en caso de que algo salga mal y se pueda capturar la referencia al error. Para más información, puede dirigirse a chapter on logging

Display errors (Muestra de mensajes de error)

Es probable que le resulte práctico apagar la muestra de mensajes de error. Lamentablemente, en la actualidad SuiteCRM tiene varios mensajes y advertencias de error por default, por lo que la opción display_errors activa pueden generar conflictos con las páginas AJAX y sus links, rompiendo sus enlaces.

Considerando ésto, es recomendable el checkeo directo de los logs PHP o realizar activaciones selectiva de display_errors a fin de asegurar que el código creado no está generando notificaciones, advertencias o errores.

XDebug

XDebug es una extensión que proporciona capacidades de creación de perfiles y depurado en PHP. Ésta es una herramienta que puede mejorar masivamente la productividad del desarrollador, brindando herramientas para la codificación y, particularmente, simplificando el rastreo de los errores.

Verifique el sitio de XDebug para conocer más acerca de XDebug.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.