Pular para o conteúdo

5. Publicar release

Objetivo: entender e validar que o aluno só vê o que foi publicado.

Pré-requisito: fluxo 4 concluído.

Minor ou major — a plataforma decide quanta liberdade você tem

O diálogo de publicação abre com a lista de mudanças desde a última release, agrupada pela atividade ou seção que mudou, cada uma expansível. Abaixo dela, os dois tipos de publicação — e o que cada um significa para quem já está fazendo o curso:

Publish as MinorPublish as New Version (major)
Versãov1.0v1.1v1.xv2.0
Alunos existentesrecebem as mudançasficam na versão em que estão
Novas matrículasrecebem as mudançasrecebem a versão nova
Notasopcionalopcional

Quando o Minor é permitido, ele vem marcado como Recommended e pré-selecionado:

Diálogo de publicação depois de uma edição de baixo impacto: uma mudança listada, Publish as Minor selecionado e com selo Recommended, Publish as New Version disponível abaixo, e notas opcionais.

É esse o sentido da divisão. Um minor edita o curso debaixo dos pés de quem está no meio dele; um major deixa essa gente em paz e abre uma trilha nova.

Quando o minor é tirado de você

A escolha nem sempre é sua. O backend classifica cada mudança como severidade Low, Medium ou High, e uma única mudança High desabilita o Minor — a opção fica cinza com “High-impact changes require a new version” e o major aparece marcado como Required.

O mesmo diálogo depois de remover uma atividade: três mudanças listadas, Publish as Minor em cinza com um cadeado dizendo High-impact changes require a new version, e Publish as New Version marcado como Required.

Severidade High quer dizer: essa mudança pode invalidar progresso que um aluno já fez.

CategoriaMudanças que forçam versão nova
Configurações do cursocompletion settings, certificate settings, recurrence settings
Estruturaestrutura do outline alterada, atividade removida, lista de atividades substituída
Questõesquestões adicionadas, removidas ou modificadas num quiz ou survey
Notaevaluation settings, regra de aprovação, quem entrega
Prazosprazo alterado, política de atraso alterada
Blocosblocos removidos de uma atividade
Primeira publicaçãonão existe versão anterior para ser minor em relação a

Todo o resto — bloco novo, texto editado, atividade nova, módulo renomeado — fica em Low ou Medium e mantém o Minor disponível. Os dois prints acima são do mesmo curso: um bloco de texto editado, depois uma atividade removida.

A gaveta de versões

O ícone de ramo no cabeçalho do workspace abre o Course Releases — as versões publicadas, da mais nova para a mais antiga. A atual aparece como um cartão: versão, selo ACTIVE, data em que foi congelada, quem publicou, e quantos alunos estão matriculados nela. Um link View all releases abre a página completa.

Gaveta Course Releases: um cartão CURRENT mostrando a versão com selo ACTIVE, a data de publicação, o autor, a contagem de matriculados, as ações de ver, duplicar e arquivar, e um link View all releases.

Essa contagem de matriculados é o número para ler antes de publicar. Ela diz quantas pessoas um publish minor afetaria, e quantas um major deixaria para trás na versão antiga.

Cada linha de release tem três ações:

AçãoO que faz
Viewabre o conteúdo daquela release em somente leitura — o curso exatamente como os alunos daquela versão veem
Duplicatecria um curso novo semeado a partir daquela release, sem tocar neste. É também assim que se volta a uma major anterior
Archiveaposenta a release. Oferecida na ativa, e recusada enquanto ainda houver matrícula dependendo dela

Abrir uma release mostra também a lista de mudanças dela — o que entrou naquela versão, separado do histórico de mudanças do rascunho.

Histórico de mudanças

O relógio no cabeçalho do workspace abre o Change History — todo save que o curso já teve, do mais novo para o mais antigo, agrupado por dia.

Gaveta Change History: entradas agrupadas sob TODAY, cada linha nomeando o que mudou, o horário e o autor, com um controle de desfazer só na linha mais nova.

