$audit
Esta palavra chave permite auditar alterações às instâncias
Instalação
cob-cli customize auditUsage
$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.creatorcomo na opção$audit.updater. - Note que o argumento
timesó irá funcionar correctamente quando usado num campo em conjunto com a palavra-chave$datetime- por exemplo,$datetime $audit.creator.timeou$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.
Exemplos:
1. Auditando o utilizador que fez a última alteração
$extRef(userm, /userm/user/search?q={{this}}*) $audit.updater.uriUm 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