Zum Inhalt springen

Module (NXM)

Was NXM-Module sind

Ein NXM-Modul ist ein Fachmodul, das Sie als eine Paketdatei in einen Mandanten installieren, mit eigenen Datensätzen, Listen, Seiten, Rollen, Aktionen und Werkzeugen für den KI-Assistenten. Diese Seite erklärt, woraus ein Modul besteht, wie es sich von eingebauten Modulen und Apps unterscheidet und wie aus einem Paket ein laufendes Modul wird.

Für
AdminsGestalterEntwickler
Dauer
8 Min.

Nehmen wir eine Anwaltskanzlei, die ihre Akten in nexxus führen will: Akten mit Nummer, Mandantin und Gegner, die Dokumente jeder Akte, Schreiben, die auf die Freigabe einer Anwältin warten, und Gerichtsfristen, die niemand versäumen darf. Nichts davon ist in nexxus eingebaut. Eine Entwicklerin beschreibt diese Fachobjekte, ihre Oberflächen und ihre Regeln in einem Paket. Ein Administrator lädt das Paket hoch, liest, was es mitbringt und worauf es zugreifen will, stimmt zu und installiert es. Ab diesem Moment finden die Mitarbeitenden der Kanzlei einen neuen Abschnitt im Menü, Listen und Datensatzseiten funktionieren wie überall in nexxus, und der KI-Assistent kann in den neuen Datensätzen suchen und Entwürfe anlegen, mit den Rechten der Person, die fragt.

So ein Paket ist ein NXM-Modul. Der Name kommt von der Dateiendung .nxm. In der App heißt der Katalog dieser Dateien Pakete.

Paketmodule im Menübereich Organisation
Jedes Paket bekommt einen eigenen Abschnitt hinter den eingebauten.

Ein Paket beschreibt einen Fachbereich. Das meiste steht als Deklaration in einer einzigen Datei, dem Manifest module.json, und nexxus baut daraus Oberflächen und Prüfungen. Nur was sich nicht deklarieren lässt, ist Code, und dieser Code läuft nie in nexxus selbst.

Fachobjekte

Zum Beispiel Akte oder Frist, mit typisierten Feldern: Text, Zahlen, Datumswerte, Auswahllisten und Verweise auf Partner, Benutzer, Dokumente oder andere Datensätze des Moduls. Laufende Nummern wie 2026/0184 vergibt nexxus selbst.

Listen und Datensatzseiten

Deklariert statt programmiert. nexxus zeigt Listen mit Suche, Filtern und Sortierung und Datensatzseiten mit dem Reiter Daten, Bearbeitungsmodus und Bezugslisten.

Eigene Ansichten

Seiten, Reiter und Dialoge, jeweils als eine abgeschlossene HTML-Datei. Sie laufen in einer Sandbox und kommen nur über das View-SDK an Daten, mit den Rechten der Person, die sie gerade ansieht.

Aktionen

Arbeitsschritte wie „ausleihen“, „freigeben“ oder „erledigen“, mit Bedingung, eigenem Recht und auf Wunsch einer Rückfrage. Jede Bedingung prüft der Server noch einmal.

Rechte und Rollen

Jedes Fachobjekt bringt ein Lese- und ein Schreibrecht mit, das Modul ergänzt eigene Rechte, und seine Rollen erscheinen im Rolleneditor. Niemand bekommt eine Rolle automatisch.

KI-Assistent

Werkzeuge zum Suchen, Lesen, Anlegen und Ändern von Datensätzen, Anweisungen als Skill und Beispiel-Anweisungen je Ansicht. Jedes schreibende Werkzeug fragt vorher im Chat nach.

Moduldienste

Optionale Programme außerhalb von nexxus, die rechnen, auf Änderungen reagieren oder Dokumente lesen. Sie arbeiten mit kurzlebigen Tokens und nur mit den Daten, denen der Administrator zugestimmt hat.

Versionen

Eine veröffentlichte Version ändert sich nie. Eine Aktualisierung kann Werte oder Felder in gespeicherten Datensätzen umbenennen, und nexxus zeigt vorher in einem Probelauf, was sich ändert.

nexxus lässt sich auf mehreren Wegen erweitern. Welcher passt, hängt davon ab, was entstehen soll und wer es baut.

Eingebautes ModulNXM-ModulApp
Was es istEin Teil von nexxus selbst, etwa Projekte, Zeiterfassung oder DateienEin Fachmodul als .nxm-PaketEin kleines Werkzeug, dessen Dokumente Dateien sind, als .nxa
Wer es bautDas nexxus-TeamEntwicklerinnen und EntwicklerFachteams zusammen mit dem KI-Assistenten, oder Entwickler
Wer es installiertNiemand: Es gehört zu jeder Instanz. Administratoren können ganze Fachbereiche abschaltenAdministratoren, je MandantJede Person für sich, Administratoren für den ganzen Mandanten
Wo die Daten liegenIn nexxusIm Datensatzspeicher von nexxus, als typisierte Datensätze mit IndizesIn einem Dokument unter Dateien
Wer was sehen darfRechte, die nexxus festlegtEigene Rechte und RollenDie Freigabe des Dokuments
KI-AssistentEingebaute WerkzeugeEigene Werkzeuge, Anweisungen und Beispiel-AnweisungenDie allgemeinen App-Werkzeuge
BeispielProjekte mit ihren ZeitenAkten und Fristen einer KanzleiEin Kanban-Board für das Onboarding neuer Mitarbeitender

Ein NXM-Modul passt, wenn viele Personen mit Datensätzen in Listen arbeiten sollen, mit Rechten, Arbeitsschritten und einem Platz im Menü, und wenn das Modul in Versionen wächst, die gespeicherte Daten mitnehmen. Eine App passt, wenn am Ende ein Dokument steht, das Menschen öffnen, bearbeiten und teilen. Soll etwas für alle Kunden Teil von nexxus werden, ist es ein eingebautes Modul, und das baut das nexxus-Team.

Installierte Pakete stehen auch auf dem Reiter Module neben den eingebauten Modulen, mit dem Chip Paket, ihrer Version und ihrem Changelog.

Die Modulliste mit installierten Paketen und dem Changelog des Tutorial-Pakets
Installierte Pakete stehen neben den eingebauten Modulen, mit Version und Changelog.

Jede Plattform, die Kunden eine gemeinsame Installation erweitern lässt, muss entscheiden, wo deren Code läuft. nexxus hält ihn aus dem eigenen Prozess heraus. Ein Paket arbeitet deshalb auf drei Ebenen:

Das Paket bringt

  • DeklarationenFachobjekte, Felder, Listen, Datensatzseiten, Menü, Aktionen, Rollen
  • Eigene AnsichtenEine HTML-Datei je Seite, Reiter oder Dialog
  • ModuldienstOptional, läuft außerhalb von nexxus

nexxus

Liest die Deklarationen, zeigt die Ansichten in einer Sandbox, ruft den Dienst mit signierten Tokens auf

  • Rechte
  • Datensätze
  • Zustimmung
  • Mandanten

Die Mitarbeitenden bekommen

  • Menü, Listen, DatensätzeVon nexxus gezeichnet wie jedes andere Modul
  • Seiten und DialogeMit den Rechten der Person, die hinsieht
  • Werkzeuge für den KI-AssistentenSchreibende Werkzeuge fragen vorher nach
Deklarationen sind Daten, Ansichten laufen in der Sandbox, Dienste außerhalb. Jede Anfrage durchläuft dieselbe Rechteprüfung auf dem Server.
  1. Deklarationen. Fachobjekte, Felder, Listen, Datensatzseiten, Menüeinträge, Aktionen, Rollen und Einstellungen stehen als Daten in module.json. nexxus liest sie und baut daraus Oberflächen, Prüfungen und die Schnittstelle. Viele Module brauchen kaum mehr.
  2. Eigene Ansichten. Wo Liste und Formular nicht reichen, bringt ein Paket eigene Oberflächen als HTML-Dateien mit. nexxus zeigt jede in einem abgeschotteten Rahmen ohne Netzwerkzugang. Die Ansicht holt ihre Daten über das View-SDK, und nexxus antwortet mit den Rechten der Person, die sie ansieht. Mehr unter Ansichten und das View-SDK.
  3. Moduldienste. Arbeit, die ein Programm braucht, etwa Gerichtsfristen berechnen oder PDFs lesen, erledigt ein Dienst außerhalb von nexxus. nexxus ruft ihn mit einem kurzlebigen, signierten Token auf, und der Dienst ruft mit einem Token zurück, das nur den Zugriff enthält, dem der Administrator zugestimmt hat. Mehr unter Moduldienste.

Für Ihren Mandanten heißt das: Ein Paket kann weder Daten lesen, die es nicht bekommen hat, noch ein Recht umgehen, denn die Prüfung läuft auf dem Server und nie im Paket.

