# $audit

Esta palabra clave permite realizar un seguimiento de los cambios en las instancias.

# Instalación:

cob-cli customize audit

# Utilización:

$audit.[creator|updater].[username|uri|time]

This keyword can be used within a definition in one of two options: $audit.creator or $audit.updater. Each of these options accepts one of three possible types of arguments: username, uri, or time*. There are thus six possible use case combinations:

Palabra clave Descripción
$audit.creator.username cuando un usuario crea un nuevo registro de definición, el valor de este campo se rellenará con el nombre de usuario de ese usuario.
$audit.creator.uri cuando un usuario crea un nuevo registro de definición, el valor de este campo se rellenará con la referencia UserM de ese usuario.
$audit.creator.time cuando un usuario crea un nuevo registro de definición, el valor de este campo se rellenará con la fecha y hora en que se guardaron estos cambios.
$audit.updater.username siempre que se guarde un registro existente y se hayan modificado uno o varios campos del registro, el valor de ese campo se actualizará con el nombre de usuario de la persona que guardó ese cambio.
$audit.updater.uri Siempre que se guarde un registro existente y se modifiquen uno o varios campos del registro, el valor de ese campo se actualizará con la referencia UserM de ese usuario.
$audit.updater.time Siempre que se modifique un registro existente y se guarden estos cambios, el valor de ese campo se actualizará con la fecha y hora en que se guardaron estos cambios.
Parámetro Descripción
ignoreRefs puede definirse como true o false - siendo el valor por defecto false. Este parámetro determina si se aplica una auditoría cuando se modifica un campo referenciado en la definición padre. Por ejemplo, $audit.updater.username([ignoreRefs:true]) indica que si el campo referenciado en la definición padre cambia, estos cambios no serán auditados en la definición actual.

Some Consideration about this keyword:

  • Cuando se utiliza $audit.updater, no basta con pulsar el botón Guardar para que se actualice el valor de los campos que tienen esta opción. Debe producirse un cambio de facto en uno o más campos del registro para que el servidor actualice el valor del campo.
  • Los registros creados o actualizados en IntegrationM no soportan campos de tipo $audit - tanto en la opción $audit.creator como en la opción $audit.updater.
  • Tenga en cuenta que el argumento time sólo funciona como se espera cuando se utiliza en un campo junto con la palabra clave $datetime - es decir, $datetime $audit.creator.time o $datetime $audit.updater.time. De lo contrario, en lugar de una fecha y una hora, la plataforma rellenará el campo de instancia con un número (el número de milisegundos desde el 1/1/1970).
  • Dado que esta palabra clave funciona simultáneamente tanto en el front-end como en el back-end, si un usuario realiza una edición de grupo de dos o más registros a la vez, todos estos registros se actualizarán inmediatamente con el nombre de usuario de esa persona.

# Ejemplo:

# 1. Seguimiento del último usuario que modificó la instancia

$extRef(userm, /userm/user/search?q={{this}}*) $audit.updater.uri

Un uso típico de esta palabra clave es utilizar la opción updater.uri junto con la palabra clave $extRef, tomando una referencia UserM como argumento

# 2. Seguimiento de la fecha del último cambio

$datetime $audit.updater.time