Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,16 @@ OrgSuite stellt genau zwei Haupteinstiege im Nextcloud-Appmenue bereit:
- `AD` fuer AD Kalender, Assistenzplanung, AD Urlaub und AD Raumplaner.
- `BR` fuer BRTop, BR-Stunden und Berechtigungsmatrix.

Die Fachapps bleiben eigenständige Repositories, Datenmodelle und Berechtigungsräume. OrgSuite besitzt keine Fachdaten und erweitert keine fachlichen Rechte. Zielapps erzwingen ihre Berechtigungen weiterhin serverseitig. OrgSuite stellt ausschließlich den Nextcloud-Adminadapter für gemeinsame, in LocalBase persistierte Organisations- und Freigabeverträge bereit. Einstellungen, die nur eine Fachapp betreffen, erhalten einen eigenen Adminabschnitt in dieser Fachapp.
Die Fachapps bleiben eigenständige Repositories, Datenmodelle und Berechtigungsräume. OrgSuite besitzt keine Fachdaten und erweitert keine fachlichen Rechte. Zielapps erzwingen ihre Berechtigungen weiterhin serverseitig. OrgSuite stellt ab zwei AD-Fachprodukten ausschließlich Navigation, gemeinsame Assets und den Nextcloud-Adminadapter für in LocalBase persistierte Organisations- und Freigabeverträge bereit. Einstellungen, die nur eine Fachapp betreffen, erhalten einen eigenen Adminabschnitt in dieser Fachapp.

## Navigationsvertrag

- Die Haupteinstiege werden dynamisch registriert und nur angezeigt, wenn mindestens eine Zielapp fuer die angemeldete Person aktiviert ist.
- `AD` leitet bevorzugt zum AD Kalender weiter, `BR` bevorzugt zu BRTop. Ist das bevorzugte Ziel nicht aktiviert, wird die erste aktivierte Fachapp der Suite verwendet.
- Jede Fachapp bindet `js/suite-navigation.js` und `css/suite-navigation.css` ein und stellt genau einen Host mit `data-orgsuite`, `data-suite` und `data-current-app` bereit.
- OrgSuite lädt `js/suite-navigation.js` und `css/suite-navigation.css` zentral über `BeforeTemplateRenderedEvent`. Fachapps stellen nur einen wirkungslosen Host mit `data-orgsuite`, `data-suite` und `data-current-app` bereit und besitzen dadurch keine harte Asset-Abhängigkeit.
- Die Menuestruktur wird ausschliesslich hier gepflegt. Fachapps duplizieren keine Linklisten oder Menuelogik.
- Ein sichtbarer Link ist keine Berechtigung. Jeder Zielcontroller und jede API prueft Zugriffe selbst.
- Der Produktinstaller aktiviert OrgSuite erst ab zwei aktivierten AD-Fachprodukten. Bei einer Einzelinstallation registriert das Fachprodukt stattdessen seinen eigenen Nextcloud-Einstieg.

## Git- und Arbeitsregeln

Expand All @@ -45,7 +46,7 @@ Die Fachapps bleiben eigenständige Repositories, Datenmodelle und Berechtigungs
- Das Menue bleibt kompakt, darf umbrechen und darf den Scrollvertrag der einbettenden App nicht veraendern.
- Das Quermenü bleibt innerhalb des jeweiligen App-Scrollcontainers am oberen Rand sticky sichtbar und besitzt dafür einen deckenden Nextcloud-Hintergrund. Es verändert keine globalen Nextcloud-Container.
- Keine globalen Nextcloud- oder `body`-Selektoren ueberschreiben.
- App-übergreifende Organisations- und Freigabeeinstellungen werden über `OCP\Settings\ISettings` im OrgSuite-Adminabschnitt angezeigt. App-spezifische Administration bleibt im Adminabschnitt der Fachapp; normale App-Einstellungen sind persönliche Einstellungen des eingeloggten Kontos.
- App-übergreifende Organisations- und Freigabeeinstellungen werden über einen LocalBase-`ISettings`-Adapter im OrgSuite-Adminabschnitt angezeigt. Controller, Assets und Persistenz bleiben in LocalBase. App-spezifische Administration bleibt im Adminabschnitt der Fachapp; normale App-Einstellungen sind persönliche Einstellungen des eingeloggten Kontos.
- Administrative API-Endpunkte verzichten auf `NoAdminRequired`, prüfen die aktive Sitzung zusätzlich explizit auf Nextcloud-Adminrechte und behalten den CSRF-Schutz für Schreibzugriffe bei.

