RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Build a mixin to create and manage jitsi-based chat rooms on website.
SPECIFICATIONS: CHAT.ROOM
Add a new model `chat.room` which contains all the configuration of the Jitsi
room.
A mixin `chat.room.mixin` adds a many2one to any model inheriting from it. That
way behavior is optional without adding all fields on the model. We just need
to inherit from the mixin and to use the chat room widget to build chat room
on website for any model that needs it.
SPECIFICATIONS: WIDGET
Allow to give a default username when logging to jitsi if customers are logged.
That way they gain a step and can directly participate to chat rooms.
SPECIFICATIONS: PARTICIPANT COUNT
Jitsi do not provide a REST API (or a similar API) to get the number of
participant in a room (without hosting our own instance of Jitsi). The
only way to get the number of participant is to be in the room and to use
the Javascript API. That's why the participant send in RPC the number of
participant in the room, to update the counter on the server side.
We can not ask the user who is leaving to update the counter, because he
can close the tab on his browser (and so the event will not be triggered),
so, the first participant in the room send the update in RPC.
Update of participant is done using SQL in non blocking mode so that concurrent
accesses are not an issue. Even if participant count is not really accurate
this is not an issue as managers will monitor rooms.
LINKS
Task ID-2252655 (Main Online Event task)
Task ID-2283742 (Community gathering on chat rooms)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Stéphane Debauche <std@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
RATIONALE
Events are sometimes held online, gathering a community. In this merge we
improve Event application to better support full-online events with improved
tracks, wishlists, chat rooms, ...
PURPOSE
Add base modules for some incoming Online Event features.
SPECIFICATIONS
This commit simply adds modules to be completed while working on new Online
Event feature. This is mainly done to ease future work as Online Event was
developed in a stable release, leading to some restrictions for pre-merging
and organizing commits.
Containing :
* website_jitsi: allow to manage jitsi-based chat rooms, with widget to
integrate into website pages;
* website_event_online: website_event upgrades required to support online
event;
* website_event_track_online: website_event_track upgrades required to
support online tracks;
* website_event_meet: chat and discussions rooms online, allowing to gather
a community online in an event;
* website_event_track_exhibitor: sponsors -> exhibitors upgrade with chat
capabilities, new list and page views;
* website_event_track_session: new session-based tracks display and
management, new list and page views;
* website_event_track_live: support youtube and streaming on tracks, as well
as improved next video suggestion;
* website_event_track_quiz: add gamification tools on tracks. Allow to gain
points with quiz on talks;
As well as some bridge modules
* website_event_meet_quiz: integrate leaderboard in community rooms;
* website_event_track_live_quiz: integrate quiz and streaming;
Future commits will fill those modules
LINKS
Community PR #53540
Enterprise PR odoo/enterprise#11384
Task ID-2252655 (Main Online Event task)
Task ID-2283796 (Event B2Basics / Registration Flow)
Task ID-2299857 (Event Design Review)
Task ID-2284043 (Visitor-based track wishlist)
Task ID-2283869 (Notify attendees by push)
Task ID-2283738 (Sponsors -> Exhibitors upgrade)
Task ID-2283735 (Talks -> Session upgrade)
Task ID-2283771 (Quizzes on Talks, Leaderboard)
Task ID-2283742 (Community gathering on chat rooms)
Task ID-2291344 (Integrate Twitter Wall)
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Quentin Mourier <qmo@odoo.com>
Co-Authored-By: Stéphane Debauche <std@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>