When creating a business solution, there are often settings which differ for a different context and/or can change over time. For example settings specific to the type of environment (Development, Test, Acceptance, Production) or if a canvas app is in maintenance mode. Such settings should as a best-practice not be stored in a canvas app but stored outside of it.
The two most logical locations when only standard functionalities are possible are:
- Environment variables.
- A dedicated SharePoint list for settings.
Each setting must have an unique ID and this unique ID is used in the canvas app(s) of the business solution to retrieve the settings value.
Environment variables are only available when the business solution is created with a solution. Environment variables have a data type and a default value which can be overridden (the current value).
Setting an environment variables value is only available for users who can add/update the solution which contains the environment variable.
For me, environment variables are most useful for settings which must be set at installation time and should normally not change.
A dedicated SharePoint list for settings
A SharePoint settings list is a list based on a new list which is extended with a few properties (columns). Each additional property its own property type, like “Multiple lines of text”, “Date and Time” or “Person or Group”. The title column is used for unique ID’s.
Settings are normally only changed by a very small group of people (application management) and I explain to them how they can change the settings directly using SharePoint. I normally do not create/extend a canvas app for managing settings but this can be done.
Other examples of content that should be stored outside a canvas app are:
- Email templates.
- Using variables in email templates greatly improves the quality of the emails sent. Variables are substituted in the canvas app(s) with actual values like a name or a deeplink.
- The content page “Email templates” and “Sending emails” contains more information on this topic.
- Drop down values.
- The content page “A dedicated list for drop down choices” contains more information on this topic.
- Environment variables overview: https://learn.microsoft.com/power-apps/maker/data-platform/environmentvariables