Skip navigation
1 2 3 4 5 Previous Next


61 posts

On behalf of Julien Viet, me and our all commiters I would like to announce the release of GateIn Portal 3.2.0-CR01.


Here is the full change log


Go and grab the bits!


Next step is 3.2.0-Final that we expect to release in 3 weeks. Like it was announced earlier we are working hard to come back to shorter and more frequent release cycle with GateIn Portal 3.3.0.


Expect more news soon!

I finally found some time to publish slides from my presentation during JUDCon London 2011 - "Portal - Lego set for application development". It was a great conference and managed to have quite a few good discussions with people there - thank you all again!. It was very insightful to see that huge interest in portals and hear what people are trying to achieve with our technology. What is also worth to mention is that my portal talk gathered quite a few more people then parallel TorqueBox presentation - sorry Marek, just couldn't hesitate In the end we both had hard time competing with Manik's Infinispan speach.


Here are the slides:


And here is full agenda:

We have just released GateIn Portal 3.2.0 Beta01. Please go to our downloads page and try it out. Here are the release notes from JIRA


There are several major improvements since M01 worth mentioning:

- Navigation Controller - providing a powerful way to configure how portal is managing URLs.

- Polished Management - providing import/export of portal pages via. REST, Commandline/SSH and UI

- DOM optimizations - GateIn pages are way more lightweight now.

- Countless performance improvements

- More internationalization

- AS7 integration - this is ongoing effort and still in experimental state


Because of DOM optimizations you may need to evict your browser cache - parts of cached CSS and JavaSript files from earlier versions can make UI not accessible.


I know that recently GateIn Portal releases were happening less frequently then it was expected but we are working hard to improve the situation. Our current aim is to push:


- 3.2.0 CR around the new year (2011/2012)

- 3.2.0 Final in January/February 2012.


Our plan is also to come back to more regular release cycle in 2012.

HTML and CSS evolve, new great javascript libraries gets born every month, mobile platforms reshuffled the way we make user interfaces and last but not least tastes change...


We are looking for someone who can bring GateIn and JBoss Enterprise Portal Platform default interface to a new level of usability.


If you are excited by HTML5, if you master CSS(3) and have a real interest in Mobile user interfaces you can help the project tremendously. You will be working with a team of talented Java developers within Red Hat engineering group.


Additionally we would expect that you are cautious about usability and that you can create nice graphical content.


Required skills

  • (X)HTML
  • CSS 2/3
  • Javascript
  • Web Design

Preferred skills

  • Java


If you have such a profile or want to know more, feel free to contact me.

You will be asked to show a portfolio of Web User Interfaces you created or prove your talent by contributing to GateIn development.

We are looking for the best candidate to work on the JBoss Portlet Bridge project.

This project is key into the strategy of the JBoss Enteprise Portal Platform as it makes it easy for any developer to use JSF, Seam and Richfaces applications inside a portal. Later, we will also want to support more web frameworks (to be defined).

Next step for the project is to fully support Richfaces 4 and JSF 2 as part of PortletBridge 3 and in the future find new ways to simplify the development of new portlets using different web technologies.

This job requires high software engineering skills to maintain the existing and develop new features, a strong motivation in supporting our customers and an in-depth knowledge of JSF internals and Portlets.

The official job announcement can be found here and is open in any country were Red Hat as a legal entity.

Come join Red Hat !

GateIn 3.2 has been in the making for a long time, and while it includes many fixes, and new features, we’ve also been working on features beyond 3.2 version.


With JBoss AS7 approaching the final release, we’ve dedicated some extra focus here at GateIn project to getting the portal running on the latest and greatest application server out there.


JBoss AS7 internals are very different from 5 and 6 series, which requires us to develop a specific integration layer. We were thinking of starting with something small first with some quick proof of concept that we can build upon for full GateIn integration.


GateIn itself is built from components layered upon one another. There are two components at the very bottom that provide web container integration layer, and the ability to run portlets. On top of these come many modules that provide GateIn specific services and functionality - both UI, and integration capabilities.


