History: Planning for Tiki 13
Preview of version: 5
Steps for preparing for Bootstrap compatibility in Tiki 13
(Bootstrap 3.1 will be released under an MIT license so will be compatible with Tiki's license.)
Decisions that need to be made:
CSS - file organization revamp
- Replace lite.css (now obsolete IMO) and design.css and feature-specific files in css/ directory with function-specific files mirroring the bootstrap .less partials.
- Globalize selectors to minimize the use of single-instance rules (design details such as white space and color).
- Question: What is the best-practices final form of the CSS files?
CSS - use Less CSS pre-compiler?
- It seems best to take advantage of the power of CSS pre-compiling if the workflow can be worked out, but (for comparison):
- e107 just uses compiled bootstrap.css
- Joomla apparently has install code to fetch bootstrap.css but doesn't include it.
- Some new CMSs support Less pre-compiling of stylesheets, but none of the major ones seem to.
- Another question: Should theme CSS files override core files, or should themes be made by editing .less files and replacing core files (for example in the same way that the customized (http://getbootstrap.com/customize/) and demo (http://bootswatch.com/) bootstrap themes are done)?
If Less pre-compiling is used...
Less and CSS - determine the best workflow.
Proposed:
- Commit .less files and compiled .css files
- Edit only .less files
- Resist the temptation to make quick edits in .css files. Reference: http://jeffcroft.com/blog/2012/feb/23/many-ways-to-use-css-preprocessors/
RTL language support
- We should figure on supporting RTL from the start; discussion: https://github.com/twbs/bootstrap/issues/9913, theme-based solution: https://github.com/morteza/bootstrap-rtl.
Icon Fonts
- Should icon fonts such as Glyphicons (http://getbootstrap.com/components/) (or similar, such as Fontawesome (http://fortawesome.github.io/Font-Awesome/), which may work better - need to research/decide) be supported by default?
Or if not by default, maybe it can be a L&F option, or else documentation provided as to what to modify (supporting icon fonts means linking to the files and adding, for example, '<span class="glyphicon glyphicon-star"></span>' or '<i class="icon-li icon-ok"></i>' in the template).
Template (.tpl) files
- Add Bootstrap classes to existing Tiki HTML where they make sense (under way with buttons, etc.).
- Reorganize as part of file tree organization
- Confirm that templates/layouts is the place for page layout alternatives
- Decide on bundled options - classic, responsive, responsive variants a la Drupal panels(https://drupal.org/sandbox/apmsooner/1805170) and a naming convention. Options should include:
- Classic (current pre-bootstrap layout - will be modified/simplified as gadgets-to-modules progresses)
- Default (Bootstrap-compatible implementation of classic)
- As a superset of Bootstrap layout, this supports legacy Tiki behavior: module zones and left and right columns, column show-hide, etc.
- Simple alternative (one big page-data area, for the most flexible layout- no default content)
- ?? Other layout views, or "panels"
- Globalize Tiki feature elements
This may be a good opportunity to "globalize" or "unify" the elements of the various Tiki features; that is, to revamp the layout elements of wiki pages, blog and forum posts, cms articles (at least) so their titles, content body and so on are consistent, with consistent CSS selectors and so on. Any needed style variation can be provided via the body class for the feature. This would greatly simplify theming.
Related tasks
- Revamp Smarty blocks and other code to support Bootstrap construction and classes .
- Tabs
- Menus
How does the menu revamp fit into this transition? - Etc.
- Modules
- Move remaining tiki-center gadgets, etc. to modules
- Page bar, wiki action icons
- Column show/hide icons
- Etc.
- It should be easy to add the bootstrap grid class to a module. Maybe instead of the actual class names, something more human-readable should be used, such as "1/6 width". Options also include "row", "container", etc. (what else should be used from bootstrap.css? Anything?
- About responsive behaviors of specific modules, what is the best behavior for a site logo? Probably to be replaced by something smaller, or to shrink, or disappear completely and only the site title be used.
- Move remaining tiki-center gadgets, etc. to modules
jQuery, JavaScript
- How to resolve redundancy of existing scripts and new Bootstrap JavaScript?
- Is jQuery mobile still needed? Should it be an optional alternative to Bootstrap (which supports mobile devices by default)?
Workflow for theme developers, etc. in and after Tiki 13
- Regarding themes, we need to think about the entry points of designers and implementers. We need to support a range of skill levels and dev time availability regarding themes.
- Just install a pre-made bootstrap theme and have it work.
- In this case, we probably need to provide the grid and responsive class rules, as the pre-made bootstrap themes don't necessarily cover these. But pre-made themes are often stand-alone, not needing the default bootstrap.css. This needs to be researched further.
- Maybe there should be some switches in L&F, to indicate whether the full bootstrap.css is needed (maybe the custom theme replaces it).
- These methods are for working in CSS, not Less files.
- Just install a pre-made bootstrap theme and have it work.
- Make a new theme compatible with bootstrap.
- One approach: working in CSS only.
- If appropriate/necessary, we could provide instructions on how to best use the getbootstrap.com theme customizer (http://getbootstrap.com/customize/).
- Another approach: working with Less.
- Make or upgrade a legacy Tiki theme.
- Document the mapping of Bootstrap.css to Tiki legacy CSS selectors.
History
Information | Version | |||||
---|---|---|---|---|---|---|
Tue 12 of Nov, 2013 08:20 UTC Gary Cunningham-Lee | 43 | |||||
Tue 12 of Nov, 2013 08:18 UTC Gary Cunningham-Lee Formatting. | 42 | |||||
Tue 12 of Nov, 2013 08:14 UTC Gary Cunningham-Lee Added to table comment. | 41 | |||||
Tue 12 of Nov, 2013 07:13 UTC Gary Cunningham-Lee Note about table overlapping added. | 40 | |||||
Tue 05 of Nov, 2013 01:59 UTC Torsten Fabricius added direct link to Bootstrap Team | 39 | |||||
Tue 05 of Nov, 2013 01:56 UTC Torsten Fabricius named links clearer (Compare Responsive Solutions) | 38 | |||||
Tue 05 of Nov, 2013 01:49 UTC Torsten Fabricius Added a coparative link from Marc and reorganised a fraction of the page | 37 | |||||
Fri 01 of Nov, 2013 09:16 UTC Marc Laporte | 36 | |||||
Fri 01 of Nov, 2013 08:48 UTC Marc Laporte | 35 | |||||
Fri 01 of Nov, 2013 08:44 UTC Marc Laporte Touch & Gestures | 34 | |||||
Thu 31 of Oct, 2013 09:17 UTC luciash d' being ?♂️ | 33 | |||||
Thu 31 of Oct, 2013 08:24 UTC gezza BS v301 update | 32 | |||||
Wed 30 of Oct, 2013 08:56 UTC gezza thougths on jquery-ui and external sources (vendor directory stuff) | 31 | |||||
Tue 29 of Oct, 2013 15:09 UTC gezza | 30 | |||||
Tue 29 of Oct, 2013 12:08 UTC Gary Cunningham-Lee More comments. | 29 | |||||
Tue 29 of Oct, 2013 12:08 UTC Gary Cunningham-Lee More comments. | 28 | |||||
Tue 29 of Oct, 2013 10:28 UTC Torsten Fabricius typo | 27 | |||||
Tue 29 of Oct, 2013 10:27 UTC Torsten Fabricius agreement to gezzas icon-set-structure idea (UI+layer) | 26 | |||||
Tue 29 of Oct, 2013 10:22 UTC Torsten Fabricius comkmented on Gary's comment - lite.css | 25 | |||||
Tue 29 of Oct, 2013 09:29 UTC gezza | 24 | |||||
Mon 28 of Oct, 2013 22:11 UTC gezza added some thoughts | 23 | |||||
Mon 28 of Oct, 2013 05:32 UTC Gary Cunningham-Lee Added some jquery mobile vs bootstrap links. | 22 | |||||
Fri 25 of Oct, 2013 15:51 UTC Torsten Fabricius grrr typo ... now? sorry for this many status mails! | 21 | |||||
Fri 25 of Oct, 2013 15:50 UTC Torsten Fabricius | 20 | |||||
Fri 25 of Oct, 2013 15:44 UTC Torsten Fabricius memberlist not working with Intertiki? Taken out! | 19 | |||||
Fri 25 of Oct, 2013 15:35 UTC Torsten Fabricius me: dumb :-o | 18 | |||||
Fri 25 of Oct, 2013 15:33 UTC Torsten Fabricius | 17 | |||||
Fri 25 of Oct, 2013 15:32 UTC Torsten Fabricius sorry, the different types of spelling parameters sucks | 16 | |||||
Fri 25 of Oct, 2013 15:29 UTC Torsten Fabricius fix another typo | 15 | |||||
Fri 25 of Oct, 2013 15:28 UTC Torsten Fabricius fix typo | 14 | |||||
Fri 25 of Oct, 2013 15:28 UTC Torsten Fabricius added {maketoc} and {memberlist} | 13 | |||||
Fri 25 of Oct, 2013 06:37 UTC Gary Cunningham-Lee Fixed a few format edits. | 12 | |||||
Fri 25 of Oct, 2013 06:31 UTC Gary Cunningham-Lee Minor edits. | 11 | |||||
Fri 25 of Oct, 2013 06:13 UTC Gary Cunningham-Lee Added some comments. | 10 | |||||
Wed 23 of Oct, 2013 13:36 UTC Marc Laporte | 9 | |||||
Wed 23 of Oct, 2013 13:23 UTC Marc Laporte | 8 | |||||
Tue 22 of Oct, 2013 11:07 UTC Torsten Fabricius Added my todays mail at bottom (not yet merged in) and commented to most of the points | 7 | |||||
Thu 17 of Oct, 2013 14:06 UTC Gary Cunningham-Lee Corrected syntax typo. | 6 | |||||
Thu 17 of Oct, 2013 14:04 UTC Gary Cunningham-Lee Changed the license point wording to keep the empahsis positive. | 5 | |||||
Thu 17 of Oct, 2013 09:14 UTC luciash d' being ?♂️ | 4 | |||||
Thu 17 of Oct, 2013 08:43 UTC Gary Cunningham-Lee RTL and license-related links added. | 3 | |||||
Thu 17 of Oct, 2013 06:05 UTC Gary Cunningham-Lee RTL and icon font points added. | 2 | |||||
Wed 16 of Oct, 2013 10:37 UTC Gary Cunningham-Lee Page created. | 1 |