The Birds-Eye View

What we're going to do is take an existing DNN Target with 2sxc and an older Content-App, and import the parts of the new Content-App from a Source until we've upgraded the parts we want. This is the recommended path of upgrading, because this way the content you had on the various pages stays where it is, just with an updated look / template. 

  • Got it!

Prerequisites

Before you start, make sure you have everything you need to get started:

  1. Make sure you understand how a module knows what template/content it shows
    1. Read the docs overview
    2. Read this blog post with the in-depth info
  2. Make sure you are familiar with importing / exporting data

Preparation

  1. Update the Target DNN to 2sxc 10.25+ so the new templates work properly
  2. Make sure you have a Source site (separate DNN or sub-portal)
    with 2sxc 10.25 and the new content-templates installed, as you'll copy a bunch of stuff from there. We'll call it the Source.
  3. Backup your Target 😉
    as you may make mistakes and would then be glad you still had a backup 
  4. Create a full copy of the Target 2sxc/Content folder
    since we may overwrite stuff you had previously customized, which you might want to copy in again later.
  5. Make sure the Skin of the Target has a proper koi.json
    as it will make your work much easier.

Recommended: Pre-Clean-Up

It's easier to freshly import new parts than to update existing parts. So if you hadn't used certain Content-Types, Views or Templates, we suggest you delete them in the Target before starting to upgrade them.

  1. Delete all Content-Types without data
  2. Delete all Views that are not in use (note: there is no tool to find them, in case you're not sure, don't delete them)
  3. Delete all Template files which you know are not in use

Import New Stuff

  1. Transfer App-Settings from the Source to the Target 
    The latest 2sxc Content-App has settings for Google-Maps, Icon-Resources etc. This didn't exist before, and some scripts / templates will need it.
  2. Copy all the files in the content app in Source /2sxc/Content to Target
    In the Content-App 10+ all the files are in folders whereas the old one had almost everything in the root, which should help you to keep the new files from the old files apart and shouldn't overwrite any of your existing templates.
  3. Import all Content-Types which only the Source has
  4. Recommended: Update existing content types so the fields match
    Note that this is fairly difficult, because probably the StaticName has changed. So you may prefer to do this manually. 

Map Existing Views To Templates

Because each Module on a page references a ContentBlock, which references a View, you don't want to delete/import the views but actually update the existing ones. So if you had a view which was Text | Image 50/50 you want to keep the View and just point it to the new Template. 

  1. Review each View and decide if a new Template is appropriate
    1. If yes, assign the template and demo-item
    2. Also check if the Presentation-type is correct
    3. Recommended: Rename the old name to match the new name (to avoid confusion)
  2. Note that things could go funny, if the content-type has different fields then expected by the template. For these scenarios, you'll better create a new template based on the new examples and use that.

TODO-IMPROVE

Import New Views 

  1. In the Source Part-Export dialog, select all the views you want to export and export them
  2. In the Target Part-Import dialog, import this XML
    Note that this only works automatically if the template files are in the same location, and the content-types you are addressing have the right StaticName
  3. Test the result