Wednesday, July 16, 2008

Most impressive Javascript I've ever seen

When I was a kid, I spent lot of time coding on my Amiga 500 visual effects called demos. I had much fun with demos and it was a great way to learn coding. I still spend a bit of my time to look at the actual productions or read technical articles on demo effects.

It's very boring to use a technology to do what it is designed for. Abusing the browsers DOM + Javascript is also something possible but very hard to achieve. Why ? because browsers are designed to display styled boxes and text and nothing else. For instance, drawing a line or a bitmap is very hard to achieve without dirty tricks that are very expensive to perform, think of implementing the Bresenham line algorithm to draw a line using the DOM as a rendering technology.

I found in the past a few abuse of DOM+JS that went in that direction such as "Super Mario" remakes, but I was not much impressed... until today!

The demo is called Neja and it's coded by Ribon and Bomb! Even my Macbookpro finds it impressive because it really excites the laptop's fan :-) . It worked well only in Firefox and in did not work fully in Safari. You can check it online here, enjoy!

Monday, July 14, 2008

Daiwa Securities America customer reference

It's pretty difficult to get large customers to talk about their usage of JBoss Portal. Luckily, Daiwa Securities America accepted, and I can't be thankful enough.

Here is the full reference.

I picked the best extracts here:
Daiwa Securities America Inc., one of Japan's largest securities brokerages with a focus on sales and trading of Japanese and U.S. Equities and fixed-income instruments, financial futures and investment banking, has migrated from proprietary solutions to JBoss Enterprise Application and Portal Platforms. As a result, Daiwa has cut application development time in half, dramatically improved application performance and saved over $300,000 in licensing and hardware costs.
With some previous experience with JBoss solutions, Daiwa first downloaded a free version of the JBoss.org Portal project. Recognizing the mission-critical nature of the DSAweb portal, Daiwa quickly purchased a subscription to the JBoss Enterprise Portal Platform to benefit from the stability and reliability of an enterprise-class platform including support, patches and updates.
With JBoss solutions, Daiwa employees are more productive with faster portal application loading time, developer productivity has increased with the ease of development on open source solutions and JBoss support from Red Hat has been fast and reliable.
If you also have success stories to share (publicly or not), please let me know (thomas.heute@jboss.com).

Tuesday, July 8, 2008

JBoss Portal 2.7 Alpha released

We have just released the alpha version of the upcoming of JBoss Portal 2.7 release that brings the Portlet 2.0 features to our mainstream product JBoss Portal.


The JBoss Portlet Container technology is included in this release and provides an out of the box support for the JSR 286 features such as:
  • Portlet eventing
  • Public pararemers
  • Resource serving
  • Portlet filters
Our admin  tool has been upgraded as well to support JSR 286.



Enjoy the release, you can get the files from the download page as usual!

Monday, July 7, 2008

JSF in a portlet has never been this easy!

We just released JBoss Portlet Bridge Beta3 along with some good supporting documentation and example projects. See the documentation for full details.

The majority of the code written for this release is internal to the portlet bridge project (refactoring, 301 spec updates and enhancements, bug fixes...). The next release (Beta 4 - early Sept) will be huge for the portlet bridge for the following reasons:
  • The EG is currently discussing a lot of significant clarifications and improvements. For example, working with the JSF 2.0 EG to allow certain needs and working on Portlet 2.0 areas of the spec.
  • There is currently a lot of discussion about navigation between portlet modes. Once this is nailed down in the spec, we will implement it.
  • The Portlet 1.0 version should be getting close to public review.
Other than the spec related reasons for release schedule, we must work in unison with the latest Seam and RichFaces relases, make sure that we squash any bugs concerning the 3 integration points, handle features/improvements/refactorings, and try to test and give feedback to the 301 EG. And, of course we can't forget about JBoss Portal 2.7+!

There are soo many cool things going on right now within the JBoss Portal project, I would like to tell you about all of them but then this post wouldn't be about JBPB anymore. Just stay tuned to this blog...

