You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by "Weaver, Scott" <Sw...@rippe.com> on 2003/08/07 19:11:04 UTC
RE: J2 PSML persistence (was RE : Jetspeed performance [was RE:
mast er detail records displaye d in a portlet])
Very cool, Raphael! I like what I'm seeing, very clean and straight forward.
Regards,
*===================================*
* Scott T Weaver *
* Jakarta Jetspeed Portal Project *
* weaver@apache.org *
*===================================*
> -----Original Message-----
> From: Luta, Raphael (VUN) [mailto:Raphael.Luta@groupvu.Com]
> Sent: Thursday, August 07, 2003 12:55 PM
> To: 'jetspeed-dev@jakarata.apache.org'
> Cc: 'Jetspeed Users List'
> Subject: J2 PSML persistence (was RE : Jetspeed performance [was RE: mast
> er detail records displaye d in a portlet])
>
>
> [ moved to dev and renamed given the current content of the thread ]
> For mt PSML stuff in JS2, I've currently broken down the persistence
> options like this:
> - PageManagerService:
>
>
> Function:
>
> Handles page persistence (ie loading and saving pages and fragments to
> storage as well as creating new pages and fragments)
>
> Implementation:
> I have 2 implementations in the works:
>
> - XML/Castor, with XML files on disk (complete, I just need to
> stop answering mails and write the related unit test files :)
> - OJB based (through the persistence plug-in) (in progress, 80%
> complete)
>
> For the XML files, the default service implementation just write
> files in a flat directory, with files identified by an id (this
>
> is different from JS1 behavior).
>
>
> Typical directory layout would be:
> /WEB-INF/pages/
> pageID1.psml
> pageID2.psml
> pageID3.psml
> ...
> pageIDX.psml
>
> - PageRegistryService
>
> Function:
> Register available portal pages and map these pages to user and role
> profiles. The API of this service will be an extension of the default
> Registry service
>
>
> Implementation:
> Again 2 implementations possible:
> - XML/Castor based on the current JS1 registry code (70% complete)
> - OJB/Persistence plug-in like the new PortletRegsitry written by
> Scott (0% complete)
>
> With XML implementation, information is stored in one or several
> xreg files in /WEB-INF/conf by default.
>
> Example of page registry entries:
>
> // default anonymous page for html markup
> <page-entry default="true">
> <media-type ref="html"/>
> <page ref="pageID1"/>
> </page-entry>
>
> // default page for any logged-in user
> <page-entry name="home" user="*" default="true">
> <meta-info>
> <title>My Portal Home</title>
> <descritpion>User Home page</description>
> </meta-info>
> <page ref="pageID2.psml"/>
> </page-entry>
>
> // secondary page for any logged-in user
> <page-entry name="news" user="*">
> <meta-info>
> <title>My News Page</title>
> <descritpion>User specific news page</description>
> </meta-info>
> <page ref="pageID3.psml"/>
> </page-entry>
>
> // custom news page for user raphael
> <page-entry name="news" user="raphael">
> <meta-info>
> <title>My News Page</title>
> <descritpion>User specific news page</description>
> </meta-info>
> <page ref="pageID4.psml"/>
> </page-entry>
>
> // default news page for role admin, note that
> // it can be the same ID that as above
> <page-entry name="news" role="admin">
> <meta-info>
> <title>My News Page</title>
> <descritpion>Role specific news page</description>
> </meta-info>
> <page ref="pageID4.psml"/>
> </page-entry>
>
> This setup should IMO be both more efficient in the XML and
> SQL persistent mode because of the flatter structure and be
> more flexible because the PageRegistry allows a central page
> repository and some user->page mappings that were not possible
> in JS1, including the ability to "off-line" a page without
> removing it physically.
>
> --
> Raphaël Luta - raphael@apache.org
> Jakarta Jetspeed - Enterprise Portal in Java
> http://jakarta.apache.org/jetspeed/
>
> > -----Message d'origine-----
> > De : Weaver, Scott [mailto:Sweaver@rippe.com]
>
> > Envoyé : jeudi 7 août 2003 18:25
> > À : 'Jetspeed Users List'
> > Objet : RE: Jetspeed performance [was RE: master detail
>
> > records displaye d in a portlet]
> >
>
> >
>
> > Hi Meghan,
> >
>
> > File based as in how?
>
> >
>
> > The goal is to have JMX/MBean UIs be as simple and straight
>
> > forward as possible. There will still a jetspeed.properties
>
> > file for configuring all the basic service stuff and what not.
> >
>
> > One of the major goals is to make deploying and using
>
> > Jetspeed 2 as painless as possible
> >
>
> > Regards,
> > *===================================*
> > * Scott T Weaver *
> > * Jakarta Jetspeed Portal Project *
> > * weaver@apache.org *
> > *===================================*
> >
>
> >
>
> >
>
> > > -----Original Message-----
> > > From: Meghan_E_Pietila@eFunds.Com
>
> > [mailto:Meghan_E_Pietila@eFunds.Com]
> > > Sent: Thursday, August 07, 2003 12:06 PM
> > > To: Jetspeed Users List
> > > Subject: Re: Jetspeed performance [was RE: master detail records
>
> > > displayed in a portlet]
> > >
>
> > >
>
> > > Will there continue to be an option to have these values
>
> > file-based?
>
> > > We are hoping to give customers of our other software the option to
>
> > > deploy the portal onsite, and the less we have to ask the smaller
>
> > > companies to set up and configure, the better...
> > >
>
> > > Meghan
> > >
>
> > >
>
> > >
>
> > >
>
> > > "Weaver, Scott"
> > > <Sweaver@rippe.co To:
>
> > 'Jetspeed Users
> > > List' <je...@jakarta.apache.org>
> > > m> cc:
> > > Subject: Jetspeed
> > > performance [was RE: master detail records displayed in a
> > > 08/07/2003 10:57 portlet]
> > > AM
> > > Please respond to
> > > "Jetspeed Users
> > > List"
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > > With Jetspeed 2, we are trying to keep as much of the
>
> > information in
>
> > > the DB as possible as to make clustering
>
> > servers/upgrade/deployment as
>
> > > easy as possible. The registry implementation is entirely
>
> > RDBMS based
>
> > > and I think Raphael is planning on making the page
>
> > information (PSML
>
> > > stuff) RDBMS based
> > > also.
> > >
>
> > > We are also going to try to expose as much of the configuration
>
> > > information as possible through JMX and MBeans.
> > >
>
> > > Regards,
> > > *===================================*
> > > * Scott T Weaver *
> > > * Jakarta Jetspeed Portal Project *
> > > * weaver@apache.org *
> > > *===================================*
> > >
>
> > >
>
> > >
>
> > > > -----Original Message-----
> > > > From: Serge Huber [mailto:shuber2@jahia.com]
> > > > Sent: Thursday, August 07, 2003 11:43 AM
> > > > To: Jetspeed Users List
> > > > Subject: RE: master detail records displayed in a portlet
> > > >
> > > > At 11:27 AM 8/7/2003 -0400, you wrote:
> > > > >I would not be surprised if there is a speed penalty but
>
> > then again
>
> > > > >my
> > > > first
> > > > >programming language was assembler and I have no doubt that
>
> > > > >writting software in assembler will result in fast
>
> > execution. I am
>
> > > > >not about to
> > > go
> > > > >back to that. You almost always pay for productivity
>
> > with speed but
> > > that
> > > >
> > > > I know you said you weren't going to back it up, but
>
> > believe me : it
>
> > > > is possible to write slow code in assembly language. One
>
> > of the ways
>
> > > > is accessible very low performance memory such as old-time VGA
>
> > > > cards. The overall speed of the software is not only the speed of
>
> > > > execution of the application's main code, but also all the
>
> > > > sub-systems that it
> > > communicates
> > > > with.
> > > >
> > > > As for Jetspeed's performance. If it's the only problem you have
>
> > > > with
> > > the
> > > > software, you should not shy away, because you can always :
> > > >
> > > > - buy faster hardware (as you said it's the cheapest solution)
> > > > - contribute more efficient designs
> > > >
> > > > One thing I don't know about Jetspeed because I was away from the
> > > project
> > > > for a few years is if it's easily to set up in a cluster. This is
>
> > > > one of my main points of interest right now.
> > > >
> > > > Regards,
> > > > Serge Huber.
> > > >
> > > >
> > > > >-----Original Message-----
> > > > >From: Weaver, Scott [mailto:Sweaver@rippe.com]
> > > > >Sent: Thursday, August 07, 2003 11:01 AM
> > > > >To: 'Jetspeed Users List'
> > > > >Subject: RE: master detail records displayed in a portlet
> > > > >
> > > > >
> > > > > > I tried to do a few things with JetSlow, and then I
>
> > went Struts.
> > > > >
> > > > >Okay, that comment was uncalled for. Please try and
>
> > refrain from
>
> > > > >mud slinging as it does no one any good and is fodder
>
> > for a flame
>
> > > > >war,
> > > which
> > > > is
> > > > >not conducive to the goals of this list.
> > > > >
> > > > >Regards,
> > > > >*===================================*
> > > > >* Scott T Weaver *
> > > > >* Jakarta Jetspeed Portal Project *
> > > > >* weaver@apache.org *
> > > > >*===================================*
> > > > >
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Vic Cekvenich [mailto:maillist@baseBeans.com]
> > > > > > Sent: Thursday, August 07, 2003 9:29 AM
> > > > > > To: jetspeed-user@jakarta.apache.org
> > > > > > Subject: Re: master detail records displayed in a portlet
> > > > > >
> > > > > > I tried to do a few things with JetSlow, and then I
>
> > went Struts.
> > > This
> > > > is
> > > > > > using JSTL, not Velocity, but same concept, Struts supports
> > > Velocity.
> > > > > > Master detail processing is done all the time, and several
>
> > > > > > working
> > > > samples
> > > > > > are in there:
> > > > > > http://cvs.sourceforge.net/cgi-
> > > > bin/viewcvs.cgi/basicportal/bPproj/bP/WEB-
> > > > > > INF/portlets/newsBlg/NewsBlgCmntsLst.jsp
> > > > > > Note that it using the core master tag and then iterating a
>
> > > > > > list.
> > > This
> > > > is
> > > > > > usnig nested beans. I think that is the key conecpt I
>
> > recommend,
> > > nest
> > > > > > beans
> > > > > > and then use dot notation to get to each of the 3 iterating
>
> > > > > > collections/beans. So you can have one bean, that
>
> > nests your 3
>
> > > > > > beans. You can download and look at sample (or CVS source).
> > > > > >
> > > > > > Here is an example of how to click in, and get detail:
> > > > > > http://cvs.sourceforge.net/cgi-
> > > > bin/viewcvs.cgi/basicportal/bPproj/bP/WEB-
> > > > > > INF/portlets/cms/ContentAdminLst.jsp
> > > > > >
> > > > > > KISS,
> > > > > >
> > > > > > .V
> > > > > >
> > > > > > ps:
> > > > > > And here is a navigation, but I do not think you
>
> > asked for that:
> > > > > > http://cvs.sourceforge.net/cgi-
> > > > bin/viewcvs.cgi/basicportal/bPproj/bP/WEB-
> > > > > > INF/config/navigation.xml
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > "D.S. Johnson" <ds...@insightbb.com> wrote in message
>
> > > > > > news:3F32424E.5060701@insightbb.com...
> > > > > > > Ron Wheeler wrote:
> > > > > > >
> > > > > > > >We are fairly new to Jetspeed and have made pretty good
>
> > > > > > > >progress
> > > > > > dispite
> > > > > > the
> > > > > > > >documentation.
> > > > > > > >
> > > > > > > >We are wondering how to create the following fairly common
>
> > > > > > > >web
> > > page
> > > > > > > >structure.
> > > > > > > >We have three identical problems. List of case
>
> > studies, list
>
> > > > > > > >of
> > > > white
> > > > > > > >papers, list of training courses.
> > > > > > > >In each case, we want to present the user with the
>
> > list and
>
> > > > > > > >when
> > > > they
> > > > > > click
> > > > > > > >on one of them, show them the details of that item.
> > > > > > > >
> > > > > > > >The information is in one or more XML files. (list
>
> > of items
>
> > > > > > > >in
> > > one
> > > > XML
> > > > > > that
> > > > > > > >links to the many individual XML files containing
>
> > the details
>
> > > > > > > >of
> > > te
> > > > > > item.)
> > > > > > > >
> > > > > > > >The first problem is that we do not see how we can use
>
> > > > > > > >separate
> > > > > > portlets
> > > > > > > >since we only want either the list or one of the
>
> > items on the
> > > > screen at
> > > > > > once
> > > > > > > >and we do not the menu to change while the user navigates
>
> > > > > > > >within
> > > > the
> > > > > > topic.
> > > > > > > >
> > > > > > > >If we use a single portlet, then we need to be able to
>
> > > > > > > >respond to
> > > > > > selection
> > > > > > > >of one item (a Case Study for example) by clearing
>
> > the list
>
> > > > > > > >and
> > > > > > displaying
> > > > > > > >the selected document (the Case Study).
> > > > > > > >We have the xsl stylesheets to display the initial
>
> > list and
>
> > > > > > > >the
> > > > details
> > > > > > of
> > > > > > > >the idividual item.
> > > > > > > >
> > > > > > > >1) Are we on the right track and understanding the
>
> > problem in
>
> > > > > > > >a
> > > > > > reasonable
> > > > > > > >way?
> > > > > > > >2) Which portlet type would be the best way to handle this?
> > > > > > > >3) Does anyone have a model that we could see/use for this
>
> > > > > > > >type
> > > of
> > > > > > > >application?
> > > > > > > >4) Should we be looking at Velocity/DVSL rather
>
> > than XSLT if
>
> > > > > > > >we
> > > are
> > > > > > going
> > > > > > to
> > > > > > > >work with Jetspeed?
> > > > > > > >
> > > > > > > >Thanks for the help.
> > > > > > > >
> > > > > > > >Ron
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > -------------------------------------------------------------------
> > > > --
> > > > > > > >To unsubscribe, e-mail: jetspeed-user-
> > > > unsubscribe@jakarta.apache.org
> > > > > > > >For additional commands, e-mail: jetspeed-user-
> > > > help@jakarta.apache.org
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > I don't use Velocity very much so I don't know if this will
>
> > > > > > > work
> > > for
> > > > > > > you. But, I have used java server pages and
>
> > servlets to switch
> > > > between
> > > > > > > pages in the same portlet. Usually, I create a menu
>
> > and then
>
> > > > > > > based
> > > > on
> > > > > > > the users choice I switch to that page in the
>
> > portlet. Using
> > > links
> > > > I
> > > > > > > can then switch between different pages in the same
>
> > portlet, I
> > > > believe
> > > > > > > this is what you want to do.
> > > > > > >
> > > > > > > What I do is create the initial jsp page which will
>
> > have the
>
> > > > > > > logic
> > > > for
> > > > > > > jumping to other pages. So the switch file would look
>
> > > > > > > something
> > > like
> > > > > > this;
> > > > > > > I don't know if this is the best way but, it is a
>
> > way to solve
> > > your
> > > > > > > problem, it has worked me.
> > > > > > >
> > > > > > >
> > > > > > > ## switch.jsp##
> > > > > > >
> > > > > > > <%@page language="java" import="java.sql.*"%>
> > > > > > > <%@ taglib uri='/WEB-INF/templates/jsp/tld/template.tld'
> > > > > > > prefix='jetspeed' %>
> > > > > > >
> > > > > > > <%
> > > > > > > // Create and get the switch val, this will be a val to
>
> > > > > > > decide on
> > > > what
> > > > > > > page to load.
> > > > > > >
> > > > > > > String var_switchval =request.getParameter("switchval");
> > > > > > >
> > > > > > > // If switchval is null ( on first pass ) then
>
> > load the main
>
> > > > > > > menu
> > > > page
> > > > > > >
> > > > > > > if ( var_switchval == null ||
> > > > var_switchval.compareTo("val_main_menu")
> > > > > > > == 0 ) {
> > > > > > >
> > > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > >
> > > > > > > // Include the file with the menu code, this file will have
>
> > > > > > > HTML
> > > > code
> > > > > > > and a parameter called switchval.
> > > > > > > // So in this included file you will need to create a
>
> > > > > > > parameter (switchval), setting this val will cause
>
> > the other
>
> > > > > > > pages to be
> > > > included
> > > > > > > // into switch.jsp
> > > > > > >
> > > > > > > // Example: <a href="?switchval=val_casestudies">
> > > > > > > // When this link is executed then the case studies
>
> > page would
>
> > > > > > > be included and loaded. // You would want to add
>
> > code for each
>
> > > > > > > page you want to switch to
> > > > > > >
> > > > > > > @ include file="/WEB-
> > > > INF/templates/jsp/portlets/html/artifact_menu.jsp"
> > > > > > >
> > > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > }
> > > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > if ( var_switchval != null )
> > > > > > > if ( var_switchval.compareTo("val_casestudies") == 0 ) {
> > > > > > >
> > > > > > > %>
> > > > > > > <%@ include file="/WEB-
> > > > INF/templates/jsp/portlets/html/casestudies.jsp"
> > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > }
> > > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > if ( var_switchval != null )
> > > > > > > if ( var_switchval.compareTo("val_whitepapers") == 0 ) {
> > > > > > >
> > > > > > > %>
> > > > > > > <%@ include file="/WEB-
> > > > INF/templates/jsp/portlets/html/whitepapers.jsp"
> > > > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > }
> > > > > > > %>
> > > > > > >
> > > > > > >
> > > > > > > <%
> > > > > > > if ( var_switchval != null )
> > > > > > > if (
>
> > var_switchval.compareTo("val_trainingcourses") == 0 )
>
> > > > > > > {
> > > > > > >
> > > > > > > %>
> > > > > > > <%@ include file
> > > ="/WEB-INF/templates/jsp/portlets/html/training.jsp"
> > > > %>
> > > > > > >
> > > > > > > <%
> > > > > > > }
> > > > > > > %>
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
>
> > ----------------------------------------------------------------
> > > > > > ----
> > > -
> > > > > > To unsubscribe, e-mail:
>
> > > > > > jetspeed-user-unsubscribe@jakarta.apache.org
> > > > > > For additional commands, e-mail:
> > > jetspeed-user-help@jakarta.apache.org
> > > > >
> > > > >
> > > > >
> > > >
>
> > >-------------------------------------------------------------------
> > > > >--
> > > > >To unsubscribe, e-mail:
>
> > jetspeed-user-unsubscribe@jakarta.apache.org
> > > > >For additional commands, e-mail:
>
> > jetspeed-user-help@jakarta.apache.org
> > > >
> > > > - -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- -
>
> > > > www.jahia.org : A collaborative source CMS and Portal Server
> > > >
> > > >
> > > >
> > > >
>
> > --------------------------------------------------------------------
> > > > -
> > > > To unsubscribe, e-mail:
>
> > jetspeed-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail:
>
> > jetspeed-user-help@jakarta.apache.org
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > >
>
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail:
>
> > jetspeed-user-help@jakarta.apache.org
> >
>
>
> **********************************************
> Vivendi Universal - HTTP://www.vivendiUniversal.com:
>
> The information transmitted is intended only for the person or entity
> to which it is addressed and may contain confidential and/or privileged
> material of Vivendi Universal which is for the exclusive use of the
> individual designated above as the recipient. Any review, retransmission,
> dissemination or other use of, or taking of any action in reliance upon,
>
> this information by persons or entities other than the intended recipient
>
> is prohibited. If you received this in error, please contact immediately
>
> the sender by returning e-mail and delete the material from any computer.
>
> If you are not the specified recipient, you are hereby notified that all
>
> disclosure, reproduction, distribution or action taken on the basis of
> this
>
> message is prohibited.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org