M

Manual Rede das Artes

Funcionalidades

Agentes

Agentes representam pessoas, coletivos e organizações culturais no ecossistema do Mapas Culturais.

Um Agente é a entidade central de perfil no Mapas Culturais. Todo usuário que se cadastra na plataforma recebe automaticamente um perfil de agente. Agentes podem ser donos de espaços, criar eventos, conduzir projetos e se inscrever em oportunidades.

Indivíduos

Pessoas físicas envolvidas em atividades culturais, como artistas, produtores, curadores e pesquisadores.

Coletivos

Grupos informais e coletivos culturais que atuam em conjunto sem uma estrutura jurídica formal.

Organizações

Pessoas jurídicas, como ONGs, fundações, empresas e instituições públicas.

Tipos de agente

A entidade usa um campo numérico de tipo (_type). Os rótulos e IDs exatos são configurados por instalação por meio do sistema de taxonomias e tipos de entidade. Administradores podem definir nomes de tipos e restringir quais usuários podem alterar o tipo de um agente.

Apenas administradores podem alterar o tipo de um agente após a criação. Usuários comuns recebem o tipo 2 (coletivo/organização) quando tentam definir um tipo para o qual não têm permissão.

Campos principais

CampoDescrição
nameNome de exibição do agente. Obrigatório.
shortDescriptionResumo curto, com até 400 caracteres. Obrigatório.
longDescriptionDescrição completa, com suporte a texto rico.
typeIdentificador numérico do tipo (individual, coletivo, organização).
locationPonto geográfico PostGIS. Fica oculto do público a menos que publicLocation seja true.
publicLocationIndica se a localização do agente é visível para quem não é proprietário.
status1 = publicado, 0 = rascunho, -2 = arquivado, -9 = desabilitado, -10 = lixeira.
createTimestampMomento em que o agente foi criado. Somente leitura.
updateTimestampMomento da última modificação do agente. Somente leitura.

Campos adicionais, como e-mail, telefone, site, documento e área de atuação, são armazenados como metadados e podem variar conforme a configuração da instalação.

Geolocalização

Agentes suportam geolocalização opcional via PostGIS. A localização é armazenada tanto em uma coluna point quanto em uma coluna geography para consultas espaciais. A flag publicLocation controla a visibilidade: se for false, as coordenadas são retornadas como (0,0) para usuários sem acesso a dados privados.

// A localização só é exposta se o agente tiver publicLocation = true
// ou se quem estiver visualizando tiver permissão para ver dados privados
function getLocation() {
    if ($this->publicLocation || $this->canUser('viewPrivateData')) {
        return $this->location;
    } else {
        return new \MapasCulturais\Types\GeoPoint(0, 0);
    }
}

Múltiplos agentes por usuário

Uma mesma conta de usuário pode gerenciar múltiplos perfis de agente. Um deles é designado como perfil do usuário, a identidade principal daquela conta.

Relações com outras entidades

Agentes são a entidade central de conexão da plataforma. Eles são proprietários de, ou participam de, todos os demais tipos de entidade:

Espaços

Um agente pode possuir zero ou mais espaços. Os espaços referenciam seu agente proprietário por agent_id.

Eventos

Um agente pode possuir zero ou mais eventos. Os eventos referenciam seu proprietário por agent_id.

Projetos

Um agente pode possuir zero ou mais projetos. Os projetos referenciam seu proprietário por agent_id.

Oportunidades

Um agente pode possuir oportunidades e também pode se relacionar com outras oportunidades como colaborador ou avaliador.

Além da titularidade, agentes participam de relações entre agentes (AgentAgentRelation). São vínculos muitos-para-muitos que representam papéis como colaborador, parceiro ou vínculo institucional.

Completude de perfil

O módulo ProfileCompletion acompanha quanto do perfil de um agente foi preenchido. Ele calcula uma porcentagem de completude com base na presença de campos importantes, como nome, descrição curta, descrição longa, imagem de avatar, localização e tags. Um indicador visual é exibido na interface para incentivar o preenchimento.

Selos e verificação

Agentes podem receber selos de administradores ou de responsáveis por oportunidades. Esses selos servem para certificar ou verificar agentes, por exemplo confirmando identidade, vínculo institucional ou participação em um programa.

As relações de selo são armazenadas em AgentSealRelation. Certos selos podem travar campos, impedindo que o agente modifique dados que já foram verificados. A lista de campos travados é calculada a partir das relações de selo ativas.

// Selos podem travar campos do agente para impedir alterações
function getLockedFields() {
    $locked_field_seals = (array) $this->lockedFieldSeals;
    return !empty($locked_field_seals) ? array_keys($locked_field_seals) : [];
}

Tags e taxonomias

Agentes suportam classificação taxonômica por meio de relações de termos (AgentTermRelation). Tags, áreas de atuação e outros vocabulários são vinculados por esse sistema.

Criando um agente

Acesse a plataforma e entre com sua conta. Se ainda não tiver uma conta, faça o cadastro primeiro. Um agente de perfil de usuário será criado automaticamente.

Vá até o painel e selecione Meus Agentes no menu de navegação.

Clique em Novo Agente, escolha o tipo do agente (individual, coletivo ou organização) e preencha os campos obrigatórios: nome e descrição curta.

Adicione uma descrição longa, imagem de avatar, tags, informações de contato e localização geográfica. O indicador de completude mostra seu progresso.

Altere o status de Rascunho para Publicado para tornar o agente visível no catálogo público.

Ciclo de status

O agente de perfil do usuário não pode ser arquivado nem removido de forma independente. Tentar fazer isso retorna um erro de permissão, a menos que a própria conta de usuário esteja sendo excluída.


Esse material é fruto do Programa de Difusão Nacional - Funarte Redes das Artes, realizado pelo Laboratório do Futuro (entidade vinculada à Universidade Federal do Ceará) no ano de 2025.

Felicilab
Mutirão
Lab do Futuro UFC
UFC
Rede das Artes Funarte
Funarte
MinC Governo Federal

On this page