2nd release of myfaces-extensions-cdi
The Apache MyFaces team is pleased to announce the 2nd release of Apache MyFaces Extensions CDI (aka CODI).
Friday, December 10, 2010
Sunday, November 28, 2010
myfaces extval release news r3 -> r4
these slides give a short overview of the most important new features of the 4th release of myfaces extval.
Labels:
bean-validation,
extval,
jsf,
jsr 303,
myfaces-extval,
sev-en
Saturday, November 27, 2010
4th release of myfaces-extensions-validator
The Apache MyFaces team is pleased to announce the 4th release of Apache MyFaces Extensions Validator (aka ExtVal).
Labels:
bean-validation,
extval,
jsf,
jsr 303,
myfaces-extval,
sev-en
Monday, November 15, 2010
Sunday, November 14, 2010
1st release of myfaces-extensions-cdi
The Apache MyFaces team is pleased to announce the 1st release of Apache MyFaces Extensions CDI (aka CODI).
Thursday, November 11, 2010
[infra] myfaces extensions meet dvcs
it's getting easier for the community to contribute to myfaces-extensions *!
now we have official git mirrors:
and
as well as inofficial mercurial mirrors (hg isn't supported by the asf):
and
in case of myfaces-extensions * the mercurial repositories provide an additional feature. early adaptors can request an inofficial (external) milestone at any time. it's easier to handle issues compared to nightly builds.
dvcs like mercurial and git allow easy forking of repositories and experimenting with new features. with features like squash it's very easy to donate the result of your feature-branch!
so let's get started: fork -> experiment -> donate (your patch)!
Labels:
codi,
extcdi,
extval,
git,
hg,
mercurial,
myfaces,
myfaces codi,
myfaces-extensions,
myfaces-extval
Saturday, October 23, 2010
ubuntu 10.10
usually i don't blog about operating systems.
however, have you thought linux or esp. ubuntu doesn't look awesome?
if you invest about 2 hours to adjust the default theme, ui animations (of compiz), a custom dock (avant window navigator) and some other fine-tunings, you get a really nice user-experience!
one picture doesn't show the whole story, but here is a basic impression:
however, have you thought linux or esp. ubuntu doesn't look awesome?
if you invest about 2 hours to adjust the default theme, ui animations (of compiz), a custom dock (avant window navigator) and some other fine-tunings, you get a really nice user-experience!
one picture doesn't show the whole story, but here is a basic impression:
Friday, September 24, 2010
[javaone] myfaces extval and myfaces codi meet j1 2010
that's nice! matthias and ali presented myfaces at j1 2010. one part of the presentation was myfaces extval (e.g. [1] [2]) and a second part was about myfaces codi (e.g. [1] [2]). it was the first preview of myfaces codi at a java conference.
Labels:
codi,
extcdi,
extval,
javaone,
myfaces,
myfaces codi,
myfaces-extensions,
myfaces-extval
Thursday, September 23, 2010
[preview] codi meets cwiki.apache.org
it's really nice. myfaces codi as well as the documentation for it is still in progress and i see a lot of positive response out there.
some days ago i started with the documentation (it's still in progress) and google analytics shows that people are already reading it!
some days ago i started with the documentation (it's still in progress) and google analytics shows that people are already reading it!
Labels:
cdi,
codi,
jsf,
jsf 2.0,
jsr 299,
jsr 330,
myfaces codi,
myfaces-extensions,
portable cdi extensions,
portable extensions
os890 meets bitbucket
it's planned to continue with the repository at https://bitbucket.org/os890. it's easier for users to fork it. well - mercurial might be a barrier for some of you, however, it's really easy and nice (a nice mercurial intro). you can easily fork an existing repository and it's easier to merge in your enhancements. so we hopefully get rid of all the hidden forks and the pain of manual merges.
Monday, August 2, 2010
[benchmark] myfaces extval
after some performance improvements (see EXTVAL-80) i created a benchmark for the bean-validation (jsr-303) integration module for extval r3 and r4m3. as you know the results depend on a lot of parameters. anyway, the following chart should give you a first impression about the performance improvements. on my system i can reproduce the results (tolerance: ~2 ms). the benchmark invokes the validation for a component 1000 times. the value-binding points to a property which hosts one bv-constraint. the benchmark was started 3 times and the chart shows the rounded average of 10 validations (just because it's more interesting than the validation of 1000 ui components).
furthermore, the chart shows the impact of 2 optimizations described in a first draft for advanced extval/bv topics. optimization #1 just deregisters the validation interceptor which allows to create any kind of custom annotations for jsf validation (it's the base implementation of the property-validation module). optimization #2 deregisters the implementation of EXTVAL-83 - one of the new features available in r4+.
furthermore, the chart shows the impact of 2 optimizations described in a first draft for advanced extval/bv topics. optimization #1 just deregisters the validation interceptor which allows to create any kind of custom annotations for jsf validation (it's the base implementation of the property-validation module). optimization #2 deregisters the implementation of EXTVAL-83 - one of the new features available in r4+.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrPAx-Qf4Qnw4vbtSxYftFZRWY_fOVQTJRxXXhfqaJfRydekgAijLLIftDG5W-dBNIaQsJJduDFlALqPe80hEamUWQAIjqzKv3Q6lNxGtMqKb5edZj9UD8Re5u3DP1PTE1eXGrLvNVuTo/s400/benchmark_20100801.png)
Labels:
bean-validation,
benchmark,
jsf,
jsr 303,
myfaces-extensions,
myfaces-extval,
sev-en
Monday, July 26, 2010
[benchmark] myfaces codi scopes
after some performance improvements in owb (see #966927 and esp. OWB-425) i created a benchmark for the new (pre alpha-1) myfaces codi scopes (@ConversationScoped != std. CDI conversations, @ViewAccessScoped and @WindowScoped). as you know the results depend on a lot of parameters. anyway, the following chart should give you a first impression about the performance of the myfaces scopes. furthermore, it's a preview concerning the improved performance of the el-resolver of owb. on my system i can reproduce the results (tolerance: ~2 ms). the benchmark invokes a method of a scoped bean via an el-expression 1000 times (i've used the el-ri). the benchmark was started 3 times and the chart shows the rounded average.
(maybe you are wondering why std. cdi conversations provide a better performance than the codi conversations. the simple answer is: std. cdi conversations just don't provide that much features... they are more like a per window session with some annoying drawbacks.)
(maybe you are wondering why std. cdi conversations provide a better performance than the codi conversations. the simple answer is: std. cdi conversations just don't provide that much features... they are more like a per window session with some annoying drawbacks.)
Labels:
benchmark,
cdi,
codi,
ConversationScoped,
extcdi,
jsf,
jsf 2.0,
jsr 299,
myfaces-extensions,
owb,
ViewAccessScoped,
WindowScoped
Saturday, July 3, 2010
[preview] early preview of the 4th release
the current milestone already offers a lot of the features which will be available in the 4th release. the 4th release will introduce new features for the validation modules as well as some performance improvements and an improved jsf 2 support. until the next release, we will also improve the documentation. so it will take some time to get out the next version of extval. anyway, the current milestone is already quite stable and used in several applications out there.
once again extval (1.x and 2.x) offers features which aren't available in other validation frameworks for jsf. e.g. extval allows to use @Valid in combination with jsf. beyond the features of bean-validation (jsr 303) itself extval provides the possibility to use an annotation called @ConstraintSource. it allows e.g. to annotate dto's with this new annotation(s) in order to specify the source which hosts the constraints. so you don't have to repeat all the constraints in classes like dto's.
once again extval (1.x and 2.x) offers features which aren't available in other validation frameworks for jsf. e.g. extval allows to use @Valid in combination with jsf. beyond the features of bean-validation (jsr 303) itself extval provides the possibility to use an annotation called @ConstraintSource. it allows e.g. to annotate dto's with this new annotation(s) in order to specify the source which hosts the constraints. so you don't have to repeat all the constraints in classes like dto's.
Labels:
annotation,
jsf,
jsr 303,
myfaces-extensions,
myfaces-extval,
preview,
sev-en
Tuesday, June 1, 2010
multi-field form validation with jsr 303
there is a new extval add-on (new location). this first draft of the add-on allows so called multi-field (or cross-field) validation based on jsr 303.
within the page you just use normal input components - e.g.:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboWTSwwY-RSnR3U8QfTQvhsN5wEsZcYBlpz9yxZ1kmMNdjBgE8WenjXzq4Rwt-WppWbVwShTucHjNpKYAeQ7EQkEshbZAZ5GO_EHnYf2H90GYlACV568BP-Ppw-x7DpynUy7UXdcfYMY/s400/01.png)
furthermore, you annotate e.g. your page bean with @FormValidator. the annotation also allows to specify a specific view-id, conditions as well as validation groups. to implement a more fine-grained multi-validation it's possible to provide multiple form-bean classes. to implement more complex combinations it's possible to use @FormValidator.List(...). (as alternative you can also us the provided java api to map your bean(s) to a form-validator. so if you don't like to use the annotation you can provide a separated mapping.)
usage of @FormValidator:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8b5t3rNZ9sl2X4fxvjtkM6xPS5JSgwgRJn7xh7NcFhcEb5s6vH8AWSt6DODu-LkPwh3ye-U_VcdA9VrzfJtZzrB_VVlhw8eaJT1snzul3RMnwcucqFa1dWvX8KzX30vJuYV0XD9mDLGk/s400/02.png)
in the page you see the id's of the different components. we have to use these id's as field-names (or setter-methods) in the form-validator.
the following figure shows a possible form-validator for this example:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuOpr_KjCp6Oel8abyGNYRy4Vx21Jo0nrlvesco43f4xb-m7P0j6pJnFCc7E9IPO1vFM2IoqB0FYPgu4o0sZa84nsyvsn41b3CvbteaQpY0aZyK3K40SMvQKNy9diBZUsqUrX-SiFBQZ8/s400/03.png)
as soon as the form-validator-bean is annotated with @Form, the validator is called by the bean-validation engine. so the violation message gets processed by the bean-validation engine and the final message is added as global faces-message.
(if you would like to use the current ConstraintValidatorContext of bean-validation, you can directly implement the FormBean interface instead of extending ViolationMessageAwareFormBean.)
if you use e.g. input components within a data-table, you can use 'add'-methods instead of the setter-method. in the form-validator you can use a data-structure like a list per column. as soon as the validation process starts (at the end of the validation phase) the form-validator contains all values (in case of input components in tables the validator is aware of all table values). so it's possible to implement any multi-field validation you can imagine (in case of input components in tables also validations per row as well as across rows).
additional features:
it's possible to map the form-bean-class to specific view-id's, to provide conditions as well as validation groups.
within the page you just use normal input components - e.g.:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgboWTSwwY-RSnR3U8QfTQvhsN5wEsZcYBlpz9yxZ1kmMNdjBgE8WenjXzq4Rwt-WppWbVwShTucHjNpKYAeQ7EQkEshbZAZ5GO_EHnYf2H90GYlACV568BP-Ppw-x7DpynUy7UXdcfYMY/s400/01.png)
furthermore, you annotate e.g. your page bean with @FormValidator. the annotation also allows to specify a specific view-id, conditions as well as validation groups. to implement a more fine-grained multi-validation it's possible to provide multiple form-bean classes. to implement more complex combinations it's possible to use @FormValidator.List(...). (as alternative you can also us the provided java api to map your bean(s) to a form-validator. so if you don't like to use the annotation you can provide a separated mapping.)
usage of @FormValidator:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8b5t3rNZ9sl2X4fxvjtkM6xPS5JSgwgRJn7xh7NcFhcEb5s6vH8AWSt6DODu-LkPwh3ye-U_VcdA9VrzfJtZzrB_VVlhw8eaJT1snzul3RMnwcucqFa1dWvX8KzX30vJuYV0XD9mDLGk/s400/02.png)
in the page you see the id's of the different components. we have to use these id's as field-names (or setter-methods) in the form-validator.
the following figure shows a possible form-validator for this example:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuOpr_KjCp6Oel8abyGNYRy4Vx21Jo0nrlvesco43f4xb-m7P0j6pJnFCc7E9IPO1vFM2IoqB0FYPgu4o0sZa84nsyvsn41b3CvbteaQpY0aZyK3K40SMvQKNy9diBZUsqUrX-SiFBQZ8/s400/03.png)
as soon as the form-validator-bean is annotated with @Form, the validator is called by the bean-validation engine. so the violation message gets processed by the bean-validation engine and the final message is added as global faces-message.
(if you would like to use the current ConstraintValidatorContext of bean-validation, you can directly implement the FormBean interface instead of extending ViolationMessageAwareFormBean.)
if you use e.g. input components within a data-table, you can use 'add'-methods instead of the setter-method. in the form-validator you can use a data-structure like a list per column. as soon as the validation process starts (at the end of the validation phase) the form-validator contains all values (in case of input components in tables the validator is aware of all table values). so it's possible to implement any multi-field validation you can imagine (in case of input components in tables also validations per row as well as across rows).
additional features:
it's possible to map the form-bean-class to specific view-id's, to provide conditions as well as validation groups.
Labels:
bean-validation,
extval,
extval-add-on,
jsf,
jsr 303,
sev-en,
validation,
validator
Monday, May 31, 2010
[review] apache myfaces 1.2 web-application development
i reviewed a book about myfaces.
here you can read it.
here you can read it.
Friday, April 9, 2010
extval meets cwiki.apache.org
today i created a new cwiki-space for extval.
within the next weeks i'll move and improve the documentation of extval.
you are welcome to ask questions in order to improve the content!
within the next weeks i'll move and improve the documentation of extval.
you are welcome to ask questions in order to improve the content!
Labels:
extval,
jsf,
myfaces-extensions,
myfaces-extval,
sev-en
Saturday, March 27, 2010
creating feeds with jsf is easy now
about one month ago i proposed a simple annotation based approach for creating feeds easily (e.g. based on jpa entities). now a first draft is available here. it's great that it's available quite fast after the initial brainstorming!
Friday, March 26, 2010
extval meets paper
bart kummel wrote a book about the myfaces project.
i'll publish a review about the book quite soon.
it also contains an intro of myfaces extval!
it's really great that the extval chapter is the free sample chapter.
so enjoy reading it!
i'll publish a review about the book quite soon.
it also contains an intro of myfaces extval!
it's really great that the extval chapter is the free sample chapter.
so enjoy reading it!
Thursday, March 25, 2010
extval r3 in action - fullstack 2010
this fullstack demo illustrates some use-cases of using jsf 1.2, spring 3, myfaces extval r3, bean-validation,... in case of myfaces extval the demo also shows how to keep all layers outside the view-layer independent of extval classes. so you see how to re-use existing (extval independent) constraints for ui validation in a typesafe way.
furthermore, the demo shows how to integrate bean-validation (jsr 303) in jsf 1.x applications.
further details are available in the (short) readme file.
here is the list of the used technologies:
- jsf 1.2 (+ facelets)
- myfaces orchestra
- myfaces extval r3 (+ some add-ons)
- bean-validation (jsr 303)
- spring 3
- jpa 1.0
- primefaces
furthermore, the demo shows how to integrate bean-validation (jsr 303) in jsf 1.x applications.
further details are available in the (short) readme file.
here is the list of the used technologies:
- jsf 1.2 (+ facelets)
- myfaces orchestra
- myfaces extval r3 (+ some add-ons)
- bean-validation (jsr 303)
- spring 3
- jpa 1.0
- primefaces
Wednesday, March 24, 2010
myfaces extval release news r2 -> r3
these slides give a short overview of the most important features of the 3rd release of myfaces extval.
Labels:
bean-validation,
extval,
jsf,
jsr 303,
myfaces-extval,
sev-en
3rd release of myfaces-extensions-validator
the apache myfaces team is pleased to announce a new release of myfaces-extensions-validator!
the release contains several improvements and new features as well as a new validation module for using bean-validation (jsr 303) with jsf 1.x and 2.0.
(compared to the standard integration of bv in jsf 2.0 extval 2.0.3 offers more advanced and typesafe features.)
released versions:
extval 1.1.3 (for jsf 1.1.x)
extval 1.2.3 (for jsf 1.2.x)
extval 2.0.3 (for jsf 2.0.x)
the release contains several improvements and new features as well as a new validation module for using bean-validation (jsr 303) with jsf 1.x and 2.0.
(compared to the standard integration of bv in jsf 2.0 extval 2.0.3 offers more advanced and typesafe features.)
released versions:
extval 1.1.3 (for jsf 1.1.x)
extval 1.2.3 (for jsf 1.2.x)
extval 2.0.3 (for jsf 2.0.x)
Labels:
bean-validation,
extval,
jsf,
jsr 303,
myfaces-extval,
sev-en
Friday, March 5, 2010
[add-on] spring 3 managed constraint validation for extval
there is a new add-on which allows using typesafe spring 3 dependency injection for constraint validators. so it's possible to inject other beans (e.g. a validation service, a repository,...) into a constraint validator.
it's similar to the native extval di support. the main difference is that the add-on offers a typesafe alternative. you just have to extend the default-implementation (listed at @Constraint(validatedBy = {...})) and provide the custom implementation as spring bean.
it's similar to the native extval di support. the main difference is that the add-on offers a typesafe alternative. you just have to extend the default-implementation (listed at @Constraint(validatedBy = {...})) and provide the custom implementation as spring bean.
Saturday, February 20, 2010
welcome myfaces-codi
it's official - myfaces is going to host a new extensions module.
besides myfaces-extval and myfaces-extscript we now start myfaces-extcdi which is also known as myfaces-codi (context and dependency injection)
(pronounced like the name).
myfaces-codi will provide portable CDI (Contexts and Dependency Injection) extensions which are useful for JSF applications.
we have already collected some nice ideas.
however, everyone is welcome to donate further ideas, implementations,...
so let's welcome codi!
besides myfaces-extval and myfaces-extscript we now start myfaces-extcdi which is also known as myfaces-codi (context and dependency injection)
(pronounced like the name).
myfaces-codi will provide portable CDI (Contexts and Dependency Injection) extensions which are useful for JSF applications.
we have already collected some nice ideas.
however, everyone is welcome to donate further ideas, implementations,...
so let's welcome codi!
Tuesday, February 9, 2010
myfaces-extval @ jsfdays 2010
last year i presented extval at my trinidad workshop (esp. the integration and special features in combination with trinidad).
this year i'll give a jsf fullstack workshop. one part of the workshop will show how to integrate bean-validation in a jsf 1.x application via myfaces extval as well as the migration path for upgrading to jsf 2.0.
the rest of the workshop will be interesting as well (for sure)!
if you are interested - just register here!
this year i'll give a jsf fullstack workshop. one part of the workshop will show how to integrate bean-validation in a jsf 1.x application via myfaces extval as well as the migration path for upgrading to jsf 2.0.
the rest of the workshop will be interesting as well (for sure)!
if you are interested - just register here!
Labels:
jsf,
jsr 303,
myfaces-extensions,
myfaces-extval,
sev-en
Subscribe to:
Posts (Atom)