Josh Lucas wrote:
> 
> I'm currently working on the Scripting News portlet and I'm making some
> progress.  For right now, I'm using Xalan to transform the XML to HTML
> and return it to JetSpeed via the new ClearElement.

Cool!  I didn't think anyone saw ClearElement :)
 
> Originally, I wanted to use Cocoon for this but I also wanted to get
> something up and running fairly quickly and I'm still learning the
> Cocoon framework.  I'm sure that porting to use Cocoon will happen soon.

It should run under the CocoonPortlet IMO.  

> As I watched the performance hit because of the XML/XSL transformation,
> some questions popped into my head.
> 
> *  How long does a url stay in the cache?

Infinitly unless you provide a condition.  Right now nothing is
expired.  However as soon as I get OCS support into JetSpeed then it
will be an issue.

See Cacheable.expire().  Overload this to return true when you want to
expire your content.  This way you can have it do things like check if a
file has changed.

For RSS I am going to have the Portlet wait a minimum of 1 hour before
checking if it should expire itself.  Then it will start checking it's
PersistentDocument cached URL every 10 minutes.  If it notices a change
it will load the cached Portlet and then add a task to the Turbine
scheduler to refresh the... remove it from cache and then populate a new
one.

> *  If most channels are updated consistently, how will/does JetSpeed
> handle this?

I really don't expect most channels to be updated consistently.  If you
never want one to be cached you can override isCacheable to return
false. 

> *  Is there plans for some sort of 'harvesting' mechanism which will
> bring down the content periodically, possibly pre-generate the HTML and
> have it ready for JetSpeed on disk?

Yes.  I am going to write a "daemon" to run under turbine to fetch RSS
and ScriptingNews docs from OCS (Open Content Syndication) streams. 
Thus the content will be updated on a regular basis.  We should provide
the same expiration mechanism BTW.  Perhaps we should just write an
object that can check for expiration and share the same object.
 
> For my job, I've written something which handles the last question.

What does it do?
 
Kevin
-- 

Kevin A Burton
http://relativity.yi.org
Message to SUN:  "Open Source Java!"


--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to