## Tests
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## 0.3.0-rc.1

- OrgSuite als ab zwei AD-Produkten aktivierte Infrastruktur entkoppelt.
- Gemeinsame Menüassets zentral registriert; Fachapps laden keine OrgSuite-Dateien mehr direkt.
- Organisationsadministration als schlanken Adapter auf die LocalBase-Oberfläche reduziert.

## 0.2.5-rc.1

- Öffentliche Projekt-, Quellcode- und Fehlerkanäle ergänzt.
Expand Down
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
# OrgSuite

Gemeinsame AD-/BR-Navigation und Nextcloud-Adminoberfläche für organisationsweite Gruppen-, Hierarchie- und Freigabeeinstellungen.
Gemeinsame AD-/BR-Navigation und Nextcloud-Adminoberfläche für organisationsweite Gruppen-, Hierarchie- und Freigabeeinstellungen. OrgSuite enthält keine Fachdaten.

## Staging-Kompatibilität

- Nextcloud 34
- PHP 8.3 oder neuer innerhalb des von Nextcloud 34 unterstützten Bereichs
- Abhängigkeit: `localbase`
- Laufzeitbasis: `localbase`
- App-ID und Installationsordner: `orgsuite`

## Installation

```bash
sudo -u www-data php occ app:enable localbase
sudo -u www-data php occ app:enable orgsuite
```
OrgSuite ist mitgelieferte Infrastruktur und kein separates AD-Fachprodukt. Der Produktinstaller aktiviert sie automatisch ab zwei aktiven AD-Fachprodukten. Bei einer Einzelinstallation bleibt sie deaktiviert; die Fachapp besitzt dann ihren eigenen Einstieg und Adminabschnitt.

Nach der Aktivierung werden Organisationsdefinition und Freigaben ausschließlich im Nextcloud-Adminbereich der OrgSuite gepflegt.
Nach der Aktivierung werden Organisationsdefinition und Freigaben im Nextcloud-Adminbereich der OrgSuite gepflegt. Persistenz, geschützte Admin-API und Organisationseditor liegen in LocalBase.

Installations-, Betriebs- und Abnahmeunterlagen stehen im öffentlichen [AD-Suite-Projekt](https://github.com/Filzmann/ad-suite).
3 changes: 1 addition & 2 deletions appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<name>AD- und BR-Suite</name>
<summary>Gemeinsame Navigation und Administration für die AD- und BR-Fachapps.</summary>
<description>Bündelt die Einstiege der eigenständigen AD- und BR-Apps und stellt den administrativen Einstieg für organisationsweite Suite-Einstellungen bereit.</description>
<version>0.2.5-rc.1</version>
<version>0.3.0-rc.1</version>
<licence>agpl</licence>
<author>Simon</author>
<website>https://github.com/Filzmann/ad-suite</website>
Expand All @@ -16,7 +16,6 @@
<dependencies>
<php min-version="8.3"/>
<nextcloud min-version="34" max-version="34"/>
<app>localbase</app>
</dependencies>
<settings>
<admin>OCA\OrgSuite\Settings\Admin</admin>
Expand Down
3 changes: 0 additions & 3 deletions appinfo/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,5 @@
'routes' => [
['name' => 'entry#ad', 'url' => '/ad', 'verb' => 'GET'],
['name' => 'entry#br', 'url' => '/br', 'verb' => 'GET'],
['name' => 'admin_api#settings', 'url' => '/api/admin/settings', 'verb' => 'GET'],
['name' => 'admin_api#saveOrganization', 'url' => '/api/admin/organization', 'verb' => 'PUT'],
['name' => 'admin_api#savePermissions', 'url' => '/api/admin/permissions', 'verb' => 'PUT'],
],
];
43 changes: 0 additions & 43 deletions css/admin.css

This file was deleted.

78 changes: 0 additions & 78 deletions js/admin.js

This file was deleted.

Loading