NPDD/Baobáxia/PolíticasJson
Segundo a arquitetura em proposta, prevê-se a definição de regras / políticas (policies) para tomada de decisões em uma série de elementos, a ser executada pela camada middleware.
! Validação A validação dos arquivos será definida de acordo com uma política, a ser estabelecida e mantida nesse arquivo. Abaixo, uma proposta de estruturação da política:
{ "formatos": [ { "priority": [ { "type": "ogg" }, { "type": "mpeg" } ] } ], "metadados": [ { "titulo": "string", "autor": "string", "origem": "string", "data": "dd/mm/yyyy", "tipo": "string", "licença": "string", "etiquetas": [ { "nome": "string" } ] } ] }
É possível que na validação dos metadados, sejam passadas expressões regulares para validação dos conteúdos.
! Resolução de conflitos
A resolução de conflitos surgidos na edição de um mesmo arquivo por distintos nós gera arquivos com as variantes, nomeados por um checksum do sha dos arquivos (ex: arquivo-variant-f039.txt, arquivo-variant-ab92.txt). A resolução de conflito deverá ler a política abaixo, que define qual deve ser considerado comp prioritário. As prioridadades são listadas de acordo com a pilha do array (0, prioridade maior).
{ "priority": [ { "field": "author" }, { "field": "origin" }, { "field": "date", "rule": "<" } ] }