U4-7794 - Consider 2 assemblies for v8 - Upgrades and Abstractions

Created by Shannon Deminick 20 Jan 2016, 10:08:05 Updated by Shannon Deminick 17 Feb 2016, 13:05:25

Subtask of: U4-7997

Currently we have umbraco.interfaces which we could keep as the Umbraco.Abstractions idea. The idea behind this is:

  • It contains all abstractions, interfaces, base classes, events, etc...
  • It contains the bare minimum amount of references to this project - hopefully next to none
  • People would reference this assembly for building any plugins
  • When we scan for plugin types, we'd only have to scan assemblies referencing this assembly, scanning for types would be much much faster since we wouldn't have to load in all referenced assemblies to Umbraco.Core or Umbraco.Web

The idea behind an 'Upgrades' assembly is:

  • We need legacy code in order to upgrade
  • We already have such code for migrating old v6 property editors to v7 property editors
  • We will probably have a lot more of this type of thing to upgrade to v8 including db scripts, dto models, etc... (if we want to overhaul the db structure)
  • This code doesn't need to exist once the upgrade is complete
  • So we can have this assembly - or even just a code file, loaded with roslyn - during upgrades, then when the upgrade is complete, this assembly/code is removed


Priority: Task - Pri 3

Type: Task

State: Open


Difficulty: Normal


Backwards Compatible: True

Fix Submitted:

Affected versions:

Due in version: 8.0.0


Story Points: