feat(config): Add option to disabled "Download session data" on Learning Dashboard (backport) (#19641)
* Add option disabledFeatures=learningDashboardDownloadSessionData * docs: document learningDashboardDownloadSessionData --------- Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
This commit is contained in:
parent
96a583b3e5
commit
78ece5f05c
@ -20,6 +20,7 @@ case class Meeting(
|
|||||||
intId: String,
|
intId: String,
|
||||||
extId: String,
|
extId: String,
|
||||||
name: String,
|
name: String,
|
||||||
|
downloadSessionDataEnabled: Boolean,
|
||||||
users: Map[String, User] = Map(),
|
users: Map[String, User] = Map(),
|
||||||
polls: Map[String, Poll] = Map(),
|
polls: Map[String, Poll] = Map(),
|
||||||
screenshares: Vector[Screenshare] = Vector(),
|
screenshares: Vector[Screenshare] = Vector(),
|
||||||
@ -585,6 +586,7 @@ class LearningDashboardActor(
|
|||||||
msg.body.props.meetingProp.intId,
|
msg.body.props.meetingProp.intId,
|
||||||
msg.body.props.meetingProp.extId,
|
msg.body.props.meetingProp.extId,
|
||||||
msg.body.props.meetingProp.name,
|
msg.body.props.meetingProp.name,
|
||||||
|
downloadSessionDataEnabled = !msg.body.props.meetingProp.disabledFeatures.contains("learningDashboardDownloadSessionData"),
|
||||||
)
|
)
|
||||||
|
|
||||||
meetings += (newMeeting.intId -> newMeeting)
|
meetings += (newMeeting.intId -> newMeeting)
|
||||||
|
@ -54,8 +54,11 @@ class App extends React.Component {
|
|||||||
const { intl } = this.props;
|
const { intl } = this.props;
|
||||||
const { activitiesJson } = this.state;
|
const { activitiesJson } = this.state;
|
||||||
const {
|
const {
|
||||||
name: meetingName, createdOn, users, polls,
|
name: meetingName, createdOn, users, polls, downloadSessionDataEnabled,
|
||||||
} = activitiesJson;
|
} = activitiesJson;
|
||||||
|
|
||||||
|
if (downloadSessionDataEnabled === false) return;
|
||||||
|
|
||||||
const link = document.createElement('a');
|
const link = document.createElement('a');
|
||||||
const data = makeUserCSVData(users, polls, intl);
|
const data = makeUserCSVData(users, polls, intl);
|
||||||
const filename = `LearningDashboard_${meetingName}_${new Date(createdOn).toISOString().substr(0, 10)}.csv`.replace(/ /g, '-');
|
const filename = `LearningDashboard_${meetingName}_${new Date(createdOn).toISOString().substr(0, 10)}.csv`.replace(/ /g, '-');
|
||||||
@ -581,17 +584,23 @@ class App extends React.Component {
|
|||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<button
|
{
|
||||||
data-test="downloadSessionDataDashboard"
|
(activitiesJson.downloadSessionDataEnabled || false)
|
||||||
type="button"
|
? (
|
||||||
className="border-2 text-gray-700 border-gray-200 rounded-md px-4 py-2 bg-white focus:outline-none focus:ring ring-offset-2 focus:ring-gray-500 focus:ring-opacity-50"
|
<button
|
||||||
onClick={this.handleSaveSessionData.bind(this)}
|
data-test="downloadSessionDataDashboard"
|
||||||
>
|
type="button"
|
||||||
<FormattedMessage
|
className="border-2 text-gray-700 border-gray-200 rounded-md px-4 py-2 bg-white focus:outline-none focus:ring ring-offset-2 focus:ring-gray-500 focus:ring-opacity-50"
|
||||||
id="app.learningDashboard.downloadSessionDataLabel"
|
onClick={this.handleSaveSessionData.bind(this)}
|
||||||
defaultMessage="Download Session Data"
|
>
|
||||||
/>
|
<FormattedMessage
|
||||||
</button>
|
id="app.learningDashboard.downloadSessionDataLabel"
|
||||||
|
defaultMessage="Download Session Data"
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
)
|
||||||
|
: null
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -430,10 +430,11 @@ endWhenNoModeratorDelayInMinutes=1
|
|||||||
|
|
||||||
# List of features to disable (comma-separated)
|
# List of features to disable (comma-separated)
|
||||||
# Available options:
|
# Available options:
|
||||||
# chat, sharedNotes, polls, screenshare, externalVideos, presentation, downloadPresentationWithAnnotations
|
# breakoutRooms, captions, chat, customVirtualBackgrounds, downloadPresentationConvertedToPdf
|
||||||
# learningDashboard, layouts, captions, liveTranscription, virtualBackgrounds, customVirtualBackgrounds
|
# downloadPresentationOriginalFile, downloadPresentationWithAnnotations, externalVideos
|
||||||
# breakoutRooms, importSharedNotesFromBreakoutRooms, importPresentationWithAnnotationsFromBreakoutRooms,
|
# importPresentationWithAnnotationsFromBreakoutRooms, importSharedNotesFromBreakoutRooms, layouts
|
||||||
# downloadPresentationOriginalFile, downloadPresentationConvertedToPdf
|
# learningDashboard, learningDashboardDownloadSessionData, liveTranscription, polls, presentation
|
||||||
|
# screenshare, sharedNotes, virtualBackgrounds
|
||||||
disabledFeatures=
|
disabledFeatures=
|
||||||
|
|
||||||
# Notify users that recording is on
|
# Notify users that recording is on
|
||||||
|
@ -344,7 +344,7 @@ const createEndpointTableData = [
|
|||||||
"name": "disabledFeatures",
|
"name": "disabledFeatures",
|
||||||
"required": false,
|
"required": false,
|
||||||
"type": "String",
|
"type": "String",
|
||||||
"description": (<>List (comma-separated) of features to disable in a particular meeting. (added 2.5)<br /><br />Available options to disable:<br /><ul><li><code className="language-plaintext highlighter-rouge">breakoutRooms</code>- <b>Breakout Rooms</b> </li><li><code className="language-plaintext highlighter-rouge">captions</code>- <b>Closed Caption</b> </li><li><code className="language-plaintext highlighter-rouge">chat</code>- <b>Chat</b></li><li><code className="language-plaintext highlighter-rouge">downloadPresentationWithAnnotations</code>- <b>Annotated presentation download</b></li><li><code className="language-plaintext highlighter-rouge">snapshotOfCurrentSlide</code>- <b>Allow snapshot of the current slide</b></li><li><code className="language-plaintext highlighter-rouge">externalVideos</code>- <b>Share an external video</b> </li><li><code className="language-plaintext highlighter-rouge">importPresentationWithAnnotationsFromBreakoutRooms</code>- <b>Capture breakout presentation</b></li><li><code className="language-plaintext highlighter-rouge">importSharedNotesFromBreakoutRooms</code>- <b>Capture breakout shared notes</b></li><li><code className="language-plaintext highlighter-rouge">layouts</code>- <b>Layouts</b> (allow only default layout)</li><li><code className="language-plaintext highlighter-rouge">learningDashboard</code>- <b>Learning Analytics Dashboard</b></li><li><code className="language-plaintext highlighter-rouge">polls</code>- <b>Polls</b> </li><li><code className="language-plaintext highlighter-rouge">screenshare</code>- <b>Screen Sharing</b></li><li><code className="language-plaintext highlighter-rouge">sharedNotes</code>- <b>Shared Notes</b></li><li><code className="language-plaintext highlighter-rouge">virtualBackgrounds</code>- <b>Virtual Backgrounds</b></li><li><code className="language-plaintext highlighter-rouge">customVirtualBackgrounds</code>- <b>Virtual Backgrounds Upload</b></li><li><code className="language-plaintext highlighter-rouge">liveTranscription</code>- <b>Live Transcription</b></li><li><code className="language-plaintext highlighter-rouge">presentation</code>- <b>Presentation</b></li><li><code className="language-plaintext highlighter-rouge">cameraAsContent</code>-<b>Enables/Disables camera as a content</b></li><li><code className="language-plaintext highlighter-rouge">timer</code>- <b>disables timer</b></li></ul></>)
|
"description": (<>List (comma-separated) of features to disable in a particular meeting. (added 2.5)<br /><br />Available options to disable:<br /><ul><li><code className="language-plaintext highlighter-rouge">breakoutRooms</code>- <b>Breakout Rooms</b> </li><li><code className="language-plaintext highlighter-rouge">captions</code>- <b>Closed Caption</b> </li><li><code className="language-plaintext highlighter-rouge">chat</code>- <b>Chat</b></li><li><code className="language-plaintext highlighter-rouge">downloadPresentationWithAnnotations</code>- <b>Annotated presentation download</b></li><li><code className="language-plaintext highlighter-rouge">snapshotOfCurrentSlide</code>- <b>Allow snapshot of the current slide</b></li><li><code className="language-plaintext highlighter-rouge">externalVideos</code>- <b>Share an external video</b> </li><li><code className="language-plaintext highlighter-rouge">importPresentationWithAnnotationsFromBreakoutRooms</code>- <b>Capture breakout presentation</b></li><li><code className="language-plaintext highlighter-rouge">importSharedNotesFromBreakoutRooms</code>- <b>Capture breakout shared notes</b></li><li><code className="language-plaintext highlighter-rouge">layouts</code>- <b>Layouts</b> (allow only default layout)</li><li><code className="language-plaintext highlighter-rouge">learningDashboard</code>- <b>Learning Analytics Dashboard</b></li><li><code className="language-plaintext highlighter-rouge">learningDashboardDownloadSessionData</code>- <b>Learning Analytics Dashboard Download Session Data (prevents the option to download)</b></li><li><code className="language-plaintext highlighter-rouge">polls</code>- <b>Polls</b> </li><li><code className="language-plaintext highlighter-rouge">screenshare</code>- <b>Screen Sharing</b></li><li><code className="language-plaintext highlighter-rouge">sharedNotes</code>- <b>Shared Notes</b></li><li><code className="language-plaintext highlighter-rouge">virtualBackgrounds</code>- <b>Virtual Backgrounds</b></li><li><code className="language-plaintext highlighter-rouge">customVirtualBackgrounds</code>- <b>Virtual Backgrounds Upload</b></li><li><code className="language-plaintext highlighter-rouge">liveTranscription</code>- <b>Live Transcription</b></li><li><code className="language-plaintext highlighter-rouge">presentation</code>- <b>Presentation</b></li><li><code className="language-plaintext highlighter-rouge">cameraAsContent</code>-<b>Enables/Disables camera as a content</b></li><li><code className="language-plaintext highlighter-rouge">timer</code>- <b>disables timer</b></li></ul></>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "disabledFeaturesExclude",
|
"name": "disabledFeaturesExclude",
|
||||||
|
@ -104,7 +104,7 @@ Updated in 2.6:
|
|||||||
|
|
||||||
Updated in 2.7:
|
Updated in 2.7:
|
||||||
|
|
||||||
- **create** - **Added:** `preUploadedPresentation`, `preUploadedPresentationName`, `disabledFeatures` options`cameraAsContent`, `snapshotOfCurrentSlide`, `downloadPresentationOriginalFile`, `downloadPresentationConvertedToPdf`, `timer`.
|
- **create** - **Added:** `preUploadedPresentation`, `preUploadedPresentationName`, `disabledFeatures` options`cameraAsContent`, `snapshotOfCurrentSlide`, `downloadPresentationOriginalFile`, `downloadPresentationConvertedToPdf`, `timer`, `learningDashboardDownloadSessionData` (2.7.5).
|
||||||
|
|
||||||
- **join** - **Added:** `redirectErrorUrl`, `userdata-bbb_fullaudio_bridge`
|
- **join** - **Added:** `redirectErrorUrl`, `userdata-bbb_fullaudio_bridge`
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user