# Tainacan

Tainacan é um plugin de código aberto para WordPress, voltado para criação de repositórios digitais. Com foco na gestão e publicização de acervos digitais de diversas naturezas, o plugin é usado em especial por museus, instituições culturais e educacionais que buscam organizar e expor suas coleções, através de metadados customizados, filtros avançados e diferentes modos de visualização. Foi desenvolvido com a ideia de prover uma solução tecnológica para a difusão e interoperabilidade de acervos digitais que seja compatível com o cenário das instituições culturais brasileiras. Sua origem está nas discussões acerca da construção de uma política pública de acervos culturais digitais no Brasil. Desde seu lançamento em 28 de maio de 2018, o plugin tem ganhado popularidade em especial no Brasil e no México.

## História

O projeto Tainacan teve início em 2014, coordenado por pesquisadores da Universidade Federal de Goiás, como o componente técnico e de pesquisa na concepção de uma política nacional de acervos digitais culturais, no Ministério da Cultura do Brasil. O Plano Nacional de Cultura (PNC), vigente nesse período, mencionava explicitamente a criação uma "política nacional de digitalização e atualização tecnológica de laboratórios de produção, conservação, restauro e reprodução de obras artísticas, documentos e acervos culturais mantidos em museus (...)". Pesquisas realizadas sobre o tema mostravam que a construção de uma política de acervos culturais digitais para o país enfrentava desafios como a escassez de financiamento, a ausência de equipes qualificadas para lidar com o tema nas instituições e a elevada curva de aprendizagem gerada pela adoção de novas tecnologias da informação.
De início não havia intenção de se desenvolver um software, mas sim investigar critérios de avaliação para sistemas de bibliotecas digitais e com eles se realizar a comparação de ferramentas de criação de acervos disponíveis no mercado. O desenvolvimento do software surgiu a partir da publicação do edital de Preservação e Acesso aos Bens do Patrimônio Afro-Brasileiro, pelo Ministério da Cultura, com o objetivo de "mobilizar a sociedade civil e pesquisadores em particular em uma articulação ampla para uma Política Nacional de Acervos Digitais". A inciativa buscava validar ideias, metodologias e processos de trabalho para elaboração dos insumos em torno da construção de uma política nacional de acervos digitais.
As pesquisas desenvolvidas apontaram desafios técnicos para a implementação da maioria dos sistemas nas instituições culturais brasileiras, justificando a elaboração de um protótipo que atendesse melhor aos desafios de gestão e difusão de acervos. Dentre as decisões tomadas neste processo, esteve a escolha da plataforma WordPress como base, para o aproveitamento do seu ecossistema de desenvolvedores, plugins e temas. O protótipo inicial foi elaborado como um tema, mas tal estratégia foi deixada de lado em favor da criação de um plugin em 2017, para que se permitisse a escolha de diferentes temas no futuro.
No ano de 2016, o Instituto Brasileiro de Museus em diálogo com o Ministério da Cultura decidiu adotar e promover o Tainacan como a solução técnica do projeto Plataforma Acervo. O projeto tem por objetivo oferecer uma solução tecnológica para o campo as instituições museais e de patrimônio, visando a organização, difusão e gestão da documentação dos acervos. A partir desse ano, é então estabelecida uma nova cooperação entre o Ibram e a Universidade Federal de Goiás com esse objetivo.
A primeira versão do plugin Tainacan foi publicada no repositório de plugins do WordPress no dia 28 de Maio de 2018, sob o nome de Tainacan Alpha 0.1. Desde então, tem sido mantido por meio de bolsas de pesquisa e desenvolvimento via diferentes projetos financiados por instituições públicas e privadas. Através destes projetos, boa parte das funcionalidades criadas para o software são demandadas e validadas pelo uso nas instituições fomentadoras. Um dos primeiros acervos lançados neste esquema foi o do Museu do Índio, em novembro de 2018, com mais de 19.918 itens publicados. Em dezembro do mesmo ano, o Museu Histórico Nacional inaugurava também seu acervo online usando o Tainacan, sendo o primeiro museu vinculado ao Instituto Brasileiro de Museus a fazê-lo, iniciando uma série de lançamentos que seguiriam nos anos seguintes. Em meados de 2019, por meio de pesquisadores da Universidad Nacional Autónoma de México, iniciou-se a discussão para uso do Tainacan nos acervos de museus mexicanos, o que motivou a tradução do software para espanhol.
Em 2021, com o crescimento da comunidade, sua lista de emails de usuários foi substituída por um fórum Discourse, onde são discutidas dúvidas de uso em português, espanhol, francês e inglês.

