Preparation
- Make sure you know the new platform well, it's APIs etc.
- Also make sure you have a good idea of how 2sxc works internally
- 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
- Startup
- 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.
- Ensure that the sql connection is injected properly (at first the test-dnn connection)
- Get State data to load
- Implement Insights
System Content Types
- Decide where to place them in the file system
- Automate copying to correct location on build of the project
- Configure that they get picked up automatically - for this you'll need to implement and register in DI:
- OqtaneRepositoryInfoFileSystem: RepositoryInfoOfFolder
- Test / verify that they are in insights
First REST API
- Implement the basic content read REST-API - to do this, you'll probably already need to implement these objects and add them to DepedencyInjection
- OqtaneZoneMapper: ZoneMapperBase
- OqtaneTenant: Tenant<OctaneSiteClassOrWhatever>
- OqtanePermissionCheck: AppPermissionCheck
- OqtaneUser: IUser
- OqtaneRepositoryInfoFileSystem: RepositoryInfoOfFolder