Lombiq/Helpful-Extensions

Shortcut to export everything (OSOE-511)

Opened this issue · 1 comments

You can export most of the content and configuration of an Orchard Core site. However, to do so, you have to create a deployment plan and add every available step to it (sometimes choosing between steps, like you should use All Content instead of Content with all content types selected). This suggestion is about creating a feature that would similarly export everything.

This is a frequent use-case with representative sites of DotNest Core.

  • This can be some kind of meta-step, or some automation to add all available steps to a generated deployment plan (named like "Full export"). Note that if the latter, then this needs to be kept up to date after each shell restart, since the available steps can change (with features being turned on and off).
    • Dependencies between steps need to be adhered to, e.g. the first one should be All Features, then Replace Content Definitions.
    • Choosing between known overlapping ones like All Content (without "Export As Setup recipe" checked") in favor of Content, or Replace Content Definitions in favor of Update Content Definitions (Delete Content Definitions not needed).
    • Configure steps with smart defaults if necessary (people would still be able to change that after the Deployment Plan is initially created). E.g.:
      • All Content should be without "Export As Setup recipe" checked
      • All Features with "Ignore disabled features"
      • Replace Content Definitions with "Include all content types and parts definitions."
      • Custom Settings with "Include all custom settings."
      • Deployment Plans with "Include all deployment plans."
      • Media with "Include all media."
      • Site Settings with all settings.
  • In any case, use built-in steps. This is not about reimplementing export for every feature.
  • Import should just work without any special care, but do check.

Jira issue

Note that an all-export may be too big for sites with more than a handful of content items. Perhaps worth creating a separate content deployment plan? This should be simple and not require configuration (if we do that, then just creating the plan by hand is the way to go).