skip to main content

Introduction

A Livebase application is described by a conceptual data model that organizes information on different levels of abstraction, called Schemas.

Create a new engine model #

Click on the New engine button from the Engine library pane: a new empty engine model will appear, named NewModel1; to install it on the Cloudlet, drag it onto it.

Alternatively, click on the icon inside the Cloudlet where No engine appears; passing the mouse over the icon, a yellow star appears as shown in the figure. The engine model created in this way is already installed on the Cloudlet and you don’t need to drag it on.

Rename the engine by double-clicking on its name. Notice how the Cloudlet state has changed and the button Start has appeared.

Create an engine

Overview of Schemas #

Each Schema represents and allows you to manage a set of aspects of the data model, including the structure of the information on the database, the representation of the data in graphical interfaces, and the data permissions. In the Designer, Schemas are transparent views on the same class diagram.

Switching between Schemas the engine model does not change; what changes is the information that is shown and the operations that can be performed. Thanks to this representation, the modeller can concentrate on a subset of information, without ever losing sight of the diagram of the underlying classes.

Schemas are organized according to a hierarchy that has the Database Schema at the lowest level, the Application Schema at an intermediate level, and the Profile Schema at the top.

Localization Schemas are somewhat independent of this hierarchy, and allow the engine model’s localization strings to be modified by language.

Tab-schemas

To switch between Schemas, use the Schemas tab on the left side of the Designer.

Schemas gif

Database Schema #

Partitioning: Database Schema

This is the foundation of the engine model. It instructs Livebase on how to generate the relational database, describing its conceptual structure in terms of classes, attributes, relationships, integrity constraints, and data domain restrictions. The Database Schema is unique and all other Schemas depend on it.

In the Designer it is represented by the icon.

Application Schema #

Partitioning: Application schema

They allow you to build application views through database partitioning. Each of them focuses on a portion of the engine model, i.e. a selection of classes, attributes and relationships; in the resulting application view, the rest of the engine model is completely obscured and inaccessible, as if it did not exist (vertical partitioning). It is also possible to define filters to exclude certain objects from the view and further restrict the portion managed by the engine model (horizontal partitioning). Application Schemas also describe the representation of data. Finally, you can define Class warnings related to the creation and modification of database objects through the generated applications.

In the Designer they are represented by the icon.

Profile Schema #

Partitioning: Profile Schema

Describes the grants that users with the relevant profile have in the system. A profile may or may not be enabled to access a set of application views, and for each view/Application Schema it is possible to specify the read and edit permissions over the objects made accessible by the view. The Schema that allows you to configure these permissions for the profile-application view pair is called the Permission Schema . A profile can also be enabled for general aspects, such as system configuration or user management.

In the Designer they are represented by the icon.

By default, only one Application Schema (Application) is defined in the new engine models with all classes enabled, and two Profile Schema, Member (related to users registered on the system) and Guest (related to unregistered users). Through the Member Schema, users have access to the entire engine model with full read and write rights. The Guest Scheme, on the other hand, by default does not allow access to any application.

Localization Schema #

There is a Localization Schema for each language enabled within the generated application. More information is available on the dedicated page.