How to correctly register external enum provider

The “Development > Form Engine ” getA12 docs describes that the “externalEnumerationProvider” needs to be provided both as a property to the FormEngine component and to the createEngineMiddlewares.

They seem to work just fine though when only providing it to the form engine component.

What is the purpose of registering an external enum provider with the engine middlewares?

Is this really neccessary?

The form engine middlewares need access to the same external enumeration provider for all features that need to handle the UI value of fields.

This is necessary e.g. in filtering and sorting repeat tables, calculating the next repeat page (after addition, removal from the table) etc.

If you don’t use these (combinations of) features, you wouldn’t notice.