Difference between revisions of "Serverside Account Configuration"
(Created page with " Introduction == Configure the serverside account configuration on the client == url, conf file == Account Restriction == === Accounts restricted === === Accounts not res...") |
(→Configure the serverside account configuration on the client) |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | For a better user experience and less maintenance effort, the possibility to distribute settings for one or more users via a webservice directly to a client is necessary. Not only does this offer the opportunity to share settings efficiently, but also to minimize the possibility of missbehavior due to wrong settings. | ||
+ | |||
+ | Further does this mean that a user does have his environment, even when using a different device without the overhead of creating a fitting setting configuration and typing in all settings by hand. | ||
+ | |||
+ | == Account configuration structure == | ||
+ | |||
+ | [[File:UI_account_configuration_structure.png|250px|thumb|alt=Account configuration structure|Account configuration structure]] | ||
+ | |||
+ | The response of the above mentioned webservice is the account configuration. Like it can be seen in the picture, does this configuration contain the "account restriction" flag, the shared presets as well as a variable amount of accounts. The accounts themself does contain a flag "setting restriction level", a default configuration and shared presets. | ||
− | |||
== Configure the serverside account configuration on the client == | == Configure the serverside account configuration on the client == | ||
− | + | There is a default URL under which the app calls the webservice, but it can be freely configured with a file named "source.conf" under the location '''/UBIK/BasicConfig''' (in the public, internal storage of the device - not the external SD-Card). It must be considered, that this file overrides the default URL for sure, which means that an empty file will be interpreted as empty URL. If the standard URL should be used, this file should be deleted! | |
+ | |||
+ | [[Category:Android|Serverside Account Configuration]] | ||
+ | [[Category:Client|Serverside Account Configuration]] | ||
+ | [[Category:Pages with broken file links|Serverside Account Configuration]] | ||
== Account Restriction == | == Account Restriction == | ||
+ | |||
+ | [[File:UI_account_configuration_restricted_user_with_loadpreset.png|150px|thumb|alt=restricted accounts|Login dialog with account restriction]] | ||
+ | |||
+ | [[File:UI_Android_LoginDialogNoInput.jpg|150px|thumb|alt=Not restricted accounts|Login dialog without account restriction]] | ||
+ | |||
+ | The account restriction is defined for the whole account configuration. | ||
+ | Basically spoken, this flag within the received account configuration decides about whether the users can type in usernames freely or just choose between a list of usernames. Due to that, this feature is really scalable and is sufficient for use cases from defining every user and force them to use specific settings to just provide PreSets for an open range of users. | ||
=== Accounts restricted === | === Accounts restricted === | ||
+ | |||
+ | If the account restriction is "restricted", the login dialog provides a dropdown selection which contains all available usernames, delivered through the account configuration. There is no possibility to enter a different username. | ||
=== Accounts not restricted === | === Accounts not restricted === | ||
− | == Setting Restriction == | + | In that case, the login dialog looks like if no account configuration was received at all. The only difference is for users who´s settings are restricted. Once such a user enters his username, the UI behave like described in section [[Serverside_Account_Configuration#Restricted | Restricted]]. |
+ | |||
+ | {{Clear}} | ||
+ | |||
+ | == Setting Restriction Level == | ||
+ | |||
+ | [[File:UI_account_configuration_restricted_settingsactivity.png|150px|thumb|alt=settings activity restricted user|Restricted user with shared presets in settings activity]] | ||
+ | [[File:UI_account_configuration_restricted_user.png|150px|thumb|alt=No shared presets|Restricted user without shared presets]] | ||
+ | |||
+ | The setting restriction level is a flag within every account within the account configuration. It handles, how much influence the user has on his settings. | ||
=== Restricted === | === Restricted === | ||
+ | |||
+ | A settings restricted user has only very limited options to change his settings. No matter what settings are loaded or set before the login, they are always set to his standard settings when logging in. The only exception are the accounts shared PreSets as well as the "global" shared PreSets, defined in the account configuration. The restricted user has access to them, load them and after logging out and logging in again, they are restored as it would be the case for an open user. | ||
+ | Further, a restricted user is neither able to access local PreSets nor to save them. | ||
+ | |||
+ | Another difference on the UI is, that if a restricted user does only have a settings configuration but no shared presets (either defined directly at the account or in the account configuration), the load PreSet button is not visible within the UI, namely within the login dialog and after authentication in the setting activity. This is also the case if the account restriction is [[Serverside_Account_Configuration#Restricted]] and the restricted username gets entered. | ||
=== Open === | === Open === | ||
+ | |||
+ | Open users do not have any restriction regarding what settings they can access, change or save. The only difference to the case that no account configuration was received and described at [[Login_Dialog]], is that open users have access to the shared PreSets that are stored in the account configuration. | ||
+ | |||
+ | {{Clear}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Shared PreSets == | ||
+ | |||
+ | Shared PreSet is a new term for presets provided through an account configuration. They can be defined "globally" for every account or per account. This presets should not be mistaken by the "setting configuration" for every account, which is the basic preset for every account and the standard preset that is loaded when users with setting restriction level [[Serverside_Account_Configuration#Restricted | Restricted]] attempt to login. | ||
+ | |||
+ | |||
+ | |||
+ | |||
== Receive a new configuration == | == Receive a new configuration == | ||
+ | |||
+ | [[File:UI_account_configuration_notification_new_configuration_received.png|thumb|alt=Account configuration received|Account configuration received]] | ||
+ | [[File:UI_account_configuration_notification_server_no_response.png|thumb|alt=Server not reachable|Server not reachable]] | ||
+ | |||
+ | The application tries to fetch a account configuration every time the app starts. A fetched account configuration is always stored locally, which means that it is available directly upon the next start of the app. | ||
+ | The user is notified either when a new configuration is received, or when the server is not reachable. | ||
+ | |||
+ | The case that a new configuration is received does only occur when the fetched configuration is different to the locally stored account configuration, or there is no configuration stored locally. In case that a user is already authenticated, the existing configuration remains valid until the user loggs out or the app is shut down. | ||
+ | |||
+ | The case that the server is not reachable does normally occur, when the configured URL is erroneous. | ||
+ | |||
+ | |||
+ | |||
== See also == | == See also == | ||
+ | |||
+ | * [[Login_Dialog]] | ||
+ | * [[Preset]] | ||
+ | |||
+ | [[Category:Android|Serverside Account Configuration]] | ||
+ | [[Category:Client|Serverside Account Configuration]] | ||
+ | [[Category:Pages with broken file links|Serverside Account Configuration]] |
Latest revision as of 17:33, 22 March 2017
For a better user experience and less maintenance effort, the possibility to distribute settings for one or more users via a webservice directly to a client is necessary. Not only does this offer the opportunity to share settings efficiently, but also to minimize the possibility of missbehavior due to wrong settings.
Further does this mean that a user does have his environment, even when using a different device without the overhead of creating a fitting setting configuration and typing in all settings by hand.
Contents
Account configuration structure
The response of the above mentioned webservice is the account configuration. Like it can be seen in the picture, does this configuration contain the "account restriction" flag, the shared presets as well as a variable amount of accounts. The accounts themself does contain a flag "setting restriction level", a default configuration and shared presets.
Configure the serverside account configuration on the client
There is a default URL under which the app calls the webservice, but it can be freely configured with a file named "source.conf" under the location /UBIK/BasicConfig (in the public, internal storage of the device - not the external SD-Card). It must be considered, that this file overrides the default URL for sure, which means that an empty file will be interpreted as empty URL. If the standard URL should be used, this file should be deleted!
Account Restriction
The account restriction is defined for the whole account configuration. Basically spoken, this flag within the received account configuration decides about whether the users can type in usernames freely or just choose between a list of usernames. Due to that, this feature is really scalable and is sufficient for use cases from defining every user and force them to use specific settings to just provide PreSets for an open range of users.
Accounts restricted
If the account restriction is "restricted", the login dialog provides a dropdown selection which contains all available usernames, delivered through the account configuration. There is no possibility to enter a different username.
Accounts not restricted
In that case, the login dialog looks like if no account configuration was received at all. The only difference is for users who´s settings are restricted. Once such a user enters his username, the UI behave like described in section Restricted.
Setting Restriction Level
The setting restriction level is a flag within every account within the account configuration. It handles, how much influence the user has on his settings.
Restricted
A settings restricted user has only very limited options to change his settings. No matter what settings are loaded or set before the login, they are always set to his standard settings when logging in. The only exception are the accounts shared PreSets as well as the "global" shared PreSets, defined in the account configuration. The restricted user has access to them, load them and after logging out and logging in again, they are restored as it would be the case for an open user. Further, a restricted user is neither able to access local PreSets nor to save them.
Another difference on the UI is, that if a restricted user does only have a settings configuration but no shared presets (either defined directly at the account or in the account configuration), the load PreSet button is not visible within the UI, namely within the login dialog and after authentication in the setting activity. This is also the case if the account restriction is Serverside Account Configuration and the restricted username gets entered.
Open
Open users do not have any restriction regarding what settings they can access, change or save. The only difference to the case that no account configuration was received and described at Login Dialog, is that open users have access to the shared PreSets that are stored in the account configuration.
Shared PreSet is a new term for presets provided through an account configuration. They can be defined "globally" for every account or per account. This presets should not be mistaken by the "setting configuration" for every account, which is the basic preset for every account and the standard preset that is loaded when users with setting restriction level Restricted attempt to login.
Receive a new configuration
The application tries to fetch a account configuration every time the app starts. A fetched account configuration is always stored locally, which means that it is available directly upon the next start of the app. The user is notified either when a new configuration is received, or when the server is not reachable.
The case that a new configuration is received does only occur when the fetched configuration is different to the locally stored account configuration, or there is no configuration stored locally. In case that a user is already authenticated, the existing configuration remains valid until the user loggs out or the app is shut down.
The case that the server is not reachable does normally occur, when the configured URL is erroneous.