Basic Concepts of MCL-Designer V4

Navigation:  Getting Started with MCL-Designer V4 >

Basic Concepts of MCL-Designer V4

Previous pageReturn to chapter overviewNext page

 

Overview

 

One of MCL-Designer V4's key features is its event-driven programming. In other words, the flow of the program is controlled by actions (action(s)=event performed by the operator, such as button clicks, barcode captures, etc.) which, in turn, trigger internal actions, at screen or control level, that will push the operational flow of the application further.

Keeping in mind the look and feel, as well as screen ergonomics, MCL-Designer V4 enables building state of the art applications with the help of advanced graphical features.

Another MCL-Designer V4's key feature is the integration possibilities. Today’s mobile application business requirements demand an interface with various modules available in most modern devices – GPS, Camera, signature capture, etc. MCL-Designer V4 easily allows the integration of these features in the mobile application.

 

Below are key elements which are an integral part of MCL-Designer V4:

 

Projects

A project is the highest-level container in MCL-Designer V4. A project contains all the programs needed by the operator. When completed, a project turns into an application, ready to be loaded to a device.

 

Programs

A program is a single module that is accessible on a device.

It is made up of several screens. To organize the application's business logic, the program can include local procedures and routines.

When a new project is created, the first program (Main Program) is automatically created and other programs (Application Programs) are accessed from this first Main Program.

 

Routines

A routine is a set of processes that performs recurrent or shared functions, locally (inside a program). It is similar to a local procedure.

 

Local Procedures

A local procedure is a set of processes that performs recurrent or shared functions, locally (inside a program).

Local procedures allow for the sharing of input and output parameters.

 

Screens

Each program consists of a sequence of screens, which the operator interacts with on the device. Screens can contain controls such as input fields, buttons, images, text fields, and many more types of interface elements.

It is possible to add actions to a screen as well as processes. The navigation flow in each screen is always defined by the screen action or a control's actions (action-driven execution).

 

Routine In

A "routine in" is a set of processes that runs prior to the appearance of controls on the screen. It can only be added to screens and each screen can only contain one "routine in". A "routine In" does not include actions, only processes, meaning, its execution does not depend on the operator, it always occurs before the screen is launched.

 

Routine Out

A "routine out" is a set of processes that runs after the screen's controls and processes are validated/executed. It is always associated to a screen and each screen can only contain one "routine out". The "routine out" can only include processes - it is not triggered by the operator, its execution only occurs when all the screen's controls are validated.

 

Controls

Controls are screen elements used to graphically collect or display information. They are organized in 3 major groups - Display Controls; Input Controls and Menu/Selection Controls.

Controls include actions and processes.

 

Processes

