introduction to omnifaces

16
Introduction to OmniFaces Anghel Leonard

Upload: anghel-leonard

Post on 18-Jul-2015

457 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Introduction to OmniFaces

Introduction to OmniFaces Anghel Leonard

Page 2: Introduction to OmniFaces

What we will cover ?

• OmniFaces "placemark" on "JSFmap“

• What is/isn’t OmniFaces ?

• How should I use OmniFaces ?

• Sounds like I should be an advanced JSF developer. Should I ?

• How much time do I need to learn OmniFaces ?

• Where can I find OmniFaces?

• How can I download, install and configure OmniFaces ?

Page 3: Introduction to OmniFaces

OmniFaces "placemark" on "JSFmap"

Page 4: Introduction to OmniFaces

What is/isn’t OmniFaces ? (I)

• OmniFaces is an utility library for JSF 2 developed by two JSF EG

members: Bauke Scholtz and Arjan Tijms.

• It can be used with JSF implementations, Mojarra and Apache

MyFaces, and it is intended to work in cooperation with existing JSF

libraries (e.g. PrimeFaces, RichFaces, ICEfaces, etc).

• OmniFaces main purpose is to help developers to find answers to

day-by-day JSF related questions.

• Typically, the sources of these questions are represented by JSF

uncovered features, missing utilities methods, twisted use cases,

JSF bugs, JSF specific behaviors, etc, reported on StackOverflow.

Page 5: Introduction to OmniFaces

What is/isn’t OmniFaces ? (II)

• In addition, OmniFaces is also a "silent teacher" that helps

developers to build a strong logic and learn "healthy" programming

techniques.

• The OmniFaces source code is available for download/study on

GitHub and it is developed in pure JSF API.

• OmniFaces is not a framework or another JSF implementation like

Apache MyFaces.

• OmniFaces is not a component library like, PrimeFaces.

Page 6: Introduction to OmniFaces

How should I use OmniFaces ? (I)

Consult OmniFaces Showcase

• If you think that your JSF issue can be solved via a custom

component, custom converter/validator, tag handler, exception

handler, custom function, utility method, custom context, event

listener, faces view, filter, render kit, resource handler, view handler,

caching mechanism, shortcut method, etc, then you better check out

OmniFaces Showcase, because OmniFaces may already have an

"out of the box" solution for you.

• The OmniFaces Showcase is divided in sections, and each section

contains a set of artifacts grouped by their type (e.g. components,

converters, validators, taghandlers, etc).

Page 7: Introduction to OmniFaces

How should I use OmniFaces ? (II)

Ask/report on StackOverflow

• Moreover, you can post your issue on StackOverflow, and maybe

the answer will consist in a new OmniFaces artifact.

Inspire from OmniFaces source code

• Even if you don’t find something that is exemplified and documented

in the Showcase, you may exploit the OmniFaces source code and

inspire from it.

Page 8: Introduction to OmniFaces

Sounds like I should be an

advanced JSF developer. Should I ? (I)

OmniFaces is useful to all JSF fans.

Page 9: Introduction to OmniFaces

Sounds like I should be an

advanced JSF developer. Should I ? (II)

• This means that OmniFaces doesn't required a certain level of JSF

knowledge, and, since it is developed on top of JSF API, it doesn't

require any third-party artifacts (e.g. libraries, frameworks) to be

known.

• Think like this: OmniFaces comes as an answer to your question

(issue), so, basically you are aware about what should be done, but

you just don't know how to do it. So, in order to use the OmniFaces

solution, you should have (or obtain) enough JSF knowledge to

understand how to use it in your project. Simple as that!

Page 10: Introduction to OmniFaces

Sounds like I should be an

advanced JSF developer. Should I ? (III)

• Novices issues usually doesn’t require an utility library (being more

the result of inexperience), so, most probably, OmniFaces will start

to make your life easier from the moment when you will face JSF

issues in the production field.

• So, if you are (looking for) a junior/senior JSF developer job (or

Java/JEE developer that works with JSF also), then OmniFaces is a

must in your arsenal.

• Ideally, if you are a JSF “guru”, you will not need OmniFaces too

often.

Page 11: Introduction to OmniFaces

How much time do I need

to learn OmniFaces ?

• By its nature, OmniFaces is not something that must be learned as a

framework or as a programming language, which means that you

don't need to follow long tutorials or read a lot of documentation.

• Basically, you can use OmniFaces one time in your life or every day;

is not a matter of learning it, and most important is to know what

OmniFaces can do, and use it at the right time.

• Most probably, your first contact with OmniFaces will consist in

solving a JSF issue via an OmniFaces component, tag handler,

utility method, validator, converter, etc. From that moment, the

curiosity will make you to discover more about what OmniFaces can

do.

Page 13: Introduction to OmniFaces

Where can I find OmniFaces? (II)

• The below links are the ones that most probably will be fix in time.

Other links (e.g. nightly build, links specific for different versions, etc)

can be found on below pages:

OmniFaces home page - http://omnifaces.org/

• All the next links can be accessed via OmniFaces home page also:

OmniFaces Showcase http://showcase.omnifaces.org/

OmniFacesAPI documentation http://omnifaces.org/docs/javadoc/current/

OmniFacesVDL documentation http://omnifaces.org/docs/vdldoc/current/

OmniFacesWiki pages https://github.com/omnifaces/omnifaces/wiki

OmniFaces source code https://github.com/omnifaces/omnifaces

OmniFaces issues https://github.com/omnifaces/omnifaces/issues

http://stackoverflow.com/

OmniFaces general feedback http://devrates.com/project/show/95941/Omnifaces

Page 14: Introduction to OmniFaces

How can I download, install and

configure OmniFaces ? (I)

• If you download OmniFaces as a JAR then just place the JAR into

your project WEB-INF/lib folder

• If you need OmniFaces as a Maven dependency then use (e.g. for

OmniFaces 2.0, replace version with 2.0):

<dependency>

<groupId>org.omnifaces</groupId>

<artifactId>omnifaces</artifactId>

<version>version</version>

</dependency>

Page 15: Introduction to OmniFaces

How can I download, install and

configure OmniFaces ? (II)

• In JSF pages provide the OmniFaces XML namespaces, as follows:

OmniFaces UI components/taghandlers

xmlns:o=http://omnifaces.org/ui

OmniFaces EL functions

xmlns:of="http://omnifaces.org/functions"

Page 16: Introduction to OmniFaces

References

• Bauke Scholtz - http://balusc.blogspot.com/

• Arjan Tijms - http://arjan-tijms.omnifaces.org/

• JSF ZEEF page - https://jsf.zeef.com/bauke.scholtz

• OmniFaces ZEEF page - https://omnifaces.zeef.com/bauke.scholtz

• OmniFaces Wikipedia - http://en.wikipedia.org/wiki/OmniFaces