Release Schedule?

2001-11-27 Thread Setera, Craig

Hello,

My company is considering using Jetspeed for a number of projects.  What I'm
seeing in the 1.3a2 nightly snapshots looks excellent and I believe that
Jetspeed will meet our needs.  I see that there is now a plan to release the
1.3a2 level of code.  I'm wondering if anyone has a feel when Jetspeed might
go to beta release and/or full release?  I understand that this is an open
source project and that a schedule may or may not exist.  I guess the
question is what is the "gut feel" of the development team?

The other thing I understand about open source is the need to give back to
the community.  I would like to think that we will be able to contribute to
the development of Jetspeed.  Admittedly, I am a long way from understanding
enough to make such contributions, but hopefully over time I will develop
enough knowledge to provide some sort of contributions.  I have begun
digging through the source code and playing with things.  Any pointers to
design documentation that might exist would be very helpful as I learn all I
can about Jetspeed.

Any thoughts that people might have would be greatly appreciated.
Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Adding portlet category support?

2001-12-06 Thread Setera, Craig

I'm still learning my way around the Jetspeed code, so pardon me if this is
a silly question.

I can foresee that with content feeds and various other portlets, our users
are going to quickly become overwhelmed by the amount of available content
that can be added to their portal.  What would be very nice would be a way
to associate a "category" with each portlet or content stream.  The
customizer could use that information to present a view to the user such
that they can distinguish different types of portlets.  For instance,
portlets from "moveover" could be distinguished from "internal" news feeds.

How difficult would something like this be to add?  I'm certain that I will
not be able to add this at this stage, but could consider adding the support
as I learn more about the code.  Is this perhaps something already being
worked on?

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation
[EMAIL PROTECTED]  (507) 536-3605


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Forward versus redirect

2001-12-07 Thread Setera, Craig

I'm using a cut of code from a couple of weeks ago.  I'm wondering if there
are some places where a redirect to the portal page would be better than
doing a forward.

For instance, if I:
- Customize my portal
- Save/apply
- Follow a link on my portal that changes the current browser page (rather
than targetting another window)
- Hit the back button

I get an error about the page being no longer cached from IE.  If I elect to
refresh the page and allow it to resubmit my parameters (from the save), I
will blow up with the attached "Horrible exception" (see below)

This is one of the reasons that many times we do a "sendRedirect" in our web
applications rather than a forward.  It avoids these problems.  It does
require more request/reply pairs, but I believe it is better in some cases.

Any thoughts?
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation

Horrible Exception: java.lang.reflect.InvocationTargetException:
java.lang.NullPointerException at
org.apache.jetspeed.modules.actions.controllers.MultiColumnControllerAction.
doSave(MultiColumnControllerAction.java:350) at
java.lang.reflect.Method.invoke(Native Method) at
org.apache.turbine.util.velocity.VelocityActionEvent.executeEvents(VelocityA
ctionEvent.java:166) at
org.apache.jetspeed.modules.actions.controllers.VelocityControllerAction.per
form(VelocityControllerAction.java:110) at
org.apache.turbine.modules.ActionLoader.exec(ActionLoader.java:122) at
org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:143)
at org.apache.turbine.modules.Page.build(Page.java:90) at
org.apache.turbine.modules.PageLoader.exec(PageLoader.java:123) at
org.apache.turbine.Turbine.doGet(Turbine.java:565) at
org.apache.turbine.Turbine.doPost(Turbine.java:655) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:201) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164
) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66) at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64) at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:163) at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:
1011) at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106
) at java.lang.Thread.run(Thread.java:484) 

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Adding portlet category support?

2001-12-07 Thread Setera, Craig

I took a look at the new portal API specification.  It looks excellent.  I
like the parallels being drawn between the portlet API and the servlets API.
When is the plan to decide on this proposal and begin implementation?  Soon
after 1.3a2?

Thanks,
Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Thursday, December 06, 2001 11:23 AM
To: 'Jetspeed Developers List'
Subject: RE: Adding portlet category support?


We should consider this in the next iteration.
The Portlet API doesn't cover this subject. Have you seen the proposal?
The javadocs are in the cvs under
\proposals\portletAPI\javadoc\api\index.html

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Admin portlets not working in release candidate?

2001-12-10 Thread Setera, Craig

I may be missing something, but it doesn't seem that the "Content" portlets
for the "admin" user allows me to do anything.  All of the links (Global,
Java Runtime, etc.) appear to be dead links back to the portal homepage.  Am
I missing something or are these not enabled for some reason?

THanks.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




How to rebuild NewRSSPortlet immediately?

2001-12-19 Thread Setera, Craig

OK.  I give!

We are building some local OCS/RSS content streams that are being presented
by the standard NewRSSPortlet class.  This all works very well.  At some
points, that content stream is going to be updated interactively by a user
and I need the RSS portlet to be updated "immediately".  So far, I've
managed to code "kicking" the content daemon (although it now appears that
that is automatic for file-based resources) and removing the portlet entry
from the portlet cache.  This still does not get me the results that I'm
looking for.  A refresh of the portal page still shows the same content from
before the content was added.

Can anyone tell me what I'm missing and how I can solve it?

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Please Help: Howto Expire RSS Portlets Programmatically?

2002-01-14 Thread Setera, Craig

Hello all,

I asked about this once before, but received no response.  Not sure if
people just don't know the answer or if my original request was missed.
Hopefully it was the latter and my asking again won't be too much of a
bother.

My company is busy building things around the excellent Jetspeed 1.3a2
release of the portal.  We have built a number of "local" OCS content feeds
that are managed on the local disk.  In addition, we have built a very
simple content management front-end to add content to the OCS/RSS stream.
We would like to be able to flush all of the affected RSS portlets
immediately following an update to one of the RSS files such that the next
load of the portlet will show the new/removed items.  Unfortunately, I can't
seem to get this to work.  I've coded up the following in hopes of clearing
the changed portlet, but it doesn't seem to work for some reason.

/**
 * Flush the cached version of the portlet that wraps
 * the specified RSS content stream.
 */
protected void flushRssPortlet(String rss) {
// Get access the the portlet factory service
ServiceBroker serviceBroker = TurbineServices.getInstance();
PortletFactoryService portletFactory = 
(PortletFactoryService)
serviceBroker.getService(PortletFactoryService.SERVICE_NAME);

// Look up the portlet in the factory
Portlet portlet = null;
try {
portlet = portletFactory.getPortlet(rss);
} catch (PortletException e) {
// munch
}

// If we found it, pull its cache key and remove
// it from the caches
if (portlet != null) {
// First, clear the disk cache
String diskCacheURL = portlet.getPortletConfig().getURL();
JetspeedDiskCache.getInstance().refresh(diskCacheURL);

// Then the portlet cache
if (portlet instanceof Cacheable) {
String cacheKey = ((Cacheable) portlet).getHandle();

// OK.  We have the cache key now.  Remove from the
// portlet cache
PortletCache.removeCacheable(cacheKey);
}
}
}

