Compare commits

...

4 Commits

Author SHA1 Message Date
Jonas 7685d57b01
Merge 668a711dfa into fadcf438c9 2024-11-19 23:48:41 +01:00
Nextcloud bot fadcf438c9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-18 02:28:56 +00:00
Nextcloud bot 84f7fdbc0e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-11-15 02:27:54 +00:00
brtbr 668a711dfa feat: add option to not use avatars in BBB rooms
This commit adds an admin option to disable the use of Nextcloud avatars
in BBB rooms.

If an avatar-cache is configured and a meeting is running while changing
this setting, the avatars of these meetings will not be cleared. In that
case the command-line argument (see README) needs to be used.

Fixes issue #268
2024-06-02 02:08:14 +02:00
9 changed files with 30 additions and 13 deletions

View File

@ -77,6 +77,7 @@ Key | Description
`app.shortener` | Value of your shortener service. Should start with `https://` and contain `{token}`.
`avatar.path` | Absolute path to an optional avatar cache directory.
`avatar.url` | URL which serves `avatar.path` to be used as avatar cache.
`avatar.enabled` | Set to `false` if you want to disable the use of Nextcloud avatars in BBB rooms.
### Avatar cache (v2.2+)
The generation of avatars puts a high load on your Nextcloud instance, since the
@ -111,8 +112,8 @@ For additional security, we recommend to disable directory listing, symlinks and
any language interpreter such as php for the cache directory.
Cached avatars are usually deleted as soon as the meeting ends. In cases the BBB
server shuts down unexpected, we provide the `bbb:clear-avatar-cache` occ
command (example use: `./occ bbb:clear-avatar-cache`).
server shuts down unexpected or you set `avatar.enabled` to `false` (via gui or manually) while a meeting was running,
we provide the `bbb:clear-avatar-cache` occ command (example use: `./occ bbb:clear-avatar-cache`).
## :bowtie: User guide

View File

