Log de alterações

37 views
Skip to first unread message

Olavo Neto

unread,
Sep 8, 2016, 11:34:33 AM9/8/16
to PHP MS
Eai pessoal,

Gostaria de reabrir o tópico "Rastreabilidade em sistemas PHP + BD Relacional" [1]. Seria muito bom se algúem pudesse descrever como implementou essa funcionalidade desde então.

Alguns pontos;
* No projeto open-source que o Cabral compartilhou, radig/auditable [2], a lógica de; diff -> old value e new value. Também estava prototipando algo do tipo. Pensam assim também?
* Usam algum projeto ou library que já fornecem uma resolução "interna"? Algo como retorna os campos alterados em um update por exemplo (getDirty()). Achei esse projeto owen-it/laravel-auditing [3] interessante. Para que seja estudado o código.
* E quanto a resolver no banco de dados com TRIGGER (MySQL) ou outro comando...?
* Quanto ao armazenamento, que foi levantado no tópico [1]. Agora pensam de outra forma? Outra tecnologia? SaaS?


Abraço.

Humberto Pereira

unread,
Sep 8, 2016, 4:08:03 PM9/8/16
to Lista PHPMS
Rapaiz,

    implementamos assim uma vez, usando id do registro, nome do modelo, valor antigo -> valor novo pra gerar auditoria, ficou simples, genérico e completamente impossível de usar.


O problema é, simplesmente ter os dados salvos não quer dizer muita coisa. Uma alteração tem uma semântica dentro do sistema que esse tipo de auditoria não cobre. O sistema deve dizer, Fulano alterou a senha do usuário X na data tal, não id 1234, hash antigo 29834, hash novo 84894.

O que acabamos implementando na segunda versão foi uma estrutura para cada modulo, descrevendo o q é possível fazer no sistema e salvando no banco a cada alteração, usando callbacks do ORM. É trabalhoso, é chato, mas o resultado é o melhor para um sistema de auditoria.

Att,
Humberto Pereira


--
--
Você recebeu esta mensagem porque está inscrito no Grupo "phpms" em Grupos do Google.
As regras de utilização deste grupo encontram-se em: http://www.phpms.org/regras-da-lista
Para postar neste grupo, envie um e-mail para ph...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para phpms-unsubscribe@googlegroups.com
Para ver mais opções, visite este grupo em http://groups.google.com/group/phpms?hl=pt-PT
Para acessar o site do grupo, visite: http://www.phpms.org/

---
Você recebeu essa mensagem porque está inscrito no grupo "PHP MS" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para phpms+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Renan Albuquerque Marks

unread,
Sep 17, 2016, 6:02:13 PM9/17/16
to ph...@googlegroups.com
Olá Olavo e Begnini,

Acabei de conhecer uma ferramenta chamada "tracetool" que parece ser ortogonal quando usada para gerar logs de execução de um aplicativo.

Ela é pra C++, porém pode colaborar com ideias bacanas para vc implementar seu próprio sistema de log.

https://github.com/froglogic/tracetool

[]s
Renan
--
Atenciosamente,

Renan A. Marks

Cauan Cabral

unread,
Sep 17, 2016, 6:47:42 PM9/17/16
to PHPMS
Como autor e mantenedor do radig/auditable eu só posso concordar com o Humberto, hehehe.

Na época, acabei criando o plugin depois daquela discussão no aqui no grupo, mas confesso que nunca
consegui disponibilizar uma interface para o usuário final que tenha realmente significado usando o plugin.

Já me foi útil em situações de auditoria, quando um cliente dizia ter sumido algo por erro no sistema, por exemplo. Mas pra chegar a essa informação só que tinha um bom conhecimento no sistema - pra saber nome de coluna, id de usuário e tudo mais. Se for esse o objetivo, vai enfrente que funciona =P

Mas se a ideia é prover uma tela simples de navegação entre fatos, a sugestão do Humberto parece mais apropriada.

Abraços,
Cauan Cabral
----------------
Como falar comigo: Google Hangout: cau...@gmail.com Skype: CauanCabral 
Onde me encontrar: LinkedinFacebookWordpressTwitter

Reply all
Reply to author
Forward
0 new messages