JBoss Portal

JBoss Portal developer's blog

 
Just on the heels of the GateIn Beta2 release comes a double whammy from the JBoss Portlet Bridge project. We are releasing 2 new versions of both the 1.0 and 2.0 bridge. Now, just to clear up any confusion, the 2.0 bridge does not cover the JSF 2.0 spec. We are still in JSF 1.2 land in the portal environment. However, running 2.0 in a portlet is not far away and it should be coming to fruition just as JSF 2.0 technology starts to gain more ground in enterprise development.

First off, I want to thank the community for providing many patches and suggestions to improve the bridge.

I am also extremely happy to announce that the JBoss Portlet Bridge 2.0.0.BETA is now fully integrated with GateIn. All archetypes and examples run by default on GateIn. If you are still running on JBoss Portal, you must build the example apps or archetype based apps with the '-Pjbossportal' profile (i.e. mvn install -Pjbossportal).

New features with the new 2.0.0.BETA release are:
  • Improved ajax processing (faster load times)
  • PRP - Public render parameter processing in the bridge
  • Seam exception handling in pages.xml
  • better error handling for JSF and Richfaces portlets (this includes ViewExpiredException)
  • Also fixed some bugs in archetypes to work fully with JBoss Tools (as seen in the video)

  • PortalIdentity is now built in Seam component
    <security:portal-identity method="#{authenticator.authenticate}"></security:portal-identity>

  • Script Renderer can be enabled by intit parameter in web.xml:
    <context-param>
    <param-name>org.jboss.portletbridge.WRAP_SCRIPTS</param-name>
    <param-value>true</param-value>
    </context-param>

This video shows how to deploy a Seam portlet using JBoss Tools to the all new GateIn portal. I also show need-to-know tips for migrating from the 1.0 bridge to 2.0.


JBoss Portlet Bridge Episode 4: Running 2.0 on GateIn from Wesley Hales on Vimeo.

 
Hi everyone,

Just a note to let everyone know that JBoss EPP 4.3 CP02 is available now on the JBoss Customer Support Portal site. The new CP02 has a number of fixes to the UI components as well as some security enhancements.

Release notes are also available here:
https://jira.jboss.org/jira/secure/ReleaseNote.jspa?version=12313531&styleName=Html&projectId=12310745&Create=Create

P.S More news on what the JBoss Portal team up to these days including coming at JBoss World. Stay tuned. 
While most of time we focus on improving enterprise aspects of JBoss Portal (read JBoss Enterprise Portal), sometimes we work on cool and fun stuff too. On that line, I have created Twitter portlet which has following features:
  • Update your status
  • Get messages that are sent directly to you (e.g. @prabhatjha in my case)
  • Get list of folks who you are following and get their latest status. List is sortable.
Here are couple of screen shots:


You can grab the code from http://anonsvn.jboss.org/repos/qa/prabhat/twitter-portlet . It's built using twitter4j, Richfaces, JBoss Portlet Bridge. But remember, it's just for fun and it is not one of the supported portlet. 
I am extremely happy to announce the first Alpha implementation of the JSR-329 early public draft(2) specification. This is cutting edge code and will definitely change to match future revisions of the spec. If you are willing to live on the edge and help us chase down bugs and report them (hopefully with a patch), then please read on ;) Although in a alpha release, this latest version is fully compatible with the portlet 2.0 environment and allows you to also run the latest versions of Seam and Richfaces in a portlet. For starters, I put together a screen cast which shows how to produce a portlet event in a JSF(Seam) backing bean and how to consume it in another Seam portlet.

JBoss Portlet Bridge - Lesson 3: Seam and Portlet 2.0 Eventing from Wesley Hales For a full description of what’s new in this version, mandatory configuration parameters, and instructions on using portlet 2.0 coordination features, see the Reference Guide.  







Live from Gartner Summit for portals and as published today, JBoss Portal project and eXo Portal project will merge into a unique one.

We have discussed this with existing users, existing partners, analysts and they all welcomed this news. Twitter went crazy too ;)

