Description
Goal: Register, configure and inject EFormidling only when the app actually uses it. EFormidling should be a separate nuget package and is a good candidate for testing that an "add-on" like this can be configured only through importing the package and register the necessary services. This means we need to have interfaces defined that allows EFormidling to be injected and executed at the right places ref. Move from AppBase... task.
Update 31.08.2022
Eformidling functionality is to some extent moved out by by the recent changes in V7 development, but it's still integrated in the Core project with dependencies to our DefaultTaskEvent implementation. Issue is not strictly required to get V7 out the door and should therefor be solve as a separate issue after the V7 release
Tasks
- Define separate interfaces/hooks to allow extension like Eformidling to hook into. Today we have OnEndProcessTask but we need to consider if we need more fine grained hooks like OnAfterEndProcessTask and OnBeforeEndProcessTask.
- Move current Eformidling out of the default OnEndProcessTask and implement new interface
- Make sure the new interfaces/hooks are called when they should
- Move Eformidling settings from ApplicationMetadata class and into AppSettings to get support for environment specific settings. Should be implemented as a separate class using standard .Net IOptions and include all the required settings for Eformidling to work.
- AppSettings.EFormidlingSender
- AppSettings.RuntimeCookieName
- PlatformSettings.SubscriptionKey
- EFormidlingContract class
- AppSettings.EFormidlingClientSettings
- Remove the current Eformidling settings from Storage interface - the goal should be that add-on functionality like this can be plugged in without requiring changes in the core