Apps (App Settings)

When you open Evoke you will be taken to the App Settings area (Apps) and asked to select either a new or existing app design and version - please review this link before proceeding to use Evoke. If you want to review the basics of creating business Apps with Evoke they are also available here.
When you select any existing App design and version or start a new App design in Evoke, the screen, shown right, is displayed. In the App section you can set up the following for the selected App:
There are a lot of options here for your app design, many users leave these as default values for their first app and return to update them later. That is ok except for the app theme, including the colours and reserved segments. If you do not set up the theme you want before you start to design your app in Evoke you will have to manually change the colours, etc of any segments created prior to the theme being updated. If you are leaving these settings as the default settings for now you can move directly on to the next menu item in Evoke which is Entities.
After reading this user guide section, the best way to understand the options is to try them out in Evoke.
If you intend to use multiple developers working on the same app design please see the Multiple Users App Design Hierarchy information before proceeding.

App Startup
The App Startup section allows the App designer to specify what happens after the App is loaded by a user.
After App Load
Most importantly this is where the login page that will be used by the app is defined (Login Page Series). If you have created a new app design then a default login page will have been created for you and the details of this filled in here.
You can also specify if a login button, other than the default button, is to be used on the login page (Login button widget id - see widget id in Pages)
If a specific authentication selection is to be run instead of the default (Login Authentication selection).
Regardless of if you have a default login page or create your own you will need to have a selection to authenticate the user login account, please refer to the mandatory selections information for more on the Login authentication selection.
The "Allow AppUser creation at login" checkbox allows for users to be created at the login page, prior to a user logging in. Without this checked the app will be waiting for a login before granting any access to the database, with it checked the AppUser Entity can be manipulated.
After Login
In addition, you can select, in the after login tab, if you would like to take the user to a specific Page Series after they login (Page series to display after login) or request that they make a selection from the menu (untick the Show Page Series after login option).
If you are using the "Page Series after Login option in the User Access Control options then these will override any selection made here.
Finally, if you would like the App to retrieve some related data (Entities related to the Appuser record retrieved by the Login selection), for the user that has logged in i.e. their companies details, etc, so that these can be used immediately, you can specify the related data to be retrieved.
Authorisation
The Authorisation tab/option allows you to elect to use (and then configure at the app design level) "Azure Active Directory" authorisation for your app users to use when logging in to the app. Azure Active Directory (Azure AD) is part of Microsoft Entra and is an enterprise identity service that provides single sign-on, multifactor authentication, and conditional access you can select. Users of your app can login using their Active Directory/Windows credentials.
When you check the "use Azure AD Auth" box the additional options are displayed.
  • Use Single Sign-On (auto login) - allows the app to automatically login (pass-through) when the user is already logged in or logs in with their Azure AD credentials

  • Client ID - also known as the application id and is found in the app registration screen in Azure.

  • Azure Active Directory instance - the domain to send the authentication request to. Usually login.microsoftonline.com, you can find this in app registrations and then endpoints within Azure.

  • Tenant ID - this is also known as the directory id and is found in the app registration screen in Azure.

  • Logout redirect URL - this needs to be the URL that the app is deployed to.



