Friday, January 8, 2010

Jetspeed UI in 2.2.1

With this blog post, I introduce the new Jetspeed portal user interface we are developing for the upcoming release of version 2.2.1. For the past several years, the Apache Jetspeed Portal has had two user interfaces:

1. The Portal Pipeline, a server-side, servlet based aggregation engine. The server-side rendering engine was and still is the most common user interface for Jetspeed portals. It has progressed over the years, including the addition of nice features like a multi-threaded aggregation engine, rendering each portlet in parallel on its own thread.

2. The Desktop Pipeline, a client-side, Javascript based aggregation engine. The client-side rendering engine was not the default, and didn't get as much attention as the server-side. That said, I think the desktop pipeline had much more interesting features, with Ajax rendering pipelines serving portlet content to handle parallel rendering requests from within the browser. The desktop pipeline, even though it ran in the browser, still supported the Java Portlet API, adhering to the requirements of action and render phases. It also had some interesting features including drag and drop moving of portlets in either grid or detached mode, and resizing the portlets and layouts.

With version 2.2.1 (still unreleased), we are working on a single rendering engine sharing the same pipeline and code base. This engine can be configured to render portlets on the server-side or client-side. We call this new rendering engine "Jetui", since the client-side code is based on the YUI Javascript library. Jetui already supports many of the drag and drop customization features of the Desktop pipeline, with the addition of several new features. Two interesting new additions are the toolbars: a Page and Space Navigator and a Toolbox.

In this blog I will introduce the Jetspeed Toolbox. The Toolbox is designed to make user customizations very easy in just one click. The toolbox contains three panels:

- Portlet Selector
- Layouts
- Themes


The Portlet Selector can be docked to the left or right side of the page, or it can float freely on top of the page. Portlets can be searched for using this tool, as all portlet metadata is automatically indexed in the portlet registry. Additionally, portlets can be categorized and filtered based on categories (see the drop down list). One click addition of portlets is now possible without ever leaving the page being customized. Portlets are also filtered by secure access. Only portlets that are configured to be viewable to the current user are displayed in the Jetspeed Toolbox.









An interesting new feature is portlet preview mode:








Selecting the theme for the current page or space is as easy as selecting the theme tab and then clicking on the theme. Jetspeed introduces several new themes in 2.2.1:




Page layouts, selected from the Layout tab, provide several default layouts (with more coming).















We are working on integrating the W3C Widgets alongside Java Portlets. Like portlets, widgets will be available for searching and adding from the Jetspeed Toolbar. I will discuss Widgets more in an upcoming blog.



















In an upcoming blog, I will talk more about how to use templates to configure tools across pages...

Wednesday, November 4, 2009

Apachecon, Oakland

I will be presenting at Apachecon in Oakland tomorrow at 9 AM.

http://www.eu.apachecon.com/c/acus2009/sessions/282

The presentation is less than an hour, introducing new direction in the Jetspeed open source portal, integrating with the Apache Jackrabbit project

Friday, June 19, 2009

Roadmap Jetspeed 2.2.1

I am sketching out a Roadmap for the next Jetspeed release, version 2.2.1. Here was my original plan for 2.2.1, to be based on maintenance and improvements to 2.2.0:

Old Roadmap for 2.2.1
  • Advanced Portlet API 2.0 Support
  • Data Migration from 2.1.x to 2.2.x
  • Bug and Performance fixes to initial 2.2.0 release
  • Complete implementation of optional JSR-286 Cache features
  • Improved User and Site Browsing in Admin Portlets
  • Registry Export
As time passes, priorities change. I have been working with the Hippo Enterprise Content Management suite quite a bit lately, and I realized Content Management goes hand and hand with portals. It is about time Jetspeed gets content management features too. We were originally planning on implementing JCR features in version 2.2.2. After discussions with other team members, we are now looking at the following feature sets for JCR as the top priority for the 2.2.1 Roadmap:
  • Site and PSML persisted in JCR (Jackrabbit) Repository
  • Navigation integration with repository: portal can navigate directly to bookmarked content
  • Automatic publishing of content from repository, immediately accessible in portal
  • Security synchronized with JCR security
We will still need to provide Data Migration for 2.1.x users, thus the new high level Roadmap for 2.2.1 is as follows:

New High Level Roadmap for 2.2.1
  • Site and PSML persisted in JCR (Jackrabbit) Repository
  • Navigation integration with repository: portal can navigate directly to bookmarked content
  • Automatic publishing of content from repository, immediately accessible in portal
  • Security synchronized with JCR security
  • Data Migration from 2.1.x to 2.2.x
  • Bug and Performance fixes to initial 2.2.0 release
  • Registry Export
With full Portlet API 2.0 support from version 2.2.0, and JCR support coming in version 2.2.1, we are planting the foundation for developing Java enterprise applications mixed with content.

Tuesday, June 2, 2009

Jetspeed 2.2.0 Released

Last week I sent out the announcement for the Jetspeed 2..2.0 release. There wasn't much buzz for it. We've had our heads down working on this release on and off for over 18 months at Apache. Now that our heads our up, its time to look around and see where we go from here. Im working on a roadmap for the 2.2.1 release. CMS, Web 2.0 customizations are high on the list. We are also hoping Apache Portals Applications will get some traction.