I recently dealt with a customer who had questions about the order of Pre- and Post-processing as well as Item Validation, and I was informed of this thread. I would like to post my findings, as some of the data provided here is no longer accurate.
I just spoke with one of our Developers and he has given me the exact order of the actions. The order is the same whether you are saving a new item or saving an existing item (the only difference in whether the data is overwritten or created). Upon creating a new item, nothing occurs until you try to save it.
Saving:
- Item-level Input Transforms
- Field-level Input Transforms
- Field-level Validation
- Item-level Pre-Processing
- Data is saved at this point
- Post-Processing of Extensions
Loading:
- Pre-Processing of Extensions
- Data is loaded
- Post-Processing of Extensions
- Item-level Output Transforms
- Field-level Output Transforms
Note that there is no validation run upon Load.
Workflow Transitions:
- Item-level Validation
- Pre-Processing of Extensions
- The Transition occurs at this point
- Post-processing of Extensions
Check-in/Check-out:
- Pre-Processing of Extensions
- The Check-In/Out occurs at this point
- Post-processing of Extensions
Please note that our documentation, as of this writing, has a minor error stating that Item Validation is run during Check-In and Check-Out actions. This is inaccurate as of this writing. I have brought this to the attention of our Documentation Team.