Each company will be able to focus on their expertise domain, eXo brings on a table years of UI development and JBoss brings it's middleware expertise to build a common platform and all under the LGPL license.
Mark Little, Sr. Director of Engineering, Middleware at Red Hat The eXo portal has some impressive functionality in terms of ease of use, UI flexibility and straightforward management administration; JBoss.org's current portal project has a robust engine, performance and security features, combined this collaboration project will help drive portal capabilities forward

Benjamin Mestrallet, CEO eXo Platform Open source software has delivered substantial returns on investment for organizations and we have the opportunity to deliver that same value within the portals space

The news went out today and has already been covered in several places:
I hope you will be as thrilled as we are.
Also it's a great time to start contributing the project or think about joining us, remember we are still hiring.

Personal note
I am really happy to be working again with Julien. 

Here we are, waiting for the gates to open.
Stay tuned for the coming and exciting announcement ;) I will also twitter on #jbossportal. 
JBoss Portal supports integration with various well known SSO frameworks such as CAS, JOSSO and OpenSSO. Basic integration with CAS and JOSSO frameworks is described in Portal reference guide but if you are interested in more advanced configurations, you can look at our new SSO Frameworks Integration Guide.

This guide covers step by step instructions of JBoss Portal and SSO frameworks integration in various setups that are commonly found in software enterprises. Maybe you can find an answer for some of questions that have been plaguing you.

The guide covers these integration scenarios:

  • Integration of JBoss Portal and SSO server on same host (HTTP protocol is used).
  • Integration of JBoss Portal and SSO server on same host. Secure communication is used between JBoss Portal agent and SSO framework (HTTPS protocol is used).
  • Integration of SSO server and more JBoss Portal instances deployed on multiple hosts
  • Integration of JBoss Portal, SSO server and sample thirdparty web application.
  • Integration of JBoss Portal and SSO server deployed on different hosts. SSO server is configured for authentication against portal database.


Since we are focussed on delivering a high quality portal server, we always try to integrate various scenarios in our automated test suite. We currently have automated most of the scenarios mentioned above using Selenium and Hudson and you can see the test results at http://hudson.jboss.org/hudson/view/JBoss%20Portal/job/jboss-portal-2.7-sso-selenium-tests/lastBuild/testReport/(root)/. Please let us know if your setup does not belong to one of these and we will try to include that as well. 
This will (hopefully) be the last release before we go GA and move on to the 286 portlet 2.0 bridge.

For now, the most notable enhancements (apart from bug fixes) are the addition of the PortletScope annototation for Seam components and the revised PortalIdentity bridgelet.

We also modified the Seam booking demo to no longer use its provided User database table. The app now uses JBoss Portal Identity through PortalIdentity.

You can check out the new features in this video:

JBoss Portlet Bridge - Lesson 2: Portlet 1.0 Advanced Seam and RichFaces from Wesley Hales on Vimeo.

To show off some new features in the CR2 release, I threw together a simple chat-client and chat-room set of portlets using Richfaces poll and Seam stateful session beans.

This screencast shows how to use the new PortletScope annotation along with the revised SSO/PortalIdentity component.

Source code for this tutorial:
http://anonsvn.jboss.org/repos/portletbridge/tags/1.0.0.CR2/examples/seam/bridgechat/

See the reference guide for more info: http://www.jboss.org/files/portletbridge/docs/1.0.0.CR2/en/html_single/index.html

 

We have released CR1 for the JBoss Portlet Bridge. Thanks to all who submitted fixes and enhancements. I also created the first of (hopefully) many screen casts that will guide you on how to use and develop with the JBoss Portlet Bridge.

In this release:

  • The RichFaces file upload rich:fileUpload component is working. The component currently only works with the param createTempFiles set to false in your web.xml. Also, you must check for the response type is of type RenderResponse. See the paint() method for an example.

  • The PortalIdentity bridgelet which provides SSO between your Seam portlet and JBoss Portal is now working with the current Seam 2.1.x Identity model. See here for details.

  • The PortalResourceBuilder bridgelet received a noteworthy upgrade and now works (should work) in all browsers. This component is for portal pages that contain 2 or more RichFaces components in seperate portlet windows. It namespaces the auto generated RF javascript and loads it only once for each component.

  • Better docs, scalability upgrades, markup validation fix, and many other bug fixes went into this release. See the release notes for more info.

