==== Control Réplica App ====
\\
=== Objeto de Réplica===
\\
Se han implementado los siguientes métodos para el control de operaciones enviadas y recibidas, así como los parámetros de licencia o los mensajes que vamos obteniendo del replicador en un log.\\
\\
^MÉTODO ^DESCRIPCIÓN^
|replica.RecordsRX |Este método devuelve un entero con las operaciones recibidas desde la última vez que se entró en la aplicación.|
|replica.TotalRecordsRX |Este método devuelve un entero con el total de operaciones recibidas, sin importar cuándo hayan entrado al dispositivo.|
|replica.RecordsTX |Este método devuelve un entero con las operaciones transmitidas desde la última vez que se entró en la aplicación.|
|replica.TotalRecordsTX |Este método devuelve un entero con el total operaciones transmitidas, sin importar cuándo hayan entrado al dispositivo.|
|replica.RecordsPend |Este método devuelve un entero con los registros pendientes de enviar desde el dispositivo al servidor. Es la bandeja de salida del dispositivo (master_replica_queue).|
|replica.Log |Este método devuelve una cadena con los mensajes de debug del replicador del framework, mostrando lo que va haciendo y mostrando posibles errores de conexión.|
|replica.GetHostname |Servidor contra el que replicar. Se puede pasar un parámetro numérico “2” para que nos devuelva el HostName secundario.|
|replica.GetLicense |Número de licencia del dispositivo.|
|replica.GetMid |Identificador único del dispositivo en el proyecto.|
|replica.Start |Inicia la réplica. Se le puede pasar como parámetro “files” o “data” para que replique únicamente ficheros o datos, respectivamente.|
|replica.Stop |Detiene la réplica.|
|replica.SetRestriction |Dos parámetros, el primero una cadena con la restricción que queremos configurar y el segundo un array con los valores de la restricción.|
|replica.ClearRestrictions |Se le pasa como parámetro una cadena con las restricciones que quieres eliminar, separadas por comas.|
|replica.ClearAllRestrictions |Elimina todas las restricciones de réplica que se hubieran establecido.|
===Restricciones===
\\
Se han implementado unas claves en el **license.ini** para poder restringir la réplica, de forma que se limiten los días o las horas a las que se puede replicar así como evitar que se repliquen ficheros o datos si estamos conectados con los datos 3G-4G del teléfono.\\
\\
^ CLAVE DE RESTRICCIONES DE RÉPLICA ^^
|RestrictionAllowedHours |Array de intervalos horarios donde la réplica está permitida.|
|RestrictionWithMobileNetwork |Dos posibles parámetros: files y data a los cuales hay que ponerle valor true ó false para activar ó desactivar la réplica de ficheros y de datos, respectivamente, cuando estamos conectados a los datos 3G-4G del teléfono.|
|RestrictionAllowedWeekdays |Array de días de la semana donde la réplica está permitida.|
\\
Vista de las claves en el fichero **license.ini**:\\
restrictionallowedhours={"allowedHours":["8:30-14:00","16:00-18:00"]}
restrictionwithmobilenetwork={"files":false,"data":true}
restrictionallowedweekdays={"allowedWeekdays":["Monday","Tuesday","Wednesday","Thursday","Friday"]}
\\
\\
También pueden formarse estas claves por script, de forma que en lugar de ser “fijas” en el **license.ini**, se puedan cambiar estas claves dinámicamente.\\
\\
|Establecer las claves con **VBScript**|
\\
Dim restrictionData(2)
restrictionData(0)="files:false"
restrictionData(1)="data:true"
replica.SetRestriction "WithMobileNetwork", restrictionData
Dim restrictionHours(1)
restrictionHours(0)="allowedHours:8:30-14:00,16:00-18:00"
replica.SetRestriction "AllowedHours", restrictionHours
Dim restrictionWeekdays(1)
restrictionWeekdays(0)="allowedWeekdays:Monday,Tuesday,Wednesday,Thursday,Friday"
replica.SetRestriction "AllowedWeekdays", restrictionWeekdays
\\
Se pueden eliminar las restricciones con el comando:\\
\\
replica.ClearRestrictions "WithMobileNetwork,AllowedHours" Aqui separaremos por comas los parámetros que queremos eliminar de las restricciones.
replica.ClearAllRestrictions Para eliminar todas las restricciones que tengamos actualmente.
\\
|Establecer las claves con **JavaScript**|
\\
var restrictionData = {
files: false,
data: true
};
replica.setRestriction("WithMobileNetwork", restrictionData);
var restrictionHours = {
allowedHours: ["8:30-14:00", "16:00-18:00"]
};
replica.setRestriction("AllowedHours", restrictionHours);
var restrictionWeekdays = {
allowedWeekdays: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
};
replica.setRestriction("AllowedWeekdays", restrictionWeekdays);
\\
Para eliminar las restricciones:\\
\\
replica.clearRestrictions("WithMobileNetwork,AllowedHours"); Separadas por comas ponemos las restricciones que queremos eliminar.
replica.clearAllRestrictions(); Para quitar todas las restricciones.