User groups

A user group is an object which acts as a container for user accounts, making it possible to organize users – this has several purposes:

  • Better Overview – It’s much easier to keep track of who is who if you’ve got separate groups for administrators, editors, customers, etc.
  • Setting Permissions – members of a group can be granted a specific level of access to frontend and backend content – or denied access altogether
  • Customer Self-service – using the Extranet app a user can add or remove themselves from select user groups functioning as e.g. opt-ins for various newsletter categories.

Many other parts of our system – like Email Marketing – also use product groups for various things, e.g. selecting a list of recipients, selecting a group to import user accounts to, and so on. User groups are created from the Users area by opening a context menu and pressing New group or New subgroup.

When a user group is selected in the area tree you will see a users list in the content pane (Figure 1.1).

Use this list to browse the users within the group and click on a user to open the user group details view. New users are always created at the top of the list, but you can sort users via the sort users context menu option.

If you right-click a user group and selects Edit you will see the user group details interface (Figure 2.1) – which consists of:

  • A toolbar (1) which provides access to various tools and settings related to user groups
  • A list of fields (2) – standard and custom – which are associated with this user group
Figure 2.1 The user group details interface

Using the toolbar you can:

  • Open the permissions matrix for this user group
  • Select a custom editor configuration for users who are members of this group
  • Check allow backend login to provide all users in this group with backend login – you must then use the permissions model to grant them access to various features
  • Select a custom start page for users in this group
  • Bulk-change the email permissions for users in this group (make sure this is legal!)
  • Set up impersonation for the user group
  • Set up group admins – users who can add users to or remove users from this group. This only works with the old permissions model.
  • Select an item type – the item fields will then extend the group properties/user fields of users in this group

If you click the validate emails button our built-in email validation tool will check all email addresses of users in this group:

  • Is the email format valid?
  • Does the domain exist?
  • Does the domain have a mail server record?

A popup with invalid emails will be shown, allowing you to either correct or delete the address.

A user group also comes with a set of standard fields – they are described below. Some of these are used for storing information about the user group, e.g. if it represents a particular company or location – others are used to e.g. create a user group with dynamic membership.



Used for







Default Permission

Set a default permission level for members of this group

This is typically used to give select users bulk-access to backend content – this is a fallback value.






Select Users

Selecting which user accounts to include in this group



Select Smart Search

Selecting a smart search to attach to this user group – this replaces any selected users with the users matched by the smart search criteria.

Using smart searches to determine group membership is a way to create dynamic user groups based on criteria.






Customer number




Job title




Company name








Address 2




Zip code








State or region












Phone (private)






Very important field!


Mobile phone










Click the ’Show location on map’ button to manually select and save a set of coordinates.


The ’Get location from API’ button attempts to retrieve coordinates based on address information on the user.




Click the ’Show location on map’ button to manually select and save a set of coordinates.


The ’Get location from API’ button attempts to retrieve coordinates based on address information on the user.




This setting indicates whether this is a custom location (set via ’show location on map’) or not (set via ’Get location from API’).



An image

This image can be used to replace the standard maps marker when rendering geolocations on a map (this is automatic if the Maps app is used).

If a solution employs custom user fields these will also appear on a user group (Figure 4.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 4.1 Custom fields on a user group

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


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


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 255
AccessUserAddressFax nvarchar 255
AccessUserAddressEmail nvarchar 255
AccessUserAddressCustomerNumber nvarchar 255
AccessUserAddressUId nvarchar 50
AccessUserAddressState nvarchar 255
AccessUserAddressIsDefault bit 1
AccessUserAddressExported datetime 8
AccessUserAddressPhoneBusiness nvarchar 255
AccessUserAddressDefaultAddressCustomFields bit 1
AccessUserAddressCountryCode nvarchar 2


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