For starters, we got Web Container Integration (WCI) and Portlet Container (PC) components working on JBoss AS7 with portal UI provided by a rudimentary portal called SimplePortal (part of PC component) to prove that the integration works properly.


SimplePortal is not in active development any more, and comes from the times when JBoss Portal ruled the day. That’s the reason it uses JBoss Portal esthetics, however, we do not have any plans to revive JBoss Portal.




For the impatient who want to see it run before diving into the code, here is a SimplePortal + JBoss AS 7.0.0.CR1 binary download package.


Keep in mind that demo pages, using sample portlets are far from slick, or working with user experience in mind. These are technical demos to demonstate how some things work or don’t work depending on the exact markup used for page composition. Some pages specifically demonstrate how things don’t work. The only way to appreciate the demo pages is therefore to play with pc/portal *.jsp pages, and pc/samples portlets. Actually, some of the portlets don’t really work as they should - like Google Map Portlet, which generates broken urls, or Google Weather Portlet which has no images. Then there are examples of page composition that prevents events from working properly - like the way Remote Control Portlet is embedded in Demo Portlets page makes it not to work, while it works properly in Demo2 page. Similarly, adding items to the cart works in Demo1 page, but doesn’t work in Demo5 which uses page composition that’s incompatible with propagating events. These are all old demo pages, and portlets, and it’s not worth spending time to fix them at this point.


See at the end of this blog for instructions on starting up the portal, and don’t get scared of deliberate exception thrown on startup.


Now, if you’re made of the right stuff, you don’t care too much about the ready-made binary download above, and want to build it all from scratch.


So, let's build and deploy this micro portal to the latest release of JBoss AS7 (7.0.0.CR1 at the moment of writing).


For our purposes we branched off WCI, and PC trunk in order to be able to do the necessary modifications. Note that if you rely on the same SNAPSHOT versions in any of your GateIn Portal builds, you may have to rebuild the original trunk versions before running your other build to prevent it from picking up these versions here.


First step is to check out the sources:


{code}svn co as7_support


Then we build WCI, and PC components:


{code}cd as7_support

cd wci

mvn -s ../settings.xml install -Dmaven.test.skip


(make sure you’re using a recent version of Maven 3)


{code}cd ..

cd pc

mvn -s ../settings.xml install -Pportal -DskipTests


Now we build AS7 integration modules, and package them with JBoss AS7:


{code}cd jboss-as7-integration

mvn -s ../../settings.xml install -Ppkg-jbossas7,download


(this command automatically downloads jboss-7.0.0.CR1 build and unpacks it into SERVERS_DIR. If you already have this JBoss AS7 build in SERVERS_DIR you can omit 'download' profile)


Finally, we run the JBoss AS7 with SimplePortal, and sample portlets deployed:


{code}cd pkg

cd target

cd jboss-7.0.0.CR1

cd bin

./   (or just 'standalone' on Windows)



You should see exactly one stacktrace deliberately thrown by FailDuringInitPortlet.


You’ll also notice that this micro portal starts up really fast - in a matter of seconds - thanks to its minimum footprint, and the new super fast JBoss AS7.


Goto: http://localhost:8080/simple-portal