App Styling
The App Styling section allows the App Designer to set up a series of default colours, spacing, styles, menu images, background images/colours, etc. that can be saved to a "Theme" and then used within the current App Design or used for further App Designs.

  • App Colors

    There are four separate sections to the App Colours styling section:
    • Standard Colours - a colour palette, allowing you to set the colours of the pre-set Evoke standard colours palette.
      Users can select either a web colour (using a colour picker) or a hex code colour number (color code) for each pre-defined theme colour.
      Pre-defined theme colours include Very Light, Light, Medium Light, Medium, Medium Dark, Dark, etc and Highlight colours.
      The ellipsis at the end of each line allows you to pick a web color by name as a simple way to pick the standard web colors or if the device you are running Evoke on does not have a color picker.

    • Custom Colours - a colour palette, allowing you to set additional colours in a custom Evoke colour palette.
      Users can select either a web colour (using a colour picker) or a hex code colour number (color code) for each additional colour in the custom colour palette.
      The ellipsis at the end of each line allows you to pick a web color by name as a simple way to pick the standard web colors or if the device you are running Evoke on does not have a color picker.
      If you want to change the font Style/font size/bold/italic for just a single page or single segment/piece of data the Font Override settings - the default font style and font size for this custom color only can be reset here using the build button.

      Please see the help page Font Styles, Font Sizes, Bold/Italic text for a detailed description of this option.

    • Reserved Region Colours - Allows you to redefine some of the reserved regions in your App e.g. the menu area, data grid, headers, text, loading progress bar, backgrounds, etc to use any of the colours you have set up in your standard or custom colour palettes.
      Pick, via the drop down, from any of the colours that you have set up in the 'Standard Colors' or 'Custom Colors' tabs escribed above.

  • Background

  • Used to set a background image or colour for all Pages (screens) within your App. The following options are available:
    • Background Style - the options are a) a specified background image (Image), b) No specific background to be displayed (None) or

      c) A hex code or recognized web colour name (Web Colour)

    • Background Image Path - use the choose button to select an image from the "File Explorer" on your Windows PC

    • Animate on Load (checkbox) - check to invoke a zoom animation on the background image on the logon (first) page of the app.

    • Image Stretching Style - how big should the background image be stretched when displayed on larger screens. Unlimited (image will be stretched to fill app window), None (no stretching to be performed (may result in tiling)), 25% through 200% (the maximum automatic image stretch beyond natural size)

    • Image Transparency - from not transparent, 10% transparent all the way through to completely transparent - this allows the background to be "toned down" and to see images placed behind it.

    • Hide background image after login - if this is set then if an image has been used for the app's background then this will be hidden after a successful login by a user.

  • General Styling

    Allows three sets of general styling to be applied to the entire app. The device/os culture can be overridden on specific devices, the default page margins reset and the default font and font sizes be set for each app. These settings can be overridden in individual Pages in the General Settings tab within each page design:
    • Cultural overrides - Different device operating systems (i.e. iOS, Android, etc) offer their own specific styles for items such as menus, headers, etc. these are know as device "Cultures". Where possible Evoke Apps will, as default, use these "Cultures" in Evoke apps. Some organizations wish to provide apps with a common "corporate" Culture so that the app will look exactly the same regardless of the device that it is viewed/used on. The check boxes within the "Cultural styling overrides" section will, when checked, force the Culture styles on these different devices to all adopt the Culture style that is set for Windows desktop apps.

    • Default page margins - options to set the top, bottom, left and right margins of an app. These settings will set the distance, in pixels, from the edge of the screen, that the app will be displayed.

    • Font Override settings - the default font style and font size can be reset for the app. Please see the help page Font Styles and Font Sizes for a detailed description of this option.

    • Page Segment Corner Rounding settings - allows you to default the default amount of corner rounding to apply to all Page Segments on each platform (Desktop, Android, iOS, UWP). These values will be overridden by specific corner rounding settings (if used) on each segment in Spacing.

    • User Preferences Support settings - If you choose to allow them to, your App users can choose and automatically save their own preferences for certain standard and custom features in their app, such as their preferred menu style. Please see the help page User Preferences for a detailed description of using this option.

  • Menu Styling

  • Used to make style changes to the App menu. The following options are available:
    • Menu Default Style - Allows you to pick the default style of menu that app users will see when starting up the app on a desktop computer screen or when clicking the "hamburger" style menu on a mobile device (can be changed by individual users when running the app to their personal preference). Options are a) Normal (the menu name, including icon image if present, in a list format) b) Tiled (the menu name, including icon image if present, in a traditional tile format) c) Minimal (just the menu icon image, without the menu name in words, in a narrow band until the user clicks the "peek" option in the running app which will then temporarily show the "normal" menu d) Unpinned (hidden) the menu is hidden and can be accessed via the "hamburger" icon in exactly the same way as it appears on a mobile device.

    • Show menu help button (checkbox) - Turns on a special help button "(?)" in your App menu that will allow your App users to access App specific user help (that you are able to set up). If you choose to show the menu help button then you will need to the Menu help style, which allows you to identify if the help button will take you to a) a hidden Page Series in the App or b) to an external URL where you have created help pages. If you choose PageSeries then you will be asked to select the Menu Help Page Series or if you choose URL then you are further able to refine the Menu Help URL that clicking on the (?) on different Pages of your app takes you to. You can insert tokens into the URL - "{pageseries}" and "{page}" - in order to incorporate the current pageseries and the current page name into the URL to create context sensitive help web pages.

    • Show menu footer image (checkbox) - Turns on display of a Logo or corporate message that will appear, near to the bottom, on the menu bar of your App.

    • Menu image path - use the choose button to select an image from the "File Explorer" on your Windows PC for the menu footer image.

    • Menu image width (px) - Sets the width of the menu footer image (the menu area has a maximum width of 300px so this should be 280px or below, any width greater than 300 will be clipped)

    • Menu image height (px) - Sets the height of the menu footer image

    • Menu image opacity - set the menu footer image opacity. The opacity will normally be very low (i.e. 80% opacity) so that on small screens the image can "float" behind the menu options.

    • Main Menu Text - This text box allows the entry of a new legend to replace "Main Menu" at the top of the App menu.

    • Show main menu title image (Checkbox) - enabled if a small image (icon) is to be displayed before the Main Menu Text legend (see above). If this checkbox is checked then two further options are displayed. Main menu image (white) and Main menu image (darker) - use the choose button to select an image from the "File Explorer" on your Windows PC. These images are to be uploaded in two formats as they are used against a dark and a light background. These images must be fixed sizes: 28px height and 28 pixels width. (if you wish to use double, triple and quadrouple density images to have extra crisp images on different density displays then in addition to the initial image selected, upto three further images can be placed in the same location (Windows folder) as the initial image with the naming convention "initial image name@2x", "initial image name@3x","initial image name@4x" with sizes 56px by 56px, 84px by 84px and 112px by 112px.

  • Default Data Segment Settings

    • Default data segment colour settings - Allows you to redefine any of the default data segment regions in your App i.e. the background/Border, Header background, Header Text. Body text (data and prompts), Buttons, Grid Header and Grid Header Background to use any of the colours you have set up in your standard or custom colour palettes.
      When you create a new segment, header etc within your app design these colors will be included as the defaults. If you wish you can redefine these for specific segments, headers, etc when working on each segment, header, etc. using the Colors and Spacing settings in Page Design.

    • Default Body Indentation - Allows you to define the default values of new Segments Body Indentation. If you wish you can redefine these Segment Body Indentation settings using the Spacing settings in the Page Designer

  • Style Themes

    Lists the themes currently available in your Evoke account.
    Listed are the "Theme Name" and the "Notes" you will have added to describe the theme when you saved it.
    The options in the header ellipsis menu and grid row ellipsis menu are:
    • Create a new theme from the current app style settings (header ellipsis menu)

    • Apply the theme settings to this app (grid row ellipsis menu)

    • Update the selected theme with this app's current settings (grid row ellipsis menu)

    Clicking on a grid row that lists a theme will take you to a screen that displays all the theme color settings and allows you to maintain the styles of that existing theme.




Global DataSources
DataSources are defined in more detail in the Data Sources description. It is possible that you will want some of your datasources to be setup on App load and used throughout your App not just in a single Page Series. You can set any datasources or refined datasources (see Data Sources) to be global datasources and therefore available at any time throughout your App. Global DataSources are populated via the "Initial Selection" option in the Global datasource definition. Global Data Soures may be re-populated during the normal operation of the App by running a different selection against the Data Source.

Global datasources should be used either as a) read-only datasources within individual pageseries' or b) if you wish to update/manipulate a global datasource then you should create a pageseries datasource and assign the global datasource to this. Once assigned the two data sources are bound together and updating the pageseries datasource will update the global datasource.

