mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
#612 docu restructuring
This commit is contained in:
parent
4529e465ce
commit
e67e1c41e7
@ -41,8 +41,6 @@ Das nachfolgende Bild zeigt einen ersten Eindruck über die unterschiedlichen Co
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
##### Eigenständige Community
|
||||
|
||||
Eine eigenständige Community zeichnet sich darin aus, dass sie keine Beziehung zu einer anderen Community aufgebaut hat. Das heißt sie hat weder eine vertrauenswürdige Verknüpfung mit einer zweiten Community, noch hat sie eine Verbindung zu einer Parent-Community und besitzt auch selbst keine Verbindung zu einer Child-Community. Somit kann diese Community für ihre Mitglieder nur Community intern wirksame Prozesse anbieten. Das heißt es ist kein Community übergreifender Handel bzw. Austausch von Gradido möglich. Andererseits werden in dieser Community die Prozesse freigeschaltet, dass ein Aufbau eines vertrauenswürdiges Verhältnis zu einer anderen Community erlaubt, der Aufbau einer Parent-Beziehung und auch der Aufbau einer Child-Beziehung ermöglicht. Die zugehörigen Abbau-Prozesse dagegen sind nicht freigeschalten. Der Community übegreifende Überprüfungsprozess bei der Mitglieder-Registrierung zur eindeutigen Identifikation in der Mitglieder-Verwaltung zählt dabei nicht als vertrauenswürdige Verbindung zwischen Communities.
|
||||
@ -51,35 +49,56 @@ Eine eigenständige Community zeichnet sich darin aus, dass sie keine Beziehung
|
||||
|
||||
*Hier soll beschrieben werden, was den Unterschied auszeichnet zu einer "Eigenständigen Community", wie man das gegenseitige Vertrauen (sprich Verknüpfung) zwischen zwei oder mehreren Communities auf- und wieder abbaut, was bedarf es an Vorraussetzungen für einen Vertrauens-Auf/Abbau und welche Konsequenzen der Auf- und Abbau des gegenseitigen Vertrauens haben soll.*
|
||||
|
||||
Das Modell der sich "gegenseitig vertrauenden Communities" entspringt der Idee des sich miteinander Vernetzens und damit das Handeln und Agieren mit Gradido-Mitgliedern, die nicht in der eigenen Community als Mitglied registriert sind. Um dies zu ermöglichen bedarf es einem Aufbau-Prozess zwischen zwei Communities, die sich zukünftig gegenseitig ein enges Vertrauen schenken. Auf der Basis dieses Vertrauens tauschen die beiden Communities Informationen untereinander aus, so dass für die Mitglieder beider Communities die Funktionalitäten auf der Gradido-Plattform so transparent erscheinen, als ob sie alle Mitglied einer Community wären. Das würde sich beispielsweise bei der Suche nach einem bestimmten Community-Mitglied auswirken, da nun alle Mitgleider beider Communities in einer Liste zu Anzeige gebracht werden können. Oder der Transfer von Gradidos von einem Mitglied zu einem anderen Mitglied ist über dieses Community-Verhältnis nun auch Community übergreifend möglich. Auch weitere Angebote, die bisher nur in einer Community zur Verfügung standen, sind nun auch den Mitgliedern der anderen Community zugänglich.
|
||||
Das Modell der sich *gegenseitig vertrauenden Communities* entspringt der Idee des sich miteinander Vernetzens und damit das Handeln und Agieren mit Gradido-Mitgliedern, die nicht in der eigenen Community als Mitglied registriert sind. Um dies zu ermöglichen bedarf es einem Aufbau-Prozess zwischen zwei Communities, die sich zukünftig gegenseitig ein enges Vertrauen schenken. Auf der Basis dieses Vertrauens tauschen die beiden Communities Informationen untereinander aus, so dass für die Mitglieder beider Communities die Funktionalitäten auf der Gradido-Plattform so transparent erscheinen, als ob sie alle Mitglied einer Community wären. Das würde sich beispielsweise bei der Suche nach einem bestimmten Community-Mitglied auswirken, da nun alle Mitgleider beider Communities in einer Liste zur Anzeige gebracht werden können. Oder der Transfer von Gradidos von einem Mitglied zu einem anderen Mitglied ist über dieses Community-Verhältnis nun auch Community übergreifend möglich. Auch weitere Angebote, die bisher nur in einer Community zur Verfügung standen, sind nun auch den Mitgliedern der anderen Community zugänglich.
|
||||
|
||||
Während des Aufbau-Prozesses werden neben den eigentlichen Security relevanten Informationen für den Aufbau und die Sicherstellung des Vertrauensverhältnisses auch fachliche Informationen ausgetauscht. Unter fachlichen Informationen sind die nun freigeschaltenen Angebote beider Communities gemeint. Somit werden in der einen Community nun auch die fachlichen Prozesse und Angebote der anderen Community zugänglich und freigeschalten und umgekehrt. Wie feingranular die Prozesse und Angebote dabei ausgetauscht und freigeschaltet werden unterliegt einer administrativen Konfiguration der jeweiligen Community. Das heißt der Administrator jeder Community kann im Vorfeld selektiv konfigurieren welche Angebote und Prozesse beim Aufbau-Prozess für ein Vertrauensverhältnis mit einer anderen Community übertragen und freigeschaltet werden. Diese Konfiguration sollte zuvor Community intern abgestimmt sein, um nicht schon zu Beginn der Zusammenarbeit der beiden Communities irgendwelche Missstimmungen unter den Mitgliedern zu verursachen. Die Details des "Vertrauensverhältnis Aufbau-Prozesses" sind weiter unten im Kaptiel Anwendungsfälle beschrieben.
|
||||
Während des Aufbau-Prozesses werden neben den eigentlichen Security relevanten Informationen für den Aufbau und die Sicherstellung des Vertrauensverhältnisses auch fachliche Informationen ausgetauscht. Unter fachlichen Informationen sind die nun freigeschaltenen Angebote beider Communities gemeint. Somit werden in der einen Community nun auch die fachlichen Prozesse und Angebote der anderen Community zugänglich und freigeschalten und umgekehrt. Wie feingranular die Prozesse und Angebote dabei ausgetauscht und freigeschaltet werden unterliegt einer administrativen Konfiguration der jeweiligen Community. Das heißt der Administrator jeder Community kann im Vorfeld selektiv konfigurieren welche Angebote und Prozesse beim Aufbau-Prozess für ein Vertrauensverhältnis mit einer anderen Community übertragen und freigeschaltet werden. Diese Konfiguration sollte zuvor Community intern abgestimmt sein, um nicht schon zu Beginn der Zusammenarbeit der beiden Communities irgendwelche Missstimmungen unter den Mitgliedern zu verursachen. Die Details des *Vertrauensverhältnis Aufbau-Prozesses* sind weiter unten im Kapitel **Anwendungsfälle** beschrieben.
|
||||
|
||||
##### Abhängige Communities
|
||||
|
||||
*Hier soll beschrieben werden, was den Unterschied zu eigenständigen und sich gegenseitig vertrauenden Communities zu den hier abhängigen (sprich vererbten) Communities auszeichnet, welche Vorraussetzungen bedarf der Auf/Abbau einer abhängigen Community und welche Konsequenzen hat der Auf- und Abbau von abhängigen Communities.*
|
||||
|
||||
Parent-Child Beziehung aufbauen:
|
||||
Das Modell der *abhängigen Communities* findet seinen Ursprung den Föderalismus von Deutschland in einer Community-Struktur abbilden zu können. Das bedeutet, dass eine baumartige Struktur von Communities aufgebaut werden kann, wie nachfolgendes Bild schemenhaft zeigt:
|
||||
|
||||
keine Änderung der Schöpfungsprozesse
|
||||

