Preparation

  1. Make sure you know the new platform well, it's APIs etc.
  2. Also make sure you have a good idea of how 2sxc works internally
  3. While developing you'll first use 2sxc data from a DNN to show in the new platform, and later on enhance the target system to install apps etc. So to start, you'll need a DNN with some apps installed, which you'll use as a testing data source till your system matures. 

Note than as a convention, all our custom objects start with a name of the platform, so DnnSite becomes OctaneSite etc. In the code below we'll always use the term Oqtane, but this will vary for your implementation. 

Initial Plumbing

  1. Startup
    1. Get startup configured so dependency injection works. Don't worry about the specific objects on the platform yet, just make sure you have the general framework.
    2. Ensure that  the sql connection is injected properly (at first the test-dnn connection)
  2. Get State data to load
  3. Implement Insights

System Content Types

  1. Decide where to place them in the file system
  2. Automate copying to correct location on build of the project
  3. Configure that they get picked up automatically - for this you'll need to implement and register in DI:
    1. OqtaneRepositoryInfoFileSystem: RepositoryInfoOfFolder
  4. Test / verify that they are in insights

First REST API

  1. Implement the basic content read REST-API - to do this, you'll probably already need to implement these objects and add them to DepedencyInjection
    1. OqtaneZoneMapper: ZoneMapperBase
    2. OqtaneTenant: Tenant<OctaneSiteClassOrWhatever>
    3. OqtanePermissionCheck: AppPermissionCheck
    4. OqtaneUser: IUser
    5. OqtaneRepositoryInfoFileSystem: RepositoryInfoOfFolder