May 30

Custom Content in Paginator

Paginator has a quite flexible layout defined using paginatorTemplate, however since the elements are predefined such as {CurrentPageReport}, {NextPageLink} it is not possible to add custom content in paginator bar. Well, until now.

An upcoming feature enables placing custom elements inside the paginator template and the content of the element is defined as a facet.

<p:dataTable ... paginatorTemplate="{CurrentPageReport} {NextPageLink} ... {MyContent}">
   <f:facet name="{MyContent}">
       //Any content here
   </f:facet>
   //columns
</p:dataTable>

Live example is available demonstrating how to place data exporter icons next to the paginator.

This feature will be available in 5.0.2 and 4.0.15 for Elite&PRO users and 5.1 for community users. In case you cannot wait for 5.1, you can always build 5.1-SNAPSHOT from the open source repository.

Posted in PrimeFaces | 4 Comments
May 26

PrimeFaces Elite 5.0.1 and 4.0.14 Released

PrimeFaces Team is pleased to announce the first Elite release for 5.0.x and the 14th for the 4.0.x. line.

Legacy Widget Namespace

In 4.0, widgetVar.method() usage to access the client side api of a component has been deprecated in favor of PF(‘widgetVar’).show() to keep the window scope clean. It seems not everyone has migrated to PF(‘…’) in 4.x and upon requests of two PRO users, we have added a context parameter to bring window scope back. Please note that PF(‘…’) is always on, following configuration also enables access from window scope as before (widgetVar.method()).

<context-param>
    <param-name>primefaces.LEGACY_WIDGET_NAMESPACE</param-name>
    <param-value>true</param-value>
</context-param>

FileUpload Temporary Files
FileUpload component writes the files to a temporary location which is customizable (java.io.tmpdir by default). However these files were not cleaned periodically until now. As a side note to make sure cleaner thread is closed automatically when the application shuts down, a listener is required. This only applies if you are using commons upload not the native servlet uploader.

<listener>
    <listener-class>org.apache.commons.fileupload.servlet.FileCleanerCleanup</listener-class>
</listener>

Chart API
New additions to Chart API like legendPlacement enables more control over the chart legend positioning. Also negative series colors can now be customized easily.

DataTable Filtering
Filtering is case sensitive in 5.0, due to feedback it is now case insensitive. FilterEvent was also providing wrong information about the filters, it has been corrected as well.

SelectOneMenu Keyboard Highlighter
SelectOneMenu keyboard highlight support was limited, it can only highlight the option using the first letter, for a country dropdown, hitting G key highlights Germany first and quickly pressing R moves to Greece. However in p:selectOneMenu case, highlight moves to Romania. In addition to this, support for non-latin languages like Arabic, Russian, Chinese was missing. Thanks to a PRO user’s sponsorship, p:selectOneMenu behavior for keyboard highlighter is now aligned with basic select element.

ToolbarGroup
ToolbarGroup has been deprecated in favor of left and right facets however a PRO user has more than 300 toolbars in their applications so their log files are filled up with deprecation messages. To support our client, we removed the deprecation notice and decided to support both toolbar group and facets at the same time. You know what they say: “With PrimeFaces PRO, it’s easy to support, tune and add features to PrimeFaces as if it were an in-house framework.”

So these are the highlights, here is the full change log.

New Features

Enhancements

Defects

Download
Binaries, Sources, API docs and VDL docs are available in PrimeFaces Elite Portal for ELITE and PRO users as an official release bundle.

Roadmap
Our plan is to support 4.0.x until the end of 2014 and finish it around 4.0.25. Elite Release cycle is bi-weekly so next 5.0.2 with 4.0.15 is planned to be released in 2nd week of June.

Posted in PrimeFaces | 7 Comments
May 21

PrimeFaces 3.5.26 Released

PrimeFaces Team is pleased to announce the 3.5.26 Elite release. Although support for 3.5.x has been dropped after 3.5.25, we have decided to do one more release due to requests of PRO users, now available to ELITE users as well.

Highlight of the release is performance, jQuery 1.11 update has a significant performance gain over previous 3.5.x also fixes various warnings on webkit browsers.

Download
Binaries, Sources, API docs and VDL docs are available in PrimeFaces Elite Portal for Elite Subscribers as an official release bundle. PrimeFaces PRO Users can access the files from PRO Portal.

Roadmap

Next week, we plan to do the first Elite release of 5.0 which is 5.0.1 along with 4.0.14 to bring improved quality over 4.x and 5.x.

