We want to move Liquid Content from the Evoq Microservice into modules and extensions within DNN Platform.
Important items to consider:
Content Library, Content Types, Visualizers and API Keys need to be ported.
Visualizer module needs to be ported.
Features not being migrated:
Content Library -> Facebook, Twitter and LinkedIn Publishing
We need to have proper separation of concerns between web API, business layer and repository layers
Where possible we should .Net Standard 2.0 class libraries
Where possible remove dependencies of DNN Dlls
Must support DNN's native:
The above systems should be integrated using Dependency Injection
Must use SQL Server for data storage, but the repository layer should be abstractable, where other data storage (e.g. MongoDB) can be used. Current Liquid Content uses DocumentDB which is Azure only service
We may require newer version of SQL Server, e.g. 2016 (especially if we want to take advantage of Json data types)
Have source code in a new repository outside of Dnn.Platform. Our goal is to keep things as decoupled as possible - continue to slim down Platform, and certainly not more.
This should be Library type extension.
In theory, one could choose not to install Structured Content on DNN.
Any module taking advantage of SC must specify dependency on this library.
Should be scalable, must support 1M+ content items with ease (of course depends on hardware). Solution should linearly scale with more hardware resources.