Full User Import / Export
Overview
finPOWER Connect now supports full import and export of Users. Previously, the only way to move user information between databases was the limited Export User Extended data action on the File, Import/Export Information form — everything else (the user record itself, password reset flag, group membership) had to be re-keyed by hand on the destination database.
From this release, complete User records can be exchanged as XML through new actions on the Users form, and through the standard Import / Export Information forms. The same XML format works on both finPOWER Connect Desktop and finPOWER Connect Cloud, and the export filter is the existing Users & Responsibilities lookup — familiar to anyone who has used Workflow filters.
Two new methods on finUser — FromXmlString and ToXmlString — are also exposed to the Business Layer, allowing custom Scripts to read and write Users in XML form.
Prerequisites
Setup & Configuration
No configuration is required — the Import and Export actions are available on the Users form by default. The behaviour described below is the same whether the action is invoked from the dedicated Users form or from the Import / Export Information forms.
Where to find the actions in Desktop
| Action | Menu path |
|---|---|
| Import Users | Tools, User Security, Users — Utilities, Import |
| Export Users | Tools, User Security, Users — Utilities, Export |
| Bulk Import via Import Information | File, Import / Export Information, Import Information |
| Bulk Export via Export Information | File, Import / Export Information, Export Information |
Where to find the actions in Cloud
In finPOWER Connect Cloud, navigate to Administration, User Security, Users. The Users grid offers Import and Export actions through the grid's drilldown actions, mirroring the Desktop equivalents.
How to Use
Exporting Users
From Tools, User Security, Users, choose Export from the Utilities menu. Alternatively, use File, Import / Export Information, Export Information and select Users as the entity to export.
Filtering uses the standard Users & Responsibilities lookup. Enter * or leave the lookup empty to export all users. Otherwise specify individual users or responsibilities.
Select the destination XML file. The export uses the new finUser.ToXmlString method internally; the resulting XML can be optionally prettified.
Importing Users
From Tools, User Security, Users, choose Import from the Utilities menu, or use File, Import / Export Information, Import Information.
Point to a User XML file produced by the Export action. The import is also driven by finUser.FromXmlString, so XML produced from a Script using the same method is fully supported.
If the import file contains a User Id that already exists on the destination database, the system asks whether to update the existing User. The behaviour differs from a normal “Save” on the form:
- If you choose Yes, the existing User's fields are populated from the XML and the User opens in edit mode for confirmation before save.
- If you choose No, the imported User is saved immediately without entering edit mode — the User Id is auto-modified to avoid collision (for example, importing “Guest” when “Guest” already exists creates “Guest1”).
Imported Users are deliberately conservative to avoid accidental access:
- The User is created inactive.
- The Force User to change Password option is set to true, so the user must reset their password on next login.
Activate the User explicitly once you have verified the import.
Calling from a Script
The Business Layer functions are also available to Scripts:
| Function | Description |
|---|---|
finUser.FromXmlString(xml, updateExisting, ignoreForeignPks, warnings) |
Reads a User from an XML string. updateExisting controls whether an existing User Id is overwritten. ignoreForeignPks skips foreign key references that don't resolve on the destination database. warnings collects non-fatal messages. |
finUser.ToXmlString(includeXmlHeader, prettify) |
Returns the User as XML. Both parameters are optional; includeXmlHeader defaults to false and prettify defaults to false. |
Platform Differences
| Aspect | Desktop | Cloud |
|---|---|---|
| Action entry point | Tools, User Security, Users (Utilities menu) and File, Import / Export Information | Administration, User Security, Users — grid drilldown actions |
| XML format | Same | Same |
| Existing-user prompt (Yes / No) | Modal dialog on the desktop form | Modal dialog in the widget |
| Inactive + force password reset | Applied | Applied |
| Current user lockout protection | Applied | Applied |
Tips & Best Practices
When you are migrating user security between environments, also export User Groups and User Policies. Users on their own may reference Groups or Policies that don't exist on the destination database. The Import / Export Information forms support all three entity types.
* to export everythingThe Users & Responsibilities lookup accepts * (or an empty string) to mean “all users”. This is the simplest way to take a full backup of your user roster.
Every imported User is created with Active = false and Force User to change Password = true. This is a deliberate security default — review and activate the imported users explicitly. Failing to do so means imported users cannot log in.
The currently logged-in user is excluded from import to prevent the administrator running the import from accidentally locking themselves out (for example, by importing a copy of their own User and inadvertently overwriting their own active session credentials).
Knowledge Base References
Browse the live KB listings for v6.00.03 on the Intersoft support site:
The Knowledge Base articles consolidated into this release notes page: