# Task OP-13018 - Finalise scope for the new Primer Meetings module for 13.1

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-13018

## Details

| Attribute | Value |
| --- | --- |
| Assignee | Parimal Satyal |
| Date |  |
| Priority | Medium |
| Target versions | 13.1.0 |
| Category |  |
| Labels |  |

## Description

### Important

**Acceptance criteria moved to main epic:**

<mention class="mention" data-id="37297" data-type="work_package" data-text="###37297">###37297</mention>

~~**As** a project members~~  
~~**I want to** build meeting agendas, add invitees and document important information and decisions~~  
~~**so that** our meetings are more efficient and key information is documented and easy to find.~~

### ~~Note~~

~~These define the functional scope (the what) of the feature and do not yet go into the specifics of~~ *~~how~~* ~~different parts will be implemented. Once this feature is set to specified, UX and Front-end will co-create the UI/UX of the feature using existing Primer ViewComponents as much as possible.~~

### ~~Acceptance criteria~~

~~A new Meetings module (based on Primer) will replace the existing one:~~

  - ~~**A meeting consists of meeting details, agenda items and invitees.**~~
  - ~~**Meeting details are:**~~
      - ~~Title of the meeting (required)~~
      - ~~Status~~
      - ~~Date (required)~~
      - ~~Time (eg. 1 PM – 3 PM, optional)~~
      - ~~Duration (manually set)~~
          - ~~Duration is marked in red if the set duration is longer than the sum of the duration of agenda items~~
      - ~~Place or Link (optional)~~
  - ~~**Invitees** can have one of three roles (note: link with Klaus' work on roles/permissions)~~
      - ~~**moderator** (no limitation on \#)~~
          - ~~author is by default a moderator or~~
          - ~~any participant designated as such by a moderator~~
      - ~~**participant**~~
          - ~~invitees~~
      - ~~**viewer**~~
          - ~~everyone else in the project who is not a moderator or participant~~
  - ~~Meeting participants can have one of three roles:~~
      - ~~**Meeting editor**~~
          - ~~Add and edit meeting details~~
          - ~~Manage participants (invite, remove...)~~
          - ~~Add/remove and re-order agenda items~~
              - ~~Change agenda item type (simple and work package)~~
              - ~~Add/remove open points~~
          - ~~Can designate invitees as editors~~
      - ~~**Meeting invitee**~~
          - ~~They are visible under "invitees"~~
      - ~~**Meeting viewer**~~
          - ~~Has access to view the meeting but is not "involved in any way~~
  - ~~A meeting can of one of two statuses:~~
      - ~~**Open** (default state, name potentially unrequired)~~
          - ~~All actions possible (based on available permissions)~~
      - ~~**Closed**~~
          - ~~Read-only for everyone but~~
          - ~~Editors can re-open meetings to edit it~~
  - ~~**Sections (optional)**~~
      - ~~Group of agenda items~~
  - ~~**Agenda items:**~~
      - ~~Meetings consist of agenda items.~~
      - ~~At their most basic, agenda items have:~~
          - ~~Title (required)~~
          - ~~Responsible (optional)~~
              - ~~Just a user object that's displayed; no functional implication~~
          - ~~Duration (optional)~~
              - ~~Integer field, in minutes~~
              - *~~Risk: if some agenda items have duration and others don't; the total duration will be misleading since some items will have a duration of zero~~*
      - ~~Description:~~
          - ~~Text area: CKEditor~~
              - *~~restrictive? with basic bold, italic, maybe links... maybe no tables or images?~~*
      - ~~The meeting title can also be replaced with a work package:~~
          - ~~By default, the type is "Title" but the user can alternatively select other types with a drop down:~~
              - ~~Title~~
              - ~~Work package~~
                  - ~~Turns the input field into a search bar, and typing keywords displays results in a drop modal.~~
                  - ~~The user can select the corresponding work package.~~
                      - *~~\[open\] Power user: Typing "\#" in the title field selects work package.~~*
                      - *~~\[open\] OG: Work package search thing we have is Angular, we have to see how to make it work with Primer.~~*
                  - ~~If the selected work package already has unresolved open points:~~
                      - ~~Ask the user to select which ones (if any) they would like to add to the meeting~~
                      - ~~The selected ones will be added to that agenda item (references those items)~~
                      - ~~In the "Open Points" tab of the work package, those points that have been added to the meeting, will show this relation~~
                      - ~~An open point added to this agenda item (refering a work package), will then also be added to the "Open Points" tab of that work package~~
                  - ~~The title is now replaced with the work package details (id, Subject, type, status)~~
                  - ~~Clicking on the work package title opens it in a new tab.~~
                  - ~~Users should be able to "remove" the work package by selecting a basic title field instead in Edit mode.~~
                      - ~~The title is empty (to make it absolutely clear that there's no connection to the WP).~~
                  - ~~Functionally, other agenda elements (duration, responsible, description) are unrelated to the work package and do not affect it.~~
                      - ~~Open points are the only exception, see <mention class="mention" data-id="49578" data-type="work_package" data-text="###49578">###49578</mention>~~
      - ~~Agenda items have two states, display and edit:~~
          - ~~In display state, agenda details cannot be edited but moderators can drag them up and down to to change the order (mode allowing).~~
          - ~~In edit state, these fields are visible:~~
              - ~~Title (text field, typing \# turns it into a search field)~~
              - ~~Duration in minutes (integer)~~
              - ~~Responsible (user search)~~
              - ~~Buttons to add an open point, and a remove button once each is added:~~
                  - ~~This can be an "Open point" or a "Resolved open point" when resolved~~
                  - ~~(Define what an open point in an agenda item looks like)~~
              - ~~Save button.~~
      - ~~Agenda items have hover actions, depending on status:~~
          - ~~Drag~~
          - ~~Edit~~
          - ~~More~~
  - ~~**Mobile**: Viewing meetings is a priority.~~
  - ~~**Journalising:**~~
      - ~~Modifications to a meeting are journalised~~
      - ~~There is a link to view meeting journal history~~
  - ~~**Email notifications:**~~
      - ~~When someone is invited (send iCal immediately)~~
      - ~~When meeting dates change (send .ics again)~~
      - ~~When meeting status changes~~
      - ~~When meeting is sent to invitees manually~~
  - ~~**Email all participants**~~
      - ~~Sends meeting agenda to all invitees via email~~
  - ~~**Calendar subscriptions for meeting**~~
      - ~~Automatically updated when dates or meeting details are modified~~
  - ~~\[open\] **Download .ics for meeting**~~

### ~~Open~~

  - ~~How should we handle migration and old meetings?~~
  - ~~Idea: Decision and issues log?~~
      - ~~Ways to be able to show relevant meetings from work packages.~~
      - ~~Later, possible to show and filter through decisions/clarification needs?~~

### ~~Out of scope~~

~~This first version of the new Meetings module for version 13.1 will not include:~~

  - ~~Duration derived from the duration of agenda items~~
  - ~~The ability to add clarification needs and decisions are specified in a separate feature:~~
      - ~~<mention class="mention" data-id="49578" data-type="work_package" data-text="###49578">###49578</mention>~~
  - ~~Extensions to the agenda items:~~
      - ~~Notes~~
      - ~~Required participants for this agenda item~~
  - ~~Meeting invitees:~~
      - ~~Add items to the backlog for the editors to add/remove~~
      - ~~Commenting and emoji reactions~~
          - ~~Comment threads~~
  - ~~Sections~~
      - ~~Designate a person responsible?~~
      - ~~Add duration~~
  - ~~Follow-up item: within a meeting, when someone identifies to-dos and tasks, be able to create a work package (or to-do) directly from agenda item~~
  - ~~Agenda backlog (a set of agenda items that are "parked" and do not show up in the actual meeting, simliar to drafts)~~
      - ~~Send existing agenda item to backlog~~
      - ~~Send backlog item to agenda~~
  - *~~\[open\] Clicking on the work package opens the work package in a split screen.~~*
      - *~~In the short term, would require having Angular code.~~*
      - *~~In the long term, Primer offers overlays that slide in from the right side that we could potentially use for this.~~*
  - ~~Move existing agenda item to another meeting~~
  - ~~Meeting series (recurring)~~
  - ~~Web conference tool~~
  - ~~In-app notifications:~~
      - ~~Out of scope:~~
          - ~~Invited to a meeting~~
          - ~~Meeting modified~~
          - ~~Meeting status changed~~
          - ~~Meeting rescheduled~~
      - *~~Note: right now Notifs limited to work packages (so possible to show meetings objects linked to WPs)~~*
  - ~~iCal integration~~
  - ~~Four statuses:~~
      - ~~**Draft agenda** (default for new meetings):~~
          - ~~Moderators can edit and modify meetings details, add invitees and construct the meeting agenda by adding agenda items. They can also rearrange agenda items by dragging them up or down.~~
          - ~~Participants can only add or modify their own agenda items.~~
          - ~~Viewers (non invitees) cannot see the meeting yet (?)~~
      - ~~**Finalised agenda**: a moderator sets the mode to finalised to lock the agenda before a meeting.~~
          - ~~Moderators can change state to draft to change the actual agenda; participants cannot do this.~~
          - ~~Moderators can change meeting details (name, time, date...) and add/remove invitees.~~
          - ~~Participants can add (but not remove?) invitees.~~
          - ~~Viewers can now view the meeting in read-only mode.~~
      - ~~**Meeting in Progress**: a moderator sets the mode to In Progress when the meeting actually takes place.~~
          - ~~Moderators can once again modify agenda items own items and add/remove additional items to agenda items (clarificatoin need or decision).~~
          - ~~Participants can only modify or add/remove additional items to their~~ *~~own~~* ~~items.~~
          - ~~Viewers can view only.~~
      - ~~**Meeting closed**~~
          - ~~Read-only for everyone but~~
          - ~~Moderators can change status to any of the above~~

### ~~Mockup~~

~~**Important:** Final mockups will be co-designed with front-end devs using Primer View components once the scope is finalised.~~

~~For reference, see existing test Figma mockups: <https://www.figma.com/file/4pe9naCoEzlnbco9Ynl9k9/Automatic-Meeting-Agenda?type=design&amp;node-id=1020-21095&amp;mode=design>~~
