User Preferences

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. This works a bit like 'Cookies' within the app.
If in App Styling (in the Apps section) you check the 'User Preferences is supported' checkbox then a new menu option will be automatically provided to users of your app, as shown in the image on the right.
You will also need to identify a NEW Page Series, that you will have to create (see below), that has the Preferences you want to offer to your user.
There are also additional properties required in the AppUser Entity and a new Page, to be created, in the new Page Series, to provide the UI for the user of your app.

Entities - Additions to the AppUser Entity
You will need a couple of new properties in your AppUser Entity to hold the users selected preferences.
These are easily added...
Select the AppUser Entity in Entities. On the Properties tab use the elypsis menu to select "Create standard system preferences properties" and two new properties will be added (a boolean for "remember menu style" and an alphanumeric to store the "menu style to be remembered").

You will need to add these properties into your database AppUser Object/table and map them to the correct attribute/column in the DataMappings.

If you decide to add further custom User Preferences then you can repeat this process by adding, manually, further properties in your AppUser Entity that you can update/present to the user in the new Page Series/Page.

User Preferences Page Series/Page
You will need to create a new Page Series for your User Preferences. You can name this anything your wish but must select this page series in the App - App Styling - User Preferences selection box (see image above at the top of this page).
Within the page series you will need to create one page, again this page can be named anything that you wish to name it.

This is the page that will be accessed by the new "Preferences" menu option to provide your app user with a user interface for the Preferences you are offering them.
The Page itself is quite simple and examples of the Page can be found in the Example App and SOP App designs that are available to you in your Evoke Account.


As you can see in the image right, the UI is simply a checkbox widget. The template is bound to a Single Entity DataSource (in this case called UserRecord) that holds the User Record of the Logged in user.

The DataSource definition is shown below.

The AppUser record of the Current App User is alwasy held in the Global DataSource 'CurrentUser'. Therefore, in the 'Actions on Page Series Load' we can add the 'AssignDataSourceValue' that will assign the AppUser Record in the 'CurrentUser' to your new DataSource.
You need to do this as the Global DataSource CurrentUser cannot be saved and therefore cannot participate in the Evoke (tick/cross) save option back to the database.