Exhibition: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 9: 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")
* '''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.



Version vom 1. August 2021, 09:11 Uhr

Links

Motivation

Exhibition is a Flutter framework for developing an Flutter app very quickly.

Glossary

  • 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.
  • 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.

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
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;
  }
}