Prepare
- Move in Apps-Dev list to "2sxc 17... (WIP)"
- Create branch "strong-typed"
- Update version to be x.17 (eg. v4.03 should become 04.17)
- Update app requirements to be 17.06.02
- add the .sln and .csproj files according to https://go.2sxc.org/vscode
- if the app uses staging/live editions, also update create/update the App_Data/app.json file
- Make sure it uses schema 17 (see example in Mobius)
- add the editions that are used
Generate
When generating, if we use editions for bs5 etc. then do it in the root, if we use editions for staging/live, then ATM only do it in staging to publish later.
- generate types
- generate razor base class
- if necessary (don't always do this) generate Service Base class
- if necessary (don't always do this) generate WebApi Base class
Implement changes in BS5 only
- All razors which use App.Settings/Resources
- must inherit from AppCode.Razor.AppRazor - or from a derived type
- change all accesses to the settings/resources to use the direct property
- Helpers
- Decide which to
- convert to services
- to extend in the AppRazor
- to create a custom RazorBase which we'll extend - eg. RazorListBase
- change to using these instead of the helpers
- if the helpers are only used in this edition, remove the originals
- Switch data to typed
- Decide where to
- create a custom RazorBase
- just use As<...> to do it in the razor
- Make all changes
- clean up other stuff
- Test has to > IsNotEmpty ex. spot.IsNotEmpty("Image")
- variable where it is needed, not just at the top
Changes WebApi
Control
- Your code should not have any GetCode(...) or CreateInstance(...) any more
Pre-Deploy
- publish staging to live
- update readme to record what was done, what version it uses etc.
- anything else?