Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions setup/website_blog_usability/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
186 changes: 186 additions & 0 deletions website_blog_usability/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
======================
Website Blog Usability
======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:91072b61abd6f73d3999e81d5ce5ef25a75de77580a7c9258186ad79b5294861
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwebsite-lightgray.png?logo=github
:target: https://github.com/OCA/website/tree/16.0/website_blog_usability
:alt: OCA/website
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/website-16-0/website-16-0-website_blog_usability
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/website&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module enhances the blog management capabilities in Odoo by adding professional features for better content management.

Features
--------

* **Visits Display**: Show visit counts in list, form, and kanban views
* **Backend Form Access**: Quick access button (gear icon) in list view to open post form in backend
* **Professional Editing**: Content tab with HTML editor supporting code view toggle
* **Enhanced Views**: Improved form, tree, and kanban views with visit information
* **Search Filters**: Filter posts with no visits

Usage
-----

After installing this module:

1. Navigate to **Website > Content > Blog Posts**
2. View visit counts in the list view (visits column)
3. Click the gear icon button next to a post name to open it in backend form view
4. Use the enhanced form view to edit posts with HTML/code toggle in the Content tab
5. Filter posts with no visits using the search filter
6. View visit counts in kanban cards

Technical Details
-----------------

* Extends `blog.post` model with method `action_open_backend_form()` to open backend form view
* Inherits and enhances existing views from `website_blog`:
* Form view: Adds statistics section with visits and Content tab with HTML editor
* Tree view: Adds visits column, post_date column, and backend form button
* Search view: Adds "No Visits" filter
* Kanban view: Displays visit count in cards

**Table of contents**

.. contents::
:local:

Configuration
=============

To use this module, you need to:

#. Install the module from Apps menu
#. Go to **Website > Content > Blog Posts**
#. The module automatically enhances the blog post views with:

* Visit counts displayed in list, form, and kanban views
* Backend form access button (gear icon) in list view
* Statistics section in form view showing visit count
* Content editing tab with HTML/code toggle capability
* Search filter for posts with no visits

#. Create or edit a blog post to see the enhanced features:

* In the form view, you'll see a new "Statistics" section with visit information
* A new "Content" tab in the notebook allows editing with HTML/code toggle
* In the list view, visit counts are displayed and you can click the gear icon to open backend form
* Use search filter "No Visits" to find posts that haven't been visited yet

#. The visit counts are automatically tracked when visitors view blog posts on the website

Note: Visit counts are incremented automatically by the website_blog module when posts are viewed. This module only enhances the display and management of this information.

Usage
=====

Usage Guide
===========

Viewing Visit Statistics
------------------------

After installing the module, visit counts are automatically displayed:

* **List View**: The visits column shows the total number of views for each post
* **Form View**: A new "Statistics" section displays:
* Total visits (editable)
* Creation and last update dates
* **Kanban View**: Visit count is displayed in each card with an eye icon

Accessing Backend Form
----------------------

In the list view, each post has a gear icon button next to its name:

* Click the gear icon to open the post form view in the backend
* This allows quick access to edit posts without navigating to the website
* The button opens the form view in the current window

Filtering Posts
---------------

Use the search filters to find posts:

* **No Visits**: Shows posts that haven't been visited yet (visits = 0)

Editing Content
---------------

The module adds a "Content" tab in the blog post form view:

* Edit blog post content with HTML visual editor
* Toggle to code view for direct HTML editing
* The editor supports syntax highlighting for HTML
* Use the ACE editor options to switch between visual and code modes

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/website/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/website/issues/new?body=module:%20website_blog_usability%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Escodoo

Contributors
~~~~~~~~~~~~

* `Escodoo <https://www.escodoo.com.br>`_:

* Marcel Savegnago <marcel.savegnago@escodoo.com.br>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-marcelsavegnago| image:: https://github.com/marcelsavegnago.png?size=40px
:target: https://github.com/marcelsavegnago
:alt: marcelsavegnago

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-marcelsavegnago|

