WaldorfConnect

A collaboration platform for German Steiner schools' students. It supports storage of files, communication via chat and user management for productive work.
Leander Christmann
Leander Christmann
WaldorfConnect

Context

In May 2023 at a conference of student councils from regional Steiner schools in Germany the focus was placed on networking, collaboration and structural improvements.

In this setting, a work group was formed to explore ideas to enable better teamwork among the student representatives. This taskforce found that the system was lacking a common IT platform supporting their productive activities.

Communication and related assets were scattered across various locations like social media chat groups and private cloud storages. Contacts of other schools or persons responsible were not easily reachable, because people simply did not have knowledge of all other schools and their representatives.

That’s why the work group identified this lack of an information system as the single most impeding obstacle to the student councils’ work.

I happended to be present and was invited to join the team as an external contributor (never having attended such a school myself).

You can find more information about the course of events on the WaldorfConnect | Organisation page (in German).

Planning

The aim of the project was to provide the councils with excellent digital support in their communication and collaboration and greatly enhance their networking abilities.

Therefor a central platform shall be provisioned that supports messaging, audio/video calls and file storage. By means of appointed administrators, the students are able to manage themselves.

Further elaborations on the project’s core objectives, features, expected challenges and more can be found in the the introduction of the extensive technical documentation WaldorfConnect | Dokumentation.

Design

The full design document can be found there as well. It is based on the Architecture Decomposition Framework (ADF)’s documentation template v1.1.1 developed by the German Fraunhofer Institute for Experimental Software Engineering. Taught by

The gist is presented below. Note, however, that architecture and implementation have changed - as we’re about to see.

Architecture

WaldorfConnect Old Architecture Diagram

This first draw of the architecture displays an LDAP server at the top. The directory service manages users and permissions for the entire system.

The portal is a user-friendly frontend to this, where students can manage themselves and others if they are privileged to do so. A more capable part of the portal is the commonly used LDAP Account Manager, which global administrators will be able to use for advanced features.

For collaboration and communication, the three components at the bottom right are envisioned: a file storage, a chat app and a audio/video meeting sofware.

Technology

A requirement was to use as much free and open source (FOSS) software as possible. PHP and CodeIgniter were chosen based on experience and preferences of team members.

Infrastructure

All software was decided to be hosted on a German server for privacy and publicity reasons. We got ourselves a Virtual Private Server on STRATO with Ubuntu Linux installed: the Linux V-Server with 16GB RAM and 1.5 TB SSD.

There we installed all those applications.

Changes in the meantime

We dropped the LDAP Account Manager and use the Apache Directory Studio installed on our local development machines. Just for convencience, because key people had the software installed already.

A MySQL database was added for usage by the portal, to store a whole bunch of data that is only need there. (The NextCloud works with just a portion of the WaldorfConnect system’s data in its LDAP database. Only what is necessary, is synced from SQL-DB to LDAP server.)

Finally, NextCloud Talk was installed instead of Zulip. It obviously integrates far easier (no additional effort to the NextCloud-LDAP integration) and looks cleaner overall. The subgroup feature turned out to be neglibile.

Implementation

The implementation of the portal application is publicly available on the WaldorfConnect organisation’s portal GitHub repository.

It is built in line with the MVC pattern and CodeIgniter’s classic application structure.

While working on the project, I got around to answering two StackOverflow posts:

Testing

As soon as the whole platform was ready for rollout, it was tested by a local student council as volunteers, who provided feedback to make further improvements to it.

It is currently running in production with a development version (“test stage”) for trying out major breaking changes.


Read more about the project on the official WaldorfConnect homepage.

Bodensee Consulting
Marketing & Design

Bodensee Consulting

As a trial project to join the Bodensee Consulting student consultancy, I had to design a Whitepaper from scratch according to corporate design guidelines.

Romaji2Kana
Language

Romaji2Kana

Dedicated to an amazing university teacher, this website enables users of common keyboards with Latin characters to write Japanese syllables like おちゃ or パン.