In this brief article we are going to illustrate how to best manage the entire life cycle of a custom Content Experience Template, from its creation, to its versioning, up to its disposal. The main goal is to ensure the correct functioning of any embed associated with the specific template at any time, making sure that users can always access content.
Phase 1 - Template Creation
During this phase, the important thing to be considered is that a custom Template begins to exist in the moment it's created; this means that any user capable of creating embed codes can potentially select the new template to publish some content even if it is still being customized. For this reason, the important thing to do is to assign an explicative name to the specific template as long as its customization is not complete and it is ready to be used. For example you can assign a name like "Public template - DRAFT", or anything that at first sight allows users to understand that the specific template is not ready to be used yet.
Phase 2 - Template Versioning
During its lifecycle, it may happen that a specific template needs to be updated by creating a new version, changing its graphic style or introducing new behaviors. If this is the case, the best practice is to create a copy of the template currently in use and assign it a proper name (e.g. "DRAFT - Test template"); then from that copy you can make and test all the updates. By doing this you will make sure that there are no unexpected behaviors, and will prevent users to select the template before it has actually been tested.
Once the updates are complete and tested, you can copy css and js and paste them into the original template by creating a new version. You will also be able to choose whether to automatically update all the associated embed codes to the new version.
Phase 3 - Template Disposal
The disposal phase of a specific template might require some time to migrate linked embed codes to other templates. For this reason, the best practice is to assign a descriptive name to the template, in order to ensure that this is no longer used. By doing this you will have all the time to migrate the pre existing embed codes and finally delete the specific template.