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 model #

Click on the New engine button from the Engine library pane: a new empty 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 model created in this way is already installed on the Cloudlet and you don’t need to drag it on.

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

Create a template

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

Application Schema #

Partitioning: Application schema

They allow you to build application views through partitioning of the database. Each of them focuses on a portion of the model, i.e. a selection of classes, attributes and relationships; in the resulting application view, the rest of the 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 managed portion of the model (horizontal partitioning). Application Schemas also describe the appearance of the user interface and data representation (form layout and widgets). 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 .

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 .

By default, only one Application Schema (Application) is defined in the new 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 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.