Loading...
 
Skip to main content
(Cached) Web Design ยป  Bootstrap

Planning for Tiki 13

Find a list of the members of "Team Bootstrap"

all Teams:

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.)

Boostrap v.3.0.1 comes soon and it is dual licensed (Apache 2 and MIT) see This is good enough for us and so v3.0.1 can be included in trunk? gezza: I guess it is not good enough, they say " all new contributions to Bootstrap will be dual-licensed as Apache 2 and MIT" ( Exactly: "We've been looking to move to the MIT license for quite some time, and today's release takes us that much closer. Starting with v3.0.1, all new contributions to Bootstrap will be dual-licensed as Apache 2 and MIT. The intent is to move the entire project (including all prior contributions) to the MIT license in a future version (hopefully v3.1.0)." โ€” luci

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.
    -> Torsten: NOT obsolete IMHO
    • Well, I meant in the sense that if the Bootstrap grid is used to lay out all the Tiki content, lite.css isn't needed. Not to say it doesn't have any, but what advantage does lite.css offer over using only the Bootstrap grid (just to be sure about this and so I'm being a Devil's advocate, to prevent unneeded duplication)? Also, for people with Bootstrap experience, maybe it's good to offer a path that's "pure" Bootstrap. But of course lite.css can still be available. That's why I mentioned maybe having options in L&F. Anyway, I want to make a schematic of CSS "stack" options.
    • -> Bootstrap does not know our module zones (especially #col2, #col3) at all and that is what lite.css takes care of: defined in layout_view.tpl and specified in lite.css. The thing is, that you need not to touch Bootstrap at all, to use the columns and that this is an easy to use and existing method to provide any content across pages and features, in column when wide screen and vertically stacked when narrow screen.
      • As a grid framework, Bootstrap doesn't need to know about Tiki's specific content such as the module zones or #col1,2, and 3. That's what the layout_view.tpl file is for: just assign bootstrap.css classes to those columns to make them part of the responsive grid. Bootstrap.css doesn't need to be touched.
    • -> I am not holding on the file lite.css itself, but the questions are,
      a) if we keep the method or find a new method to define column module zones
      b) if we keep, where we define it css-wise
      c) if we are already clearly at the point, that we do not touch bootstrap.css and it's various decendants (free themes) in itself, but build Tiki around bootstrap, so we literally can just plug in and out such themes in one single file and maybe very few simple adjustments
      => The workflow for good basic design must be very reliable and very easy!

  • Globalize selectors to minimize the use of single-instance rules (design details such as white space and color).
    agree
  • Question: What is the best-practices final form of the CSS files?

CSS - use Less CSS pre-compiler?

If Less pre-compiling is used...

Less and CSS - determine the best workflow.

Proposed:

RTL language support

Icon Fonts

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
    Torsten: => Need a Coder/Designer Webinar!
  • Confirm that templates/layouts is the place for page layout alternatives
    Torsten: => Confirmed. Here is the start point <-> layout_view.tpl
    templates/layouts/customlayoutname/layout_view.tpl

gezza: I think it should be in 2 files, I wrote some thoughts about it at the bottom of briefly: imho header and footer part of the current layout_view should remain the same in all themes. the body section (where you create the grid) should be moved out to a layout_body.tpl. Every theme gets an own layout_body.tpl.

  • Revamp Smarty blocks and other code to support Bootstrap construction and classes .
    • Tabs
    • Menus
      How does the menu revamp fit into this transition?
      Torsten: => menu needs a complete overhaul - need a Coder/Designer webinar
    • 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?
      Torsten: => maybe not needed! Just apply the grid-class to the object (or mostly containing DIV) and Grid is working
      I have to document that later, when I am back from travel
      I'm looking forward to your documentation because I don't know how a grid column (box, etc.) can be set to be, for example, 1/6 of the container width without being assigned the class - are we talking about the same thing?
    • 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.
      Torsten: => optional responsive images would be more than awesome, but that would be kind of a task ๐Ÿ˜‰
      Images can scale in CSS3 so are already responsive in that sense; Bootstrap also has rules for object display/no-display according to media query - though this doesn't stop the image download, which is a drag, but as Marc indicated, there is server-side control of resources depending on display device, maybe for Tiki 14.
  • Tables
    If tables are too wide, they will cause their grid div to overlap the divs to the right. The Bootstrap solution is to put the table in a div with class="table-responsive", to give the table a horizontal scroll bar. Thus the table will stay contained in the grid div and the design will remain responsive (

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)?
    + Torsten: => in my personal point of view we do not need a mobile perspective any more (I never got it really running with perspectives)
    + the existing solution seems to me more like a workaround
  • Especially in light of Jonny's comments, I think we can conclude that jQuery Mobile will be replaced by Bootstrap. Now, what about jQuery-UI?
    • gezza: I think it is related to the question of how to manage the styling of externals (stuff in the vendor directory). To achieve unified visual experience, we need to do something with the various styling of vendor sources, but we dont want to touch source codes in the vendor directory, so we need a layer either to first purify and than to add (or just simply add) boostrap classes on the fly. This dilemma is known if you google it, you will find many threads on this. A project to address this is

