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": "<"
}
]
}