We use nightly IRIS backups which are moved to a network share, so Test can restore the backups to an alternate application data DB via a script.  We always have 2 application DBs defined, so we can script a restore on a weekly basis so the data is readily available if a developer needs it - they simply swap from the active data DB to the alternate (the alternate is always the target of the automated restore so as not to interrupt any data depending testing which may be actively going on at the time of restore).  

We have found this to be very effective for our needs for multiple internal applications. 

if you are wanting to completely render the page within the context of another page, then using <iframe src="package.page.csp" </iframe> is going to be your best bet.  Remember that a csp page isn't just a static HTML snippet - it is an entire renderable page, along with pre-page headers, etc.  That is why OnPreHttp(), OnBody() and OnPostHttp() are all included in the page framework for a .csp.  If you simply want to show what is 'rendered' when you call the page directly, you can play with calling OnPage() (which contains the compiled version of the entire body of your .csp file), but that may not operate correctly when called in isolation - it is intended to be called as part of a full pageload process, which the iframe approach above would provide.

These classes are still in your 2018.1 instance (if they were not you would not be able to log into the System Management Portal), however, the Security.* package only exists in the %SYS Namespace (as it is not a % package it isn't projected to other namespaces).  See:  https://docs.intersystems.com/ens201817/csp/documatic/%25CSP.Documatic.c...

It may have been that you used package mappings to make the Security.* classes available in your application namespace, or that they were mapped by the product (I don't remember - 2014 is 10 years old at this point ;) ).  However, best practice today is to change to temporarily change to the %SYS Namespace in your code if you ever need to call the Security.* package.  There are privileged calls in there which you typically don't want directly accessible within your application namespace. 

@Paul DeSantis - By default, all InterSystems Login users can only see the last released version of a product as well as any available preview releases.  Users that are Supported Customers (meaning they have been given access to our Support system as part of a Supported Organization) can access older builds, either through Evaluation or directly through the WRC Direct application.  Do you have a 2nd account which is tied to a Supported Org?  Or do you have a colleague who does?

@Alan Watts - there is no client-side Git plugin for Studio.  Studio works exclusively with server-side source-control hooks.  This is what the git-source-control package on OEX is ... it is server-side source control hooks to allow multiple developers to properly interact with a git repo from a single Namespace within InterSystems IRIS.  So once this is properly installed and configured for a given Namespace, once you connect via Studio you should see new top level Menu items in Studio and all changes will be governed by the source control hooks.  Nothing else is needed to be installed on the developers' Studio instances in terms of plug-ins, etc.

@Colin Brough - this was recently discussed on a thread internal to InterSystems, and I credit @Eduard Lebedyuk 
for the following options, which were suggested within the context of Enabled/Disabled Business Hosts on different environments using the same Production (some don't apply to your question about logging and testing, but I include them all for completeness):

1. Track a separate production class for each environment.
2. Use SDS to effectively disable Business Hosts (for example, by setting the Port property to an empty string).
3. Create a custom adapter/business host that has SDS configurable setting "RealEnable", which would be checked in OnInit or OnProcess input.
4. Use Interoperability Schedules, with Business Host always off/on.

I think (1) and (3) would be most likely to work for you here.

Also, it's not going to help you in the immediate term, but be aware that TestingEnabled (along with some other fields) is supported for SDS starting in InterSystems IRIS 2023.3 (I am very excited about that!!)

Sounds like you are using client-side source control in a shared development environment ... this is just a formula for frustration.  Either use private dev instances with client-side source control, or use server-side source control with a shared dev instance.  This was the theme of a presentation we did at G.S. a couple of times.  See https://community.intersystems.com/post/new-video-shared-development-21s...
NOTE - This was given a 2nd time where we used VSCode and not Atelier but I can't find that posting for some reason.   However the principles are identical whether you're using Atelier or VSCode ... they use the same APIs to manage source with the server.  

The issue is that you need the logic to run synchronously in process so that it can actually write out the JavaScript as part of the response to the web client. If you job off the logic it will run in a separate process and there is no way to return the JavaScript to the caller because this is done asynchronously and the response has already been sent by the time your job will finish in all likelihood. If you need something to run asynchronously then use the #call() command in your CSP page.

@Pietro Montorfano - VSCode use with CCR is definitely supported.  You just need to make sure that your workspace is properly defined with isfs, etc to get you access to the files on the server.  Since CCR uses server-side source control hooks, you can actually have people using Studio and VSCode concurrently against your BASE Environment.

We've tried to make it as easy as possible by allowing you to export the VSCode workspace definition directly from CCR (credit: @Timothy Leavitt ).  Go to your Environment Details page and use the "Export (VSCode)" button on the top of your Environment list:

Please try it and let us know if it works for you.  P.S. would you mind adding the #ccr tag to your question so others can easily find it?