Skip to content

docs: criar insumos de documentação para v2.x e v3.x#954

Merged
robertatakenaka merged 2 commits into
mainfrom
copilot/criar-insumos-documentacao
May 5, 2026
Merged

docs: criar insumos de documentação para v2.x e v3.x#954
robertatakenaka merged 2 commits into
mainfrom
copilot/criar-insumos-documentacao

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 5, 2026

O que esse PR faz?

Cria insumos de documentação técnica para as duas linhas de versões do scms-upload, conforme solicitado no issue:

  • docs/v2.x/README.md — descrição da versão 2.x elaborada a partir do branch main (referência v2.12.0rc6).
  • docs/v3.x/README.md — descrição da versão 3.x elaborada a partir do branch rc (referência v3.0.0rc20).

Cada documento cobre: propósito da versão, arquitetura geral (Django 5.2.3 + Wagtail + Celery + Redis + PostgreSQL + MinIO), stack tecnológica e containers, componentes (todos os apps Django listados em LOCAL_APPS com suas responsabilidades), funcionalidades principais, estrutura de diretórios em alto nível, comandos do Makefile, convenções importantes (CommonControlField, sanitização de campos detail/JSON, BaseProc.get_or_create, fachada proc/controller.py, CommonControlFieldViewSet) e versão de referência.

O documento da v3.x destaca o que muda em relação à v2.x — especialmente o app upload ativado em INSTALLED_APPS, descrevendo modelos (Package, PackageZip, ValidationReport, UploadValidator), as tarefas Celery em upload/tasks.py, o fluxo completo de estados PS_* do Package (de submitted a published/required-erratum/required-update/depublished/archived) e uma tabela comparativa v2.x vs v3.x cobrindo dependências (packtools, scielo_classic_website), entradas do menu Wagtail (upload, upload-error), production-v3.0.0rc4.yml, ajustes em PublicationAPI (parâmetro enabled, fluxo de auth/validação revisto, exceção tratada em publish_article_on_website), refatoração de Operation.start/exclude_events e tratamento de MultipleObjectsReturned em HTMLXML.

Nenhuma alteração de código foi feita — apenas adição de arquivos markdown sob docs/.

Onde a revisão poderia começar?

  • docs/v2.x/README.md
  • docs/v3.x/README.md

Como este poderia ser testado manualmente?

Por se tratar exclusivamente de conteúdo markdown, basta abrir os dois arquivos no GitHub (ou em qualquer renderizador markdown) e verificar:

  1. Se a descrição dos componentes corresponde aos apps presentes em LOCAL_APPS de config/settings/base.py em cada branch (main para v2.x, rc para v3.x).
  2. Se as funcionalidades descritas (tarefas Celery, estados, modelos) batem com proc/tasks.py, upload/tasks.py, upload/choices.py, migration/choices.py, tracker/choices.py e pid_provider/choices.py.
  3. Se a tabela comparativa do documento v3.x reflete as diferenças reais entre os branches (config/menu.py, requirements/base.txt, app upload habilitado/desabilitado).

Opcionalmente, é possível subir o servidor Sphinx local (docker-compose -f local.yml up docs) — embora os novos arquivos sejam markdown puro e não estejam ligados ao toctree do Sphinx (foram criados como insumos, conforme o título do issue, e não como parte da árvore Sphinx).

Algum cenário de contexto que queira dar?

Após o esclarecimento de @robertatakenaka no PR ("não é um issue para modificação no código. É um issue para criar documentação das versão v2.x e v3.x"), o escopo foi confirmado como puramente documental. Os dois branches (main e rc) foram consultados para extrair as informações; em particular, main compartilha quase toda a base de apps com rc, sendo o app upload (recepção e QA de pacotes SPS por usuários) o principal diferenciador da linha 3.x. Esse contraste é o eixo central do documento da v3.x.

Screenshots

N/A — a mudança é apenas de conteúdo markdown.

Referências

  • Branch main do repositório scieloorg/scms-upload (v2.12.0rc6) — config/settings/base.py, config/menu.py, requirements/base.txt, proc/tasks.py, migration/, pid_provider/, tracker/choices.py, publication/.
  • Branch rc do repositório scieloorg/scms-upload (v3.0.0rc20) — mesmos arquivos acima e upload/ (tasks.py, models.py, choices.py, validation/, controller.py).
  • .github/pull_request_template.md.

Copilot AI linked an issue May 5, 2026 that may be closed by this pull request
2 tasks
Copilot AI changed the title [WIP] Create inputs for technical documentation Aguardando esclarecimento de escopo — nenhuma alteração realizada May 5, 2026
Copilot AI requested a review from robertatakenaka May 5, 2026 13:33
@robertatakenaka
Copy link
Copy Markdown
Member

@copilot não é um issue para modificação no código. É um issue para criar documentação das versão v2.x e v3.x

Agent-Logs-Url: https://github.com/scieloorg/scms-upload/sessions/58694732-da3f-4a62-abaf-109fd0ea4f11

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 5, 2026

@copilot não é um issue para modificação no código. É um issue para criar documentação das versão v2.x e v3.x

Entendido — sem mudanças de código. Em f4b01c3 adicionei os insumos de documentação solicitados pelo issue:

  • docs/v2.x/README.md — descrição da v2.x com base no branch main (v2.12.0rc6): propósito, arquitetura, stack, todos os apps Django (incluindo a observação de que upload está presente mas desabilitado em INSTALLED_APPS), funcionalidades, estrutura de diretórios e convenções.
  • docs/v3.x/README.md — descrição da v3.x com base no branch rc (v3.0.0rc20), com foco no app upload (modelos Package/PackageZip/ValidationReport/UploadValidator, tarefas de validação e o fluxo de estados PS_*), além de uma tabela comparativa v2.x vs v3.x.