|
||||
|
||||
- jede Community schöpft für ihre Benutzer die 3 Empfängerkonto die jeweils 1000 GDD
|
||||
Es wird somit zwischen zwei Communities aus benachbarten Ebenen eine Parent-Child-Beziehung erzeugt. Dadurch gehen diese beiden Communities eine besondere Beziehung untereinander ein, die zu folgenden veränderten Eigenschaften und Verhalten der Parent- und der Child-Community führen:
|
||||
|
||||
eine Child-Community kann immer nur zu einer Parent-Community gehören
|
||||
###### Parent-Community
|
||||
|
||||
ein Benutzer kann immer nur zu einer Community gehören
|
||||
* kann 1 bis n Child-Communities besitzen
|
||||
* verwaltet keine Mitglieder mit AGE-Konto
|
||||
* verwaltet nur noch Community eigenes Allgemeinwohl-Konto und AUF-Konto
|
||||
* benötigt in der Parent-Child-Beziehung einen besonderen Verteilungsschlüssel für das geschöpfte Geld auf die beiden Allgemeinwohl- und AUF-Konten in Richtung Child- nach Parent-Community
|
||||
* bedarf spezieller Administrations-Rechte und Rollen zum Auf- und Abbau der Child-Community-Beziehungen
|
||||
* bedarf spezieller Administrationsprozesse zur Verwaltung der Parent-Aufgaben:
|
||||
* Auf- und Abbau der Parent-Child-Beziehung
|
||||
* Verschiebung aller Mitglieder von der Parent- in die Child-Community
|
||||
* Stoppen des Sicherstellungsprozesses, dass eine *natürliche Person* nur Mitglied einer einzigen Community ist, sobald die erste Child-Beziehung aufgebaut ist und alle Mitglieder dahin verschoben sind
|
||||
* Prozess zur Aufnahme der geschöpften Allgemeinwohl- und AUF-Gelder aus den Child-Communities
|
||||
* stoppt den Schöpfungsprozess sobald eine Child-Beziehung aufgebaut ist
|
||||
* startet den Schöpfungsprozess sobald die letzte Child-Beziehung aufgelöst ist
|
||||
* Aufnahmeprozess von Mitgliedern aus einer Child-Community, bevor dessen Beziehung aufgelöst wird
|
||||
* starten des Sicherstellungsprozesses, dass eine *natürliche Person* nur Mitglied einer einzigen Community ist, sobald die letzte Child-Beziehung aufgelöst ist
|
||||
|
||||
###### Child-Community
|
||||
|
||||
* besitzt genau eine Parent-Community
|
||||
* **sofern es eine Community der untersten Ebene ist:**
|
||||
* verwaltet die Mitglieder mit AGE-Konto
|
||||
* nimmt die *natürliche Personen*-Mitglieder aus der Parent-Community auf
|
||||
* bietet einen Wechsel-Prozess für ein Mitglied aus dieser Community in eine andere (Child)-Community
|
||||
* läuft hier der automatische 3-fach-Schöpfungsprozess inklusive der Verteilung des geschöpften Geldes gemäß dem zuvor definierten Verteilungsschlüssel innerhalb der Community
|
||||
* wird hier sicher gestellt, dass nur auf PersonalAccounts von *natürlichen Personen* und nicht auf ImpersonalAccounts von *Projekten/Vereine/Firmen* Geld geschöpft wird
|
||||
* **sofern es eine Parent-Community gibt:**
|
||||
* läuft hier der Verteilungsprozess aus der Schöpfung auf das Allgemeinwohl- und AUF-Konto gemäß des Verteilungsschlüssels in Richtung von Child nach Parent also von unten nach oben
|
||||
* hier läuft der Prozess zur Sicherstellung, dass eine *natürliche Person* nur Mitglied einer einzigen (Child)-Community ist
|
||||
*
|
||||
|
||||
Schöpfen kann immer nur eine natürliche Person
|
||||
|
||||
Projekt-Konto entspricht "nicht natürliche Person" und kann nicht schöpfen
|
||||
|
||||
Benutzerkonto kann von einer Community in eine andere Community wechseln
|
||||
|
||||
Gradido-ID als Ersatz für Email-Adresse : server/nutzername
|
||||
|
||||
Nutzername ist pro server eindeutig
|
||||
|
||||
Nutzerprofil mit Bild und persönlichen Angeboten
|
||||
|
||||
##### Mischung aus den vorherigen Modellen
|
||||
|
||||
@ -107,55 +126,52 @@ In diesem Kapitel werden die Attribute beschrieben, die in einer Community zu sp
|
||||
|
||||
#### Name
|
||||
|
||||
Das Attribut Name dient zur möglichst eindeutigen Benennung der Community. Er wird als Menschen lesbare Anzeige und als Unterscheidungskriterium bei mehreren Communities eingesetzt. Nur der Community Administrator kann diesen setzen und verändern.
|
||||
Das Attribut *Name* dient zur möglichst eindeutigen Benennung der Community. Er wird als Menschen lesbare Anzeige und als Unterscheidungskriterium bei mehreren Communities eingesetzt. Nur der Community Administrator kann diesen setzen und verändern.
|
||||
|
||||
#### Bild
|
||||
|
||||
Das Attribut Bild wird für die Anzeige einer Community verwendet und kann nur vom Community-Administrator gesetzt werden.
|
||||
Das Attribut *Bild* wird für die Anzeige einer Community verwendet und kann nur vom Community-Administrator gesetzt werden.
|
||||
|
||||
#### Beschreibung
|
||||
|
||||
Das Attribut Beschreibung ist ein Text, der die Philosophie der Community ausdrücken soll. Hier können sich die Community-Mitglieder eine gemeinsame Formulierung ausdenken, die nach ihrer Vorstellung den Kern und die Grundregeln ihrer Gemeinschaft am besten ausdrücken. Dies könnte wie eine Art Aussendarstellung für neue Mitglieder dienen. Aber nur der Community-Administrator hat die Schreib-Rechte für dieses Attribut.
|
||||
Das Attribut *Beschreibung* ist ein Text, der die Philosophie der Community ausdrücken soll. Hier können sich die Community-Mitglieder eine gemeinsame Formulierung ausdenken, die nach ihrer Vorstellung den Kern und die Grundregeln ihrer Gemeinschaft am besten ausdrücken. Dies könnte wie eine Art Aussendarstellung für neue Mitglieder dienen. Aber nur der Community-Administrator hat die Schreib-Rechte für dieses Attribut.
|
||||
|
||||
#### Serverzuordnung
|
||||
|
||||
Das Attribut Serverzuordnung ist technisch motiviert und dient zusammen mit dem Attribut Name der eindeutigen Identifikation einer Community. Bei der Gründung einer neuen Community muss festgelegt werden auf welchem Server diese Community gehostet wird - auf einem schon vorhandenen Server oder ein extra für diese Community neu aufgesetzter Server. Das Attribut Serverzuordnung muss aber für eine Virtualisierung und technische Skalierung auf mehrere Server-Instanzen vorbereitet sein, sodass keine direkte physische Hardware-Serverzuordnung hierdurch fixiert ist. Aber auch ein eventueller Umzug der Community von einem Server auf einen anderen Server muss möglich sein. Der Community-Administrator hat alleiniges Zugriffrecht auf dieses Attribut.
|
||||
Das Attribut *Serverzuordnung* ist technisch motiviert und dient zusammen mit dem Attribut Name der eindeutigen Identifikation einer Community. Bei der Gründung einer neuen Community muss festgelegt werden auf welchem Server diese Community gehostet wird - auf einem schon vorhandenen Server oder ein extra für diese Community neu aufgesetzter Server. Das Attribut Serverzuordnung muss aber für eine Virtualisierung und technische Skalierung auf mehrere Server-Instanzen vorbereitet sein, sodass keine direkte physische Hardware-Serverzuordnung hierdurch fixiert ist. Aber auch ein eventueller Umzug der Community von einem Server auf einen anderen Server muss möglich sein. Der Community-Administrator hat alleiniges Zugriffsrecht auf dieses Attribut.
|
||||
|
||||
#### Liste von Benutzer
|
||||
|
||||
Dieses Listenattribut beinhaltet Benutzer-Elemente, die erfolgreich als Mitglied der Community registriert sind. Die Details eines Benutzer-Elements werden in dem Dokument [BenutzerVerwaltung](./BenutzerVerwaltung.md) beschrieben.
|
||||
Dieses Listenattribut beinhaltet Benutzer-Elemente, die erfolgreich als Mitglied der Community registriert sind. Die Details eines Benutzer-Elements werden in dem Dokument [BenutzerVerwaltung](./BenutzerVerwaltung.md) beschrieben. Ein Benutzer-Element besitzt wiederum ein Konto, das für die Community als Ziel der Schöpfung für das AGE des Mitglieds dient. Gleichzeitig wird für ein Benutzer-Element aber auch unterschieden zwischen einem Menschkonto (PersonalAccount) und einem Sachkonto (ImpersonalAccount). Denn nur für ein Benutzerelement mit PersonalAccount, sprich für eine *natürliche Person*, darf Geld für das AGE geschöpft werden, wohingegen für ein Benutzerelement mit ImpersonalAccount, sprich für ein *Projekt/Verein/Sache*, kein Geld geschöpft werden darf.
|
||||
|
||||
#### Gemeinwohlkonto
|
||||
|
||||
Das Attribut Gemeinwohlkonto dient als ein Konto-Element, das den Kontotyp Gemeinwohlkonto repräsentiert. Alle Kontobewegungen, wie Geldschöpfung, Geldtransfers, etc., die das Gemeinwohl dieser Community betreffen, werden über dieses Attribut abgewickelt. Details zu Kontobewegungen werden im Dokument [KontenVerwaltung](KontenVerwaltung.md) beschrieben und die Regeln und Vorgänge der Geldschöpfung sind im Dokument [RegelnDerGeldschoepfung](RegelnDerGeldschoepfung.md) zu finden. Auf dieses Attribut haben nur Mitglieder mit entsprechenden Zugriffsrechten die Erlaubnis und Möglichkeiten darauf Einsicht zu nehmen und Prozesse auszulösen.
|
||||
Das Attribut *Gemeinwohlkonto* dient als ein Konto-Element, das den Kontotyp Gemeinwohlkonto repräsentiert. Alle Kontobewegungen, wie Geldschöpfung, Geldtransfers, etc., die das Gemeinwohl dieser Community betreffen, werden über dieses Attribut abgewickelt. Details zu Kontobewegungen werden im Dokument [KontenVerwaltung](KontenVerwaltung.md) beschrieben und die Regeln und Vorgänge der Geldschöpfung sind im Dokument [RegelnDerGeldschoepfung](RegelnDerGeldschoepfung.md) zu finden. Auf dieses Attribut haben nur Mitglieder mit entsprechenden Zugriffsrechten die Erlaubnis und Möglichkeiten darauf Einsicht zu nehmen und Prozesse auszulösen.
|
||||
|
||||
#### Ausgleichs- und Umweltkonto AUF-Konto
|
||||
|
||||
Das Attribut Ausgleichs- und Umweltkonto dient als ein Konto-Element, das den Kontotyp AUF-Konto repräsentiert. Alle Kontobewegungen, wie Geldschöpfung, Geldtransfers, etc., die das AUF-Konto dieser Community betreffen, werden über dieses Attribut abgewickelt. Details zu Kontobewegungen werden im Dokument [KontenVerwaltung](KontenVerwaltung.md) beschrieben und die Regeln und Vorgänge der Geldschöpfung sind im Dokument [RegelnDerGeldschoepfung](RegelnDerGeldschoepfung.md) zu finden. Auf dieses Attribut haben nur Mitglieder mit entsprechenden Zugriffsrechten die Erlaubnis und Möglichkeiten darauf Einsicht zu nehmen und Prozesse auszulösen.
|
||||
Das Attribut *Ausgleichs- und Umweltkonto* dient als ein Konto-Element, das den Kontotyp AUF-Konto repräsentiert. Alle Kontobewegungen, wie Geldschöpfung, Geldtransfers, etc., die das AUF-Konto dieser Community betreffen, werden über dieses Attribut abgewickelt. Details zu Kontobewegungen werden im Dokument [KontenVerwaltung](KontenVerwaltung.md) beschrieben und die Regeln und Vorgänge der Geldschöpfung sind im Dokument [RegelnDerGeldschoepfung](RegelnDerGeldschoepfung.md) zu finden. Auf dieses Attribut haben nur Mitglieder mit entsprechenden Zugriffsrechten die Erlaubnis und Möglichkeiten darauf Einsicht zu nehmen und Prozesse auszulösen.
|
||||
|
||||
#### Verteilungsschlüssel der Dreifachen-Schöpfung
|
||||
|
||||
Im Attribut Verteilungsschlüssel der Dreifach-Schöpfung werden die für die Community festgelegten Verteilschlüssel konfiguriert. Diese Werte dienen als Grundlage für die Geldschöpfung dieser Community. Nut der Administrator hat Zugriffrechte auf diese Attribut.
|
||||
Im Attribut *Verteilungsschlüssel* der Dreifach-Schöpfung werden die für die Community festgelegten Verteilschlüssel konfiguriert. Diese Werte dienen als Grundlage für die Geldschöpfung innerhalb dieser Community. Nur der Administrator hat Zugriffsrechte auf dieses Attribut.
|
||||
|
||||
Sobald die Community in einer Parent-Child-Beziehung steht, muss das Attribut *Verteilungsschlüssel* ebenfalls die Verteilung der Allgemeinwohl- und AUF-Gelder zwischen Child und Parent-Community definieren. Die erweiterte Konfiguration des Verteilungsschlüssel muss Teil des Aufbau-Prozesses einer Parent-Child-Beziehung sein bzw. währenddessen geprüft und konfiguriert werden.
|
||||
|
||||
#### Parent
|
||||
|
||||
Das Attribut Parent dient für den hierarchischen Aufbau von Communities. Es enthält den Bezug auf die Community, die für diese Community als Eltern-Community eingerichtet ist. Eine Child-Community kann maximal eine Parent-Community haben. Durch diesen Bezug zu der Parent-Community werden einzelne Prozesse zwischen der Parent- und der Child-Community freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern oder eine veränderte Verteiltung der Gemeinwohl- und AUF-Schöpfung, etc.. Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer Parent-Child-Beziehung zwischen zwei Communities steuern. Diese können nur durch den Adminitrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist weiter unten im Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
Das Attribut *Parent* dient für den hierarchischen Aufbau von Communities. Es enthält den Bezug auf die Community, die für diese Community als Eltern-Community eingerichtet ist. Eine Child-Community kann maximal eine Parent-Community haben. Durch diesen Bezug zu der Parent-Community werden einzelne Prozesse zwischen der Parent- und der Child-Community freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern oder eine veränderte Verteiltung der Gemeinwohl- und AUF-Schöpfung, etc.. Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer Parent-Child-Beziehung zwischen zwei Communities steuern. Diese können nur durch den Adminitrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist weiter unten im Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
|
||||
#### Liste Children
|
||||
|
||||
Das Attribut Liste Children dient ebenfalls dem hierarchischen Aufbau von Communities. Es enthält die Bezüge auf die Communities, die für diese Community als Child-Community eingerichtet sind. Eine Parent-Community kann mehrere Child-Communities haben. Durch diesen Bezug zu den Child-Communities werden einzelne Prozesse zwischen der Parent- und den Child-Communities freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern oder eine veränderte Verteiltung der Gemeinwohl- und AUF-Schöpfung, etc.. Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer Parent-Child-Beziehung zwischen zwei Communities steuern. Diese können nur durch den Adminitrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist weiter unten im Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
Das Attribut *Liste Children* dient ebenfalls dem hierarchischen Aufbau von Communities. Es enthält die Bezüge auf die Communities, die für diese Community als Child-Community eingerichtet sind. Eine Parent-Community kann mehrere Child-Communities haben. Durch diesen Bezug zu den Child-Communities werden einzelne Prozesse zwischen der Parent- und den Child-Communities freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern oder eine veränderte Verteiltung der Gemeinwohl- und AUF-Schöpfung, etc.. Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer Parent-Child-Beziehung zwischen zwei Communities steuern. Diese können nur durch den Administrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist weiter unten im Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
|
||||
#### Liste Trusted Communities
|
||||
|
||||
Das Attribut Liste Trusted Communities dient dem Aufbau von gleichberechtigten Community-Gruppierungen. Es enthält die Bezüge auf die Communities, die für diese Community als vertrauenswürdige Communities eingerichtet sind. Eine vertrauenswürdige Community-Gruppierung kann mehrere gleichberechtigte Communities haben. Durch diesen Bezug zu den vertrauenswürdigen Communities werden einzelne Prozesse zwischen den sich gegenseitig vertrauenden Communities freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern, etc.. Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer vertrauenswürdigen Beziehung zwischen zwei Communities steuern. Diese können nur durch den Adminitrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist weiter unten im Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
Das Attribut *Liste Trusted Communities* dient dem Aufbau von gleichberechtigten Community-Gruppierungen. Es enthält die Referenzen auf die Communities, die für diese Community als vertrauenswürdige Communities eingerichtet sind. Eine vertrauenswürdige Community-Gruppierung kann mehrere gleichberechtigte Communities haben. Durch diesen Bezug zu den vertrauenswürdigen Communities werden einzelne Prozesse zwischen den sich gegenseitig vertrauenden Communities freigeschalten. Damit ergeben sich erweiterte Möglichkeiten u.a. für die Community-Mitglieder beider Communities, wie beispielsweise das Community übergreifende Handeln zwischen den Community-Mitgliedern, etc.. Zwischen zwei *Trusted Communities* erfolgt keine Verteilung gemäß einem Verteilungsschlüssel von geschöpftem Geld das für das Allgemeinwohl- bzw. AUF-Konto bestimmt ist. Dies bleibt Eigentum jeder Community trotz vertrauenswürdiger Beziehung untereinander.
|
||||
|
||||
Verteilung (automatische Tx) von unten nach oben an Parent Community für zukünftig angedacht
|
||||
Die Administration dieses Attributes erfolgt implizit über die fachlichen Prozesse, die den Auf- und Abbau einer vertrauenswürdigen Beziehung zwischen zwei Communities steuern. Diese können nur durch den Adminitrator und seiner Berechtigung ausgelöst werden. Die Beschreibung dieser Prozesse ist im nachfolgenden Kapitel **Anwendungsfälle auf einer Community** zu finden.
|
||||
|
||||
keine Verteilung zwischen TrustedCommunities
|
||||
|
||||
Transaktionen auf Gemeinwohlkonto und AUF-Konto
|
||||
|
||||
Menschkonto (HumanAccount, PersonalAccount) vs Sachkonto (ItemAccount, ImpersonalAccount )
|
||||
|
||||
## Anwendungsfälle auf einer Community
|
||||
|
||||
@ -197,7 +213,7 @@ Die nachfolgenden Anwendungsfälle beschreiben die fachlichen Vorraussetzungen,
|
||||
|
||||
#### Fehlerfälle
|
||||
|
||||
### Community-Verknüpfen erstellen
|
||||
### Trusted Community verbinden
|
||||
|
||||
*Allgemeine fachliche Beschreibung des Anwendungsfalles.*
|
||||
|
||||
@ -209,7 +225,7 @@ Die nachfolgenden Anwendungsfälle beschreiben die fachlichen Vorraussetzungen,
|
||||
|
||||
#### Fehlerfälle
|
||||
|
||||
### Community-Verknüpfung löschen
|
||||
### Trusted Community lösen
|
||||
|
||||
*Allgemeine fachliche Beschreibung des Anwendungsfalles.*
|
||||
|
||||
@ -221,7 +237,7 @@ Die nachfolgenden Anwendungsfälle beschreiben die fachlichen Vorraussetzungen,
|
||||
|
||||
#### Fehlerfälle
|
||||
|
||||
### Community-Vererbung erstellen
|
||||
### Parent Community einrichten
|
||||
|
||||
*Allgemeine fachliche Beschreibung des Anwendungsfalles.*
|
||||
|
||||
@ -233,7 +249,7 @@ Die nachfolgenden Anwendungsfälle beschreiben die fachlichen Vorraussetzungen,
|
||||
|
||||
#### Fehlerfälle
|
||||
|
||||
### Community-Vererbung löschen
|
||||
### Parent Community löschen
|
||||
|
||||
*Allgemeine fachliche Beschreibung des Anwendungsfalles.*
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@ Im Kontext von GraDiDo gibt es unterschiedliche Arten von Transaktionen:
|
||||
* das Schöpfen von GraDiDo-Transform (GDT)
|
||||
* das Übertragen von GDT
|
||||
* das Umwandeln von GDT in GDD
|
||||
* Campagnen-Transaktion auf GDT (Prozent Aufschlag auf aktuellen GDT-Saldo)
|
||||
|
||||
Dieses Konzept beschreibt für jede Art der Transaktion ihre fachliche Bedeutung, die notwendigen Vorraussetzungen, der fachliche Ablauf und den Ende-Status nach erfolgreicher Transaktionsbearbeitung. Desweiteren werden für jede Transaktionsart alle fachlich möglichen Fehlerfälle aufgeführt und welchen Endstatus die abgebrochene Transaktion dann hinterläßt.
|
||||
|
||||
@ -63,7 +64,9 @@ In Variante 2 taucht nun die Frage auf, wie man mit offenen Transaktionen aus El
|
||||
|
||||
In Variante 3 ist aber zu sehen, dass ein nicht berücksichtigen der offenen Transaktion einen weiteren Effekt nach sich zieht. Denn eine offene Transaktion könnte ja auch nicht erfolgreich committet, sondern könnte aus welchem Grund auch immer gecancelt werden. Das würde bedeuten, dass die 21%-Transaktion erst abgeschlossen werden kann, sobald die offene Transaktion erfolgreich beendet ist.
|
||||
|
||||
### Beschluß vom 27.01.2021:
|
||||
|
||||
Die aktuell implementierte Lösung des eigenständigen GDT-Servers sowie die GDT-Kontoführung ohne Amount und stetiger Berechnung des GDT-Saldos aus der Liste der Transaktionen bleibt vorerst bestehen, um die geplante 21%-Campagne für den 21.09.2021 nicht zu gefährden. Die Anzeige des GDT-Kontos in die neue GUI der Gradido-Anwendung wird gegen die neu eingeführte Apollo-Server-Instanz gehen, die aber wiederum die GDT-Requests nur an den GDT-Server durchreicht. Eine Migration der GDT-Serverlogik in die Gradido-Anwendung des Apollo-Server wird auf später verschoben.
|
||||
|
||||
|
||||
### Vorraussetzungen
|
||||
@ -97,3 +100,16 @@ In Variante 3 ist aber zu sehen, dass ein nicht berücksichtigen der offenen Tra
|
||||
### Ende Status
|
||||
|
||||
### Fehlerfälle
|
||||
|
||||
|
||||
## Campagnen-Transaktion auf GDT
|
||||
|
||||
*Hier erfolgt die fachliche Beschreibung der Transaktion*
|
||||
|
||||
### Vorraussetzungen
|
||||
|
||||
### Ablauf
|
||||
|
||||
### Ende Status
|
||||
|
||||
### Fehlerfälle
|
||||
|
||||
@ -1,12 +1,42 @@
|
||||
# GraDiDo-Kontoverwaltung
|
||||
# Kontoverwaltung
|
||||
|
||||
In Gradido werden mehrere Arten von Konten notwendig sein:
|
||||
|
||||
* Mitglieder-Konten
|
||||
* AGE-Konto in GDD mit Vergänglichkeit
|
||||
* Konto in GDT ohne Vergänglichkeit
|
||||
* Community-Konten
|
||||
* Allgemeinwohl-Konto in GDD mit Vergänglichkeit
|
||||
* AUF-Konto in GDD mit Vergänglichkeit
|
||||
|
||||

