User groups

Depending on your type of solution, you will have different kinds of users associated with your Dynamicweb system.

For instance, you could have:

  • Backend marketing personnel, who use the Dynamicweb Marketing tools to create and execute campaigns
  • Backend administrators and editors
  • Frontend private and business customers
  • Frontend editors
  • Etc.

All of these will be organized in user groups.

And with user groups, administration and maintenance of all your different kinds of users can be done in an easy and speedy manner, by administrators – or even by the users themselves – including the ability to assign or remove permissions to certain content or apps.

To create a user group:

  • Click Users on your main menu
  • Open a context menu and click New group (Figure 2.1)
Figure 2.1 Click new group to create a new user group

This opens the basic group settings (Figure 2.2).

Figure 2.2 The basic user group settings

You must:

  • Name the group
  • Select users for the group by adding them individually – or by selecting a smart search in the dropdown.
  • Click Save or Save and close the user group to create it

Under the Information and GeoLocation settings areas, you can provide group-specific information, but this is optional, and may or may not be useful for your groups.

To edit, delete or move a user group:

  • Right-click the group in the user tree (Figure 3.1).
  • Click Edit, move or delete group
Figure 3.1 Right-click a user group to e.g. edit, delete or move it

From the right-click menu, you can also sort users in a user group, import and export users, and create new users and subgroups.

When creating or editing a user group you have access to a number of tools in the ribbon bar (Figure 4.1).

Figure 4.1 The user group ribbon

You can:

  • Select a custom editor configuration for users in this group
  • Check Allow backend login to give all users in this group access to the backend - you can then use permissions to specify what they should be allowed to see
  • Select a custom start page 
  • Bulk-change email permissions for the entire group
  • Click Validate emails to check the format of all email addresses for users within the group. A window with incorrectly formatted emails will pop up, and allow you to correct or delete the addresses. The validation runs as follows:
    • Is the email format valid?
    • Does the domain exist?
    • Does the domain have an MX (mail server) record?
  • Select a number of group admins – users who can edit or add users in the user group. Disabled when using the new permissions model.
  • Select an item type and extend the group or all users in the group with the item fields
  • Set up impersonation for the user group (save the group first).

At the top of all user group lists you have the user filters (Figure 5.1). Use these to search the current group - or use the Search node to search through all users on the solution.

Figure 5.1 You can search and filter users within a group

Use the text field for search terms and the dropdown menus to filter your user. By default, all fields are searched except custom fields (which cannot be searched).

Use operators to seach specific fields:

Less than

Greater than

=

Equal

!=

Not equal

+

And

-

And not

Use double quotes to search for values containing spaces.

Note that the “=” operator does not work as a ‘contains’ operator, but as an equal-operator. This means, that if you search for e.g. Department=Marketing, you will only find users who have the value ‘Marketing’ in the department field, and not users who have e.g. the value ‘Sales & Marketing’ in the department field.

Here are a few examples of seach parameters and results:

Search field entry

Search result

Username = Kristian

All users with the username “Kristian”

Name = "Kristian Hansen"

All users with the name “Kristian Hansen”

ID > 100

All users with an ID number greater than 100

Zip = 8000

All users with 8000 as Zip code

Address = "Solbakken 45"

All users with the address “Solbakken 45”

Department = “Marketing Department”

All users from the specific department named “Marketing Department”

Type = Default + ValidTo = "01/01/2011 00:00"

All users of the type Default whose validity period ends on 1st of January 2011, 12:00 AM

Type = Default - Zip = 690912 + City = Vladivostok

All users of the type Default from Vladivostok whose zip-code is not 690912

ValidTo > "01/01/2013 00:00"  

All users whose validity period ends after on 1st of January 2013, 12:00 AM

Active = False

All inactive users

AllowBackend = True

All users allowed to login to backend

ValidTo = "12/31/2999 23:55"

All users with unlimited validation period (if the Valid to is set to:  Dec 31 Never 23:55 in Options for the user)

ValidTo > "01/01/2013 00:00" + ValidTo != "12/31/2999 23:59"

All users whose validity period ends after on 1st of January 2013, 12:00 AM – but without the users with unlimited validation period.

For a full list of fields you can search see the Database section of this documentation.

New users are created at the top of the user list.

You can sort your users temporarily by clicking arrows on column headers, but if you want a specific sorting on a permanent basis, you can click sort users in the user group context menu - and open the sort users view (Figure 7.1).

Figure 7.1 The sort users view allows you to permanently change the sorting of users in a user group

From here, simply drag and drop users to suit your needs and click save.

Users – much like products – can be created and maintained on a remote system and then imported to the Dynamicweb solution on a schedule, e.g. daily or hourly. This happens using the integration framework and is usually a fairly complicated setup.

