Files
brasiliano/MANIFEST.md
T
rodado 10b7cb0cb9 docs: cópia legada mudou para o endereço https do objdigital
O objdigital fechou a porta 80 e passou a servir em
https://objdigital.bn.br/objdigital2/acervo_digital/. Três cópias legadas do
bucket baixadas pelo endereço novo voltaram com sha256 idêntico.

Dos 565 legados marcados como 404 permanente, 348 existem no endereço novo
(330 JPEG, 18 PDF), 41 são páginas de visualizador Deep Zoom e 176 seguem
404. Lista em pipeline/legado-caminho-novo.tsv.

MANIFEST corrigido: 2.112 cópias legadas são imagem; as outras 25 no bucket
são páginas HTML do visualizador.
2026-09-14 09:59:40 +02:00

8.3 KiB
Raw Blame History

MANIFEST — Brasiliana Fotográfica → S3

Rascunho, gerado em 2026-09-10. Os pipelines de download ainda estavam em andamento quando este arquivo foi escrito pela última vez — os números marcados como "em andamento" precisam de uma passada final antes de publicar. Ver tasks/PLANO.md pro detalhe técnico completo.

O que é

Cópia de preservação do acervo da Brasiliana Fotográfica (brasilianafotografica.bn.gov.br), um repositório DSpace mantido pela Biblioteca Nacional do Brasil reunindo fotografias de 15 instituições brasileiras e uma alemã (handles 20.500.12156.1/*). Depositada em s3://brasiliana como acervo arquivístico — procedência e checksums preservados por item, não uma cópia solta de imagens.

Inclui também os posts editoriais do blog WordPress do mesmo projeto (raiz do domínio, separado do repositório DSpace) — ensaios curatoriais que contextualizam itens do acervo, com autoria e data preservadas.

Por que foi coletado assim

A Biblioteca Nacional foi consultada: o material é público, mas a instituição não tem equipe técnica para fornecer um dump. A coleta por scraping foi o caminho combinado, com ritmo cortês e identificação do coletor mantidos ao longo de toda a coleta.

Como foi coletado

Metadados (13.058 itens reais — ver nota sobre falso-positivo abaixo): enumerados via browse?type=title por comunidade (o sitemap oficial está desatualizado desde 2019 e cobre só 41% do acervo), colhidos um a um do DSpace (?show=full), executado a partir de um navegador real — o site usa uma proteção anti-automação que bloqueia requisições de servidores e navegadores sem sessão real, mesmo pra bitstreams de imagem, não só páginas HTML.

Imagens: cada item pode ter mais de uma imagem original (achado desta coleta — 115 itens tinham 2 a 6 bitstreams reais, não um). Pra cada item coletamos: a imagem de preservação (a de maior resolução), a(s) imagem(ns) adicional(is) quando existem, e a miniatura gerada pelo próprio DSpace. Uma cópia legada de menor resolução (objdigital.bn.br) também foi preservada quando disponível — é a mesma proveniência, resolução inferior, mantida por referência histórica, nunca como substituta da imagem de preservação.

Posts do blog: 637 posts únicos identificados (8 categorias do WordPress, com sobreposição substancial entre elas), com título, autor, data, categorias e corpo do texto, mais a lista de handles do acervo que cada post referencia.

Estrutura no bucket

s3://brasiliana/
  MANIFEST.md                          este arquivo
  catalogo.jsonl                       metadados completos, 1 linha por item
  wordpress-posts.jsonl                posts do blog, 1 linha por post
  itens/{handle-com-underscore}/
      metadata.json                    Dublin Core completo + URL de origem
                                        + data/hora UTC de captura
      manifest-sha256.txt              SHA-256 de cada arquivo do item
      preservacao/
          {nome-do-arquivo}.jpg        imagem de maior resolução
          extra_seqN.jpg               imagens adicionais (itens com
                                        múltiplos bitstreams — ver achado
                                        2.7 do PLANO.md)
      thumbnail/
          thumb_N.jpg                  miniatura gerada pelo DSpace
      legado/
          {nome-original}.jpg          cópia de objdigital.bn.br, quando
                                        existe (menor resolução, mesma
                                        proveniência)
  derivados/thumb256/
      {handle-com-underscore}.webp     miniatura DERIVADA por nós (não é
                                        material de origem — ver abaixo)

Sobre derivados/

Tudo sob itens/ é material de origem: veio da Biblioteca Nacional como está. derivados/ é o oposto — foi gerado por nós a partir do que está em itens/, e pode ser reconstruído do zero a qualquer momento. A separação é proposital: misturar derivado nosso com bitstream de origem apagaria a procedência que o resto deste manifesto garante.

derivados/thumb256/ tem 13.059 miniaturas (256px no maior lado, WebP q80, ~100 MB no total), uma por item, geradas com libvips a partir da imagem de preservação quando ela existe e, nos 69 itens sem ela, do thumbnail/ do próprio DSpace. A especificação de saída é a mesma nos dois casos, então o conjunto é uniforme.

Cobre 13.059 dos 13.060 handles do catálogo (99,99%). O único ausente é 7523, cujos bitstreams a origem serve com HTTP 500.

Nota sobre a contagem de itens: este manifesto fala em 13.058 itens reais, mas o catalogo.jsonl tem 13.060 handles distintos. A diferença de 2 não foi reconciliada — vale conferir antes de tratar qualquer um dos dois números como definitivo.

Note que itens/{handle}/thumbnail/ não é uma miniatura no sentido usual: os arquivos que o DSpace chama de thumbnail têm 721 a 3.709 px no maior lado (média ~1.087). São derivados de resolução média, não miniaturas de listagem.

Não-negociáveis (cumpridos)

  • SHA-256 de cada arquivo — em manifest-sha256.txt, por item
  • URL de origem + data/hora UTC de captura — em metadata.json (source_url, fetched_at)
  • dc.rights e instituição de origem preservados por item — metadata.json traz community (100% dos itens) e rights (quando a instituição de origem o preencheu — ver nota abaixo)

Contagens (⚠️ conferir antes de publicar — pipelines em andamento)

Total esperado Status
Itens no catálogo 13.058 ✅ fechado
Imagem de preservação 12.991 ✅ fechado
Miniatura (thumbnail do DSpace) 13.059 ✅ fechado
Miniatura derivada (derivados/thumb256/) 13.059 ✅ fechado
Imagens extras (multi-bitstream) 245 ✅ completo
Cópia legada (objdigital) 2.112 imagens (1.899 JPG + 213 PDF) de 2.702 elegíveis; 565 × HTTP 404; 25 são páginas HTML de visualizador, não imagem ✅ fechado
Posts do blog 637 🟡 em andamento

Antes de publicar: rodar a verificação final (contagem de pastas no bucket vs. catálogo, checksums batendo) e atualizar esta tabela com os números fechados.

Exceções conhecidas (não são bugs)

  • dc.rights ausente em 5.833 itens (44,7%) — característica real da fonte: várias instituições nunca preencheram esse campo no DSpace. A instituição de origem (community) está preservada em 100% dos casos; a decisão de redistribuição desses itens deve considerar a política de cada instituição individualmente (ver seção "Direitos" abaixo).
  • Handle 20.500.12156.1/1 — descoberto pelo crawler mas não é um item: é a página raiz da comunidade. Excluído do catálogo final.
  • Duplicatas com sufixo (N) removidas — 3.511 objetos nomeados arquivo (1).jpg ao lado de um arquivo.jpg byte a byte idêntico (artefato do navegador rebaixando por cima). Confirmados idênticos por ETag + tamanho antes de apagar; 0,39 GB recuperados. Sobraram 43 cujo nome tem o sufixo mas que são o único arquivo do item (ficam como estão) e 30 cujo gêmeo tem tamanho diferente — esses precisam de conferência individual e não foram tocados.
  • Handle 20.500.12156.1/7523 ("Vista Aérea de Cabo Frio", Museu Aeroespacial) — sem imagem. O servidor da Biblioteca Nacional retorna HTTP 500 ao tentar servir os bitstreams desse item especificamente; não é um problema do nosso lado. Metadados preservados normalmente.
  • Handles 20.500.12156.1/6656 e 20.500.12156.1/7939 — o que foi baixado como imagem de preservação é, na verdade, o bitstream de LICENÇA do DSpace (777 bytes de texto UTF-8 com extensão .jpg). É a mesma contaminação do achado 2.8b, desta vez na trilha de preservação e não na de miniatura. A validação de magic bytes do subidor.py barra esses arquivos no upload, então eles nunca chegaram ao bucket — mas significa que esses dois itens ainda não têm imagem coletada.

Direitos

Majoritariamente domínio público por antiguidade, mas as 16 instituições de origem (15 brasileiras + 1 alemã) têm políticas distintas. dc.rights e a instituição de origem são preservados por item: a decisão de redistribuir é item a item, não do acervo em bloco. Arquivar para si é uma coisa; republicar é outra.