Tobago Demo

Menu

Tobago 4

Overview and History

After the last major release in December 2016, Tobago 4 comes with 127 changes, bugfixes and new features in December 2017.

In general, the step to version 4 is quite compatible, so the migration is easy. Please follow the Migration from Tobago 3 to 4 guide.

New Features and Enhancements

The highlights

  • Update to Bootstrap 4 beta 2
  • Reimplementation of grid layout mananger and split layout manager
  • Security enhancements
  • Java 8 or 9
The full list is available in Jira.

Layout Managers

  • Grid Layout was reimplemented with use of the modern CSS grid
  • Split Layout was reimplemented (was not available in Tobago 3)
  • Flex Layout was optimized (works now without JavaScript)
  • Segment Layout was enhanced. New attributes "offset" and "margin". Also it's possible to use "auto" and "1fr" as with of the children.
  • The syntax of the layout attributes are refactored to be compatible to modern CSS. E.g. use of "fr" as unit for fraction in grid layout. The old syntax works also, so not migration is needed.

CSS Styles

Reimplementation of Inline Styles
Is better and faster, because not use of JavaScript is needed now. Background: This is possible with CSP Level 2.

Inline Style for Rows ans Columns
<tc:style> can now be used as subtag of <tc:row> and <tc:column>. The styles are set dynamically, so different styling of rows is possible.

New components supported
Styles can be used in:

Markups

Markups are now easily accessable by JavaScript. The markup could be found on component root in the attribute data-tobago-markup.

New markups:

Messages near the input fields

The error messages are now rendered directly by the input control. In this demo you please leave the content free and just click "check". (This also works with AJAX.)

For more information have a look at Message Layout

Tag library

  • <tc:image> now supports a Font Awesome string as value.
  • <tc:event> now supports the rendered attribute.
  • <f:ajax> now supports the disabled attribute.
  • <tc:link> now supports outcome and fragment attribute.
  • <tc:style> now supports the rendered attribute.
  • New tag <tc:meta> implemented.

Theming

  • Optimize the theme builder
    Faster loading the Bootstrap theme and using same base _tobago.scss for all theme.
  • Speyside Theme
    The Speyside theme is now part of the distribution. It looks a bit more condensed and the menu is fully viewable for all submenus. You can switch the theme here in the demo menu under Configuration → Theme.
  • Scarborough Theme
    The Scarborough theme is now part of the distribution. It looks quite same as the bootstrap theme, but a bit nicer.
  • Roxborough Theme
    The Scarborough theme is now part of the distribution. It has a nice dark look for ambient light situations or photo galleries.

Security enhancements

  • CSP level 2
  • Frame attack protection via headers instead of JavaScript
  • Roles

Font Awesome updated to 4.7.0

New icons are available from the FontAwesome icon library.

New XSD Version

With Tobago 4 there is a new XSD version for the tobago-confix.xml.

  • decode-line-feed added
    Default value is 'false'. If set to 'true' control characters are not decoded on ajax requests.
  • security-annotation added
    It determines what happen to the according component if - for example - @RolesAllowed() is not 'true'. Possible values are 'hide', 'disable' and 'ignore'.
  • renderers, renderer, supported-markup-type removed
    It is not longer needed to specify which markups are allowed on specific components.
    'renderers' only contains the 'supported-markup-type' element. So it was also removed.

More improvements

© 2005-2023 Apache Software Foundation, Licensed under the Apache License, Version 2.0.