Part of this *may* be due to the fact that the FileWatcherExpire object does
not seem to be intialized when the portlet is initially created.
Unfortunately, even forcing the expire object to be created/initialized
didn't fix things.

Can anyone offer any insights or thoughts on how to solve this?  I have run
out of ideas and could really use some help.

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Please Help: Howto Expire RSS Portlets Programmatically?

2002-01-16 Thread Setera, Craig

Thanks for the tip.  That worked.  I extended the FileWatchExpire class and
provided a means to set it to expired explicitly.  

My concern here is that it seems the FileWatchExpire should have worked
correctly as well.  The file on the disk certainly changed.  I can't say
that I've gotten my head around enough of the code yet to truly understand
what is going wrong, but it does seem messed up.  Can somebody take a look
at this?

Thanks,
Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, January 15, 2002 1:39 AM
To: Jetspeed Developers List
Subject: Re: Please Help: Howto Expire RSS Portlets Programmatically?


Are you using the RSSPortlet or NewRSSPortlet?
I believe you should be using the new.

To control the expiration,  override the getExpire() method.


- Original Message -----
From: "Setera, Craig" <[EMAIL PROTECTED]>
To: "Jetspeed Developers List" <[EMAIL PROTECTED]>
Sent: Monday, January 14, 2002 2:29 PM
Subject: Please Help: Howto Expire RSS Portlets Programmatically?


> Hello all,
>
> I asked about this once before, but received no response.  Not sure if
> people just don't know the answer or if my original request was missed.
> Hopefully it was the latter and my asking again won't be too much of a
> bother.
>
> My company is busy building things around the excellent Jetspeed 1.3a2
> release of the portal.  We have built a number of "local" OCS content
feeds
> that are managed on the local disk.  In addition, we have built a very
> simple content management front-end to add content to the OCS/RSS stream.
> We would like to be able to flush all of the affected RSS portlets
> immediately following an update to one of the RSS files such that the next
> load of the portlet will show the new/removed items.  Unfortunately, I
can't
> seem to get this to work.  I've coded up the following in hopes of
clearing
> the changed portlet, but it doesn't seem to work for some reason.
>
> /**
>  * Flush the cached version of the portlet that wraps
>  * the specified RSS content stream.
>  */
> protected void flushRssPortlet(String rss) {
> // Get access the the portlet factory service
> ServiceBroker serviceBroker = TurbineServices.getInstance();
> PortletFactoryService portletFactory =
> (PortletFactoryService)
> serviceBroker.getService(PortletFactoryService.SERVICE_NAME);
>
> // Look up the portlet in the factory
> Portlet portlet = null;
> try {
> portlet = portletFactory.getPortlet(rss);
> } catch (PortletException e) {
> // munch
> }
>
> // If we found it, pull its cache key and remove
> // it from the caches
> if (portlet != null) {
> // First, clear the disk cache
> String diskCacheURL = portlet.getPortletConfig().getURL();
> JetspeedDiskCache.getInstance().refresh(diskCacheURL);
>
> // Then the portlet cache
> if (portlet instanceof Cacheable) {
> String cacheKey = ((Cacheable) portlet).getHandle();
>
> // OK.  We have the cache key now.  Remove from the
> // portlet cache
> PortletCache.removeCacheable(cacheKey);
> }
> }
> }
>
> Part of this *may* be due to the fact that the FileWatcherExpire object
does
> not seem to be intialized when the portlet is initially created.
> Unfortunately, even forcing the expire object to be created/initialized
> didn't fix things.
>
> Can anyone offer any insights or thoughts on how to solve this?  I have
run
> out of ideas and could really use some help.
>
> Thanks,
> Craig
>
> Craig Setera
> Sun Certified Java Programmer/Developer/Web Component Developer
> Senior Software Architect, Kingland Systems Corporation
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>
>



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

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




Open Content Stream XSL incorrect?

2002-02-01 Thread Setera, Craig

I'm wondering if there is something wrong with "ocs.xsl" as shipped in the
1.3a2 release?  Rather than getting nice titles and descriptions in the
portlet browser, we are seeing the complete request URL.  I've spent little
or no time with XSLT, so I'm not really sure what is going on.  All I know
for sure is that the variables defined using




are both coming back empty for some reason that I can't understand.  Because
those variables are empty, the checks make sure that no title or description
is added to the generated meta-info elements.  I'm assuming that the portlet
browser falls back to the URL in the case that the title is unavailable.
I've tried all kinds of combinations to get the child text from the dc:title
and dc:description nodes, but have had no luck.

Is anyone else seeing this problem?  Does anyone know the correct
incantation to fix it?

Thanks,
Craig


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Problem with ocs.xsl translating content streams

2002-02-14 Thread Setera, Craig

There is a problem with the ocs.xsl file in the 1.3a2 release of Jetspeed
that causes it to be unable to correctly translate the title and description
of each of the channels in the content stream.  It turns out that the
namespace definition for the "dc" namespace in the ocs.xsl does not match
the namespaces being sent by 10am and Moreover.  I'm not exactly sure, but
I'm assuming that Moreover is "correct".

The namespace declaration
xmlns:dc  = "http://purl.org/dc/elements/1.0/";
 
should be: 
xmlns:dc  = "http://purl.org/metadata/dublin_core#";

Thanks,
Craig


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Turbine - Jetspeed interaction problems

2002-03-26 Thread Setera, Craig

I'm in agreement with Glenn that redirect's are necessary here or at least
the behavior we get when we redirect.  I've found no other good solution
within the limits of HTTP to make the browser do the right thing.  I
originally asked for redirects in Jetspeed a few months back because of the
errors that would arise if the user pressed the back or reload buttons in
certain situations.  It is a bit more traffic, but I believe it is more
"correct" from the user's perspective.

If anyone has another way to do this without redirects and still preserve
the "user experience", I would love to hear it.  I could use something like
that in other web applications.

Craig

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, March 26, 2002 8:41 AM
To: 'Jetspeed Developers List'
Subject: RE: Turbine - Jetspeed interaction problems


Yes, it means all this extra traffic.  But is the cost worth the benefit?

The goal is to get the browser to have a good URL, one that could be
"reloaded" or "back"ed without fuss and bother.  If we are customizing, or
doing other things that use a different url, and want to switch back to the
portal, we could internaly redirect things so that we respond to an action=
sort of URL with the same response as the /portal one, but then the browser
will be confused if the user hits reload.

