Publish to Stage
The Environments
Steps to publish to Stage:
- Navigate to the Environments under Deploy section.
- Click Publish button in the top-right corner and choose Publish to stage option.
- In the Select Apps pages, select the apps that have to be published to Stage. You can publish upto three apps at once.
- In the Staging page the list of all changes that have been made will be displayed.
Note:
- Only the selected components' changes will be published. If there is a change in any of the components but the component is not selected, that change will not be published. The search bar is useful to search for required components when the list is long.
- Double-clicking a component displays the changes with markers - Added, Modified, and Deleted. Added means a new change has been added, Modified means an existing component has been modified, and Deleted means a component has been deleted.
- You can also add apps to be published on this screen by clicking the + icon. An App can be added only if there are any changes to the app.
- If any of the selected component have a dependency on another component within the same app (for example, related using lookup), then the dependent components will be automatically selected.
- If any of the selected apps have a dependent app (for example, related using lookup to another app), a prompt will appear to select the dependent app. If user does not have access to any of the selected apps, they will not be able to proceed.
- Now select the components, including the forms field and reports in the apps, that should be published to Stage environment. Click on Proceed.
- A dependency is a relationship where one or more components must exist for another component to exist and function properly. It is possible that the components that you selected above have dependency on other components which are present within the app or with another app.
- Assume a Submit New Complaint form in Vendor management app contains a lookup field linking to the Add Vendor form within the same app. Thus a dependency exists between the two. Now if Submit New Complaint is selected in the above step 5, then the Add Vendor will be auto-selected and should be published for the component to work properly.
- Assume a Submit New Complaint form in Vendor management app contains a lookup field linking to the Add Employee form in Employee Management app. Thus a dependency exists between the two. Now if Submit New Complaint form is selected in the above step 5, then the Employee Management app should also be added and published for the component to work properly. A prompt will displayed to select the dependent app.
- Next the Version Details page will be displayed. Each package of apps and their changes which are being published at one instance is called as a Version. In this page you can specify details for the version.
- Specify a Title and Description for the version.
- Select Version type. Major type changes version 1 to 2, and Minor type changes version 1 to 1.1. Minor versions like 1.2 when pushed to Major type are rounded, in this case to 2.
- Select users to send email notifications. The admins and developers of the application are listed here, and a maximum of three users can be selected.
- Before the changes are published, a few validations are performed to ensure the publishing process is successful.
- Duplicate records - To check if a field with the "No duplicate values" property contains duplicate values in the Stage environment.
Example: Let's say an application is published to Stage, and during testing we add a few duplicate values to a field. At this point the field can accept duplicate values because the "No duplicate values" property is not selected yet. However, we then edit the app and select the property field "No duplicate values" and publish the change to Stage again. This can create a conflict, as the field already contains duplicate values, but now has a property which restricts duplicate values. In this case, we first have to remove the duplicate values and then click Validate to be able to proceed. - Data Loss - This is a warning that appears when a component is deleted and this change is published to Stage. This is to alert users that this will also remove any related data when the change is published.
Example: Let's say an application is published to Stage, and during testing we add entries in a form. We then edit the app and delete the form and publish this change to Stage again. This will result in the deletion of all the entries made to the form during the earlier testing. - Permission - This is a warning that appears when a profile or a role has been deleted and this change is published to Stage. The warning informs users that the deleted profile or role is mapped to the new one, as specified during the deletion.
- Post Publish - This informs users that the publishing process may take additional time when encryption or formula field changes are made that result in consuming more time besides the publishing time.
- Click Publish.
- Duplicate records - To check if a field with the "No duplicate values" property contains duplicate values in the Stage environment.
- The publishing process will be initiated.
- In the environments page, the status of the application under Stage section will be Publish in progress.
- Once the publishing process is complete, the Stage version of the app will be listed.
Locking mechanism during Publish
Use Cases | Development | Stage |
| Edit Mode | Live Mode |
Apps Selected and Clicked on Next | Selected apps and their dependent apps are locked. |
|
Publish to Stage Initiated | Locked | Selected apps are locked.
|
When Publishing to Stage is completed or has failed | Selected apps, and their dependent apps are unlocked.
| Selected apps are unlocked.
|
User collision scenarios
User | Another User | ||
| Publish to Stage | ||
| Tries Publish to Stage Option in Publish Dropdown | In App Selection Screen | Apps Selected and Clicked on Next |
Apps Selected and Clicked on Next |
| Info Banner appears
| Alert popup appears Another user is trying to publish. Go to Environments.
The user cannot proceed further. |
Publish to Stage Initiated | Lock button is disabled |
|
|
When Publishing to Stage is completed / Failed | Lock button is enabled |
|
|
Publish to Stage status messages
App number and action | Scenario | App publish status message |
App 1 is published to Stage
| Publish in progress | V1.0 is in progress |
Some error during publish | Error in publish | |
Publish successful | V 1.0 (clickable package) | |
App 1 - App 1 is Stage version 1.0
Both are published to stage | System first creates a Stage environment for apps that do not have one. This means App 2 stage environment is created first, during which time App 1 stays in the publish queue | V 2.0 is in publish queue
V 1.0 is in progress
|
If an error is encountered during App 2 Stage creation, App 1 publish stands canceled | Publish Cancelled (App1)
Error in publish (App 2) | |
If no error is encountered during Stage creation, stage gets created for App 2 with version 1.0. Then publish process is initiated in parallel for App 1 and App 2 | V 2.0 is on progress (App 1)
V 2.0 is on progress (App 2) | |
If Publish process of App 2 encounters an error it is reverted to 1.0, and publish of App 1 is aborted | Publish Aborted (App 1)
Error in Publish (App 2) | |
Publish Successful | V 3.0 is published
V 2.0 is published |