Files
odoo_source/addons/website_event_track_session/__init__.py
T
e73ec2ddb9 [ADD] website_event_track_session: new session mode for tracks
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

Purpose of this commit is to completely redesign the talks pages and frontend
flow. Notably better showcase live or upcoming talks, have a usable tracks list,
provide reworked page view with tracks suggestions, ...

SPECIFICATIONS

Mockups are given in https://docs.google.com/presentation/d/1VSxp2luUvp9xLFq9d1Wy-6IC0mP0NA8vLmh44WE5PCs/edit#slide=id.g891af57392_0_84

Main ideas are

  * new pages: view for all tracks and view for a specific track
  * list view: display two sections (Live Now, Coming Soon) displaying track
    cards. After that a list view of tracks by date. This page allows to filter
    tracks on tags and search on them;
  * page view: revamped view of a track. Two tabs: main content holds track
    description and information. Aside tab contains suggestions of tracks
    based on a given heuristics;

SPECIFICATIONS: LIST VIEW: LIVE SECTIONS

Have 2 sections: Live Now and Coming Soon. Live Now contains tracks currently
running. Coming Soon displays tracks that begins within 30 minutes.

In those sections, tracks are listed as cards with basic informations: cover
picture, title, speakers, remaining time before start or time since it has
started, ... Use the reminder widget to allow people to wishlist tracks.

Clicking on a card redirect to the track page view.

SPECIFICATIONS: LIST VIEW

Display a list view of tracks under those sections. Use a table-like display
in desktop, more card-based in mobile to ease reading. Each day is a section
of the list view, a bit like the agenda. For each track, display its name,
tags, speaker, duration. If it starts today, display remaining time. Otherwise
display its start datetime. For done tracks, do not display any time
information as it is not useful anymore. Display reminder widget on tracks
that are not done.

Accepted stages should be displayed text-only to customers. That way they
know the track exists but they cannot see the track page. Even managers
see links to be able to edit or publish tracks.

SPECIFICATIONS: PAGE VIEW

Display a main content tab, with track description and speaker information.

Display an aside tab, with track suggestions following this heuristics
  * live first;
  * then ordered by start date, finished being sent to the end;
  * wishlisted (manually or by default);
  * tag matching with current track;
  * location matching with current track;
  * finally a random to have an "equivalent wave" randomly given;
As with track list, accepted tracks are not clickable for customers.

In mobile, main content should take the whole screen and aside should be
collapsed. That way we put emphasis on main content.

SPECIFICATIONS: CTA BUTTON

Allow to configure "Call to action" button on a track. It is now possible to
give configuration of a button that appears on the track page view, above the
other track suggestions tab.

This CTA should be configured using: its name, its URL, and its delay compared
to the track beginning. Before this delay it is not displayed. JS widget ensure
button is displayed even if the page is not reloaded, to make a super wow
effect especially with live session on track.

KNOWN LIMITATIONS

Tracks do not hold any protection for payment-based tickets. Everything that
is published is available using standard ACLs. Content protection based on
tickets is currently not supported.

LINKS

Task ID-2252655 (Main Online Event task)
Task ID-2283735 (Talks -> Session upgrade)

Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
2020-08-04 14:28:29 +00:00

7 lines
167 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from . import controllers
from . import models
from . import tests