Compare Responsive Solutions:

Touch & Gestures

  • Should we pick a

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.
  • Make a new theme compatible with bootstrap.
  • Make or upgrade a legacy Tiki theme.
    • Document the mapping of Bootstrap.css to Tiki legacy CSS selectors.

Mail to dev-list 22 Oct. 2013

has to be merged into the page structure, when I am back from travelling.
Cheers
Torsten


Independently of that question we need either a new menu-administration and module_menu or (what I'd prefer) some extension of the existing menu/module_menu for the menu options, bootstrap offers.
So I write all in the mail and copy the mail at the end of


When I am back, I want to merge the mailcontent into the appropriate sections of the page - if somebody wants to do before, feel free. Sorry, I have to leave the house and travel in a few minutes.


(kept untouched)
(for ex.: /grid, /carousel, /jambotron, etc)
(for ex.: /bootstrap.css, ...)
(reduced to the core variant with mediaquery and grid-based relative width)
(variant with a third responsive type, file maybe just temporary in use -> cssmenu_horiz, cssmenu_vert + cssmenu_responsive)
(each bootswatchtheme is a complete customised and minimised replacemet of the original bootstrap.css.

Every theme from bootswatch.com is shipped as one single minified file named "boostrap.css".

So I renamed each of them after download to themename.css and put here besides the original bootstrap.css

...

Most likely the same with themes from other sources - we will try that anyway - maybe some extra workflow is necessary for bootstrap themes from Wordpress or Drupal? ... we have to check that)
(one for each downloaded bootstrap theme, contain the @include rules for the base-css-files like styles/bootstrap/lite.css styles/bootstrap/themename.css

This file needs only two lines and provides the place to customise the original downloaded bootstrap-variation:

@import url("tikitobs3.css");

@import url("bootstrap/themename.css");

/* +++ from here space to customise themename.css +++ /

)
(a "translation" file and kind of layer between /styles/themename.css and styles/bootstrap/themename.css

It @includes lite.css and my suggested left hidden admin area for all bootstrap themes.

...

Similar approach than lite.css and design.css from the old layout.

might be merged and/or renamed and/or placed somewhere else.

...

Some bits of design.css went inside this file aswell and here the standard cssmenu is becoming responsive (hence not flipping like the nice bootstrap menu).

...

Not knowing yet, this kind of file might be useful in different variations like wordpress-to-tikibs.css, drupal-to-tikibs.css, etc.?

...

@import url("bootstrap/lite.css");

@import url("leftflip/leftflip.css");

/
+++ from here a number of adjusted necessary oldstyle css rules +++ */

)
/styles/themename/option

etc.
/styles/grafics
/templates/layouts/classic

/templates/layouts/bootstrap

/templates/layouts/any-other-layout-basis

...

Each folder placed here will appear in the Look and Feel administration dialogue as optional Layout scheme.

...

In this file (layout_view.tpl) I added a bootstrap grid class to each one of the divs #col2 and #col3.

(only two times a copy/paste)

This pretty much together with the changed lite.css provides us with a responsive column design.
cheers

Torsten


Page last modified on Friday 22 of August, 2025 06:25:17 GMT-0000