Can you imagine conducting an online event solely with self-hosted open-source tools and self-service? Or does that seem impossible to you? This article describes how we did just that by using UCS, Cloudron and BigBlueButton.
Barcamps are a great concept: while most conferences and conventions have a preset agenda of speakers and presenters, an ad-hoc conference can turn just about any participant into a speaker and thereby into a co-contributor. All participants first meet in the plenum, they introduce themselves via certain hashtags, exchange topics of interest, suggest talks and themes for discussions and finally collectively decide on an agenda for the sessions that will happen simultaneously in smaller rooms. At the end of a day there are feedback sessions. In between sessions people meet over coffee. In the evening there is a get-together. The CMS Garden e.V., the umbrella organization of the most active open-source content management systems, invites to such a barcamp once a year. In a regular year the “Open Web Lounge” takes place every autumn at Unperfekthaus Essen. In 2020 the event took place online for the first time. But how do you transfersuch a lively event into a digital space? As if this in itself would not be a daunting task, there were three criteria that needed to be met: the online event should use open-source software only, all tools should be self-hosted and the supporting infrastructure has to meet GDPR regulations.
Safeserver, the IT branch of the Berlin-based Gesellschaft zur Entwicklung von Dingen (GzEvD), provided a solution.
In the beginning, there is a checklist
The team collects the criteria for the task and defines the requirements:
1. The CMS Garden e.V. uses open-source software almost exclusively and therefore wants to conduct a virtual conference with open-source software.
2. They expect that all tools that are used to hold the conference are self-hosted with an infrastructure that is based in Germany. Digital sovereignity and consistent compliance with GDPR regulations are a must.
3. BigBlueButton is defined as the videoconference provider since the CMS Garden e.V. is already using it successfully. However, the question remains: How many people are going to attend the conference? 50, 100 or maybe even 300? It is clear that the technical solution needs to be scalable.
4. Cloudron was another service that CMS Garden e.V. was already using. Cloudron is a self-hosting platform that has a “built-in system administrator” and provides CMS Garden e.V. with a chat (Rocket.Chat) and a collaborative protocol tool (CodiMD) among many other tools. All CMS Garden e.V. members are using the tools already and have their account registered with Cloudron LDAP.
5. Instead of charging participants that attend the conference like in previous years the virtual conference is held free of charge. Participants are supposed to self-register; during this process, a user account will be created automatically for the open-source tools the participants need to attend the conference virtually. (Ideally, this is done via single-sign-on)
Looking for solutions
1. Self-Service: We first took a look at the free access requirement – the self-service portal upon registration. Recently we learned from reading our partner Univention’s blog that they implemented self-registration for users as a new function of Univention Corporate Server (UCS). Score! By using the UCS self-services, participants of the virtual conference are able to register – and during this process, a user account is created in the UCS-LDAP.
2. Centralized User Management: With the integration of Univention Corporate Server we now have two LDAP servers – Cloudron for members of CMS Garden e.V. and UCS for non-members – which both need to be connected somehow to grant the software access to a centralized user management. Lucky for us a team of Cloudron and Univention staff recently created an interface that connects both Cloudron and UCS. Perfect! The interface allows us to use USC as an external LDAP for Cloudron users while the event’s entire user administration is being managed in Univention’s LDAP.
3. Strategic User Management: The next question in line was wether the cooperation with Univention is going to be long-term or not. The sooner CMS Garden e.V. would make a decision in this regard, the better it’d be. If it is going to be a long-term set-up: how should user accounts be handled that already exist in Cloudron LDAP? In the end, CMS Garden e.V. decided to migrate to UCS. For a sustainable long-term solution there needs to be the capability to differentiate access rights via group definitions – members, board members, volunteers and attendees. UCS offers all of that. And with group permissions being one of UCS’ central advantages, it sums up to be a perfect match!
4. Platform Scalability: 300 people doing video at the same time? Unfortunately BBB does not offer this in one instance. And the concept in itself – 50, 100 or 300 people attending – reminds more of a lecture really than a meeting. A streaming service seems to be the better fit here and not a video conference. However, BBB is the perfect tool for small groups of 5 to 30 people that come together in breakout rooms. A possible solution could be a hybrid of streaming and conference rooms across multiple BBB instances. The BBB community offers two approaches in this kind of scenario: Scalelite and BBBatScale. We decide for the latter since it comes with many advantages for the requirements of a Barcamp. For talks and presentations we choose the Open Streaming Platform that converts individual rooms into streams that can then be embedded as iFrames into the website. Check!
Installation and configuration
Once we mapped out the technical solutions, we turned to their implementation. And time is vital, since we only have about a week and a half left before launch!
- Install UCS. These days this is rarely a 1-Click solution. We download the ISO image of UCS and “insert” it with the provider of your choice as a DVD during installation. Then install and with a few tweaks – monitoring, firewall, maintenance – customize it according to your requirements.
- Export Cloudron users and import into UCS. During this process it is crucial that usernames are kept to preserve the existing history of already used apps. Delete local Cloudron users and activate the UCS connector. It works! The user import is done and base functionality is re-established. From now on we are working with a centralized user management based on UCS.
- Set up self-service according to the blogpost’s description. Works perfectly! All that remains to do is to customize the colors to match the look and feel of CMS Garden.
- Connect BBBatScale with UCS via LDAP. Group mapping did not work right away (but hey, wouldn’t it be weird if EVERYTHING went smoothly?) Big thanks to you, the BBBatScale Community, for your support!
- Testing, testing, testing – and more testing. And also: writing a short documentation for all of you out there.
Jumping in at the deep end
In hindsight we are content: everything was working fairly smooth in time for the conference. There were only 120 participants in total but the in- and output was diverse and vast. The talks in front of a large audience were mainly tailored towards knowledge transfer while the smaller interactive rooms provided a familiar analogue vibe. The tools Rocket.Chat and CodiMD were also heavily used during the event, providing exchange and show notes were happening on different levels. Even the social exchange was fairly alive in breakout rooms and Mozilla Hubs.
There was some confusion about the username policy that differs between UCS and Cloudron. A user chose a username with an underscore which Cloudron did not support. However, in the end the spaces in the username got synchronized between the two systems thanks to a UCS policy change during the event.
What did not work so well?
There is room for improvement in the user journey. The switch to a centralized platform for user registration and password resets led to confusion among CMS Garden members. The user journey from the event information page to the registration page and back to possible starting points for event program, participation and streaming needs more careful planning before the next online event takes place.
The embedded video stream with 35 viewers watching simultaneously crashed multiple times. The fix was to reconfigure the Open Streaming Platform as re-streaming from Youtube. To achieve stability for larger numbers of participants it needs further time and effort. Perhaps the Edge streamers could provide a solution here.
Regardless of the very few obstacles mentioned in the last passage, we can definitely recommend the set-up described above for events. And we are extremely proud that the entire event was running on self-hosted open source software.
Use UCS Core Edition for Free!Download now
Manfred Wöller is a TÜV-certified data security officer with a passion for Digital Sovereignity and Open Source IT. He is the director of the business division Safeserver at the Berlin Gesellschaft zur Entwicklung von Dingen.