...
To make this even more interesting I'm proposing to develop new In-Portal functionality (when possible) in a way of pluggable 3rd party library. Such libraries then can be reused even without In-Portal itself.
Separating In-Portal into Components
Right now there is a lot of code in In-Portal and it's modules. Codebase is separated into 2 groups:
- loosely coupled - code can work outside In-Portal (e.g. CurlHelper, ImageHelper)
- tightly coupled - code can't work outside In-Portal (e.g. ScheduledTaskEventHandler)