I have a use case where my Global change needs to get published after approval of Region owners. Lets say I have two regions and two regional owners respectively. Publishing should happen only for the region which has an approval of its regional owner and it should not effect my other region. Will it be possible by normal workflow? If not then is there any way to achieve the same some how?
If the review needs to happen for both Regional owners, consider the answers to a similar scenario: Parallel workflows in Tridion 2013
- Sequential approvals (Regional owner 1, then Regional onwer 2)
- Sequentional approvals with some automation (first assign to everyone, then automatically assign the next group)
- An external system that "waits" for all approvals
- GUI extension
I'd focus on the business case. If the approval means publishing, then what's really needed is a step that lets Regional owners publish at the right time. You can then extend the GUI (maybe remove publishing) or event system (don't publish based on some metadata setting) as needed.
If approval is just for one Region or another, consider having an Automatic Activity and/or Decision to get approval and publish the Regional pages accordingly. You could "configure" groups in metadata (or AppData), such that each Page, Structure Group, or Publication knows which Group should get the approval.
Below is one of the possible approach for your problem:
- Create a workflow as per the requirement and save it in the Global publication but do not associate it with any item
- Update this workflow with proper group assigned for Region 1 and save it in the Region 1 publication which is inherited from Global publication
- Localize the Schema and Components both in Region 1 and apply this workflow to the localized schema
- Repeat the above two steps for all regions and anything below them
Now this will solve most of your problem except the one that you have also localized your component at regional level so any change in global content will not reflect in it. For this small thing I can suggest that you may use Event System to resolve the issue (May be you can write eventing code on Component save, identifies if you are doing it in the global publication and update it in all the localized items). You may also need to take care of the scenario where Region component was intentionally localized.
I hope it helps