3. Montar o outline
Objetivo: montar uma estrutura de curso real e provar que toda forma de rearranjar ela se sustenta.
Pré-requisito: fluxo 1 concluído. Trabalhe na seção Course Content do workspace.
É a superfície mais densa do produto e a que mais esconde bug. Vá devagar.
Os dois modos
O toggle à direita do cabeçalho de Course Content alterna entre Edit e Reorder. Não é cosmético — cada modo expõe um conjunto diferente de ações na linha, e uma ação ausente em um dos modos não é bug.
| Edit | Reorder | |
|---|---|---|
| Renomear título inline | sim | não |
| Alça de arraste | não | sim |
| Move up / Move down | não | sim |
| Move to module | não | sim (só atividades) |
| Add new item / Add content | sim | não |
| Duplicate / Remove | sim | não |
Adicionar conteúdo
Três pontos de entrada, e eles fazem coisas diferentes:
| Controle | Onde | Adiciona em |
|---|---|---|
| Add Module (ícone pasta+) | cabeçalho de Course Content | raiz do curso |
| Add Content (ícone arquivo+) | cabeçalho de Course Content | raiz do curso |
| Add new item | na linha do próprio módulo, modo Edit | dentro daquele módulo |
O diálogo Add Content é um seletor de quantidade, não de um item só. Sete tipos — Lesson, Quiz, Survey, Assignment, Forum, Meeting, External Course — cada um com um contador. O número é digitável e vai até 99 por tipo, e um único envio pode misturar tipos.
Passos
- Pelo estado vazio, clique em Add Module. Renomeie.
- Adicione um segundo módulo.
- No módulo 1, use Add new item e adicione 3 Lessons de uma vez — coloque 3 no contador de Lesson e clique em Add.
- No módulo 2, adicione 1 Quiz e 1 Survey no mesmo envio.
- Pelo cabeçalho, clique em Add Content e adicione 1 Lesson — ela cai na raiz do curso, não dentro de um módulo.
- Adicione um módulo dentro do módulo 1 (módulo aceita módulo).
O que verificar
- As três lições chegam como três linhas separadas, não uma.
- O envio misto cria o quiz e o survey.
- Add Content do cabeçalho cai na raiz; Add new item do módulo cai dentro dele.
- Toda linha nova ganha um título padrão e a contagem em Course at a glance acompanha.
Modo Edit
Renomear
Clique no título uma vez para armar, clique de novo para focar, digite e pressione Tab
ou clique fora. É o blur que salva — digitar sozinho não salva.
Ações da linha
| Linha | Ações |
|---|---|
| Módulo | Add new item, Remove |
| Atividade | Add content (abre o editor daquela atividade), Duplicate, Remove |
Remove sempre pede confirmação. Duplicate copia a linha no lugar.
Em tela estreita os botões viram um menu ⋯ único com as mesmas ações — vale uma passada na largura de celular.
Expandir e recolher
O ícone de pasta no cabeçalho alterna Expand all / Collapse all. Módulos individuais
alternam clicando no cabeçalho do módulo, ou com Enter / Space quando ele está focado.
Passos
- Renomeie um módulo e uma lição. Recarregue e confirme que os dois ficaram.
- Duplique uma lição. Renomeie a cópia e confirme que a original não mudou.
- Remova uma lição, confirme que o diálogo aparece, aceite.
- Remova um módulo que ainda tem atividades dentro.
- Recolha tudo, expanda tudo, depois alterne um módulo sozinho.
O que verificar
- Renomear sobrevive ao reload.
- A cópia é independente da original.
- Remover um módulo leva os filhos junto, e as contagens atualizam.
- Cancelar a confirmação não remove nada.
Modo Reorder
Vire o toggle para Reorder. As ações da linha mudam e aparece uma alça de arraste à esquerda de cada linha.
Três formas de mover um item
- Arrastar e soltar — pegue a alça e solte a linha onde quiser, inclusive para dentro ou fora de um módulo.
- Move up / Move down — os botões de seta na linha. É o caminho alcançável por
teclado:
Tabaté a seta,Enter. Teste este; é o que costuma ser pulado. - Move to module — só atividades. Abre um diálogo.

Linha de módulo só ganha as setas — nada de Move to module, já que módulo não tem para onde ir.
O diálogo Move to module
- Um toggle de posição: Beginning of module ou End of module (padrão é End).
- A lista de módulos de destino. O pai atual do item e o próprio item ficam de fora — então uma lição já no módulo 1 não vai oferecer o módulo 1.
- Uma entrada Root, exibida só quando o item está dentro de um módulo — é assim que se puxa algo de volta para o topo.
- Move fica desabilitado até escolher um destino.

Regras de aninhamento
O aninhamento é limitado a 4 níveis, e módulo pode conter módulo. Um drop inválido é recusado com uma mensagem nomeada, e cada uma é um caso distinto que vale reproduzir:
| Mensagem | O que você fez |
|---|---|
| Cannot move a lesson into one of its sub-lessons | soltou um pai dentro do próprio filho |
| Cannot move a lesson to a location containing its sub-lessons | soltou sobre a própria subárvore |
| Cannot move this lesson here - it would exceed the maximum nesting level | passou do nível 4 |
| Cannot move this module here - it would cause some lessons to exceed the maximum nesting level | moveu um módulo cujos filhos passariam do nível 4 |
Passos
- Arraste uma lição do módulo 1 para o módulo 2.
- Traga de volta usando só Move up / Move down.
- Numa lição dentro de um módulo, use Move to module → Beginning of module e confirme que ela cai em primeiro, não em último.
- Use Move to module → Root numa lição aninhada.
- Aninhe módulos até o nível 4, depois tente descer mais um.
- Tente arrastar um módulo para dentro de um filho dele.
- Volte para Edit e recarregue a página.
O que verificar
- A ordem depois do reload é a que você deixou, para os três métodos de mover.
- Beginning of module realmente coloca o item em primeiro.
- O módulo atual não aparece na lista do diálogo; Root só aparece para item aninhado.
- Movimento inválido mostra a mensagem acima e não muda nada — sem meio-movimento.
- Os botões de seta são alcançáveis e operáveis só pelo teclado.
Modo Batch
O botão Batch ao lado do toggle de modo liga a multisseleção. A barra passa a mostrar
N selected mais Select all, Deselect all, Delete selected e um botão para
sair do modo.

Selecionar um módulo seleciona todos os descendentes junto — é proposital, não é bug. Arrastar fica desabilitado enquanto o batch está ligado.
Passos
- Ligue o Batch. Selecione uma lição, depois um módulo.
- Confirme que os filhos do módulo foram selecionados junto e que a contagem reflete isso.
- Deselect all, depois Select all.
- Selecione duas lições e Delete selected.
- Saia do batch e tente arrastar — depois vá para Reorder e tente de novo.
O que verificar
- A contagem bate com o que está realmente destacado.
- Deletar remove exatamente a seleção, nada vizinho.
- O toggle de modo e as ações de linha somem enquanto o batch está ligado.
- Arrastar não faz nada no batch, e volta a funcionar quando ele sai.
Onde costuma quebrar
- Reordenar e sair da página antes do save cair.
- Arraste para dentro de módulo aninhado caindo na profundidade errada.
- Move to module oferecendo o módulo em que o item já está.
- Batch delete levando junto um item vizinho.
- A contagem de atividades em Course at a glance dessincronizando depois de remoções.
- Dois separadores abertos no mesmo curso — o segundo sobrescreve o primeiro.