When a new app is created the Global DataSource of "CurrentUser" is added to give the App developer access to the user record of the 'logged in user' throughout the App Design. This Global DataSource is populated with the AppUser record at the time of login in the deployed running app.

The Access Control User Groups that are included in the AppUserGroup Related Data part of each AppUser record can also be exposed as a Global DataSource of "UserGroups" when the "expose usergroups list as a global datasource" checkbox Access Control User Groups is checked.
Please review the detailed description of exposing the Access Control User Groups as a Global Datasource section.

The Reserved Entities of Classifications can not be included as Global Datasources.




Access Control User Groups
The Access control user groups allow you to set up different groups, that you will allocate to each user of your App via their AppUser Entity (e.g. Customer, Manager, Salesteam, Accounts Department, etc). Multiple User Groups may be allocated to a user record and new User Groups are set up by using the "new" function in the "..." ellipsis menu on the Access Control User groups tab header.
You are then able to use the access control features within Evoke to provide completely unique App experiences for each of the user groups. Access control allows you to show/hide different menu options for different groups, show/hide different data or information on Pages, follow different paths through the app, etc.
There is an option to include a "Page Series after Login" against each User Group. This allows you to have users in specific user groups be taken directly to a specific section of the app (that they have access to) after they log in.
An example of Access control user groups is shown in the image on the right.
Once you have created some Access Control User Groups (in your app design) you are able to either add a Classification (to your Classification file) or expose the list of user groups as a global datasource (see checkbox in image above) to use these with user records within you running app. In both instances it is important to understand how these two entities are mapped and how user groups are exposed in your finished app.

Developer Access
When designing or maintaining your App, you may want multiple people to work on the design. In developer access control you can define the developers, users that are part of your Evoke account, that you want to:
  • Have access to your App design

  • Access specific versions of your App design

Adding members of your Evoke account to the app (app design) and Version (specific versions of the app design including standalone, base and work item versions) will restrict access and the ability to change the designs to just those people (user in your account). This is the method of setting internal security/access levels for you and your team when using Evoke.
Please note that "Developers allowed to access this version" is a subset or all of "Developers allowed to access this app", therefore, if the list of "Developers allowed to access this app" is empty then the dropdown list for "Developers allowed to access this version" will also be empty.

