Just some hints when making a Test environment from a backup of the live one.
Set a theme that obviously shows the user they’re in the Test Environment
In Company Maintenance:
Change Company name to something obvious like !!! TEST CO (10-13-2020) !!!
Change Global Alert From -> Email Address to indicate it’s from the test company.
Ex: from no-reply@example.com to no-reply-TST@example.com
In Company Config:
Disable TaxConnect, or set URL to sandbox (if you have one)
In System Agent Maintenance:
Remove schedule tasks and/or disable schedules
Update “Server Data Directory” and “Client Data Directory” in System agent (if needed)
Probably lots more … Feel free to add yours.
Maybe it should be a new topic, but what “resources” do you share between the Production App and Test App?
Do you have entirely separate SSRS storage (DB’s for the actual RDLs, and/or the ReportData, DataSources, etc…)?
Separate attachments storage?
Separate Client Data storage (the “EpicorData” folder on the App server)?
If so, do you copy those resources from the storage for Production App, to the storage for the Test App?
Edit
When making a new theme for the Test environment, do it in the Production environment. This way it will exist when the PROD is copied to TEST. Then all you have to do is select the theme.
We have separate everything - sql/ssrs server, docstar server, appservers, epicordate locations, etc. - but they are all on VMs and with the ability to snapshot at will, testing/receovery/testing cycle is super easy.
As for changes inside the DB, I’ve built a script to do the work for me… it can be found attached to this post TestEnvironment on same server as Production - #6 by Ashley
It disables schedules, set’s company names, directories, etc. as you described.
The drawback of totally separate is that you do need to copy report files and stuff between systems to keep everything in sync.
I also like to have a field Company.LiveDB_c that I set to false. This is used in things like print routings so the emails can still be sent in test, but to test accounts.
Epicor now has a basically the same field in Ice.SysCompany but it’s a bit hard to access in the routings…
“Since 10.2.700 you can define colors and a friendly installation name such as pilot or live which may be used to help you more easily see what environment, company, and site you are currently working in.”
Yeah but not in Kinetic…
I’ll add that to my gripe list. Maybe they mean the theme (windows) as @ckrusen said and not so much the home page. But that is a genuine use of colors that Kinetic disables. I think that’s what got me on that tear in the first place, was I couldn’t make my home page different in Test.
Not near a Kinetic screen at the moment but doesn’t the Active Home Page show the Company Logo? Don’t remember if it always displays or just in the Change Company/Site menu. But if it does, you can point to a nice sickly-colored green image to get a visual indication that you’re in Test in Active Home/Kinetic.
This is a really good list -
I would add to turn off the mail routing - maybe tweak the URL in Company maintenance to prevent email routings of invoices, etc.
I have asked Epicor Cloud team to do something like this - especially the theme and company name - I would think that it would be a simple process to push through.
Especially on MT - where the theme is shared with all of the other companies.
I don’t have the latest version of Epicor so I can’t play with the Kinetic stuff, but I did take all the other suggestions here and update my helper script in case anyone would like it… Post Upgrade Settings - Generic.sql (12.8 KB)
Have you tried this in E10.2.600?. It no longer works as we cant access other tables in routing. I have done similar in 10.2.100. APR is bit a mess when it comes to different environment.
I do have lot of UDCodes for generating output files, EDI path, etc. I am planning to create BPM Function and attach to SysAgent so that it will update when server path is changed based on the environment.
@Arul, Company.LiveDB_c will be available in the routing if you add Company as part of the RDD.
I wouldn’t do the cleanup in a BPM. Do the cleanup in the SQL script you use to restore test.
I run a script that restores the DB, sets the test DB to simple recovery and then all the various clean up.
Take a look at what @MikeGross posted earlier. This is the one exception I make to the rule “never write directly to the DB”.
I have thought about this before, but I know Epicor has the application instance condition in the BPM.
I wish it had this in the SSRS breaking/routing, as it would prevent us from e-mailing vendors/customers when running tests for changes or support tickets. But adding a UD field could at least keep you from generating any results in that SSRS report…
Let’s get this out on Epicor Ideas!! This functionality could be applied in a number of places - especially some of the items in the script like Avalara Tax Connect, DocStar, Agile/Manifest, HCM, Mattec, etc…