Copilot AI changed the title Aguardando esclarecimento de escopo — nenhuma alteração realizada docs: criar insumos de documentação para v2.x e v3.x May 5, 2026
@robertatakenaka robertatakenaka marked this pull request as ready for review May 5, 2026 14:32
Copilot AI review requested due to automatic review settings May 5, 2026 14:32
@robertatakenaka robertatakenaka merged commit be6204f into main May 5, 2026
4 checks passed
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR adiciona insumos de documentação técnica para as linhas v2.x e v3.x do scms-upload, descrevendo propósito, arquitetura, componentes (apps), funcionalidades e convenções de cada linha, com referência explícita aos branches/versões usadas como base.

Changes:

  • Adiciona docs/v2.x/README.md com visão geral da linha 2.x (migração/publicação do legado e convenções principais).
  • Adiciona docs/v3.x/README.md com visão geral da linha 3.x (ênfase no app upload e fluxo de QA), incluindo seção comparativa vs. 2.x.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 8 comments.

File Description
docs/v2.x/README.md Documento técnico da linha 2.x (propósito, stack, apps, pipeline de migração/publicação, convenções e referências).
docs/v3.x/README.md Documento técnico da linha 3.x (foco no app upload, estados/fluxo de QA, tarefas e diferenças vs. 2.x).

Comment thread docs/v2.x/README.md
| Framework web | Django | 5.2.3 |
| CMS | Wagtail | (admin para gestão de conteúdo) |
| Tarefas assíncronas | Celery | 5.5.3 (com `django-celery-beat` 2.8.1) |
| Broker / cache | Redis | 5.x |
Comment thread docs/v3.x/README.md
| Framework web | Django | 5.2.3 |
| CMS | Wagtail | (admin para gestão de conteúdo) |
| Tarefas assíncronas | Celery | 5.5.3 (com `django-celery-beat` 2.8.1) |
| Broker / cache | Redis | 5.x |
Comment thread docs/v3.x/README.md
Comment on lines +121 to +138
Tarefas Celery em `upload/tasks.py` (priority 0):

- `task_optimise_package(file_path)` — pré-processamento do ZIP recebido.
- `task_receive_packages(user_id, pkg_zip_id)` / `task_receive_package(user_id, pkg_id)` —
ingestão de lote / individual.
- `task_validate_xml_structure(...)` — valida o XML usando
`packtools.sps.validation.xml_structure.StructureValidator`.
- `task_validate_xml_content(...)` — valida o conteúdo do XML
(`upload.validation.xml_data_checker.XMLDataChecker`).
- `task_validate_assets(package_id, xml_path, package_files, xml_assets)` —
valida figuras/ativos.
- `task_validate_renditions(...)` / `task_validate_renditions_content(...)` —
valida PDFs e seu conteúdo (`upload.validation.rendition_validation`).
- `task_validate_webpages_content(package_id)` — valida páginas renderizadas
(`upload.validation.html_validation.validate_webpage`).
- `task_publish_article(...)` — publica o artigo aprovado.
- `task_complete_journal_data(...)` / `task_complete_issue_data(...)` —
preenche metadados de periódico/fascículo a partir do pacote.
Comment thread docs/v3.x/README.md
Comment on lines +55 to +67
| Empacotamento | Docker + `docker-compose` | `local.yml`, `production-v3.0.0rc4.yml` |

> Em relação à 2.x: a 3.x usa **versões anteriores** de `packtools` e
> `scielo_classic_website`. Isso reflete o ciclo de release das duas linhas
> (a 3.x foi cortada antes das atualizações que entraram na 2.x mais
> recente). Verifique compatibilidade ao realizar *backports*.

### 2.2 Containers (compose)

Idênticos à 2.x: `django`, `celeryworker`, `celerybeat`, `flower`,
`postgres`, `redis`, `minio`, `docs`. O arquivo de produção de referência
nesta linha é `production-v3.0.0rc4.yml`.

Comment thread docs/v2.x/README.md
Comment on lines +64 to +69
- `flower` — painel de monitoramento Celery.
- `postgres` — banco relacional.
- `redis` — broker e backend de cache/resultados.
- `minio` — armazenamento de arquivos (XML, PDF, ativos, ZIPs).
- `docs` — servidor Sphinx para documentação.

Comment thread docs/v3.x/README.md
Comment on lines +64 to +66
Idênticos à 2.x: `django`, `celeryworker`, `celerybeat`, `flower`,
`postgres`, `redis`, `minio`, `docs`. O arquivo de produção de referência
nesta linha é `production-v3.0.0rc4.yml`.
Comment thread docs/v2.x/README.md
Comment on lines +278 to +280
A documentação Sphinx pode ser servida com:

```bash
Comment thread docs/v3.x/README.md
Comment on lines +129 to +135
(`upload.validation.xml_data_checker.XMLDataChecker`).
- `task_validate_assets(package_id, xml_path, package_files, xml_assets)` —
valida figuras/ativos.
- `task_validate_renditions(...)` / `task_validate_renditions_content(...)` —
valida PDFs e seu conteúdo (`upload.validation.rendition_validation`).
- `task_validate_webpages_content(package_id)` — valida páginas renderizadas
(`upload.validation.html_validation.validate_webpage`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar insumos para uma documentação

3 participants