@ -22,7 +22,7 @@ OC.L10N.register(
"API URL or secret not configured. Please contact your administrator." : "URL ou segredo da API sen configurar. Póñase en contacto coa administración desta instancia.",
"BigBlueButton Integration" : "Integración de BigBlueButton",
"BigBlueButton integration for Nextcloud" : "Integración de BigBlueButton en Nextcloud",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Esta aplicación permite crear xuntanzas cunha instalación externa de [BigBlueButton] (https://bigbluebutton.org).\n\n* **Configuración de salas** Crear múltiples configuracións de salas con nome, mensaxe de benvida …\n* **Compartir a ligazón de convidados** Compartir a ligazón da sala con todos os seus convidados\n* **Compartir ligazón de moderador** Convida moderadores á sala\n* **Compartir salas** Compartir salas con membros, grupos ou círculos\n* **Presentación personalizada** Inicie unha sala cunha presentación seleccionada dende o seu navegador de ficheiros\n* **Xestionar as gravacións** Ver, compartir e eliminar as gravacións das súas salas\n* **Restricións** Restrinxir a creación de salas a determinados grupos\n* ** Actividades** Obteña unha vista xeral das actividades da súa sala\n\nGuía de inicio rápido e máis información no noso [léame](https://github.com/littleredbutton/cloud_bbb).\nGústalle esta aplicación? Devolva algo á comunidade de código aberto e consulte as nosas\n[formas de colaborar](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nAgradecemos a chegada de colaboradores! Se ten tempo, sería magnífico que puidese axudar a mellorar esta aplicación.\n\n*Esta aplicación integra BigBlueButton e non está aprobada nin certificada por BigBlueButton Inc. BigBlueButton e o logotipo de BigBlueButton son marcas comerciais de BigBlueButton Inc.*",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Esta aplicación permite crear xuntanzas cunha instalación externa de [BigBlueButton] (https://bigbluebutton.org).\n\n* **Configuración de salas** Crear múltiples configuracións de salas con nome, mensaxe de benvida …\n* **Compartir a ligazón de convidados** Compartir a ligazón da sala con todos os seus convidados\n* **Compartir ligazón de moderador** Convida moderadores á sala\n* **Compartir salas** Compartir salas con membros, grupos ou círculos\n* **Presentación personalizada** Inicie unha sala cunha presentación seleccionada desde o seu navegador de ficheiros\n* **Xestionar as gravacións** Ver, compartir e eliminar as gravacións das súas salas\n* **Restricións** Restrinxir a creación de salas a determinados grupos\n* ** Actividades** Obteña unha vista xeral das actividades da súa sala\n\nGuía de inicio rápido e máis información no noso [léame](https://github.com/littleredbutton/cloud_bbb).\nGústalle esta aplicación? Devolva algo á comunidade de código aberto e consulte as nosas\n[formas de colaborar](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nAgradecemos a chegada de colaboradores! Se ten tempo, sería magnífico que puidese axudar a mellorar esta aplicación.\n\n*Esta aplicación integra BigBlueButton e non está aprobada nin certificada por BigBlueButton Inc. BigBlueButton e o logotipo de BigBlueButton son marcas comerciais de BigBlueButton Inc.*",
"Room not found" : "Non se atopou a sala",
"The room could not be found. Maybe it was deleted?" : "Non foi posíbel atopar a sala. Quizais foi eliminada.",
"Back to %s" : "Volver a %s",
@ -78,7 +78,7 @@ OC.L10N.register(
"If enabled, a moderator URL is generated which allows access with moderator permission." : "Se está activado, xérase un URL de moderador que permite o acceso con permisos de moderador.",
"Only selected users and groups are allowed to access the room." : "Só os usuarios e grupos seleccionados teñen permiso para acceder á sala.",
"If disabled, a microphone is needed to join the conference." : "Se está desactivado, é necesario un micrófono para unirse á conferencia.",
"If enabled, the user has not to perform an echo call and webcam preview on the first join (available since BBB server 2.3)." : "Se está activado, o usuario non ten que realizar unha proba de eco nin unha vista previa da cámara web na primeira unión (dispoñíbel dende o BBB servidor 2.3).",
"If enabled, the user has not to perform an echo call and webcam preview on the first join (available since BBB server 2.3)." : "Se está activado, o usuario non ten que realizar unha proba de eco nin unha vista previa da cámara web na primeira unión (dispoñíbel desde o BBB servidor 2.3).",
"If enabled, the user list, chat area and presentation are hidden by default." : "Se está activado, a lista de usuarios, a área de parolas e a presentación están agochadas de xeito predeterminado.",
"If enabled, all users will join the meeting muted." : "Se está activado, todos os usuarios uniranse á xuntanza enmudecidos.",
"Edit \"{room}\"" : "Editar «{room}»",

View File

@ -20,7 +20,7 @@
"API URL or secret not configured. Please contact your administrator." : "URL ou segredo da API sen configurar. Póñase en contacto coa administración desta instancia.",
"BigBlueButton Integration" : "Integración de BigBlueButton",
"BigBlueButton integration for Nextcloud" : "Integración de BigBlueButton en Nextcloud",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Esta aplicación permite crear xuntanzas cunha instalación externa de [BigBlueButton] (https://bigbluebutton.org).\n\n* **Configuración de salas** Crear múltiples configuracións de salas con nome, mensaxe de benvida …\n* **Compartir a ligazón de convidados** Compartir a ligazón da sala con todos os seus convidados\n* **Compartir ligazón de moderador** Convida moderadores á sala\n* **Compartir salas** Compartir salas con membros, grupos ou círculos\n* **Presentación personalizada** Inicie unha sala cunha presentación seleccionada dende o seu navegador de ficheiros\n* **Xestionar as gravacións** Ver, compartir e eliminar as gravacións das súas salas\n* **Restricións** Restrinxir a creación de salas a determinados grupos\n* ** Actividades** Obteña unha vista xeral das actividades da súa sala\n\nGuía de inicio rápido e máis información no noso [léame](https://github.com/littleredbutton/cloud_bbb).\nGústalle esta aplicación? Devolva algo á comunidade de código aberto e consulte as nosas\n[formas de colaborar](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nAgradecemos a chegada de colaboradores! Se ten tempo, sería magnífico que puidese axudar a mellorar esta aplicación.\n\n*Esta aplicación integra BigBlueButton e non está aprobada nin certificada por BigBlueButton Inc. BigBlueButton e o logotipo de BigBlueButton son marcas comerciais de BigBlueButton Inc.*",
"This app allows to create meetings with an external installation of [BigBlueButton](https://bigbluebutton.org).\n\n* **Room setup** Create multiple room configurations with name, welcome message …\n* **Share guest link** Share the room link with all your guests\n* **Share moderator link** Invite moderators to the room\n* **Share rooms** Share rooms with members, groups or circles\n* **Custom presentation** Start a room with a selected presentation from your file browser\n* **Manage recordings** View, share and delete recordings for your rooms\n* **Restrictions** Restrict room creation to certain groups\n* **Activities** Get an overview of your room activities\n\nQuick start guide and further information in our [readme](https://github.com/littleredbutton/cloud_bbb).\nDo you like this application? Give something back to the open source community and checkout our\n[ways to contribute](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nContributors are welcome! If you have time it would be awesome if you could help to enhance this application.\n\n*This app integrates BigBlueButton and is not endorsed or certified by BigBlueButton Inc. BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc.*" : "Esta aplicación permite crear xuntanzas cunha instalación externa de [BigBlueButton] (https://bigbluebutton.org).\n\n* **Configuración de salas** Crear múltiples configuracións de salas con nome, mensaxe de benvida …\n* **Compartir a ligazón de convidados** Compartir a ligazón da sala con todos os seus convidados\n* **Compartir ligazón de moderador** Convida moderadores á sala\n* **Compartir salas** Compartir salas con membros, grupos ou círculos\n* **Presentación personalizada** Inicie unha sala cunha presentación seleccionada desde o seu navegador de ficheiros\n* **Xestionar as gravacións** Ver, compartir e eliminar as gravacións das súas salas\n* **Restricións** Restrinxir a creación de salas a determinados grupos\n* ** Actividades** Obteña unha vista xeral das actividades da súa sala\n\nGuía de inicio rápido e máis información no noso [léame](https://github.com/littleredbutton/cloud_bbb).\nGústalle esta aplicación? Devolva algo á comunidade de código aberto e consulte as nosas\n[formas de colaborar](https://github.com/littleredbutton/cloud_bbb/blob/master/.github/contributing.md).\n\nAgradecemos a chegada de colaboradores! Se ten tempo, sería magnífico que puidese axudar a mellorar esta aplicación.\n\n*Esta aplicación integra BigBlueButton e non está aprobada nin certificada por BigBlueButton Inc. BigBlueButton e o logotipo de BigBlueButton son marcas comerciais de BigBlueButton Inc.*",
"Room not found" : "Non se atopou a sala",
"The room could not be found. Maybe it was deleted?" : "Non foi posíbel atopar a sala. Quizais foi eliminada.",
"Back to %s" : "Volver a %s",
@ -76,7 +76,7 @@
"If enabled, a moderator URL is generated which allows access with moderator permission." : "Se está activado, xérase un URL de moderador que permite o acceso con permisos de moderador.",
"Only selected users and groups are allowed to access the room." : "Só os usuarios e grupos seleccionados teñen permiso para acceder á sala.",
"If disabled, a microphone is needed to join the conference." : "Se está desactivado, é necesario un micrófono para unirse á conferencia.",
"If enabled, the user has not to perform an echo call and webcam preview on the first join (available since BBB server 2.3)." : "Se está activado, o usuario non ten que realizar unha proba de eco nin unha vista previa da cámara web na primeira unión (dispoñíbel dende o BBB servidor 2.3).",
"If enabled, the user has not to perform an echo call and webcam preview on the first join (available since BBB server 2.3)." : "Se está activado, o usuario non ten que realizar unha proba de eco nin unha vista previa da cámara web na primeira unión (dispoñíbel desde o BBB servidor 2.3).",
"If enabled, the user list, chat area and presentation are hidden by default." : "Se está activado, a lista de usuarios, a área de parolas e a presentación están agochadas de xeito predeterminado.",
"If enabled, all users will join the meeting muted." : "Se está activado, todos os usuarios uniranse á xuntanza enmudecidos.",
"Edit \"{room}\"" : "Editar «{room}»",

View File

@ -16,7 +16,7 @@ OC.L10N.register(
"Public" : "Pubblica",
"Internal + Password protection for guests" : "Interni + Protezione con password per gli ospiti",
"Internal + Waiting room for guests" : "Interni + Sala d'attesa per gli ospiti",
"Waiting room for all users" : "In attesa di tutti gli utenti",
"Waiting room for all users" : "Tutti gli utenti in Sala d'attesa",
"Internal" : "Interni",
"Internal restricted" : "Limitato agli interni",
"API URL or secret not configured. Please contact your administrator." : "URL API o segreto non configurato. Contatta il tuo amministratore.",

View File

@ -14,7 +14,7 @@
"Public" : "Pubblica",
"Internal + Password protection for guests" : "Interni + Protezione con password per gli ospiti",
"Internal + Waiting room for guests" : "Interni + Sala d'attesa per gli ospiti",
"Waiting room for all users" : "In attesa di tutti gli utenti",
"Waiting room for all users" : "Tutti gli utenti in Sala d'attesa",
"Internal" : "Interni",
"Internal restricted" : "Limitato agli interni",
"API URL or secret not configured. Please contact your administrator." : "URL API o segreto non configurato. Contatta il tuo amministratore.",

View File

@ -131,10 +131,12 @@ class API {
}
if ($uid) {
$avatarUrl = $this->avatarRepository->getAvatarUrl($room, $uid);
$joinMeetingParams->setUserID($uid);
$joinMeetingParams->setAvatarURL($avatarUrl);
if ($this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true') {
$avatarUrl = $this->avatarRepository->getAvatarUrl($room, $uid);
$joinMeetingParams->setAvatarURL($avatarUrl);
}
}
return $this->getServer()->getJoinMeetingURL($joinMeetingParams);

View File

@ -7,6 +7,7 @@ use OCA\BigBlueButton\Db\Room;
use OCA\BigBlueButton\Event\MeetingEndedEvent;
use OCA\BigBlueButton\Event\RecordingReadyEvent;
use OCA\BigBlueButton\Service\RoomService;
use OCP\IConfig;
use OCP\AppFramework\Controller;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
@ -27,18 +28,23 @@ class HookController extends Controller {
/** @var IEventDispatcher */
private $eventDispatcher;
/** @var IConfig */
private $config;
public function __construct(
string $appName,
IRequest $request,
RoomService $service,
AvatarRepository $avatarRepository,
IEventDispatcher $eventDispatcher
IEventDispatcher $eventDispatcher,
IConfig $config
) {
parent::__construct($appName, $request);
$this->service = $service;
$this->avatarRepository = $avatarRepository;
$this->eventDispatcher = $eventDispatcher;
$this->config = $config;
}
public function setToken(string $token): void {
@ -65,7 +71,9 @@ class HookController extends Controller {
$this->service->updateRunning($room->getId(), false);
$this->avatarRepository->clearRoom($room->uid);
if ($this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true') {
$this->avatarRepository->clearRoom($room->uid);
}
$this->eventDispatcher->dispatch(MeetingEndedEvent::class, new MeetingEndedEvent($room, $recordingmarks));
}

View File

@ -30,6 +30,7 @@ class Admin implements ISettings {
'join.theme' => $this->config->getAppValue('bbb', 'join.theme') === 'true' ? 'checked' : '',
'app.shortener' => $this->config->getAppValue('bbb', 'app.shortener'),
'join.mediaCheck' => $this->config->getAppValue('bbb', 'join.mediaCheck', 'true') === 'true' ? 'checked' : '',
'avatar.enabled' => $this->config->getAppValue('bbb', 'avatar.enabled', 'true') === 'true' ? 'checked' : '',
];
return new TemplateResponse('bbb', 'admin', $parameters);

View File

@ -29,6 +29,11 @@ script('bbb', 'restrictions');
<label for="bbb-join-theme"><?php p($l->t('Use Nextcloud theme in BigBlueButton.')); ?></label>
</p>
<p>
<input type="checkbox" name="avatar.enabled" id="bbb-avatar-enabled" class="checkbox bbb-setting" value="1" <?php p($_['avatar.enabled']); ?> />
<label for="bbb-avatar-enabled"><?php p($l->t('Use Nextcloud avatars in BBB rooms.')); ?></label>
</p>
<h3><?php p($l->t('Default Room Settings')); ?></h3>
<p><?php p($l->t('Below you can change some default values, which are used to create a new room.')); ?></p>