Expand my Community achievements bar.

SOLVED

Maintenance of Editable Templates

Avatar

Community Advisor

Hello Folks,

I am looking for recommendations/best practices around maintaining the "Editable Templates". Specifically, on the following two points

 

  1. A) When authors create new editable templates on Production Author, what's the best way to bring the newly created editable templates to the lower environments like Stage, QA and DEV servers? This definitely required for debugging the production issues on the lower environments.
  2. B) In case if editable templates are committed to SCM(git), then how is the overriding of newly created editable templates(which are only present on Production Author and yet to be committed to SCM) during the code deployment to production is avoided?

 

Hoping to hear some real time project scenarios and practical ideas around this topic. Thanks in Advance.

 

Thanks,
Sudheer.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@Sudheer_Sundalam , you're correct. Editable templates are created on the go and it is maintained by Content Editing Team. There is no point in creating templates in lower environments because Editing team really hesitant to do things multiple times.

If you notice any issues with templates you have to ask few basic questions to Editors as preliminary check. If everything is followed by Editing Team and still there is some issue you have to sync down content from PROD to QA and DEV or package the content.  If you have large repository size go with Content sync to push down content from PROD to QA. Otherwise Content package is best option.

 

Also, I do not suggest to store templates in SCM as Editable templates are dynamic in nature. There is a chance of overriding the template changes whenever you deploy code.So try not to store templates in Codebase.

 

 

View solution in original post

7 Replies

Avatar

Level 6

@Sudheer_Sundalam Please find below. 

Point A) Generally we develop code or create template on lower environment such as dev,qa, stage if everything goes well then we deploy the same on production. As you want in reverse way if you get any issue on production , So what you can do whatever template you have created on the production , You can create a package and include the temples in the package and deployed it on the lower environment (Dev, qa, stage).

 

Point B) following Good practice we do not keep the template as part of the code . We keep template(/conf/ folder) or related to any template configuration in the package.Actually page, template should be part of package not the code.We are doing the same approach in our project.

 

Let me know if i missed something.

 

Thank You.

Keshav Chaurasiya

Avatar

Community Advisor

Hi Keshav,

 

Thanks for sharing your perspective especially towards the point B.

Regarding point a) Editable templates doesn't give any added advantage to authors if they have to create and test their templates all the way from Dev to Prod IMO.

 

Thanks,

Sudheer.

Avatar

Level 6

Best practice for any code is to start testing from lower to higher environments. Putting a editable template directly on your production would not be a good practice since you aren't testing it fully before exposing it to end users. Also once QA tests on lower environment it can be packaged and moved ahead, QA env can should have detailed QA while higher env can be regression tested.

Avatar

Administrator

@anupampat Good to see you back inside the AEM Community. Keep the great work of assisting others going. Looking forward to more contributions from you.



Kautuk Sahni

Avatar

Correct answer by
Community Advisor

@Sudheer_Sundalam , you're correct. Editable templates are created on the go and it is maintained by Content Editing Team. There is no point in creating templates in lower environments because Editing team really hesitant to do things multiple times.

If you notice any issues with templates you have to ask few basic questions to Editors as preliminary check. If everything is followed by Editing Team and still there is some issue you have to sync down content from PROD to QA and DEV or package the content.  If you have large repository size go with Content sync to push down content from PROD to QA. Otherwise Content package is best option.

 

Also, I do not suggest to store templates in SCM as Editable templates are dynamic in nature. There is a chance of overriding the template changes whenever you deploy code.So try not to store templates in Codebase.

 

 

Avatar

Community Advisor

@Anny0505 , Thanks for sharing your insight. Agree, I would package the newly created templates from Production Author to lower environments as the number of templates we might end up having are not many.

 

Thanks,

Sudheer.

Avatar

Community Advisor

Two options can be followed

 

- Enable any new editable templates through code deployment(obviously this wont provide the required flexibility for the Authors) - I will recommend this if less number of templates created and well planned ahead of time

 

- Allow the author to enable the templates - Sync the template changes from Prod to your code base in regular interval and deploy to other environments(optional but better to keep the code sync)

 

In both the options ensure the filter.xml entry for the /conf/xxx folder is enabled with merge mode not default overwrite mode, this help to merge the changes from code deployment with the server changes

 

e.g

 

<filter root="/conf/xxxx" mode="merge"/>
 
Regards
Albin I