Document Page

document_page
REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/19.0/document_page
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, Don Kendall, oca-ci, hspl-parbo
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - document_knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to write web pages for internal documentation.

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_browse_content_kanban document.page.browse.kanban document.page kanban New
view_browse_top_document_filter document.page.category.search document.page field Inherits view_wiki_filter
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.list document.page list New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.list document.page.history list New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page list New
view_wiki_tree_children document.page.list document.page list New
wiki_history_form document.page.history.form document.page.history form New
Models touched (5)

New fields (18)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' sanitize=False search='_search_content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • image Binary
    attachment=True
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')]
Public methods (2)
  • copy(self, default=None)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
    sanitize=False
  • diff Html
    compute='_compute_diff' sanitize_tags=False
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • diff Html
    default=<expr> readonly=True sanitize_tags=False
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/18.0/document_page
VERSION
VERSION 2.1.2
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSEnric Tobella, Víctor Martínez, Weblate, OCA-git-bot, Don Kendall, oca-ci, Justine Doutreloux, Jan Suhr
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:14
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - document_knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to write web pages for internal documentation.

Code Analysis

Views touched (17)
XML IDNameModelTypeStatus
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_browse_content_kanban document.page.browse.kanban document.page kanban New
view_browse_top_document_filter document.page.category.search document.page field Inherits view_wiki_filter
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.list document.page list New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.list document.page.history list New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page list New
view_wiki_tree_children document.page.list document.page list New
wiki_history_form document.page.history.form document.page.history form New
Models touched (5)

New fields (18)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' sanitize=False search='_search_content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • image Binary
    attachment=True
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')]
Public methods (2)
  • copy(self, default=None)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
    sanitize=False
  • diff Html
    compute='_compute_diff' sanitize_tags=False
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • diff Html
    default=_get_diff readonly=True sanitize_tags=False
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/17.0/document_page
VERSION
VERSION 1.1.2
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSVíctor Martínez, Weblate, OCA-git-bot, oca-ci, Alberto Martínez, sygel, Lansana Barry Sow
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - document_knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module allows you to write web pages for internal documentation.

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (5)

New fields (16)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' sanitize=False search='_search_content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')]
Public methods (2)
  • copy(self, default=None)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
    sanitize=False
  • diff Html
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • diff Html
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/16.0/document_page
VERSION
VERSION 2.0.1
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSEnric Tobella, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Alvaro, Carlos Roca, Carolina Fernandez, Alberto Martínez, Kevin Luna, sygel, adrip-s73, FernandoRomera, Ivan Sokolov
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:50
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - document_knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - web_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (5)

New fields (16)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' sanitize=False search='_search_content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')]
Public methods (5)
  • copy(self, default=None)
  • create(self, vals_list)
    @api.model_create_multi
    Automatically make the category followers follow the new page
  • message_subscribe(self, partner_ids, subtype_ids=None)
  • message_unsubscribe(self, partner_ids)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
    sanitize=False
  • diff Html
    compute='_compute_diff' sanitize_tags=False
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • diff Html
    default=_get_diff readonly=True sanitize_tags=False
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/15.0/document_page
VERSION
VERSION 1.5.1
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSEnric Tobella, OCA Transbot, Víctor Martínez, Weblate, OCA-git-bot, valen, oca-ci, angel, Carolina Fernandez, oca-git-bot, Jacob Oldfield
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:37
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (5)

