Expand my Community achievements bar.

Guidelines for the Responsible Use of Generative AI in the Experience Cloud Community.
SOLVED

How should we control workflows on our AEM instance?

Avatar

Level 3

Is there a proper way to control the workflow models? For example, let's say I have workflow model and I want to make sure its stored somewhere so that if something happens, an author doesn't have to recreate it. However, it also needs to be easy to make edits if needed, and the files in crx for workflows are extremely difficult to work with.

 

I can think of a few options:

1. Store all workflow model files in code

  • Everything is controlled
  • Makes it difficult to make edits

2. Create a content package and store the .zip in our repository

  • Easy to make edits
  • I have to remember to rebuild the package when an edit is made
  • What if another author makes an edit and doesn't tell me?

3. Don't store it at all

  • have everything stored in AEM
  • Edits are easy
  • The only way to restore lost models is by our content backup

 

Is there a best practice for this?

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@rkody , You have posted a very good question.

imo, AEM basically has two main categories "Code" and "Content". 

- Code include everything like component, configurations, templates etc., which are not modified in AEM server by authors(regular/super).

- Content include authorable stuff like pages, DAM, Content Fragments, Experience Fragments etc.,

Editable Templates and Workflow Models are two features in AEM which falls in both categories where you can deploy them to AEM Server via code and also edit/update them on AEM Author server.

However in practice, Editable templates and workflows model editing is not like regular page editing. You normally do edit/update them with a larger requirement in place. For example:

- Create a new Editable Template for a event/product launch.

- Edit workflow model to perform specific functionality as part of your workflow processing which may depend on other Workflow Processes.

 

Having said that, you wouldn't never want to lose these updated templates and workflow models. I would use ability to Edit templates and workflow models at runtime as a convenient feature to use without deploying the code when needed.

Also track the changes made to Editable templates and workflow models and commit them to code by packaging then from Author PROD.

If tracking is not possible, then get a package from Production Author, maybe, once every month and sync them with code.

 

 

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

@rkody , You have posted a very good question.

imo, AEM basically has two main categories "Code" and "Content". 

- Code include everything like component, configurations, templates etc., which are not modified in AEM server by authors(regular/super).

- Content include authorable stuff like pages, DAM, Content Fragments, Experience Fragments etc.,

Editable Templates and Workflow Models are two features in AEM which falls in both categories where you can deploy them to AEM Server via code and also edit/update them on AEM Author server.

However in practice, Editable templates and workflows model editing is not like regular page editing. You normally do edit/update them with a larger requirement in place. For example:

- Create a new Editable Template for a event/product launch.

- Edit workflow model to perform specific functionality as part of your workflow processing which may depend on other Workflow Processes.

 

Having said that, you wouldn't never want to lose these updated templates and workflow models. I would use ability to Edit templates and workflow models at runtime as a convenient feature to use without deploying the code when needed.

Also track the changes made to Editable templates and workflow models and commit them to code by packaging then from Author PROD.

If tracking is not possible, then get a package from Production Author, maybe, once every month and sync them with code.