This was discussed again at the Moodle HQ Dev scrum
- which has come to a very different conclusion to the MoodleMoot Hackfest community. In that hackfest we went through the pros and cons that were in the previous discussions on this topic a year or so ago. The only concern left at the end of that was that the HQ developers would continue to resist this move that had 100% support from those present at the hackfest and that proves to be the case.* There is a general feeling that bootstrap2 was added too early and we
spent a long time adding fixes before it was "production ready" - so
adding bootstrap3 and releasing in one cycle seems rushed
Yes, I made that point frequently at the time of integrating BS2 and was overruled. And at the hackfest I made the point during the discussion - I was one of those who quite openly at the time said that I did not believe we were ready to integrate bootstrap, or how we did it - but we did and over the last few years huge strides have been made in creating bootstrap themes, to the extent that I now consider that we need to ensure that if we are saying we are primarily supporting bootstrap as our theming framework, we need to ensure we are fully
supporting it in its most current version! BS3 has now been in use in community themes for some time, there are already about half a dozen in the plugins database
and its in mainstream use not just experimental. Its not just adding it in one cycle, it has been worked on by people like Bas, Stuart, David and Gareth for some time (as well as others like Danny and myself).* What are the real benefits of bootstrap3 over bootstrap2?
This is the supported version of BS - and has been for some time - if anyone wants to use BS in their content, they are likely to go looking to the BS sites and pull off details relevant to BS3. It encourages the development of content through a mobile first approach as recommended in many web development strategies. I am not familiar enough with the benefits from a more technical aspect to list those, but Im sure someone like David could add to that. There's also the 'public image' benefits - 'oh yes Moodle, that only supports older technologies like BS2 though doesn't it, not exactly cutting edge, not even on a recent stable version' And yes, I have already heard those comments made and defended them by pointing out the community support for BS3!** RTL ? No they haven't done RTL support yet, but ours is mostly working with bootstrap2
And is 'mostly working' in the exsiting bootstrap3 themes in exactly the same way. - Could it be improved, of course, but the solutions in BS3 are no worse than those in BS2** Accessibility ? No - the bootstrap menus etc don't follow the aria specs - especially weak on keyboard navigation
And how is this different between BS2 and BS3?** It's newer so theme designers are more likely to be using it for other projects - Yes
And allows easier theming across sites using multiple platforms such as WordPress etc that already support it and have for some time
But its not only theme designers - I have several tutors in the situation I mentioned above. They are fairly web-savvy and having been told our theme was using bootstrap went looking to add several BS components into their content to improve its appearance and found they couldn't because we are using BS2 and the main BS site is BS3. Yes the BS2 examples can be found, but I then had to make the explanations about not supporting the current version.** It's "supported" upstream - well not for long enough to be much use to us
And that is an argument potentially caused by the failure to support BS3 when it first came out and has the potential to run and run. Supporting BS3 was first mooted when it was initially released and was rejected because it was too new, we were only just doing the work for BS2 (maybe too early - probably should have been the perfect time to focus on BS3 then, but that was rejected, but that's done). If we don't move forward until BS4 comes out we have many more potential issues - we tie in even closer to BS2 making more work to convert, BS4 is too new when it comes out, but by the time we have this discussion again they are announcing BS5. Its an argument that will go around in circles.
And in all honesty - its supported longer than Moodle versions are!
Yes renderers are essential and that work needs to be done. But the call at the community driven hackfest was to get a BS3 supported theme into core, which can then be a focus for a continued push on all those areas of moodle core code that still need rewriting as renderers.
There are Bootstrap2 themes and bootstrap 3 themes - has anyone actually created a Pure (YUI is dying so this is unlikely) or Zurb theme? Yes, I've added a (experimental) flexbox based one that replaces the grid in - oh yes bootstrap3! - But are there actually any other frameworks that people are using or want to use for themes that require that work to be prioritised over and above the supprot for the current version of our existing framework. And surely rewriting renderers so that a. they exist and b. they are better written to support good web standards/semantics is going to be a major ongoing project that will benefit anyone wanting to use those renderers with another framework anyway.
Bootstrap 3 themes are already in use, they are already being built and used in the community. One of the things holding back even wider adoption is the fact that they have to either be built as standalone or they have to rely on a parent theme which is itself not in core. The community is using this technology already. I personally feel it is to the detriment of Moodle to be seen as not supporting this at this stage.
It seems HQ are more than happy to push tech changes that no-one in the
communty knew much about (such as mustache templates) for whatever reasons,
positive ones Im sure, but seem very resistant to the idea of supporting
work already largely done by the community to support the BS3 themes
that many people want. Other than HQ developer reluctance I don't see
any valid arguments in the above not to be taking on board the support
for a Bootstrap 3 core theme.