MyCMS2026 – CMS und Team-Workspace
Self-hosted Content-Management und interner Arbeitsbereich auf ASP.NET Core 8 – ohne Datenbank, alle Daten als JSON
MyCMS2026 verbindet zwei Dinge, die sonst getrennt laufen: eine schlanke öffentliche Website mit verwaltbaren Seiten – und dahinter einen geschützten Arbeitsbereich für Meetings, Projekte, Aufgaben, OKRs und Dokumente.
Entstanden ist es für die Gremienarbeit in Vereinen und kleinen Organisationen. Dort sammeln sich Protokolle, Pendenzen und Unterlagen über Jahre an, verteilt über Mail-Postfächer und private Ordner. Kommerzielle Werkzeuge sind für ein paar Vorstandsmitglieder überdimensioniert und verlangen laufende Gebühren.
Der zentrale Entwurfsentscheid: keine Datenbank. Alle Daten liegen als JSON-Dateien in einem einzigen Ordner. Ein Backup ist damit das Kopieren dieses Ordners, ein Umzug auf einen anderen Server ebenso. Kein Datenbankserver, der gepflegt, aktualisiert und gesichert werden will – bei den Datenmengen einer Vereinsgeschäftsstelle ein guter Tausch.
Technische Daten
| Framework | ASP.NET Core 8, Razor Pages |
|---|---|
| Sprache | C# |
| Datenhaltung | JSON-Dateien, keine Datenbank |
| Authentifizierung | Cookie-basiert, Passwort-Hashing mit BCrypt |
| MailKit / MimeKit, wöchentlicher Versand als Hintergrunddienst | |
| Hosting | IIS In-Process oder Kestrel |
| Lizenz | PolyForm Noncommercial 1.0.0 |
Öffentlicher Teil
- verwaltbare HTML-Seiten mit Inline-Editor
- konfigurierbare Navigation und Menüstruktur
- Bildverwaltung mit abgesichertem Upload
- Download-Bereich für Dateien
Interner Arbeitsbereich
Hinter dem Login liegt der Teil, der die eigentliche Arbeit trägt:
- Meetings – als Timeline, mit Detailansichten und Datei-Anhängen
- Projekte – inklusive Journal mit Anhängen
- Pendenzen und Todos – Aufgabenverwaltung mit Verantwortlichen
- OKR – Objectives und Key Results mit Fortschrittsanzeige
- Vault – kontextbezogene, abgesicherte Dokumentenablage
- Dashboard aus modularen Widgets
Das Dashboard beantwortet die Fragen, die vor jeder Sitzung gestellt werden: Was ist offen, was ist überfällig, wie stehen die Jahresziele, wer hat wie viel auf dem Tisch.
Rechte und Sichtbarkeit
Wer in einem Gremium arbeitet, kennt das Problem: Nicht jedes Protokoll geht jeden etwas an. MyCMS2026 steuert die Sichtbarkeit deshalb über Rollen, Gruppen sowie Klassen und Kontexte – Meetings, Projekte und Dokumente lassen sich einer Klasse zuordnen, und wer diese Klasse nicht sieht, sieht auch die Inhalte nicht.
Dazu kommen Benutzerverwaltung, Activity-Log, Site-Konfiguration und ein Offline-Modus, der die Anwendung für Wartungsfenster für alle ausser Administratoren sperrt.
Sicherheit
Ein internes System, das im Web erreichbar ist, braucht mehr als ein Login-Formular:
- Passwort-Hashing mit BCrypt
- Rate-Limiting auf Login und Passwort-Reset – 10 Anfragen pro Minute und IP
- HTML-Sanitizing aller Rich-Text-Eingaben gegen gespeicherte XSS-Angriffe
- kein SVG-Upload, weil SVG ausführbares Script enthalten kann
X-Robots-Tag: noindexund robots.txt – interne Inhalte gehören nicht in Suchmaschinen- Setup-Assistent beim Erststart statt eines fest einprogrammierten Standard-Administrators
Installation und Quellcode
Es gibt zwei Wege. Wer die Software nur betreiben will, nimmt das Deployment-Repository: eine fertig kompilierte, leere Instanz, die sich beim ersten Aufruf über einen Setup-Assistenten einrichtet – auf Wunsch mit Demodaten. Wer den Quellcode anpassen oder selbst bauen möchte, klont das Quellcode-Repository und startet mit dotnet run.
Die Lizenz ist PolyForm Noncommercial: freie Nutzung, Änderung und Weitergabe für nicht-kommerzielle Zwecke – Vereine, gemeinnützige und öffentliche Organisationen, private Nutzung, Studium. Kommerzielle Verwertung ist ausgenommen.