Processes are used to create the business logic of the application, which includes manipulating input data (ex: "Read Records”; “Assign Variables”; etc.) and/or propelling the application's workflow (ex: "Go To")). When an operator interacts with the screen (ex: action), this triggers processes that can be run in the background or its result can be visible on the screen.

Each process consists of a number of process lines and can be included in local procedures, global procedures, background procedures, routines, and actions.

 

Variables

Variables are used to temporarily store data inside the device.

There are two general types of variables:

 

1. User Defined Variables

The "user defined variables" are used to store data required by the application programs and they include:

 

Global Variable

A variable that is defined in one program and can be used in any of the other programs or new projects. Its content can be retrieved, updated or modified by the other programs. (Examples of variable codes: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, B0, B1, B2…)

 

Program Variable

A variable that is defined in one program and cannot be used in any of the other programs. Its content can only be retrieved, updated or modified by the program it is included in. (Examples of variable codes: 0A, 1A, 2A, 3A, 4A, 5A, 6A, 7A, 8A, 9A, 0B, 1B, 2B…)

 

Local Variable

A variable only available in a control's "action" context, such as a "Change" action in an Input Barcode control. (Examples of variable codes: 0a, 1a, 2a, 3a, 4a, 5a, 6a, 7a, 8a, 9a, 0b, 1b, 2b…)

 

Background Variable

A variable that can ONLY be used in a background procedure context. This type of variable is used for communication between the background procedure (running in a secondary thread) and other programs in the foreground.

 

2. System Variables

 

System Variable

A variable which is not defined by the user. Contains system information that can be used by the programs in the application. System variables contain information such as current date & time, selected record number in a File Browse control, battery level, program name and version. System variables are grouped in “Audio”, “Camera”, “Date”, “Device”, “GPS”, “Imager”, "RFID", “Network”, "App_Info", “System”, "Timer", "Operator", "Navigation", "Voice", "Special" and "NFC" variables.

 

3. App Param Variables

 

App Params Variable

A read only variable that refers to a parameter/constant sourced by an external file loaded at startup of the application.

 

Actions

An action represents something (an event) that is carried out by the operator or external entity and will trigger processes in the program's flow.

Actions occur within screens and/or controls. There are compatible actions associated to a screen or a control but processes must always be attributed to that action to activate it.

A commonly used process is a Branch "Go To" because it provides a target destination (be it screens, local procedures or routines within that program) after the action’s execution. There are several types of actions: "Validate; "Ready"; "Hotkey"; "Timer"; "Click"; "Change"; "RFID"; "NFC"; "Power"; "Button #"; "Barcode" and "Receive Message".

It is possible to define custom actions with their own parameters which are, usually, applied to screens. Once a custom action is defined, it becomes available in the screen's actions list.

 

Data Files

Within MCL-Designer V4, local files used in a project are designated as Data Files. The data files, persistently, store input data on a permanent basis in the device. The data can be created by the device's programs or received from the host and used as reference for input validation or operator guidance.

 

Local Database

A Local Database consists of a database engine that is integrated in MCL-Client (SQLite). It can include one or more tables for application data storing. Using a local database allows you to manipulate complex data structures in a mobile device (ex: the joining of tables).

The data included in the local database are manipulated via SQL transactions. The local database can include views and indexes for easier data access and better performance.

MCL-Designer will always use the latest SQLite version - each MCL-Client (and MCL-Simulator) update includes the up-to-date SQLite.

 

Global Procedures

Global procedures are programs that are created outside the current project and can be re-utilized in any other projects that require them (ex: A routine designed to read and extract specific data from a scanned barcode, like EAN 128 with Application Identifiers). Global procedures can contain local procedures.

 

Background Procedures

A background procedure is similar to a program but it runs in the background/secondary thread. It is best suited for long time consuming operations that do not require operator interaction -it does NOT include any interface elements.

Background procedures can be reused by other projects.

 

Global Events

A set of processes associated to a predefined repetition cycle, meaning, the global event is set to run on a loop. The execution of a global event does not depend on any action by the operator.

It is not restricted to one single program, it can be used throughout the project.

 

MCL Source Code

MCL Source Code is the “translation” of every control, process, procedure, property, etc. into MCL script commands. These are understood and executed line-by-line by the MCL-Client.

 

Resources

Project resources are elements required for the functionality of the project. They can consist of image, WAV or text files. Resources are specific to MCL-Designer or the Project.

 

Licenses

When you purchase an MCL product, you require a corresponding license. Once the license is registered and active, it enables the use of the MCL product.

There are two types of licenses:

 

1. Subscription

Is a specific license that is subscription based. It is active during a specific time period, includes several services and products and is linked to MCL-Mobility Platform (a cloud based platform, operating on SaaS, where you will manage your subscriptions). The services/products included in a subscription can be extended with the use of add-ons.

 

2. License

Is a perpetual license, meaning, it only requires a one time activation and does not have a renewal/expiration date. You will register/manage your MCL-Designer V4 license(s) in your MCL License Manager account (a cloud-based platform where you will manage your perpetual licenses). In the case of an MCL-Designer license, it includes the use of MCL-Designer and MCL Support for a specific period of time. It is possible to extend this Support Service with the use of an add-on that will be linked to the MCL-Designer license.

 

Trial Mode

Apart from the "licensed mode" (via perpetual license or subscription activation), MCL-Designer V4 can be used in a “trial mode”. This “trial mode” consists of a 30 day period that allows the developer to try out MCL-Designer V4’s features and capabilities during that time.

 

Library/Library Manager

Library is a shared folder that is used for the export/import of certain elements within MCL-Designer V4, meaning, it is the export's target and the import's source.

The Library Manager manages the elements that have been exported into the Library shared folder by organizing them and making them available for future import into other MCL-Designer V4 projects.

The exportable/importable elements are Programs, Screens, Routines, Global Procedures, Data Files, Global Events and Labels.

 

Speech

MCL-Designer V4 can, under certain circumstances, enable the development of projects with speech attributes (a vocal interface between operator and application/device). Once this extra feature is activated, you have access to all speech related options - a group of speech processes, extra options within controls and elements such as Word Lists.

 

MCL-Tracer

MCL-Tracer is a tool for project analysis that allows you to debug a project. It exposes the visible elements (screens, controls) as well as the background elements (processes, actions, associated variables, etc.). The project being analyzed, must be running, for instance, in the MCL-Simulator or a device with the project installed, to feed MCL-Tracer with data.

 

Navigation

MCL-Designer V4 includes an extra feature that requires specific activation - Navigation. Navigation allows you to incorporate GPS functions and the resulting data into your application. The Navigation related options are included into the GPS/Navigation Processes Group. This extra feature only works if the target device for the application has GPS.

The Navigation related processes/options are only available for editing if your subscription or license includes the corresponding "Navigation" add-on.

 

Platform Services

Refer to services available in MCL-Mobility Platform (a cloud -based Operator and Device Management Platform provided by MCL Technologies) - "Filebox" and "Messagebox".

The "Messagebox Services" is only available to subscriptions with the corresponding add-on.

MCL-Designer V4 provides the necessary tools/options during development (ex: processes) to allow you integrate the application into the MCL platform and take full advantage of the services provided by MCL-Mobility Platform.

 

Filebox

Filebox is a virtual storage and forwarding space for business files. It allows for direct file exchange between the mobile devices and the back-end through the MCL-Mobility Platform.

 

Messagebox

Allows the MCL applications installed in the devices to send messages to a back-end and receive messages from the back-end through MCL-Mobility Platform. It is based on message queuing. In this environment, a queue is referred to as a "Topic". A "Topic" works similarly to a mailbox - the sender (device or back-end) posts a message to a topic that is specifically polled by the message's receiver (device or back-end).

 

Business Analytics Service

Manages "metric" data (metrics = info on the activity of the operator handling the MCL application). These metrics are sent by the devices/MCL application(s) to the MCL-Mobility Platform account for performance analysis (ex: operator performance evaluation, work load evolution, sales increase/decrease, etc.). Metric data is, then, displayed with the use of dashboards.

This information is managed via counters that must be created within the MCL application and have the corresponding counter in the associated MCL-Mobility Platform account.

 

For more detailed information, refer to the MCL-Mobility Platform User Guide.