martes, 1 de marzo de 2016

Sincronizar Google contacts con vtiger contacts


7 pasos para habilitar la sincronización que Vtiger CRM con Google Calendar


Fue lanzado recientemente la versión 6.2 de Vtiger CRM y con ella el equipo VTiger anunció la reintroducción de la integración con el calendario y los contactos de Google, sin embargo, esta característica ha sido puesto en libertad con una serie de problemas, la prevención de su uso.
sin embargo, el equipo de Vtiger CRM, informaron que las correcciones en el problema sólo se integrarían en la próxima versión 6.3. Si no tiene intención de esperar a la próxima versión y desea utilizar esta característica inmediatamente, debe aplicar un parche de corrección.
En este artículo presentamos un paso a paso con las directrices para la aplicación de estas correcciones y otros procedimientos necesarios.
Este tutorial está basado en la solución de Richard Hills, miembro de Foro de Desarrolladores de Vtiger CRM , que es responsable aquí nuestro agradecimiento especial por su esfuerzo y cooperación.
PRECAUCIÓN: Antes de realizar el procedimiento siguiente, es muy aconsejable llevar a cabo carpeta de respaldo que se instala Vtiger CRM y base de datos. A pesar de que ya ha realizado pruebas y demostrado la eficacia de las correcciones presentadas no son responsables de los problemas o daños resultantes de la solución aquí disponible.

Para llevar a cabo las correcciones necesarias, siga los pasos y pasos.

PRIMER PASO - AJUSTES GOOGLE OAuth2 Y CLAVES DE CREACIÓN GOOGLE API

PASO 01

Si está utilizando una nueva instalación [ "reset"] de Vtiger CRM 6.2, los cambios relacionados con el apoyo de Google OAuth2 ya estarán presentes en el código fuente. En este modo, ir al Paso 3. C ontudo si hay una versión 6.2 migrado, se sugiere que siga el Paso 2.
PASO 02

Si su versión 6.x anteriores a 6.2, aplicar los cambios necesarios para incluir soporte para Google OAuth2
  • Descargar el archivo libraries.zip y descomprimirlo en el directorio raíz de Vtiger CRM;
  • Descargar los archivos WSAPP.zip y Google.zip y desde el gestor de módulos en la configuración CRM> Estudio> Gestor de módulos, acceder a la función "Instalar de postal" y la actualización WSAPP y módulos deGoogle a través de los archivos descargados.
PASO 03

Los desarrolladores acceder a la consola de Google a través de la URL: https://console.developers.google.com/project utilizando su dirección de correo de Gmail, crear el proyecto y obtener la clave de API, que se utiliza para sincronizar el CRM vtiger con Google Calendar y los contactos de Google.
Para facilitar la creación del proyecto, siga la guía proporcionada:
3.1. El acceso y la Consola para Google con su cuenta de Gmail
3.2. Una vez que acceda a la consola, se le remitirá a la página de abajo, donde se debe crear su diseño.Haga clic en el botón "Crear proyecto"
3.3. En la siguiente ventana, darle un nombre para el proyecto.
3.4. Seleccione la siguiente pantalla, el proyecto para utilizar las API [Optimizar su aplicación con un API de Google]
3.5. A continuación, seleccione la API "Calendario" y "Contactos" y haga clic en el botón "Habilitar API" para activar cada una de las API. 
PASO 04

Después de la activación de la API [Calendario y Contactos], vaya a la pestaña de la pantalla consentimiento y llenar en los campos que se muestran. la consentimiento pantalla se mostrará a los usuarios siempre que se solicite el acceso a sus datos privados. 
Cuando el usuario solicita el acceso CRM por primera vez, para sincronizar con Google Calendar, aparece la pantalla de consentimiento. Consulte el siguiente ejemplo:
Haga clic en el botón "Aceptar" para activar la conexión e iniciar el proceso de sincronización de datos.
PASO 05

Una vez completada la pantalla de información del consentimiento, en secuencia, establece las credenciales de acceso a las API. Para lograr esto, vaya a la pestaña Credenciales, que se encuentra en el lado izquierdo de la pantalla y luego hacer clic en "Crear un nuevo botón ID de cliente ".
Al acceder a la creación ID del cliente, completar la redirección de campo del Uri autorizada con las dos siguientes direcciones URL [uno en cada línea]
Autorizó redirección URI:
​1. http://{$site_URL}/index.php?module=Google&view=List&operation=sync&sourcemodule=Calendar&service=GoogleCalendar
​2. http://{$site_URL}/index.php?module=Google&view=List&operation=sync&sourcemodule=Contacts&service=GoogleContacts
En URIs dados más arriba, sustituya {} $ SITE_URL el valor de la variable de $ SITE_URL definido en el archivoconfig.inc.php ubicado en el directorio raíz del Vtiger CRM. Tenga en cuenta el siguiente ejemplo:
PASO 06

