Daily updates from Odoo
Wednesday, March 17, 2021
1 change
Features or functions removed from Odoo
Chat channels no longer act as followers of other records, reducing noisy notifications and unexpected side effects. Messages and notifications now go directly through channel members, making discussions, mobile notifications, GitHub messages, helpdesk live chat, and documents behavior more predictable.
Original PR description
RATIONALE Channel model is a mail.thread enabled model behaving strangely with followers, notifications and discuss. Its code should however be simplified to be more self contained and avoid unwanted…
RATIONALE
Channel model is a mail.thread enabled model behaving strangely with followers,
notifications and discuss. Its code should however be simplified to be more
self contained and avoid unwanted side effects on other models..
PURPOSE
Remove channel ability to follow records as it mainly adds noise without a lot
of added value. Simplify channel notification flow by using directly members
and not a delegation through a channel self-following trick. Remove followers
being channels and posting with added listeners being channels.
SPECIFICATIONS SUMMARY
Make subscription work using partners only. Remove channel ability to follow
records. Remove channel auto-follow. Simplify channel notification flow by
using directly members and not a delegation through a channel self-following
trick. Thread notification is simplified and channel specific behavior is now
implemented directly on ``mail.channel`` model.
Remove ``channel_id`` field from follower model. Only partner_id is kept.
Starting from now on followers are partners only.
Remove support of channels when posting a message. Messages now belong to
a single thread using standard ``model`` / ``res_id`` pair even for
``mail.channel`` records. Remove ``channel_ids`` support on ``message_post``
and from Message model. Channel content is now computed like all other
documents.
As a side quest, following updates are necessary
* remove ``message_channel_ids`` field from ``mail.thread``. Indeed there
will not be any follower being ``mail.channel`` anymore;
* remove ``channel_message_ids`` field from ``mail.channel`` as they now
use standard ``message_ids`` field;
* remove various ``channel_ids`` linked to followers (server actions, invite
wizard, ...);
* remove duplicated ``is_subscribed`` field on ``mail.channel``, duplicate of
``is_member``;
With this merge, following features are modified
* channels cannot follow records anymore;
* messages cannot belong to a business document AND channels at the
same time. A channel is now behaving like all other business documents;
* following a channel using partners to be notified of discussions. Only chat
or mailing lists notify their members;
Finally various code places are improved: renaming, more modular approach,
... See sub commits and community branch for more details.
LINKS
Task ID-2070632 (main task)
Task ID-2419762 (followup task)
COM PR odoo/odoo#62859
ENT PR odoo/enterprise#15172
UPG PR odoo/upgrade#2005
Thanks to @seb-odoo for in-depth review.