Feature: Certificacao Progressiva
Visao geral
Feature de curso (enable_certificacao_progressiva) que habilita campos de carga horaria e propaga metadados para curso, ciclos e matriculas (students).
Tambem e usada por cron para identificar ciclos progressivos ativos.
Atores
- Administrador/supervisor (configura curso/ciclo).
- Participante (recebe metadados de progressiva na matricula).
- Jobs/cron do sistema.
Pre-condicoes
- Curso com
enable_certificacao_progressivaligado (we-dhedalos/functions/acfs/group_663b721c7c208.php:146-165). - Grupo ACF "Certificacao Progressiva" disponivel no curso quando o campo esta ativo.
Fonte:
we-dhedalos/functions/acfs/group_6667cf1e12abc.php:139-151.
Fluxo principal
- Admin salva curso com configuracao de carga horaria da progressiva.
- Hook
acf/save_postrecalcula cargas e propaga para:- curso (
curso) - ciclos futuros/abertos (
ciclo) - matriculas (
students) desses ciclos Fonte:we-dhedalos/functions/utils/update_carga_horaria_total_certificacao_progressiva.php:3-145.
- curso (
- Na inscricao, se ciclo estiver marcado como progressivo, metadados de carga sao gravados na matricula.
Fonte:
we-dhedalos/functions/rest/course/enroll.php:142-163. - Jobs usam a flag para encontrar ciclos progressivos ativos.
Fonte:
we-dhedalos/functions/utils/progressive_crons_functions.php:21-24.
Fluxos alternativos
- Se o post salvo nao for
curso, a propagacao nao roda. Fonte:we-dhedalos/functions/utils/update_carga_horaria_total_certificacao_progressiva.php:5-8. - Se nao houver ciclos/alunos elegiveis, a rotina encerra sem updates em
students. Fonte:we-dhedalos/functions/utils/update_carga_horaria_total_certificacao_progressiva.php:85-127.
Regras de negocio
- Soma de carga total e calculada em minutos com base no repeater
carga_horaria_certificacao_progressiva. Fonte:we-dhedalos/functions/utils/update_carga_horaria_total_certificacao_progressiva.php:15-24. - Cargas individuais (
ao_vivo,mentoria,login_hub,whatsapp) tambem sao convertidas para minutos e replicadas. Fonte:we-dhedalos/functions/utils/update_carga_horaria_total_certificacao_progressiva.php:29-47. - Ciclos progressivos ativos sao filtrados por
enable_certificacao_progressiva = 1no curso. Fonte:we-dhedalos/functions/utils/progressive_crons_functions.php:21-24.
Estados possiveis
- Curso:
enable_certificacao_progressiva = 0|1. - Curso/ciclo/matricula:
is_progressiva = 0|1. - Cargas horarias: inteiros em minutos nos metadados replicados.
Endpoints envolvidos
- OpenAPI
POST /dhedalos/v1/enroll/{slug_curso} - OpenAPI
GET /dhedalos/v1/classes/subscriber - OpenAPI
GET /dhedalos/v1/classes/facilitator
Tabelas/CPTs afetados
- model.md
curso(flag e metadados de carga) - model.md
ciclo(flag/metadados replicados) - model.md
students(metadados de progressiva por matricula)
Pendencias/duvidas
- A atualizacao de indicadores de engajamento (
login_hub,acesso_whatsapp) nao esta centralizada neste fluxo; apenas os campos de carga sao propagados aqui.