# $audit
Esta palavra chave permite auditar alterações às instâncias
# Instalação:
cob-cli customize audit
# Usage:
$audit.[creator|updater].[username|uri|time]<([ignoreRefs:true|false])>
Esta palavra-chave pode ser utilizadada numa definição em uma de duas opções: $audit.creator
ou $audit.updater
. Cada uma destas opções aceita um de três tipos possíveis de argumentos: username
, uri
, ou time
*. Na prática, existem seis combinações possíveis de utilização desta palavra-chave:
Palavra-chave | Descrição |
---|---|
$audit.creator.username | quando um utilizador cria um novo registo dessa definição, o valor deste campo será preenchido com o nome de utilizador dessa pessoa. |
$audit.creator.uri | quando um utilizador cria um novo registo dessa definição, o valor desse campo será preenchido com a referência do UserM dessa pessoa. |
$audit.creator.time | quando um utilizador cria um novo registo dessa definição, o valor desse campo será preenchido com a data e a hora em que esse registo foi criado. |
$audit.updater.username | sempre que um registo já existente é gravado e um ou mais campos do registo foram alterados, o valor desse campo será no instante da gravação actualizado com o nome de utilizador da pessoa que gravou essa alteração. |
$audit.updater.uri | sempre que um registo já existente é gravado e um ou mais campos do registo foram alterados, o valor desse campo será no instante da gravação actualizado com a referência do UserM dessa pessoa. |
$audit.updater.time | sempre que um registo já existente é alterado e um ou mais campos do registo foram alterados, o valor desse campo será no instante da gravação actualizado com a data e a hora em que essas alterações foram gravadas. |
Parâmetro | Descrição |
---|---|
ignoreRefs | pode ser definido como true ou false - com o valor padrão sendo false . Este parâmetro determina se deve ser aplicada uma auditoria quando um campo referenciado na definição pai é modificado. Por exemplo, $audit.updater.username([ignoreRefs:true]) indica que se o campo referenciado na definição pai for modificado, essas mudanças não serão auditadas na definição atual |
Algumas considerações sobre esta palavra-chave:
- Quando usamos
$audit.updater
, não basta gravar clicando no botão Save para o valor dos campos caracterizados com esta opção ser actualizado. Em todas as situações é necessário que ocorra uma alteração de facto em um ou mais campos do registo para que o servidor actualize o valor. - Os registos criados ou actualizados no IntegrationM não suportam campos do tipo
$audit
- tanto na opção$audit.creator
como na opção$audit.updater
. - Note que o argumento
time
só irá funcionar correctamente quando usado num campo em conjunto com a palavra-chave$datetime
- por exemplo,$datetime $audit.creator.time
ou$datetime $audit.updater.time
. Caso contrário, em vez de uma data e uma hora, a plataforma irá preencher o campo da instância com um número (o número de milisegundos desde 1/1/1970). - Uma vez que a palavra-passe tem efeitos tanto a nível do front-end como do back-end, se um utilizador editar em grupo dois ou mais registos da definição todos estes registos serão imediatamente actualizados com o nome desse utilizador.
# Example:
# 1. Auditando o utilizador que fez a última alteração
$extRef(userm, /userm/user/search?q={{this}}*) $audit.updater.uri
Um cenário de utilização típica desta palavra-chave consiste na utilização da opção updater.uri
juntamente com a palavra-chave $extRef
, tendo por argumento uma referência no UserM
# 2. Saber a data da última alteração
$datetime $audit.updater.time