Sandboxes
Sandboxes provide safe environments for development and testing that are separated from the production environment. They allow object definitions and platform elements to migrate to and from the production environment, and between sandboxes.
About Sandboxes
When you log in to the platform, you log into your organization's tenancy. (Basically, your organization is a tenant in the platform.) When you set up a sandbox, you create a "sub tenant" that can interact with the main tenancy, and with other sub tenants.
In a sandbox, you can modify and test an application without changing the production version. You can then deploy the application Package to a Q/A sandbox for testing, or to the main tenancy--the "production" system that people trust their data to from day to day.
To use a sandbox, you log into it, giving the username and password of a user defined in that sandbox. (The initial sandbox admin-user is created automatically. But you can change the name of that user anytime.)
- Considerations
-
- Sandboxes can be created only when logged into the main tenancy. They cannot be created from a sandbox.
- All capabilities that are enabled in the main tenancy are enabled in the sandbox, when the sandbox is created. (After creation, changes made to either one do not affect the other.)
- Packages cannot be published from a sandbox (to make them available to other tenants). They can only be published from the main tenancy.
- When you deploy a package, data does not migrate, only data structures (object definitions) and other platform elements. To copy data between sandboxes, use the Export and Import mechanisms.
Working with Sandboxes
Users that have the Manage Sandboxes permission can create and delete sandboxes.
Creating a Sandbox
- ...
The initial admin-user is created in the new tenancy, with the name ...
Using Your a Sandbox
When creating an application, you'll probably stay in the admin-user role, tacking on all of the required development permissions, so you can easily develop features and make any system-level changes that need to be made, without switching roles. For testing, though, you'll probably want to use roles with much more limited permissions (the same kinds of roles that typical users will have).
To log into the sandbox in either role, it's best to log out of your current tenancy, and then log back in with the desired username and password, which connects you to the appropriate sandbox as the specified user.
Note:
For convenience, there is a [Login] button on the Sandbox page. But:- a. That button always logs you in as the initial admin-user, which may not be desired.
- b. That button does a Proxy Login. In effect, the new session is running "under" the existing session. In general, things work well. But that mode is intended only for quick in-and-out fixes, not for lengthy use.
Deploying a Package
If you created the application in your sandbox, you'll need to create a Package that contains all of the application elements. On the other hand, if you acquired the Package from the main tenancy or from a development sandbox, you only need to make sure that anything new you've developed in the sandbox is included in the package.
Once the package is ready, you're ready to deploy it:
- ...
Tip:
- When deploying to a development sandbox, make sure the package is unlocked, so its contents can be changed as needed.
- When deploying to a Q/A sandbox or the production tenancy, make sure the package is locked, to prevent the structure of the application from being changed accidentally.
Learn more:About Locked and Unlocked Packages