Ahora haga clic en el botón "Crear ID de cliente" y el ID de cliente y el cliente clave secreta se generará para el proyecto.

PASO 07

Copiar el ID de cliente y el cliente clave secreta para usar en la siguiente etapa.

PASO DOS - USO DE CREDENCIALES EN vtiger CRM para habilitar la sincronización con el calendario y CONTACTOS GOOGLE GOOGLE

Una vez logrado el primer paso, siga estos pasos:
1. Después de generar el ID de cliente y el cliente clave secreta, estos datos deben ser ingresados ​​en el archivo de Google Conector config.php en Vtiger CRM.
2. Modificar el archivo de módulos / Google / conectores / config.php en Vtiger CRM.
3. En este archivo se encuentra la clase Google_Config_Connector con dos variables: $ clientId y $ clientSecret con valores vacíos.
4. Ahora copiar el ID de cliente generada en https://console.developers.google.com/project y pegar el archivo comoel valor de la variable de $ clientId.
5. Copia de la clave secreta del cliente https://console.developers.google.com/project y pegue el archivo como elvalor de la variable de $ clientSecret.
6. Guarde el archivo después de los cambios.
Tras la finalización de todos los pasos anteriores, vaya a Vtiger CRM y realizar la sincronización con Google Calendar, que debería funcionar sin problemas. Realice el mismo procedimiento desde el módulo de Contactos para sincronizar con los contactos de Google.

TERCER PASO - CORRECCIÓN DEL TIEMPO ZONA

Después de correcciones sobre el problema con la sincronización, que ahora está haciendo los ajustes a continuación para fijar otro problema detectado con la fecha grabada en el orden del día, que se establece por defecto para utilizar el huso horario UTC y no definido por el usuario en la configuración. inc.php.
Para realizar ajustes, siga los siguientes pasos:
1. Con su cuenta de Gmail, Google Calendar cesar y establecer la zona horaria a GMT-3: 00 Sao Paulo;
2. Establecer la zona horaria en el archivo config.inc.php, línea 198, para: $ default_timezone = "América /Sao_Paulo";
3. Establecer los módulos de archivos / Google / conectores / Oauth2.php, en la línea 63, introduzca barra "/"antes de index.php? ...
4. Haga clic en el enlace de abajo, b aixe el archivo changeset_14431.zip y descompacte- en el directorio principa lCRM;
5. Realizar la siguiente corrección en la línea 143 del archivo /modules/Google/connectors/Calendar.php
Original:
maxModifiedTime = FECHA $ ( 'Ymd H: i: s', strtotime (Google_Contacts_Model :: vtigerFormat (final ($ calendarRecords) -> Getupdated ())) + 1);
Ajuste para:
maxModifiedTime = FECHA $ ( 'Ymd H: i: s', strtotime (Google_Calendar_Model :: vtigerFormat (final ($ calendarRecords) -> Getupdated ())) + 1);
6. Edite el archivo /modules/Google/models/Calendar.php y realice los siguientes ajustes
6.1. Reemplazar el archivo anterior, el siguiente fragmento de código [Tenga en cuenta que este fragmento de código aparece en cuatro lugares en este aquivo]:
Original:
$ TimeZone = new DateTimeZone ( 'UTC');
Ajuste para:
$ TimeZone = new DateTimeZone (date_default_timezone_get ());
6.2. En el mismo archivo, busque la función de abajo e introduce el contenido representado por fragmentos que comienzan con // EDIT y termina con // Edit End
vtigerFormat función pública ($ fecha) {
// EDITAR
$ = $ OrigDate fecha;
// Edit End
lista (fecha $, $ horaCadena) = explode ( 'T', $ fecha);
lista ($ hora, $ tz) = explode (, $ horaCadena '.');
// EDITAR - si esto es UTC permite cambiarlo para corregir equipo de sistema
si (substr ($ tz, -1) == 'Z') {
$ Fecha = new DateTime ($ origDate);
$ TimeZone = new DateTimeZone (date_default_timezone_get ());
$ Fecha-> settimezone ($ timeZone);
$ Fecha = $ fecha-> formato ( 'Ymd H: i: s');
devolver $ fecha;
}
// Edit End
devolver $ fecha. "". $ Time;
}
Para completar la aplicación de los procedimientos anteriores, el calendario y los contactos de Vtiger CRM pueden ser integrados y sincronizados perfectamente con Calendario / Contactos de Google.
Nos quedamos con la expectativa de que el equipo de vtiger CRM aplicar estas correcciones en la próxima versión 6.3 y nos libre de todo este trabajo. :-)