New fields (16)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' sanitize=False search='_search_content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')]
Public methods (2)
  • copy(self, default=None)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
    sanitize=False
  • diff Html
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (1)
  • name_get(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • diff Html
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/14.0/document_page
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSYann Papouin, OCA Transbot, AaronHForgeFlow, oca-travis, Weblate, OCA-git-bot, oca-ci, angel, SergiCForgeFlow, Kevin Luna, Kaynnan Lemes, oca-git-bot, Dũng (Trần Đình)
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (18)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_browse_content_kanban document.page.browse.kanban document.page kanban New
view_browse_top_document_filter document.page.category.search document.page field Inherits view_wiki_filter
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (18)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Html
    compute='_compute_content' inverse='_inverse_content' search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    readonly=True args: 'document.page.history', 'page_id', 'History'
  • image Binary
    attachment=True args: 'Image'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (2)
  • copy(self, default=None)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Html
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (1)
  • name_get(self)

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/13.0/document_page
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSMaxime Chambreuil, Pedro M. Baeza, mreficent, Lois Rilo, Tonow-c2c, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, ernesto, flachica
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (16)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • company_id Many2one → res.company
    default=<expr> help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Text
    compute='_compute_content' inverse='_inverse_content' search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    help='Name for the changes made' readonly=False related='history_head.name' string='Name'
  • draft_summary Char
    help='Describe the changes made' readonly=False related='history_head.summary' string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    order='create_date DESC' readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (1)
  • unlink(self)

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Text
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (1)
  • name_get(self)

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/12.0/document_page
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSmreficent, Andrii Skrypka, OCA Transbot, Víctor Martínez, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Florent THOMAS, Yu Weng
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (18)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_browse_content_kanban document.page.browse.kanban document.page kanban New
view_browse_top_document_filter document.page.category.search document.page field Inherits view_wiki_filter
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (21)
  • active Boolean
    default=True
  • backend_url Char
    compute='_compute_backend_url' help='Use it to link resources univocally' string='Backend URL'
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • color Integer
    string='Color Index'
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • complete_name Char
    compute='_compute_complete_name' store=True args: 'Complete Name'
  • content Text
    compute='_compute_content' copy=True inverse='_inverse_content' required=True search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    compute=<expr> help='Name for the changes made' inverse=<expr> string='Name'
  • draft_summary Char
    compute=<expr> help='Describe the changes made' inverse=<expr> string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    order='create_date DESC' readonly=True args: 'document.page.history', 'page_id', 'History'
  • image Binary
    attachment=True args: 'Image'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • parent_path Char
    index=True
  • sequence Integer
    default=10 help='Used to organise the category.' string='Sequence'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (2)
  • unlink(self)
    @api.multi
  • write(self, vals)
    @api.multi

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    @api.multi
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Text
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (1)
  • name_get(self)
    @api.multi

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/11.0/document_page
VERSION
VERSION 2.4.0
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSHolger Brunn, Pedro M. Baeza, GitHub, Lois Rilo, Jordi Ballester Alomar, OCA Transbot, oca-travis, Weblate, Iván Todorovich, nicomacr
WEBSITE
WEBSITEhttps://github.com/OCA/knowledge
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (16)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_document_category_filter document.page.category.search document.page search New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (15)
  • active Boolean
    default=True
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True ondelete='cascade' args: 'res.company', 'Company'
  • content Text
    compute='_compute_content' inverse='_inverse_content' required=True search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • draft_name Char
    compute=<expr> help='Name for the changes made' inverse=<expr> string='Name'
  • draft_summary Char
    compute=<expr> help='Describe the changes made' inverse=<expr> string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    order='create_date DESC' readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (1)
  • unlink(self)
    @api.multi

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    @api.multi
    Menu creation.

New fields (6)
  • company_id Many2one → res.company
    help='If set, page is accessible only from this company' index=True readonly=True related='page_id.company_id' store=True args: 'res.company', 'Company'
  • content Text
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (2)
  • getDiff(self, v1, v2)
    @api.model
    Return the difference between two version of document version.
  • name_get(self)
    @api.multi

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/10.0/document_page
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSHolger Brunn, Pedro M. Baeza, GitHub, Daniel Reis, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, Iván Todorovich
WEBSITE
WEBSITEhttp://www.openerp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (15)
  • active Boolean
    default=True
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • content Text
    compute='_compute_content' inverse='_inverse_content' required=True search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • display_content Text
    compute='_compute_display_content' string='Displayed Content'
  • draft_name Char
    compute=<expr> help='Name for the changes made' inverse=<expr> string='Name'
  • draft_summary Char
    compute=<expr> help='Describe the changes made' inverse=<expr> string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    order='create_date DESC' readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (0)

No public methods.

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    @api.multi
    Menu creation.

New fields (5)
  • content Text
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (2)
  • getDiff(self, v1, v2)
    @api.model
    Return the difference between two version of document version.
  • name_get(self)
    @api.multi

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/9.0/document_page
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSMaxime Chambreuil, Pedro M. Baeza, Stéphane Bidoul (ACSONE), OCA Transbot, Maxime Chambreuil - http://www.savoirfairelinux.com, oca-travis, Weblate, OCA-git-bot, Gervais Naoussi
WEBSITE
WEBSITEhttp://www.openerp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/knowledge:
    - knowledge
odoo/odoo:
    - mail
    - base
    - base_setup
    - web_kanban
    - web
    - bus
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (15)
XML IDNameModelTypeStatus
assets_backend document_page assets ir.ui.view qweb Inherits web.assets_backend
report_documentpage report_documentpage ir.ui.view qweb New
report_documentpage_doc report_documentpage_doc ir.ui.view qweb New
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_filter document.page.history.search document.page.history search New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (15)
  • active Boolean
    default=True
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • content Text
    compute='_compute_content' inverse='_inverse_content' required=True search='_search_content' args: 'Content'
  • content_date Datetime
    index=True readonly=True related='history_head.create_date' store=True args: 'Last Contribution Date'
  • content_uid Many2one → res.users
    index=True readonly=True related='history_head.create_uid' store=True args: 'res.users', 'Last Contributor'
  • display_content Text
    compute='_compute_display_content' string='Displayed Content'
  • draft_name Char
    compute=<expr> help='Name for the changes made' inverse=<expr> string='Name'
  • draft_summary Char
    compute=<expr> help='Describe the changes made' inverse=<expr> string='Summary'
  • history_head Many2one → document.page.history
    auto_join=True compute='_compute_history_head' store=True args: 'document.page.history', 'HEAD'
  • history_ids One2many → document.page.history
    order='create_date DESC' readonly=True args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • template Html
    help='Template that will be used as a content template for all new page of this category.' args: 'Template'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
Public methods (0)

No public methods.

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
    Get Page name of the menu.
  • document_page_menu_create(self)
    @api.multi
    Menu creation.

New fields (5)
  • content Text
  • diff Text
    compute='_compute_diff'
  • name Char
    index=True
  • page_id Many2one → document.page
    ondelete='cascade' args: 'document.page', 'Page'
  • summary Char
    index=True
Public methods (2)
  • getDiff(self, v1, v2)
    @api.model
    Return the difference between two version of document version.
  • name_get(self)
    @api.multi

New fields (1)
  • diff Text
    default=_get_diff readonly=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/knowledge
GIT
GIThttps://github.com/OCA/knowledge.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/knowledge/tree/8.0/document_page
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYKnowledge Management
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), OpenERP SA
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), OpenERP SA
COMMITTERS
COMMITTERSStéphane Bidoul, Yannick Vaucher, Alexandre Fayolle, Maxime Chambreuil, Stéphane Bidoul (ACSONE), OCA Transbot, Loïc Faure-Lacroix, OCA-git-bot, Matjaz Mozetic, Matjaž Mozetič, Giorgio Borelli, Glen Sojo
WEBSITE
WEBSITEhttp://www.openerp.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:24
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - knowledge
    - base
    - base_setup
    - web_kanban
    - web
    - mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
