Entrega primeira versão da plataforma SciELO Tools#1
Open
gitnnolabs wants to merge 1 commit into
Open
Conversation
Implementa o fluxo editorial central: ingestão DOCX/XML/ZIP, marcação assistida por IA, geração e validação SPS, artefatos HTML/PDF, rastreio de eventos no pipeline e interface Wagtail com API REST para integração.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Esta é a primeira versão funcional da plataforma descrita no SciELO Research Communication Tools (RCT): um backbone editorial agnóstico a sistemas externos, com o XML SPS como registro único de cada objeto e de cada etapa do ciclo.
Objetivo atendido nesta entrega: permitir que uma redação produza, valide e acompanhe artigos acadêmicos — da submissão (upload) à disseminação em múltiplos formatos — com marcação assistida por IA e revisão humana antes de finalizar.
Capacidades entregues
.zipSPS com assetsis_current/is_stale)ProcessingEvent(status, agente, timestamp, detalhes)referencescom parsing, deduplicação e API REST; bases para normalização editorialApps principais
manuscripts— pipeline editorial (upload → inspeção → processamento → estrutura → artefatos)sps— geração e validação SPS, HTML e PDF (packtools + LibreOffice)ai— serviço unificado de LLM (Gemini, Ollama, HuggingFace)references,journals,docx_parser,labeling,core,usersLimitações conhecidas desta versão
Onde a revisão poderia começar?
README.md— visão geral, pipeline em 9 etapas e mapa de apps.manuscripts/processing.py— orquestrador do pipeline (process_input).manuscripts/utils/processing_actions.py— handlers por ação (citação, XML, validação, HTML, PDF, pacote SPS).manuscripts/controller.py— lógica de artigos, eventos e estrutura.manuscripts/wagtail_hooks.py+manuscripts/views/— interface editorial no Wagtail.sps/— camada de conformidade SPS (geração, validação, renderização).Como este poderia ser testado manualmente?
1. Subir o ambiente
make build make up make django_migrate make django_createsuperuser # se ainda não existir usuário adminServiços locais: Wagtail em http://127.0.0.1:8009 (ver
README.mdpara demais portas).2. Fluxo editorial completo (Wagtail)
ProcessStatus) e os eventos registados.3. API REST
/api/v1/(ex.: operações sobre artigos e referências).4. Referências
references(listagem, parsing, deduplicação) via API ou admin.5. Validação automatizada (complementar)
Estes comandos validam regressões no pipeline e nas views; não substituem o teste manual do fluxo editorial descrito acima.
Algum cenário de contexto que queira dar?
A plataforma nasce para ser integração aditiva: periódicos e editoras mantêm OJS, ScholarOne ou fluxos próprios; o MarkAPI actua como backbone via API REST, registando tudo no XML SPS.
Princípios desta versão:
Dockerfile.llama); APIs externas são responsabilidade da instituição.Esta entrega materializa o núcleo do RCT — conversão, marcação, validação, múltiplos formatos e rastreio — numa stack Django/Wagtail implantável com Docker Compose.
Screenshots
Recomendado anexar no PR do GitHub, se possível:
Quais são tickets relevantes?
N/A
Referências
N/A