Screen Cast
Lesson 1: Getting Started With the JBoss Portlet Bridge. Explains how to use the bridge's provided Maven archetypes to do rapid development. Also shows how to get started with a clean install and only requires that Maven 2.0.9+ be installed on your machine.

JBoss Portlet Bridge - Lesson 1: Getting Started from Wesley Hales  
Well, to be more truthful a prototype is working on AS5 :) This is more than just a simple update to get Portal running on top of AS5, we are working to take advantage of the JBoss Microcontainer.

The biggest change so far is with deployment. Portlets are now being deployed with a special portal deployer which facilitates the deployment with Portal runtime (formally the jboss-portal.sar). The runtime's structure has even changed from a nested deployment inside the sar to individual deployments.

For everybody out there who can't wait to give this a try, see http://www.jboss.org/community/docs/DOC-13435. There might be a few issues remaining, so please bring them up in the user forum or open a bug.

Stay tuned, more updates to come as we move closer to a release. 
We are looking for a Senior Java EE developer, the job announcement can be found here:
http://tinyurl.com/cs38ns

(The position is open worldwide, it doesn't have to be Raleigh, US.)

If you are an excellent Java EE developer and if you like portals challenges, please consider this position. And if you think about some friends who could enjoy this job, please forward them the announcement.

Thanks ! 

I will be presenting JBoss Portal on April 2nd in Nancy, France. My talk will be followed by a JBoss Seam presentation given by Malik Saheb. The presentations will be given in French.

So if you are around, please register, it's free and JBoss pays for the drink afterwards.

Here is the link to the official announcement by the Lorraine JUG (In French): http://lorrainejug.blogspot.com/2009/03/le-lorraine-jug-java-user-group-de.html 
If you are student and looking for a Google Summer of Code project, Red Hat has been accepted as mentoring organization.
I've proposed one project so far, it is the same that has been proposed last year by Julien.

The project is a "web clipping framework" to create a portlet that would enable any web application to be run inside a portal. Simple web clipping portlets are easy to create but smart, customizable and fast ones are challenging. Unfortunately as of today opensource solutions haven't really beat the pricey proprietary solutions out there.

Let me know if this is of interest to you.

If you think of any other project you would like to propose and work on, I would love to hear from you ! 
It's hot, it's out ! (And hard to pronounce for me)

What's new ?
Some Brazilian Portuguese translation, some performance improvement, some bug fixes (among them, some issues with Ajax stuff and various web browsers)... The changelog is here.

Grab it here while it's hot.

What's next ?
We are about to release JBoss Portal 2.6.8 and we are working on JBoss Portal 2.8, you may have seen our ongoing work related to new identity and security components.

What we didn't talk much yet about is the JBoss AS 5 support (And we mean real support with AS5 deployers), Matt will have good news for you soon. He has been working on a prototype which will be used in JBoss Portal 2.8 ! I know this has been waited for !

Congrats on the team and contributors for all the work !

The train is moving fast, if you want to contribute don't miss it, jump on board ! And if you are looking to join a great team in a great company for a full-time job this is a good time to send me your resume ! (theute@redhat.com) 
The original authors of JBoss Forums and JBoss Wiki (respectively led by Ryszard Kozmik and Tomek Szymanski) having retired from those projects (Ryszard being Content Management lead at JBoss.org and Tomek leaving Red Hat). The two projects have stalled for some time now.

Luckily we got not one not one and a half but two motivated contributors from Italy to come help maintain and enhance those projects.

Not everything is sorted out yet (the projects page are not updated and the Jira neither) but at least we have code and binaries to play with in JBoss Portal 2.6 or JBoss Portal 2.7.

Piergiorgio Lucidi (Maven addict) moved JBoss Wiki to a Maven 2 build system and added support for JBoss Portal 2.7. Sources are available here and compiled binaries on PortletSwap.

Luca Stancapiano (you may remember his contributions such as the admin portlet internationalization and Italian localization) worked on JBoss Portal 2.7 support for the Wiki portlet. Sources are available here and binaries also on PortletSwap.

So many thanks to Piergiorgio and Luca and I'm sure they would welcome more help on those projects :) 
I will be giving a presentation on new portlet specification (JSR-286) at Austin JUG on Feb 24. I will use the latest and the greatest JBoss Portal to show a demo of new features of the spec as well as Portal in general.

For location and other details, please visit Austin JUG. I hope to see you there if you are in the neighborhood.

Cheers,
Prabhat 
This is the first Public Preview of our next generation Authorization system. This system is ready for community review and we would very much like design related feedback at this stage. This is a work in progress, and feedback can be easily incorporated during subsequent releases.

To provide a little background, Authorization Security is a complex and open ended aspect. Its functionality varies based on the requirements of the environment/organization within which a Portal is deployed. It is very common that the same exact Portlet application can have completely different business level security requirements. However, with the declarative part of Portlet security not being very robust, developers unintentionally end up with "Security Logic" embedded inside their application components.

This Authorization system is designed to provide Authorization as a cross cutting concern of your Enterprise application, effectively extracting all "Security Logic" out of the business components, and into a central repository. Having extracted the "Security Logic out", your Portlets become lot more Portable from a Security Rules standpoint.

This was one of the motivating factors for the system, but not the only one. Here are some of the advantages this system is designed to provide Portal Developers
  • Clean Separation between Security Logic and Application Logic
  • Flexibility to apply Security Logic to arbitrary Runtime information, and not just Role based access control
  • Runtime Management of Security Policy
  • A user friendly Developer API
Here are some of the technical features of the Authorization Server:
  • A standards compliant XACML server. More Spec Info.
  • Runtime modification of Security rules without requiring any system restarts
  • Ability to create complex security rules taking into account useful contextual data like Identity, Roles, Arbitrary Request Parameters, Date/Time based rules, IP Address based Rules etc
  • A Developer friendly component oriented API to develop custom Security GUI to manage Policies. Developers do not need any familiarity with the low-level complex XACML XML hell.
  • A common Security Manager for all your Portlet applications, without having to write/maintain a separate Security subsystem for each Portlet application being aggregated
Current Status: System is still evolving especially the Developer API/Components, and the Portal Profile. Feedback here would be valuable since it gives us fresh ideas on may be some usage scenarios we may not have considered. The core architectural components are ready to play around with to get a feel for how the system can be used. I recommend starting with the test cases and the reference guide to get an idea for how the components fit together.

Useful Links:
Thanks
Sohil 
There is a work in progress on the next gen identity API for JBoss Portal. At the current stage it is finally ready for public review. With wiki documentation and sample maven project it should be extremely easy to try it out and play a bit with the proposed API. If you are interested check this post in the Design of JBoss Portal forum to learn more.

New design introduces few powerfull concepts
  • API/SPI separation that should enable easier adoption of different identity managers or identity stores in the future.
  • Notion of Identities and Groups (organizations) with flexible relationships between them
  • Concept of a Role that is a typed connection between Identity and Group object. This enables to map sentence like "John is the Manager of XX Team" to " John ( Identity ) is the Manager ( RoleType ) of XX Team ( Group )"
  • Abstract attributes and credentials
Please read the Design and Architecture wiki to learn more about all the concepts.

We are awaiting your feedback! 

Only a month after beta 5, we are releasing beta 6 with some nice enhancements and bug fixes. I'm pretty sure this will be the last beta release for the 1.0 version. As most of you know, the JBoss Portlet Bridge is a little different than most implementations. We are integrating Seam and RichFaces, so even though the JSF part of the bridge may be running at a GA level (and the spec being final), the RichFaces and Seam integration still has some work left to be done and that may be at a candidate or beta level. As always, let us know what you think and join us on the forums.
Along with the small fixes, here is what's new:


  • RichFaces dependencies are no more for a normal JSF portlet. Previously you needed the RichFaces jars on your classpath to use the bridge. This was mostly due to early development integration of ajax in the 301 bridge which needed to be refactored.

  • I created a new Bridgelet called PortalResourceBuilder. RichFaces does not account for multiple components on the same portal page by default. This Bridgelet renders all RichFaces component javascript to be portal friendly. It basically replaces the RichFaces script renderer and encloses the dynamically generated javascript. Just include this jar on your classpath or add the following dependency to your pom.xml:

    <dependency>
    <groupId>org.jboss.portletbridge.extensions.richfaces</groupId>
    <artifactId>PortalResourceBuilder</artifactId>
    <version>1.0.0.B6</version>
    </dependency>

  • There is now an automatic propagation of Locales. Any <supported-locales/> defined in portlet.xml will be automatically added to your JSF application running inside the portlet. Currently this is only available for JBoss Portal in the 1.0 bridge due to getSupportedLocales() not being in the spec. This should be fully available to all portlet containers in the 2.0 bridge.

  • View the reference guide for more information. 
    Hi - we just wrapped a new webcast with CRIX International this afternoon and it went great all around - great speakers (if I do say so myself :-), great content, great attendance and most of all excellent questions.

    Again my personal thanks to George and Mark for telling us their story and sharing their experiences. I'd also like to thank all of the folks at Information Week and Alfresco who helped sponsor and promote the event.

    And one last special thanks to Ms. Rebecca for helping me get this off the ground.

    The webcast will be up on this URL for the next 6 months and there are links to it on jboss.com.

    > https://www.techwebonlineevents.com/ars/eventregistration.do?mode=eventreg&F=1001317&K=1AA1A1  
    We have just released JBoss Portal 2.7.1 which is a maintenance release for the 2.7 series that support JSR-286 portlets. The detailed release notes can be found here.

    Special thanks to Dan Krieger for his help, Andy Pemberton for his article and recent help in the forum and the Japanese team for the translation contribution !

    You can download it from here: http://www.jboss.org/jbossportal/download/index.html

    For issues, please use the forum here.

    Note:
    - Will only work with JBoss AS 4.2 or JBoss Enterprise Application Platform (4.3) (don't try on JBoss 5)
    - For JDK 6 support, you will need to install the portal binary on top of the JDK 6 flavor of JBoss AS which can be obtained here.
    - If you want to start JBoss Portal while being offline or behind a proxy, please see: http://jboss.org/community/docs/DOC-12633

    After the arrival of Adam Wesley on November 11th, we welcome Agatka Dawidowicz as team member's baby. We hope they will contribute to the project in a couple of years ! 
    Just wanted to let you see JBoss Portal in Japanese, I'm always been fascinated by Japanese writings.



    Thank you Hiro Okashita and team !

    If you want to translate the JBoss Portal portlets in your language or improve the existing, please let us know ! 
    Looks like Emanuel got a littler bored tonight (European timezone) and made us the code swarm video of JBoss Portal commits.

    Code swarm for those who don't know basically show the commits as time goes (you can read the date at the bottom right of the video). You'll see the usernames of commiters as they joined. Blue text are java commits, yellow for XML commits and red for XHTML (Barely saw any red).

    This is totally useless but still fun. Consider contributing to be part of next code swarm video :)



    Thank you Mucki ! 
    JBoss Community Leadership Awards votes have started.

    People who've contributed to JBoss Portal:
    It is time to show your love for contributors and sorry if you are not part of this list.

    Voting will end on January 30th 2009 and winners will be announced at the JBoss Virtual Experience, a web-based JBoss technology conference which will be held February 11th 2009. There is no charge for admission, but please advance register if you'd like to attend. 

    CRIX International will present their JBoss Portal based collaboration solution using JBoss and Alfresco technologies.

    It will be a great opportunity to learn
    • Why portals still matter to the enterprise
    • How innovative companies have leveraged portals and content solutions to drive business results
    • What benefits can be reaped by partnering with a team of independent, open source providers

    Don't miss this free and short webcast on January 21, 2009 4PM EST (Check here for your timezone).

    Don't forget to register prior to the event.

    PS: I'm unsure if this will be recorded, so mark your calendars...