Status: Vorlage
Kopiere dieses Raster für neue Space-Module-Specs. Die Vorlage beschreibt nicht, wie ein Modul aussehen muss, sondern welche Fragen jede verbindliche Moduldefinition beantworten soll.
Kurz beschreiben:
- Welches Problem löst das Modul im Current Space?
- Welche wiederholte Nutzung soll es unterstützen?
- Welche anderen RLS-Flächen dürfen davon profitieren?
| Frage | Antwort |
|---|---|
| Space Module? | Ja / Nein |
| App-Shell-Fläche? | Ja / Nein |
| Module Components | Liste wiederverwendbarer Bausteine |
| Primäre Datenbasis | Items / Relations / Confirmations / Capabilities |
| Externe Semantik | RLNP / Real Life Game / WoT / keine |
Beschreiben, welche Projektionen das Modul liest:
| Projektion | Muss? | Quelle | Bedeutung im Modul |
|---|---|---|---|
| Items | ja/nein | DataInterface |
... |
| Relations | ja/nein | RelationCapable |
... |
| Confirmations | ja/nein | ConfirmationCapable |
... |
| Groups/Spaces | ja/nein | GroupManager / App Shell |
... |
Regeln:
- Top-level Item-Felder bleiben auf den RLS-Core beschränkt.
- Fachliche Felder liegen in
item.data. - Beziehungen liegen in
item.relations[]oder werden überRelationCapablegeladen. - Trust- oder Completion-Aussagen werden als Confirmations angezeigt, nicht aus Item-Feldern erfunden.
| Capability | Verhalten, wenn vorhanden | Verhalten, wenn fehlt |
|---|---|---|
DataInterface |
... | Modul kann nicht lesen |
ItemWriter |
... | Schreibaktionen ausblenden oder deaktivieren |
RelationCapable |
... | relationale Features ausblenden oder als leer anzeigen |
GroupManager |
... | Current Space muss von App Shell kommen |
Authenticatable |
... | Nutzerbezogene Aktionen ausblenden oder anonymisieren |
ProfileCapable |
... | Profilinformationen fallbacken auf IDs |
ConfirmationCapable |
... | Trust-/Badge-Anzeigen ausblenden |
ConfirmationWriterCapable |
... | Bestätigungsaktionen ausblenden |
Beschreiben, welche Aktionen das Modul anbietet:
| Aktion | Voraussetzung | Effekt |
|---|---|---|
| ... | Capability / Relation / Item | ... |
Regeln:
- Eine Aktion darf nur angeboten werden, wenn die benötigten Capabilities vorhanden sind.
- Mutationen laufen über Hooks oder Capability-Interfaces, nicht direkt gegen Backends.
- Optimistic UI darf die spätere Connector-Wahrheit nicht überschreiben.
| Komponente | Rolle | Wiederverwendbar? |
|---|---|---|
| ... | ... | ja/nein |
Beschreiben, wie das Modul mit anderen Modulen zusammenspielt, ohne sie hart zu koppeln.
Beispiele:
- Item mit
locationkann zur Map geöffnet werden. - Item mit
start/endkann im Calendar erscheinen. - Item mit
statuskann im Kanban erscheinen. - Quest- oder Campaign-Projektionen können an das Quests-Modul oder die Campaign View übergeben werden.
Explizit festhalten, was das Modul nicht definiert.
Beispiele:
- keine Backend-Schema-Migration,
- keine RLNP-Fachsemantik,
- keine Game-Regeln,
- keine WoT-Attestation-Formate,
- keine globale Berechtigungslogik.
Links auf bestehende Code- oder Demo-Stellen, wenn vorhanden.
Offene Fragen knapp und konkret sammeln.