Move Liquid Content from Microservice to Platform

Description

We want to move Liquid Content from the Evoq Microservice into modules and extensions within DNN Platform.

Important items to consider:

  1. Content Library, Content Types, Visualizers and API Keys need to be ported.

  2. Visualizer module needs to be ported.

  3. Search Integration

  4. Database structure/storage

Features not being migrated:

  1. Content Library -> Facebook, Twitter and LinkedIn Publishing

Engineering Considerations

  1. We need to have proper separation of concerns between web API, business layer and repository layers

  2. Where possible we should .Net Standard 2.0 class libraries

  3. Where possible remove dependencies of DNN Dlls

  4. Must support DNN's native:

    1. Permission

    2. Localization

    3. Workflow

    4. Search

  5. The above systems should be integrated using Dependency Injection

  6. 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

    1. We may require newer version of SQL Server, e.g. 2016 (especially if we want to take advantage of Json data types)

  7. 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.

    1. This should be Library type extension.

    2. In theory, one could choose not to install Structured Content on DNN.

    3. Any module taking advantage of SC must specify dependency on this library.

  8. Should be scalable, must support 1M+ content items with ease (of course depends on hardware). Solution should linearly scale with more hardware resources.

QA Test Plan

None

Assignee

Unassigned

Reporter

Will Morgenweck

Story Size

Unknown

Severity

Major

Triage

New

Fixed in Build

None

Dev Owner

None

Includes Code Fix

No

Documentation Required

None

Trouble Ticket

None

Requires More Info

None

QA Story Points

None

QA Owner

None

Injected

None

Automation Required

None

Code Review Owner

None

Affects versions

Priority

High

Epic Name

Move Liquid Content from Microservice to Platform
Configure