Мы — Makerspace, который использует Discourse Calendar для управления бронированием комнат и оборудования. Ситуация может стать очень запутанной: люди накладывают бронирования друг на друга, а также бронируют оборудование, на которое у них нет прав. Поэтому мы ищем варианты улучшения этих процессов.
Есть ли какие-либо плагины или инструменты, которые могли бы упростить и проверить бронирование комнат и оборудования?
Некоторые примеры условий/контекста:
Бронировать комнату можно только при наличии роли @Keyholder.
Бронировать оборудование можно только если забронирована комната (не обязательно, чтобы вы были тем, кто забронировал комнату; бронирование комнаты означает, что в указанный период времени комната открыта для использования другими людьми, которые могут зайти и воспользоваться оборудованием).
Бронировать 3D-принтер можно только при наличии роли @3DPrinter.
Бронировать оборудование нельзя, если оно уже кем-то забронировано.
В идеале это должно обновлять соответствующие темы (Topic) для отображения в календаре.
Я всё ещё изучаю Discourse, поэтому любые мысли, комментарии или указания в правильном направлении будут очень полезны.
Я бы создал группу Keyholder, требующую запроса на вступление. Затем создал бы категорию, видимую для всех, но отвечать в темах могли бы только Keyholders. После этого создал бы тему с календарём комнаты в первом сообщении. Таким образом, календарь будет виден всем, но добавлять события смогут только Keyholders. Это не идеально, так как у вас будет целая категория, посвящённая контролю доступа к одной теме.
Не уверен, что это возможно с помощью плагина Calendar. Он не отслеживает пересечения событий, поэтому единственное, что мешает людям бронировать оборудование вне положенного времени, — это ручная проверка календаря участниками. Кроме того, люди, бронирующие оборудование, обладают ли ролью Keyholder? Если нет, то блокировка их ответов может стать проблемой.
Учитывая, что вам нужен ещё один календарь и ещё одна роль, я задаюсь вопросом, не лучше ли положиться на честность участников, чем пытаться настроить систему принуждения к правилам. Например, создать открытую категорию для всех календарей и отдельную тему для каждого конкретного календаря. Возможно, назначить людей в группы, чтобы участники могли отслеживать, кто есть кто, и использовать социальное давление, чтобы предотвратить несанкционированное бронирование комнат и оборудования. Но не пытаться ограничивать людей с помощью программного обеспечения.
Также см.:
Попробуйте этот вариант, и если у вас не получится, возможно, стоит обратиться за помощью в канал Marketplace.
Мы с трудом находим решение, которое мешает нам обновиться (мы в настоящее время используем плагин Pavilion’s Events, который не поддерживается в последних версиях Discourse).
В отсутствие плагина для Discourse:
Знает ли кто-нибудь о хороших и недорогих (в идеале — бесплатных) сервисах или плагинах для бронирования комнат/рабочих мест, которые хорошо работают с WordPress и/или Discourse? (Единственные плагины для WordPress, которые я смог найти, предназначены для записи на приём, а не для бронирования комнат или рабочих мест)