Click around, and see how everything works (again, keep in mind that some portlets deliberately don't work, and that it’s portlets / page markup problem, and not portal problem).


Also bear in mind that SimplePortal only provides page composition while delegating JSR-168/286 portlet support to PC component. So, what we have here is a fully spec compliant portlet container running in JBoss AS7, which you can use to develop portlets that don't rely on specific portal implementation APIs, or you can use it for simple jsp based web pages that need to include portlets.


Have fun with it, and look forward to full GateIn - JBoss AS7 integration coming your way soon.


GateIn 3.2 M1 reached

Posted by julien_viet Jun 26, 2011

We have just released the first milestone of GateIn 3.2 last week and I wanted to make a follow up post to Bolek's post to explain a bit the various features you will find in that release.


First I would like to shed some light on the feature coming in this release and the forthcoming milestones. GateIn 3.2 is a logical evolution of GateIn 3.1 release and the vision is to improve the existing project in various ways, some of them are already in that release and of course the next milestones will bring new features, you can expect a follow up post soon that will provide more insight about GateIn 3.2 roadmap.


If you are a bit familiar with GateIn, you have perhaps heard about the GateIn WCI component that aims to abstract the servlet container runtime to make GateIn Portal isolated from the current servlet container runtime. By adding new runtime support in WCI, we are able to make GateIn ported to those platforms and this is what we have done in the M1 release with the support for Servlet 3.0 based containers (Tomcat 7 and JBoss AS 6) and the Jetty server so now we deploy to the following platforms:


  1. Tomcat 6 and 7
  2. JBoss AS 5.1 and 6
  3. Jetty 6.1


Actually the support for Jetty 6.1 was already done for a long time but we never took the time to properly finish it and we finally did it. It was actually something that improved the quality of the portlet container as it helped us to find a few bugs that would not happen in Tomcat / JBoss but only in Jetty (Tomcat / JBoss are very similar containers).


When eXo donated the GateIn code to it was relying on a custom build tool build on top of Maven and we put a lot of energy to decouple GateIn build from it and now we're proud to say that we have a 100% compliant Maven build that works with Maven 2.2.x and Maven 3.x (so you can enjoy parallel build if you like). That was in our opinion an unnecessary barrier for people wanting to contribute to GateIn and it was important for GateIn community to eradicate it.


Sometimes there are features that are hard to name, we had one in GateIn and we called it site describability, it's quite minor yet enhance the usability of GateIn by allowing the provide a display name and description for a portal site, I made a couple of screen shots to show you that feature


Screen shot 2011-06-26 at 11.05.28 PM.png

Screen shot 2011-06-26 at 11.08.46 PM.png


As a portlet developer you often need to extend the GateIn server and create portlets that interact with the environment, you will likely enjoy this new feature of GateIn 3.2 that allows you to obtain contextual information like the current navigation URI, the current page name and so on. The best think in that feature is to leverage the JSR 286 API to get this information in a very intuitive and natural fashion. If you think about it, the most adapted way to obtain this information is via the public render parameter API. This feature is therefore very easy to use as the only thing you need to do is to declare a specific public render parameter in your portlet XML deployment descriptor, for instance if you want to obtain the current site name you will need to declare:




     <qname xmlns:prp=''>prp:site_name</qname>


And voilà, at runtime you can get the current site name by using the portlet request render parameters, pretty much like


protected void doView(RenderRequest req, RenderResponse resp) throws PortletException, IOException {
   writer.println("The current site is " + req.getParameter("site_name"));


Everything we could find useful to be provided was done (and if you think that we forgot something useful, don't hesitate to tell us, or even better contribute it!):


  • navigation_uri : the current navigation URI
  • page_name : the current page name
  • site_type : the current site type ("portal" for portal, "user" for dashboard, "group" for group)
  • site_name : the current site name
  • window_width : the current window width
  • window_height : the current window height


We have made a lot of minor enhancements that will make your life better with GateIn, I will explain the most relevant ones:


  • Resource compressor : we provide plugability now for resource compression (Javascript and CSS) and we integrate the YUI and Google Clojure compressors by default. It works with a system of plugins, if you want to change the configuration you can have a look at the resource-compressor-configuration.xml file. You can even develop your own compressor if you need.
  • Use a drop down list for portal or group sites when adding a new page, it's a minor usability enhancement, yet convenient.
  • Lot of work was done to make the deployment of the WSRP service more modular in JBoss AS, just how it use to be in JBoss Portal.
  • The portlet container session life cycle was sometime having a life time greater than the portal one, specially when a logout was performed, we just fixed it, so a logout on GateIn invalidates pending portlet sessions.


I just scratched the surface over all the minor issues that are available in this release, you can expect in the next milestone new features, specially concerning the navigation, lot of work is being done in that direction, this code will be merged in the coming days and we intent to make an M2 for that purpose (actually the M1 was so late because of those two features): it improves the way that GateIn handles navigations and it will fix a performance issues when extra large navigations are used (by extra large I mean 2000 pages, not 20 or 200), the other improvements will provide full internationalization for navigation label but I already talked about it in this blog.

Many exciting things have been happening in the project lately and I would like to share some of them with you!


First of all GateIn Portal project blog has been moved to the as we want to focus more on our community space here. All previous posts were imported so old content is secured. Julien already tested new blog with his "Sneak preview of GateIn navigation i18n" and stay tuned for more new content here!


It is a big honor for me to announce that last month I was promoted to GateIn Portal Project Lead on the Red Hat side and I will be co leading this effort with Julien Viet on eXo side. Thomas Heute who held this position before became Technical Development Manager at Red Hat and will focus more on long term strategy for GateIn and JBoss Enterprise Portal Platform. Please check out his blog about product side of portals at


This is a bit special moment for me as I have been involved into GateIn and JBoss Portal since very early days. It was an amazing ride to see how project has evolved under leadership of Julien Viet and Thomas Heute during past few years and I'm really excited about the future! 


Speaking about the future... it has been a while since we released major version of GateIn so we decided it is high time to change that. Therefore we have just tagged and published GateIn 3.2.0 M01. Please visit our downloads page to grab binaries to play with it yourself!


What is new and cool? To just name two here as we are going to share more details about 3.2.0 in a separated blog entry! :


- Support for new containers - Jetty, Tomcat 7 and JBoss Application Server 6!

- Plenty of of bug fixes and minor improvements that accumulated since 3.1.


Check out full list of resolved issues in JIRA. There are 390 related JIRAs!!!


We are looking forward to release more often. There are quite a few big feature and performance improvements that we work on so expect new milestone releases coming soon and 3.2.0 Final closer on the horizon!

Navigation is an important concept of GateIn, it allows to organize web pages as a hierarchical navigation tree for portals and groups. We have been working hard to improve this part of GateIn and one of the most awaited feature asked by our community is about providing a fully internationalization support of navigation node.


Internationalization in navigation was supported until now with the help of resource bundles by providing a label containing a specific expression (like ${portal.home} for instance). While this works fine it is sometime not dynamic enough as it requires to update a resource bundle when a new navigation node is added to handle custom resource bundle keys.


The next version of GateIn will support fully dynamic support of navigation i18n. The setup can be done easily in navigation.xml file in a similar fashion of portlet.xml (using the xml:lang attribute to specify a language) deployment descriptor.



This feature will soon be extended with a UI to allow modification at runtime in the web administration, I'll follow up with screenshots.

I just wrote up a post explaining the benefits of portlet bridge technology and all the tools at your disposal...

"Working with portlet technology is often discredited for it’s seemingly complex API and development hoops one must jump through. But if you have worked on a portlet project for a considerable amount of time, and then jump back to a servlet based project, you have a feeling that life just got easier...." [read more]

Join us at JUDCon and JBoss World, May 2-6 in Boston to get the latest on what we are doing with GateIn and the JBoss Portlet Bridge. Early bird pricing ends soon!

We are happy to announce the final release of the 2.1.0 portlet bridge. The biggest change in this release (coming off the CR1) is better WSRP support. You can now run the majority of Richfaces components remotely with WSRP!
I also added one tiny feature that allows for GET style requests mapped to the bridge. Of course this is vendor specific and it's only supported on GateIn. This aids in the functionality of third party frameworks like Seam. Whichever parameter you decide to pull into your JSF portlet only needs to be defined like #{yourParam}. This will return a String array in your UI or wherever you might need it. Next task might be to have a navigation in a certain portlet happen based on this parameter and mapping it to PRPs.

Please visit the project home page, wiki, or release notes for more info.
You may also check out the screencasts available here and here. Episode 7(below) was shot for 2.1.0.CR1, so I won't waste time doing the same thing.

Look for many great things to come from this project in 2011. We will have a DZone RefCard coming out late Jan early Feb, and I will be trying to get as many talks accepted to conferences  as possible. Look for my presentation titled "Making Portals Cool" at a Java conference near you. ;);;show_title=0&#038;show_byline=0&#038;show_portrait=0&#038;color=ffffff&#038;fullscreen=1

JBoss Portlet Bridge Episode 7 : Running JSF Apps Over WSRP v2

Our good friends at DZone recently released an interview I did for the JBoss Portlet Bridge called "A New Age of Portlet Bridges - A JUDCon Interview". First off, I gotta say that they (Nitin Bharti &#38; DZone) did a great job of filming interviews for all the projects that presented at JUDCon. It's cool to see just how big the community has gotten and the need for this type of coverage.

For those folks out there that have no clue what portlet bridges (in general) are about, or that are just curious where the project is headed - then I encourage you to sit through me trying to make this awesome project even better ;)


If you are interested in contributing or helping out read this announcement.
A lot of fixes and some new features compose this 2.1.0 candidate release. Most notably WSRP v2 support and completed event navigation support. See the release notes for full details.

Another nice feature in this release is the use of maven archetype catalogs and default configurations. You can access all the archetypes that are provided by this project with this short command:
mvn archetype:generate -DarchetypeCatalog=

and here are the screencast details...
In this episode we talk to Chris Laprun who is the WSRP lead and prinicipal software engineer at JBoss. He gives a basic overview of the project and some real world usecases of WSRP. Then I jump into a demo of how to consume a remote portlet using 2 different GateIn instances.;;show_title=0&#038;show_byline=0&#038;show_portrait=0&#038;color=ffffff&#038;fullscreen=1

JBoss Portlet Bridge Episode 7 : Running JSF Apps Over WSRP v2


GateIn @ JUDCon Berlin

Posted by theute Oct 1, 2010

JUDCon Berlin will happen next week (Oct 7th and 8th 2010) !

Julien Viet from eXo Platform will give a talk titled "Advanced JCR Persistence in the GateIn Portal Framework". You can read the abstract here. His talk his scheduled to happen on Friday at 2:30pm local time.

Boleslaw Dawidowicz, GateIn developer and PicketLink IDM component lead, will also be around. If you want to meet him, best way is probably to contact him through Twitter: @bdawidowicz or though when connected.

You can still register here if you didn't do so yet.

We are looking for you !

Posted by theute Sep 8, 2010
You are a Maven Guru ? You have the pleasure of doing things carefully ? You are a Linux user ? You have the sense of responsibilities and looking to integrate the best team ever ;) ?

We are looking for a new Product Lead for the JBoss Enterprise Portal Platform based on GateIn Portal, you will be in charge of the releases of our product.

Ideally you would be based in the Brno office, Czech Republic, but we are willing to look for someone in any country where Red Hat has a legal entity.

More details:

      The candidate will join the productization team in charge of JBoss Enterprise Portal Platform. He/she will work with product management, GateIn engineering,  support and quality assurance engineers and documentation writers to build and ship the Enterprise Portal Platform products. He/she will also contribute to GateIn releases.

Among the numerous exciting and challenging tasks you will:

- be in charge of working on releases of GateIn and JBoss Enterprise Portal Platform based on Maven
- be leading the Enterprise Portal Platform major releases and cumulative patches packaging.
- upload release versions to JBoss' public repositories with Maven and maintain  component compatibility information as components are updated
- backport critical and customer-requested bugfixes from community
to product branches
- create/maintain/execute build scripts ensuring that proper
versions of EAP and third-party dependencies are used
- review errata
- provide input for release notes and product documentation
- serve as a resource to QA for developing continuous integration
tests and test plans for product branches and releases

Job Requirements    
      - Fluent in English
- Fluent in Java
- Proven experience with Maven 2 (or 3)
- Proven experience with version control software, especially SVN.
- Good knowledge of Linux-based systems and OS commands
- Self motivated with strong ability to deliver under little supervision

If you have the profile or know someone, please contact me at with a resume or Linked-in profile.

Filter Blog

By date:
By tag: