[ENH] 'for Tiki 7

Some notes about work on modules in early 2011 - to be merged into doc.t.o sometime.

So this has now been merged in trunk and is ready for extensive testing


This brings a new paradigm of how to arrange the look and feel of your Tiki. Previously prefs (preferences) were used in the look & feel admin panel to control the layout of your site, but now (in trunk now, and will be part of Tiki7) tiki-modules_admin.php will be used to design the contents and layout of your site's header and footers well as the left and right columns.

Help

Should be more intuitive now wink

  • Drag the modules around to re-order then click save when ready
  • Double click them to edit
  • Modules with "position: absolute" in their style can be dragged in to position
  • New modules can be dragged from the "All Modules" tab

New Stuff

  • New module parameters: style & class to control the appearance of modules more easily
  • No more #siteheader TPL customisation required (no more tiki-site_header*.tpl)
  • New modules
    • breadcrumbs
      A hierarchy of where you are. Ex.: Home > Section1 > Subsection C.
      Sadly there already was one called breadcrumb which is really "last viewed pages"
    • menu
      Proper module for menus at last - defaults to CSS
    • poweredby
      Powered by Tiki, optional version and icons
    • share
      Report, share of email page (should replace hard-coded ones in tiki.tpl)
    • loadstats
      Server load statistics
    • babelfish_logo
    • babelfish_links
    • svnup
      last svn up info

Migration

Expected migration pain...

  • Actually, in updating the themes in mods.tiki.org, the migration was pretty smooth. CSS rules were added to position items, etc., assuming the "Look and Feel" content modules were placed in either the Top Modules area or Topbar Modules area (depending on where the horizontal menu is located relative to other items, and other factors).

Upgrade Script

So far the Tiki 6 default header and footer contents get automatically created as new modules in the top_modules and bottom_modules zones. This replaces the current header and footer entirely and some manual work will be needed to re-create previously customised layouts.

Theme compatibility

For the layout of the header in Tiki 7 to have the same appearance as in Tiki 6, and for the header to work with more than one theme at a site (and for header items to be positioned as expected when a new theme is installed), header module positioning should be done in the theme stylesheets as much as possible. Positioning that's done on the Admin Modules page
makes inline CSS that overrides stylesheet rules.

Of course the site admin can position header modules using their parameters as well, but it's probably a good idea to have theme defaults in the stylesheets initially.

No more theme-specific site header (.tpl) files

We've gone full circle from no theme .tpls and relying on CSS for layout (with mixed results), to using a "wrapper" file to load object-specific files in sequence, back to no theme files and reliance again on CSS, but this time aided by logic in module admin (a module can display or not depending on the theme(s), so, for example, to accommodate "tiki-top" menu position variations in themes, the menu's module can effectively be moved from below the logo to above it by using the theme and !theme parameters on two instances of the module). Also, the new method is helped by the fact that Tiki 7 doesn't have to support IE6.

Stylesheet updating

The CSS selectors in the site header area are changing for Tiki 7, so stylesheets, etc. will need to be updated accordingly.

Here is a brief (so far incomplete) list of the changes:

  • #siteloginbar is now a class (.siteloginbar) as it's possible to add modules more than once
  • see fivealive for how to layer 4 header bg images

To Do

  • Make pagetop and pagebottom zones
  • Deal with contents of tiki-bot_bar.tpl (make new modules for "powered by" etc)
  • Convert sitemycode etc. prefs into user modules
  • Refactor (after merge)
  • Adjust theme stylesheets as necessary
  • Make login popup mode
  • Save Current Theme as a profile