Pular para o conteúdo

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.

EditReorder
Renomear título inlinesimnão
Alça de arrastenãosim
Move up / Move downnãosim
Move to modulenãosim (só atividades)
Add new item / Add contentsimnão
Duplicate / Removesimnão

Adicionar conteúdo

Três pontos de entrada, e eles fazem coisas diferentes:

ControleOndeAdiciona em
Add Module (ícone pasta+)cabeçalho de Course Contentraiz do curso
Add Content (ícone arquivo+)cabeçalho de Course Contentraiz do curso
Add new itemna linha do próprio módulo, modo Editdentro 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

  1. Pelo estado vazio, clique em Add Module. Renomeie.
  2. Adicione um segundo módulo.
  3. 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.
  4. No módulo 2, adicione 1 Quiz e 1 Survey no mesmo envio.
  5. Pelo cabeçalho, clique em Add Content e adicione 1 Lesson — ela cai na raiz do curso, não dentro de um módulo.
  6. 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

LinhaAções
MóduloAdd new item, Remove
AtividadeAdd 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

  1. Renomeie um módulo e uma lição. Recarregue e confirme que os dois ficaram.
  2. Duplique uma lição. Renomeie a cópia e confirme que a original não mudou.
  3. Remova uma lição, confirme que o diálogo aparece, aceite.
  4. Remova um módulo que ainda tem atividades dentro.
  5. 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

  1. Arrastar e soltar — pegue a alça e solte a linha onde quiser, inclusive para dentro ou fora de um módulo.
  2. Move up / Move down — os botões de seta na linha. É o caminho alcançável por teclado: Tab até a seta, Enter. Teste este; é o que costuma ser pulado.
  3. Move to module — só atividades. Abre um diálogo.

Course Content no modo Reorder: o toggle Edit/Reorder com Reorder ativo, uma linha de módulo com alça de arraste e setas para cima e para baixo, e duas linhas de lição que também têm o botão de mover para módulo.

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.

Diálogo Move Item to Module: um toggle Beginning of module / End of module, a lista de módulos de destino, e os botões Cancel e Move.

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:

MensagemO que você fez
Cannot move a lesson into one of its sub-lessonssoltou um pai dentro do próprio filho
Cannot move a lesson to a location containing its sub-lessonssoltou sobre a própria subárvore
Cannot move this lesson here - it would exceed the maximum nesting levelpassou do nível 4
Cannot move this module here - it would cause some lessons to exceed the maximum nesting levelmoveu um módulo cujos filhos passariam do nível 4

Passos

  1. Arraste uma lição do módulo 1 para o módulo 2.
  2. Traga de volta usando só Move up / Move down.
  3. Numa lição dentro de um módulo, use Move to moduleBeginning of module e confirme que ela cai em primeiro, não em último.
  4. Use Move to moduleRoot numa lição aninhada.
  5. Aninhe módulos até o nível 4, depois tente descer mais um.
  6. Tente arrastar um módulo para dentro de um filho dele.
  7. 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.

Course Content com seleção em lote ligada: uma barra com a contagem de selecionados ao lado de Select all, Deselect all e Delete selected, com checkbox em cada linha.

Selecionar um módulo seleciona todos os descendentes junto — é proposital, não é bug. Arrastar fica desabilitado enquanto o batch está ligado.

Passos

  1. Ligue o Batch. Selecione uma lição, depois um módulo.
  2. Confirme que os filhos do módulo foram selecionados junto e que a contagem reflete isso.
  3. Deselect all, depois Select all.
  4. Selecione duas lições e Delete selected.
  5. 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.