A cool solution that lets us send whatever HTML we want AND fix the
browser's URL so that a refresh or back button would get this HTML again,
would be to internally route the request where we want it (somehow), and
then as part of the HTTP headers, tell the browser that, in effect, here's
the *real* URL that goes with the response, forget what the request URL
was... I wonder if there's a way in HTTP to do this?

- Glenn
 

Glenn R. Golden, Systems Research Programmer
University of Michigan School of Information
[EMAIL PROTECTED]   734-615-1419
http://www-personal.si.umich.edu/~ggolden/


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Portlet Caching problem

2002-04-02 Thread Setera, Craig

My comments below...

>
> ...but initialization is not that costly these days... at least
> compared to the standard Stack implementation.

> I attach a simple comparison of creation and using a Stack based pool
> and an array based pool - very crude - but should be sufficient to
> highlight the point.

> It gives these results:

> Test1 started
> Time1 per 1000.0 new's 0.25 ms
> Time3 per 1000.0 pool lookup's 0.701 ms
> Time4 per 1000.0 array pool lookup's 0.08 ms

> [NT/Sun jdk1.3.1_02/400mhz/384MB ram]

I'm not sure I agree completely with this analysis.  I agree that it may not
be very costly to allocate and initialize those objects, but we've seen that
garbage collection costs can be very high indeed.  If Jetspeed is going to
be "industrial strength", we need to think of this in terms of weeks and
months worth of uptime.  1000's of little object allocations will cause the
garbage collector to have to run more often to keep up and increase the
overall cost of memory management.  Although I heartily agree that too much
caching can lead to problems, I don't think we can just assume it is "cheap"
to create new objects and then have GC take care of them.

> So - if you implement your own array based pool, it might be quicker
> than creation - but you need to be careful.

> Chris

I like the idea mentioned in one of the other notes about having a pool of
interchangeable objects to which the current context is attached before
execution and detached after.  That would be an excellent compromise.

Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: turbine and ojb

2002-04-02 Thread Setera, Craig

David,

Do you have any concerns with JDO and its lack of exceptions?  When I looked
at the spec last year I was concerned with the overall concept of
"transparent persistence".  Problem is that there is so much that can go
wrong with persistence backends.  I'm just interested in your perspectives
on this, as I have not yet actually done anything with JDO.

Thanks,
Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 02, 2002 12:37 PM
To: 'Jetspeed Developers List'
Subject: RE: turbine and ojb


> i saw some ojb stuff was checked in to the jetspeed repo.

OJB worked fairly well for persisting the Jetspeed registry.
I think it would've been a lot more difficult with Torque/Peers.
Id prefer to do all Jetspeed persistence with JDO.
I know OJB has plans in that area but they are too far off for my
immediate interests. 
We have a working JDO implementation which I'd like to move into a
Apache project. 
So far no luck but Im not giving up. 

> ojb like any other component (e.g. torque) i'm also writing a 
> generator for ojb based on the torque generator

Good. Glad to hear it. How does it work? Does it generate a
repository.xml?

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Jetspeed release schedule - ?

2002-04-10 Thread Setera, Craig

David,

How on track do you feel Jetspeed is to make "beta" by the end of April as
you originally suggested in this note?  Is it close?  

I've followed the large amount of changes that have gone on since 1.3a2.  We
would definitely benefit from these changes.  I have a couple of portlets
that I'm 99% sure will be broken by the changes, so I'm trying to figure out
when the "right" time will be to port them over. 

When do folks on the list foresee the changes slowing down to mostly bug
fixes?

Thanks,
Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Thursday, March 28, 2002 10:42 AM
To: 'Jetspeed Developers List'
Subject: RE: Jetspeed release schedule - ?


Well I disagree.
We are in the middle of adding some much needed features such as portlet
instance ids and proper state manager.
I will be making additional features to the registry and psml over the
next week.
We also have quite a few bugs in Bugzilla. All the bugs should be fixed
before the next release, esp. the problems with the customizer and
Tomcat 4.03/JDK 1.4. 

Other refactoring work over the next week:
- PortletConfig
- PersistenceManager 

Some missing features that should go in, off the top of my head:

- full support for non-default PSML pages
- customize those pages - needs to be a list of customizable
PSML pages 
- admin should be able to customize anon page

- A Portlet StateManager based on PEIDs (there's an upcoming proposal on
this...)
- Framework or guidelines for handling form post parameters with
portlets

Please feel free to add to this list...

I think we can do without a new security model for the next release. Its
just too much work and very hard to find agreement.

IMO  the next release should be beta, roughly in one month or so 

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Jetspeed release schedule - ?

2002-04-10 Thread Setera, Craig

David (and everyone else),

Please don't misunderstand... I am not trying to put pressure on any of the
development community.  I very much appreciate what has been done on
jetspeed already.  I personally wish that I had more time to better
understand jetspeed and contribute more to the development.  I just thought
I would try to get a feel for when people felt things would be settling down
a bit.  It sounds like things may settle enough by the end of the month for
me to make the jump to the new code (via CVS).

Thanks again,
Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, April 10, 2002 1:17 PM
To: 'Jetspeed Developers List'
Subject: RE: Jetspeed release schedule - ?


> How on track do you feel Jetspeed is to make "beta" by the 
> end of April as you originally suggested in this note?  Is it close?  

It will slip, it always does.
Problem is that the release schedule for Jetspeed isn't anyone's main
release schedule.
We are working on other 'daytime' project schedules which take
precedence.

Im pretty much done with new features myself, but there should be
another state manager proposal coming along soon. Im hoping to start
fixing bugs by the end of this week, so then its just a matter of
cleaning it up to the point where we can agree that the release is beta
ready. 

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Sql select statements in log

2002-04-18 Thread Setera, Craig

>> Use Log.getLogger().isDebugEnabled() for the default logger.  

> I propose that we use this convention for all logging.

Although I agree in principal, I think there is extra overhead in the cases
where you are logging a constant string.  If there is any calculation going
on on behalf of the logger, then I agree that you should check the
enablement first.  In fact, in some cases, it may be best to ask once in a
method and save the result in a local variable if it is a method that
contains many different logging statements.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Building default database contents?

2002-04-19 Thread Setera, Craig

I'm attempting to build default database contents for the Turbine users for
DB2.  I've gotten most of the DB2 SQL checked into CVS to work, except for
the setting up of the user's permanent storage BLOB.  Is there anything in
that BLOB that the user object can't live without?

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation
[EMAIL PROTECTED]  (507) 536-3605


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Village source code?

2002-04-23 Thread Setera, Craig

Hi.

I'm trying to host Jetspeed (CVS version from a week or so again) on top of
a DB2 UDB on NT database.  After a lot of fighting, I've managed to get the
tables created and the initial data installed.  I've also been able to log
in using this data.  So, I've made some progress.