Ein Paket muss nicht nachbauen, was nexxus schon kann:

  • Rechte. Jede Liste, jeder Datensatz, jede Aktion, Ansicht und jedes Werkzeug prüft die Rechte der Person auf dem Server. Administratoren bestehen jede Prüfung.
  • Zustimmung. Bevor ein Paket Daten außerhalb seiner eigenen anfassen darf (Partner, Benutzer, Dokumente) oder einen Dienst aufruft, hakt der Administrator jeden Punkt im Installationsdialog an. Will eine neue Version mehr, fragt die Aktualisierung erneut.
  • Mandanten. Jeder Mandant installiert seine eigenen Pakete. Die Datensätze eines Mandanten sind für alle anderen unsichtbar.
  • In sich geschlossen. Ein Paket baut nie auf einem anderen Paket auf; was zusammengehört, kommt als ein Paket. Auch das Abschalten eines Fachbereichs verbirgt ein Paket nicht, das tun nur Deaktivieren und Deinstallieren. Siehe Pakete sind in sich geschlossen.
  • KI-Assistent. Pakete bringen keinen eigenen Chat mit. Sie geben dem einen KI-Assistenten Werkzeuge, Anweisungen und Beispiel-Anweisungen, und er weiß, welches Modul, welchen Datensatz und welche Ansicht die Person gerade geöffnet hat.
  • Signaturen. Herausgeber signieren Pakete mit dem eigenen Schlüssel, ohne ihn irgendwo anzumelden. Jeder Mandant entscheidet, ob er einem Schlüssel vertraut; ein Paket mit einem Schlüssel, dem er noch nicht vertraut, lässt sich hochladen und ansehen, aber nicht installieren. Unsignierte Pakete weist nexxus zurück, außer der Mandant oder der Betreiber der Instanz lässt sie zu (Entwicklungs- und Demo-Umgebungen tun das von sich aus). Siehe Dem Herausgeber vertrauen.
  1. Bauen

    Manifest und Ansichten schreiben, den Ordner zur .nxm-Datei packen, signieren.

  2. Hochladen

    Ein Administrator lädt die Datei hoch. nexxus prüft sie und nennt jedes Problem.

  3. Prüfen und zustimmen

    Die Paketseite zeigt, was das Paket mitbringt. Der Installationsdialog fragt nach Zustimmung und Rollen.

  4. Installieren

    Rollen, Beispieldaten und Menüeinträge entstehen. Das Modul ist aktiv.

  5. Aktualisieren oder entfernen

    Eine neue Version aktualisiert an Ort und Stelle. Deaktivieren und Deinstallieren behalten oder löschen die Daten.

Entwickler bauen die Datei. Administratoren laden sie hoch, installieren und aktualisieren sie unter Administration > Betrieb > Module, Reiter Pakete.

Eine Installation hat einen von drei Zuständen, die der Katalog als Chip zeigt:

ZustandBedeutung
AktivDas Modul steht im Menü, Ansichten und Werkzeuge funktionieren.
DeaktiviertMenüeinträge, Seiten und Werkzeuge sind für alle verschwunden. Daten, Rollen und Einstellungen bleiben, und Aktivieren bringt alles zurück.
Entfernt, Daten behaltenDas Modul wurde deinstalliert, seine Datensätze sind geblieben. Eine spätere Installation bindet sie wieder an.

Deinstallieren mit Daten löschen entfernt die Installation ganz. Wie jeder Schritt abläuft, steht unter Paketieren, installieren und aktualisieren. Was dabei mit gespeicherten Datensätzen passiert, erklärt Daten und Aktualisierungen.

  • Paket: eine Version eines Moduls als .nxm-Datei, ein ZIP-Archiv mit Manifest, Changelog, Ansichten und Datendateien.
  • Manifest: die Datei module.json, die alles deklariert, woraus das Modul besteht. Siehe Aufbau eines Pakets.
  • Schlüssel: der Name des Moduls in der Form <herausgeber>.<name>, etwa curiaos.kanzlei. Rechte, Werkzeuge und Adressen leiten sich daraus ab.
  • Fachobjekt: ein Geschäftsobjekt des Moduls, etwa eine Akte. Die einzelnen Einträge sind Datensätze.
  • Ansicht: eine Liste, eine Datensatzseite oder eine eigene HTML-Ansicht. Eigene Ansichten sitzen in einem Slot: Seite, Reiter am Datensatz, Dialog am Datensatz.
  • Aktion: ein Arbeitsschritt an einem Datensatz, mit Bedingung und Recht.
  • Scope: Daten außerhalb des Pakets, die seine Aktionen und Dienste nutzen dürfen, etwa core:partner:read.
  • Installation: ein Paket in einem Mandanten, mit Version, Zustimmung und Einstellungen.
  • Moduldienst: ein Programm außerhalb von nexxus, das das Modul aufruft oder das Ereignisse des Moduls bekommt.