The logo is not quite correct, as WE will be speaking at JavaOne. Tonight at 20.30, BOF 5224: Did We Spoil the End User?
Building Personalization into JavaServerâ„¢ Faces Technology-Based Applications gets underway in room (and it is a pretty big one) Hall E 134. On Sunday we had 130 registrations for this session. I wonder how many people will actually make it to the session – it being so late and all, but it is a pretty good number for a BOF by two relatively unknown speakers.
The session is based on our recent experience with using JavaServer Faces technologies for building SaaS style applications. It contains a lot of demos and should be entertaining.
We will present the following content:
This session profiles a project to develop a web application to be provided in
an application service provider model to more than 120 organizations with an
average of several dozens of users. It involves a single database and a single
application instance with a generic code base. The challenge put to the
developers: allow every organization to customize the application, tailoring it
to its specific needs–without changing a single line of code or interfering
with the other organizations using that same application.
On top of
that, all the individual users should be able to personalize their experience by
overriding the customizations made for their organization. Some end users even
need the ability to define several themes, disjunct sets of personalizations
that they can switch between on the fly (without logging out of the
application).
All personalization and customization is to take place at
runtime, without bouncing the application server.
Customization and
personalization in this case mean the following, for example:
• Hiding fields
in the web forms
• Adding items to enter data associated with the selected
record and storing that data persistently (these new items can be of any display
item and can have data associated to populate drop-down lists and radio groups;
custom items can have custom validations as well)
• Changing the set of
columns displayed in a table (and/or their ordering)
• Changing style
elements such as logo, font, and certain color settings
• Defining item
default values for creating new records
• Tuning validations on items
•
Tailoring ResourceBundles to provide custom labels, prompts, tool tips, and the
like, not just by locale but also based on organization and individual user
•
Adding personal comments and annotations to individual data records
The
presentation demonstrates how the developers made the JavaServerâ„¢ Faces
technology-based application deal with these challenges. Some key elements in
their approach: expression language expressions, database-backed
ResourceBundles, CSS generation, LDAP, and persistent application
metadata.
The session is for web application developers on the Java
platform with at least some exposure to JavaServer Faces technology.