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.
8.3 KiB
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.mdpro 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.rightse instituição de origem preservados por item —metadata.jsontrazcommunity(100% dos itens) erights(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.rightsausente 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 nomeadosarquivo (1).jpgao lado de umarquivo.jpgbyte 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 retornaHTTP 500ao tentar servir os bitstreams desse item especificamente; não é um problema do nosso lado. Metadados preservados normalmente. - Handles
20.500.12156.1/6656e20.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 dosubidor.pybarra 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.