Skip to content

Synchronization Rules es ES

Sergio edited this page Dec 2, 2020 · 1 revision

Synchronization Rules

Una regla es una operación de sincronización almacenada para usarse más de una vez. Pueden ejecutarse manualmente o programarse para ejecutarse a intervalos de tiempo regulares. Son útiles cuando es necesario transferir datos desde la instancia de origen a la de destino a intervalos de tiempo regulares o cuando necesitamos mantener ciertos tipos de metadatos (por ejemplo, OU) sincronizados constantemente entre instancias.

Puede crear una regla para cada tipo de sincronización:

  • Metadatos
  • Datos agregados
  • Eventos

Synchronization%20Rules/rules_list.gif

Desde el panel principal de MD Sync, ve a "Reglas de Sincronización" para ver las reglas existentes, editarlas o crear nuevas.

Crea una regla

Una regla se puede crear de dos formas diferentes:

  • Al hacer clic en el botón AGREGAR REGLA dentro de la pantalla con la lista de reglas
  • Cuando estás creando una Sincronización Manual, en el último paso del proceso hay una opción para guardarla como regla.

Para crear una regla, debes seguir el mismo proceso que para ejecutar una [sincronización única] (Manual-Sync-Data-es-es) más dos pasos adicionales: asignar un nombre a la regla y programar.

En esta sección, nos enfocamos en los pasos adicionales.

Name and description

El primer paso para crear una regla es agregar el nombre y descripción. Siéntete libre de nombrarlo como desees, pero es recomendable dar a las reglas un nombre conciso y autoexplicativo para una fácil identificación dentro de la lista de reglas. Sigue un patrón claro dentro de tu equipo y agregue una descripción si es necesario.

Synchronization%20Rules/Untitled.png

Planificación

En esta opción se configura la periodicidad con la que se ejecutará la regla. Para definir esa periodicidad usamos una sintaxis que quizás conozcas de la administración de Unix: sintaxis "Cron". Una expresión Cron es una cadena que consta de seis campos separados por un espacio en blanco que representa una rutina.

Lee más detalles sobre las expresiones cron aquí
S M H  DM MO DW

S= Second (0 - 59)

M = Minute (0 - 59)

H = Hour (0 - 23)

DM = Day of the month (1 - 31)

MO = Month (1 - 12)

DW = Day of the week (1 - 7) (Lunes a Domingo)

Un asterisco (\*) coincide con todas las posibilidades. Por ejemplo, si queremos ejecutar una regla todos los días, usaríamos asteriscos para el día del mes, el día de la semana y el mes del año para hacer coincidir todos los valores.

Un comodín (?) Significa que no hay un valor específico y solo funciona para el día del mes o el día de la semana. Por ejemplo, si deseas ejecutar una regla en un día en particular (día 10) pero no te importa qué día de la semana es, ¿Qué usarías? en el campo del día de la semana.

Para facilitarte la vida con las expresiones cron, cada vez que edites la regla, esta es traducida a un "lenguaje más entendible". Por ejemplo, si escribes:

1 10 0 1 * * 

También mostraremos que significa una sincronización que se ejecutará: At 12:10:01 AM, oel día 1 del mes

Puedes crear tu expresión cron personalizada o utilizar una de las plantillas predefinidas para la programación anual diaria, mensual...

Opciones para las Reglas

La lista de reglas tiene esta lista de opciones (clic derecho en el menú de tres puntos)

Synchronization%20Rules/Screenshot_2020-07-07_at_11.10.04.png

La mayoría de ellas son obvias, solo la configuración para compartir requiere una explicación más detallada.

  • Detalles: Muestra información sobre la regla.
  • Editar: Te permite modificar la regla.
  • Eliminar: Elimina la regla de forma permanente.
  • Ejecutar: Ejecuta la regla una vez.
  • Descargar JSON: Descarga el archivo JSON con los datos/metadatos en esa regla, como se describe aquí
  • Replicar: Crea una copia de la regla.
  • Alternar Programación: Activa y desactiva la programación. Cuando una regla tiene una programación, puedes desactivarla con esta opción.
  • Configuración de uso Compartido: Configura los permisos para la regla. Lee más de esto en la siguiente sección.

Opciones de configuración de uso compartido

Syncronization rules/ rule/ three points menu / sharing settings

Se debe prestar especial atención a la configuración de uso compartido cuando una instancia se comparte entre diferentes organizaciones o departamentos Las reglas son públicas por defecto. Si no configuras la configuración para compartir, puede suceder que las personas sin acceso a algún tipo de metadatos puedan ejecutar la regla que afecta a esos metadatos.

  • Escenario de ejemplo

    Hay una instancia de DHIS2 compartida por dos programas con sus propios usuarios: malaria y hepatitis. Los usuarios con acceso a los metadatos de la malaria no tienen acceso a los metadatos de la hepatitis y viceversa. En esta situación, un usuario del grupo de malaria no puede crear una regla utilizando metadatos de hepatitis. Pero si esa regla existe y tiene acceso público, ese usuario podría ejecutar la regla. Para evitar esa situación. es necesario configurar la configuración de uso compartido de la regla.

Hay tres niveles de acceso para una regla de sincronización:

  • Editar y ver : Puedes editar la regla y ejecutarla
  • Ver : Puedes ejecutar la regla
  • Sin Acceso

Y puedes configurar el nivel de acceso a:

  • Acceso público (todos los usuarios dentro de la instancia)
  • Usuarios Individuales
  • Grupos de usuarios
  • (El acceso externo aparece solo por razones de compatibilidad. Está deshabilitado)

Por ejemplo, puedes configurar un solo usuario que puede editar una regla y al mismo tiempo un grupo que puede ver y ejecutar una regla, pero no editarla.

Con esta combinación de usuarios y niveles, diferentes grupos de usuarios pueden ver y ejecutar solo un subconjunto de reglas, evitando que diferentes grupos de usuarios interfieran en los procesos de los demás.

Synchronization%20Rules/Untitled%201.png

MD Sync y los roles de usuario de DHIS2

En MD Sync, el usuario hereda los permisos que tiene en el núcleo DHIS2. Por lo tanto, un usuario en la instancia de origen no puede incluir ningún objeto de metadatos al que no tenga acceso en ninguna sincronización:

MD Sync proporciona dos roles adicionales diferentes (adicionales a los definidos ya por núcleo DHIS2)

  • Ejecutor de MetaData Sync: Los usuarios con este rol solo pueden ejecutar reglas de sincronización. No pueden ejecutar sincronizaciones manuales ni crear nuevas reglas de sincronización.
  • Configurador de Sincronización de Metadatos: los usuarios con este rol pueden ejecutar sincronizaciones manuales, crear y ejecutar reglas de sincronización.

Extra: Setup the system to schedule mdsync rules

TBD