You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by Stan Pinte <st...@wanadoo.be> on 2001/08/14 10:48:19 UTC

integrate a Turbine application into jetspeed

hello,

working with the jetspeed 1.3a1 release, is there an easy way (without 
writing code) to "plug" an existing turbine application into
a portlet???

I looked at the TurbineScreenPortlet and at the VelocityPortlet, and I am 
afraid all my links like

$link.setPage("Details.vm").setAction("LoadAction") won't work anymore...

has anyone integrated a working turbine application as a portlet?

As Jetspeed is based on turbine screens, it seems straightforward...

thanks a lot,

PS: rafael, I read your post "Re: VelocityPortlet vs TurbineScreenPortlet" 
of the 1st of august, but...

 > (the main one that the TurbinePortlet *must not* try to change the 
layout/template
 > etc... because that will mess with the Jetspeed engine as such).

and I am of course changing the templates using 
setTemplate("newTemplate.vm") calls in my Actions or Screens...

 >Now, VelocityPortlet is just a Portlet that allows you to associate one or
 >several velocity Portlets with one action that is used to populate content
 >on demand. You can not use it as a "Turbine application front-end" directly
 >but if you have a modern Turbine app (pull + template) you can write
 >a Portlet view of this app with the VelocityPortlet in a few seconds...

I looked at the VelocityPortlet...seems nice, but I don't see nowhere in 
the code that the VelocityPortlet calls my Screen classes having the same 
name as the template ( like Turbine does ). Do you see my point?

Has someone thought about modifying this class so that it does it? I have 
the feeling that such class must already exists in the Turbine source, as 
the job is the one that the turbine engine does when generating a screen 
for a specific page...

thanks a lot,

Stan.


Stanislas Pinte
Computer Consultant

Sales Director
Alto Software

20 Pl St Jacques
B-4000 Liège
Tel+Fax: +32 -(0)4 221 35 08
GSM: +32 -(0)478 57 61 80
web: http://www.altosw.be
email: stan@altosw.be

Re: ERROR -- TurbineUser.valueUnbobund(): Failed to save user object

Posted by Jon Stevens <jo...@latchkey.com>.
on 8/14/01 5:55 AM, "Gunter Miessbrandt" <mi...@ixtern.de> wrote:

> The following lines are snipped from my turbine.log. I use turbine 2.1 with
> mySQL on Linux.  What?s wrong??
> 
> Gunter Miessbrandt

Read the archives.

-jon

-- 
If you come from a Perl or PHP background, JSP is a way to take
your pain to new levels. --Anonymous
<http://jakarta.apache.org/velocity/ymtd/ymtd.html>


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org


ERROR -- TurbineUser.valueUnbobund(): Failed to save user object

Posted by Gunter Miessbrandt <mi...@ixtern.de>.
Hello!

The following lines are snipped from my turbine.log. I use turbine 2.1 with
mySQL on Linux.  What?s wrong??

Gunter Miessbrandt

<snip>
[Tue Aug 14 14:38:54 CEST 2001] -- INFO -- Start Initializing service
(late): MapBrokerService
[Tue Aug 14 14:38:54 CEST 2001] -- INFO -- Finish Initializing service
(late): MapBrokerService
[Tue Aug 14 14:38:54 CEST 2001] -- WARN -- IDBroker is being used with db:
default
 which does not support transactions.  It is possible to
 generate duplicate keys, if multiple JVM's are used or other
 means are used to write to the database.
[Tue Aug 14 14:38:54 CEST 2001] -- ERROR -- TurbineUser.valueUnbobund():
Failed to save user object
[Tue Aug 14 14:38:54 CEST 2001] -- ERROR --
	Exception:  org.apache.turbine.util.security.DataBackendException: Failed
to save user object
	Stack Trace follows:
	java.lang.NullPointerException
	at org.apache.turbine.om.peer.BasePeer.doUpdate(BasePeer.java:1635)
	at org.apache.turbine.om.peer.BasePeer.doUpdate(BasePeer.java:1578)
	at
