Migrate admin Pages editor from CKEditor 4 to CKEditor 5. - #515
Conversation
Replace EOL CKEditor 4.22.1 with self-hosted CKEditor 5 (GPL) to remove the insecure-version warning (scieloorg#484), sync the editor UI language with the admin session locale, and cover create/edit plus locale wiring with tests.
|
Não é melhor colocar o CKEditor via CDN ou instalar ele via npm no build? Acho que essas duas abordagens são melhores que carregar os arquivos do ckeditor no static/js |
@samuelveigarangel, não temos o npm configurado neste projeto e evitamos o uso de CDNs de terceiros no OPAC. Como nosso tráfego é alto, depender de uma CDN externa traz o risco de indisponibilidade ou de sermos colocados em uma blacklist por excesso de requisições. A principal justificativa, no entanto, é que o CKEditor é um componente restrito ao painel de admin. Como o volume de acessos a essa área é muito baixo, carregar os arquivos diretamente do static/js não gera problemas de performance e mantém a aplicação autônoma. |
O que esse PR faz?
Substitui o CKEditor 4.22.1 (EOL) pelo CKEditor 5 self-hosted (GPL) no admin de Páginas informativas.
session.langdo admin (pt_BR→pt-br,es,en)opac/tests/test_admin_pages_ckeditor.pyOnde a revisão poderia começar?
opac/webapp/templates/admin/pages/_ckeditor5.html— carga dos assets e localeopac/webapp/static/js/ckeditor5/opac-pages-editor.js— init ClassicEditor / plugins / toolbaropac/webapp/templates/admin/pages/add.htmleedit.htmlopac/tests/test_admin_pages_ckeditor.pyComo este poderia ser testado manualmente?
Português/English/Español), recarregar create/edit e verificar se a toolbar/UI do editor acompanha o idiomaAlgum cenário de contexto que queira dar?
A equipe de publicação reportou o banner de segurança do CKEditor 4 no OPAC BR. O projeto já estava na última release OSS do CK4 (4.22.1); a versão sugerida pelo aviso (4.25.1-lts) é comercial. A migração usa CKEditor 5 self-hosted com
licenseKey: 'GPL', sem CDN nem licença paga. Plugins premium / cloud (CKBox, EasyImage, etc.) ficaram de fora.Nota de licença: o OPAC é BSD-2-Clause; o CK5 OSS é GPL 2+. Vale acompanhamento jurídico SciELO / Open Source Program da CKSource se necessário.
Screenshots
O Ckeditor 5 está funcionando para o 3 idiomas:
EN:
PT-BR:
ES:
Quais são os tickets relevantes?
Referências
Segurança da informação (NSI.04)
Este PR manipula dados sensíveis ou pessoais (LGPD)?
Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?
Este PR introduz, atualiza ou remove dependências de terceiros?
static/js/ckeditor5/(não é pacote pip/npm de runtime). Validação Trivy/Sonar fica a cargo do pipeline do PR.Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?
Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?
contentcontinua sendo HTML de páginas informativas editado apenas por usuários autenticados no admin (mesmo modelo do CK4). O editor usahtmlSupportpermissivo para preservar HTML legado; o acesso permanece restrito ao admin.Este PR expõe novos endpoints, telas ou serviços?
Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?