Basic Concepts of MCL-Designer V4
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 events (actions performed by the device operator, such as button clicks, barcode captures, etc.) which, in turn, trigger internal actions, at screen or object 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 user of a device. 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 objects such as input fields, buttons, images, text fields, and many more types of interface elements.
It is possible to add events to a screen as well as actions (processes). The navigation flow in each screen is always defined by the screen event or an object's actions (event driven execution).
Routine In
A "routine in" is a set of processes that runs prior to the appearance of objects on the screen. Each screen can only contain one "routine in".
Objects
Objects are screen elements used to graphically collect or display information. They are organized in 3 major groups - Display Objects; Input Objects and Menu/Selection Objects.
Objects include events and processes.
Processes
Processes are used to manipulate input data (ex: “Read Records”; “Assign Variables”; etc.) and/or to propel the application's workflow (ex: "Go To"). When an operator interacts with the screen (event), this triggers processes (actions) that can be run in the background or be visible on the screen.
Each process consists of a number of process lines and can be included in local procedures, global procedures, routines, and events.
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 an object event context, such as an "On Change" event on an "Input Barcode" object. (examples of variable codes: 0a, 1a, 2a, 3a, 4a, 5a, 6a, 7a, 8a, 9a, 0b, 1b, 2b…)
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 object, battery level, program name and version. System variables are grouped in “Audio”, “Camera”, “Date”, “Device”, “GPS”, “Imager”, "RFID", “Network”, "App_Info", “System”, "Timer" and "Operator" variables.
Events
An event represents an action that is carried out by the device operator and will trigger actions in the program's flow.
Events occur within screens and/or objects. There is always a default event associated to a screen or an object but an action must always be attributed (by way of processes)to that event 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 event execution. There are 9 types of events: "On Validate; "On Ready"; "On Hotkey"; "On Timer"; "On Click"; "On Change" ,"On RFID Tag Read", "On Power" and "On Button #".
Actions
Actions are a type of "follow up" to an event and they are executed by the application. In other words, the event (performed by the device operator), triggers a specific action. These actions are contained within processes and will be added to the required events (ex: If the intended action is to display a message box after an "On Click" event associated to a specific object , you will have to add a "Display Objects Message Box" process to that object's event).
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.
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.
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 device 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 object, 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 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, and Global Events.