This module is part of the `OCA/website <https://github.com/OCA/website/tree/16.0/website_blog_usability>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions website_blog_usability/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2026 - TODAY, Escodoo
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import models
22 changes: 22 additions & 0 deletions website_blog_usability/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2026 - TODAY, Escodoo
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Website Blog Usability",
"summary": "Enhanced blog management with visits display, backend form "
"access, and HTML/code editing",
"version": "16.0.1.0.0",
"author": "Escodoo, Odoo Community Association (OCA)",
"maintainers": ["marcelsavegnago"],
"license": "AGPL-3",
"category": "Website",
"website": "https://github.com/OCA/website",
"depends": [
"website_blog",
],
"data": [
"views/blog_post_views.xml",
],
"installable": True,
"application": False,
}
4 changes: 4 additions & 0 deletions website_blog_usability/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2026 - TODAY, Escodoo
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import blog_post
19 changes: 19 additions & 0 deletions website_blog_usability/models/blog_post.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2026 - TODAY, Marcel Savegnago <marcel.savegnago@escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import models


class BlogPost(models.Model):
_inherit = "blog.post"

def action_open_backend_form(self):
"""Open the blog post form view in backend."""
self.ensure_one()
return {
"type": "ir.actions.act_window",
"res_model": "blog.post",
"res_id": self.id,
"view_mode": "form",
"target": "current",
}
22 changes: 22 additions & 0 deletions website_blog_usability/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
To use this module, you need to:

#. Install the module from Apps menu
#. Go to **Website > Content > Blog Posts**
#. The module automatically enhances the blog post views with:

* Visit counts displayed in list, form, and kanban views
* Backend form access button (gear icon) in list view
* Statistics section in form view showing visit count
* Content editing tab with HTML/code toggle capability
* Search filter for posts with no visits

#. Create or edit a blog post to see the enhanced features:

* In the form view, you'll see a new "Statistics" section with visit information
* A new "Content" tab in the notebook allows editing with HTML/code toggle
* In the list view, visit counts are displayed and you can click the gear icon to open backend form
* Use search filter "No Visits" to find posts that haven't been visited yet

#. The visit counts are automatically tracked when visitors view blog posts on the website

Note: Visit counts are incremented automatically by the website_blog module when posts are viewed. This module only enhances the display and management of this information.
3 changes: 3 additions & 0 deletions website_blog_usability/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* `Escodoo <https://www.escodoo.com.br>`_:

* Marcel Savegnago <marcel.savegnago@escodoo.com.br>
32 changes: 32 additions & 0 deletions website_blog_usability/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
This module enhances the blog management capabilities in Odoo by adding professional features for better content management.

Features
--------

* **Visits Display**: Show visit counts in list, form, and kanban views
* **Backend Form Access**: Quick access button (gear icon) in list view to open post form in backend
* **Professional Editing**: Content tab with HTML editor supporting code view toggle
* **Enhanced Views**: Improved form, tree, and kanban views with visit information
* **Search Filters**: Filter posts with no visits

Usage
-----

After installing this module:

1. Navigate to **Website > Content > Blog Posts**
2. View visit counts in the list view (visits column)
3. Click the gear icon button next to a post name to open it in backend form view
4. Use the enhanced form view to edit posts with HTML/code toggle in the Content tab
5. Filter posts with no visits using the search filter
6. View visit counts in kanban cards

Technical Details
-----------------

* Extends `blog.post` model with method `action_open_backend_form()` to open backend form view
* Inherits and enhances existing views from `website_blog`:
* Form view: Adds statistics section with visits and Content tab with HTML editor
* Tree view: Adds visits column, post_date column, and backend form button
* Search view: Adds "No Visits" filter
* Kanban view: Displays visit count in cards
39 changes: 39 additions & 0 deletions website_blog_usability/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Usage Guide
===========

Viewing Visit Statistics
------------------------

After installing the module, visit counts are automatically displayed:

* **List View**: The visits column shows the total number of views for each post
* **Form View**: A new "Statistics" section displays:
* Total visits (editable)
* Creation and last update dates
* **Kanban View**: Visit count is displayed in each card with an eye icon

Accessing Backend Form
----------------------

In the list view, each post has a gear icon button next to its name:

* Click the gear icon to open the post form view in the backend
* This allows quick access to edit posts without navigating to the website
* The button opens the form view in the current window

Filtering Posts
---------------

Use the search filters to find posts:

* **No Visits**: Shows posts that haven't been visited yet (visits = 0)

Editing Content
---------------

The module adds a "Content" tab in the blog post form view:

* Edit blog post content with HTML visual editor
* Toggle to code view for direct HTML editing
* The editor supports syntax highlighting for HTML
* Use the ACE editor options to switch between visual and code modes
27 changes: 27 additions & 0 deletions website_blog_usability/static/description/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Website Blog Usability</title>
</head>
<body>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced">
<h2 class="oe_slogan">Website Blog Usability</h2>
<h3 class="oe_slogan">Enhanced blog management with professional features</h3>
<div class="oe_span12">
<p class="oe_mt32">
This module enhances the blog management capabilities by adding:
</p>
<ul>
<li>Visit counts display in list, form, and kanban views</li>
<li>Backend form access button (gear icon) for quick editing</li>
<li>Content editing tab with HTML/code toggle</li>
<li>Statistics section in form view</li>
<li>Search filters for posts with no visits</li>
</ul>
</div>
</div>
</section>
</body>
</html>
4 changes: 4 additions & 0 deletions website_blog_usability/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2026 - TODAY, Marcel Savegnago <marcel.savegnago@escodoo.com.br>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from . import test_blog_post_usability
Loading