Posted in PrimeFaces | Comments Off
May 19

NextGen Showcase

PF5 is the nextgen version of PrimeFaces and it surely deserves a nextgen showcase as the old one has been outdated for quite some time. New showcase is brand new, created by our good friend and professional designer Cem Altun.

Responsive

Starting from PrimeFaces 5.1, we will focus on improving the responsiveness of the components (e.g. p:panelGrid) depending on the screen size and a responsive showcase is the best way to test the upcoming enhancements.

Embedded Documentation

In addition to source code of the examples, we have embedded the user guide inside the showcase, the documentation tab opens the corresponding page from the user guide. PDF reader works fine right now and we plan to add search functionality to PDF as well using the upcoming pdfReader component in PrimeFaces 5.1.

Search

There is a new search functionality at the left side menu to narrow down the examples based on the search keyword. This is quite useful since there are over 300 demo pages.

Download

Showcase wasn’t versioned or available to download in the past but that is not the case anymore. From now on, after each community release, a tag will be created along with the downloadable war file. Artifacts for the 5.0 showcase is available at downloads page.

So hope you like the new showcase, we know it will take sometime to get used to but we are really happy with it and excited about the nextgen version.

Posted in PrimeFaces | 15 Comments
May 05

PrimeFaces 5.0 Final Released

It is once again PrimeTime! PrimeTek and PrimeFaces Team is pleased to announce the next generation of PrimeFaces as known as PF5. After months of hard work and dedication, PF5 is available to the Java EE community as a fully featured community release with Apache License.

So what is new in PF5?

Brand New Chart API
Chart components have been working well but there were limitations, new chart API introduces a new generic chart component following a model driven approach. Along the way, we have added a couple of features as well such as Date Axis support and multiple axis.

New Components

New components are always expected from a major PF release and 5 is not an exception;

  • DataScroller
  • Cache
  • Spotlight
  • ColumnToggler
  • ContentFlow

Features for Existing Components

Existing components have been enhanced with new features such as;

  • DragDrop based reordering for DataTable
  • Advanced filtering for DataTable
  • Frozen Columns for DataTable
  • Sorting for TreeTable
  • Easy javascript execution on initial page load for RequestContext
  • Filtering for SelectManyMenu and SelectOneListbox
  • ScrollPanel is reimplemented
  • Built-in mask support for calendar.

ExceptionHandler

PF5 provides a powerful exception handler by default, special thanks to Thomas Andraschko for implementing this and his many other contributions for this release.

PrimeFaces Mobile

PrimeFaces Mobile (PFM) is reimplemented from scratch and now merged in PrimeFaces Core.

PrimeFaces Mobile (PFM) is a UI Kit to create JSF applications optimized for mobile devices. PFM is built on top of jQuery Mobile, a touch-optimized HTML5 UI framework providing support for various platforms.

In addition to the seamless integration with jQuery Mobile, PFM features a Mobile Renderkit for popular PrimeFaces components, ajax framework extensions, mobile ajax behavior events, integrated navigation model, lazy loading of pages, responsive widgets and more.

PrimeFaces Push

Our partner, the founder of Atmosphere Framework, Async-IO has greatly improved PrimeFaces Push as an outsource contract. PrimeFaces Push 2.0 is based on Atmosphere as its predecessor and follows an annotation based approach this time. Old APIs are deprecated and still supported for backward compatibility. Special thanks to our good friend, founder of Atmosphere and Async-IO, Jeanfrancois Arcand for implementing PrimeFaces Push 2.0. Many framework try to use Atmosphere for Push support however PrimeFaces Push is developed by the creator of Atmosphere.

Accessibility
As usual, various components have been improved for keyboard and screenreader accessibility.

Download
PF5 is available at maven central repository, you just need to upgrade your version to 5.0. Visit downloads page for details.

Documentation
PrimeFaces User Guide is updated to cover 5.0. VDL and API docs are also available online. Please visit documentation page to access all the resources.

Migration Guide
Migrating from PF4 to PF5 should be an easy task, many of the changes are backward compatible with deprecation notices. See the migration guide for more information.

Full Changelog
Detailed changelog is available for the full list of changes.

Elite
PrimeFaces Elite has now been initiated for PF5, in two weeks time, we’ll start Elite Support for PF5 with the first 5.0.1 release while 4.0.x Elite support will continue.

New Showcase
A brand new showcase is being worked on, we hope to present it in 2-3 weeks time.

