blob: ab9f40bded18a61f7e81597fb8d011a52ff3ce77 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<ui:composition template="/main.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:param name="title" value="#{demoBundle.new_in_3_0}"/>
<p>In November 2015 the first alpha version of 3.0.0 has been released,
the first final release followed in December 2016.
Here is a quick overview over the features and changes made in the last time to release this major revision.</p>
<p>Tobago 3.0.0 contains several entries in
<tc:link label="Jira" image="fa-external-link" link="#{apiController.getJiraUrl('3.0.0')}"/>.
and most of them are exclusive in this version.</p>
<p>Please take also a look at the <tc:link label="Migration from Tobago 2.0 to 3.0"
outcome="/content/10-intro/50-migration/97-migration/migration30.xhtml"/> guide.</p>
<tc:section label="Overview and History">
<p>Until Tobago 2.0 the layout was computed on the server, to make advanced features available for comfortable web
application.</p>
<p>With CSS3 and HTML5 it is possible these days, to make advanced layout managers implemented in the browser.</p>
</tc:section>
<tc:section label="New Features and Enhancements">
<b>Bootstrap</b>
<p>The base theme that comes with Tobago changes from plain CSS to Twitters Bootstrap.
So your applications have the advantage of modern HTML5 web applications with less coding.</p>
<b>New Layout Managers</b>
<ul>
<li>Segment Layout (uses the 12 columns layout from Bootstrap)</li>
<li>Flex Layout (CSS3)<br/>You may replace the GridLayout from Tobago 2.0 with FlexLayout.</li>
<li>Flow Layout</li>
<li>The new layout managers have been written a bit more concised: Using as container instead of a facet.</li>
</ul>
<b>tx library</b>
<ul>
<li>The tx library is no longer needed</li>
<li>The label is integrated into the tc library.</li>
<li>This results in a more intuitive API</li>
<li>Rich variations of positioning the label with new attribute labelLayout</li>
</ul>
<b>New tags</b>
<ul>
<li><tc:link label="&lt;tc:section>"
outcome="/content/20-component/050-container/40-section/section.xhtml"/>
</li>
<li><tc:link label="&lt;tc:header> &amp; &lt;tc:footer>"
outcome="/content/20-component/050-container/50-header+footer/header+footer.xhtml"/>
</li>
<li><tc:link label="&lt;tc:figure>"
outcome="/content/20-component/020-output/45-figure/figure.xhtml"/></li>
</ul>
<b>Improved tags</b>
<ul>
<li>The <code class="language-markup">&lt;tc:in/></code> tag may be extended to an
<tc:link label="#{demoBundle.group}"
outcome="/content/20-component/010-input/50-input-group/group.xhtml"/>.
</li>
<li>A <code>size</code> attribute is added for
<ul>
<li><tc:link label="&lt;tc:selectOneListbox>"
outcome="/content/20-component/030-select/40-selectOneListbox/selectOneListbox.xhtml"/>,
</li>
<li><tc:link label="&lt;tc:selectManyListbox>"
outcome="/content/20-component/030-select/60-selectManyListbox/selectManyListbox.xhtml"/>,
</li>
<li><tc:link label="&lt;tc:selectManyShuffle>"
outcome="/content/20-component/030-select/70-selectManyShuttle/selectManyShuttle.xhtml"/> and
</li>
<li><tc:link label="&lt;tc:treeListbox>"
outcome="/content/20-component/090-tree/04-listbox/tree-listbox.xhtml"/>.
</li>
</ul>
</li>
<li>Only <code>disabled="true"</code> must be set to disable an
<tc:link label="image"
outcome="/content/20-component/020-output/40-image/image.xhtml"/>.
</li>
<li><tc:link label="&lt;tc:sheet>"
outcome="/content/20-component/080-sheet/sheet.xhtml"/>
<ul>
<li>Constraints are no longer needed to set a multi-line header.</li>
<li>A width can be defined for columns which will influence the auto layout of the browser.</li>
</ul>
</li>
</ul>
<b>Internal Refactoring</b>
<ul>
<li>Using standard ajax mechanism.</li>
<li>The clientId will be now rendered to the rool element in HTML of a component.</li>
<li>Change the icon format from GIF to PNG.</li>
</ul>
<b>Collapsible concept</b>
<p>There is a new
<tc:link label="collapsible concept"
outcome="/content/30-concept/53-collapsible/collapsible.xhtml"/>
for <code class="language-markup">&lt;tc:box></code>, <code class="language-markup">&lt;tc:section></code>,
<code class="language-markup">&lt;tc:panel></code> and <code class="language-markup">&lt;tc:popup></code>
where the collapse state can be switched via an <code class="language-markup">&lt;tc:operation></code>.
</p>
<b>More changes</b>
<ul>
<li>File upload now uses Servlet 3.0 instead of Commons Fileupload. This simplifies the setup.</li>
<li>Font Awesome as an icon library.</li>
<li>ARIA support codes are added. Those can be used in renderer classes.</li>
<li>Resources can be excluded from parent theme.</li>
<li>ResourceBundles support parameters</li>
<li>The <code>lang</code> attribute of the HTML root tag will be rendered now.</li>
<li><tc:link label="#{demoBundle.messages}"
outcome="/content/20-component/020-output/30-messages/messages.xhtml"/>
are closeable now.
</li>
<li>Custom CSS classes can be added to a component.</li>
<li>Support more units than 'px'. Now ex, em, mm, cm, in can be used as well.</li>
<li>The <code>link</code> attribute of
<tc:link label="&lt;tc:link> &amp; &lt;tc:button>"
outcome="/content/20-component/040-command/00-button+link/button+link.xhtml"/>
does support rightClick -&gt; newTab.
</li>
</ul>
<b>Removed</b>
<ul>
<li>The AutoAccessKey feature (using underscore to indicate next character as an access key) is removed.
Now the <code>accessKey</code> attribute must be used.
</li>
<li>JSP support removed.</li>
<li>The tag <code lang="language-markup">&lt;tc:time></code> is removed. Use
<tc:link label="&lt;tc:date>"
outcome="/content/20-component/010-input/40-date/date.xhtml"/> instead.
</li>
</ul>
</tc:section>
</ui:composition>