Part 2 – Alfresco Integration with JBoss Portal

Tuesday, April 14, 2009

This blog is an addendum to last week’s blog found here.  I had not planned to do a follow-up or second part to that blog, but after working to display the CMIS objects in a tree structure, I wanted to share what I had learned.

Let’s start with the result first and work backwards.  I have enhanced the Browser tab to display the CMIS objects from Alfresco in a hierarchical tree structure.  See here:

To do this, I used the RichFace recursiveTreeNodesAdaptor component to build a dynamic tree based on the CMIS calls to Alfresco.  As it’s name implies, you feed it CMIS objects in a recursive fashion to display as a tree.  In my case, I then cached the objects in Seam’s Conversational state to make subsequent retrievals faster.    The component also allows different UI looks, which I based on the CMIS object’s baseType property.

Couple “gotchas” I hit on the way.

  • I was originally using the JBoss Portlet Bridge v1.0.0.B6.  However I could not get the tree to expand beyond the root children.  After some time wasted thinking I was implementing the tree incorrectly, a quick search found this was a reported bug and fixed in v1.0.0.RC1.  So… I upgraded to that version.  That “almost” fixed the issue.  The tree started to work, but would not expand beyond 2 nodes deep when in the switchType=”ajax” mode.  This was the mode/behavior I wanted, but as a workaround for now, I changed the switchType for the tree to “server”.    This bridge is still a tech preview, so I guess some bugs are to be expected.
  • I also upgraded from Seam 2.1.0 to 2.1.1.GA as that is the version tested with the Bridge version I was using.  This was a simple replacement of the Seam-related JAR files with the newer versions.
  • Upgraded RichFaces from 3.3.0.GA to 3.3.1.B2 as again, that was what was listed as tested for the new Bridge version.  This was also a simple replacement of the three associated JAR files with the latest versions.
  • Upgraded JBoss Portal 2.7.0 to 2.7.1 for the same reasons as above.

Sorry to say I am not sure if the Seam, RichFaces, and Portal updgrade were necessary as I just went with the “big bang” approach based on what was tested for the Bridge version I needed.

FYI – I discovered the tree issue was caused by the Bridge because I could run the Seam application outside the portal as a stand-alone webapp and things worked fine.  Once I determined that, I was able to focus on the Bridge as the cause, and not a problem I was causing implementing the tree or CMIS.

Hope this follow-up helps if you are planning a similar approach.

Source: source

Top

Jeff Brown

For more than 19 years, Jeff has been developing well-designed, high-quality software products to meet business needs across many sectors, including:  retail, government, insurance, education, and manufacturing.  He has expertise in distributed messaging systems, service-oriented architecture design and implementation, and most recently has worked extensively with content management systems.

Recent Posts

Blog Archive