Basic Concepts About Data in Miracle Mobile

‘Entities’ In Miracle Mobile

Entity is a data object which represents the data schema of various data services (connectors). Whenever a Connector is configured, it publishes a list of available entities. In a typical organization, a possible set of entities can be:

  • Users
  • Departments
  • Roles
  • Projects

There can be any count and set of entities configured to be used in the Miracle Mobile Application. It is possible to have entities from multiple connectors appearing in the application. These entities can be used as data sources for controls, pages and forms.

‘Bindings’ in Miracle Mobile

All Controls can have an input data source, which usually uses the Entities from the Connectors to populate data or configure attributes in controls like List Views, Text Boxes, Labels, etc. It is also possible to use a string format expression to produce output results in a particular format, like date and mathematical values. For example, ‘{0:dd MMM yyyy}’ will provide date as ’10 MAR 2015′.

Some of the properties which are used in Data-Binding include:

Value

The default attribute of all controls which maps to the most common property. For example, for Text Boxes, it sets the text.

IsVisible

This is another common attribute in all controls used to show or hide a control based on some criteria. For example, certain text boxes should only appear when a particular value is selected in a picker control preceding it.

DataSource

Controls like Pickers, Segmented Controls, Auto-Complete Text Boxes and List Views require a data source to to populate their list values. These datasources can be configured through control-binding.

IsEnabled

Another common attribute in all controls used to allow or prevent editing in a control. For example, certain text boxes should only appear pre-filled in a read only format, editable only to certain groups of users.

SelectedValue

For controls like Lists, Pickers, etc., the default selected item can be bound. Selected items may also be updated through binding if there are two fields that are related to each other.

Text

For Text Box controls, the ‘Value’ attribute is same as the ‘Text’ property, however, it is an attribute used to bind certain values to the ‘Text’ properties of other controls like Labels, Buttons, etc.

TextColor

Depending on certain criteria (like urgency or due date), it might become necessary to update the text color of certain buttons or labels. This can be done by binding expressions to the ‘TextColor’ property.

BackgroundColor

The Background Color can be made dynamic for certain controls like Text boxes, Labels, Buttons, Layouts, etc. by using binding expressions with the ‘BackgroundColor’ property.

Mapping Controls With Entity-Fields

It is possible to map controls on a mobile app page/form to a particular field of an entity which can either be generated by Miracle Platform based on the Page layout of the mobile app or it can be an entity published by a different connector using Client’s own datasources.

Control Entity Field Mapping

Just like ‘Control-Data Binding’ allows us to configure the input data of the controls, ‘Control-Entity Field’ mapping allows us to send user input data to the Entities or Services. User can configure which Control writes to which Field of the Service or the Entity. For example, in a form submission, we can configure which Text Boxes write to which Fields of a Table in the Database.

Once the input controls (like TextBoxes, Image Capture, Signature Panel, DatePicker, etc.) have been mapped to a connector, then the submit trigger maps these values to the field specified in the Connectors. User can use the Auto-Mapper utility to map page controls to entity fields or they can choose to generate a new entity based on the Mobile App Page schema.