====== Firesinc ====== Algunas Apps de Smart usan unos servicios de Google que permiten seguir trabajando incluso cuando no haya cobertura con la web. En concreto se trata de la base de datos //Realtime Database// de la plataforma //Firebase// de Google. Nuestro programa de servicio //Firesinc// se encarga de sincronizar los datos de la base principal de Smart (los datos que vemos en SmartOffice por ejemplo) con la //Realtime Database// de Firebase de Google. Cada cliente que quiere trabajar con nuestras Apps basados en Firebase necesita una cuenta propia de Google, con su propio acceso a una //Realtime Database// de Firebase. ===== Requisitos para Firebase Realtime Database ===== Si no la tenemos ya, hay que crear una cuenta en [[https://google.es]]. Una vez ingresado nos dirigimos a la consola de Firebase, [[https://console.firebase.google.com/]]: {{ :usu:doc:firebaseconsole.png?600 |Consola Firebase}} Allí damos en el botón para crear un nuevo proyecto. El nombre será //firesinc//. Google añadirá una ID para que el nombre sea único. {{ :usu:doc:firebaseproyectop1.png?600 |Nuevo proyecto paso 1}} En el segundo paso simplemente confirmamos para avanzar al tercer paso, donde tenemos que elegir la ubicación de los datos que guarda Google. Por defecto pone Estados Unidos y **deberíamos cambiarlo a Europa**. Una vez creado el proyecto, creamos una base de datos //Realtime Database// como muestran las siguientes imagenes: {{ :usu:doc:firebasedbp1.png?600 |Crear Realtime Database paso 1}} {{ :usu:doc:firebasedbp2.png?600 |Crear Realtime Database paso 2}} En el siguiente paso hay que elegir otra vez la ubicación, esta vez de los datos de la base de datos. **De nuevo elegimos un país europeo.** {{ :usu:doc:firebasedbp4.png?600 |Crear Realtime Database paso 4}} Como último paso tenemos que crear un cuenta de servicio para nuestro proyecto. Esto se hace desde la consola de //Google Cloud//, [[https://console.cloud.google.com/]]. {{ :usu:doc:googlecloudconsole.png?600 |Google Cloud consola}} Seleccionamos en el menú principal (arriba izquierda) //APIs y servicios/Credenciales// y entonces el enlace //Administrar cuentas de servicio//. {{ :usu:doc:googlecloudconsolecredenciales.png?600 |Credenciales}} Añadimos una nueva cuenta desde el enlace //+ CREAR CREDENCIALES//: {{ :usu:doc:googlecloudconsolecuentaservicio.png?600 |Cuentas de servicio}} {{ :usu:doc:googlecloudconsolesa1.png?600 |Añadir cuenta paso 1}} {{ :usu:doc:googlecloudconsolesa2.png?600 |Añadir cuenta paso 2}} Ahora podemos ya dar en el botón //Listo// para crear la cuenta: {{ :usu:doc:googlecloudconsolesa3.png?600 |Nueva cuenta de servicio}} Desde el menú de acciones de la nueva cuenta escogemos //Administrar claves// y luego //Agregar clave/Crear clave nueva/JSON//. {{ :usu:doc:googlecloudconsolesa4.png?600 |Clave nueva}} Al dar en //Crear// se nos baja un fichero JSON que contiene la clave para usar la cuenta de servicio desde nuestro programa //firesinc//. Se lo tenemos que pasar a Smart de forma segura. ===== Configuración en SmartOffice ===== En SmartOffice, menú //Herramientas/Sincronización//, tenemos que crear una orden de sincronización con código ''FS'', que define todas las tablas (o vistas) que queremos sincronizar. {{ :usu:doc:firesincordensinc.png?600 |Orden de sincronización}}