XOneRepository


Es un sistema de carpetas donde se centralizan todos los repositorios utilizados por los distintos módulos de XOne, como son:

XOneLive: Sistema de actualizaciones para los archivos que van a recibir los dispositivos.
Provisioning: Gestión de las base de datos a enviar a los dispositivos, para provisionar los datos y que tengan una imagen del momento en el que se les envía.
XOneManager: Sistema de archivos para gestionar la primera instalación del dispositivo, una vez se ha dado de alta y es la primera vez que se conecta con el sistema, siempre y cuando esté autentificado con el sistema central por su identificador único.
Réplica: El sistema de réplica se puede configurar para el envío de archivos, por tanto, en esta carpeta se guardarán todos los archivos enviados por los dispositivos.


A continuación, se explican más detalladamente cada una de las carpetas del sistema y su configuración y uso de las mismas.

Imagen total de todas las carpetas del sistema:


Definición de cada una de las carpetas:


  • Installations: carpeta donde están las primeras instalaciones, utilizar un nombre u otro se configura en los ficheros de configuración del XOneLive y XOneManager.


Su configuración es por licencia y dentro de esta, por cada una de las plataformas que están homologadas en dicho proyecto.

Dentro de la carpeta de las plataformas, la estructura es prácticamente igual para todas ellas, aunque se podrá, por configuración propia del proyecto, poner versiones de la aplicación distinta para cada plataforma.




Dentro de la carpeta de la plataforma nos encontramos con las siguientes subcarpetas:

  • Install.reg: fichero de registro, con el que se configuran opciones básicas, además de mantener compatibilidad con todas plataformas, ya que poco a poco va pasando a estar en desuso.


##DATABASE_LIC##=nombreproyecto
  • License.ini: fichero de configuración de réplica genérico, de tal forma que está configurado con macros que en el proceso de creación y envío de la actualización se le pone el valor de su licencia específico. En esta ruta se puede ver toda la configuración que tiene dicho fichero.

Los datos que puede tener este fichero son los siguientes:

  Database=##DATABASE_LIC##*
  License=##LIC##*
  ConnString=bd\gestion.db
  HostName=www.xoneisp.com
  HostName2=www.xoneisp.com
  Interval=300
  IntervalType=1
  Timeout=60
  ConnectionMode=direct
  ServerPort=7757
  FullDuplex=false
  LogLevel=1
  Status=1


Estas macros están modificadas por la instalación para posteriormente poner sus valores reales, por lo tanto tienen que quedarse tal cual se exponen aquí.

CARPETA INSTALL Esta es la carpeta de la aplicación, y normalmente será la misma con la que se ha desarrollado la aplicación.


Dentro de esta carpeta encontraremos:

Carpeta de la base de datos, pero sin la base de datos, ya que esta es generada por el provisioning en una actualización específica.
Carpeta de Files: es la carpeta de réplica de ficheros.
Carpeta Icons: aquí están todos y cada uno de los iconos o imágenes de la aplicación.
Archivos de la Aplicación: dentro de la misma, se encuentran los propios archivos de la aplicación, que son:
-mappings: en versión xml, bin o ubn.
-appwizard: en versión xml, bin o ubn.
-app.ini.
-icono de la aplicación.
-splash a mostrar.
-archivos CSS.
-archivos VBS.


Distintos Modelos para una misma plataforma


Hay ocasiones en las que en un mismo proyecto, en una misma plataforma, conviven dispositivos que son MUY DIFERENTES (teléfonos y tabletas por ejemplo), en los cuales aunque las reglas de negocio son las mismas, la visualización puede variar completamente y el hecho de utilizar una hoja de estilos diferente, puede que no nos sea todo lo útil que quisiéramos. Para complementar esto, podemos tener distintos mappings, dependiendo del dispositivo que se trate, de forma que tengamos una instalación inicial diferente para cada uno de ellos.

Dentro de la carpeta de instalación, en la plataforma que sea, al mismo nivel que la carpeta install de la plataforma que se trate, podemos poner una carpeta con el nombre del modelo que vamos a personalizar. Dentro de esta carpeta, pondremos otra install que tendrá los ficheros que queremos sustituir o “personalizar” sobre la instalación general, de forma que si estos se llaman igual se sustituirán.
En la tabla ADM_DEVICES_MODEL, tenemos que dar de alta el modelo (Debe llamarse igual que la carpeta de la figura anterior), dentro de la plataforma que sea, por ejemplo Android es la 8.
Después, en el XOneManager a la hora de dar de alta el dispositivo, tendremos que seleccionar el modelo al que pertenece para que tenga una primera instalación “personalizada”.


Provisioning Carpeta utilizada para el servicio de provisioning, para la generación de las bases de datos de tal forma que en la generación se pueda ejecutar un after-action.


Este after-action puede contener datos de maestros con datos fijos, generación de índices de nuestra aplicación, borrado de datos, compresor de la base de datos… etc.



ReplicaFiles Ruta para los ficheros que se replican en la aplicación.


Será el lugar donde las imágenes, firma, fotos o cualquier otro fichero enviado por los dispositivos van dejando las imágenes. También será el lugar donde la integración o aplicaciones del servidor dejen sus archivos para que posteriormente los dispositivos las repliquen.


TemporaryFiles Carpeta de archivos temporales para que pueda realizar las actualizaciones y demás opciones del XOnemanager.



Updates Carpeta para el sistema de actualización: XOneLive. Su primera carpeta es por licencia, y dentro de cada una de las licencias, podremos encontrar las capetas de Actualizaciones y Licencias.


Imagen general de dicha carpeta



Actualizaciones: Carpeta donde están las actualizaciones puestas por el XOneManager y que serán las que se tienen que descargar los dispositivos.
Dicha carpeta está estructurada en:
-General: actualizaciones generales que se bajan todos los dispositivos, sin importar la plataforma que sea.
-Plataforma (Android, iPhone, BlackBerry, WP7, PocketPC, Windows32, Symbian): actualizaciones por plataforma, por lo que solo se la bajan aquellos dispositivos que son de dicha plataforma.
-Licencias: actualización específica de licencia, por tanto solo es descargada por los dispositivos que tienen esa licencia.



Licencias: Carpeta utilizada por el XOneLive para controlar las actualizaciones que se han descargado los dispositivos.
Dentro hay tantas carpetas como licencias están dadas de alta en nuestro sistema. En cada una de las licencias, lo que encontraremos son carpetas con las actualizaciones que se descargan los dispositivos, ya comprimidas en un archivo GZIP.


Al mismo nivel de esas carpetas, se encuentra un archivo llamado “lastversion”, y tendrá el nombre de cada una de las actualizaciones que ya se han descargado.