org.apache.turbine.om.security.peer.TurbineUserPeer.doUpdate(TurbineUserPeer
.java:463)
	at
org.apache.turbine.services.security.db.DBUserManager.store(DBUserManager.ja
va:272)
rethrown as org.apache.turbine.util.security.DataBackendException: Failed to
save user object
	at
org.apache.turbine.services.security.db.DBUserManager.store(DBUserManager.ja
va:276)
	at
org.apache.turbine.services.security.BaseSecurityService.saveUser(BaseSecuri
tyService.java:379)
	at
org.apache.turbine.services.security.TurbineSecurity.saveUser(TurbineSecurit
y.java:261)
	at
org.apache.turbine.om.security.TurbineUser.valueUnbound(TurbineUser.java:649
)
	at
org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.
java:953)
	at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java
:1233)
	at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.
java:707)
	at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:502)
	at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:648)
	at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:2312)
	at org.apache.catalina.loader.ContextNotifier.run(StandardLoader.java:1346)
	at java.lang.Thread.run(Thread.java:484)

[Tue Aug 14 14:38:54 CEST 2001] -- INFO -- IDBroker thread was started.
[Tue Aug 14 14:39:07 CEST 2001] -- INFO -- ServiceBroker: LoggingService
enabled.
[Tue Aug 14 14:39:07 CEST 2001] -- INFO -- Added Mapping for Service:
ResourceService
</snip>


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org


Re: integrate a Turbine application into jetspeed

Posted by Raphaël Luta <ra...@networks.groupvu.com>.
Stan Pinte wrote:

> 
> PS: rafael, I read your post "Re: VelocityPortlet vs 
> TurbineScreenPortlet" of the 1st of august, but...
> 
>  > (the main one that the TurbinePortlet *must not* try to change the 
> layout/template
>  > etc... because that will mess with the Jetspeed engine as such).
> 
> and I am of course changing the templates using 
> setTemplate("newTemplate.vm") calls in my Actions or Screens...
> 
>  >Now, VelocityPortlet is just a Portlet that allows you to associate 
> one or
>  >several velocity Portlets with one action that is used to populate 
> content
>  >on demand. You can not use it as a "Turbine application front-end" 
> directly
>  >but if you have a modern Turbine app (pull + template) you can write
>  >a Portlet view of this app with the VelocityPortlet in a few seconds...
> 
> I looked at the VelocityPortlet...seems nice, but I don't see nowhere in 
> the code that the VelocityPortlet calls my Screen classes having the 
> same name as the template ( like Turbine does ). Do you see my point?
> 


Yes, but Screens are being phased out of Turbine and I don't plan to
support them directly with the VelocityPortlet which is rather designed to
use a Pull methodology.
Mapping screen to template in Jetspeed is not a trivial task because the
template used is not directly correlated to the portlets seen, however you
can easily modify the VelocityPortlet to look at the Portlet template name
and try to execute a Screen class based on this name, basically duplicating
what Turbine does during its layout phase.
If you check out the VelocityPortlet code, you'll see that it executes an
Action based on init parameters, you can modify this to execute a screen
based on template value.

You'll also need to modify many default context objects like $link in order

to separate your "Turbine parameters" from the Turbine parameters used by
Jetspeed: if you use a $link.setPage(...) in your portlet without precautions,
you'll change the global template of Jetspeed and not simply the template
displayed by your portlet.
Also note that some features like setRedirect() won't work, because your
generated content is aggregated into another one and thus you can't control
the complete response flow.


> Has someone thought about modifying this class so that it does it? I 
> have the feeling that such class must already exists in the Turbine 
> source, as the job is the one that the turbine engine does when 
> generating a screen for a specific page...
> 


Check the DefaultLayout and DefaultPage classes in Turbine 2.1

--
Raphael Luta - raphael.luta@networks.groupvu.com
Vivendi Universal Networks - Paris


---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-user-help@jakarta.apache.org