Re: Wicket portles in Sun Portal

2008-06-16 Thread Wilhelmsen Tor Iver
Got it to work after building portlet-bridges-common from the trunk
source.

- The change I made to PortletWindowUtils which seems to work (so far
*crosses fingers*):
   public static String getPortletWindowId(PortletSession session)
{
final Object tmp = session.getAttribute(PORTLET_WINDOW_ID);
String portletWindowId = null;
if (tmp != null) {
portletWindowId = tmp.toString();
}
if ( portletWindowId == null )
{
synchronized (session)
{
String value = String.valueOf(Math.random());
session.setAttribute(PORTLET_WINDOW_ID, value);

- Some of the Maven 2 dependencies for the bridge projects were...
absent. Mostly due to deprecated/old groupIds (non-hierarchical like
castor/castor instead of the hierarchical ids). Worked around it by
building/installing portlet-bridges-common explicitly then adding an
exclusion of the parent project to the dependency in my POM so that I
wasn't dependent on e.g. the perl bridge failing to build because of
these rotten dependencies.

- I was surpried the trunk source's POMs did not use 1.0-SNAPSHOT or the
like for version now, if 1.0.4 is actually released. Don't the
portlet-bridge developers use Maven 2 and thus do not release using mvn
which would have updated the version numbers in the pom.xml files?



Med vennlig hilsen

TOR IVER WILHELMSEN
Senior systemutvikler
Arrive AS
T (+47) 48 16 06 18
E-post: [EMAIL PROTECTED]
http://servicedesk.arrive.no


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



SV: Wicket portles in Sun Portal

2008-06-16 Thread Wilhelmsen Tor Iver
Thijs Vonk wrote:
> Ate Douma wrote:

Thanks to both of you!

> Note though that you have to build a svn copy of the 
> portlet-container. 
> RC2 contains a bug I found which prevents Ajax to work correctly.

Will try that.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket portles in Sun Portal

2008-06-13 Thread Thijs Vonk

Ate Douma wrote:

Wilhelmsen Tor Iver wrote:

To dig up this old thread:

I now use Ate Douma's patch for JSR-286 support from
https://issues.apache.org/jira/browse/WICKET-1620 which has removed the
need for the portal to implement the Apache portlet bridge's two
interfaces. A small step for man etc. :)
Well, credits for those patches go to Thijs Vonk, I'm just the 
assignee of that issue :)
Note though: those patches *as such* still need quite some refactoring 
(as already discussed on this list before) and the final JSR-286 
support very likely will turn out a little bit different...


For those who haven't discovered this yet, I might have a nice news 
update: JSR-286 has finally landed!

See: http://jcp.org/aboutJava/communityprocess/final/jsr286/index.html

Finally :)




There now is an issue - the same I had in JBoss - that it seems the
bridge has a bug where the WicketFilterPortletContext call to

ServletPortletSessionProxy.createProxy(filterRequestContext.getRequest()
)

places a Double into the window-id propery that later will be cast to
String...
No. This is *not* a bug in the bridge, but one in their portlet 
container implementation.
The method concerning this issue is 
o.a.p.bridges.util.PortletWindowUtils.getPortletWindowId(PortletSession)
That method (which I wrote) is 100% following the JSR-168 
specification, its just too bad JBoss Portal (and now it seems also 
Sun Portal) fail to follow those rules concerning this functionality.

... makes me wonder if they (now) share some common codebase ? ...

Anyway, I know this is annoying and I could maybe "fix" this through a 
workaround (not sure yet though: this exception might indicate 
something more/worse is wrong, but I haven't debugged *their* engines 
yet).
But... such a fix or workaround will take some time to formally "land" 
in a new release of bridges anyway, and maybe by that time this is 
moot if we have (basic) JSR-286 support in place for Wicket by then ...
I tested on Sun Portlet container and ran into this problem as well. The 
'QuickFix' I used was to alter the Bridges code and check if it was a 
String or not and depending I cast to String or to Double and then to 
String. I know it's dirty (as I didn't check if it actually is a worse 
problem as Ate indicated), but after I fixed that I haven't run into any 
other problems with it yet.


Note though that you have to build a svn copy of the portlet-container. 
RC2 contains a bug I found which prevents Ajax to work correctly.




Are there plans to completely disconnect the Wicket portlet impl. from
the bridge (i.e. including this dependency to
ServletPortletSessionProxy)?
Yes/no. JSR-286 support will no longer need/depend on the two 
ServletContextProvider and PortletResourceURLFactory implementations. 
Additionally, the ServletPortletSessionProxy functionality *might* be 
replaced by a native JSR-286 feature but... that is an optional 
feature of the spec, so it depends if the underlying portlet container 
does support it or not. If not, the ServletPortletSessionProxy (which 
provides exactly the same functionality as this optional feature... 
wonder how come?) will still be needed. But in that case, the part you 
encountered the exception in comes from determining the Portlet 
WindowId, and *that* is now also formally provided by JSR-286 and thus 
can be resolved in a JSR-286 native way too.


HTH,

Ate



- Tor Iver

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket portles in Sun Portal

