We would like to have an idea of how many moodle >= 3.2 sites use a theme_bootstrapbase-based theme (bootstrap 2) and how many sites use a theme_boost-based (bootstrap 4 alpha). This info will be useful to decide how we approach the upgrade to bootstrap 4 stable. It would also be very useful to know if you have any plans to upgrade soon.
Thanks in advance
As soon as MDL-56511 lands I would want to update all of my current contributed themes from BS2.3.2 to BS4 - thus pragmatically at least Essential and Shoelace. Essential currently has 10558 sites using it and Shoelace 506.
By 'approach' do you mean that you'd back-port stable code to M3.4 and below?
Thanks for replying Gareth.
We want a theme based on a stable version of bootstrap 4 and Bas Brands is working on it, currently as a separate theme. We would like to upgrade theme_boost to bs4 stable instead and we want a smooth transition for people that are already using a theme based on theme_boost. We would provide a compatibility file (similar to bs2-compat.scss and bs4-compat.less) that would reduce the differences between bs4alpha and bs4stable but it is likely that we would still break some of the current theme_boost classes. Having an idea of theme_boost adoption will help us balance the aggressiveness of our theme_boost changes.
Ok, what about a long term plan, say for M3.6 that has 'Bootstrapbase' upgraded to vanilla BS4, then Boost being more specialised would then have time to upgrade / migrate to being a child theme of such with its extra capabilities such as presets? Then enough time for contributed themes to upgrade and Boost based themes some breathing space.
I agree that would be very helpful when upgrading themes, but themes would still break when using a lot of Bootstrap 2 specific classes. I think maybe the issue with upgrading to having boost as a parent theme is getting all the extras like the nav-drawer, changed navigation an things like that. What if there was a way to simply turn off the template that change these things an have boost behave like a bootstrapbase theme?
I was thinking of Moodle dropping BS2 and moving forward into the future. So therefore in M3.5 BS 4 stable becomes a core contributed 'base' theme and 'Bootstrapbase' becomes depreciated (in terms of BS2), giving time for existing themes to change their parent. In M3.6, 'Bootstrapbase' becomes the BS4 stable version and Boost looses its BS4 alpha version and becomes a child theme of it. Then all themes have one BS4 base theme but with different functionalities, so core can have Boost, Clean and More all with the same parent but offering different functionality and user experiences to suit varying needs.
A couple of links about bootstrap base (feel all free to comment):
- Deprecate the bootstrapbase theme and remove from core https://tracker.moodle.org/browse/MDL-58427
- Deprecate the bootstrapbase theme and remove from core https://tracker.moodle.org/browse/MDL-57307
Looking forward to seeing Boost as BS4 and will then be happy to update Waxed/Handlebar to that standard.
Themes >= 3.2
Adaptable (Bootstrap Base) = 5570 Approx
Essential (Bootstrap Base) = 4690 Approx
Moove (Boost) = 1665 Approx
Fordson (Boost) = 1649 Approx
Aardvark (Base / Canvas) = 2107 Approx
The Open University is using a theme based on bootstrapbase, and that was only 'finished' a year ago. Of course, we are still working to improve it. Doing a custom theme for the whole of Moodle is a huge job, we want to use this theme for several more years, not throw it away and start again.
Base themes in Moodle core need to be built to last a very long time. Really, we should be able to update third-party dependencies in-place, rather than having to continually throw them away and start again.
I suppose we have not thought about how hard it would be to change the theme we are based on. However, since themes have to have a lot of code to override core stying, I am sure it would not be pretty.