view_category_form document.page.category.form document.page form New
view_category_tree document.page.category.tree document.page tree New
view_wiki_create_menu Create Menu document.page.create.menu form New
view_wiki_filter document.page.search document.page search New
view_wiki_form document.page.form document.page form New
view_wiki_history_tree document.page.history.tree document.page.history tree New
view_wiki_menu_form document.page.menu.form document.page form New
view_wiki_show_diff Show Difference wizard.document.page.history.show_diff form New
view_wiki_tree document.page.list document.page tree New
view_wiki_tree_children document.page.tree document.page tree New
wiki_history_form document.page.history.form document.page.history form New
Models touched (4)

New fields (12)
  • child_ids One2many → document.page
    args: 'document.page', 'parent_id', 'Children'
  • content Text
    args: 'Content'
  • create_date Datetime
    readonly=True select=True args: 'Created on'
  • create_uid Many2one → res.users
    readonly=True select=True args: 'res.users', 'Author'
  • display_content Text
    compute='_get_display_content' string='Displayed Content'
  • history_ids One2many → document.page.history
    args: 'document.page.history', 'page_id', 'History'
  • menu_id Many2one → ir.ui.menu
    readonly=True args: 'ir.ui.menu', 'Menu'
  • name Char
    required=True args: 'Title'
  • parent_id Many2one → document.page
    domain=[('type', '=', 'category')] args: 'document.page', 'Category'
  • type Selection
    default='content' help='Page type' args: [('content', 'Content'), ('category', 'Category')], 'Type'
  • write_date Datetime
    readonly=True select=True args: 'Modification Date'
  • write_uid Many2one → res.users
    readonly=True select=True args: 'res.users', 'Last Contributor'
Public methods (4)
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • create_history(self, page_id, content)
  • do_set_content(self)
    @api.onchange('parent_id')
  • write(self, vals)
    @api.multi

New fields (2)
  • menu_name Char
    required=True args: 'Menu Name'
  • menu_parent_id Many2one → ir.ui.menu
    required=True args: 'ir.ui.menu', 'Parent Menu'
Public methods (2)
  • default_get(self, fields_list)
    @api.model
  • document_page_menu_create(self)
    @api.multi

New fields (5)
  • content Text
    args: 'Content'
  • create_date Datetime
    args: 'Date'
  • create_uid Many2one → res.users
    args: 'res.users', 'Modified By'
  • page_id Many2one → document.page
    args: 'document.page', 'Page'
  • summary Char
    select=True size=256 args: 'Summary'
Public methods (1)
  • getDiff(self, v1, v2)

New fields (1)
  • diff Text
    default=get_diff readonly=True args: 'Diff'
Public methods (1)
  • get_diff(self)