Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

"System.Customer.UserImportExpireInitialPassword" -  Optional attribute.   A boolean to configure if the initial password needs to be immediately force changed.  True will force change the password on first login. To make ForcePasswordChange (or expire initial password) work, the following 2 NavPage attributes System.Security.PasswordExpiry.ExpiryDuration and System.Security.PasswordExpiry.ExpiryWarningDuration must be configured (see Attribute Definitions for details).

.


System.Customer.

UserImportUsePasswordOnCreate

System.Customer.

UserImportUseRandomPasswordIfNotProvided

Translation Mapping CSV Column to Password exists?

Predicate exist in UserImportNewUserPasswordFormat?

(a Predicate mandates the existence of a Translation Mapping Column from CSV to Password)

Action
falsefalsefalseTruecreate user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, don't create user and log error (but continue CSV file processing) (so if no password format is provided, will an error be logged for each user?)
falsefalsetrueTrue

create user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, don't create user and log error (but continue CSV file processing).

Note: It doesn't matter whether a password is provided or is empty/white spaces - the behaviour is the same. (you could represent this with one row in this table and "n/a" for the translation column).

falsetruefalseTrue

create user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, create user with random password (Guid)

Note: It doesn't matter whether a password is provided or is empty/white spaces - the behaviour is the same.

falsetruetrueTrue

create user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, create user with random password (Guid)

Note: It doesn't matter whether a password is provided or is empty/white spaces - the behaviour is the same.

truefalsefalseTruecreate user via password field in CSV (provided it meets the complexity requirements), build if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, don't create user and log error (but continue with CSV file processing)
truefalsetrueTrue

pwd provided: create user with provided password

pwd empty/white spaces: create user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, don't create user and log error (but continue with CSV file processing)

truetruefalseTruecreate user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, create user with random password (Guid)
truetruetrueTrue

pwd provided: create user with provided password

pwd empty/white spaces: create user via password format, if enabled via System.Customer.UserImportNewUserPasswordFormat. Otherwise, create user with random password (Guid)

...

// Generic User Import File Field Names (keys for dictionary)
private const string DeactivateUserKey = "Deactivate (X)";
private const string OrgPathKey = "OrgPath";
private const string OrgLoginKey = "OrgLoginID";
private const string LoginKey = "LoginID";   //This can be UserName or EmailAddress
private const string PasswordKey = "Password";
private const string FirstNameKey = "FirstName";
private const string LastNameKey = "LastName";
private const string EmailAddressKey = "EmailAddress";
private const string ContactEmailKey = "ContactEmail";
private const string CanViewReportsKey = "CanViewReports";
private const string ForcePasswordChangeKey = "ForcePasswordChange";

NoteNotes

  • OrgProfileFields are grabbed from that organization's repository, so the CSV header name must match the OrgProfileField DB Key (e.g. Vessel, Role, etc...), otherwise that column will be ignored (as the importer won't know what to do with it)
  • To make ForcePasswordChange work, the following 2 NavPage attributes System.Security.PasswordExpiry.ExpiryDuration and System.Security.PasswordExpiry.ExpiryWarningDuration must be configured (see Attribute Definitions for details).

Example of a configured org:

...

Deactivate (X): The first column indicates whether a user should be deleted (D) or deactivated (X). Leave empty to create/update and activate the user
OrgPath: is optional if no OrgLoginId has been set. Add user to this organization
OrgLoginId: is optional if LoginId has been set. Don't update if empty. Used as a secondary look up key to find an existing user (if LoginId is empty)
LoginId: can be user name or email address. Optional if OrgLoginId has been set. Used as a primary look up key to find an existing user
Password: if the user already exists and left empty - the password is not updated
FirstName: will not be updated if empty
LastName: will not be updated if empty
EmailAddress: will not be updated if empty
ContactEmail: will not be updated if empty
CanViewReports: 'True' or 'False'. Anything not 'True' (e.g. empty) for new users will be interpreted as 'False'. For updates, will not be updated if not 'True' or 'False'.
ForcePasswordChange: 'True' or 'False'. Anything not 'True' (e.g. empty) for new users will be interpreted as 'False'. For updates, will not be updated if not 'True' or 'False'.
OrgProfileFieldName: all active OrgProfileFieldNames

Notes:

...

  • The importer NEEDS that the headers are in the file.  The user importer uses the first line of the CSV to create it's mapping to the DB.  If the keys in the CSV do not match the keys in the previous section, then a mapping must be added to the translation attribute (also above).

...

  • Default Passwords - currently uses the user guid. force change is true for newly created user unless a password is specified in the file or the attribute.  Passwords will never update for existing users.

Creating a New User VS Updating an Existing User

...