Content
View differences
Updated by Parimal Satyal over 2 years ago
**As** a project member
**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 (start time)
* Duration (manually set)
* Duration is marked in red if the set duration is longer than the sum of the duration of agenda items
* Duration sets meeting finish time
* Place or Link (optional)
* **\[open\] 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:** administrator, participant, viewer:
* Details:
###49334
* 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 ###49578
* **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 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**:
* The module has to be responsible. Viewing meetings is a priority on mobile.
* In mobile mode, the module is single column.
* \[open\] Meeting details and status go above the agenda items, but list of invitees go below.
* **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:
* ###49578
* 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&node-id=1020-21095&mode=design
# Visuals
https://www.figma.com/file/4pe9naCoEzlnbco9Ynl9k9/Automatic-Meeting-Agenda?node-id=0%3A1&t=xBpknL7HDp6fmfrG-1
# User Problem
## User
* Project manager
* Project member
* Meeting moderator
* Meeting member
## Problem
* Tasks and issues are tracking in the work packages module.
* Meeting agendas and meeting minutes are tracked in the meetings module.
* In project meetings very often open issues are discussed.
## Pain
* The information needs to be tracked in two modules. This leads to extra work and outdated information.
# Business Case
## Solution
* It is possible to create relations between meeting agendas/meeting minutes and work packages/work package comments.
* This link is visible and and editable in both modules.
* It is possible to change work package comments. Changes in comments are journalized.
* Meeting agenda preparation
* It is possible to order topics in the meeting agendas/minutes by drag and drop.
* Topics have an allocated time.
* Based on the start date of the meeting, the allocated time and the order of the meeting items the expected start is derived.
* Meeting agendas and meeting minutes that include work package content are "freezed". This means that changes in work packages do not change the meeting minutes.
## Out of Scope for the MVC
* Printing and exporting meeting agendas and minutes.
* Calendar integration (iCalendar).
* Showing meetings in the Gantt chart/calendar.
* Recurring meetings.
## Differentiation
* There is no other tool that connects operations issue tracking with tool based meeting management.
## Next iteration
* "Auf Wiedervorlage".
* Integrationen mit Kalender-Applikationen
# Launch and Growth
## Measures
* Created meetings per user and projects.
## Messaging
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Headline</p></th><td class="op-uc-table--cell"><p class="op-uc-p">Create meeting agendas and meeting minutes based on work package comments.</p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">First Paragraph</p></th><td class="op-uc-table--cell"><p class="op-uc-p">You can now add a work package to a meeting agenda by adding a comment to the work package. So all information to make a decision is accessible in one place. So there is no need to add information in two different places. </p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Customer Quote</p></th><td class="op-uc-table--cell"><p class="op-uc-p">In the past I had to manually create a meeting agenda. So I had to ask the project team to put their open issues on the agenda. After a meeting I had to also add the decision to those issues. With the integration I save a lot of time. And more importantly: It adds a lot of transpareny and control.</p></td></tr></tbody></table></figure>
## Go to market
_How are you planning on getting this into users' hands?_
**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 (start time)
* Duration (manually set)
* Duration is marked in red if the set duration is longer than the sum of the duration of agenda items
* Duration sets meeting finish time
* Place or Link (optional)
* **\[open\] 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:** administrator, participant, viewer:
* Details:
###49334
* 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 ###49578
* **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 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**:
* The module has to be responsible. Viewing meetings is a priority on mobile.
* In mobile mode, the module is single column.
* \[open\] Meeting details and status go above the agenda items, but list of invitees go below.
* **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:
* ###49578
* 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&node-id=1020-21095&mode=design
# Visuals
https://www.figma.com/file/4pe9naCoEzlnbco9Ynl9k9/Automatic-Meeting-Agenda?node-id=0%3A1&t=xBpknL7HDp6fmfrG-1
# User Problem
## User
* Project manager
* Project member
* Meeting moderator
* Meeting member
## Problem
* Tasks and issues are tracking in the work packages module.
* Meeting agendas and meeting minutes are tracked in the meetings module.
* In project meetings very often open issues are discussed.
## Pain
* The information needs to be tracked in two modules. This leads to extra work and outdated information.
# Business Case
## Solution
* It is possible to create relations between meeting agendas/meeting minutes and work packages/work package comments.
* This link is visible and and editable in both modules.
* It is possible to change work package comments. Changes in comments are journalized.
* Meeting agenda preparation
* It is possible to order topics in the meeting agendas/minutes by drag and drop.
* Topics have an allocated time.
* Based on the start date of the meeting, the allocated time and the order of the meeting items the expected start is derived.
* Meeting agendas and meeting minutes that include work package content are "freezed". This means that changes in work packages do not change the meeting minutes.
## Out of Scope for the MVC
* Printing and exporting meeting agendas and minutes.
* Calendar integration (iCalendar).
* Showing meetings in the Gantt chart/calendar.
* Recurring meetings.
## Differentiation
* There is no other tool that connects operations issue tracking with tool based meeting management.
## Next iteration
* "Auf Wiedervorlage".
* Integrationen mit Kalender-Applikationen
# Launch and Growth
## Measures
* Created meetings per user and projects.
## Messaging
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Headline</p></th><td class="op-uc-table--cell"><p class="op-uc-p">Create meeting agendas and meeting minutes based on work package comments.</p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">First Paragraph</p></th><td class="op-uc-table--cell"><p class="op-uc-p">You can now add a work package to a meeting agenda by adding a comment to the work package. So all information to make a decision is accessible in one place. So there is no need to add information in two different places. </p></td></tr><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Customer Quote</p></th><td class="op-uc-table--cell"><p class="op-uc-p">In the past I had to manually create a meeting agenda. So I had to ask the project team to put their open issues on the agenda. After a meeting I had to also add the decision to those issues. With the integration I save a lot of time. And more importantly: It adds a lot of transpareny and control.</p></td></tr></tbody></table></figure>
## Go to market
_How are you planning on getting this into users' hands?_