Child pages
  • Servoy Concepts
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

This chapter provides an overview of the anatomy of a Servoy solution.

The Basics

A Solution is a single application. It contains forms, business logic and datalayer definitions.

A Form is an object that provides a UI and/or contains business logic. The UI of a form is built up of Form Parts, which in turn contain elements.

Form Parts are horizontal regions of the UI, like a header, a body and a footer.

Abstract Forms are forms that do not have any Form Parts. They cannot be shown in the UI, but can be used to group business logic together and/or act as a super form

Elements are UI components like fields, labels, buttons etc or container elements.

A container element is an element that allows nesting a form into another form. Servoy supports three types of containers: TabPanels, SplitPanes and TablessPanels. 

Business Logic is written in JavaScript.

A Function is an individual piece of business logic. are grouped together in scopes. Inside a Servoy solution, there is the solution-wide globals scope and multiple form scopes: one for each form.

The datalayer definitions inside a solution are valuelists and relations.

ValueLists are objects to translate internal values of the solutions into displayable values that make sense to the user. For example the translation of an product_id to a product_description value

Relations are links between 2 datasources.

A datasource is typically a table in a database. Each column in the table is called a dataprovider inside Servoy. Besides dataproviders that are columns in tables in a database, other types of dataproviders are: calculations, aggregations, global and form variables.

A Calculation is a dataprovider on datasource level, who's value is calculated by business logic. Calculations come in two varieties: stored and unstored.

A stored calculation is a calculation of which the value is also stored in a column in the database

An unstored calculation is a virtual dataprovider that only exists in memory

Solution  

In Servoy an application is called a Solution and as such is a container for business logic and UI.

UI

A UI in Servoy is called a Form.  

Business logic

The business logic, made up of variables and methods, is is organized in scopes. A solution has three distinct scope levels:

Application scope:
A solution has one application scope (also referred to as Top Level scope). This scope contains all the predefined scripting libraries that come with Servoy and also contains a customizable scope called "globals" in which custom business logic can be placed that should be accessible through the solution 

Datasource scope:
Below the application scope come the datasource scopes. In general each table (or view) in a database to which the solution has access is considered a datasource. In the datasource scope extensions to the datasource can be defined, in the form of table events and calculations 

Form scope:
Each form has it's own scope for business logic. If a Form is tied to a datasource, the Form scope extends from the datasource scope

Form

In Servoy a UI is called a Form. Forms consist of Form parts and the parts contain elements, like labels, buttons and fields.

Forms can have three different layouts:

Record View:

List View:

Table View:

Abstract forms

Inheritance

Containers

Element
Media
Scripting API

application:

solutionModel:
The SolutionModel class exposes all scripting API related to the on-the-fly generation and modification at runtime of the 

databaseManager:

utils:

history:

security:

i18n:

ServoyException:

jsunit:

plugins:

Data layer
  • No labels