openDesk Edu β from current state to a complete digital workplace for universities.
| What | Status |
|---|---|
| ILIAS LMS with SAML SSO | β |
| Moodle LMS with Shibboleth | β |
| BigBlueButton β Jitsi (alternative) | β |
| OpenCloud β Nextcloud (alternative) | β |
| Unified Keycloak SSO | β |
| Portal integration (tiles, icons) | β |
| Etherpad collaborative editor (OIDC) | β |
| BookStack knowledge base (SAML) | β |
| Planka project boards (OIDC) | β |
| Zammad helpdesk (SAML) | β |
| LimeSurvey course evaluation (LDAP) | β |
| Draw.io diagramming (stateless) | β |
| Excalidraw whiteboard (stateless) | β |
| Self-Service Password (LDAP) | β |
| SOGo groupware (alternative to OX App Suite) | β |
Hardening what we have and adding the missing essentials.
German universities authenticate via the DFN-AAI federation (Shibboleth IdP). openDesk Edu must work as a SAML Service Provider within this federation.
eduPersonAffiliation, mail, displayName, persistentId)https://www.aai.dfn.de/)Universities run on semester cycles (Wintersemester, Sommersemester). Courses, enrollments, and access need to follow this rhythm.
Critical for security β when a user logs out of the portal, all sessions across all services must be terminated.
Automate the complete user lifecycle β from account creation to permanent deletion β using the
existing scripts/user_import/ tooling.
user_import tooling from legacy repo into scripts/user_import/The deepest integration layer β connecting openDesk Edu to the universityβs central nervous system. This is what turns a collection of apps into a unified digital campus.
HISinOne by HIS eG is the dominant campus management system in German higher education β used by 200+ universities, including Marburg (where it runs as βMarvinβ). It is the source of truth for:
Every other system at a university is downstream from campus management. LMS courses are created because a module exists in the PrΓΌfungsordnung. Students enroll in courses because HISinOne says theyβre registered. Rooms are booked because HISinOneβs timetable says so. Without campus management integration, openDesk Edu is just a suite of disconnected apps. With it, it becomes a digital campus.
HISinOne manages the complete student lifecycle:
Application β Enrollment β Study β Exams β Graduation β Alumni
(APP) (STU) (EXA) (EXA) (STU) (ALU)
Key entities that flow into openDesk Edu:
| Entity | HISinOne Module | openDesk Impact |
|---|---|---|
| Person (identity, roles, contact) | PSV | Account provisioning, SSO, group assignment |
| Student (matrikel number, status, fees) | STU | Role-based access (student/faculty), account lifecycle |
| Degree Program (BA/MA/StEx, rules, ECTS) | EXA | Study progress tracking, module requirements |
| Module (credits, workload, type, description) | EXA | Course catalog, handbook data |
| Course (title, semester, lecturers, room, time) | EXA-VM | Course creation in LMS, schedule, room info |
| Enrollment (student β course registration) | EXA-VM | LMS membership, course rosters |
| Parallel Groups (course sections) | EXA-VM | LMS groups, tutorial assignments |
| Exam (type, date, room, grade) | EXA-PM | Grade display, transcript of records |
| Room (capacity, equipment, location) | EXA-VM | Room info in course context |
| Application (applicant data, program choice) | APP | Pre-enrollment access, guest accounts |
The proven pattern at German universities uses three layers:
ββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β HISinOne β β openDesk Edu β β HISinOne β
β (Marvin) β β Integration β β Proxy β
β β β Layer β β (PHP, OSS) β
β SOAP API βββββββββ (middleware) ββββββββΊβ + Queue β
β Events β β β β + Dedup β
β qisserver β β β β + Listener β
ββββββββββββββββ ββββββββ¬ββββββββββββ ββββββββββββββββββββ
β
βββββββββββ΄βββββββββββ
β β
ββββββββΌβββββββ βββββββΌβββββββ
β Keycloak β β LMS β
β (SSO + β β (ILIAS / β
β accounts) β β Moodle) β
ββββββββ¬βββββββ βββββββ¬βββββββ
β β
ββββββββΌβββββββ βββββββΌβββββββ ββββββββββββββββ
β BBB / β β BBB / β β Nextcloud / β
β Jitsi β β Jitsi β β OpenCloud β
βββββββββββββββ βββββββββββββββ ββββββββββββββββ
Key technical decisions:
qisserver/services2/) + TCP event listener (push, not poll)Automate user provisioning based on university enrollment/exmatriculation events.
Data flow:
HISinOne (immatrikulation) β LDAP/AD (existing university IdM) β Keycloak (user sync) β all services
HISinOne (exmatrikulation) β LDAP/AD β Keycloak (user deactivation) β access revoked
student β LMS access, course enrollment, file sharingemployee β email, groupware, project managementlecturer β LMS course owner, video conferencing hostfaculty:PHIL β faculty-specific portal tiles and permissionsAutomate course creation, enrollment, and roster management in ILIAS and Moodle.
Data flow:
HISinOne (semester start) β HISinOne-Proxy β openDesk Integration Layer
β ILIAS: create courses, assign categories, add lecturers, enroll students
β Moodle: create courses, assign cohorts, enroll students
β BBB: create recurring meeting rooms per course (optional)
β Nextcloud/OpenCloud: create course file shares (optional)
Bring the semester calendar, room information, and exam data into the unified campus experience.
Transform raw campus management data into actionable student-facing information.
Connect campus management data with collaboration and communication tools for a smarter campus.
Before starting any HISinOne integration work:
qisserver/services2/)| Risk | Impact | Mitigation |
|---|---|---|
| No public API docs (HIS eG member-only) | Blocks development | Partner with university IT; use HISinOne-Proxy as reference |
| SOAP API (not REST) | More complex integration | Use proven proxy pattern; SOAP is stable and well-tested |
| TCP event listener (not webhooks) | Requires network config | Request firewall allowlist for HISinOne β proxy connection |
| Each university customizes HISinOne differently | Hard to generalize | Make integration layer fully configurable per institution |
| HISinOne is not containerized | Canβt deploy alongside openDesk | Integration layer runs in-cluster; HISinOne stays on-prem |
| Student data is highly sensitive (DSGVO) | Legal/compliance risk | Follow data minimization; pseudonymize analytics; document data flows |
The #1 requested teaching tool beyond LMS + video conferencing.
Opencast is the dominant open-source lecture recording system in DACH universities (150+ contributors, active development, ECL-2.0 license). Tobira is a modern video portal built on top of Opencast (Rust, AGPL-3.0).
| What | Why |
|---|---|
| Official Docker images | Easy to wrap in Helm |
| LTI support | Launchable from Moodle/ILIAS courses |
| Shibboleth/OIDC auth | Fits Keycloak SSO |
| Built-in Prometheus metrics | Fits openDesk monitoring |
| Whisper transcription | Local AI transcription, no cloud dependency |
SNIpR (MIT license, Rust) is a lightweight lecture recording alternative by the same author as F13βs transcription service. Perfect for smaller deployments or universities that want maximum control with minimal infrastructure.
| Feature | Opencast | SNIpR |
|---|---|---|
| Language | Java (large) | Rust (tiny) |
| Complexity | Microservices architecture | Single binary |
| Storage | Requires separate DB | Simple file-based |
| Transcription | Built-in Whisper GPU | External (F13 or stand-alone) |
| Resources | Heavy | Lightweight |
| LTI | Extensive | Basic |
| Use case | Enterprise | Small-to-medium universities |
Recommendation: Use Opencast for infrastructure-rich campuses, SNIpR for focused teaching needs.
Completing the teaching and learning cycle.
EvaP (MIT license, Python/Django) is the standard course evaluation system used at HPI and growing in adoption. Lightweight, fits well into a Kubernetes deployment.
Mahara (GPL v3, PHP) is the leading open-source e-portfolio platform. Supports LTI for launch from LMS, SAML for SSO, and provides competency-based assessment.
Room booking, equipment lending, and resource management.
MRBS (GPL v2, PHP) is the most widely deployed open-source room booking system in universities. Simple, LDAP-aware, well-understood.
LEIHS (GPL v3, Ruby) is used at multiple German universities for equipment and resource booking (cameras, laptops, lab equipment).
Secure, on-premise exam infrastructure β a post-COVID standard.
R/exams (AGPL v3, R) supports online exams with LTI integration for Moodle and ILIAS. Combined with the Safe Exam Browser (GPL v2), provides a lockdown environment.
JPlag (GPL v3, Java, developed at KIT) runs entirely locally β no data leaves the cluster. Supports 15+ programming languages. GDPR-friendly by design.
Where universities are heading β with data sovereignty.
Universities need AI tools that donβt send student data to cloud providers. The German government is funding β¬1B for AI infrastructure (2026-2030).
Capture learning activity across all services (LMS, video, portfolio) with xAPI standard.
F13 is an open-source AI assistant developed at Baden-WΓΌrttemberg universities (MPL-2.0, 7 microservices). Provides chat, RAG, document summarization, and transcription β all on-premise, no data leaves the cluster.
| What | Details |
|---|---|
| Core | FastAPI (Python), Svelte frontend |
| Auth | Keycloak-native (JWT via JWKS, UMA, RBAC) |
| Services | chat, summary, parser (OCR), RAG, transcription (Whisper) |
| GPU | Required for parser (EasyOCR), RAG (embeddings), transcription |
| Registry | registry.opencode.de/f13/microservices/ |
f13-api, JWKS, UMA)Sharing services across universities.
Following models like VCRP (Rhineland-Palatinate shared OpenOlat), enable universities to share services while keeping data separate.
SATOSA is a SAML/OIDC proxy that enables federated identity scenarios β ideal for universities sharing openDesk Edu across federations (eduGAIN, DFN-AAI).
Growing EU requirement via European Open Science Cloud (EOSC).
| Tool | Reason |
|---|---|
| Stud.IP | No LTI, no Docker/K8s, limited REST API β too hard to integrate. Universities that use it should keep it alongside openDesk. |
| Papercut MF | Proprietary. No viable open-source alternative exists for full print management (web print, follow-me, card readers). |
| Canvas LMS | Proprietary (Instructure). Conflicts with sovereignty principle. |
| Shibboleth IdP deployment | Universities already run their own IdP. openDesk Edu integrates as a SAML SP, not an IdP provider. SATOSA proxy (v5.0) handles SAML-to-OIDC translation for federated scenarios. |
| Keycloak as eduGAIN IdP | SAML federation support is incomplete. Use Shibboleth IdP for federation, Keycloak for internal IAM. |
2026 Q2 v1.0 Core platform + 13 education services (ILIAS, Moodle, BBB, OpenCloud, SOGo, Etherpad, BookStack, Planka, Zammad, LimeSurvey, Draw.io, Excalidraw, SSP)
v1.1 DFN-AAI federation + semester lifecycle + logout + user provisioning/deprovisioning
2026 Q3 v1.2 Opencast + Tobira lecture recording
2026 Q4 v1.5 HISinOne/Marvin campus management integration (phase 1: identity)
2027 Q1 v1.5 HISinOne integration (phase 2: courses, phase 3: schedule/exams)
2027 Q2 v1.5 HISinOne integration (phase 4: study progress, phase 5: intelligence)
2027 Q3 v2.0 EvaP + Mahara (evaluation + portfolio)
2027 Q4 v2.1 MRBS + LEIHS (room + equipment booking)
2028 Q1 v3.0 R/exams + JPlag (digital examination)
2028 Q2 v4.0 Local LLM + xAPI analytics + F13 sovereign AI assistant
2028 Q3 v5.0 Multi-tenancy + SATOSA proxy + research data management
Have an idea for the roadmap? Open an issue β weβd love to hear what your university needs.