M

Manual Rede das Artes

Funcionalidades

Inscrições

Inscrições são candidaturas enviadas por agentes culturais para oportunidades, acompanhando todo o ciclo do rascunho à decisão final.

Uma inscrição é uma candidatura enviada por um agente cultural para uma oportunidade. Ela registra as respostas da pessoa proponente aos campos configurados da oportunidade, os arquivos anexados e as relações entre agentes no momento do envio. As inscrições percorrem um ciclo de status definido, da criação até a decisão final.

Ciclo de status da inscrição

CódigoNomeDescrição
0RascunhoEstá sendo preenchida pela pessoa proponente. Ainda não enviada.
1Enviada (pendente)Enviada e aguardando avaliação.
2InválidaMarcada como inválida por um avaliador ou administrador.
3Não aprovadaAvaliada e não selecionada.
8SuplenteEstá na lista de espera.
10Aprovada / selecionadaSelecionada pela oportunidade.
Registration::STATUS_DRAFT       = 0;  // Entity::STATUS_DRAFT
Registration::STATUS_SENT        = 1;  // Entity::STATUS_ENABLED
Registration::STATUS_INVALID     = 2;
Registration::STATUS_NOTAPPROVED = 3;
Registration::STATUS_WAITLIST    = 8;
Registration::STATUS_APPROVED    = 10;

A constante STATUS_SENT equivale a 1, o mesmo valor de Entity::STATUS_ENABLED. O campo status da inscrição usa 0 (rascunho) como valor padrão na criação.

Campos principais

CampoDescrição
numberNúmero legível da inscrição, com prefixo configurável. Gerado automaticamente na criação.
categoryCategoria selecionada, escolhida na lista registrationCategories da oportunidade.
proponentTypeTipo de proponente escolhido a partir de registrationProponentTypes.
rangeFaixa ou categoria de apoio escolhida em registrationRanges.
ownerAgente que envia a inscrição. Obrigatório.
opportunityOportunidade à qual esta inscrição pertence. Obrigatória. Imutável após a criação.
statusCódigo de status atual, conforme a tabela acima.
sentTimestampMomento em que a inscrição foi enviada. Definido automaticamente em send().
agentsDataSnapshot JSON dos dados dos agentes capturados no momento do envio.
scorePontuação numérica calculada a partir das avaliações técnicas.
eligibleIndica se a inscrição passou pelas verificações de elegibilidade.
consolidatedResultResultado final em texto produzido pelo método de avaliação.
editableUntilPrazo até o qual a pessoa proponente pode editar campos específicos após o envio.
editableFieldsLista de campos que a pessoa proponente pode editar após o envio.

Campos da inscrição

Oportunidades configuram quais informações as pessoas candidatas devem fornecer por meio de:

  • RegistrationFieldConfiguration — campos de formulário, como texto, seleção, checkbox, data e número
  • RegistrationFileConfiguration — exigências de upload de arquivo
  • RegistrationStep — grupos nomeados de campos para formulários em múltiplas etapas

As respostas dos campos são armazenadas como metadados de entidade com chaves prefixadas por field_. O sistema de visibilidade de campos suporta:

  • visibilidade por categoria — campos mostrados apenas para candidaturas de uma categoria específica
  • visibilidade por tipo de proponente — campos mostrados apenas para determinado tipo de proponente
  • visibilidade por faixa — campos mostrados apenas para quem concorre em uma faixa específica
  • campos condicionais — campos exibidos apenas quando outro campo possui um valor específico
// Verifica se um campo deve ser exibido para a inscrição atual
if ($registration->isFieldVisisble($fieldConfig)) {
    // renderiza o campo
}

Envio da inscrição

Quando a pessoa proponente chama send(), a plataforma:

  1. Valida todos os campos obrigatórios, anexos e relações entre agentes.
  2. Captura um snapshot JSON dos dados do agente proprietário e dos agentes relacionados em agentsData.
  3. Captura um snapshot do espaço vinculado, se houver, em _spaceData.
  4. Define status como STATUS_SENT e registra sentTimestamp.
  5. Dispara a recriação do cache de permissões.
