Related Topics
Test Server Methodology
Process Director can be installed on a development or test/staging server to create and test applications without affecting your production environment. Applications can be exported from a test server and imported to the production server. See the Importing/Exporting Content topic in the Implementer's Reference.
The safest option is to create a new, blank database for your test installation. You'll, once the test server is set up properly, have to manually export all of your existing object definitions from the Production server to the Test server.
When you want to set up a Test server, follow these steps:
- Create a new, blank Test database
- Create a blank database on SQL Server to host your test installation.
- Ensure that the database settings for Process Director are using the connection string for the test database and not the production database.
- Run the test server diagnostics using the online Administrative functions under Troubleshooting.
- Enter the test license key and token again on the test server in the online Administrative section under the Installation > Licensing.
- Navigate to the installation tab in the Administration section and ensure the Interface URL in the Installation Settings is pointing to the test server (if any values were configured).
- Turn off email notifications on the test server using the Administrative section and changing the Email Notification option in the Installation tab.
This setting is important because emails sent to users from the test system may be confusing. The other option is to replace all email addresses in the database with another email address for testing. This can be done by setting the TestUserEmails custom variable in the installation's vars.cs.ascx file. This variable allows you to route all process emails (task list emails, notifications, etc) to a single user. Use this setting with caution. It should only be used on non-production systems to test processes and Forms. - To test the system by logging in as different users, turn off security for all users on the TEST system at the database layer, and set the
fTestMode
variable to "true" in the vars.cs file. In this mode, Windows Integrated authentication is disabled. This mode allows anyone to log into the server without a password. Use this setting with caution. It should only be used on non-production systems to test processes and Forms. - You can now export Content List items from the Production server, and import them into the Test server.
For test servers, if you enable users to recover passwords, you should be aware that, when using the TestUserEmails custom variable, password reset emails will not be sent to the configured Test User Email address. Exempting the Test User Email address is done for security purposes, because anyone with access to the test email account would gain the ability to access the account of any user that submits a "Forgot password" request. Password reset emails are, instead, sent directly to the requesting user.
public override void SetSystemVars(BPLogix.WorkflowDirector.SDK.bp bp)
{
bp.Vars.fTestMode = true;
bp.Vars.TestUserEmails = User.GetUserByUserID(bp, "my_test_id");
}
After the above steps are completed, you can modify existing Processes on the test system and export them. The exported Processes can be then imported into the production server.
Using Production Data
When you are ready, you have an additional option to use production data on your Test server by importing your existing Production database into the Test database. This will provide an exact mirror of your Production installation, however, it may expose sensitive data to users in the test environment.
Exercise extreme caution when selecting this option, to avoid a breach of sensitive data.
To reproduce your production data on the Test database for Process Director v5.44.700 and higher follow the steps below. For versions below v5.44.700, steps 1, 3, 6, and 7 are not needed, as those version do not implement AES encryption.
- Be sure web access to the test system is disabled during this process to prevent any users from accessing the system during this process.
- Backup the database on the test server and save Process Director license key and token.
- Backup your existing bpProperties.xml file in the App_Data folder.
- Save the value for Database Connection String from /admin/db.aspx. Using the UI allows you to view the un-encrypted value.
- Turn off email notifications on the test server by setting the TestUserEmails flag in the installation's vars.cs.ascx file. This variable allows you to route all process emails (task list emails, notifications, etc) to a single user. Do this prior to copying over the Production database to ensure that users don't receive a plethora of notifications from the Test database when the import is complete.
- Copy the Process Director production database to the test server. This WILL overwrite your existing test database, if applicable. All of your existing process director objects in the Production database will be available in the Test database.
- Copy the sEncryptionKeyDoNotModify and sCheckValue XML elements from the production bpProperties.xml to the test server bpProperties.xml.
- You will need to set all the following values to empty (if used) and then reconfigure them in the administrative UI because you are changing the system's encryption key: sSMTPPassword2, sSMTPSecret, sSMTPClientID, sSMTPTenantID. Once configured, these values can be restored using the IT Admin pages AFTER saving bpProperties.xml.
-
After saving bpProperties.xml, restore the value of the Database Connection String from 3(a) using /admin/db.aspx page.
- If you are storing documents on a Windows file system instead of the Process Director database, ensure you make a copy of that file system to the appropriate location for the new system.
- Copy any other Custom variables you are using in the Production installation's custom vars file to the Test server's custom vars file. Do NOT copy the vars file itself, just the text of the vars settings from the Production vars file to the Test vars file.
- Copy any other customized process scripts or other file-based customizations from these production directories to the test server:
\Program Files\BP Logix\Process Director\website\custom\*.*
- Re-enter your license key information on the Test Server.
You may wish to re-import the production data on a recurring basis, like once a year, or once every six months, so that changes to existing Processes can be tested based on a recent copy of the Production environment.
Documentation Feedback and Questions
If you notice some way that this document can be improved, we're happy to hear your suggestions. Similarly, if you can't find an answer you're looking for, ask it via feedback. Simply click on the button below to provide us with your feedback or ask a question. Please remember, though, that not every issue can be addressed through documentation. So, if you have a specific technical issue with Process Director, please open a support ticket.