MyCMS2026 – CMS und Team-Workspace

Self-hosted Content-Management und interner Arbeitsbereich auf ASP.NET Core 8 – ohne Datenbank, alle Daten als JSON

Abgeschlossen
MyCMS2026 – CMS und Team-Workspace

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

FrameworkASP.NET Core 8, Razor Pages
SpracheC#
DatenhaltungJSON-Dateien, keine Datenbank
AuthentifizierungCookie-basiert, Passwort-Hashing mit BCrypt
E-MailMailKit / MimeKit, wöchentlicher Versand als Hintergrunddienst
HostingIIS In-Process oder Kestrel
LizenzPolyForm 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: noindex und 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.