If your needs are simpler, however, you can also import users directly to a user group by opening a context menu and clicking import users (Figure 8.1).

Figure 8.1 Right-click on a user group or smart search to be able to import and export users

This opens a dialog where you must:

  1. Select a source file – this could be an .xlsx or .csv with user data
  2. Select a file type – we will make an educated guess based on the selected source file
  3. Configure the source settings which means:
    1. Select a table/sheet
    2. Select an import key – If a user with the key exists the user will be updated, if not a new user will be created,
    3. (Optional) Click Apply settings to preview
  4. Map data from the source columns to the destination columns – i.e. place data from the file into appropriate user fields in Dynamicweb (Figure 8.2)
  5. Click Save or Run
Figure 8.2 Mapping data from source to destination

Likewise, users can be exported from Dynamicweb and then imported into a remote system on a schedule, e.g. hourly or daily. This happens using the Integration Framework and can be more or less complicated depending on the remote system.

If your needs are simpler, however, you can also export users directly from a user group by opening a context menu and clicking export users (Figure 9.1).

Figure 9.1 Click Export users in the right-click menu to export users

This will take you to the export users view, where you can:

  • Select the ExportUsers activity to export all user data
  • Select the ExportUsersToExcel to export users using the Excel provider
  • Select the ExportUsersWithSelectedColumns activity to customize which user data to export.

To export your data click Export users in the top left corner of the window. This will create a CSV file with your users.

database

These are the tables relevant for Users and User groups in the Dynamicweb database:

If a solution employs custom user fields these will also appear on a user group (Figure 11.1). The values entered in these custom fields act as a fallback values if the field has no value on a user in the group.

Figure 11.1 Custom fields on a user group

AccessUser

Contains all the users and groups in Dynamicweb

Field name Data type Length
AccessUserId int 4
AccessUserParentId int 4
AccessUserUserName nvarchar 255
AccessUserPassword nvarchar 255
AccessUserName nvarchar 255
AccessUserDepartment nvarchar 255
AccessUserEmail nvarchar 255
AccessUserPhone nvarchar 255
AccessUserFax nvarchar 255
AccessUserGroups nvarchar 255
AccessUserType int 4
AccessUserValidFrom datetime 8
AccessUserValidTo datetime 8
AccessUserPages nvarchar 255
AccessUserAreas nvarchar 255
AccessUserSettings nvarchar Max
AccessUserModules nvarchar Max
AccessUserInformation nvarchar Max
AccessUserMyFolder nvarchar 255
AccessUserAddress nvarchar 255
AccessUserAddress2 nvarchar 255
AccessUserZip nvarchar 255
AccessUserCity nvarchar 255
AccessUserCountry nvarchar 255
AccessUserJobTitle nvarchar 255
AccessUserCompany nvarchar 255
AccessUserPhonePriv nvarchar 255
AccessUserMobile nvarchar 255
AccessUserCustomerNumber nvarchar 255
AccessUserRedirectOnLogin nvarchar 255
AccessUserCurrencyCharacter nvarchar 3
AccessUserRead bit 1
AccessUserAdsiMap nvarchar 255
AccessUserPasswordDate datetime 8
AccessUserLastName nvarchar 255
AccessUserMiddleName nvarchar 255
AccessUserActive bit 1
AccessUserImage nvarchar 255
AccessUserBusiness nvarchar 255
AccessUserInitials nvarchar 255
AccessUserComment nvarchar Max
AccessUserLevel int 4
AccessUserInheritAddress bit 1
AccessUserWeb nvarchar 255
AccessUserSort int 4
AccessUserStatus int 4
AccessUserStatusBegin datetime 8
AccessUserStatusEnd datetime 8
AccessUserStatusComment nvarchar 255
AccessUserEditorConfigurationId int 4
AccessUserHideStat bit 1
AccessUserCartId nvarchar 50
AccessUserAllowBackend bit 1
AccessUserApprovalKey nvarchar 50
AccessUserShopId nvarchar 50
AccessUserExternalId nvarchar 250
AccessUserSortXML nvarchar Max
AccessUserGeoLocationLat float 8
AccessUserGeoLocationLng float 8
AccessUserGeoLocationIsCustom bit 1
AccessUserGeoLocationImage nvarchar 255
AccessUserGeoLocationHash nvarchar 32
AccessUserNewsletterAllowed bit 1
AccessUserCreatedOn datetime 8
AccessUserUpdatedOn datetime 8
AccessUserCreatedBy int 4
AccessUserUpdatedBy int 4
AccessUserEmailPermissionGivenOn datetime 8
AccessUserEmailPermissionUpdatedOn datetime 8
AccessUserState nvarchar 255
AccessUserVatRegNumber nvarchar 20
AccessUserDisableLivePrices bit 1
AccessUserLastLoginOn datetime 8
AccessUserPointBalance float 8
AccessUserAdministratorInGroups nvarchar Max
AccessUserTitle nvarchar 255
AccessUserFirstName nvarchar 255
AccessUserHouseNumber nvarchar 255
AccessUserLastOrderDate datetime 8
AccessUserPasswordRecoveryToken nvarchar 128
AccessUserPasswordRecoveryTokenExpirationTime datetime 8
AccessUserGroupSmartSearch nvarchar 50
AccessUserGroupSmartSearchLastCalculatedTime datetime 8
AccessUserExported datetime 8
AccessUserItemType nvarchar 255
AccessUserItemId nvarchar 255
AccessUserDefaultUserItemType nvarchar 255
AccessUserStockLocationID bigint 8
AccessUserCountryCode nvarchar 2
AccessUserAddressTitle nvarchar 255
AccessUser_VIPContactMail bit 1
AccessUser_ContentMarketingAndEcommerceDeveloperExpire datetime 8
AccessUser_C0Certified bit 1
AccessUser_C0CertifiedExpire datetime 8
AccessUser_C1Certified bit 1
AccessUser_C1CertifiedExpire datetime 8
AccessUser_C3Certified bit 1
AccessUser_C3CertifiedExpire datetime 8
AccessUser_C2Certified bit 1
AccessUser_C2CertifiedExpire datetime 8
AccessUser_C4Certified bit 1
AccessUser_C4CertifiedExpire datetime 8
AccessUser_DWEmployee bit 1
AccessUser_ErpSystem nvarchar Max
AccessUser_EmailAddressValid bit 1
AccessUser_NaceCode nvarchar Max
AccessUser_MVP bit 1
AccessUser_Owner nvarchar Max
AccessUser_ParentCountry nvarchar Max
AccessUser_PamNewsletter bit 1
AccessUser_ParentCategory nvarchar Max
AccessUser_ParentPartnerType nvarchar Max
AccessUser_PrimaryLineOfBusiness nvarchar Max
AccessUser_PartnerAccountNumber nvarchar Max
AccessUserUserAndGroupType nvarchar 255
DefaultPermission int 4
AccessUser_GDPRNewsletterConsent bit 1
AccessUser_GDPRNewsletterConsentTimestamp datetime 8
AccessUser_GDPRNewsletterConsentAcquiredBy nvarchar Max
AccessUser_FinancialInformation bit 1
AccessUser_C5Certified bit 1
AccessUser_C5CertifiedExpire datetime 8
AccessUser_C6Certified bit 1
AccessUser_C6CertifiedExpire datetime 8
AccessUserInformationSent datetime 8
AccessUserReverseChargeForVat bit 1
AccessUserProfileCreatedDate datetime 8

