[ANN] JSF ICEfaces Plugin 0.1 released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] JSF ICEfaces Plugin 0.1 released

Stephane Maldini-2
Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)

RELEASE NOTES :

JSF-Icefaces-Facelet integration.
_ Bean By convention (no need for faces-config)
_ Bean access to controller parameters (session,request,params...)
_ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
_ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
_ Automatic bean and service properties resolution
_ 'void init()' called at bean initialization if present
_ 'void dispose()' called at bean destruction if present
_ ICEfaces Extended request scope ('page')
_ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
_ Access to web.xml-config configuration via IcefacesConfig.groovy
_ Access to faces-config generated in web-app/faces-config.xml
_ Converters for locale
_ i18n ready, fast access with #{msg['key']}
_ create-bean script
_ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
_ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
_ Hibernate session managed from view rendering to view response
_ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )

_ Extra methods for beans :
 push(String group?) - render target group (default:all),
 pushJavascript(String group?, String js) - call javascript on target group users (default:all),
 pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
 pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
 javascript(String js) - call javascript on the actual request,
 redirect(action?,bean?,view?,uri?,url?),
 render(action?,view?,bean?)
 msg(code,default?,args?,locale?) - Bundle bindning
 joinChannel(String group) - join push channel
 leftChannel(String group) - left push channel

_ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.

--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

Stephane Maldini-2
Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.

By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.

On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)

RELEASE NOTES :

JSF-Icefaces-Facelet integration.
_ Bean By convention (no need for faces-config)
_ Bean access to controller parameters (session,request,params...)
_ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
_ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
_ Automatic bean and service properties resolution
_ 'void init()' called at bean initialization if present
_ 'void dispose()' called at bean destruction if present
_ ICEfaces Extended request scope ('page')
_ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
_ Access to web.xml-config configuration via IcefacesConfig.groovy
_ Access to faces-config generated in web-app/faces-config.xml
_ Converters for locale
_ i18n ready, fast access with #{msg['key']}
_ create-bean script
_ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
_ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
_ Hibernate session managed from view rendering to view response
_ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )

_ Extra methods for beans :
 push(String group?) - render target group (default:all),
 pushJavascript(String group?, String js) - call javascript on target group users (default:all),
 pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
 pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
 javascript(String js) - call javascript on the actual request,
 redirect(action?,bean?,view?,uri?,url?),
 render(action?,view?,bean?)
 msg(code,default?,args?,locale?) - Bundle bindning
 joinChannel(String group) - join push channel
 leftChannel(String group) - left push channel

_ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.

--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini



--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

Graeme Rocher-3
Hi Stephane,

Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy

Look forward to seeing what you do with JSF 2

Cheers

On 24 Mar 2010, at 01:47, Stephane Maldini wrote:

> Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
>
> By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
>
> On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
>
> RELEASE NOTES :
>
> JSF-Icefaces-Facelet integration.
> _ Bean By convention (no need for faces-config)
> _ Bean access to controller parameters (session,request,params...)
> _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> _ Automatic bean and service properties resolution
> _ 'void init()' called at bean initialization if present
> _ 'void dispose()' called at bean destruction if present
> _ ICEfaces Extended request scope ('page')
> _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> _ Access to web.xml-config configuration via IcefacesConfig.groovy
> _ Access to faces-config generated in web-app/faces-config.xml
> _ Converters for locale
> _ i18n ready, fast access with #{msg['key']}
> _ create-bean script
> _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> _ Hibernate session managed from view rendering to view response
> _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
>
> _ Extra methods for beans :
>  push(String group?) - render target group (default:all),
>  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
>  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
>  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
>  javascript(String js) - call javascript on the actual request,
>  redirect(action?,bean?,view?,uri?,url?),
>  render(action?,view?,bean?)
>  msg(code,default?,args?,locale?) - Bundle bindning
>  joinChannel(String group) - join push channel
>  leftChannel(String group) - left push channel
>
> _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
Oh sure :)
Cleaning the doc ATM



On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
Hi Stephane,

Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy

Look forward to seeing what you do with JSF 2

Cheers

On 24 Mar 2010, at 01:47, Stephane Maldini wrote:

> Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
>
> By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
>
> On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
>
> RELEASE NOTES :
>
> JSF-Icefaces-Facelet integration.
> _ Bean By convention (no need for faces-config)
> _ Bean access to controller parameters (session,request,params...)
> _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> _ Automatic bean and service properties resolution
> _ 'void init()' called at bean initialization if present
> _ 'void dispose()' called at bean destruction if present
> _ ICEfaces Extended request scope ('page')
> _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> _ Access to web.xml-config configuration via IcefacesConfig.groovy
> _ Access to faces-config generated in web-app/faces-config.xml
> _ Converters for locale
> _ i18n ready, fast access with #{msg['key']}
> _ create-bean script
> _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> _ Hibernate session managed from view rendering to view response
> _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
>
> _ Extra methods for beans :
>  push(String group?) - render target group (default:all),
>  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
>  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
>  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
>  javascript(String js) - call javascript on the actual request,
>  redirect(action?,bean?,view?,uri?,url?),
>  render(action?,view?,bean?)
>  msg(code,default?,args?,locale?) - Bundle bindning
>  joinChannel(String group) - join push channel
>  leftChannel(String group) - left push channel
>
> _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).

But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)

On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
Oh sure :)
Cleaning the doc ATM



On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
Hi Stephane,

Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy

Look forward to seeing what you do with JSF 2

Cheers

On 24 Mar 2010, at 01:47, Stephane Maldini wrote:

> Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
>
> By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
>
> On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
>
> RELEASE NOTES :
>
> JSF-Icefaces-Facelet integration.
> _ Bean By convention (no need for faces-config)
> _ Bean access to controller parameters (session,request,params...)
> _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> _ Automatic bean and service properties resolution
> _ 'void init()' called at bean initialization if present
> _ 'void dispose()' called at bean destruction if present
> _ ICEfaces Extended request scope ('page')
> _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> _ Access to web.xml-config configuration via IcefacesConfig.groovy
> _ Access to faces-config generated in web-app/faces-config.xml
> _ Converters for locale
> _ i18n ready, fast access with #{msg['key']}
> _ create-bean script
> _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> _ Hibernate session managed from view rendering to view response
> _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
>
> _ Extra methods for beans :
>  push(String group?) - render target group (default:all),
>  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
>  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
>  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
>  javascript(String js) - call javascript on the actual request,
>  redirect(action?,bean?,view?,uri?,url?),
>  render(action?,view?,bean?)
>  msg(code,default?,args?,locale?) - Bundle bindning
>  joinChannel(String group) - join push channel
>  leftChannel(String group) - left push channel
>
> _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini



--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

Graeme Rocher-3
Cool, some documentation and an example would be good

Cheers

On 24 Mar 2010, at 11:08, Stephane Maldini wrote:

> The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
>
> But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
>
> On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> Oh sure :)
> Cleaning the doc ATM
>
>
>
> On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> Hi Stephane,
>
> Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
>
> Look forward to seeing what you do with JSF 2
>
> Cheers
>
> On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
>
> > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> >
> > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> >
> > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> >
> > RELEASE NOTES :
> >
> > JSF-Icefaces-Facelet integration.
> > _ Bean By convention (no need for faces-config)
> > _ Bean access to controller parameters (session,request,params...)
> > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > _ Automatic bean and service properties resolution
> > _ 'void init()' called at bean initialization if present
> > _ 'void dispose()' called at bean destruction if present
> > _ ICEfaces Extended request scope ('page')
> > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > _ Access to faces-config generated in web-app/faces-config.xml
> > _ Converters for locale
> > _ i18n ready, fast access with #{msg['key']}
> > _ create-bean script
> > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > _ Hibernate session managed from view rendering to view response
> > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> >
> > _ Extra methods for beans :
> >  push(String group?) - render target group (default:all),
> >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> >  javascript(String js) - call javascript on the actual request,
> >  redirect(action?,bean?,view?,uri?,url?),
> >  render(action?,view?,bean?)
> >  msg(code,default?,args?,locale?) - Bundle bindning
> >  joinChannel(String group) - join push channel
> >  leftChannel(String group) - left push channel
> >
> > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
http://grails.org/plugin/icefaces

Doing it better.

On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
Cool, some documentation and an example would be good

Cheers

