Fred23

Progressos 23 a 26/01/2023

Finalizei as funções e telas básicas de cadastro, edição e exclusão de módulos e atividades. Estes integram o “coração” do Fred, na medida em que “servem” os conteúdos textuais e multimídia (via módulos) e “aplicam” as avaliações de desempenho (via atividades vinculadas aos módulos).

No Fred2, a edição do conteúdo dos módulos foi baseada no editor Pell. Gosto dele por ser minimalista, pouco intrusivo e facilmente personalizável. Há outras opções populares (p.ex., TinyMCE), que infelizmente arrastam para o editor mais recursos (e peso) do que eu preciso. Basicamente, módulos requerem hierarquia de títulos (níveis 1-3), mudança de estilos (negrito, itálico, monoespaçado) e cores (algum destaque), marcação de links e inserção de imagens.

Ainda assim, há uma consequência indesejada: os textos são armazenados no banco de dados com os marcadores HTML. Pode parecer um detalhe sem importância, embora as consequências para a reutilização e modularidade dos conteúdos são relevantes. Por exemplo, a conversão de textos de módulos formatados para outras saídas, tal como PDF ou TXT (texto puro), requer tarefas adicionais de limpeza e remoção dos marcadores. A questão de os registros de texto ocuparem mais espaço (em bytes) com os marcadores é menos importante, apesar de fazer diferença no longo prazo. Por fim, há a dependência de JavaScript para editar os conteúdos, o que sou contra “por definição”.

Por isso, o Fred23 deixará de utilizar editores rich-text para os módulos e adotará Markdown, convertido na geração da página HTML de cada módulo. Resolverei todos os problemas acima (armazenamento menor e mais limpo, dispensando JavaScript na edição) e ainda facilitarei a transposição de conteúdos para outros formatos. Markdown é a língua franca de ferramentas maravilhosas como pandoc, que convertem Markdown em qualquer coisa – PDF, LaTeX, Word, EPub etc. Tenho planos para adaptar minhas disciplinas para livros autoinstrucionais, o que será muito facilitado pela mudança.

Nas disciplinas com exemplos e atividades de código, o marcador HTML <code> é suficiente, e trivialmente suportado via Markdown. Adotei, no Fred2, e pretendo manter o CodeMirror nas situações em que estudantes precisam escrever código com formatação automática da sintaxe na entrega das atividades.

A seguir: banco de mídias e banco de atividades, as grandes mudanças de Fred23.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.