$registration->send();

Depois de enviada, a oportunidade e o agente proprietário de uma inscrição não podem mais ser alterados. Tentar modificar opportunity após a criação é ignorado silenciosamente.

Relações de agente nas inscrições

Inscrições podem ter múltiplos agentes relacionados além do proprietário principal. Essas relações são configuradas por RegistrationAgentRelation e definidas nas próprias regras da oportunidade. Grupos comuns incluem:

  • owner — agente principal da candidatura, sempre obrigatório
  • coletivo — agente coletivo associado
  • instituicao — agente institucional associado

Cada agente relacionado precisa confirmar participação, com status da relação ≥ 0, antes que a inscrição possa ser enviada.

Relação com espaço

Se a oportunidade exigir um espaço, a pessoa proponente vincula um por RegistrationSpaceRelation. O proprietário do espaço precisa autorizar o vínculo. A plataforma valida:

  • se o espaço é obrigatório (useSpaceRelationIntituicao = 'required')
  • se o espaço vinculado já foi autorizado (status ≥ 0)

Fluxo de avaliação

A pessoa proponente envia a inscrição (status → Enviada).

Avaliadores são atribuídos às inscrições de forma automática ou manual. Cada avaliador é membro da comissão definida em EvaluationMethodConfiguration.

Cada membro da comissão cria ou atualiza um registro RegistrationEvaluation com sua análise. As avaliações têm um ciclo próprio: Rascunho → Avaliada (STATUS_EVALUATED = 1) → Enviada (STATUS_SENT = 2).

Após cada avaliação ser salva ou atualizada, a plataforma recalcula o resultado consolidado com base no método de avaliação da oportunidade e o armazena em consolidatedResult.

Um administrador define o status final, como aprovada, suplente, não aprovada ou inválida, com base nos resultados consolidados.

RegistrationEvaluation

Uma RegistrationEvaluation registra a avaliação individual de um avaliador sobre uma inscrição.

CampoDescrição
registrationInscrição que está sendo avaliada.
userConta de usuário do avaliador.
evaluationDataObjeto JSON com as respostas do avaliador, estruturado conforme o método de avaliação.
resultResultado textual calculado para essa avaliação individual.
status0 = rascunho, 1 = avaliada, 2 = enviada para a comissão.
isTiebreakerIndica se a avaliação foi enviada para desempate.
committeeNome do grupo de comissão ao qual o avaliador pertence.
sentTimestampMomento em que a avaliação foi enviada.
// Envia todas as avaliações do usuário atual
$opportunity->sendUserEvaluations($user);

Distribuição de avaliadores

A plataforma suporta exceções de distribuição por inscrição:

  • valuersIncludeList — IDs de usuário que obrigatoriamente devem avaliar essa inscrição, independentemente da distribuição padrão
  • valuersExcludeList — IDs de usuário que não devem avaliar essa inscrição
  • valuers — lista final calculada de avaliadores atribuídos

Edição após o envio

Gestores da oportunidade podem permitir que a pessoa proponente edite campos específicos após o envio, configurando editableUntil e editableFields. As alterações são enviadas via sendEditableFields().

// Concede direito de edição após o envio
$registration->editableUntil = new DateTime('2024-06-30 23:59:59');
$registration->editableFields = ['field_123', 'field_456'];
$registration->save();

Selos em caso de aprovação

Quando uma oportunidade publica seus resultados, inscrições aprovadas disparam a atribuição automática de selos aos agentes relevantes, como proprietário, coletivo e instituição, com base na configuração registrationSeals.

Exportação

O módulo Spreadsheets fornece exportação de inscrições e dados de avaliação. As exportações podem ser geradas por fase da oportunidade e filtradas por status.

Prestação de contas

O módulo OpportunityAccountability estende o fluxo de inscrições para acompanhar a entrega de relatórios de prestação de contas e documentos financeiros pelas pessoas aprovadas após o período de execução.


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