Coming from the Heat Classic side of things and familiarity with edit sets, what is the best way to view moving changes (forms/BOs/fields/rules/etc) from development to production in HSM?
Projects track every “Save” you do in the administrator. This is called a Transaction Set. We call it a set, because it might do multiple things in one save – for example if you are working on a new business object, you might add several fields before you hit save. Each new field is a transaction detail, and together they make a transaction set. If you hit save after every field insert, you will have more transaction sets, which each have a small set of transaction details.
To move changes between systems, start by creating a project, and select it. Then you do all your work and the system is automatically tracking any changes you make as transaction sets in that project. When your project is complete, you create a package record and assign the project to the package (or individual transaction sets if you don’t want to move everything).
Once you have created a package record, there are two ways to move it between landscapes.
1. You can just export it to a file from development, and import it to UAT (same flow for UAT to production). Both these steps are done in the Package workspace. The only unique thing about production is you need to ‘close’ a package before moving it to production. This is done by a quick action in the package record, and just marks this package as complete and does not allow you to edit it later. This enables the system to be ensured to match between the closed package content and the production content for that action.
2. The second way to move packages is by using the operations console. For example, if you are in a metadata locked tenant in our cloud side, and you try to move a package to production that is considered high impact (like removing a field from a business object), you will have to send the package to our operations team and they will upload it using the ops console off hours. This does exactly the same thing as the file import, just through a different UI. (under the covers, it exports the package to a file from one landscape and imports it to the other).