After installing VisionFlow onto your live server you must set up an additional test environment.
The reason for this is so that you can upgrade and test new versions of VisionFlow before upgrading your live environment. It is important that you make sure no problems occur when you upgrade of the live environment.
If you run upgrades on your live environment directly and skip the test environment, then there could be problems in your live environment that may be hard to fix. It is normally not possible to rollback an installed upgrade to a previous version. Also, sometimes components such as Java or Tomcat may need to be upgraded first which may require some planning.
Other benefits are:
- New features can be tested first before giving all your users access to them.
- New configurations, filters or data structures can be tested before applying this to the live environment
- New modules that you've purchased can be tested and configured before moving it to the live environment
Setting up a test environment
Setting up a test environment is quite straight forward:
- Follow the installation instruction steps 1-4 and install VisionFlow on a separate server/pc (not the same server as you are running the live environment on)
- Take a copy of your live database and files
- Stop tomcat in the test environment (as well as Tigase and Elasticsearch if you use those optional components)
- Overwrite the test server webapp files and database with the files and database from the live environment.
- If you have a tomcat cluster with multiple tomcat instances, change "::channelName=EHCACHE_VISIONFLOW" to "::channelName=EHCACHE_VISIONFLOW_Test" in webapps\ROOT\WEB-INF\classes\ehcache.xml and change the multicast address used in the cluster configuration in conf\server.xml in your tomcat folder so that it differs from your live environment.
- This is a very important step: Change critical data / configuration in the test environment by:
Remove all email addresses in the users table by executing the SQL Update statement :
UPDATE SystemUser SET Email = '', EnableEmailNotifications = 0, AdditionalEmailAddresses=''
Disable all email ticket systems in the MailSettings table :
UPDATE MailSetting SET EnableMailfetching = 0, MailUserName = ''
Disable "Search subscriptions" and "Contract subscriptions" :
UPDATE JobSchedule SET NextRunDate = NULL
Disable SMS Settings to prevent sending sms and clean cell phones :
UPDATE SMSSettings SET IsActive = 0; UPDATE SystemUser SET CellPhone = null;
Disable EWS settings to prevent synchronization on the test :
UPDATE ExchangeWebServicesSettings SET Running = 0
Inactivate all company integrations to prevent live integrations to be running on Test :
UPDATE CompanyIntegrationSetting SET IsActive = 0
Update company home url (replace test.company.local with your own URL for your test environment) :
UPDATE Company SET visionProjectHomeURL = 'test.mycompany.local' WHERE CompanyId= 1
If you are using the enterprise version of VisionFlow you also need to run the following statement to remove all email addresses in the billing preferences table :
UPDATE BillingPreferences SET Email = '', SecondaryEmail=''
- This also is an important step: If you copy the installation file from your live environment (i.e. all files), you must change your properties files on the test server, by :
- Change the VisionFlow.properties file and change all file paths, such as the ones for your documents and indexes.
- Change the VisionFlow_database.properties file to guarantee that you don't use the same database as your live server
- If you use Tigase and/or Elasticsearch and have copied their installations directories from your live environment to your test environment you need to reconfigure them for the test environment:
- Open etc/init.properties inside your Tigase installation directory and make sure no ip addresses or domain names from the live environment is used
- Open config/elasticsearch.yml inside your Elastcsearch installation directory and make sure no ip addresses or domain names from the live environment is used
Please note step 5 above, this is important otherwise VisionFlow may send out emails to normal users when you test the system, or fetch emails from different email accounts.
Also please note step 6 above, since it is important that the test server doesn't use the same database settings or document file paths.
Recommendations when upgrading to a new version
- Make sure you have an test environment identical to the live environment as much as you can, see above
- Prior to an upgrade make sure that the test environment above is up-to-date with the latest database and configuration files.
- Don't forget step 5. in "Setting up a test environment" above
- Test upgrading the trial environment to the new version of VisionFlow, and also try out the most common features to see that all is well.
- Before doing the upgrade on the actual live environment to see that VisionFlow works well first. If not, then contact us and send along screen shots, log files and collect as much information as possible.
- Plan upgrades of the live environment well ahead of time, so that step 3. can be completed before and so that any problems or questions can be addressed ahead of time by our tech team ahead of time.
- If you need our tech team available for an upgrade to stand by and assist quickly, or assist during the actual upgrade, then you will need to schedule their availability. While the support team work during weekends, our tech team doesn't.
- Make sure you have a backup ready so that you can roll back easily if an upgrade fails for whatever reason.