On 24 Mar 2010, at 11:08, Stephane Maldini wrote:

> The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
>
> But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
>
> On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> Oh sure :)
> Cleaning the doc ATM
>
>
>
> On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> Hi Stephane,
>
> Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
>
> Look forward to seeing what you do with JSF 2
>
> Cheers
>
> On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
>
> > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> >
> > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> >
> > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> >
> > RELEASE NOTES :
> >
> > JSF-Icefaces-Facelet integration.
> > _ Bean By convention (no need for faces-config)
> > _ Bean access to controller parameters (session,request,params...)
> > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > _ Automatic bean and service properties resolution
> > _ 'void init()' called at bean initialization if present
> > _ 'void dispose()' called at bean destruction if present
> > _ ICEfaces Extended request scope ('page')
> > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > _ Access to faces-config generated in web-app/faces-config.xml
> > _ Converters for locale
> > _ i18n ready, fast access with #{msg['key']}
> > _ create-bean script
> > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > _ Hibernate session managed from view rendering to view response
> > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> >
> > _ Extra methods for beans :
> >  push(String group?) - render target group (default:all),
> >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> >  javascript(String js) - call javascript on the actual request,
> >  redirect(action?,bean?,view?,uri?,url?),
> >  render(action?,view?,bean?)
> >  msg(code,default?,args?,locale?) - Bundle bindning
> >  joinChannel(String group) - join push channel
> >  leftChannel(String group) - left push channel
> >
> > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

Graeme Rocher-3
Awesome, thanks for that

Cheers

On 24 Mar 2010, at 11:56, Stephane Maldini wrote:

> http://grails.org/plugin/icefaces
>
> Doing it better.
>
> On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
> Cool, some documentation and an example would be good
>
> Cheers
>
> On 24 Mar 2010, at 11:08, Stephane Maldini wrote:
>
> > The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
> >
> > But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
> >
> > On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> > Oh sure :)
> > Cleaning the doc ATM
> >
> >
> >
> > On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> > Hi Stephane,
> >
> > Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
> >
> > Look forward to seeing what you do with JSF 2
> >
> > Cheers
> >
> > On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
> >
> > > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> > >
> > > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> > >
> > > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> > >
> > > RELEASE NOTES :
> > >
> > > JSF-Icefaces-Facelet integration.
> > > _ Bean By convention (no need for faces-config)
> > > _ Bean access to controller parameters (session,request,params...)
> > > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > > _ Automatic bean and service properties resolution
> > > _ 'void init()' called at bean initialization if present
> > > _ 'void dispose()' called at bean destruction if present
> > > _ ICEfaces Extended request scope ('page')
> > > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > > _ Access to faces-config generated in web-app/faces-config.xml
> > > _ Converters for locale
> > > _ i18n ready, fast access with #{msg['key']}
> > > _ create-bean script
> > > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > > _ Hibernate session managed from view rendering to view response
> > > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> > >
> > > _ Extra methods for beans :
> > >  push(String group?) - render target group (default:all),
> > >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> > >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> > >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> > >  javascript(String js) - call javascript on the actual request,
> > >  redirect(action?,bean?,view?,uri?,url?),
> > >  render(action?,view?,bean?)
> > >  msg(code,default?,args?,locale?) - Bundle bindning
> > >  joinChannel(String group) - join push channel
> > >  leftChannel(String group) - left push channel
> > >
> > > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> > >
> > >
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> >    http://xircles.codehaus.org/manage_email
> >
> >
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
You're welcome. I have to recognize this is a bit too coupled and I will split the version 2 into "JSF2-plugin" "ICEfaces-plugin" and "ICEfaces-push-plugin".

Just wanted to share my work, if people needed or wanted to see migration sample :)

On Wed, Mar 24, 2010 at 1:46 PM, Graeme Rocher <[hidden email]> wrote:
Awesome, thanks for that

Cheers

On 24 Mar 2010, at 11:56, Stephane Maldini wrote:

