Bearbeiten von „Exhibition“
Zur Navigation springen
Zur Suche springen
Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar. Melde dich an oder erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden.
Die Bearbeitung kann rückgängig gemacht werden. Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version | Dein Text | ||
Zeile 2: | Zeile 2: | ||
* [[Exhibition-Workflow]] | * [[Exhibition-Workflow]] | ||
= Motivation = | = Motivation = | ||
Zeile 11: | Zeile 9: | ||
* The '''dev-app''' is the Flutter application that should be developed with Exhibition. | * The '''dev-app''' is the Flutter application that should be developed with Exhibition. | ||
* A '''module''' is an object normally stored in one database table. Example: the module '''Users''' handles data of a user who can login to the app. | * A '''module''' is an object normally stored in one database table. Example: the module '''Users''' handles data of a user who can login to the app. | ||
* | * '''basic actions'' are: '''new''' ("create"), '''edit''' ("change"), '''list''' ("show overview") and '''standard''' ("user defined") | ||
* A '''page''' is a dialog for exactly one '''basic action''' of a module. The page name is normally the name of the basic action, but can be changed. Normally each module has the pages new, edit and list. | * A '''page''' is a dialog for exactly one '''basic action''' of a module. The page name is normally the name of the basic action, but can be changed. Normally each module has the pages new, edit and list. | ||
= Installation = | = Installation = | ||
* | * clone the Git project exhibition from github | ||
* | * create a Flutter project (with AndroidStudio). It is important to create the dev-app as neighbour of exhibition: If the base folder of exhibition is /home/ws/flutter/exhibition the base folder of the dev-app "myapp" is /home/ws/flutter/myapp. | ||
< | |||
= Workflow = | |||
We use the module "Users" as example | |||
* create a metadata description: lib/meta/users_meta.dart | |||
<source lang="dart"> | |||
import 'module_meta_data.dart'; | |||
</ | class UserMeta extends ModuleMetaData { | ||
static UserMeta instance = UserMeta.internal(); | |||
UserMeta.internal() : super('Users', | |||
[ | |||
PropertyMetaData('id', DataType.reference, ':primary:', 'combo'), | |||
PropertyMetaData('name', DataType.string, ':notnull:', '', size: 64), | |||
PropertyMetaData('displayName', DataType.string, ':unique:notnull:', '', size: 32), | |||
PropertyMetaData('email', DataType.string, ':unique:notnull:', '', size: 255), | |||
PropertyMetaData('role', DataType.reference, ':notnull:', ''), | |||
PropertyMetaData('created', DataType.datetime, '', ''), | |||
PropertyMetaData('createdBy', DataType.string, '', '', size: 32), | |||
PropertyMetaData('changed', DataType.datetime, '', ''), | |||
PropertyMetaData('changedBy', DataType.string, '', '', size: 32), | |||
], | |||
tableName: 'loginusers', | |||
); | |||
factory UserMeta(){ | |||
return instance; | |||
} | |||
} | |||
</source> |