Skip to content

[20.0][MIG] document_page: Migration to 20.0 - #647

Open
dnplkndll wants to merge 106 commits into
OCA:20.0from
ledoent:20.0-mig-document_page
Open

dnplkndll wants to merge 106 commits into
OCA:20.0from
ledoent:20.0-mig-document_page

Conversation

@dnplkndll

@dnplkndll dnplkndll commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Port of document_page from 19.0 to 20.0. Follows the OCA migration guide.

Depends on #646, so Detect unreleased dependencies is red until that lands.

ir.model.access and ir.rule are both removed in 20.0 — the security file is converted to ir.access by upgrade_code --script 19.4-00-ir-access, with the two global rules becoming rows with an empty group_id.

AI-assisted (Claude Code); every change reviewed, tested, and owned by the author.

Maxime Chambreuil and others added 30 commits September 30, 2026 08:13
* Add dependency to knowledge
* Adding hack in document_page_history to allow calling method that don't exists
* document_page_history don't have _sql attribute
* Filter more fields
* Changed history widget to html.
* Improved views and added followers to pages.
* Updated document_page pot and es translations.
* document_page:^Cissing dependency.
* [MIG] Migration to version 10.0
* [FIX] Comments and CI errors
* [FIX] ValueError: External ID not found in the system: base.menu_base_partner
* [FIX] ValueError: Wrong value for ir.actions.act_window.target: 'inlineview'
* [FIX] Based on @lasley comments
* [FIX] External ID not found in the system: base.group_document_user
Currently translated at 51.9% (28 of 54 strings)

Translation: knowledge-11.0/knowledge-11.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-11-0/knowledge-11-0-document_page/fa/
Currently translated at 77.8% (42 of 54 strings)

Translation: knowledge-11.0/knowledge-11.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-11-0/knowledge-11-0-document_page/de/
Fixing `Page` parents.
…Add history name field, to name revisions. Modified views to allow setting this field.

[document_page] FIX BUG: UI hanging when editing content. This was due to the api.depends on _compute_diff. Removing it because it's not really necessary since the field is not stored.

[document_page] page_id should be readonly.

Improve active field

[document_page] Update version number

[UPD] Update document_page.pot

[MIG] document_page_multi_company (OCA#188)

* [MIG] document_page_multi_company

Added this feature from the old module directly in document_page
- fix references: report module is now web module

- display_* fields are removed in this version
 * move menus to a higher level.
 * fix categories search view.
 * fix create menu action not being accessible in any way.
 * reorder form view, focusing in the content, not in secondary fields.
Currently translated at 100.0% (92 of 92 strings)

Translation: knowledge-12.0/knowledge-12.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-12-0/knowledge-12-0-document_page/fr/
The document.page content for category is required as in 12.0 but in IHM in 12.0 we can create a category without fill this field.

It's only one fix to retrive the same behaviour but investigation in the field definition and computation will be great
Content field can't be required for first document version
_create_history is needed for dependencies
jakobkrabbe and others added 13 commits September 30, 2026 08:13
Currently translated at 100.0% (101 of 101 strings)

Translation: knowledge-18.0/knowledge-18.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-18-0/knowledge-18-0-document_page/sv/
Currently translated at 94.0% (95 of 101 strings)

Translation: knowledge-18.0/knowledge-18.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-18-0/knowledge-18-0-document_page/ja/
Currently translated at 100.0% (101 of 101 strings)

Translation: knowledge-18.0/knowledge-18.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-18-0/knowledge-18-0-document_page/it/
Currently translated at 11.0% (11 of 100 strings)

Translation: knowledge-19.0/knowledge-19.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-19-0/knowledge-19-0-document_page/sl/
Currently translated at 100.0% (99 of 99 strings)

Translation: knowledge-19.0/knowledge-19.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-19-0/knowledge-19-0-document_page/sl/
Currently translated at 100.0% (99 of 99 strings)

Translation: knowledge-19.0/knowledge-19.0-document_page
Translate-URL: https://translation.odoo-community.org/projects/knowledge-19-0/knowledge-19-0-document_page/sl/
Make page_id wider in history form view

(cherry picked from commit 2f51090)
Signed-off-by: Don Kendall <[email protected]>
Assisted-by: Claude Opus 5
* ir.model.access + ir.rule -> ir.access (upgrade_code 19.4-00-ir-access);
  the two global rules become rows with an empty group_id.
* Drop ir.actions.report.report_file, removed in 20.0.
* .ruff.toml ignores RUF012: it rejects list _inherit, which core 20.0 uses.

Signed-off-by: Don Kendall <[email protected]>
Assisted-by: Claude Opus 5
@XtremXpert

Copy link
Copy Markdown

Thanks for the migration! While running document_page on 20.0 we hit a bug that this branch still carries (the same one exists on 19.0, see #649):

After editing a page's content, history_head keeps pointing to the previous revision, so the page shows the old content on reload and the edit looks lost. _compute_history_head takes history_ids[0], relying on _order = "id DESC", but in the cache the revision created by _inverse_content() during write() is appended at the end of history_ids.

Fix (same as #649):

    def _compute_history_head(self):
        # history_ids is not sorted by _order in cache: a revision created
        # during write() comes last, so pick the newest one explicitly.
        for rec in self:
            rec.history_head = rec.history_ids.sorted("id", reverse=True)[:1]

with a regression test, test_page_edit_keeps_new_content (create a page, write new content, flush and invalidate, then check the head and the content). It's in our 20.0 fork: XtremXpert@118e02e. Feel free to cherry-pick it, or I can open a PR against your branch if you prefer.

@XtremXpert XtremXpert left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Thanks for the migration! One issue we hit running document_page on 20.0: after editing a page, history_head points to the previous revision, so the saved content looks lost. Two suggestions below (fix + regression test); we run them in production on 20.0.

Comment thread document_page/models/document_page.py Outdated
Comment thread document_page/tests/test_document_page.py
XtremXpert and others added 2 commits October 10, 2026 10:29
history_ids is not sorted by _order in the cache: the revision created by
write() is appended last, so history_ids[0] kept pointing to the previous
revision and the edited content was lost on reload.

Assisted-by: Claude Opus 5.5
@dnplkndll
dnplkndll force-pushed the 20.0-mig-document_page branch from 656b65b to 961ecd4 Compare October 10, 2026 14:36
@dnplkndll

Copy link
Copy Markdown
Contributor Author

**XtremXpert **

@XtremXpert looks good thanks

@dnplkndll
dnplkndll requested a review from XtremXpert October 11, 2026 17:27
adminde added a commit to oros-energy/oca-knowledge that referenced this pull request Oct 15, 2026
Head 76fa868 of ledoent:20.0-mig-document_page, open. The last PR commit
961ecd4 (DO NOT MERGE, pins document_knowledge to the open PR in
test-requirements.txt) is left out because document_knowledge is merged here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.