## Recursos
### Gestão do Acervo

No painel administrativo do Tainacan, é possível realizar a criação de coleções. Tais coleções são agrupadores conceituais de itens, os objetos digitais que compõem o repositório digital. Nas coleções, são definidos os metadados que servirão de descritores para os itens. Os metadados podem ser de diferentes tipos, dentre os quais estão:
* Texto simples;
* Texto longo;
* Número;
* Data;
* Lista de seleção;
* Taxonomia;
* Relacionamento;
* Usuário;
* Composto;
Diferentes tipos de metadado representam diferentes formulários para entrada dos dados, assim como diferentes formas de se criar filtros para se realizar buscas sobre estes dados.
Feita a configuração de metadados de uma coleção, pode-se criar itens, seja individualmente, seja utilizando-se de ferramentas de edição em massa ou importação de dados oriundos de planilhas em CSV. Cada alteração feita nestes processos é registrada através de um registro de logs, e há níveis de permissão de usuários para se delimitar que dados podem ser alterados ou não.
Nas versões 0.17 e 0.18 foram lançadas, respectivamente, as funcionalidades de se realizar a submissão pública de itens e o painel de relatórios com gráficos a respeito do acervo.

### Exibição do Acervo

O Tainacan cria páginas na estrutura do site WordPress para exibição das listagens de itens configuradas no painel administrativo. Além da listagem de todos os itens e dos itens de cada coleção, é possível também se acessar listagens de itens por termo de taxonomia. Na página de um determinado item, é possível ver o documento em si, anexos e os metadados públicos.
Além das páginas geradas automaticamente, é possível se utilizar da estrutura de páginas do WordPress para se criar apresentações ao conteúdo usando os blocos gutenberg do plugin. Desde de sua versão 5.0, o WordPress usa como editor de conteúdo o esquema de blocos que podem ser configurados para se exibir diferentes conteúdos, sejam estes estáticos ou dinâmicos em uma página. Um exemplo deste tipo de conteúdo seria um carrossel de itens de uma coleção do Tainacan, ou mesmo uma nuvem de palavras formada por termos de uma taxonomia.
Além do visual, o Tainacan também oferece a exposição dos dados através de uma API Restful, que busca permitir a criação de novas interfaces de consumo das informações públicas e projetos de interoperabilidade.

## Nome e Identidade Visual

O nome Tainacan vem da lenda de Tainá-can dos povos indígenas Carajás. É uma entidade retratada por uma estrela, considerada a estrela vésper ou estrela d’alva, a primeira estrela a brilhar no anoitecer, possibilitando a percepção do espaço, suas diversidades, dimensões, galáxias e conexões.
O símbolo ou ícone usado na identidade visual faz referência a esta estrela através da intersecção de elementos. As cores usadas na identidade visual também têm papel importante de relacionar diferentes níveis da hierarquia na interface, sendo o azul escuro indicativo do nível repositório como um todo, e o azul turquesa representativo do nível de coleções.

## Tecnologia

Como plugin do WordPress, o Tainacan tem seu backend desenvolvido em PHP e banco de dados MySQL/MariaDB. O frontend do painel administrativo é um aplicativo de página única desenvolvido em Javascript, mais especificamente com a framework Vue.js, consumindo os dados do banco via API em JSON. Os blocos gutenberg, além do Vue usam também de React.