> http://grails.org/plugin/icefaces
>
> Doing it better.
>
> On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
> Cool, some documentation and an example would be good
>
> Cheers
>
> On 24 Mar 2010, at 11:08, Stephane Maldini wrote:
>
> > The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
> >
> > But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
> >
> > On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> > Oh sure :)
> > Cleaning the doc ATM
> >
> >
> >
> > On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> > Hi Stephane,
> >
> > Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
> >
> > Look forward to seeing what you do with JSF 2
> >
> > Cheers
> >
> > On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
> >
> > > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> > >
> > > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> > >
> > > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> > >
> > > RELEASE NOTES :
> > >
> > > JSF-Icefaces-Facelet integration.
> > > _ Bean By convention (no need for faces-config)
> > > _ Bean access to controller parameters (session,request,params...)
> > > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > > _ Automatic bean and service properties resolution
> > > _ 'void init()' called at bean initialization if present
> > > _ 'void dispose()' called at bean destruction if present
> > > _ ICEfaces Extended request scope ('page')
> > > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > > _ Access to faces-config generated in web-app/faces-config.xml
> > > _ Converters for locale
> > > _ i18n ready, fast access with #{msg['key']}
> > > _ create-bean script
> > > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > > _ Hibernate session managed from view rendering to view response
> > > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> > >
> > > _ Extra methods for beans :
> > >  push(String group?) - render target group (default:all),
> > >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> > >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> > >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> > >  javascript(String js) - call javascript on the actual request,
> > >  redirect(action?,bean?,view?,uri?,url?),
> > >  render(action?,view?,bean?)
> > >  msg(code,default?,args?,locale?) - Bundle bindning
> > >  joinChannel(String group) - join push channel
> > >  leftChannel(String group) - left push channel
> > >
> > > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> > >
> > >
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> >    http://xircles.codehaus.org/manage_email
> >
> >
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

jbhawes
Hello,

I'm having trouble deploying my app outside of my development environment.  I'm getting the following error:

2010-03-29 11:21:43,036 [main] ERROR context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:75)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:923)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at groovy.lang.Closure.call(Closure.java:279)
        at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.doWithApplicationContext(DefaultGrailsPlugin.java:553)
        at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.doPostProcessing(AbstractGrailsPluginManager.java:138)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.performPostProcessing(GrailsRuntimeConfigurator.java:227)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:179)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:131)
        at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.configureWebApplicationContext(GrailsConfigUtils.java:102)
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:69)
        ... 17 more
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
        at javax.faces.FactoryFinder$getFactory.call(Unknown Source)
        at IcefacesGrailsPlugin$_closure4.doCall(IcefacesGrailsPlugin.groovy:425)
2010-03-29 11:21:43,038 [main] ERROR [/TestIceFaces-0.1]  - Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:75)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:923)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at groovy.lang.Closure.call(Closure.java:279)
        at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.doWithApplicationContext(DefaultGrailsPlugin.java:553)
        at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.doPostProcessing(AbstractGrailsPluginManager.java:138)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.performPostProcessing(GrailsRuntimeConfigurator.java:227)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:179)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:131)
        at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.configureWebApplicationContext(GrailsConfigUtils.java:102)
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:69)
        ... 17 more
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
        at javax.faces.FactoryFinder$getFactory.call(Unknown Source)
        at IcefacesGrailsPlugin$_closure4.doCall(IcefacesGrailsPlugin.groovy:425)
2010-03-29 11:21:44,291 [main] ERROR [/TestIceFaces-0.1]  - Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.addELResolver(Ljavax/el/ELResolver;)V" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/sun/faces/config/ConfigureListener, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ELResolver used in the signature
        at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:397)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:189)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2010-03-29 11:21:44,292 [main] ERROR core.StandardContext  - Error listenerStart
2010-03-29 11:21:44,292 [main] ERROR core.StandardContext  - Context [/TestIceFaces-0.1] startup failed due to previous errors
2010-03-29 11:21:44,354 [main] ERROR [/TestIceFaces-0.1]  - Exception sending context destroyed event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.access.BootstrapException: Error executing bootstraps; nested exception is org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:75)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3972)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4467)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
        at org.apache.catalina.core.StandardService.start(StandardService.java:519)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:92)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1049)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:923)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:880)
        at groovy.lang.Closure.call(Closure.java:279)
        at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.doWithApplicationContext(DefaultGrailsPlugin.java:553)
        at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.doPostProcessing(AbstractGrailsPluginManager.java:138)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.performPostProcessing(GrailsRuntimeConfigurator.java:227)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:179)
        at org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator.configure(GrailsRuntimeConfigurator.java:131)
        at org.codehaus.groovy.grails.web.context.GrailsConfigUtils.configureWebApplicationContext(GrailsConfigUtils.java:102)
        at org.codehaus.groovy.grails.web.context.GrailsContextLoader.createWebApplicationContext(GrailsContextLoader.java:69)
        ... 17 more
