Trabalhando com Dublin Core no Archivematica e no AtoM

Para quem trabalha com essas plataformas, sabemos que infelizmente o Archivematica não envia metadados ISAD(G) para o AtoM. O único envio automatizado de metadados existe apenas para a norma Dublin Core (DC).

Pensando nisso, trago aqui um esquema simples que me ajuda a preencher melhor esses campos, e a relação (equivalência) que existe entre o DC e a ISAD(G).

CampoDescriçãoExemplosCorrelato ISAD(G)Permite repetição no AtoM
Title
Título
Título da descrição (conteúdo).Title
Título
Não
Contributor
Contribuição
Pessoa, organização ou serviço que contribuiu com o conteúdo.Name access point (Contributor)
Ponto de acesso nome (Colaborador)
Sim
Coverage
Cobertura (espacial)
Onde o conteúdo está localizado fisicamente. Normalmente inclui localização espacial (nome do lugar ou coordenadas geográficas), período temporal (data) ou jurisdição.Place access points
Ponto de acesso de local
Sim
Creator
Produção
A pessoa ou organização responsável pelo conteúdo.Name of creator ProdutorSim
Date
Data
Um ponto ou período de tempo associado com o tempo de vida do conteúdo. Normalmente uma data de quando o conteúdo se tornou disponível. Formatos disponíveis:AAAA-MM-DD ou AAAA-MM ou AAAADate
Data
Sim
Description
Descrição
Uma descrição resumida sobre o conteúdo.Scope and content
Âmbito e conteúdo
Não
Format
Formato
Como o conteúdo ou recurso é apresentado.Extent and medium
Dimensão e suporte
Não
Identifier
Identificador
Um identificador único para o seu conteúdo. Pode ser um texto ou um número gerado por um sistema de identificação formal – ou apenas uma URL.Reference Code
Código de Referência
Não
Language
Idioma
Em que linguagem o conteúdo foi escrito. Você precisa especificar o código correto da língua.Usar a ISO 639Sim
Publisher
Publicação
Uma entidade (pessoa, organização ou serviço) responsável por deixar o conteúdo disponível.Name access point (Publisher)
Ponto de acesso nome (Editor)
Sim
Relation
Relação (isLocatedAt)
Como o conteúdo está relacionado com outros recursos. Por exemplo, pense em um capítulo de um livro: o capítulo é parte de (isPartOf) um livro.Repository
Repositório
Não
Rights
Direitos
Onde o conteúdo foi inicialmente publicado / originado. Um conteúdo que tem alguma relação intelectual com o conteúdo descrito. Se for conteúdo original, veiculado pela primeira vez e sem nenhuma relação intelectual com outros conteúdos, deve ser a URL para esse conteúdo.Conditions governing access
Condições de acesso
Não
Source
Fonte
Onde o conteúdo foi inicialmente publicado / originado. Um conteúdo que tem alguma relação intelectual com o conteúdo descrito. Se for conteúdo original, veiculado pela primeira vez e sem nenhuma relação intelectual com outros conteúdos, deve ser a URL para esse conteúdo.Existence and location of originals
Existência e localização de originais
Não
Subject
Assunto
Os assuntos cobertos pelo conteúdo.Subject access points
Ponto de acesso de assunto
Sim
Type
Tipo
Uma categoria para o tipo de conteúdo.Collection (coleção), Dataset (conjunto de dados), Event (evento), Image (imagem), InteractiveResource (recurso interativo), MovingImage (imagem em movimento), PhysicalObject (objeto tridimensional), Service (serviço), Software (programas), Sound (som), StillImage (imagem estática), Text (texto)Sim

Segue aqui o template dos campos DC com exemplos de preenchimento montados pela Artefactual, para envio dos metadados do Archivematica para o AtoM: metadata.csv

Instalação e Integração entre AtoM e Archivematica, instalados em VM

Instalação AtoM Ubuntu 20.04 LTS (Focal Fossa)

Sigo TODOS os códigos dos seguintes links (na ordem a seguir):

  1. MySQL
  2. ElasticSearch
  3. PHP
  4. Gearman
  5. Outras Instalações
  6. NGINX
  7. Escolha entre as opções 1 ou 2 de instalação do AtoM
    1. Opção 1
    2. Opção 2
  8. Database
  9. Instalador
  10. Permissões
  11. Workers
  12. PHP-FPM
  13. Inicie o AtoM

Instalação Archivematica (AM) Ubuntu 22.04 (Jammy)

Sigo TODOS os códigos dos seguintes links (na ordem a seguir):

  1. Archivematica
    1. Não executo o item 9
  2. Configuração pós instalação

Integração entre AtoM e Archivematica, instalados em VM

Para quem está seguindo o manual de instalação da artefactual, a parte da integração entre os sistemas Archivematica e AtoM é um pouco complicada, pois partes dos comandos estão espalhadas pelo site. Nesse post, condensarei essas informações em um passo a passo bem simples para que qualquer pessoa consiga fazer com que os pacotes DIP que saem do AM cheguem ao AtoM.

Código adaptado de AtoM DIP upload.

Archivematica server

Assim que o AM já tiver instalado e propriamente testado, vamos criar um par de chaves SSH.

Gere um par de chaves de SSH para o Archivematica autenticar-se no servidor de rsync do AtoM. Quando solicitado por um caminho para salvar o arquivo, apenas pressione ENTER. Faça o mesmo quando for solicitada uma senha (passphrase).

sudo mkdir /var/lib/archivematica/.ssh
sudo chown archivematica:archivematica /var/lib/archivematica/.ssh
sudo -u archivematica ssh-keygen

Copie o conteúdo de /var/lib/archivematica/.ssh/id_rsa.pub para um bloco de notas.

AtoM server

Agora, é hora de configurar o servidor AtoM para que o Archivematica possa enviar os DIPs usando rsync. Para esse fim, será criado um usuário chamado archivematica e atribuido a esse usuário um shell restrito com acesso apenas ao rsync:

sudo useradd -d /home/archivematica -m archivematica
sudo passwd -l archivematica

Adicione a chave SSH que geramos antes:

sudo mkdir /home/archivematica/.ssh
sudo chmod 700 /home/archivematica/.ssh/

Cole em /home/archivematica/.ssh/authorized_keys o conteúdo que foi gerado no documento id_dsa.pub (etapa do Archivematica server).

sudo nano /home/archivematica/.ssh/authorized_keys

Ajuste o owner dos arquivos:

sudo chown -R archivematica:archivematica /home/archivematica

Deletar DIP depois de sua submissão para o AtoM

Instale o pacote acl:

sudo apt-get install acl # Ubuntu

Crie um diretório SWORD:

sudo mkdir /home/archivematica/atom_sword_deposit
sudo chown archivematica:www-data /home/archivematica/atom_sword_deposit
sudo chmod 770 /home/archivematica/atom_sword_deposit

Coloque o ACL no novo diretório:

sudo setfacl -d -m u:www-data:rwX /home/archivematica/atom_sword_deposit

Archivematica server

De volta ao servidor do Archivematica, exercite a comunicação com o servidor de rsync do AtoM executando os comandos abaixo, substituindo o hostname do AtoM:

echo "Teste" >> /tmp/teste
sudo -H -u archivematica rsync /tmp/teste archivematica@HOSTNAME_DO_ATOM:/tmp
(ou, caso tenha que acrescentar porta: sudo -H -u archivematica rsync -e 'ssh -p PORTA' /tmp/teste archivematica@HOSTNAME_DO_ATOM:/tmp)

Será apresentada a chave pública do servidor de rsync do AtoM (gerada automaticamente durante a primeira execução do serviço rsync_server do AtoM). Responda yes para confiar na chave.

Essa operação serve não só para testar a comunicação mas, principalmente, para adicionar a chave pública do servidor de rsync do AtoM ao arquivo de known hosts do Archivematica localizado em /var/lib/archivematica/.ssh/known_hosts.

Configuração Interface do AtoM

Acesse o dashboard do AtoM em um navegador e siga os passos abaixo:

  1. Autentique-se como um usuário administrador
  2. Clique no ícone de engrenagens no menu superior, em seguida clique em Plugins (ou Componentes)
  3. Habilite os plugins arStorageServicePlugin, arRestApiPlugin e qtSwordPlugin, em seguida clique em Salvar
  4. Clique novamente no ícone de engrenagens, em seguida clique em Usuários
  5. Clique em Adicionar Novo para criar um usuário administrador para ser usado pelo Archivematica
    1. Em Username, digite archivematica
    2. Em E-mail, digite archivematica@sua_entidade.com
    3. Digite uma senha forte de sua preferência
    4. Em Grupos de usuários, selecione o grupo administrador
    5. Em REST API chave de acesso, selecione (Re)gerar chave API
    6. Clique em Criar
  6. Copie a chave de API do usuário gerada (campo REST API chave) e guarde em um bloco de notas
  7. Vá em Admin > Settings > Global > Integrações > escreva em “Diretório de depósito SWORD”: /home/archivematica/atom_sword_deposit.
  8. Em Admin > Settings > Storage Service, configure (Storage Service):
    1. Endpoint da API do Storage Service: https://STORAGE_SERVICE_ENDERECO/api/v2.
    2. Preencha o nome do usuário do storage service (atenção, nao é o usuário do Dashboard) e a chave API nos campos seguintes, e clique em Salvar

Configuração Interface do Archivematica

Acesse o dashboard do Archivematica em um navegador e siga os passos abaixo:

  1. Autentique-se como um usuário administrador
  2. Clique em Administration
  3. No menu lateral, na seção DIP upload, clique em AtoM/Binder e preencha:
    1. Em Upload URL, digite http://HOSTNAME_DO_ATOM(sem index.php/ ou a / no final)
    2. Em Login email, digite o e-mail preenchido anteriormente no AtoM para o usuário do Archivematica
    3. Em Login password, digite a senha preenchida anteriormente no AtoM para o usuário do Archivematica
    4. Em AtoM/Binder version, deixe selecionada a opção 2.x
    5. Em Rsync target, preencha archivematica@HOSTNAME_DO_ATOM:/home/archivematica/atom_sword_deposit
    6. Em Debug mode, selecione o que preferir
    7. Em REST API key, cole a chave de API do usuário Archivematica
    8. Clique em Save
  4. Para testar a comunicação com o AtoM, clique no botão Levels of Description (localizado no canto superior direito), em seguida no botão Fetch from AtoM (também no canto superior direito)

Caso os níveis de descrição sejam trazidos do AtoM, significa que a configuração está correta.

> Cada vez que um nível de descrição for adicionado no AtoM, é preciso clicar novamente no botão Fetch from AtoM para que o Archivematica tome conhecimento do novo nível de descrição.

Teste de integração

Para testar a integração, faça um Transfer com o campo Access system ID preenchido com um slug de uma descrição previamente criada no AtoM. Na fase de Ingest, no microsserviço de Normalização, selecione a opção de Normalizar para acesso ou Normalizar para preservação e acesso. Ao final do processamento, verifique se o arquivo aparece no AtoM.