History: Bootstrap Transition Preps
Preview of version: 31
As part Theme Revamp, this page is to discuss, and plan an eventual transition to using Bootstrap in Tiki. As there is a general consensus we should move in the general Bootstrap direction (the minimum being the ability to use Bootstrap themes), the remaining questions are no longer "if" but more "how" and "when"
An experimental branch is here: http://sourceforge.net/p/tikiwiki/code/HEAD/tree//branches/experimental/redesign-proof-of-concept/
Questions
- Where will we coordinate work?
- I think on themes.tiki.org
- Bootstrap 2 and later 3, or directly to Bootstrap 3?
- Licensing issue prevents us use Bootstrap 2
- There are several non backward-compatible changes
- I suggest we shoot for compatibility with Bootstrap 3 to avoid doing a lot of work twice.
- What about LTS handling?
- Option 1: start revamp after Tiki12 LTS
- Benefit: We can do pre-requisites such as Menu Revamp
- Benefit: So we have less work later, we can start with migration of some aspects like
- http://twitter.github.io/bootstrap/customize.html#plugins
- Some of the themes (ex.: we should have a FiveAlive for Bootstrap)
- Benefit: We can start directly with v3
- Benefit: Community has several months to get accustomed to Bootstrap
- Benefit: No change on the schedule
- Drawback: First LTS with Bootstrap will be Tiki15
- Drawback: We could have started earlier
- Option 2: start after 11.0 and try to finish for Tiki12
- If Tiki12 isn't stable enough for a release on schedule, either
- Option 2a) Retroactively identify Tiki11 as LTS
- Option 2b) Identify Tiki13 as LTS
- If Tiki12 isn't stable enough for a release on schedule, either
- Option 1: start revamp after Tiki12 LTS
- Do we try to support Foundation as well?
- Will we still support the core/existing customisation approach that Tiki has - even with a Bootstrap theme (I'm probably showing my ignorance here! - Geoff) e.g
- being able to take a standard theme but apply an 'option' (/styles/theme_name/options)that tweaks/adds different css etc., which includes:
- option specific images
- the Newsletter specific css
- etc.
- how will quirky browser tweaks be handled eg ie7, ie8 files etc
- having a set of .tpl's that are theme specific (/templates) - with customised mail templates folder
- be able to apply theme specific modules
[My view is that we should use Bootstrap to provide:
- Uniform styling (classes) for page components such as gadgets, buttons, tabs, and tables, etc. ("content"), and
— (First we'll need to clean up Tiki's tpl files to uniformize the construction of these things.)
- Page layout classes for grids, responsive web design, etc. ("framework")
- Tiki's CSS classes should be a superset of the Bootstrap classes IMO.
— A quick check of more-interesting "made with Bootstrap" sites shows this is common practice.
— Sites using only default Bootstrap classes seem to be pretty limited style-wise.
— We can offer more flexibility to designers and reduce their work by adding classes for styling.
— We can offer more page layout options by having a few more divs available (to support FiveAlive-style header and footer graphic treatment, etc.). ] - being able to take a standard theme but apply an 'option' (/styles/theme_name/options)that tweaks/adds different css etc., which includes:
Evolution or revolution?
Do we go for a clean break / "burn all bridges" approach and force major changes on all legacy themes? or do we make an effort to try to make old themes still work?
Arguments for clean break
- End result will be simpler code
- End result will be closer to what people already know (people that use Bootstrap that is)
- Most theme intense sites have more than enough features in the LTS versions and can use that until they decide to refresh their site design.
Arguments for legacy support
- Makes it easier for heavily customized themes to upgrade
[I'm not sure how important legacy support per se is, but I think it'll be good to have a framework available that enables people to replicate their old designs if they want to go to the trouble. ]
Things to watch out for
Things that Bootstrap doesn't cover
- Logo?
- Presumably, Tiki's HTML classes will be a superset of the Bootstrap classes, so our current method for specifying the logo can still be used, in combination with the benefit of Bootstrap's layout.
- RTL is not in v2
- Licensing issue prevents us use Bootstrap 2 anyway
- Let's use http://schema.org/ when possible
- I do not understand how do Schema attributes validate in HTML - luci
- luci, I think the suggestion was to use them for element/class names, etc.
Things that Bootstrap overlaps with existing components
- http://twitter.github.io/bootstrap/customize.html#plugins
- jQueryUI
- jQuery Mobile
Pre-requisites
What work can be done in Tiki12 or in experimental branch and is easy to merge in later, even if we move to Boostrap for Tiki13
Done in 12 without disruption
- Menu revamp
- Migrate more things to Smarty plugins
- New space /themes/ directory (but old way still works)
- Move all temp content to one place
- Layout switcher (from experimental branch)
Done in experimental branch and merged later
- Change to use Bootstrap font icons, which can be themed
In general
- This is a lot of work
- True, but Tiki's templates and CSS really need a major overhaul anyway. If that happens in a way that can take advantage of the Bootstrap bandwagon (as long as we still have design flexibility), so much the better.
- True, but Tiki's templates and CSS really need a major overhaul anyway. If that happens in a way that can take advantage of the Bootstrap bandwagon (as long as we still have design flexibility), so much the better.
In version 3.0
- No set release date, but probably sometime in 2013
- Many changes in class names
- Dropping submenu support
- https://github.com/twitter/bootstrap/tree/3.0.0-wip
Workflow
- http://jeffcroft.com/blog/2012/feb/23/many-ways-to-use-css-preprocessors/
- http://coding.smashingmagazine.com/2013/03/12/customizing-bootstrap/
Related links
History
Information | Version | |||||
---|---|---|---|---|---|---|
Mon 13 of Jun, 2016 05:17 UTC Gary Cunningham-Lee URLs corrected to fix 404 errors. | 48 | |||||
Tue 05 of Nov, 2013 02:11 UTC Torsten Fabricius typo? | 47 | |||||
Tue 05 of Nov, 2013 02:10 UTC Torsten Fabricius ML asked to rename for the purpose of SEO optimisation | 46 | |||||
Tue 29 of Oct, 2013 01:39 UTC Torsten Fabricius some more comments | 45 | |||||
Tue 29 of Oct, 2013 01:29 UTC Torsten Fabricius commented on where to coordinate | 44 | |||||
Tue 29 of Oct, 2013 01:25 UTC Torsten Fabricius comment to "Foundation" | 43 | |||||
Tue 29 of Oct, 2013 01:12 UTC Torsten Fabricius restructure BS pages | 42 | |||||
Wed 16 of Oct, 2013 10:36 UTC Gary Cunningham-Lee Added "Planning for Tiki 13" link. | 41 | |||||
Wed 11 of Sep, 2013 17:20 UTC Marc Laporte | 40 | |||||
Tue 27 of Aug, 2013 12:58 UTC Marc Laporte Too late now for Tiki12 | 39 | |||||
Fri 19 of Jul, 2013 02:54 UTC Gary Cunningham-Lee Links completed. | 38 | |||||
Fri 19 of Jul, 2013 02:53 UTC Gary Cunningham-Lee Small joke added. | 37 | |||||
Thu 18 of Jul, 2013 21:24 UTC luciash d' being ?♂️ just the link to the license compatibility diagram | 36 | |||||
Sun 21 of Apr, 2013 16:13 UTC Gary Cunningham-Lee PHPStorm info added. | 35 | |||||
Sun 21 of Apr, 2013 00:23 UTC Gary Cunningham-Lee CSS reorganization added. | 34 | |||||
Sat 20 of Apr, 2013 21:27 UTC luciash d' being ?♂️ | 33 | |||||
Sat 20 of Apr, 2013 18:12 UTC luciash d' being ?♂️ | 32 | |||||
Fri 19 of Apr, 2013 15:27 UTC Gary Cunningham-Lee link added | 31 | |||||
Fri 19 of Apr, 2013 14:25 UTC Gary Cunningham-Lee Ideas about classes added. | 30 | |||||
Thu 18 of Apr, 2013 13:17 UTC Marc Laporte | 29 | |||||
Mon 15 of Apr, 2013 14:35 UTC Geoff Brickell | 28 | |||||
Mon 15 of Apr, 2013 01:22 UTC Marc Laporte | 27 | |||||
Sun 14 of Apr, 2013 18:49 UTC Gary Cunningham-Lee Added a workflow section. | 26 | |||||
Sun 14 of Apr, 2013 18:21 UTC Marc Laporte | 25 | |||||
Sun 14 of Apr, 2013 18:16 UTC Marc Laporte | 24 | |||||
Sun 14 of Apr, 2013 18:14 UTC Marc Laporte | 23 | |||||
Sun 14 of Apr, 2013 17:50 UTC Marc Laporte | 22 | |||||
Sun 14 of Apr, 2013 17:48 UTC Marc Laporte | 21 | |||||
Sun 14 of Apr, 2013 17:45 UTC Marc Laporte | 20 | |||||
Sun 14 of Apr, 2013 17:41 UTC Marc Laporte | 19 | |||||
Sun 14 of Apr, 2013 17:36 UTC Gary Cunningham-Lee Comments added. | 18 | |||||
Sun 14 of Apr, 2013 16:33 UTC luciash d' being ?♂️ | 17 | |||||
Sun 14 of Apr, 2013 16:28 UTC Marc Laporte | 16 | |||||
Sun 14 of Apr, 2013 16:27 UTC Marc Laporte | 15 | |||||
Sun 14 of Apr, 2013 16:18 UTC Marc Laporte | 14 | |||||
Sun 14 of Apr, 2013 15:57 UTC Marc Laporte | 13 | |||||
Sun 14 of Apr, 2013 15:49 UTC Marc Laporte | 12 | |||||
Sun 14 of Apr, 2013 15:47 UTC Marc Laporte | 11 | |||||
Sun 14 of Apr, 2013 15:45 UTC Marc Laporte | 10 | |||||
Sun 14 of Apr, 2013 15:40 UTC Marc Laporte | 9 | |||||
Sun 14 of Apr, 2013 15:38 UTC Marc Laporte | 8 | |||||
Sun 14 of Apr, 2013 15:34 UTC Marc Laporte | 7 | |||||
Sun 14 of Apr, 2013 15:18 UTC Marc Laporte | 6 | |||||
Sun 14 of Apr, 2013 15:17 UTC Marc Laporte | 5 | |||||
Sun 14 of Apr, 2013 14:32 UTC Marc Laporte | 4 | |||||
Sun 14 of Apr, 2013 14:07 UTC Marc Laporte | 3 | |||||
Sun 14 of Apr, 2013 13:55 UTC Marc Laporte | 2 | |||||
Sun 14 of Apr, 2013 13:53 UTC Marc Laporte | 1 |