Caused by: java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.lifecycle.LifecycleFactory
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:267)
        at javax.faces.FactoryFinder$getFactory.call(Unknown Source)
        at IcefacesGrailsPlugin$_closure4.doCall(IcefacesGrailsPlugin.groovy:425)
log4j:WARN No appenders could be found for logger (org.apache.catalina.loader.WebappClassLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.

Can anybody point me in the right direction to resolve this problem?  It happens when I war up the grails project with the icefaces plugin.

Thanks in advance,

James
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

Tim Van Meerbeeck
In reply to this post by smaldini
Hi

Is it possible to write a better tutorial because the sample is not doing anything except for generating errors.

kind regards,

Ps: I hope its better then the current UI-extensions for Grails. This part really could use a boost.

2010/3/24 Stephane Maldini <[hidden email]>
You're welcome. I have to recognize this is a bit too coupled and I will split the version 2 into "JSF2-plugin" "ICEfaces-plugin" and "ICEfaces-push-plugin".

Just wanted to share my work, if people needed or wanted to see migration sample :)


On Wed, Mar 24, 2010 at 1:46 PM, Graeme Rocher <[hidden email]> wrote:
Awesome, thanks for that

Cheers

On 24 Mar 2010, at 11:56, Stephane Maldini wrote:

> http://grails.org/plugin/icefaces
>
> Doing it better.
>
> On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
> Cool, some documentation and an example would be good
>
> Cheers
>
> On 24 Mar 2010, at 11:08, Stephane Maldini wrote:
>
> > The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
> >
> > But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
> >
> > On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> > Oh sure :)
> > Cleaning the doc ATM
> >
> >
> >
> > On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> > Hi Stephane,
> >
> > Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
> >
> > Look forward to seeing what you do with JSF 2
> >
> > Cheers
> >
> > On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
> >
> > > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> > >
> > > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> > >
> > > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> > >
> > > RELEASE NOTES :
> > >
> > > JSF-Icefaces-Facelet integration.
> > > _ Bean By convention (no need for faces-config)
> > > _ Bean access to controller parameters (session,request,params...)
> > > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > > _ Automatic bean and service properties resolution
> > > _ 'void init()' called at bean initialization if present
> > > _ 'void dispose()' called at bean destruction if present
> > > _ ICEfaces Extended request scope ('page')
> > > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > > _ Access to faces-config generated in web-app/faces-config.xml
> > > _ Converters for locale
> > > _ i18n ready, fast access with #{msg['key']}
> > > _ create-bean script
> > > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > > _ Hibernate session managed from view rendering to view response
> > > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> > >
> > > _ Extra methods for beans :
> > >  push(String group?) - render target group (default:all),
> > >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> > >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> > >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> > >  javascript(String js) - call javascript on the actual request,
> > >  redirect(action?,bean?,view?,uri?,url?),
> > >  render(action?,view?,bean?)
> > >  msg(code,default?,args?,locale?) - Bundle bindning
> > >  joinChannel(String group) - join push channel
> > >  leftChannel(String group) - left push channel
> > >
> > > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> > >
> > >
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> >    http://xircles.codehaus.org/manage_email
> >
> >
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
http://www.jroller.com/tedgoddard/entry/grails_with_icefaces

On Wed, Mar 31, 2010 at 3:53 PM, Tim Van Meerbeeck <[hidden email]> wrote:
Hi

Is it possible to write a better tutorial because the sample is not doing anything except for generating errors.

kind regards,

Ps: I hope its better then the current UI-extensions for Grails. This part really could use a boost.

2010/3/24 Stephane Maldini <[hidden email]>

You're welcome. I have to recognize this is a bit too coupled and I will split the version 2 into "JSF2-plugin" "ICEfaces-plugin" and "ICEfaces-push-plugin".

