SlideShare a Scribd company logo
1 of 16
Introduction to OmniFaces
Anghel Leonard
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 ?
OmniFaces "placemark" on "JSFmap"
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.
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.
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).
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.
Sounds like I should be an
advanced JSF developer. Should I ? (I)
OmniFaces is useful to all JSF fans.
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!
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.
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.
Where can I find OmniFaces? (I)
OmniFaces home page - http://omnifaces.org/
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
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>
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"
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

More Related Content

Viewers also liked

презентация группа кораблик
презентация группа корабликпрезентация группа кораблик
презентация группа корабликolgastolyarova
 
Mastering OmniFaces - A Problem to Solution Approach
Mastering OmniFaces - A Problem to Solution ApproachMastering OmniFaces - A Problem to Solution Approach
Mastering OmniFaces - A Problem to Solution ApproachAnghel Leonard
 
Operaciones aritmeticas utilizando Spinner
Operaciones aritmeticas utilizando SpinnerOperaciones aritmeticas utilizando Spinner
Operaciones aritmeticas utilizando SpinnerLeonardo Torres
 

Viewers also liked (7)

презентация группа кораблик
презентация группа корабликпрезентация группа кораблик
презентация группа кораблик
 
109168
109168109168
109168
 
Mastering OmniFaces - A Problem to Solution Approach
Mastering OmniFaces - A Problem to Solution ApproachMastering OmniFaces - A Problem to Solution Approach
Mastering OmniFaces - A Problem to Solution Approach
 
35 radova
35 radova35 radova
35 radova
 
Note names part 3 ©
Note names part 3 ©Note names part 3 ©
Note names part 3 ©
 
Prezentare TP
Prezentare TPPrezentare TP
Prezentare TP
 
Operaciones aritmeticas utilizando Spinner
Operaciones aritmeticas utilizando SpinnerOperaciones aritmeticas utilizando Spinner
Operaciones aritmeticas utilizando Spinner
 

Recently uploaded

Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 

Recently uploaded (20)

Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 

Introduction to OmniFaces

  • 2. 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 ?
  • 4. 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.
  • 5. 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.
  • 6. 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).
  • 7. 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.
  • 8. Sounds like I should be an advanced JSF developer. Should I ? (I) OmniFaces is useful to all JSF fans.
  • 9. 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!
  • 10. 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.
  • 11. 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.
  • 12. Where can I find OmniFaces? (I) OmniFaces home page - http://omnifaces.org/
  • 13. 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
  • 14. 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>
  • 15. 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"
  • 16. 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