Moving Applications to a Development Sandbox

We have a test environment in our on premise installation of AgileApps. We have been doing development in this test environment for a while.

We are now setting up our sandboxes for development, where all development will be done going forward.

So I am wondering about the best way to do the move from the test environment to the development sandboxes.

  1. Moving the application from the tenant (the test environment) to the sandbox. Is it best to:
    a) download the package from the tenant and then upload it to the sandbox, or
    b) setup up deployment rules that allow the application to be deployed from the tenant to the sandbox. We would remove these once the applications have been transferred.

  2. Once the applications have been moved:
    a) should we delete the applications in the tenant or
    b) leave the application and deploy over it going forward?

One factor is that in the tenant currently, the applications are not locked (obviously, as we have been doing development there). When we deploy from the sandbox to the tenant, we will be locking the applications so they cannot be changed in the test environment. So it is OK to deploy a locked application over an unlocked version of the application?

Thanks!

Hi,

I suggest the best way is to use SVN.

As you said, Going forward all the developments will be done in separate boxes the best way is to implement SVN.

Upload all the data in trunk i.e. present in Test and import it in all the development boxes.

Regards,
Syed Faraz Ahmed

Hi Syed,

Thanks for the response.

Given that the AgileApps package functionality puts all of the components of the application into a ZIPped XML file, I am not sure where SVN would fit into the picture.

In our case, we are doing a one-time move from our test environment (a tenant in AgileApps) to our development environment (a sandbox in AgileApps). Once we have made that move, all work will be done in the development environment, and it will be moved as one unit of work into the test environment.

How have your tied SVN into AgileApps? Are you doing concurrent development in different sandboxes?

Interested to learn more.

Further investigation.

Here are the steps I took to understand investigate the approach of moving an application from a tenant to a sandbox using the Package export/import process, and then deploying the application back to the tenant.

  1. Logged into the Sandbox and deleted the application I had installed there from a package file. I did this because I had previously imported the application into the Sandbox.

  2. Logged into the Tenant, published the application with “Overwrite enabled”.

  3. Downloaded the package to my hard drive from the Tenant.

  4. I deleted the application from the Tenant. Confirmed the application was deleted. Logged out of the Tenant.

  5. Logged into the Sandbox and imported the package from step #3. Ran the application to make sure it was functioning.

  6. Published the application in the Sandbox with “Overwrite enabled” and I set the package to be “Locked”.

  7. I used the Deploy option to deploy from the Sandbox to the Tenant.

  8. After receiving an email that the deployment was successful, I logged back into the Tenant.

  9. The application had been installed in the Tenant via the deployment process.

However, I found a couple of things I did not expect:

A) The data that I had entered in the Tenant application had returned. So it appears that data with an applciation is never deleted? So if the application is deleted, its assocaited data is not deleted? Is this correct behavior?

B) While I had specified that the Package was “Locked”, I was able to go into one of the objects and create a new field, which I should not have been able to if the applciation had been locked (according to the documentation).

Just thought I would share what I have observed in my experimentation so far.

Further information about items A & B at the bottom of the last message.

For A, I realized that of course, since I had not deleted the data, that it would still be there. I had deleted the application, but the data remained. So when the application was reinstalled, it again had access to the data that already existed.

For B, I found out from Software AG support that there is another field that needs to be set in order to disable adding fields to an object in a locked application. This is done by navigating to Gear Icon–>Customization–>Objects–>{Your Object Name}–>Object Properties. Near the bottom of this page is an item called “Locked Package Options”. This checkbox for “Installer Permission Control” must be unchecked. Otherwise, fields will be able to be added to the object even though the Package itself is locked.