AccessUserAddress

For users with multiple defined addresses extra addresses are defined here and linked via AccessUserId.

Field name Data type Length
AccessUserAddressId int 4
AccessUserAddressUserId int 4
AccessUserAddressType bit 1
AccessUserAddressCallName nvarchar 255
AccessUserAddressCompany nvarchar 255
AccessUserAddressName nvarchar 255
AccessUserAddressAddress nvarchar 255
AccessUserAddressAddress2 nvarchar 255
AccessUserAddressZip nvarchar 255
AccessUserAddressCity nvarchar 255
AccessUserAddressCountry nvarchar 255
AccessUserAddressPhone nvarchar 255
AccessUserAddressCell nvarchar 20
AccessUserAddressFax nvarchar 255
AccessUserAddressEmail nvarchar 255
AccessUserAddressCustomerNumber nvarchar 255
AccessUserAddressUId nvarchar 25
AccessUserAddressState nvarchar 255
AccessUserAddressIsDefault bit 1
AccessUserAddressExported datetime 8
AccessUserAddressPhoneBusiness nvarchar 255
AccessUserAddressDefaultAddressCustomFields bit 1
AccessUserAddressCountryCode nvarchar 2

AccessUserSecondaryRelation

Contains AccessUserId of users (AccessUserSecondaryRelationUserID) who can log in on behalf of other users (AccessUserSecondaryRelationSecondaryUserId) (i.e. Impersonate them).

Field name Data type Length
AccessUserSecondaryRelationUserId int 4
AccessUserSecondaryRelationSecondaryUserId int 4
AccessUserSecondaryRelationAutoId int 4

CustomField

Contains definitions of custom fields on users

Field name Data type Length
CustomFieldSystemName nvarchar 50
CustomFieldTableName nvarchar 255
CustomFieldType nvarchar 50
CustomFieldName nvarchar 255
CustomFieldOptions nvarchar Max
CustomFieldSort int 4
CustomFieldAutoId int 4