Roadmap
Next major community version would be 5.1 and our plan is to release is it in September 2014 after summer. Focus will be improving the quality and provide responsive design capabilities to the core components. Mobile development has two popular approaches, responsive vs separate page. PFM provides a solution for the separate page approach and with 5.1, PF core is planned to be optimised for responsive design.

ALWAYS BET ON PRIME!

Posted in PrimeFaces | 4 Comments
May 01

PrimeFaces Elite 4.0.13 Released

PrimeFaces 5.0 is on the horizon and 4.0 will be maintained along with upcoming 5.0.x Elite Releases. New 4.0.13 is a maintenance release with a couple of enhancements.

Download
Binaries, Sources, API docs and VDL docs are available in PrimeFaces Elite Portal for ELITE and PRO users as an official release bundle.

Posted in PrimeFaces | Comments Off
Apr 28

PrimeFaces 5.0.RC2 Released

5.0.RC1 has been tested massively by the PrimeFaces community and 5.0.RC2 is now available with the fixes of the reported issues along with some enhancements.

Download

Binaries and Sources are available at PrimeFaces downloads page. For maven users, 5.0.Rc2 is available at PrimeFaces maven repository.

RC2 is the last release before 5.0.Final next week! PrimeTime!

Posted in PrimeFaces | Comments Off
Apr 21

BeanValidation to HTML

Since JavaEE 6, validation metadata is already available for many components via the value reference and BeanValidation (e.g. @NotNull, @Size). The JSF Implementations use this information for validation and PrimeFaces already enhances this feature with client side validation.

Sometimes it’s required to manually maintain the required or maxlength attribute for input components. The “required” attribute also controls the behavior of our p:outputLabel to show or hide the required indicator (*). The “maxlength” attribute is used to limit the characters on input fields.

With PrimeFaces 5.0, you don’t need to manually maintain this attributes anymore if you already have BeanValidation constraints set on your value reference.

Configuration:

<context-param>;
    <param-name>primefaces.TRANSFORM_METADATA</param-name>
    <param-value>true</param-value>
</context-param>
@NotNull
@Max(30)
private String firstname;

XHTML:

<p:inputText value="#{myBean.firstname}" />

Output:

<input maxlength="30" .../>

Supported constraints/components;

The required attribute will be set, when @NotNull/@Min(x)/@Size(min=x) is available and the component is a EditableValueHolder:
- h:inputText
- p:inputText
- h:selectOneMenu
- p:selectOneMenu
- …

The maxlength attribute will be set, when @Max(x)/@Size(max=x) is available and the component extends from HtmlInputSecret or HtmlInputText:
- h:inputText
- p:inputText
- h:inputSecret
- …

In future, we’ll add support for more transformation options. Special thanks to PrimeFaces Core Developer Thomas Andraschko for adding this feature in addition to his other contributions to PrimeFaces.

Posted in PrimeFaces | 2 Comments
Apr 16

PrimeFaces 5.0.RC1 Released

After months of hard work, PrimeFaces Team is pleased to announce the first release candidate of the leading JavaServer Faces Framework. PF5 is the nextgen version featuring major improvements to previous gen. We’ll do a detailed announcement of the over 250 changes in upcoming 5.0 final release but here is the short overview of what is new.

  • Brand New PrimeFaces Mobile merged in Core, read more.
  • PrimePush Framework 2.0 powered by Atmosphere, read more.
  • New components such as cache, spotlight, columnToggler, contentFlow, dataScroller…
  • New features to existing components like enhanced datatable filtering, frozen datatable columns, sorting for treeTable, reimplemented scrollPanel and many more.
  • Brand new Chart API, read more.
  • Accessibility improvements with more keyboard and screen reader support to components.

In addition to all the new enhancements, thanks to PrimeFaces Elite, we’ve done a maintenance release almost every 2 weeks improving the overall quality greatly since 4.0.

Download

Binaries and Sources are available at PrimeFaces downloads page. For maven users, 5.0.Rc1 is available at PrimeFaces maven repository. 5.0.Final will be at maven central just like 4.0.

Roadmap

There will be another release candidate next week and plan is to go final at the end of this month. Take a break and start working on 5.1. Since 5.0 is a fully featured community release available to every member in our community, it is a great chance to take it on a test run and provide us feedback so that issues can get fixed for 5.0.Final. After final release, Elite Releases for 5.0.x will begin along with 4.0.x maintenance for Elite and Pro users.

Always bet on Prime!

Posted in PrimeFaces | 13 Comments