|
||||
|
||||
Ziel der Kontoverwaltung soll sein, dass es ein Basistyp eines Kontos gibt, der alle gemeinsamen Eigenschaften der verschiedenen Kontenarten beinhaltet. Ob es für die Unterschiede der verschiedenen Kontenarten dann eigene abgeleitete Konto-Typen geben wird oder ob in dem Basistyp die Unterschiede über Steuerungsattribute, wie Vergängglichkeits-Flag oder Währungsattribut, geregelt wird, bleibt der technischen Implementierung überlassen.
|
||||
|
||||
Grundlegend wird aber die Gradido-Anwendung die Implementierung aller Kontenarten enthalten und keine Separierung in eigenständigen Anwendungsinstanzen vorsehen.
|
||||
|
||||
## Eigenschaften
|
||||
|
||||
Die Basiseigenschaften eines Kontos in Gradido enthalten folgende Attribute:
|
||||
|
||||
* Name
|
||||
* Währung
|
||||
* Amount
|
||||
* Vergänglichkeits-Flag
|
||||
* Liste der Transaktionen
|
||||
|
||||
Beim Anlegen eines Kontos wird der Name, die Währung, der Amount-Wert auf 0,00 und das Flag der Vergänglichkeit gemäß Verwendungszweck des Kontos initialisiert. Im Anwendungsfall *Transaktion verarbeiten* wird ja nach Konto-Initialisierung (sprich Währung und Vergänglichkeitsflag) und Transaktionstyp die entsprechende Transaktionsverarbeitungslogik auf dem Amount des Kontos ausgeführt. Am Ende der Transaktionsverarbeitung wird die Transaktion in die Liste der Transaktionen aufgenommen und dient lediglich zur Nachvollziehbarkeit der Konto-Bewegungen bei der Anzeige. Die Details der Transaktionsverarbeitung wird im Kapitel **Transaktion verarbeiten** näher beschrieben.
|
||||
|
||||
Menschkonto (HumanAccount, PersonalAccount) vs Sachkonto (ItemAccount, ImpersonalAccount )
|
||||
|
||||
## Anwendungsfälle
|
||||
|
||||
### GDD-Konto neuanlegen
|
||||
### Konto neuanlegen
|
||||
|
||||
### GDD-Konto bearbeiten
|
||||
### Konto bearbeiten
|
||||
|
||||
### GDD-Konto löschen
|
||||
### Konto löschen
|
||||
|
||||
### GDD-Konto ent/sperren
|
||||
### Konto ent/sperren
|
||||
|
||||
### Transaktion verarbeiten
|
||||
|
||||
@ -1 +1,3 @@
|
||||
# Regeln der Geldschöpfung
|
||||
|
||||
*Hier werden die fachlichen Regeln der 3-fachen Schöpfung beschrieben*
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -4,292 +4,292 @@
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="2" value="10 GDT Elopage-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="2" value="10 GDT Elopage-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="160" y="80" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="4" value="10 GDT Elopage-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="4" value="10 GDT Elopage-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="80" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5" value="10 GDT GDT-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="5" value="10 GDT GDT-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="520" y="200" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6" value="" style="endArrow=classic;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="3">
|
||||
<mxCell id="6" value="" style="endArrow=classic;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2" target="3" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="510" y="470" as="sourcePoint"/>
|
||||
<mxPoint x="560" y="420" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="7" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="6">
|
||||
<mxCell id="7" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="6" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.425" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="8" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1">
|
||||
<mxCell id="8" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="519" y="120" as="sourcePoint"/>
|
||||
<mxPoint x="519.0000000000002" y="200" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="9" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="8">
|
||||
<mxCell id="9" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="8" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.425" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="10" value="Normaler Transkationsablauf" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="10" value="Normaler Transkationsablauf" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="20" width="240" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="19" value="Transkationsablauf mit 21%-Aktion" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="19" value="Transkationsablauf mit 21%-Aktion" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="400" width="300" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="20" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="20" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="190" y="640" width="60" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="21" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="21" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="20" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="22" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="2">
|
||||
<mxCell id="22" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="2" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="160" y="280" as="sourcePoint"/>
|
||||
<mxPoint x="160" y="240" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="23" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="23" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="24" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" edge="1" parent="1">
|
||||
<mxCell id="24" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="280" as="sourcePoint"/>
|
||||
<mxPoint x="280" y="240" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="25" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="25" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="250" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="26" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="4">
|
||||
<mxCell id="26" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="4" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="280" as="sourcePoint"/>
|
||||
<mxPoint x="400" y="240" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="27" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="27" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="370" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="28" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" edge="1" parent="1">
|
||||
<mxCell id="28" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="520" y="280" as="sourcePoint"/>
|
||||
<mxPoint x="520" y="240" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="29" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="29" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="30" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" edge="1" parent="1">
|
||||
<mxCell id="30" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="640" y="280" as="sourcePoint"/>
|
||||
<mxPoint x="640" y="240" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="31" value="110 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="31" value="110 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="610" y="280" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="32" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="32" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="20" y="700" width="70" height="60" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="33" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="43">
|
||||
<mxCell id="33" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="43" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="160" y="710" as="sourcePoint"/>
|
||||
<mxPoint x="160" y="600" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="34" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="34" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="720" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="35" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="36" target="20">
|
||||
<mxCell id="35" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="36" target="20" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="640" as="sourcePoint"/>
|
||||
<mxPoint x="280" y="600" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="36" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="36" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="220" y="720" width="60" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0.414;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="38" target="45">
|
||||
<mxCell id="37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0.414;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="38" target="45" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="400" y="640" as="sourcePoint"/>
|
||||
<mxPoint x="400" y="600" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="38" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="38" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="370" y="720" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="39" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.414;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="40">
|
||||
<mxCell id="39" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.414;exitY=-0.075;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="40" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="520" y="640" as="sourcePoint"/>
|
||||
<mxPoint x="520" y="600" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="40" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="40" value="121 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="720" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="41" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.414;exitY=0.05;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="42">
|
||||
<mxCell id="41" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.414;exitY=0.05;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="42" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="640" y="640" as="sourcePoint"/>
|
||||
<mxPoint x="640" y="600" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="42" value="131 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="42" value="131 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="610" y="720" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="43" value="10 GDT Elopage-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="43" value="10 GDT Elopage-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="160" y="440" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="44" value="10 GDT GDT-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="44" value="10 GDT GDT-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="560" width="240" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="45" value="10 GDT Elopage-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="45" value="10 GDT Elopage-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="440" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="46" value="10 GDT GDT-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="46" value="10 GDT GDT-Tx<br>success" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="520" y="560" width="120" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="47" value="" style="endArrow=classic;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="43" target="44">
|
||||
<mxCell id="47" value="" style="endArrow=classic;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" source="43" target="44" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="510" y="830" as="sourcePoint"/>
|
||||
<mxPoint x="560" y="780" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="48" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="47">
|
||||
<mxCell id="48" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="47" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.425" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="49" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1">
|
||||
<mxCell id="49" value="" style="endArrow=classic;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="519" y="480" as="sourcePoint"/>
|
||||
<mxPoint x="519.0000000000002" y="560" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="50" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="49">
|
||||
<mxCell id="50" value="Tx-Transfer nach GDT" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="49" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.425" y="1" relative="1" as="geometry">
|
||||
<mxPoint as="offset"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="3" value="10 GDT GDT-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="3" value="10 GDT GDT-Tx<br>pending" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="200" width="240" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="51" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxCell id="51" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="320" y="765" width="60" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="52" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="52" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="20" y="840" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="53" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="53" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="840" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="54" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="55" target="51">
|
||||
<mxCell id="54" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="55" target="51" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="280" y="760" as="sourcePoint"/>
|
||||
<mxPoint x="280" y="720" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="55" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="55" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="344" y="840" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="56" value="110 GDT" style="text;html=1;strokeColor=#b85450;fillColor=#f8cecc;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1;" vertex="1" parent="1">
|
||||
<mxCell id="56" value="110 GDT" style="text;html=1;strokeColor=#b85450;fillColor=#f8cecc;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="250" y="837" width="60" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="57" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="57" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="840" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="58" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="58" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="610" y="840" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="59" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="56" target="44">
|
||||
<mxCell id="59" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="56" target="44" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="760" as="sourcePoint"/>
|
||||
<mxPoint x="480" y="710" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="60" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="57" target="40">
|
||||
<mxCell id="60" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="57" target="40" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="750" as="sourcePoint"/>
|
||||
<mxPoint x="480" y="700" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="61" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="58" target="42">
|
||||
<mxCell id="61" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="58" target="42" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="750" as="sourcePoint"/>
|
||||
<mxPoint x="480" y="700" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="62" value="" style="endArrow=none;html=1;fontSize=12;strokeWidth=3;" edge="1" parent="1">
|
||||
<mxCell id="62" value="" style="endArrow=none;html=1;fontSize=12;strokeWidth=3;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="760" as="sourcePoint"/>
|
||||
<mxPoint x="800" y="760" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="64" value="Variante 2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="64" value="Variante 2" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="10" y="770" width="70" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="65" value="Variante 1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" vertex="1" parent="1">
|
||||
<mxCell id="65" value="Variante 1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="10" y="640" width="70" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="67" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="20" y="960" width="70" height="40" as="geometry"/>
|
||||
<mxCell id="67" value="Kontostand GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="20" y="1000" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="68" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="130" y="960" width="70" height="40" as="geometry"/>
|
||||
<mxCell id="68" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="130" y="1000" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="69" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="70">
|
||||
<mxCell id="69" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="70" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="301" y="880" as="sourcePoint"/>
|
||||
<mxPoint x="401" y="880" as="targetPoint"/>
|
||||
<mxPoint x="301" y="920" as="sourcePoint"/>
|
||||
<mxPoint x="401" y="920" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="70" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="365" y="960" width="70" height="40" as="geometry"/>
|
||||
<mxCell id="70" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="365" y="1000" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="71" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="250" y="960" width="60" height="40" as="geometry"/>
|
||||
<mxCell id="71" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="250" y="1000" width="60" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="72" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="490" y="960" width="70" height="40" as="geometry"/>
|
||||
<mxCell id="72" value="100 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="490" y="1000" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="73" value="110 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="610" y="960" width="70" height="40" as="geometry"/>
|
||||
<mxCell id="73" value="110 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="610" y="1000" width="70" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="74" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="72">
|
||||
<mxCell id="74" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="72" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="870" as="sourcePoint"/>
|
||||
<mxPoint x="525" y="880" as="targetPoint"/>
|
||||
<mxPoint x="430" y="910" as="sourcePoint"/>
|
||||
<mxPoint x="525" y="920" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="75" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="73">
|
||||
<mxCell id="75" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=12;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="73" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="430" y="870" as="sourcePoint"/>
|
||||
<mxPoint x="645" y="880" as="targetPoint"/>
|
||||
<mxPoint x="430" y="910" as="sourcePoint"/>
|
||||
<mxPoint x="645" y="920" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="76" value="" style="endArrow=none;html=1;fontSize=12;strokeWidth=3;" edge="1" parent="1">
|
||||
<mxCell id="76" value="" style="endArrow=none;html=1;fontSize=12;strokeWidth=3;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="10" y="880" as="sourcePoint"/>
|
||||
<mxPoint x="800" y="880" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="77" value="Variante 3" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="10" y="890" width="70" height="30" as="geometry"/>
|
||||
<mxCell id="77" value="Variante 3" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="10" y="930" width="70" height="30" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="66" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="884" width="400" height="40" as="geometry"/>
|
||||
<mxCell id="66" value="21%-Tx" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
|
||||
<mxGeometry x="320" y="924" width="400" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="78" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="79" target="66">
|
||||
<mxCell id="78" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;fontSize=16;entryX=1;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="79" target="66" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="626" y="880" as="sourcePoint"/>
|
||||
<mxPoint x="726" y="920" as="targetPoint"/>
|
||||
<mxPoint x="626" y="920" as="sourcePoint"/>
|
||||
<mxPoint x="726" y="960" as="targetPoint"/>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="79" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" vertex="1" parent="1">
|
||||
<mxGeometry x="680" y="960" width="80" height="40" as="geometry"/>
|
||||
<mxCell id="79" value="133,1 GDT" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontStyle=1" parent="1" vertex="1">
|
||||
<mxGeometry x="680" y="1000" width="80" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1,34 @@
|
||||
<mxfile>
|
||||
<diagram id="BGiljZVv0MSwwXBWfka-" name="Page-1">
|
||||
<mxGraphModel dx="955" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
<mxCell id="2" value="<font style="font-size: 16px"><b>Community</b></font>" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="40" width="400" height="480" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="4" value="Mitglied" style="rounded=1;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="104" y="90" width="310" height="220" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="3" value="Mitglied" style="rounded=1;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="84" y="110" width="310" height="220" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="5" value="Mitglied<br><div style="text-align: left"><ul><li><span style="text-align: left">Name</span></li><li><span>Vorname</span></li><li><span>...</span></li></ul></div>" style="rounded=1;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="64" y="130" width="310" height="220" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="6" value="AGE-Konto" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="240" width="270" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="7" value="GDT-Konto" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="290" width="270" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="8" value="Allgemeinwohl-Konto" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="380" width="270" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
<mxCell id="9" value="AUF-Konto" style="rounded=0;whiteSpace=wrap;html=1;align=center;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="440" width="270" height="40" as="geometry"/>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 847 KiB |
BIN
docu/Concepts/BusinessRequirements/image/Kontoarten.png
Normal file
BIN
docu/Concepts/BusinessRequirements/image/Kontoarten.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@ -2,9 +2,9 @@
|
||||
|
||||
## General Description
|
||||
|
||||
The GraDiDo-System offers the business processes "CreateGraDiDo" and "TransferGraDiDo". Both processes need data, which has to be transferred between the involved different systems, especially between the internal GraDiDo servers and the external "BlockChain"-Service - currently (07.2021) IOTA is in use.
|
||||
The GraDiDo-System offers the business processes "CreateGradido" and "TransferGradio". Both processes need data, which has to be transferred between the involved different systems, especially between the internal Gradido servers and the external "BlockChain"-Service - currently (07.2021) IOTA is in use.
|
||||
|
||||
The main topic for the GraDiDo-Transactions is to ensure a misusage of money creation and keep all changes on an account consistent.
|
||||
The main topic for the Gradido-Transactions is to ensure a misusage of money creation and keep all changes on an account consistent.
|
||||
|
||||
The basic requirements on this transfer data should be encapsulated in a base type and the business details for the different processes should be extended in separated types, which inherited the basics from the base type.
|
||||
|
||||
@ -12,20 +12,20 @@ The basic requirements on this transfer data should be encapsulated in a base ty
|
||||
|
||||
In this chapter the two business processes are described to understand the different requirements, which leads to the transaction model following below.
|
||||
|
||||
### CreateGraDiDo
|
||||
### CreateGradido
|
||||
|
||||
The creation of GraDiDo-money has to fulfill the following business rules:
|
||||
The creation of Gradido-money has to fulfill the following business rules:
|
||||
|
||||
* it can only be create for an account of a human being
|
||||
* the account of the human being belongs to one group ***- what about group-hierarchy and the dependencies for group and fund recipients?***
|
||||
* it can only be create for a *personal account* of a human being
|
||||
* the account of the human being belongs to one Community
|
||||
* per month
|
||||
* maximal 1.000 GDD for the private account
|
||||
* maximal 1.000 GDD for the group account the human being belongs to
|
||||
* maximal 1.000 GDD for the compensation and environmental fund of the group
|
||||
* use the configured group specific triple-amount for the three recipients ***- what about group-hierarchy and the dependencies for group and fund recipients?***
|
||||
* maximal 1.000 GDD for the personal account
|
||||
* maximal 1.000 GDD for the general welfare account of the community per community member
|
||||
* maximal 1.000 GDD for the compensation and environmental fund of the community per community member
|
||||
* use the configured community specific triple-amount for the three recipients
|
||||
* the target month of creation must not be older than 3 month
|
||||
|
||||
### TransferGraDiDo
|
||||
### TransferGradido
|
||||
|
||||
## Type of Transactions
|
||||
|
||||
|
||||
@ -19,25 +19,25 @@ vorgesehen, die als Unterverzeichnisse mit folgenden Nameskonventionen angelegt
|
||||
Die **Testfälle** selbst werden in einzelnen Dateien beschrieben. Die Namen der Testfall-Dateien folgen dem Namenspattern:
|
||||
|
||||
* Prefix-Pattern: "Prefix des Verzeichnisses"-"C", dreistellige laufende Nr, "-", zweistellig laufende Nr, "-", Testfallbezeichnung
|
||||
* Beispiel: T02-C001-01-Benutzerregistrierung
|
||||
* Beispiel: T02-C002-01-Benutzerregistrierung
|
||||
* die dreistellige Nummer wird mit der Testfallbezeichnung in Bezug gesetzt
|
||||
* die zweistellige Nummer dient als optionale Untergliederung für einen Testfall
|
||||
* Beispiel:
|
||||
* T02-C001-01-Benutzerregistrierung: Schritt 1 - Registrierungslink
|
||||
* T02-C001-02-Benutzerregistrierung: Schritt 2 - Datenerfassung
|
||||
* T02-C001-03-Benutzerregistrierung: Schritt 3 - ...
|
||||
* T02-C002-01-Benutzerregistrierung: Schritt 1 - Registrierungslink
|
||||
* T02-C002-02-Benutzerregistrierung: Schritt 2 - Datenerfassung
|
||||
* T02-C002-03-Benutzerregistrierung: Schritt 3 - ...
|
||||
|
||||
Um Dialog-Masken als **Bilder** in die Testfallbeschreibungen einzubinden, gibt es das Verzeichnis Testfallkatalog/image. Dieses enthält alle Bilder aller Testfälle nach folgenden Konventionen:
|
||||
|
||||
* Die Bild-Dateien werden so benannt, wie die Testfalldatei, die sie einbindet.
|
||||
* Sollten mehrere Bilder pro Testfall-Beschreisbung notwendig sein, dann wird am Ende des Dateinamens, aber vor der Extension eine laufende Nummer vergeben.
|
||||
* Sollten mehrere Bilder pro Testfall-Beschreibung notwendig sein, dann wird am Ende des Dateinamens, aber vor der Extension eine laufende Nummer vergeben.
|
||||
* In der Testfall-Beschreibung können diese Bilder mit folgender Notation eingebunden werden:
|
||||
* ``
|
||||
* Wie man direkt DrawIO-Bilder einhängen kann, ist noch nicht klar (notfalls muss eben ein PNG-Bild davon gemacht werden)
|
||||
* *Wie man direkt DrawIO-Bilder einhängen kann, ist noch nicht klar (notfalls muss eben ein PNG-Bild davon exportiert werden)*
|
||||
|
||||
## Testfall-Vorlage
|
||||
|
||||
Im Verzeichnis Testfallkatalog liegt eine Testfall-Vorlage, die als Kopie für das Anlegen eines neuen Testfalles herangezogen werden kann. Die Kopie der Testfallvorlage im Test-Thema-Verzeichnis ist dann gemäß den oben beschriebenen Namenskonventionen für die Testfall-Datei umzubenennen.
|
||||
Im Verzeichnis Testfallkatalog liegt eine Datei *Testfall-Vorlage.md*, die als Kopie für das Anlegen eines neuen Testfalles herangezogen werden kann. Die Kopie der Testfallvorlage im Test-Thema-Verzeichnis ist dann gemäß den oben beschriebenen Namenskonventionen für die Testfall-Datei umzubenennen.
|
||||
|
||||
In der Testfall-Vorlage sind die Gliederungen und Themen benannt, was eine Testfallbeschreibung beinhalten sollte.
|
||||
|
||||
|
||||
@ -1,27 +1,23 @@
|
||||
# Testfall: "*Dateiname*"
|
||||
# Testfall: "*T01-C001-01-CreateCommunity*"
|
||||
|
||||
## Thema: "*Name des Verzeichnisses*"
|
||||
## Thema: "*T01-CommunityVerwaltung*"
|
||||
|
||||
## ## Beschreibung:
|
||||
## Beschreibung:
|
||||
|
||||
*Welche(n) Anwendungsschritt/Oberfläche/Logik ist durch den Testfall betroffen?*
|
||||
|
||||
|
||||
## Vorraussetzungen:
|
||||
|
||||
*Welche Vorraussetzungen (Daten/Anwendungschritte, etc.) müssen erfüllt sein, um den Testfall durchführen zu können?*
|
||||
|
||||
|
||||
## Testfall-Schritte:
|
||||
|
||||
*Welche Schritte müssen zur Durchführung des Testfalles getätigt werden? (Dateneingaben/ Navigationen/ Link- o Button-Klicks/ Schritte der Anwendungslogik/ etc.)*
|
||||
|
||||
|
||||
## Ende-Bedingungen:
|
||||
|
||||
*Welche Bedingungen werden am Ende des Testfalles bei positivem Ergebnis erwartet? (Daten/ GUI/ Zustände/ etc)*
|
||||
|
||||
|
||||
## erwartete Fehlerfälle:
|
||||
|
||||
*Welche Fehlerfälle können auftreten und wie ist das erwartete Verhalten/ Rückgabewerte/ Fehlercode?*
|
||||
*Welche Fehlerfälle können auftreten und wie ist das erwartete Verhalten/ Rückgabewerte/ Fehlercode*
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Testfall: "C001-01-LoginMaske"
|
||||
# Testfall: "T02-C001-01-LoginMaske"
|
||||
|
||||
## Thema: "Benutzerverwaltung"
|
||||
## Thema: "T02-Benutzerverwaltung"
|
||||
|
||||
## Beschreibung:
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Testfall: "C001-02-LoginMaske"
|
||||
# Testfall: "T02-C001-02-LoginMaske"
|
||||
|
||||
## Thema: "Benutzerverwaltung"
|
||||
## Thema: "T02-Benutzerverwaltung"
|
||||
|
||||
## Beschreibung:
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Testfall: "C001-03-LoginMaske"
|
||||
# Testfall: "T02-C001-03-LoginMaske"
|
||||
|
||||
## Thema: "Benutzerverwaltung"
|
||||
## Thema: "T02-Benutzerverwaltung"
|
||||
|
||||
## Beschreibung:
|
||||
|
||||
@ -12,8 +12,8 @@ Es wird in der Login-Maske die Funktion des Links "Passwort vergessen?"geprüft:
|
||||
|
||||
**Nicht enthalten in diesem Testfall:**
|
||||
|
||||
* die Anzeige, Layout und Validierung der Login-Maske; siehe dazu Testfall: [C001-01-LoginMaske](./C001-01-LoginMakse.md)
|
||||
* die Funktion hinter dem Link "Passwort vergessen"; siehe dazu Testfall: [C001-02-LoginMaske](C001-02-LoginMaske.md)
|
||||
* die Anzeige, Layout und Validierung der Login-Maske; siehe dazu Testfall: [T02-C001-01-LoginMaske](./T02-C001-01-LoginMakse.md)
|
||||
* die Funktion hinter dem Link "Passwort vergessen"; siehe dazu Testfall: [T02-C001-02-LoginMaske](T02-C001-02-LoginMaske.md)
|
||||
|
||||
## Vorraussetzungen:
|
||||
|
||||
@ -30,7 +30,7 @@ aufgerufen und die Login-Maske wird angezeigt.
|
||||
|
||||
*Welche Schritte müssen zur Durchführung des Testfalles getätigt werden? (Dateneingaben/ Navigationen/ Link- o Button-Klicks/ Schritte der Anwendungslogik/ etc.)*
|
||||
|
||||
* Prüfung auf korrekten Funktionsweise des Links "Passwort vergessen?"
|
||||
* Prüfung auf korrekte Funktionsweise des Links "Passwort vergessen?"
|
||||
* keine sonstigen Eingaben bzw. Vorraussetzungen notwendig
|
||||
* Mit Betätigen des Links "Passwort vergessen?" wird der Passwort-Zurücksetzen-Prozess gestartet und unter
|
||||
* der Testumgebung: https://stage1.gradido.net/vue/password
|
||||
@ -97,63 +97,59 @@ aufgerufen und die Login-Maske wird angezeigt.
|
||||
|
||||

