It appears that we'd lost some important changes when we merged in the
2.6code.  We're basically using the changes described in
http://www.ja-sig.org/wiki/display/UPC/External+Links+to+Channels+and+tabs,
although we've added code to GuestUserPreferencesManager rather than using
the servlet mentioned in this article.

Is this something we might be able to commit to the uPortal project?  We've
found it to be a locally useful feature.

- Jen


On Dec 3, 2007 3:57 PM, Jennifer Bourey <[EMAIL PROTECTED]> wrote:

> Hi all,
> We used to be able to successfully call channels via fname from all
> layouts.  We're now finding that after merging in uPortal 2.6RC1 changes
> channels can't be successfully instantiated by fname from the guest layout
> if the channel isn't already a part of the guest layout.
>
> Once upon a time, we'd added a local change to make
> UserLayoutManagerFactory.java read as follows:
>
>     public static IUserLayoutManager
> immutableUserLayoutManager(IUserLayoutManager man) throws PortalException
> {
>         IUserLayoutManager iulm = newImmutableUserLayoutManagerWrapper(man);
>         IUserLayoutManager ulmWrapper = 
> newTransientUserLayoutManagerWrapper(iulm);
>         return ulmWrapper;
>     }
>
> Now, this wrapping the immutable user layout manager in the transient user
> layout manager causes the whole guest layout to become unavailable (as in
> accessing the portal as the guest user results in a "Programming error"
> message, without even trying to do anything fname-related).  I'm not quite
> sure what's causing the problem, but it seems like the layout it's trying to
> transform is null.  I've included the related stack trace below.
>
> Does anyone have any ideas on why this feature stopped working as of 2.6,
> or how we can get it working now?
>
> - Jen
>
>
> DEBUG [http-8080-Processor25] dlm.DistributedLayoutManager.[] Dec/03
> 13:10:53 - domRequest: 3
> DEBUG [http-8080-Processor25] dlm.DistributedLayoutManager.[] Dec/03
> 13:10:53 - Layout event stream for guest starting.
> DEBUG [http-8080-Processor25] dlm.DistributedLayoutManager.[] Dec/03
> 13:10:54 - Layout event stream for guest incurred exception.
> java.util.EmptyStackException
>         at org.apache.xml.utils.IntStack.peek(IntStack.java:125)
>         at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.endElement(SAX2DTM.java
> :2032)
>         at org.apache.xalan.transformer.TransformerHandlerImpl.endElement(
> TransformerHandlerImpl.java:522)
>         at org.jasig.portal.utils.SAX2DuplicatingFilterImpl.endElement(
> SAX2DuplicatingFilterImpl.java:563)
>         at org.jasig.portal.utils.SAX2FilterImpl.endElement(
> SAX2FilterImpl.java:734)
>         at org.jasig.portal.utils.SAX2FilterImpl.endElement(
> SAX2FilterImpl.java:734)
>         at org.jasig.portal.utils.SAX2FilterImpl.endElement(
> SAX2FilterImpl.java:734)
>         at org.jasig.portal.utils.SAX2FilterImpl.endElement(
> SAX2FilterImpl.java:734)
>         at org.apache.xalan.transformer.TransformerIdentityImpl.endElement
> (TransformerIdentityImpl.java:1101)
>         at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java
> :458)
>         at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java
> :149)
>         at org.apache.xalan.transformer.TransformerIdentityImpl.transform(
> TransformerIdentityImpl.java:389)
>         at
> org.jasig.portal.layout.dlm.DistributedLayoutManager.getUserLayout(
> DistributedLayoutManager.java:370)
>         at
> org.jasig.portal.layout.dlm.DistributedLayoutManager.getUserLayout(
> DistributedLayoutManager.java:335)
>         at
> org.jasig.portal.layout.TransientUserLayoutManagerWrapper.getUserLayout(
> TransientUserLayoutManagerWrapper.java:101)
>         at
> org.jasig.portal.layout.immutable.ImmutableUserLayoutManagerWrapper.getUserLayout
> (ImmutableUserLayoutManagerWrapper.java:54)
>         at
> org.jasig.portal.layout.TransientUserLayoutManagerWrapper.getUserLayout(
> TransientUserLayoutManagerWrapper.java:101)
>         at org.jasig.portal.UserInstance.renderState(UserInstance.java
> :557)
>         at org.jasig.portal.GuestUserInstance.writeContent(
> GuestUserInstance.java:173)
>         at org.jasig.portal.PortalSessionManager.doGet(
> PortalSessionManager.java:285)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:269)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:174)
>         at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(
> ErrorReportValve.java:117)
>         at org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:108)
>         at org.apache.catalina.connector.CoyoteAdapter.service(
> CoyoteAdapter.java:151)
>         at org.apache.coyote.http11.Http11Processor.process(
> Http11Processor.java:874)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:665)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:528)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:81)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:689)
>         at java.lang.Thread.run(Thread.java:613)
>
>
> ---------------------------------
> Jennifer Bourey
> Technology and Planning
> Yale University ITS
> 203.432.5718
>
>

-- 
You are currently subscribed to [email protected] as: [EMAIL 
PROTECTED]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to