With that said, here are a few tips for JSF portlet developers that concern this release:
  • Namespacing
    In situations where you need to use the id of an element in your JSF/xhtml markup, you would normally see something like 'form1:myBtn' in the rendered markup. But now with the bridge namespacing you will see something similar to:

    jbpns_2fdefault_2fNews_2fStories_2fStoryTemplateWindow12snpbj:_viewRoot:form1:myBtn

    To overcome this, you can use the following expression in your Facelets page to prepend the namespace to your javascript code:

    document.getElementById('#{facesContext.externalContext.response.namespace}the_rest_of_JSF_ID

    since this uses the portletResponse, once you try to view this page on the servlet application side, you will get an exception. To avoid this, you need to check for the type of response in your backing bean and assign a new "safe" namespace variable for the UI.

  • Excluding Attributes from the Bridge Request Scope
    When your application uses request attributes on a per request basis and you do not want that particular attribute to be managed in the extended bridge request scope, you must use the following configuration in your faces-config.xml. Below you will see that any attribute namespaced as foo.bar or any attribute beginning with foo.baz(wildcard) will be excluded from the bridge request scope and only be used per that application's request.

    <application>
    <application-extension>
    <bridge:excluded-attributes>
    <bridge:excluded-attribute>foo.bar</bridge:excluded-attribute>
    <bridge:excluded-attribute>foo.baz.*</bridge:excluded-attribute>
    </bridge:excluded-attributes>
    </application-extension>
    </application>

    Or you can use the javax.portlet.faces.annotation.ExcludeFromManagedRequestScope annotation to accomplish the same thing.
For more information on this release or to find out more about the project, visit the project page.

Tuesday, June 17, 2008

JBoss Portal on Amazon EC2

With the announcement of availability of JBoss Enterprise Application Platform (EAP) on Amazon Elastic Compute Cloud (EC2), it was logical for us to verify that JBoss Enterprise Portal Platform can also be deployed on EC2. For those who are not familiar with EC2, EC2 basically provides you a resizable compute capacity and you only pay for the resources (CPU, Memory etc) you use.

Once you have a JBoss EAP image on EC2, deploying JBoss Portal is like a walk in the park. All you have to do is to copy jboss-portal.sar and database descriptor to deploy folder of your server configuration. We successfully ran the complete JBoss Portal testsuite as well as tests that we perform as part of release testing. Only extra configuration that we had to do was to bump up the heap size for ANT otherwise it gave OOM error while generating reports. :-)

Feel free to let us know your experience with JBoss Portal on EC2. Mine was certainly good.

Note: At present, only JBoss EAP image is hosted on EC2. JBoss EAP bundled with JBoss Portal will be available in future.

Friday, June 13, 2008

JBoss Portlet Container 2.0 GA Release

The JBoss Portal team is very proud to announce the release of the JBoss Portlet Container 2.0 product.

The release is a fully compliant implementation of the Portlet 2 (JSR286) specification, which was released yesterday.

JBoss Portlet Container 2.0 comes with a lightweight portal based on JSP tags and comes bundled with a few demonstration portlets. The goal of that lightweight portal is to provide developers with an easy way to showcase and test their portlet applications. It should work well with other JSP taglibs and templating frameworks.

It provides advanced functionalities:
  • Administration application which provides an overview of the deployed applications / portlets / filters and management of their life cycle. Failed portlets or filters can be restarted or stopped when needed.
  • Event debugger which should prove very userful to understand complex event interactions.
  • Event flood detection to prevent events from running wild.
  • Management of life cycle dependencies between portlet filters and portlet container: if a portlet filter fails and is stopped then all the portlet containers dependent on that filter will also be stopped (otherwise it would obviously result in an incorrect application).
  • Optimized event payload marshalling: when an event with an object payload is fired from application A to application B, the event will be unmarshalled/marshalled between the two applications classloaders (otherwise it would result in a class cast exception) unless the event class is shared at the server level, in which case the event can be safely transported across application borders.


The next major release of our mainstream portal product JBoss Portal 2.7 will bundle the JBoss Portlet Container.

You can download the release from our project download page.

Tuesday, June 10, 2008

JBoss Portal @ Rotterdam JBug

The Rotterdam JBug is happening June 20th, Thomas and myself will be there to talk about Portlet 2.0 and the upcoming JBoss Portal 2.7 release. We'll give also a quick overview of the future releases.

The Benelux JBoss User Group is organizing an event on Friday June 20th 2008. There will be plenty of presentations:
  • JBoss Portal - Julien Viet and Thomas Heute - JBoss
  • Hibernate Search - Emmanuel Bernard - JBoss
  • Woman in IT - (special guest presentation) Clara Ko and Linda van der Pal - jduchess.org
  • JBoss Drools - Kris Verlaenen - JBoss
Here is more information, it's free of course but you need to register.