2008-06-13 Thread Ate Douma

Wilhelmsen Tor Iver wrote:

To dig up this old thread:

I now use Ate Douma's patch for JSR-286 support from
https://issues.apache.org/jira/browse/WICKET-1620 which has removed the
need for the portal to implement the Apache portlet bridge's two
interfaces. A small step for man etc. :)

Well, credits for those patches go to Thijs Vonk, I'm just the assignee of that 
issue :)
Note though: those patches *as such* still need quite some refactoring (as already discussed on this list before) and 
the final JSR-286 support very likely will turn out a little bit different...


For those who haven't discovered this yet, I might have a nice news update: 
JSR-286 has finally landed!
See: http://jcp.org/aboutJava/communityprocess/final/jsr286/index.html



There now is an issue - the same I had in JBoss - that it seems the
bridge has a bug where the WicketFilterPortletContext call to

ServletPortletSessionProxy.createProxy(filterRequestContext.getRequest()
)

places a Double into the window-id propery that later will be cast to
String...

No. This is *not* a bug in the bridge, but one in their portlet container 
implementation.
The method concerning this issue is 
o.a.p.bridges.util.PortletWindowUtils.getPortletWindowId(PortletSession)
That method (which I wrote) is 100% following the JSR-168 specification, its just too bad JBoss Portal (and now it seems 
also Sun Portal) fail to follow those rules concerning this functionality.

... makes me wonder if they (now) share some common codebase ? ...

Anyway, I know this is annoying and I could maybe "fix" this through a workaround (not sure yet though: this exception 
might indicate something more/worse is wrong, but I haven't debugged *their* engines yet).
But... such a fix or workaround will take some time to formally "land" in a new release of bridges anyway, and maybe by 
that time this is moot if we have (basic) JSR-286 support in place for Wicket by then ...




Are there plans to completely disconnect the Wicket portlet impl. from
the bridge (i.e. including this dependency to
ServletPortletSessionProxy)?
Yes/no. JSR-286 support will no longer need/depend on the two ServletContextProvider and PortletResourceURLFactory 
implementations. Additionally, the ServletPortletSessionProxy functionality *might* be replaced by a native JSR-286 
feature but... that is an optional feature of the spec, so it depends if the underlying portlet container does support 
it or not. If not, the ServletPortletSessionProxy (which provides exactly the same functionality as this optional 
feature... wonder how come?) will still be needed. But in that case, the part you encountered the exception in comes 
from determining the Portlet WindowId, and *that* is now also formally provided by JSR-286 and thus can be resolved in a 
JSR-286 native way too.


HTH,

Ate



- Tor Iver

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket portles in Sun Portal

2008-06-13 Thread Wilhelmsen Tor Iver
To dig up this old thread:

I now use Ate Douma's patch for JSR-286 support from
https://issues.apache.org/jira/browse/WICKET-1620 which has removed the
need for the portal to implement the Apache portlet bridge's two
interfaces. A small step for man etc. :)

There now is an issue - the same I had in JBoss - that it seems the
bridge has a bug where the WicketFilterPortletContext call to

ServletPortletSessionProxy.createProxy(filterRequestContext.getRequest()
)

places a Double into the window-id propery that later will be cast to
String...

Are there plans to completely disconnect the Wicket portlet impl. from
the bridge (i.e. including this dependency to
ServletPortletSessionProxy)?

- Tor Iver

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



SV: Wicket portles in Sun Portal

2008-04-16 Thread Wilhelmsen Tor Iver
> For b) I hope to get started on that ASAP.

Excellent news! :) 

(Since this is so significant for us I might have a go at adding the
support later this week if I can wrap my head around the source and API
docs... testing for the presence of the Portlet 2.0 API as you mentioned
is probably the best approach.)

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket portles in Sun Portal

2008-04-15 Thread Ate Douma
I don't know the Sun Portal that well, but AFAIK they have (or are working on) beta Portlet API 2.0 (JSR-286) support 
already.
As the interfaces which Wicket Portlet currently needs from Apache Portals Bridges Common are natively supported with 
JSR-286, the easiest solution is:

a) waiting for JSR-286 to finally get published (it is already accepted, just 
still not made available publicly :( )
b) upgrade Wicket portlet support to (optionally, if JSR-286 is available at runtime) make use of the JSR-286 API's 
instead of the custom Bridges interfaces


For b) I hope to get started on that ASAP. As I'm also working on a big upgrade/refactoring of both Pluto 2.0 and 
Jetspeed 2.2 to get them aligned, this is something I'll have to try to squeeze in sometime soon.

*Any help with this is very much appreciated.*

For a) I just hope the JCP will speed up their administrative handling of it.
But, we don't have to wait for the public release of JSR-286 to start working on it. Pluto 2.0 (trunk development) as 
well as other portals do have (beta) JSR-286 support which can be used for developing and testing already.
We only don't have a formal portlet-api-2.0.jar available from any public repository, which is somewhat painful as 
adding it as dependency on Wicket would break out-of-the-box building for everyone who hasn't installed that jar 
locally. That's the main reason (and lack of time of course) I haven't started on this already.


