Suporte ao IIIF no Tainacan

Oi pessoal, tudo bem?

Começando esse tópico para conversar sobre os caminhos possíveis para tornar o Tainacan compatível com o Sistema/Estrutura/Protocolo Internacional para a Interoperabilidade de Imagens (IIIF). Esse é um padrão para compartilhamento de imagens em alta resolução e metadados multilíngues, entre várias outras coisas.

Para quem quiser saber mais, o @leogermani escreveu um texto e eu fiz um vídeo sobre:

E aqui no discourse o @martimpassos já começou a desenvolver algumas soluções:

Esse aqui é um diagrama básico de como o IIIF funciona:

Na minha opinião, seria ideal usar o Tainacan como “Metadata Source”, configurando um exposer que siga as especificações do manifest.json, mas evitar o processamento de imagens em alta resolução no WordPress. Então, além de desenvolver o exposer, precisamos de uma solução para integrar servidores de imagem IIIF com a biblioteca de mídia do WordPress.

Para processar as imagens em alta resolução, essas são algumas opções:

  • Servidores de imagens dedicados (ex.: Cantaloupe ou IIP)
  • Funções lambda da AWS (ex.: Serverless IIIF)
  • Pré-processamento de imagens estáticas (ex.: Tropiiify)

Sobre níveis de implementação, nós podemos começar com:

  1. Processar imagens e manifestos externamente e desenvolver uma integração com o tema Tainacan que exibe um visualizador IIIF na página dos item com o metadado “Manifesto IIIF” preenchido
  2. Desenvolver um exposer IIIF que possa ser mapeado com os metadados configurados no Tainacan (indicando o idioma do metadado, ex.: “pt-BR” ou “en-US”).
  3. Desenvolver uma integração com servidores de imagem IIIF (ex.: ao receber um arquivo TIF em alta resolução, a biblioteca de mídia envia a imagem para o servidor IIIF e só guarda o endereço do thumbnail no WordPress).

Existem vários detalhes de implementação em cada uma dessas etapas, mas seria legal saber mais sobre a experiência de vocês. Conforme a gente avance no desenvolvimento, vou atualizando esse tópico.

Abraços e parabéns pelo trabalho!

1 curtida