Coming next release
Area | Description |
---|---|
Invite job | Fix: Users added manually lost access Users, who were added to tenant manually, through tenant AAD, imported etc. not invited trough Invite job, can sign in to tenant and have the same access as before changes in job. |
Release 02.07.2024
Area | Description |
---|---|
Invite job | Allow users to change username on source AAD (RTC-39861) Users, who are invited to tenant AAD, can change their user name (UPN) on source AAD and login to Cloud modules. Behaviour of invite job is the same as before - users who are added to configured groups on source AAD are updated in tenant AAD or when removed - disabled on tenant. In configuration of job, there can be added groups with auto-provisioning and then users will be invited and added configured permissions. Casing of name of the group in AAD and in configuration must be the same, otherwise job will finish with warnings and users added to that group will not be invited. Performance of job executions is good. |
Import of stores | Fix: Staging merger aborted when duplicated key on ExternalStoreNo on Store (RTC-41220) ExternalStoreNo is not unique in the identity database, so it does not cause problems during import. |
User roles | Fix: Not possible to "Expand all" in user management (RTC-34799) 'Expand all' button expands the whole tree of user roles. |
User role export | Fix for: Blob export when assigning permissions to a role (RTC-23813) When permissions assigned to the role change, only users assigned to this role are exported, not all the users. |
Release 24.04.2024
Update of name for invited users
When inviting users from external Azure Active Directory (AAD), first name, last name and display name are copied from user from external AAD. When there are made any changes to these values in external AAD, they are updated on invited user (in AAD).
Improvement
Area | Description |
---|---|
System | Fix: "Cannot read properties" errors (RTC-37432) When user opens 'roles' tab from user details view, no error is shown in console. Similarly, when creating new user, by searching for him in AAD and there are no results, there is also no error. |
Release 22.03.2024
Area | Description |
---|---|
Manage cashiers in Cloud | Language on cashier, Training & Prevent cashier login in POS flags (RTC-37415) The cashier language field has been added to the cashier data column. The list of languages supported by POS and selectable are: DK, DE, GB, EE, FI, NO, SE and default. Two new flags "Training mode" and "Cashier login prevented" have also been added, which are visible in the user interface under the Card Id field when active. The language field and both flags are exported in the Cashier section. |
System | Pass login_hint to MS Entra (AAD) authentication (RTC-38736) When request for authentication contains login_hint (which is a username), page to enter username/pick user is skipped and user is taken directly to the page where he can enter password. After entering password, user is logged in with correct permissions. |
Release 26.02.2024
Area | Description |
---|---|
Store permissions | Receipt journal permission (RTC-37452) New permission group 'Receipt journal' was added to store role. It contains 'View receipt journal' permission. It is possible to create and update store role with this permission. After adding/removing permission, users on who this action was performed, are exported to JSON in UserManagement.User.Export. Users with roles using this permission can be imported. |
Release 19.01.2024
Area | Description |
---|---|
Card ID for cashiers | Fix: Exception when adding Card ID (RTC-37626) It is possible to add Card ID to cashier without exception for tenants with short names. |
Release 03.01.2024
Select tenant
When having access to more than one tenant, user sees modal where last used tenant is proposed as first. Last login on that tenant is given as well. In the bottom section of modal user can search for different tenants, as well as see proposition of the other available tenants.
The user is authenticated during login, and cannot access modules after logging out.
Select tenant
When having access to more than 10 tenants, user is able to login and sees modal where last used tenant is proposed as first. Last login on that tenant is given as well. In the bottom section of modal user can search for different tenants, in order of last login, as well as see proposition of the other available tenants.
Card ID for cashiers
Cashiers can have assigned Card IDs, and it is possible to add such ID's manually or by import. For users with no cashier, no information about card ID is visible. If cashier has no Card ID, then there is a text 'Card ID is not added' under Card ID section. To add Card ID, user has to click on the 'edit cashier' button and select 'Add Card ID' option. Card ID can be any string, but cannot be empty or have spaces in front or in the end. After saving entered value, text changes to 'Active Card ID'. It is possible to change card ID or deactivate it, both by choosing correct option is dropdown in 'edit cashier'.
Card ID is saved in database as hash and it is also exported as hash to 3rd party in UserManagement.User.Export blobs. Export is triggered when there are made any changes to Card ID - that means it is added to user, changed or deactivated. For inactive Card IDs, they are exported as empty brackets.
Release 03.11.2023
Area | Description |
---|---|
Cashiers | API for cashier validation from POS (RTC-34845) When cashier is created for a user and the password is set to cashier number or when password was reset, an API request /api/Cashiers/{cashierNo}/verifyPasswordValidity returns that password is expired. User has to change password when logging into the POS. |
Export | Export of Card ID for users (RTC-35752) API contract for user export includes CardID in Swagger documentation. |
System | Fix: Importing users to AAD (RTC-34727) The system job InviteFromAzureAdToAzureAd job uses fewer resources when inviting users to our Azure Active Directory domain. |
User Management | Column picker in grid (RTC-34617) Column picker is available as a dropdown under '+' button in grid. User can to search for column names in it. |
Release 20.09.2023
Area | Description |
---|---|
System | Invite job for users (RTC-34469) The default job InviteFromAzureAdToAzureAd triggers once per hour (3 minutes past the hour). Performance is logged. |
Release 22.08.2023
Area | Description |
---|---|
System | Migration to .NET 6 (RTC-28892) Shell and User Management module are migrated to .NET 6. |
System framework update | User management is updated to Angular version 16 and Kendo version 12 (RTC-14939) Additionally:
All functionalities stay the same, but it is possible to filter in columns on the same values of filters in a row. To filter, user does not need to press enter, but it happens immediately after typing in input. Additionally, clicking on column picker opens a dropdown with columns to select and selected columns show up/ hide immediately after picking/removing a checkbox next to a name of the column. |
Release 19.07.2023
Area | Description |
---|---|
System | Supporting scale-out (RTC-33374)
|
Release 31.05.2023
Area | Description |
---|---|
Permissions | Reporting permission (RTC-31514) Permission 'Access store data' can be found under Reporting category when assigning permissions for a store role. |
Roles | Permission translations (RTC-31952) Permission is correctly translated into Swedish and Norwegian. |
Release 15.05.2023
Managing cashiers
Editing options for cashier user are displayed in a dropdown with the 4 different options:
- Change PIN
- Reset PIN
- Change cashier number
- Deactivate
Options are visible in dropdown when clicking edit cashier button. Information on deactivated cashier is
shown above Cashier number.
Improvement
Area | Description |
---|---|
System | Handling of restart (RTC-31468) The performance of the app (Shell) when restarting multiple modules and sending requests to register and get methods at the same time is improved, requests response takes less time. |
Release 29.03.2023
System administrator role
- The SystemAdministrator role includes permission "ManageAdministrators".
- A user with ManageAdministrators permission can:
- Add and remove this permission from the role (otherwise it is greyed out)
- Add to a user and remove from a user a role containing this permission.
- If the user has a role that does not contain ManageAdministrators permission, he cannot remove or add a role containing this permission, he will be informed about it with a notification.
Active flag on cashiers:
- When a user is sent with CashierNumber, he has his cashier active.
- When a user doesn't have a CashierNumber at all - nothing changes (Cashier is not added).
- If user that currently has a cashier, will be sent without CashierNumber, the cashier is deactivated for him.
- When a cashier is inactive, it's not exported to POS (Cashier, not user).
- All users that are cashiers right now, are updated as active ones.
Cashier management
When adding or editing cashier, there is no notification about required field if selecting option "Get next available number".
Secure cashier password
Cashier password is stored as hash in database.
Release 02.02.23
Automatically creating users as part of the invitation process
In the job InviteFromAzureAdToAzureAD it is possible to specify a permission for the invited Azure AD group. This enables us to automatically create the user in User Management and assign a role to the user.
If the property "OfficeLocation" is set in Azure AD and the permission group in User Management is per store (not common) we will assume that this contains a store number and assign this store number to the user created. If this group has one or more POS permissions enabled we will automatically create an active cashier for this user.
If the role is a common role, then it is not required to have the OfficeLocation parameter set in Azure AD.
Release 01.02.2023
Manage cashier pin code
In User Management you can manage cashiers with pin code for login to POS.
- A cashier can be deactivated and activated.
- Pin can be changed and reset.
- Cashier number can be changed.
- In case of 'PIN set in POS' CashierPin is the same as CashierNo.
- Creating new user with PIN does not have cashier creation (but without pin has).
- There is validation for wrong old password and cashierNo already set to other user.
- It is not possible to create a new password with the same as already existing.
- Password must be of the appropriate length, specified by the parameter.
- Configuration parameter in database CashierPasswordMinLength.
Release 25.01.2023
Import of cashiers
API for importing users as cashiers is extended:
Additional fields and business rules in contract: Cashier.CashierNo
- CashierNo is set based on values in import file, it can be imported regardless of ExternalUserIdentifier
- If there's no cashierNo, but there's externalUserIdentifier, Cashier No and cashierPassword are set based on externalUserIdentifier
- Otherwise CashierNo is set based on the value in file, CashierPassword and CashierPasswordHash are set based on CashierNo
- If CashierNo is not changed for user, CashierPassword and CashierPasswordHash are not changed either (if the CashierNo is changed in import, they're changed as well)
- CashierNo must be unique
- CashierNo and CashierPassword, CashierPasswordHash are exported with cashier user
- CashierInStore Table is no longer maintained
- User can have username changed in import, it is then matched by ExternalIdentifier (lookup by CashierNo is not supported)
- When user has role with POS permissions on all stores level, he's exported with cashiers on each store. When new store is created, user is exported again, with cashier in new store.
Manage cashier
- Parameter PasswordExpiryInDays defines how many days the password will be valid for the cashier. By default, it has a value of null.
- Using a method from Shell API, you can check if the password is valid, and when it expires.
- Using a method from the Shell API, you can change the password for the cashier.
- The Identity.UserProfile table contains CashierPasswordLastChangedUtc column, which is updated when the password is changed.
Release 24.11.2022
Module | Description |
---|---|
System | Configuration of new modules for tenants (RTC-26815) When a tenant is not fully configured or a tenant is registered in one of the modules, but not in Cloud shell, then after a module restarts, the module will work for other tenants. |
Release 18.10.2022
Module | Description |
---|---|
Import users | Import of users RTC-26046) When importing a user into User Management and store/team/profile doesn't exist, the user is imported and a placeholder is created for store/team/profile. |
Roles | Fix: Saving permissions on store roles (RTC-23482) Store roles with Manage local item permission can be saved. |
System | Job exceutions with CompletedWithNoEffected (RTC-22786) When StagingMerger job (In IdentityServiceIntegration/Shell) executes with no effect, the status is 'Completed with no effect'. |
Release 04.08.2022
Module | Description |
---|---|
Import users | Import of users (RTC-24804) New cashier can be created directly from JSON contract file (having externalUserIdentifier and store role with POS permission). |
System | Fix: Configuration cleared when switching between tenants (RTC-22045) Configuration browser cache is cleared each time the user logs in. Fixes issue when switching tenants that have different configuration (user needs to log out and log in, in order to switch tenants). |
Release 29.06.2022
Import of cashiers
Cashiers are automatically created if the imported user has any cashier permissions. Adding a role with POS permission or POS permission to a role that user already has creates cashiers for all relevant stores.
Removing a role or POS permission from a role that user already has removes the cashiers for all relevant stores.
Adding a store to team/profile (when user has team/profile role), creates cashiers on all relevant users/stores
Removing a store from team/profile (when user has team/profile role) removes the cashiers.
Improvements
Module | Description |
---|---|
Export users/cashiers | Export users/cashiers (RTC-20015) User profile can be exported with all permissions and scoped permissions to JSON file (UserManagement.User.Export blob) After manually create cashier in database, cashiers are also exported as in case of users. All users can be exported to JSON (To do this, change the "version" value to 0 in Export.BlopType in db). |
Import users | Import of users (RTC-18492) Users are created and update with new common/scoped roles when using API with JSON contract for import. |
User Management | Searching for users (RTC-23440) A user with SystemAdministator role (only) can search for users in Find User component in User Management, while creating new users. |
User roles | Fix: Delete store row from user roles view (RTC-22649) While assigning store scoped role to user it is possible to delete this role right after creation. |
Release 11.03.2022
Module | Description |
---|---|
User Management | Create new users with alternative emails (RTC-15501) When creating new users in the system will also persist the users alternative emails. Fix: Invitation job for users (RTC-21363) When users are invited into our tenant specific AAD from the source AAD (managed by the customer), we will also copy the 'alternative emails' of the source user. |
Release 19.11.2021
Module | Description |
---|---|
User Management | Unblocking users (RTC-18167) If user is unblocked in Azure Active Directory, the user is unblocked in User Management. |
Release 28.09.2021
Module | Description |
---|---|
User Management | Creating users from Azure AD (RTC-15608) First name and Last name, split from Display name, are added automatically to the user when creating it in User management. First name, Last name, Display name of existing users can be edited. Users removed from Azure AD (RTP-13388) When a user is removed from the Azure AD Group in source AAD the user is blocked from logging in in the destination AD. If the user is added to the Azure AD group again in the source AD we did not unblock the user in the destination AAD. This is fixed and we are checking the "Block sign in" flag on the user from the destination AAD. |
Release 27.08.2021
Module | Description |
---|---|
User Management | ''All stores" option in store roles (RTC-15018) There is an option to select all stores in Store level when adding new store role to the user. This option is only visible if user has access to all stores in the user's details tab. |
Release 16.08.2021
Module | Description |
---|---|
User Management | Users with pending invitations to Azure Active Directory (RTC-15096) If a user has a pending invitation to a tenant and is added to User Management of this tenant, they will be granted access to this tenant when they try to login. When they select the tenant in the tenant selector, they will be presented with the window to accept the invitation and they will be immediately logged in after accepting it. |