Just wanted to share my work, if people needed or wanted to see migration sample :)


On Wed, Mar 24, 2010 at 1:46 PM, Graeme Rocher <[hidden email]> wrote:
Awesome, thanks for that

Cheers

On 24 Mar 2010, at 11:56, Stephane Maldini wrote:

> http://grails.org/plugin/icefaces
>
> Doing it better.
>
> On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
> Cool, some documentation and an example would be good
>
> Cheers
>
> On 24 Mar 2010, at 11:08, Stephane Maldini wrote:
>
> > The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
> >
> > But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
> >
> > On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> > Oh sure :)
> > Cleaning the doc ATM
> >
> >
> >
> > On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> > Hi Stephane,
> >
> > Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
> >
> > Look forward to seeing what you do with JSF 2
> >
> > Cheers
> >
> > On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
> >
> > > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> > >
> > > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> > >
> > > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> > >
> > > RELEASE NOTES :
> > >
> > > JSF-Icefaces-Facelet integration.
> > > _ Bean By convention (no need for faces-config)
> > > _ Bean access to controller parameters (session,request,params...)
> > > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > > _ Automatic bean and service properties resolution
> > > _ 'void init()' called at bean initialization if present
> > > _ 'void dispose()' called at bean destruction if present
> > > _ ICEfaces Extended request scope ('page')
> > > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > > _ Access to faces-config generated in web-app/faces-config.xml
> > > _ Converters for locale
> > > _ i18n ready, fast access with #{msg['key']}
> > > _ create-bean script
> > > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > > _ Hibernate session managed from view rendering to view response
> > > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> > >
> > > _ Extra methods for beans :
> > >  push(String group?) - render target group (default:all),
> > >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> > >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> > >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> > >  javascript(String js) - call javascript on the actual request,
> > >  redirect(action?,bean?,view?,uri?,url?),
> > >  render(action?,view?,bean?)
> > >  msg(code,default?,args?,locale?) - Bundle bindning
> > >  joinChannel(String group) - join push channel
> > >  leftChannel(String group) - left push channel
> > >
> > > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> > >
> > >
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> >    http://xircles.codehaus.org/manage_email
> >
> >
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini




--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JSF ICEfaces Plugin 0.1 released

smaldini
Please submit your errors in order to correct the sample :)

On Wed, Mar 31, 2010 at 4:00 PM, Stephane Maldini <[hidden email]> wrote:
http://www.jroller.com/tedgoddard/entry/grails_with_icefaces


On Wed, Mar 31, 2010 at 3:53 PM, Tim Van Meerbeeck <[hidden email]> wrote:
Hi

Is it possible to write a better tutorial because the sample is not doing anything except for generating errors.

kind regards,

Ps: I hope its better then the current UI-extensions for Grails. This part really could use a boost.

2010/3/24 Stephane Maldini <[hidden email]>

You're welcome. I have to recognize this is a bit too coupled and I will split the version 2 into "JSF2-plugin" "ICEfaces-plugin" and "ICEfaces-push-plugin".

Just wanted to share my work, if people needed or wanted to see migration sample :)


On Wed, Mar 24, 2010 at 1:46 PM, Graeme Rocher <[hidden email]> wrote:
Awesome, thanks for that

Cheers

On 24 Mar 2010, at 11:56, Stephane Maldini wrote:

> http://grails.org/plugin/icefaces
>
> Doing it better.
>
> On Wed, Mar 24, 2010 at 11:47 AM, Graeme Rocher <[hidden email]> wrote:
> Cool, some documentation and an example would be good
>
> Cheers
>
> On 24 Mar 2010, at 11:08, Stephane Maldini wrote:
>
> > The JSF1.2 ICEfaces was a lot of hacks to integrate it with grails, as some request are not true request (initiated server render is called from thread then long lived request see the change and update page).
> >
> > But I see it as a definitive way to migrate your JSF application smoothly to Grails (I do it with mine, icescrum.org). With the same base, you will migrate to JSF 2 with the new plugin. Note some feature like navigation by convention is already available :)
> >
> > On Wed, Mar 24, 2010 at 11:02 AM, Stephane Maldini <[hidden email]> wrote:
> > Oh sure :)
> > Cleaning the doc ATM
> >
> >
> >
> > On Wed, Mar 24, 2010 at 9:17 AM, Graeme Rocher <[hidden email]> wrote:
> > Hi Stephane,
> >
> > Interesting. Be definitely good if you could at least clean up the docs on http://grails.org/plugin/icefaces as they're a bit messy
> >
> > Look forward to seeing what you do with JSF 2
> >
> > Cheers
> >
> > On 24 Mar 2010, at 01:47, Stephane Maldini wrote:
> >
> > > Scaffolding is not fully written (some constraints and manytomany/onetomany) but it will demonstrate some plugin capacities like collaborative application without javascript in minutes.
> > >
> > > By default, generated beans broadcast events to connected sessions, which allow to see in real time modifications.
> > > Other interesting point is your don't even have to refresh your browser to see changes in bundles,beans, and jspx.
> > >
> > > On Wed, Mar 24, 2010 at 1:44 AM, Stephane Maldini <[hidden email]> wrote:
> > > Hi folks, here a JSF 1.2 ICEfaces integration. I'm working on the JSF 2 part. Poor documention but will do what I can, this tiny thing took me more time I thought :)
> > >
> > > RELEASE NOTES :
> > >
> > > JSF-Icefaces-Facelet integration.
> > > _ Bean By convention (no need for faces-config)
> > > _ Bean access to controller parameters (session,request,params...)
> > > _ NavigationCase by convention (extension auto added, local path searched, .redirect extension)
> > > _ Beans dynamic methods for navigation redirect(action?,bean?,view?,uri?,url?) and render(action?,view?,bean?),
> > > _ Automatic bean and service properties resolution
> > > _ 'void init()' called at bean initialization if present
> > > _ 'void dispose()' called at bean destruction if present
> > > _ ICEfaces Extended request scope ('page')
> > > _ 'RealTime changes' in dev mode : updates of your Beans and Views are pushed to browsers while running
> > > _ Access to web.xml-config configuration via IcefacesConfig.groovy
> > > _ Access to faces-config generated in web-app/faces-config.xml
> > > _ Converters for locale
> > > _ i18n ready, fast access with #{msg['key']}
> > > _ create-bean script
> > > _ generate-bean, generate-views-icefaces,generate-all-icefaces : scaffolding for JSF collaborative application
> > > _ "Contextual push", allowing method invokation from target user contexts (manage session-page objects in minutes)
> > > _ Hibernate session managed from view rendering to view response
> > > _ Execute groovy code in EL expression ( #{ice.groov[' def i = 2; 3.times{ i++ }; i; ']} )
> > >
> > > _ Extra methods for beans :
> > >  push(String group?) - render target group (default:all),
> > >  pushJavascript(String group?, String js) - call javascript on target group users (default:all),
> > >  pushInvoke(String group?, Closure meth) - call closure from target group user contexts (default:all),
> > >  pushInvokeInBean(String group?, Closure meth) - call closure from target group user bean contexts (default:all),
> > >  javascript(String js) - call javascript on the actual request,
> > >  redirect(action?,bean?,view?,uri?,url?),
> > >  render(action?,view?,bean?)
> > >  msg(code,default?,args?,locale?) - Bundle bindning
> > >  joinChannel(String group) - join push channel
> > >  leftChannel(String group) - left push channel
> > >
> > > _ This is an Early Release, be cool if bugging ;) Main objective was JSF Icefaces integration. JSF 2 impl coming.
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> > >
> > >
> > >
> > > --
> > > Stéphane MALDINI
> > > doc4web consultant
> > > [hidden email]
> > > --
> > > http://fr.linkedin.com/in/smaldini
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> >    http://xircles.codehaus.org/manage_email
> >
> >
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
> >
> >
> >
> > --
> > Stéphane MALDINI
> > doc4web consultant
> > [hidden email]
> > --
> > http://fr.linkedin.com/in/smaldini
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Stéphane MALDINI
> doc4web consultant
> [hidden email]
> --
> http://fr.linkedin.com/in/smaldini


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini




--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini



--
Stéphane MALDINI
doc4web consultant
[hidden email]
--
http://fr.linkedin.com/in/smaldini