If you remove all the "Developers allowed to access this app/app design" so that it is blank then all members of your Evoke account will be able to access your app design/app version. However, if you wish to use the Evoke Multi developer functions you must designate specific users to have access to the app design and all or a subset of these to have access to each specific version.
Please review the help pages regarding Multiple Evoke developers working on a single app design before you have multiple developers changing the same app design within Evoke.

Language Support
When you have designed and generated your app, you can have different users log in and see all the text in the app in their own language. You are able to select which languages your app will support, translate all text used in the app to these languages and then assign individual users with a culture code that identifies the language that they will see the app in.
All the languages available in the Table of Language Culture Names, Codes, and ISO Values are available to be used as a language for your Evoke app. For a user to see a different language to the default language of your app then their Culture setting in their AppUser record (see Reserved Entities) will need to be set to one of the ISO values in the table e.g. en-AU for Australian and the language support will need to be set in this Supported Languages section. Please note that support of different format dates and the use of different local currencies can be provided without the use of different languages if desired (see Reserved Entities).
In this section you can select, from the available languages, which languages you wish to have available for your users. You will first need to select the app default language (often this is English i.e. en-US) and the Is app default and Is language default options are automatically checked, you can change the default language to a different language if you wish. The "app default" language is the language that will be used as default for the app when the user either does not have a specific language selected or has a language selected that is not one of the "Supported Languages" in the app. The "language default" relates to the fact that many of the languagues in the ISO table are derivatives of other languages e.g. American English (en-US), British English (en-GB), Australian English (en-AU), etc. The language default will be used as default for the user if the language linked to their "Culture" is one of the same group (in this example "en" (English)) but that language does not have a specific translation set up for a specific piece of text.
The Use instead option allows you to set up and alternative language and translations to use if a specific translation has not been set up for the language selected for a specific piece of text.
Once you have selected more than one language for your app you will need to set the language translations. Details of setting the translations may be found in the Language Translations section of this user guide.

Email Server Support
If you would like to send emails from your app and have your own email server (e.g. a Microsoft Exchange account, etc), then the Email section is where you configure the server properties. A full explanation of the steps that you must take to send emails from within your Evoke built app is in the video below.

Evoke Emails Guidence

An explanation of the steps in Evoke to send emails.















Version Menu - Evoke Revert or Snapshot Feature
The Evoke Snapshot or Revert feature, accessed from the "Version" menu in the App Settings area of Evoke, offers the opportunity to wind back the version of the App design that you are working on a previous snapshot (copy of the App design) taken using the Manual "Take a Snapshot" Evoke feature. Please note that if you "revert" to a previous version of your App design then all subsequent versions of the design (after the point you reverted to) are lost. This is more important if multiple users of working on the same App design as their changes could also be lost.

Take a Snapshot
Use the Evoke "Take a Snapshot" feature to save, in the Evoke Snapshots database, the current version of this App Design to potentially revert back to later.

Snapshot Fields
Available snapshots are accessed via the "Revert to Snapshot" option in the version menu in App Settings. The fields displayed are:
  • #    This is simply an internal reference number used by Evoke. It increments based on all the App Designs and snapshots you take in your Evoke account and therefore may not appear to be sequential.

  • Date.    This is the date that the snapshot was taken

  • Time.    This is the time that the snapshot was taken

  • Is merge snapshot.    Indicates that the snapshot was automatically taken as part of the Evoke Multi Developer functions that allow multiple versions of a single app design to be developed and tested autonomously and merged back together when ready.

  • Description.    A free format description that you would complete to describe the version/contents at the time of the snapshot or the reason the snapshot was taken.

The "Description" field is editable by you when you use the "Take a Snapshot" option or afterwards in the "revert to Snapshot" option.

Roll back to Previous Snapshot
To roll back to a previous snapshot of your App Design, simply select the snapshot you want to roll back to and click the "Revert Back To" button at the foot of the screen. Please note that if you "revert" to a previous version of your App design then all subsequent versions of the design (after the point you reverted to) are lost. This is more important if multiple users of working on the same App design as their changes could also be lost.



Mandatory Selections
It is expected that your App will use a number of Selections, however, the SelectByName Selection that is defined with the AppUser Entity, is Mandatory as it is used by the App Login process.
SelectByName Selection
First, this does not have to be called SelectByName, this is the default name and can be changed in the App Startup section of Evoke for each App. In its simplest form, this selection will access an AppUser File/Table in the backend database and run a simple selection e.g. SELECT WITH LOGINNAME = "[{LoginName}]", where LoginName is the filter argument defined in the Entity Selection definition. More complex options are described in the video.





Mandatory Entities and Selections.