Cada linha nomeia o que mudou (“Block added”, “‘New item’ added”), quando, e quem fez, e expande para o detalhe. Dois caminhos de volta:

AçãoOndeO que faz
Undosó na entrada mais novadescarta a mudança mais recente e reaplica o estado anterior
Reverter para este pontoqualquer entrada mais antigarebobina o curso até aquele snapshot e descarta tudo que é mais novo

Reverter pede confirmação, e é mão única — não existe refazer.

O histórico não alcança antes da última major

O revert não reaplica o curso desde o começo. Ele parte do conteúdo da release major atual e reaplica só as mudanças feitas depois daquela publicação, até o ponto que você escolheu.

Ou seja, a janela alcançável é: tudo desde a última publicação major, e nada antes dela. A linha do tempo continua listando entradas mais antigas — elas são o registro do que aconteceu — mas reverter para uma delas te leva ao conteúdo da release atual, não àquele estado antigo. É o desenho, não é perda de dado.

Um curso nunca publicado não tem essa fronteira: todo o histórico dele é alcançável, porque não existe release de onde partir.

Para voltar a uma major anterior, não use o histórico — duplique a partir daquela release na gaveta de versões acima.

Reverter restaura conteúdo, não identidade

É a parte que parece bug e não é. Um revert restaura o conteúdo do curso: atividades e seus blocos, o outline, os recursos, o tipo e as configurações release-pinned.

Ele deixa de propósito os campos course-wide exatamente como estão:

RevertidoIntocado
Atividades, blocos, outline, recursosTítulo, descrição, imagem de capa
Tipo do cursoCategoria, autores
Configurações release-pinned — progressão, conclusão, certificado, CRCSlug, agenda e recorrência, registration key, reference code

É a mesma divisão course-wide do diálogo de configurações: esses campos valem ao vivo para todo mundo, então um revert não pode puxar eles para trás.

A interface não avisa nada disso. Sem alerta, sem texto no diálogo — o comportamento é intencional mas silencioso, então quem encontra pela primeira vez lê como revert parcial. Não é.

Passos

  1. Antes de publicar, abra o preview do curso.
  2. Publique a primeira release. Ela tem que ser major — não há do que ser minor.
  3. Edite um texto numa lição. Abra o Publish: Minor disponível e Recommended.
  4. Cancele. Agora remova uma atividade. Abra o Publish de novo: Minor travado, major Required.
  5. Publique como major e veja a versão pular para o próximo número inteiro.
  6. Abra a gaveta de versões e confira que a release nova está ACTIVE.
  7. Abra o Change History, desfaça a entrada mais nova, depois reverta para um ponto anterior.

O que verificar

  • A lista de mudanças bate com o que você realmente mudou — sem entrada fantasma, sem falta.
  • Edição de baixo impacto mantém o Minor ligado; a de alto impacto desabilita, sempre.
  • A severidade é decidida pela mudança em si, não por quantas mudanças existem.
  • Depois de um publish minor, um aluno já matriculado vê a mudança; depois de um major, esse mesmo aluno não vê.
  • Os números de versão avançam certo: minor sobe o segundo número, major sobe o primeiro e zera o segundo.
  • O selo ACTIVE fica em exatamente uma release, e a contagem de matriculados dela bate com a lista de matrículas.
  • View renderiza a release em somente leitura; Duplicate produz um curso separado; Archive é recusada enquanto ainda houver aluno naquela release.
  • Undo é oferecido só na entrada mais nova do histórico.
  • Reverter para um ponto depois da última major cai exatamente ali; antes dela cai no conteúdo da release atual — é esperado.
  • Depois do revert, título, capa, categoria, autores e slug seguem inalterados.
  • As release notes são opcionais nos dois tipos — mas não espere vê-las em lugar nenhum depois; é uma lacuna conhecida, não é bug seu.

Onde costuma quebrar

  • Um diff mostrando mudança que você não fez, ou escondendo a que você fez.
  • Minor continuar disponível depois de uma mudança de alto impacto — essa vale reportar alto.
  • Publicar duas vezes seguidas e criar release duplicada.
  • O selo de status do curso divergindo da release real.