System - Configurations
Contents
Related sub-modules
Content management - Content items, Content management - Themes, System - Languages, Content management - Translations, Messaging - Alerts
Description
The configuration determines how Cyclos looks like, feels and behaves for groups of logged users or for guests. Some examples of options that can be set in a configuration are the language, the address, the address layout, the number format, the mail server and much more.
Also most content management items are bound to a theme. E.g. per configuration you can edit the banners that are visible. These content management items are however edited through the content menu:
Business rules
Configurations are defined in an hierarchical fashion. There is one, hard-coded configuration, which is the system default. This system default configuration is always the root of any configuration tree. When creating a new configuration an existing 'parent' configuration need to be chosen, this can be the system default configuration or any other configuration the admin has the permission to manage. This means that all configurations descend directly or indirectly from the (hard-coded) system default configuration. An admin can chose to inherit the options from the respective 'parent' configuration or customize them (by selecting the edit icon). It is also possible to 'lock' options (by selecting the lock icon), when options are locked lower level configurations cannot change them anymore. Configurations which have child configurations cannot be deleted. Besides that, configurations may be set for specific guests (matching an URL parameter) and/or to specific users (through group and / or group set).
On runtime, always the most specific configuration is used for guests:
- Specific guest (matching URL parameter), if any
- System default
For logged users, the group determines the configuration that will be applied. A group has a configuration property; a configuration does not have a group property. A group can only have one configuration and must have a configuration - it may not be null. Groupsets also have a configuration. The groupset's configuration only determines what the default configuration will be in the form for creating a new group. However, the admin may just choose another configuration for this new group. The default configuration when creating a new groupset is always system default. As stated above, a user group can only have one configuration. However, a configuration is always part of a hierarchical configuration tree. A new configuration always needs to extend a higher level one. This means that all configurations in the system are part of a hierarcal configuration tree. The built-in 'global default' configuration is the top of the hierciarchy
Configuration applicabilitly
When viewing Cyclos as guest (not logged in) the configuration that will be applied is determined by the URL (domain or path) the user accesses. The URL/path is defined in the config.
When a user logs in to Cyclos the configuration will be applied that is bound to the group the user. Be aware, it does not take in account the access URL/path defined in the configuration of the user group.
A user can login in to a URL/path defined in configuration at a higher level. But the only difference is that he logs in at another URL. What he sees (layout, pages etc) is from the configuration that is bound to his user group.
Example, system with the following two configurations:
- Config1: bound to group1, URL: www.mybank.com
- Config2: bound to group2, extends config1, path: www.mybank.com/city
- A user from group2 can access both domains, www.mybank.com/city and www.mybank.com. And will get the same result once logged in.
- A user from group1 can access only by URL www.mybank.com
Restrictions
- It is also possible to set in a configuration 'access only by URL/path'. This means that users can only login at the path (not at higher defined URL/paths).
The advantage of this is that you can restrict specific access (e.g. global admins or Web services access) to a path, wich can be a hard to find path like www.domain.com/sdlf893knd9234rd.
- The 'access only by URL/path' restrictions, as well as the white lists restriction are applied when a session is established.
- If a global admin has session he can switch to lower level configurations without the restrictions being applied.
Therefore, when implementing IP and URL restrictions it is important that the higher global admin groups have similar or more restrictive permissions.
Rules for fields (options):
- By default the value of the higher configuration is shown for each field, an edit icon is shown in the right column next to the field to customize the field.
- When a field is not customized (thus inherited) an edit icon is shown.
- When a field is not edited (customized) no lock icon is shown.
- When the field is customized an revert to inherited value icon is shown.
- When a field is customized, and not locked, a green unlocked icon is shown.
- When a field is customized and locked, a yellow locked icon is shown.
- When a field is locked in a higher configuration a grey lock icon is shown.
- In the case of the inheritance from a higher configuration of the selected options in a multi-selection field there are only two options:
- When the field is customized and locked at a higher configuration level all children have to follow the definitions in the parent.
- When the field is customized and not locked, each following configuration can select among the available options until on one level the field is locked.
Permissions
- System configuration - View - Allows the admin to see all configurations.
- System configuration - Manage - Allows the admin to manage all configurations.
- Manage specific configurations - Allows the admin to manage the specific configurations selected in his permissions.
- Manage content for configurations - Allows the admin to manage the content only specific configurations selected in his permissions, the admin is not allowed to make changes to the configuration itself.
Page: Configurations list
Security
Roles:
- Admin.
View permission:
Other permissions:
- System configuration - Manage
- Manage specific configurations (only shows the configurations selected in admins permissions)
Page sections
Search page (filters)
Fields | Type | Rules |
New | Multi action button | When creating a new configuration an existing 'parent' configuration needs to be chosen, this can be the system default configuration or any other configuration the admin has the permission to manage. At clicking the selected option, an empty details page for creating a new configuration opens based on the chosen 'parent' configuration. |
Search result (list *)
* Automatically shows all configurations, shown hierarchical and sorted alphabetically by name.
Fields | Type | Rules |
Name | Text (read only) | The name of the configuration. |
Preview | Icon | Displays the #Active_Configuration for the selected configuration. |
Remove | Icon | Allows the admin to remove the configuration.
|
Page: Configuration details
Tabs
Security
Roles:
- Admin.
View permission:
Other permissions:
- System configuration - Manage
- Manage specific configurations (only allows the admin to view and manage the configurations selected in the product).
Details (tab)
Details page
Fields | Type | Rules |
Parent | Text (read only) | Indicates which is the direct parent configuration of which the new configuration descends from. All configurations are extended directly from another configuration being or the main configuration which is part of the default database (system default), or any other lower level configuration.
|
Name | Text | The name of the configuration.
|
Description | Text | Describes the configuration in more detail. |
Main URL | Text | The root URL.
|
URL path | Text |
|
Restrict access to this URL | Boolean | Restricts access to this URL. This means that users of lower / higher level configurations cannot access via another (higher level) configuration.
In case you want to restrict access to specific users/groups, you can create a configuration and bind it to this group. If you use a hard to guess path it will be more difficult for unauthorized users to try to get access (next to the user/password restriction).
|
Used by groups | Links | Shows the groups currently using this configuration, with links to the details page
|
User data | ||
Session time out | Integer | The user (browser) session time out in minutes. |
Allow users to retrieve forgotten passwords | Boolean | Allows user to reset their password. When this settings is enabled the users will need to specify a security question upon first login. This question will be needed for future password retrieval.
Currently the user can chose from 3 security questions, which are fixed.
NOTE: Option is only available is e-mail is required to be unique (see setting below) |
Require e-mail | Boolean | Determines whether the e-mail is required or not for users with this configuration. |
Unique e-mail | Boolean | Determines whether the e-mail needs to be unique.
Note! Making the e-mail not unique effectively disables e-mail as an identification method for access or performing / receiving payments in this configuration and its affected children. Please, proceed with caution |
Validate e-mail on registration | Multi selection | Determines whether the e-mail must be validated by the user before an user registration is completed.
|
Default email privacy setting | Single selection | When a user registers or changes his profile he can determine whether to hide or show his email for others. Here the admin can select the default value for this setting. In general for businesses this value will be visible and for consumers it will be hidden. Options:
|
Generated login name | Boolean | Determines whether new users with this configuration will have their usernames automatically generated (when checked) or will need to provide the username manually (when unchecked). When the username is automatically generated, the length will be the maximum set in the field "Username length". The username will be an integer, when the maximum number of digits is reached another digit will be added. |
Regular expression for login name | Text | Defines the regular mask used to validate manually entered usernames.
|
Username length | Integer range | Determines the minimum and maximum number of characters for usernames. |
Localization | ||
Default language | Single selection | Indicates the default language for the application and data translations.
|
Additional languages | Multi selection | Indicates the additional languages, besides the default, users can choose.
|
Dictionaries | Multi selection | Allows choosing the dictionaries used for full text indexing / querying
|
Country | Single selection with all countries | Defines the country which will be used as default for address and phones.
|
Number format | Single selection | Indicates the way how numbers will be formatted.
Possible values:
|
Distance unit | Single selection | Defines the scale unit used in the calculations of address distances in user / advertisment search.
Possible values:
|
Date format | Single selection | Indicates the way how dates will be formatted.
Possible values:
|
Time format | Single selection | Indicates the way how the time (hours / minutes) will be formatted.
Possible values:
|
List separator | Single selection | Indicates which separator to use in CSV exports.
Possible values:
|
Time zone | Single selection | Indicates the time zone used to display / parse dates.
|
Addresses | ||
Enabled address fields | Multi selection | Allows to determine the address fields listed in the profile of the groups with this configuration.
|
Required address fields | Multi selection | Allows to determine the required address fields listed in the profile of the groups with this configuration. Only the address fields selected in the optional address fields label will be shown in the list. |
Default city | Text | Allows to define a default city that will show up in the address of each user who inherits the configuration. |
Default region or state | Text | Allows to define a default region or state that will show up in the address of each user who inherits the configuration. |
Require address | Boolean | If checked, when registering a user with this configuration at least one address is required. |
Use google maps | Boolean | If checked, address(es) will be shown with Google maps tool where possible and the distance search filter will be available in the user and advertisment search. |
Default address privacy setting | Single selection | When a user registers or changes his profile he can determine whether to hide or show his address for others. Here the admin can select the default value for this setting. In general for businesses this value will be visible and for consumers it will be hidden. Options:
|
Phones | ||
Always show international phone number | Boolean | If checked the phone number from users having this configuration will always be shown in international notation. |
Unique mobile phone | Boolean | If checked, the phone number must be unique.
Note! Making the mobile phone not unique effectively disables the SMS channel and mobile phone as an identification method for access or performing / receiving payments in this configuration and its affected children. Please, proceed with caution. |
Require mobile phone | Boolean | If checked, at least one mobile phone number from users having this configuration has to be informed at registration. |
Require landline phone | Boolean | If checked, at least one landline phone number from users having this configuration has to be informed at registration. |
Enable landline extension | Boolean | If checked, an extension can be entered for landline phone numbers:
|
Default phone privacy setting | Single selection | When a user registers or changes his profile he can determine whether to hide or show his phone number for others. Here the admin can select the default value for this setting. In general for businesses this value will be visible and for consumers it will be hidden. Options:
|
Display | ||
Application name | Text | The simple name of the current Cyclos instance, or the project it belongs to.
|
Application description | Text | A small description for the application. Is the value of the description meta tag (SEO) of the index page |
Administration login name | Text | An identifier to be shown to regular members instead of the name of a specific administrator, since regular members should never know the specific administrator.
|
Results on autocomplete fields | Integer | The number of results on fields that use autocomplete (for example, the UserSelectionField).
|
Maximum results | Integer | The maximum results that can be shown per request.
|
Maximum users / advertisements on map | Integer | The maximum result that can be shown on map per request.
|
User format | Custom widget | Indicates how users will be displayed. Has a separator and fields that can be added to the format.
|
User short format | Custom widget | Indicates how users will be displayed when a short format is required, like in SMS notifications.
|
Maximum left banners | Integer | When set, indicates the maximum amount of banner sections on the left of the main window (below the menu and notification windows). When there are more banners than the defined maximum, the banners will rotate (change per period). |
Maximum right banners | Integer | When set, indicates the maximum amount of banner sections on the right of the main window. When there are more banners than the defined maximum, the banners will rotate (change per period). |
Seconds before rotating banners | Integer | When set, indicates the time interval the banners rotate, if exceeding the maximum amount of banners. |
Use left spaces for guest pages | Boolean | If selected, the left column of the main window will display the guest page definitions instead of banners. |
Default result type for users | Single selection | Defines which is the default type of results of a user search.
Options:
|
Default result type for advertisement | Single selection | Defines which is the default type of results of an advertisement search.
Options:
|
Menu type for users | Single selection | Indicates which menu type(s) is (are) shown for logged users who have this configuration.
Options:
|
Menu type for guests | Single selection | Indicates which menu type(s) is (are) shown for guests who have this configuration.
Options:
|
Account number (only visible in global or network default configurations) | ||
Define account number | Boolean | When checked, indicates that account number settings will be defined for this configuration.
|
Enable account number | Boolean | When checked, indicates that account numbers will be used for the network |
Mask | Text | The mask used for input and formatting of account numbers.
This masks can restrict which characters will be generated, the size and the format, using the following constructors.
An account number example would be: UUU-######## It will generate account numbers like: ABC-12345678 |
Generation script | Single selection | Custom script used to generate account numbers
|
Script parameters | Textarea | Parameters passed to the custom script
|
E-mails | ||
Define SMTP server | Boolean | When checked, indicates that SMTP server settings as a whole will be defined for this configuration. The SMTP server settings can be set separatly for any child configuration if it is not locked in the father configuration. If it is locked in the father configuration, the settings will be inherited to any child configuration.
|
Host | Text | The URL or IP address of the SMTP server.
|
Port | Number | The SMTP port.
|
User | Text | The SMTP user. Not used when empty.
|
Password | Password | The SMTP password. Not used when empty.
|
Use TLS | Boolean | A flag indicating whether the server will use a secure connection.
|
From address on sent e-mails | Text | The address used for sent e-mails. Always visible when the user receives the email.
|
Display name on sent e-mails | Text | The displayed name which can be seen in sent e-mails. Always visible when the user receives the email.
|
Outbound SMS messages | ||
Define outbound SMS | Boolean | When checked, indicates that SMS gateway settings will be defined for this configuration. It still can be either empty (not used) or enabled (see next option).
|
Enable outbound SMS messages | Boolean | When checked, indicates that SMS gateway settings as a whole will be enabled for this configuration. The SMS gateway server settings can be set separatly for any child configuration if it is not locked in the father configuration. If it is locked in the father configuration, the settings will be inherited to any child configuration. |
Gateway URL | Text | Full URL of Gateway
|
HTTP username | Text | The username (given by gateway provider) |
HTTP password | Text | The password (given by gateway provider) |
HTTP request type | Radio | POST or GET (depending on the method used by the gateway provider) |
Send ASCI characters only | Single select | Only allow ASCI characters. ASCI characters with accents will be converted to normal ASCI characters. |
Character encoding | Text | This option allows to customize which encoding to use for both request parameters encoding and body.
|
SMS sender script | Single selection | Custom script used to send SMS messages
|
Script parameters | Textarea | Parameters passed to the custom script
|
Maximum global messages per month | Integer | The the total maximum of SMS for all the users that use this configuration. |
Restrictions | ||
Maximum upload size | File size | The maximum size accepted for uploads.
|
Maximum image dimensions | Dimensions | The maximum dimensions for uploaded images. Images larger than these will be resized.
|
Maximum medium thumbnail dimensions | Dimensions | The maximum dimensions for generated medium thumbnails.
|
Maximum small thumbnail dimensions | Dimensions | The maximum dimensions for generated small thumbnails.
|
Maximum PNG images size | File size | The maximum size accepted for PNG images. PNG images larger than this size will be converted to JPEG.
|
Purge messages on trash after (days) | Time interval ??? TODO: ask programmer why "Time interval" is not used. | When set, messages in trash will be removed after the indicated number of days.
|
Purge notifications after (days) | Time interval | When set, notifications will be removed after the indicated number of days.
|
Purge unconfirmed user registrations after (days) | Time interval | When set, pending users which didn't confirm the registration (for example, via e-mail) will be removed after the indicated number of days.
|
Maximum invalid login name attempts | Integer | When set, indicates that a system alert is generated whenever the same IP address tries to login with invalid login names (to flag brute force attacks).
|
After failing usernames, block remote IP for | Time interval | When set, indicates that after attempting to login with invalid login names more times than specified in 'Maximum invalid login name attempts' within the last hour, the remote address should be prevented to login for the given time interval (to prevent brute force attacks).
|
Alerts | ||
Given very bad references | Integer | When set, an user alert is generated when a member gives the defined amount of very bad references.
|
Received very bad references | Integer | When set, an user alert is generated when a member receives the defined amount of very bad references.
|
Data visible to guests | ||
Visible user groups | Multi selection | Allows defining groups / group sets visible to guest users.
|
Show the forgot password option in login | Boolean | When marked forgot password option is shown in the login page under the link 'Click here if you have problems logging in'
|
Visible profile fields | Multi selection | Allows defining what profile fields a guest can see.
|
Possible groups for public registration | Multi selection | Defines which groups can be used on public registration for guest users.
|
Visible advertisement category sets | Multi selection | Indicates which advertisement category sets are visible to guest users.
|
Show simple ads | Boolean | Shows advertisements (marketplace) function |
Show web shop ads | Boolean | Shows advertisements (marketplace) function, including web shop ads |
Custom users search menu label | Text | Defines the label used in the menu for user search for guests. |
Custom advertisement search menu label | Text | Defines the label used in the menu for advertisement search for guests. |
Logging | ||
Logging directory | Text | |
Maximum size per file | Integer | |
Maximum error log entries | Integer | Defines the maximum of error log entries. Zero means unlimited. It can only be set in a global configuration. |
Maximum rotating files per log | Integer | |
Enable services logging | Check box | |
Log parameters on services | Check box | |
Log results on services | Check box | |
Log services for guests | Check box |