Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 294447

[meta] Add a new framework base theme to Drupal core

$
0
0

Problem/Motivation

Front-end CSS frameworks (like Bootstrap, Zurb Foundation, etc.) are gaining momentum because they make it easier to implement a pleasant-looking design with minimal effort.

Drupal core provides no examples of how to integrate a 3rd party front-end framework with Drupal. Currently, we basically have to teach them the entire theme system (including render system) and then say “okay, you now know enough to implement a 3rd party framework.” That's really hard to do! (Both for the learner and the teacher.)

While Drupal's back-end and JavaScript has implemented a lot of 3rd party code, on the CSS front, we have only added normalize.css to Drupal core. More can be done here.

Also, over in #2289511: [meta] Results of Drupalcon Austin's Consensus Banana we did a survey and found there was a split of 2 to 1 of people who wanted sensible markup/classes and those who wanted clean markup/no classes. However, we didn't survey the group that likes to use frameworks. Since many "I want a framework" people are not front-end developers, there are probably more of them than the other 2 groups combined. We are not catering to them at all in Drupal core.

Proposed resolution

Given that Drupal 8's new semantic versioning makes it possible to add new APIs (as long as we don't break existing ones), it is now possible to add a new core, non-default base theme in a later 8.[1,2,3,…].0 release. For example, we could add a new hot-framework-of-the-moment base theme to Drupal 8.1.0 without changing any APIs.

Wins

New-to-Drupal front end developers will see an example of an existing front end framework integrating seamlessly with Drupal. “Want to learn how to integrate Drupal with Web Starter Kit? Look at the framework base theme in core as an example.” We no longer are required to teach them the entire theme system as an answer to that simple question.

Developers who have a project that matches the use case of the chosen framework will be attracted to Drupal since it gives them a base theme to get a quick start with.

Everyone else (including new learners and developers that work primarily on the back end) will get to use a CSS framework which is kind of nice. Did we mention that they are gaining momentum? These people will be able to easily create a prototype or minimally viable product by using the in-Drupal-core framework's existing components.

Remaining tasks

This issue will be easier to implement after #2289511: [meta] Results of Drupalcon Austin's Consensus Banana lands in core.

Since we should focus on the #2289511 issue before 8.0-rc1, let's postpone this issue until after 8.0's release.

User interface changes

New base theme on the Appearances page.

API changes

Still need to identify how to deal with new versions of a framework that we have implemented as a base theme in core.

When we add a framework to Drupal core, we are required to support that specific version of the framework until the next major version of Drupal core. e.g. If we added Zurb Foundation 5 as a base theme to Drupal 8.1.0 and Foundation 6 is released just after Drupal 8.1.2 is released… what do we do? We can't upgrade that base theme to Foundation 6 because that would be an API change Or is the base theme called “foundation5”?


Viewing all articles
Browse latest Browse all 294447

Trending Articles