Now, I'm trying to get "create new account" going and I'm getting errors
from the database.  It doesn't appear to like either the data being sent or
the way that it is being sent.  My theory is that it is the byte array in
the objectdata column that is causing problems, but the database isn't
talking.  I'd like to be able to debug all the way into the village code,
but I don't have the source.  www.working-dogs.com doesn't seem to be
accessible (at least for me).  Is this source available somewhere else?  Is
it available at all?  I don't know much at all about Village.  What is the
license on the code?

Thanks for any help you can give me.
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation
[EMAIL PROTECTED]  (507) 536-3605


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Village source code?

2002-04-23 Thread Setera, Craig

Mike,

I appreciate your response.  Unfortunately the version of village you sent
me is downlevel with respect to the current CVS level (1.5.2 instead of
1.5.3).  I tried it anyway and it blew up on me.

Can you tell me what you had to change to get it to work with DB2?  Do you
know how to get ahold of a copy of the 1.5.3 sources to make the change?

Thanks,
Craig

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 23, 2002 4:23 PM
To: [EMAIL PROTECTED]
Subject: RE: Village source code?


Craig,

We had the same problem (on DB2). There was a bug with the BLOB datatype
also. Here is the patched code. 

Mike Thompson

-Original Message-
From: Setera, Craig [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 23, 2002 11:21 AM
To: '[EMAIL PROTECTED]'
Subject: Village source code?


Hi.

I'm trying to host Jetspeed (CVS version from a week or so again) on top of
a DB2 UDB on NT database.  After a lot of fighting, I've managed to get the
tables created and the initial data installed.  I've also been able to log
in using this data.  So, I've made some progress.

Now, I'm trying to get "create new account" going and I'm getting errors
from the database.  It doesn't appear to like either the data being sent or
the way that it is being sent.  My theory is that it is the byte array in
the objectdata column that is causing problems, but the database isn't
talking.  I'd like to be able to debug all the way into the village code,
but I don't have the source.  www.working-dogs.com doesn't seem to be
accessible (at least for me).  Is this source available somewhere else?  Is
it available at all?  I don't know much at all about Village.  What is the
license on the code?

Thanks for any help you can give me.
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation
[EMAIL PROTECTED]  (507) 536-3605


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



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




RE: Village source code?

2002-04-24 Thread Setera, Craig

Mike,

Thanks much.  With your description of the patch and a pointer to the source
code, I was able to fix up a version of this to work.  I've joined the
Village mailing list and asked that the change be made permanent in their
CVS.

Thanks again,
Craig

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 23, 2002 5:42 PM
To: [EMAIL PROTECTED]
Subject: RE: Village source code?


Craig,

It has to Value.setPreparedStatementValue method and accepting a Blob. It
tried to insert using the prepared statement using a simple string instead
of inserting the Blob and then updating it using the InputStream.  I have
not looked at the Village 1.5.3 code to see if this has changed. I have
attached a junit test case if you care to reproduce and isolate this
behaviour.

I also seem to remember different behaviour of the Blob prepared insert
depending upon if the jdk1.2 or jdk1.1 version of db2java.zip was used.

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




News feeds demise

2002-04-24 Thread Setera, Craig

It seems that 10am went away a few months ago.  Now, we are unable to get
Moreover news feeds either.  Has Moreover closed public access to their news
feeds?  Does anyone else know of any other free news services that we can
tie into to provide content for Jetspeed RSS?

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: News feeds demise

2002-04-24 Thread Setera, Craig

Glenn,

I'm not sure about the CVS codebase in this regard.  The site I was having
trouble with is an older (1.3a2) site that had been working and stopped
working.  In the end, it turned out that our Ops team had somehow severed
that machine's connection to the outside world.  That obviously caused all
kinds of problems!  Once that machine was able to access the internet again,
the Moreover feed started working again.

Sorry for the false alarm... at least from my perspective.  My slightly
older CVS version still seems to work though if that tells you anything.

Craig

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, April 24, 2002 11:04 AM
To: 'Jetspeed Developers List'
Subject: RE: News feeds demise


I am also having trouble getting moreover feeds into jetspeed, and havn't
looked at this closely yet.  I can get the same feed rss file in my browser.

I suspect there's been a change in jetspeed that messed up its handling of
'&' in the URL, even if it's escaped in the .ocs file with "&:

http://p.moreover.com/cgi-local/page?c=Space%20science%20news&o=r
ss">

This works from my browser:

http://p.moreover.com/cgi-local/page?c=Space%20science%20news&o=rss

Not sure though.

What are you seeing?

- Glenn

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Database profile handling

2002-04-24 Thread Setera, Craig

Success!

After much hacking, I was finally able to get DB PSML working.  There were a
couple of things it seemed I needed to do in order to get it to work that
sort of seem like they should be the standard way of handling.  This is in
addition to the changes I had to make to Village BLOB support.

The table definition that I used for user profile (as an example) looks like
this:

CREATE TABLE JETSPEED_USER_PROFILE
(
PSML_ID INT GENERATED BY DEFAULT AS IDENTITY,
USER_NAME VARCHAR (32) NOT NULL,
MEDIA_TYPE VARCHAR (99) NOT NULL,
LANGUAGE VARCHAR (2) NOT NULL,
COUNTRY VARCHAR (2) NOT NULL,
PAGE VARCHAR (99) NOT NULL,
PROFILE BLOB (16777215),
PRIMARY KEY(PSML_ID),
UNIQUE (USER_NAME, MEDIA_TYPE, LANGUAGE, COUNTRY, PAGE)
);

This is based on the sources that I found in CVS for DB2.  In order for the
columns marked unique to be unique, they must be not null.  Unfortunately,
during PSML import, a number of PSML instances are attempted to be written
to the DB with NULL values.  The DB does not like that.  In order to combat
this problem, I hacked JetspeedUserProfilePeer.doInsertOrUpdate as follows
(added the null checks):

private void doInsertOrUpdate(Profile profile, int operation) 
 throws Exception 
{
JetspeedUserProfile userProfile = new JetspeedUserProfile();
DatabasePsmlManagerService service =
(DatabasePsmlManagerService)PsmlManager.getService();

userProfile.setUserName(profile.getUser().getUserName());
userProfile.setMediaType(profile.getMediaType());
userProfile.setLanguage((profile.getLanguage() == null) ? "" :
profile.getLanguage());
userProfile.setCountry((profile.getCountry() == null) ? "" :
profile.getCountry());
userProfile.setPage(profile.getName());
userProfile.setProfile(DBUtils.portletsToBytes(
profile.getDocument().getPortlets(),
service.getMapping()));

This works, but I'm concerned that that is not the correct approach.  Can
anyone tell me what the correct approach should be?  If we are going to
require columns to be non-null, it seems we should make sure that they are
not.  I encountered this problem in all of the Jetspeed profile peer
classes:

JetspeedAnonProfilePeer
JetspeedGroupProfilePeer
JetspeedRoleProfilePeer
JetspeedUserProfilePeer

In fact these methods all look almost identical.  I see that it was
autogenerated by Torque, so maybe that can't be controlled.  It certainly
seems like some refactoring to pull up some of the contents of these methods
would be nice.

My final question about all of this concerns the data type for the profile
data.  Does this really need to be a BLOB?  Since we already have a String,
wouldn't it be easier and faster to write it out as a VARCHAR instead of
converting to and from bytes?

Thanks for any insights,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation
[EMAIL PROTECTED]  (507) 536-3605


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Database URLManagerService

2002-04-25 Thread Setera, Craig

In a recent CVS checkout, I received 
torque-3.0-b2-dev.jar
turbine-2.2-b2-dev.jar

I don't see these versions, so I'm assuming these must be nightly snapshots.
Is that correct?  If so, any guess which nightly they would be?

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Security and Object Model

2002-04-25 Thread Setera, Craig


> -1 pending a vote and commitment to do this effort as a team from all
> voting developers.
> The PSML services are now working very well in both Database and File
> System implementation.
> I am strongly -1 on changing this just to support an optional feature.

If you decide to go ahead with this change, would it be possible to get a
CVS tag on the current stable codeset?  Things seem pretty good from what
I've seen and I would like to be able to move ahead building on top of the
current code without waiting for more features, if that is at all possible.

> They are two different entities and IMO require different semantics.
> I personally don't see the need to check security during content
> aggregation and prefer that this check is made during customization
> (placing portlet instances on the page).

If security is only checked during customization, what happens if the
administrator revokes a permission/role/group later?  If a change is made
that takes the user's right to a portlet away later, won't checking security
only at customization miss this?

Thanks,
Craig


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Turbine code versions

2002-04-25 Thread Setera, Craig

I apologize... I used reply to get the email address on the attached note,
but forgot to change the subject.  Can anyone offer any information on the
Turbine code versions?

-Original Message-
From: Setera, Craig [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 25, 2002 10:40 AM
To: 'Jetspeed Developers List'
Subject: RE: Database URLManagerService


In a recent CVS checkout, I received 
torque-3.0-b2-dev.jar
turbine-2.2-b2-dev.jar

I don't see these versions, so I'm assuming these must be nightly snapshots.
Is that correct?  If so, any guess which nightly they would be?

Thanks,
Craig

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

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




RE: DO NOT REPLY [Bug 8534] New: - Customization problems on Windows 2000 (Win2k, Win 2000)

2002-04-25 Thread Setera, Craig

I would guess this is probably a dup of bug 8129 that I wrote recently.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 25, 2002 4:28 PM
To: [EMAIL PROTECTED]
Subject: DO NOT REPLY [Bug 8534] New: - Customization problems on
Windows 2000 (Win2k, Win 2000)


DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8534

Customization problems on Windows 2000 (Win2k, Win 2000)

   Summary: Customization problems on Windows 2000 (Win2k, Win 2000)
   Product: Jetspeed
   Version: 1.3a3-dev / CVS
  Platform: PC
   URL: http://localhost:8080/jetspeed/portal/page/default.psml/
js_peid/01?action=controls.Customize
OS/Version: Windows NT/2K
Status: NEW
  Severity: Major
  Priority: Other
 Component: Customizer
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Running Jetspeed 1.3a3 (nightly build dated 25-Apr-2002) on Tomcat 4.01 on 
Windows 2000, changing layout cause page to be blank (i.e. no portals and no

customization UI).  BTW, Everything work fine when running under Linux.

Also note, replacing default.psml seems to temporary fix the problem (see
diffs 
below)

To Reproduce, on a fresh install:
   a. login as "turbine" and click on the edit/customize pencil icon on the 
upper left of the page
   b. select "Two Columns (50/50)" from the dropdown menu
   c. click "Save and Apply" button
   d. notice that the page is now contains NO portal nor customization UI
   e. login out and back does NOT help


NOTE: default.psml was changed as acould be 
diff -r jetspeed-orig/WEB-INF/psml/user/turbine/html/default.psml jetspeed-
bugged/WEB-INF/psml/user/turbine/html/default.psml
8,9c8
< 
< 
---
> 
81,90d79
< 

--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Moving the registry service directory

2002-04-26 Thread Setera, Craig

I'm trying to move the registry directory out of the webapp's WEB-INF
hierarchy using the property

services.Registry.directory=xxx

This does not currently appear to work to move outside the webapp's
directory structure.  Setting this to (for instance) "c:\jetspeed\registry"
will yield the following in the logs:

java.io.FileNotFoundException:
c:\sources\workspace\dev-portal\webApplication\c:\jetspeed\registry\feed_loc
al.xreg (The filename, directory name, or volume label syntax is incorrect)

Thinking I needed to move the "registry.xml" as well and not just the
fragments, I changed services.Registry.mapping and set it to be in the same
directory (c:\jetspeed\registry).  No joy.  The init(ServletConfig) method
of the CastorRegistryService uses:

mapFile = TurbineServlet.getRealPath( mapFile );

to resolve the file and directory names, limiting it to the webapp's
directory.

Is this intentional?  I'd really like to be able to move this information
out of the webapp's directory altogether.

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Moving the registry service directory

2002-04-29 Thread Setera, Craig

Santiago,

>In the servlet specification there is no warranty that you would have 
>access to any part of the filesystem of the server, except your webapp 
>and your temp.

>Furthermore, an application can be executed without unpacking the .war 
>file, which means no-write access.

Understood.  But as a deployer of an application, I should be able to have
complete control of the directory structure and files used (unlike in an
applet case).  I understand why Jetspeed needs to ship with the file system
layout that it does, but that should not limit me in the way that I choose
to deploy my portal.

>The way to go is to user jdni resources (jndi:xxx) and configure them 
>or, alternatively, to use external URIs of any other protocol.

>File is in general "A bad Thing", as file system abstractions are not 
>very scalable, distributable or portable.

>We should go slowly phasing out any "File" or "Directory" item from 
>Jetspeed, and using different kinds of URIs, in particular jndi 
>resources, as they are heavily enforced in tomcat 4.

Although I agree in principal, I still think that these types of decisions
should be left to the deployer of the application.  I don't think that the
core Jetspeed code can *assume* that it has access to arbitrary part of the
file system, but I also don't believe that it can *assume* that it won't.

Can you give me an example of how one would setup and use jndi in the
context of Jetspeed and Tomcat to map to the local file system?

>For your concrete problem, use an absolute path. According to the java 
>spec, all absolute paths starts with path.separator (however it is 
>really called), even those in Windows. So, use "/c:/../" or 
>"\c:\...\..."

Ahh... This actually makes sense now that I think about it.  I will use this
to try things out.

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Moving the registry service directory

2002-04-29 Thread Setera, Craig

>For your concrete problem, use an absolute path. According to the java 
>spec, all absolute paths starts with path.separator (however it is 
>really called), even those in Windows. So, use "/c:/../" or 
>"\c:\...\..."

Although this seems to make sense, it does not appear to work.  With the
following
settings:

services.Registry.directory=\c:\jetspeed\registry
services.Registry.mapping=\c:\jetspeed\registry\registry.xml

I'm seeing essentially the same errors in the log:

[14:07:34,869 DEBUG] Loading mapping file
c:\sources\workspace\dev-portal\webApplication\c:\jetspeed\registry\registry
.xml
[14:07:34,879 ERROR] 
org.apache.turbine.services.InitializationException: Mapping not found or
not a file or unreadable:
c:\sources\workspace\dev-portal\webApplication\c:\jetspeed\registry\registry
.xml
at
org.apache.jetspeed.services.registry.CastorRegistryService.init(CastorRegis
tryService.java:374)

Anybody have other thoughts on how to get around this?  It appears that
calling getRealPath() with basically any string (I've tried "/c:/..." and
"file:/c:/...") results in a "relative" filename to the servlet context
path.  If this is the case, do we need to consider doing something else to
allow deployments to place registry files outside the web application file
structure?

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Cleaning up Jetspeed

2002-05-01 Thread Setera, Craig

Even though I can't officially vote, here is my unofficial vote.  I agree
with all of this.  I would love to see the tree cleaned up so it is clear
what does and does not matter/work.  I have no problem with making the
internal implementations purely vm based as long as JSP templates are still
supported.  I suppose that means that there should still be a JSP example or
two.

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, May 01, 2002 11:34 AM
To: 'Jetspeed Developers List'
Subject: RE: Cleaning up Jetspeed 


Comments below...

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED]] 
> Sent: Wednesday, May 02, 2001 12:08 PM
> To: Jetspeed Developers List
> Subject: Cleaning up Jetspeed 
> 
> 
> In an effort to clean-up the state of the CVS repository 
> before the next 
> release, I'd propose
> to start a clean-up effort of the tree.
> The main target of the clean-up would be all the non-functional code 
> (like CocoonPortlet) and
> examples or obsolete/unused code (most of the legacy ECS controls or 
> controllers stuff).

+1 - The cleaner the better.

> 
> There are 3 options to deal with these:
> - keep them in CVS, mark them as deprecated and remove them in an 
> ulterior release
> - move all these components in a separate archive/attic directory and 
> let them die in this
>   repository
> - remove them completely from the CVS tree.

+1 for removal, if we are *sure* they are old.  Just their presence will be
enough to confuse the new developer / user to think that it's important.
So, before we forget, or those of us who do know move on, a cleanup would be
great!.

> 
> I'd personnally vote to completely remove all non-functional 
> code like 
> the CocoonPortlet
> from the CVS as well as all the legacy components that have a direct 
> "modern" functional replacement.
> I would also recommend moving all the unused components that have not 
> been directly
> superceded by new ones into a contrib directory (current named 
> jakarta-jetspeed/modules)
> 
> If committers can give me their opinions quickly, I can deal 
> with the clean-up this week.
> 
> Additionally, there are a couple of features for which I'm 
> not sure of their real status/use:
> 
> - JCM: is it worth keeping it as is or should write a simple 
>   Torque-based message board replacement ?
> - WAP: is somebody actively looking at WML support to make sure it 
>   doesn't break. If no, should drop WML support ?
> - JSP/VM: Is there any added value to support the two templating
>   engines is a symmetric fashion or should simply write all the 
>   components in one of these, knowing that we can still include 
>   elements from either type if required.
>   If we chose to maintain symmetrically both environments, who's going
>   to make sure they are at parity level featurewise ?
> 

I vote for dropping JSP support for use within Jetspeed, and using just vm
for this.  We still have JSP portlets, but not all the customizers, layouts,
navigations, screens, etc that make up Jetspeed proper.  We just don't need
two ways to make jetspeed internals work - velocity will run anywhere jsp
will.  We do need to keep supporting jsp for portlet development, though (I
guess - I don't use it here).

> Any opinions, comments ?
> 
> -- 
> Raphaƫl Luta - [EMAIL PROTECTED]
> Professional Services Manager
> Vivendi Universal Networks - Paris
> 
> 
> 
> --
> To unsubscribe, e-mail:   
>  [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: 
> 

--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Anonymous user customization

2002-05-01 Thread Setera, Craig

Hi,

I was under the impression that the CVS version of code had the ability to
customize the anonymous user without the "copy another user's PSML" trick.
Is that true?  If so, I can't seem to find it.  Can someone point me in the
right direction?

Thanks,
Craig

PS - Thanks for fixing the 3 column -> 2 column bug(s).

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Anonymous user customization

2002-05-01 Thread Setera, Craig

> I believe the recommended way is to create a new user, customize that
> user and then copy it over to the anonymous directory. Next week I will
> be working on a new feature for the admin user to customize any psml
> resource in the system, including anonymous. This should be fairly easy,
> only missing piece is secure access to PSML files, which Santiago tells
> us he will soon have support for.

OK.  I will keep an eye out on the CVS commits.  I guess I thought that that
work had already occurred, but it must have been the discussion that caught
my eye.

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Allowing JetspeedTemplateLocatorService to have a search path

2002-05-07 Thread Setera, Craig

I'm wondering if the group would be amenable to having the configuration for
JetspeedTemplateLocatorService allow a comma-separated path specification
for the templateRoot property in JR.p?  The TR.p file allows the file loader
service to specify such a path and I would believe it would be very easy to
add.  We are trying to keep our templates and especially our changes to the
base Jetspeed templates in a different, parallel directory structure for
easy maintenance of the base code.  This would allow us to move our Jetspeed
portlet templates into that parallel directory as well.  I could try to
create a patch to the service to allow for this, if it is something that
would be useful and not against some other design principle of that part of
the code.

Thanks,
Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Help! Caching (?) problem in Jetspeed

2002-05-10 Thread Setera, Craig

I'm with David on this one... I thought we were approaching beta territory.
This doesn't sound like a small change at all.  I understand there is a
problem you are trying to solve, but is there a less aggressive solution
that can be done so we can see a beta soon (end of the month)?  I've
generally been pretty happy with the current stability and this seems pretty
risky to me.

Craig

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 10, 2002 10:13 AM
To: 'Jetspeed Developers List'
Subject: RE: Help! Caching (?) problem in Jetspeed


> 
> I'm going to be busy re-writing the Portlet API 
> implementation

What?




--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Possible to not rewrite registry fragments?

2002-05-10 Thread Setera, Craig

I could try the configuration value.  Are there dynamic changes to the
registry fragments that *should* be written to disk?  If so, shutting off
refresh seems dangerous at best.

-Original Message-
From: David Sean Taylor [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 10, 2002 12:04 PM
To: 'Jetspeed Developers List'
Subject: RE: Possible to not rewrite registry fragments?


I think it would be possible. 
We could add a dirty flag to the registry fragment.

Another option is to turn it off, but that also needs to be tested.

services.Registry.refreshRate=0

> -Original Message-
> From: Setera, Craig [mailto:[EMAIL PROTECTED]] 
> Sent: Tuesday, May 07, 2002 1:32 PM
> To: '[EMAIL PROTECTED]'
> Subject: Possible to not rewrite registry fragments?
> 
> 
> I've noticed that the Castor registry support currently 
> rewrites the registry fragments that have been read from disk 
> everytime that Jetspeed is shut down.  This is somewhat 
> annoying, as these registry fragments always appear as 
> outgoing changes to our CVS server.  Would it be possible to 
> add support to the RegistryWatcher or the 
> CastorRegistryService to track whether a fragment has changed 
> since it was read from disk?  If so, then the registry 
> shutdown code would only need to write out the updated fragments.
> 
> I'm not sure if this is really possible, as I'm not sure how 
> many different classes make changes to the registry and the 
> fragments in the registry.
> 
> Thanks,
> Craig
> 
> Craig Setera
> Sun Certified Java Programmer/Developer/Web Component 
> Developer Senior Software Architect, Kingland Systems Corporation
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:jetspeed-dev-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 
> 



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

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




Is "cancel" broken on the customizer add portlet page?

2002-05-10 Thread Setera, Craig

I've been hacking on the add portlet customizer page and just noticed that
the Cancel button is not working.  Did I break it or are others seeing the
same behavior on the stock customizer?

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: Is "cancel" broken on the customizer add portlet page?

2002-05-10 Thread Setera, Craig

Glenn,

Thanks for checking.  Since I don't know exactly *what* it should do, or how
to make it *do* whatever it should do, I'll write up a bug report.

Craig

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 10, 2002 2:52 PM
To: 'Jetspeed Developers List'
Subject: RE: Is "cancel" broken on the customizer add portlet page?


Craig -

Just tried it - cancel does nothing... Well, not quite - it's encoded as a
"reset" field for the form.  Don't know why.  Probably should be reported as
a bug (if it's not already in there).

- Glenn

> -Original Message-
> From: Setera, Craig [mailto:[EMAIL PROTECTED]] 
> Sent: Friday, May 10, 2002 3:27 PM
> To: [EMAIL PROTECTED]
> Subject: Is "cancel" broken on the customizer add portlet page?
> 
> 
> I've been hacking on the add portlet customizer page and just 
> noticed that the Cancel button is not working.  Did I break 
> it or are others seeing the same behavior on the stock customizer?
> 
> Thanks,
> Craig
> 
> Craig Setera
> Sun Certified Java Programmer/Developer/Web Component 
> Developer Senior Software Architect, Kingland Systems Corporation
> 
> 
> --
> To unsubscribe, e-mail:   
> <mailto:jetspeed-dev-> [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: <mailto:[EMAIL PROTECTED]>
> 

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

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




RE: A brief report on Jetspeed Portlet Caching

2002-05-13 Thread Setera, Craig

Can anyone explain why the cache key creation is a static member?  Looking
at the code, I can see that it was originally an instance method and was
later changed.  This doesn't make a lot of sense to me to be honest.  This
would be like defining static equals() and hashcode() methods.  There are at
least a couple of things that seems wrong with the current approach:

1) As Glenn has stated, the static method does not have access to all of the
state information of the cacheable and cannot necessarily generate the best
cache key to match.

2) Static methods cannot be required to be implemented.  An abstract
instance method would force an implementation (with a possible generic
implementation in the superclass).  

In my mind, it seems that we should be switching back to an instance method
for cache key generation, with the possibility that some instances delegate
to an appropriate static method.  

Am I missing something here?
Craig

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 13, 2002 8:03 AM
To: 'Jetspeed Developers List'
Subject: RE: A brief report on Jetspeed Portlet Caching


David -

I'm unsure what Java does when calling a static member of a class if the
class hierarchy defines two or more implementations of that member, each at
different levels - does it take the most specific?

If you duplicate your page to another page, and leave the portlet id's the
same in each page, and have them both updating at the same time, it may fail
to distinguish them.

If a page is duplicated within jetspeed, for example, when a new user is
created and the "turbine" page is copied, are the id's re-generated?  I
think that portlet Id is not defined to be system wide unique, just unique
within the page.

We may want to add the portal page id as well as the portlet id to make the
full instance id in the cache.

I considered doing something like this, but balked at the idea of further
extending PortletConfig.  In this case, though, adding the id doesn't make
it any worse than it already is!

- Glenn

> -Original Message-
> From: David Sean Taylor [mailto:[EMAIL PROTECTED]] 
> Sent: Monday, May 13, 2002 12:32 AM
> To: 'Jetspeed Developers List'
> Subject: RE: A brief report on Jetspeed Portlet Caching
> 
> 
> Glenn,
> 
> I ran a little test, seems like I've got a patch, but haven't 
> tested it much. Added the id from the psml-entry into the 
> PortletConfig, and then use it in getHandle. Here is summary 
> of the most important changes:
> 
> JetspeedPortletFactoryService:
> 
> public static Portlet getPortlet( String name, String id 
> ) throws PortletException
>  ^ 
> protected PortletConfig getPortletConfig( PortletEntry 
> entry, String
> id)
> {
>   
> pc.setId(id);
> 
> return pc;
> }
> ^
> 
> PortletConfig, BasePortletConfig, added:
> 
> public void setId(String id);
> public String getId();
> 
> 
> 
> 
> Here is the test portlet:
> I put two of these on the same page and the portlet config 
> returned different ids (so did the 'portlet id')
> 
> public class BogusPortlet extends AbstractPortlet 
> {
> 
> public org.apache.ecs.ConcreteElement 
> getContent(org.apache.turbine.util.RunData data) 
> {
> String s1 = "Config ID: " + getPortletConfig().getId();
> String s2 = ", Portlet ID: " + getID();
> return new org.apache.ecs.ClearElement( s1 + s2 );
> }
> 
> public static Object getHandle(Object config)
> {
> //this implementation expects a PortletConfig object as its
> // configuration 
> PortletConfig pc = null;
> 
> if (!(config instanceof PortletConfig))
> {
> return null;
> 
> }
> 
> // By default, only take into account the init parameters 
> pc = (PortletConfig)config;
> 
> return pc.getId();
> 
> }
> 
> If you're interestd I can send you the rest of the code (or 
> just check it in),
> 
> David
> 
> 
> 
> --
> To unsubscribe, e-mail:   
>  [EMAIL PROTECTED]>
> For 
> additional commands, 
> e-mail: 
> 

--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: cvs commit: jakarta-jetspeed TODO-RELEASE-1.4.txt

2002-05-14 Thread Setera, Craig

David,

Is the entry " DT - Profile Browser" the new feature that will allow for
the anonymous user to be customized?  I know you mentioned that you would be
looking at that.

Thanks,
Craig

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 14, 2002 12:41 PM
To: [EMAIL PROTECTED]
Subject: cvs commit: jakarta-jetspeed TODO-RELEASE-1.4.txt


taylor  02/05/14 10:40:56

  Added:   .TODO-RELEASE-1.4.txt
  Log:
  - ok, I know its not finally decided that the next release will be 1.4,
but I had to call it something...
  
  Revision  ChangesPath
  1.1  jakarta-jetspeed/TODO-RELEASE-1.4.txt
  
  Index: TODO-RELEASE-1.4.txt
  ===
  Task List for Jetspeed 1.4 Beta Release 
  ---
  
 - Bug List - Fix all major and critical bugs
  
  PS - Complete the conversion from link/jlink/clink to jslink
  
  GG - Complete State Manager, convert all code to use it
  RL - Cleanup CVS
  
  DT - Turbine 3 conversion
  GG, DT - Portlet Instance (seems to be pretty close to being solved)
   
 - Performance Testing
 - Performance Tuning Iteration to codebase
  
  DT - Profile Browser
  DT, PS - JAAS Security proposal and implementation (depending on Turbine
  3)
  
 - Documentation 
 - Tutorial, better Examples
  DT - New WebPage Portlet
   
  Optional
  
 - new Portlets (mail?, anyone have a killer portlet?)   
 - Registry in Database (started but not completed)
 - JCS caching of PSML and Registry OM objects (that may be a little
ahead of its time)
  
  
  
  
  
  

--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Would there be interest in...

2002-05-14 Thread Setera, Craig

I have created a different add portlet customizer for Jetspeed that uses
Javascript and the HTML DOM support in the newer browsers to allow the user
to select multiple portlets in a "tree table" interface.  This customizer
allows takes advantage of the category support to present a nicely organized
set of portlets and does not require the user to "page" through the portlets
10 at a time.  Last I tested,  it works in IE 5.5 (at least) and the newer
versions of Mozilla/Netscape.  There would probably be some work to get it
internationalized, etc.

I am currently trying to get approval from the company's intellectual
property counsel to donate it without violating company IP policy.  Assuming
that I was able to get such permission, would there be any interest from the
group in integrating this support?

Thanks,
Craig

Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation



--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: getTemp() usage

2002-05-14 Thread Setera, Craig

My current time being spent on Jetspeed may be going away soon (gotta love
when projects get put on the back-burner).  If I can find time, I would like
to hook Jetspeed up to JProbe and see what it is up to.  The 80/20 rule
seems to apply quite well to performance tweaking on this stuff.  Don't know
if anyone else has one of these profiling/performance tools, but they
definitely give an interesting look at what is taking time.  The biggest
problem is that they don't necessarily tell you anything if you don't have
an idea of what the code is *supposed to* be doing.  I definitely don't have
a good feel for the inner workings of Jetspeed, so I may not be able to
glean much from JProbe.

I'll post any information I collect... If I don't get redirected too early.

Craig

-Original Message-
From: Glenn Golden [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, May 14, 2002 3:01 PM
To: Jetspeed-Dev ([EMAIL PROTECTED])
Subject: getTemp() usage


I put a breakpoint in TurbineUser.getTemp() and have been watching all the
getTemp calls for a single request - wow!  There are many.

One thing I noticed is that we seem to be building the profile many many
times.  Even though it's stored in the rundata!  I think that the jslink
needs it (in BaseJetspeedLink), so asks for it
(Profiler.getProfile(rundata)), and the Profiler class just passes the
request to the ProfilerService, and it just goes and creates it...

Unless I'm missing something here, it seems that we could put a check in the
Profiler class that pulls the profile out of the rundata, if it's there,
instead of calling the service...

- Glenn
 

Glenn R. Golden, Systems Research Programmer
University of Michigan School of Information
[EMAIL PROTECTED]   734-615-1419



--
To unsubscribe, e-mail:

For additional commands, e-mail:


--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




RE: getTemp() usage

2002-05-14 Thread Setera, Craig

> You could always do Jetspeed in your part-time at your own pace...

Currently, my "own pace" is basically no coding outside of work.  We are
just beginning traveling soccer season.  As a coach, I'm having trouble
keeping my head above water between practices, league games and tournament
weekends... Oh, and trying to get enough done at work.  Such is summer in
Minnesota... Short and way too busy.  We try to pack 12 months of outdoor
activities into 3 months! 

Craig

--
To unsubscribe, e-mail:   
For additional commands, e-mail: 




Kingland Javascript-based customizer

2002-05-24 Thread Setera, Craig

Good news!

I've been given the go ahead to contribute our Javascript-based "tree table"
portlet customizer back to the Jetspeed project.  You will find a zip file
attached which should contain everything necessary to merge into the current
codebase.  I did not do it as a patch because my local copy of CVS is behind
and I'm out of time to work on this project.  But, I wanted to get this out
to the group before I completely wrapped up my portal work.  I apologize for
the effort involved in merging my changes, but they shouldn't be too bad.
(I also apologize for using tabs instead of spaces)

I've zipped up the necessary pieces.  There is a subclass of the
CustomizeSetAction to set up the information for the customizer.  If the
group decides that they want to use this code, I would assume that the code
I had in a subclass could be merged into the standard action class.  There
is also a replacement for the customizer-portletset-add.vm file that runs
the necessary Javascript to drive the user interface.  The Javascript needs
to be included and we've altered top.vm to do that.  Finally, there are a
couple of images that are used by the browser.

I hope (and so does Kingland Systems) that you find this addition to
Jetspeed a useful one.  Thanks again to everyone for all of their hard work
on this technology.

Thanks,
Craig
 <> 
Craig Setera
Sun Certified Java Programmer/Developer/Web Component Developer
Senior Software Architect, Kingland Systems Corporation





kingland-customizer.zip
Description: Binary data

--
To unsubscribe, e-mail:   
For additional commands, e-mail: