Projetos
Projetos agrupam iniciativas culturais, eventos e oportunidades sob uma mesma estrutura organizacional.
Um projeto é um contêiner organizacional que agrupa atividades culturais relacionadas. Projetos representam programas financiados, iniciativas comunitárias, ações de pesquisa, residências culturais ou qualquer outro esforço com múltiplas atividades que se beneficie de um contexto e cronograma compartilhados.
Programas financiados
Iniciativas culturais financiadas pelo poder público ou por instituições privadas, com escopo e orçamento definidos.
Programas comunitários
Atividades contínuas conduzidas pela comunidade, oficinas e programas culturais.
Pesquisa e residências
Projetos de pesquisa cultural, residências artísticas e programas acadêmicos.
Campos principais
| Campo | Descrição |
|---|---|
name | Nome do projeto. Obrigatório. |
shortDescription | Resumo curto, com até 400 caracteres. Obrigatório. |
longDescription | Descrição completa com suporte a texto rico. |
type | Identificador numérico do tipo. Obrigatório. Configurado por instalação. |
startsOn | Data de início do projeto. Opcional; se informada, endsOn também é exigido. |
endsOn | Data de término do projeto. Deve ser maior ou igual a startsOn. |
status | 1 = publicado, 0 = rascunho, -2 = arquivado, -9 = desabilitado, -10 = lixeira. |
createTimestamp | Momento em que o projeto foi criado. Somente leitura. |
updateTimestamp | Momento da última modificação do projeto. Somente leitura. |
Ciclo de status
Projetos seguem o ciclo padrão de entidades:
Um projeto em Rascunho é visível apenas para seu proprietário e colaboradores. Publicá-lo o torna visível no catálogo público.
Hierarquia de projetos
Projetos suportam hierarquia pai-filho por meio da relação parent / _children. Isso permite modelar um programa maior (projeto pai) com subprogramas ou fases (projetos filhos).
// Um projeto pode ter subprojetos (filhos)
$subProject->parent = $parentProject;
$subProject->save();Relações com outras entidades
Agente proprietário
Todo projeto pertence a um agente. A titularidade determina quem controla o projeto por padrão.
Eventos
Projetos podem conter eventos. Eventos vinculados a um projeto ficam acessíveis por $project->events. Quando um projeto é excluído, seus eventos são desvinculados, mas não apagados.
Oportunidades
Projetos podem se vincular a oportunidades por relações ProjectOpportunity, habilitando editais associados ao contexto do projeto.
Relações de agente
Agentes adicionais, como colaboradores e parceiros, podem se relacionar com um projeto por ProjectAgentRelation, permitindo governança multiagente.
Gestão de eventos dentro de projetos
Gestores de projeto podem criar e gerenciar eventos diretamente dentro de um projeto. Aplicam-se as seguintes regras de permissão:
| Ação | Quem pode executá-la |
|---|---|
| Criar eventos no projeto | Proprietário do projeto ou agentes com permissão @control. |
| Solicitar vínculo de evento | Proprietário do projeto, admins ou agentes relacionados. |
Se o sistema de workflow estiver habilitado, vincular um evento a um projeto pode exigir aprovação do proprietário por meio de uma solicitação RequestEventProject.
Período de inscrição
Projetos têm um período opcional de inscrição definido por startsOn e endsOn. O método isRegistrationOpen() retorna true se a data atual estiver dentro dessa janela.
if ($project->isRegistrationOpen()) {
// accept submissions
}Se você informar startsOn, também precisa informar endsOn. A data final deve ser igual ou posterior à inicial. Salvar um projeto com apenas uma dessas datas falhará na validação.
Selos e verificação
Projetos podem receber selos por meio de ProjectSealRelation, permitindo que administradores certifiquem ou endossem projetos publicamente.
Tags e taxonomias
Projetos suportam relações de termos (ProjectTermRelation) para marcação e classificação em vocabulários como área cultural, público-alvo e abrangência geográfica.
Criando um projeto
No painel, selecione Meus Projetos.
Clique em Novo Projeto, escolha o tipo do projeto e preencha os campos obrigatórios: nome, descrição curta e tipo.
Se o projeto tiver um cronograma definido, informe as datas de início e término.
Convide outros agentes para colaborar, adicionando-os às relações de agente com o papel apropriado.
Crie ou associe eventos ao projeto para compor sua programação de atividades.
Altere o status de Rascunho para Publicado para tornar o projeto visível no catálogo público.
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.