-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Descrição da tarefa
Reorganizar formulário de Journal para usuários Editores (equipe editorial) do periódico (JournalProxyEditor)
Contexto
Os formulários de edição do modelo Journal precisam ser reorganizados para seguir a mesma ordem e estrutura da página informativa dos periódicos, proporcionando uma experiência mais fluida aos usuários durante o preenchimento dos dados.
Referência
A estrutura de referência está no documento "20251010_RBEF_Total_Página_Informativa_português_ok", que apresenta a seguinte organização:
SOBRE O PERIÓDICO
- Breve Histórico
- Acesso Aberto
- Conformidade com a Ciência Aberta
- Ética na Publicação
- Foco e Escopo
- Preservação Digital
- Fontes de Indexação
- Ficha Bibliográfica
- Websites e Mídias Sociais
POLÍTICA EDITORIAL
- Preprints
- Processo de avaliação por pares
- Dados abertos
- Cobrança de Taxas
- Política de Ética e Más condutas, Errata e Retratação
- Política sobre Conflito de Interesses
- Adoção de softwares de verificação de similaridade
- Adoção de recursos de Inteligência Artificial
- Questões de Sexo e Gênero
- Comitê de Ética
- Direitos Autorais
- Propriedade Intelectual e Termos de uso
- Patrocinadores e Agências de Fomento
CORPO EDITORIAL
- Editor-Chefe
- Editores Executivos
- Editores Associados (por área)
- Editores Honorários
INSTRUÇÕES PARA OS AUTORES
- Tipos de documentos aceitos
- Contribuição dos Autores
- Formato de Envio dos Artigos
- Ativos Digitais
- Citações e Referências
- Declaração de Financiamento
- Informações Adicionais
- Contato
Objetivo
Reorganizar os painéis (panels) dos modelos proxy de Journal para refletir a estrutura do documento de referência, mantendo a mesma ordem e agrupamentos lógicos.
Modelos Afetados
Arquivos a modificar:
journal/wagtail_hooks.py(arquivo principal com os modelos proxy)
Modelos proxy existentes:
JournalProxyEditor- Editor geral com todas as abas
Estrutura Proposta
1. JournalProxyEditor - Nova estrutura de abas
edit_handler = TabbedInterface([
# ABA 1: SOBRE O PERIÓDICO
ObjectList(panels_about_journal, heading=_("About Journal")),
# ABA 2: POLÍTICA EDITORIAL
ObjectList(panels_editorial_policy, heading=_("Editorial Policy")),
# ABA 3: CORPO EDITORIAL
ObjectList(panels_editorial_board, heading=_("Editorial Board")),
# ABA 4: INSTRUÇÕES PARA AUTORES
ObjectList(panels_instructions_authors, heading=_("Instructions for Authors")),
])2. Mapeamento detalhado dos painéis
ABA 1: SOBRE O PERIÓDICO (About Journal)
Grupo: Identificação básica
AutocompletePanel("official")- Dados ISSNFieldPanel("title")- TítuloFieldPanel("short_title")- Título abreviadoInlinePanel("other_titles")- Outros títulosInlinePanel("parallel_title")via official - Títulos paralelos
Grupo: Breve Histórico
InlinePanel("history", label=_("Brief History"))
Grupo: Acesso Aberto
FieldPanel("open_access")- Status de acesso abertoInlinePanel("open_access_text", label=_("Open Access"))
Grupo: Conformidade com a Ciência Aberta
FieldPanel("url_oa")- URL do formulárioInlinePanel("file_oa", label=_("Open Science accordance form"))InlinePanel("open_science_compliance", label=_("Open Science Compliance"))InlinePanel("open_data", label=_("Open data"))InlinePanel("preprint", label=_("Preprint"))FieldPanel("journal_use_license")- Licença
Grupo: Ética na Publicação
InlinePanel("ethics", label=_("Ethics"))InlinePanel("ecommittee", label=_("Ethics Committee"))
Grupo: Foco e Escopo
InlinePanel("mission", label=_("Mission"))InlinePanel("focus", label=_("Focus and Scope"))AutocompletePanel("subject")- Áreas de estudoInlinePanel("thematic_area", label=_("Thematic Areas"))AutocompletePanel("subject_descriptor")- DescritoresAutocompletePanel("vocabulary")- Vocabulário controlado
Grupo: Preservação Digital
AutocompletePanel("digital_pa")- Agências de preservaçãoInlinePanel("digital_preservation", label=_("Digital Preservation"))
Grupo: Fontes de Indexação
AutocompletePanel("indexed_at")- Bases de indexação padronizadasAutocompletePanel("additional_indexed_at")- Bases adicionaisInlinePanel("title_in_database", label=_("Title in Database"))AutocompletePanel("wos_area")- Categorias WoSAutocompletePanel("wos_db")- Bases WoS
Grupo: Ficha Bibliográfica
FieldPanel("frequency")- PeriodicidadeFieldPanel("publishing_model")- Modelo de publicaçãoFieldPanel("standard")- PadrãoFieldPanel("main_collection")- Coleção principal- Campos do official: initial_year, initial_month, etc.
Grupo: Websites e Mídias Sociais
FieldPanel("journal_url")ouInlinePanel("related_journal_urls")InlinePanel("journalsocialnetwork", label=_("Social Network"))FieldPanel("submission_online_url")- URL de submissãoFieldPanel("logo")- Logo do periódico
Grupo: Contato
FieldPanel("contact_name")InlinePanel("journal_email", label=_("Contact e-mail"))FieldPanel("contact_address")AutocompletePanel("contact_location")
Grupo: Instituições
InlinePanel("owner_history", label=_("Owner"))InlinePanel("publisher_history", label=_("Publisher"))InlinePanel("sponsor_history", label=_("Sponsor"))InlinePanel("copyright_holder_history", label=_("Copyright Holder"))
ABA 2: POLÍTICA EDITORIAL (Editorial Policy)
Grupo: Preprints
InlinePanel("preprint", label=_("Preprint"))(já está em Open Science, mas pode ter texto específico sobre política)
Grupo: Processo de Avaliação por Pares
InlinePanel("review", label=_("Peer review"))
Grupo: Dados Abertos
InlinePanel("open_data", label=_("Open data"))(duplicado de Open Science, manter referência)
Grupo: Cobrança de Taxas
InlinePanel("fee_charging", label=_("Fee Charging"))
Grupo: Ética e Más Condutas
InlinePanel("policies", label=_("Retraction Policy | Ethics and Misconduct Policy"))InlinePanel("ethics")(referência cruzada)
Grupo: Conflito de Interesses
InlinePanel("conflict_policy", label=_("Conflict of interest policy"))
Grupo: Software de Verificação
InlinePanel("software_adoption", label=_("Similarity Verification Software Adoption"))
Grupo: Inteligência Artificial
InlinePanel("artificial_intelligence", label=_("Artificial Intelligence"))
Grupo: Questões de Gênero
InlinePanel("gender_issues", label=_("Gender Issues"))
Grupo: Direitos Autorais
InlinePanel("copyright", label=_("Copyright"))
Grupo: Propriedade Intelectual
InlinePanel("website_responsibility", label=_("Website responsibility"))InlinePanel("author_responsibility", label=_("Author responsibility"))
Grupo: Política Editorial Geral
InlinePanel("editorial_policy", label=_("Editorial Policy"))
ABA 3: CORPO EDITORIAL (Editorial Board)
InlinePanel("editorial_board_member_journal", label=_("Editorial Board"))
ABA 4: INSTRUÇÕES PARA AUTORES (Instructions for Authors)
Grupo: Tipos de Documentos
InlinePanel("accepted_documment_types", label=_("Accepted Document Types"))
Grupo: Contribuição dos Autores
InlinePanel("authors_contributions", label=_("Authors Contributions"))FieldPanel("author_name")- Formato dos nomes
Grupo: Formato de Envio
InlinePanel("preparing_manuscript", label=_("Preparing Manuscript"))FieldPanel("manuscript_length")- Extensão do manuscritoFieldPanel("format_check_list")- Checklist de formataçãoAutocompletePanel("text_language")- Idiomas do textoAutocompletePanel("abstract_language")- Idiomas do resumo
Grupo: Ativos Digitais
InlinePanel("digital_assets", label=_("Digital Assets"))
Grupo: Citações e Referências
InlinePanel("citations_and_references", label=_("Citations and References"))
Grupo: Documentos Suplementares
InlinePanel("supp_docs_submission", label=_("Supplementary Documents Required for Submission"))
Grupo: Declaração de Financiamento
InlinePanel("financing_statement", label=_("Financing Statement"))
Grupo: Agradecimentos
InlinePanel("acknowledgements", label=_("Acknowledgements"))
Grupo: Informações Adicionais
InlinePanel("additional_information", label=_("Additional Information"))
ABA 5: DADOS COMPLEMENTARES (Legacy & Technical Data)
Não deve ser apresentada já que não faz parte do modelo docx
Campos de compatibilidade legada:
FieldPanel("alphabet")FieldPanel("classification")FieldPanel("national_code")FieldPanel("type_of_literature")FieldPanel("treatment_level")FieldPanel("level_of_publication")FieldPanel("center_code")FieldPanel("identification_number")FieldPanel("ftp")FieldPanel("user_subscription")FieldPanel("subtitle")FieldPanel("section")FieldPanel("has_supplement")FieldPanel("is_supplement")FieldPanel("acronym_letters")
Campos técnicos:
FieldPanel("doi_prefix")FieldPanel("valid")
Notas administrativas:
InlinePanel("annotation", label=_("Notes"))
Tarefas de Implementação
Tarefa 1: Reorganizar JournalProxyEditor
- Criar nova estrutura de abas seguindo o documento RBEF
- Remover dos campos o param read-only=True
- Reorganizar painéis existentes nos novos agrupamentos
- Adicionar labels descritivos em português, espanhol e inglês
- Testar navegação e ordem de preenchimento
Tarefa 2: Documentação
- Atualizar comentários no código explicando a estrutura
- Documentar relação entre abas e seções do documento RBEF
- Criar guia de preenchimento para usuários (se aplicável)
Tarefa 3: Testes
- Testar carregamento de todas as abas
- Verificar que todos os InlinePanels funcionam corretamente
- Testar salvamento de dados em cada seção
- Validar que campos read_only estão corretos
- Testar com usuários reais (se possível)
Considerações Técnicas
1. Campos duplicados entre seções
Alguns campos aparecem em múltiplas seções do documento (ex: preprint aparece em "Open Science" e "Editorial Policy"). Decisões:
- Manter em uma única aba principal
- Ou usar referências cruzadas no help_text
2. Campos inexistentes no modelo
Se algum campo do documento não existir no modelo Journal:
- Documentar no issue
- Avaliar se precisa ser criado ou se é apenas texto editorial
3. Ordenação de InlinePanels
Usar Orderable nos modelos relacionados para permitir reordenação manual quando relevante.
4. Help texts
Atualizar help_text dos campos para orientar preenchimento conforme documento RBEF.
5. Validações
Considerar adicionar validações para garantir preenchimento de campos obrigatórios por seção.
Critérios de Aceitação
- Todas as abas seguem a ordem e estrutura do documento RBEF
- Campos estão agrupados logicamente dentro de cada aba
- Labels estão em português, espanhol e inglês (i18n)
- Nenhum campo foi perdido na reorganização
- Navegação está fluida e intuitiva
- Testes manuais validam a funcionalidade
Considerações
- Melhorar tempo de abertura do formulário.
- Garantir conexão com a tarefa-mãe Reorganização do formulário de Journal #1244.