Isso significa que os metadados armazenados no datapackage.json, incluindo o ckan_hosts, são removidos depois da execução de um make datapackage.json. Seguindo essa lógica, a inserção do ckan_hosts pelo dpckan dataset create deveria ser no datapackage.yaml, e não no datapackage.json.
No entanto, a serialização como yaml não faz parte da especificação frictionless, pelo menos ainda, e representa um caso de uso específico. Não seria interessante que a gente dependesse desse escolha para que o usuário pudesse usar o dpckan dataset update.
Além disso, refletindo um pouco mais acho que no fim das contas não é uma boa ideia a gente modificar, ainda mais sem nenhum tipo de aviso ao usuário, o datapackage.json local.
Imagina por exemplo um cenário em que o usuário não está versionando o arquivo datapackage.json e o dpckan esteja com alguma falha que modifica e/ou destroi o conteúdo do arquivo. A confiança vai a zero.
Penso que a melhor alternativa vai ser a gente armazenar o ckan_hosts somente na propriedade extras do conjunto de dados no CKAN.
@gabrielbdornas acho que temos um problema conceitual nessa implementação para o caso de uso do https://github.com/transparencia-mg/age7.
Lá, o arquivo
datapackage.json
é considerado um artefato descartável do processo de build, sendo literalmente um target doMakefile
:Isso significa que os metadados armazenados no
datapackage.json
, incluindo ockan_hosts
, são removidos depois da execução de ummake datapackage.json
. Seguindo essa lógica, a inserção dockan_hosts
pelodpckan dataset create
deveria ser nodatapackage.yaml
, e não nodatapackage.json
.No entanto, a serialização como
yaml
não faz parte da especificação frictionless, pelo menos ainda, e representa um caso de uso específico. Não seria interessante que a gente dependesse desse escolha para que o usuário pudesse usar odpckan dataset update
.Além disso, refletindo um pouco mais acho que no fim das contas não é uma boa ideia a gente modificar, ainda mais sem nenhum tipo de aviso ao usuário, o
datapackage.json
local.Imagina por exemplo um cenário em que o usuário não está versionando o arquivo
datapackage.json
e odpckan
esteja com alguma falha que modifica e/ou destroi o conteúdo do arquivo. A confiança vai a zero.Penso que a melhor alternativa vai ser a gente armazenar o
ckan_hosts
somente na propriedadeextras
do conjunto de dados no CKAN.Originally posted by @fjuniorr in https://github.com/dados-mg/dpckan/issues/105#issuecomment-978411276