Now, if you're stuck on a Portal which doesn't provide JSR-286 support any time soon, and neither provides 
implementations of those Bridges interfaces, you'll have to write them yourself I'm afraid.
As the experience of Thijs Vonk with Liferay showed, it really depends on how "open" and flexible the core features of 
that portal engine is, and whether they already have similar (albeit still proprietary) support of these features.
But if/once they do have preliminary (as Jetspeed right now) or real JSR-286 support, providing implementations for 
these interfaces should not be difficult.


Regards,

Ate

Wilhelmsen Tor Iver wrote:

We have (wisely :) ) chosen Wicket as web framework, but also chosen Sun
Portal as the portal engine (not just Pluto but the commercial product).
This causes a problem since Sun apparently haven't implemented the two
interfaces required by Apache's bridge, so Wicket 1.3.x portlets do not
work since the WicketPortlet appears to require the bridge.

Are there anyone else who have used this combination successfully?

As I see it, there are four possible solutions:

1) Provide implementations of the interfaces that hook into the Sun
portlet engine
2) Make a custom WicketPortlet that does away with the bridge
requirement and does all translation between the portlet world and the
Wicket world. Has the disadvantage of effectively redoing work that the
bridge already does 
3) Make a custom Wicket "Channel" in the portlet server to (in effect)

provide such a bridge (or wait for someone at Sun to write one :) )
which has the disadvantage of being tied to Sun's product
4) Serve the Wicket portlets from a second portlet container that _does_
support the bridge (Liferay, Jetspeed or JBoss if I am not mistaken),
and use WSRP to show them in Sun's portal

Which do you guys think is most likely to succeed?

Med vennlig hilsen

TOR IVER WILHELMSEN
Senior systemutvikler
Arrive AS
T (+47) 48 16 06 18
E-post: [EMAIL PROTECTED]
http://servicedesk.arrive.no






-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Wicket portles in Sun Portal

2008-04-14 Thread Thijs
Liferay is not really supported, We have it running but have hacked 
wicket to do so (in a combindation of a bridges implementation and a 
custom wicket version). Especially to get the Ajax stuff working correctly.
We are hoping that with portlet 2.0 supported both by Liferay and wicket 
that the issues are going to be a lot less. Especially with 
resourceUrl's and HTTP header's / cookies


Thijs



Wilhelmsen Tor Iver schreef:

We have (wisely :) ) chosen Wicket as web framework, but also chosen Sun
Portal as the portal engine (not just Pluto but the commercial product).
This causes a problem since Sun apparently haven't implemented the two
interfaces required by Apache's bridge, so Wicket 1.3.x portlets do not
work since the WicketPortlet appears to require the bridge.

Are there anyone else who have used this combination successfully?

As I see it, there are four possible solutions:

1) Provide implementations of the interfaces that hook into the Sun
portlet engine
2) Make a custom WicketPortlet that does away with the bridge
requirement and does all translation between the portlet world and the
Wicket world. Has the disadvantage of effectively redoing work that the
bridge already does 
3) Make a custom Wicket "Channel" in the portlet server to (in effect)

provide such a bridge (or wait for someone at Sun to write one :) )
which has the disadvantage of being tied to Sun's product
4) Serve the Wicket portlets from a second portlet container that _does_
support the bridge (Liferay, Jetspeed or JBoss if I am not mistaken),
and use WSRP to show them in Sun's portal

Which do you guys think is most likely to succeed?

Med vennlig hilsen

TOR IVER WILHELMSEN
Senior systemutvikler
Arrive AS
T (+47) 48 16 06 18
E-post: [EMAIL PROTECTED]
http://servicedesk.arrive.no



  



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Wicket portles in Sun Portal

2008-04-14 Thread Wilhelmsen Tor Iver
We have (wisely :) ) chosen Wicket as web framework, but also chosen Sun
Portal as the portal engine (not just Pluto but the commercial product).
This causes a problem since Sun apparently haven't implemented the two
interfaces required by Apache's bridge, so Wicket 1.3.x portlets do not
work since the WicketPortlet appears to require the bridge.

Are there anyone else who have used this combination successfully?

As I see it, there are four possible solutions:

1) Provide implementations of the interfaces that hook into the Sun
portlet engine
2) Make a custom WicketPortlet that does away with the bridge
requirement and does all translation between the portlet world and the
Wicket world. Has the disadvantage of effectively redoing work that the
bridge already does 
3) Make a custom Wicket "Channel" in the portlet server to (in effect)
provide such a bridge (or wait for someone at Sun to write one :) )
which has the disadvantage of being tied to Sun's product
4) Serve the Wicket portlets from a second portlet container that _does_
support the bridge (Liferay, Jetspeed or JBoss if I am not mistaken),
and use WSRP to show them in Sun's portal

Which do you guys think is most likely to succeed?

Med vennlig hilsen

TOR IVER WILHELMSEN
Senior systemutvikler
Arrive AS
T (+47) 48 16 06 18
E-post: [EMAIL PROTECTED]
http://servicedesk.arrive.no