The bootstrap should be configurable per website however a default out-the-box implementation should be available.
The runtime should be a very basic class that is easily overloadable.
The request and response classes should be defined by the runtime, which is overloadable allowing you to change the request and response classes and the runtime where required.
The CMS should be a package of modules and should be available by default when downloading SilverStripe (pretty much the same as how we have an option to download the framework or the framework with the CMS).
The session handling should be a module.
The routing should be a module.
The MVC should be a module.
The fields should be a module.
The template engine should be a module.
The tasks should be a module.
And so on.
Modules should be able to define dependencies too.
If we can split everything out like so, it is actually possible to make it easier to maintain each module by delegating out who is responsible for what aspect of SilverStripe.
I think this should be the focus for SilverStripe 4 to adopt such a pattern whereby you are making use of lots of interfaces and modules as this will potentially cause a lot of breaking changes.
There are other benefits of using modules too, such as increasing community engagement, as when one person has a problem and they are able to write a module which doesn't have to rewrite a lot of code already existing in the core, put a pull request together and hope that it is accepted, the person is more likely to tackle the problem which will result in the community growing as more people see the benefits of SilverStripe. This will give the core developers a much easier time when it comes to maintaining SilverStripe.
So I wondered what the thoughts are of those who have the final say in what direction SilverStripe moves, along with any input anyone else has.
--
You received this message because you are subscribed to the Google Groups "SilverStripe Core Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to silverstripe-d...@googlegroups.com.
To post to this group, send email to silverst...@googlegroups.com.
Visit this group at http://groups.google.com/group/silverstripe-dev.
For more options, visit https://groups.google.com/d/optout.