Evoke Data Sources

Data Sources are the data areas held within the UI. Structured by the Entities they are used by the App pages and Evoke Click Actions in the App.
Data is populated, via a selection, from the repository (back end database) into a Data Source and can then be read, changed/manipulated, deleted, new records created, etc. prior to Evoke writing it back to the physical database when the Data Source is saved.
Root Data Sources
You can add multiple Data Sources (also refered to as root datasources) for each Page Series and define these as follows:
  • Name - Each Data Source must have a name to identify it within Pages.

  • Entity Type - Each Data Source must have an Entity Type that defines the structure of the Data Source to match a specific Entity.

  • Collection - Data Sources can be singular (a single instance of the Entity structure or a single record) or a Collection (multiple instances of the Entity structure or a group of records)

  • Auto Saved - the Auto Saved option defines if a Data Source is connected to the automatic save/cancel buttons in the App. If this is ticked then when the Data Source is changed the tick (commit/save to physical database) and cross (reject/discard changes) options automatically are displayed.

  • Initialize - the initialize option sets the datasource to be a "blank version" or "proper instance" of the object, making it able to hold data, have data assigned to it, etc. As opposed to a "structure only" version or "Empty instance" that cannot hold or manipulate any data. An "Empty instance" is overwwritten with a "proper instance" when a selection or read is used to populate the datasource.

  • Data Paging - providing the ability to deliver data to desktop and mobile devices in one roundtrip or as a series of pages.

Using Root Data Sources
Data Sources are the means by which in memory data (in the App) is bound onto visible data (within the UI). Data Sources are the place where Repository (database) Data is retrieved and stored for use by the App and the returned (saved) to the Repository (database).
Data Sources are populated by Selections or UI widgets that trigger Data Retrieval from the repository (database). Data is returned to the repository from the Data Source by the functions of the App Save/Cancel buttons or UI widgets that trigger Data Saving.

Refined Data Sources
Refined Data Sources are an automatic mirror of the Data Source that they are linked to. Linking is achieved by setting a Data Source as a Refined Data Source's Root Data Source.

There are two main purposes of Refined Data Sources, 1) to provide the data populated in the Root Data Source in a different view i.e. Sorted (by setting the Initial Sort Properties to a space seperated list of Property names to sort the data by or for reverse order add a minus sign before the property name) or Filtered using the build button and 2) to provide the App user with the option of sorting, searching and filtering data displayed in the App. The options can be turned on, when a refined datasource is used, in the Template General settings section.

If you do not wish to or need to include Evoke search/sort/filter options on a datasource/datagrid in your app then you will not need to create a refined datasource and can leave that section blank.

Global Data Sources
Global Data Sources are Data Sources that are available throughout the App not just in the Page Series that they are defined in. Global Data Sources are defined and described in the App Settings General DataSource section.