|
||||
|
||||
7. **Prüfung der Anzeige-Elemente, Layout und Eingabevalidierungen der Eingabefelder**
|
||||
8. Text, Rechtschreibung und Layout von:
|
||||
7. **Prüfung der Anzeige-Elemente, Layout und Eingabevalidierungen der Eingabefelder ,Text, Rechtschreibung und Layout von:
|
||||
|
||||
* Maskenüberschrift "Passwort zurücksetzen"
|
||||
* Maskentext "Jetzt kannst du ein neues Passwort speichern, mit dem du dich zukünftig in der Gradido-App anmelden kannst."
|
||||
* Label "neues Passwort"
|
||||
* Label "neues Passwort wiederholen"
|
||||
* Default-Text "neues Passwort" bei ungefüllten Eingabefeldern
|
||||
* Button-Text "Passwort zurücksetzen"
|
||||
* Linktext "zurück"
|
||||
* Sprachauswahltexte
|
||||
* Footer Copyright
|
||||
* Footer Links:
|
||||
* "Gradido-Akademie"
|
||||
* "App-Version"
|
||||
* "Impressum"
|
||||
* "Datenschutzerklärung"
|
||||
* "Mitgliederbereich"
|
||||
* "Whitepaper"
|
||||
* "Support"
|
||||
9. **Prüfung der Eingabedynamik in der 2ten Passwort-Zurücksetzen-Maske:**
|
||||
* Maskenüberschrift "Passwort zurücksetzen"
|
||||
* Maskentext "Jetzt kannst du ein neues Passwort speichern, mit dem du dich zukünftig in der Gradido-App anmelden kannst."
|
||||
* Label "neues Passwort"
|
||||
* Default-Text "neues Passwort" bei ungefülltem Eingabefeld
|
||||
* Label "neues Passwort wiederholen"
|
||||
* Default-Text "neues Passwort wiederholen" bei ungefülltem Eingabefeld
|
||||
* Button-Text "Passwort zurücksetzen"
|
||||
* Linktext "zurück"
|
||||
* Sprachauswahltexte
|
||||
* Footer Copyright
|
||||
* Footer Links:
|
||||
|
||||
1. Eingabefeld "Neues Passwort":
|
||||
* "Gradido-Akademie"
|
||||
* "App-Version"
|
||||
* "Impressum"
|
||||
* "Datenschutzerklärung"
|
||||
* "Mitgliederbereich"
|
||||
* "Whitepaper"
|
||||
* "Support"
|
||||
|
||||
1. mindestens ein Zeichen
|
||||
2. maximale Länge eines Passwortes?
|
||||
3. Sichtbarschaltung und Verdeckung des eingegebenen Passwortes
|
||||
2. Eingabefeld "Neues Passwort wiederholen":
|
||||
8. **Prüfung der Eingabedynamik in der 2ten Passwort-Zurücksetzen-Maske:**
|
||||
9. Eingabefeld "Neues Passwort":
|
||||
|
||||
1. mindestens ein Zeichen
|
||||
2. maximale Länge eines Passwortes?
|
||||
3. Sichtbarschaltung und Verdeckung des eingegebenen Passwortes
|
||||
3. Sprachauswahl:
|
||||
1. mindestens ein Zeichen
|
||||
2. maximale Länge eines Passwortes?
|
||||
3. Sichtbarschaltung und Verdeckung des eingegebenen Passwortes
|
||||
10. Eingabefeld "Neues Passwort wiederholen":
|
||||
|
||||
1. entsprechen alle angezeigten Texte der aktuell eingestellten Sprache?
|
||||
2. Umstellung der Sprache über die Sprachauswahl-Box
|
||||
3. Wiederholung von Schritt 8.3.1 und 8.3.2 bis alle verfügbaren Sprachen geprüft sind
|
||||
4. Link "Zurück" ist aktiv und landet auf URL
|
||||
1. mindestens ein Zeichen
|
||||
2. maximale Länge eines Passwortes?
|
||||
3. Sichtbarschaltung und Verdeckung des eingegebenen Passwortes
|
||||
11. Sprachauswahl:
|
||||
|
||||
1. Testumgebung: https://stage1.gradido.net/vue/Login
|
||||
2. Produktionsumgebung: https://gradido.net/vue/Login
|
||||
5. Footer-Links:
|
||||
1. entsprechen alle angezeigten Texte der aktuell eingestellten Sprache?
|
||||
2. Umstellung der Sprache über die Sprachauswahl-Box
|
||||
3. Wiederholung von Schritt 8.3.1 und 8.3.2 bis alle verfügbaren Sprachen geprüft sind
|
||||
12. Link "Zurück" ist aktiv und landet auf URL
|
||||
|
||||
1. "Gradido-Akademie" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de"
|
||||
2. "App-Version" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://github.com/gradido/gradido/releases/latest"
|
||||
3. "Impressum" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/impressum/"
|
||||
4. "Datenschutzerklärung" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/datenschutz/"
|
||||
5. "Mitgliederbereich" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://elopage.com/s/gradido/sign_in?locale=de"
|
||||
6. "Whitepaper" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://docs.google.com/document/d/1jZp-DiiMPI9ZPNXmjsvOQ1BtnfDFfx8BX7CDmA8KKjY/edit?usp=sharing"
|
||||
7. "Support"reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/contact/"
|
||||
1. Testumgebung: https://stage1.gradido.net/vue/Login
|
||||
2. Produktionsumgebung: https://gradido.net/vue/Login
|
||||
13. Footer-Links:
|
||||
|
||||
Bei erfolgreichem Passwort-Reset wird eine Email an der die URL angezeigt
|
||||
1. "Gradido-Akademie" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de"
|
||||
2. "App-Version" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://github.com/gradido/gradido/releases/latest"
|
||||
3. "Impressum" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/impressum/"
|
||||
4. "Datenschutzerklärung" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/datenschutz/"
|
||||
5. "Mitgliederbereich" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://elopage.com/s/gradido/sign_in?locale=de"
|
||||
6. "Whitepaper" reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://docs.google.com/document/d/1jZp-DiiMPI9ZPNXmjsvOQ1BtnfDFfx8BX7CDmA8KKjY/edit?usp=sharing"
|
||||
7. "Support"reagiert und landet je nach aktuell eingestellter Sprache auf URL "https://gradido.net/de/contact/"
|
||||
|
||||
* Testumgebung: "https://stage1.gradido.net/vue/overview"
|
||||
* Produktionsumgebung: "https://gradido.net/vue/overview"
|
||||
|
||||
Bei fehlerhaftem Login wird eine entsprechend aussagekräftige Fehlermeldung angezeigt und die Anzeige verbleibt auf der Login-Maske.
|
||||
Bei erfolgreichem Passwort-Reset wird folgende Maske angezeigt:
|
||||
|
||||
## Ende-Bedingungen:
|
||||
|
||||
|
||||
@ -1,27 +1,23 @@
|
||||
# Testfall: "*Dateiname*"
|
||||
# Testfall: "*T03-C001-01-CreateActiveBasicIncome*"
|
||||
|
||||
## Thema: "*Name des Verzeichnisses*"
|
||||
## Thema: "*T03-Schoepfung-Vergaenglichkeit*"
|
||||
|
||||
## ## Beschreibung:
|
||||
## Beschreibung:
|
||||
|
||||
*Welche(n) Anwendungsschritt/Oberfläche/Logik ist durch den Testfall betroffen?*
|
||||
|
||||
|
||||
## Vorraussetzungen:
|
||||
|
||||
*Welche Vorraussetzungen (Daten/Anwendungschritte, etc.) müssen erfüllt sein, um den Testfall durchführen zu können?*
|
||||
|
||||
|
||||
## Testfall-Schritte:
|
||||
|
||||
*Welche Schritte müssen zur Durchführung des Testfalles getätigt werden? (Dateneingaben/ Navigationen/ Link- o Button-Klicks/ Schritte der Anwendungslogik/ etc.)*
|
||||
|
||||
|
||||
## Ende-Bedingungen:
|
||||
|
||||
*Welche Bedingungen werden am Ende des Testfalles bei positivem Ergebnis erwartet? (Daten/ GUI/ Zustände/ etc)*
|
||||
|
||||
|
||||
## erwartete Fehlerfälle:
|
||||
|
||||
*Welche Fehlerfälle können auftreten und wie ist das erwartete Verhalten/ Rückgabewerte/ Fehlercode?*
|
||||
|
||||
@ -2,26 +2,22 @@
|
||||
|
||||
## Thema: "*Name des Verzeichnisses*"
|
||||
|
||||
## ## Beschreibung:
|
||||
## Beschreibung:
|
||||
|
||||
*Welche(n) Anwendungsschritt/Oberfläche/Logik ist durch den Testfall betroffen?*
|
||||
|
||||
|
||||
## Vorraussetzungen:
|
||||
|
||||
*Welche Vorraussetzungen (Daten/Anwendungschritte, etc.) müssen erfüllt sein, um den Testfall durchführen zu können?*
|
||||
|
||||
|
||||
## Testfall-Schritte:
|
||||
|
||||
*Welche Schritte müssen zur Durchführung des Testfalles getätigt werden? (Dateneingaben/ Navigationen/ Link- o Button-Klicks/ Schritte der Anwendungslogik/ etc.)*
|
||||
|
||||
|
||||
## Ende-Bedingungen:
|
||||
|
||||
*Welche Bedingungen werden am Ende des Testfalles bei positivem Ergebnis erwartet? (Daten/ GUI/ Zustände/ etc)*
|
||||
|
||||
|
||||
## erwartete Fehlerfälle:
|
||||
|
||||
*Welche Fehlerfälle können auftreten und wie ist das erwartete Verhalten/ Rückgabewerte/ Fehlercode?*
|
||||
|
||||
BIN
docu/Concepts/Testfallkatalog/image/T02-C001-03-LoginMaske4.png
Normal file
BIN
docu/Concepts/Testfallkatalog/image/T02-C001-03-LoginMaske4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 KiB |
Loading…
x
Reference in New Issue
Block a user