Release Notes - Jetspeed - Version 2.2.0

The list below outlines the issues that are addressed with release 2.2.0 For a full list of features, see the features list.

And the release notes of the previous release 2.1.3 are available here: release notes 2.1.3.

New Feature

  • [JS2-301] - Support Multiple Providers for User Attributes
  • [JS2-306] - Site Administration (Portal Site Manager)
  • [JS2-634] - edit_defaults custom portlet mode
  • [JS2-720] - Support for NTLM authentication with optional fallback authentication method
  • [JS2-729] - Preliminary Portlet API 2.0 ResourceURL support allowing full response control like for cookies and compressed output streams
  • [JS2-744] - There is impossible now to set up meta-description of page thru graphical admin interface manually
  • [JS2-791] - configure the security constraint on a particular portlet fragment using new custom config portlet mode
  • [JS2-809] - Add table schema aware datasource proxy
  • [JS2-818] - When importing users with seed data, user actual home pages from template
  • [JS2-834] - Automatically cleanup of the PortalURL: no navigational state in browser url
  • [JS2-853] - Filter Portlet Selector by one or more roles
  • [JS2-860] - Implement a second, Versioned Portlet Application Manager
  • [JS2-869] - New Preferences backend implementation for Registry, Entity and Security components
  • [JS2-870] - Replace User/Group/Role (Java) Preferences with simplified attributes Map
  • [JS2-871] - Upgrade Pluto container to version 2.0.0 with Portlet 2.0/JSR-286 support
  • [JS2-873] - Simplified parent-child relationship model for Roles and Groups
  • [JS2-888] - Provide a HealthCheck functionality to validate if required resources are (still) available/online, like portlet applications and datasource
  • [JS2-890] - Shibboleth SSO authentication support
  • [JS2-893] - cluster synchronization feature
  • [JS2-904] - Maven archetype
  • [JS2-923] - Security Domains
  • [JS2-925] - Provide full JSR-286 / Portlet API 2.0 support and TCK compliance
  • [JS2-954] - Add support for JSR-286 Portlet Managed PortletModes
  • [JS2-969] - Add portlet content cache managment and invalidation for JSR-286 Public Render Parameters usage
  • [JS2-992] - New generic and extendable RequestDiagnostics feature

Improvement

  • [JS2-27] - Allow disable of Groups and Roles
  • [JS2-57] - Add a "Check Valve" to the pipeline
  • [JS2-397] - SSO managment portlet should use credentials from LDAP if configured
  • [JS2-443] - Missing event listener implementation
  • [JS2-507] - Improvement to the grammar and descriptions in jetspeed.properties
  • [JS2-560] - Normalize Principal table
  • [JS2-621] - Improve SSO Portlet implementation
  • [JS2-671] - Improve and Test SSO IFrame Portlet
  • [JS2-706] - Improve Desktop navigation without page refresh
  • [JS2-755] - Desktop Pipeline: Blank deley when switch page
  • [JS2-770] - Provide a new maven-2 (only) build environment and restructure the source tree according to the maven-2 conventions
  • [JS2-779] - Supporting Pocket PC
  • [JS2-780] - Provide out-of-the-box Wicket portlet support
  • [JS2-785] - Parallel Rendering on Websphere 6.1
  • [JS2-787] - Non-informative error handling in PortalSiteManager. I've created a patch
  • [JS2-808] - Maximize on edit-defaults option
  • [JS2-812] - Better support for MSSQL
  • [JS2-821] - CategoryPortletSelector no portlets displayed in IE6 / Update CategoryPortletSelector localization Korean
  • [JS2-852] - Release content buffers after rendering
  • [JS2-855] - CreateUserTemplatePagesValve improve that title&short-title value has user Name in folder.metadata .
  • [JS2-856] - Update DatabasePageManagerCache to use EhCache
  • [JS2-859] - decorator list in listbox on the page has to be sorted
  • [JS2-864] - Release render buffers (PortletContent) after rendering
  • [JS2-867] - Optional portlet session caching of layout view templates
  • [JS2-891] - Move the site pages out of resources into a directory outside the web applicaiton
  • [JS2-896] - Ajax api GetPortletsAction Improvement about filter
  • [JS2-908] - Transactional Isolation on Portlet Application Deployment
  • [JS2-913] - PortletFactory should not cache portlet and application definition oid values to support live redeployment across a cluster
  • [JS2-938] - Create flyweight PortletWindow instances for each request, the handle to access and store all portlet interaction data and drop the PortletEntityImpl usage
  • [JS2-945] - Provide PortletApplication and PortletDefinition ResourceBundle lookup and caching from the PortletFactory
  • [JS2-946] - Portlet Registry Manager Admin Portlet
  • [JS2-947] - Properly handling container invocation errors like processAction throwing an unexcepted exception and displaying a meaningful message to the end user
  • [JS2-949] - Portlet 2.0 optional feature support: head contribution
  • [JS2-959] - A new fresh Jetspeed decoration theme (skin) replacing the default tigris
  • [JS2-961] - Refactor the old APIs and head aggregation components to comply with portlet 2.0 spec changes
  • [JS2-962] - Add logical expression support to Spring bean category filtering
  • [JS2-966] - Move WebContent and Rewriter to Apache Portals Applications as new web-content project
  • [JS2-968] - Enhance NavigationalState encoding to support both zero and empty parameter values
  • [JS2-971] - Seriaiizer is not importing/exporting Preferences
  • [JS2-988] - Archetype improvments
  • [JS2-990] - Complete Portlet Clone feature
  • [JS2-997] - Cache Monitor Portlet

Task

  • [JS2-389] - Docs
  • [JS2-734] - Drop jetspeed- prefix support for local PA deployment
  • [JS2-857] - SVN restructuring to support separate lifecycle for other artifacts besides the portal itself, like j2-admin
  • [JS2-878] - Determine Jetspeed and Portals site generation/management toolset to use
  • [JS2-907] - Reimplement SSO storage model and API on top on new Security model
  • [JS2-911] - Be able to build the installer in the trunk with Maven-2
  • [JS2-912] - Adjust installer to embed Tomcat 6 instead of Tomcat 5.5
  • [JS2-941] - Portlet 2.0 TCK support
  • [JS2-973] - Running Jetspeed 2.2 on Websphere 6.1 / Oracle10
  • [JS2-975] - Remove all compressed javascript files which can be automatically generated during build.
  • [JS2-976] - Fix broken unit tests
  • [JS2-977] - Remove jsf-demo and jpetstore from demo and installer
  • [JS2-979] - Move MFA portlet into j2-admin proper
  • [JS2-985] - Upgrade to new pluto-container-api requirements as needed for PLUTO-557
  • [JS2-994] - j2-Admin Cleanup
  • [JS2-998] - Improve Jetspeed Demo distribution
  • [JS2-1004] - Replace dependency on JCP provided JSR-286 portlet-api-2.0 with Apache Portals maintained portlet-api_2.0_spec-1.0
  • [JS2-1013] - Remove obsolete usage of and dependency on Pluto provided PortletEntity interface as it is no longer used within Jetspeed either
  • [JS2-1018] - Release 2.2.0 preparation
  • [JS2-416] - Guide to directory structure documentation
  • [JS2-417] - Update Guide to Jetspeed Power Tool
  • [JS2-418] - Guide to portal assembly documentation
  • [JS2-420] - Guide to sites (guide-site.xml) Documentation
  • [JS2-453] - A menu for the documentation guides
  • [JS2-650] - Desktop Documentation
  • [JS2-771] - Refactor JetspeedSerializer to a pluggable component to be used by other components for import/export of (test) data
  • [JS2-772] - A new maven-2 unpack-resources plugin for extracting selected portal resources
  • [JS2-773] - A new maven-2 ddl plugin for generating portal schema sql using ddlutils
  • [JS2-774] - A new maven-2 init-db plugin for initializing a portal schema for a specific database
  • [JS2-778] - There is no simple way to find jetspeed subproject documentation
  • [JS2-877] - Document new maven-2 build system
  • [JS2-895] - Provide a solution to seperate the Jetspeed build integration tasks (configuration,database,deploy) from the standard Maven-2 build lifecycle
  • [JS2-906] - Documentation for JSP decorators
  • [JS2-926] - Adding JSR-286 ResourceURL and ResourceServingPortlet support
  • [JS2-927] - Implement Portlet Events for Portlet API 2.0
  • [JS2-939] - Portlet URL/Navigation State JSR-286 Portlet API 2.0 Support
  • [JS2-989] - Update Jetspeed tutorial
  • [JS2-993] - Reflect new Tomcat requirements in documentation and archetype

Wish

  • [JS2-34] - Refactor file cache to be an interface
  • [JS2-93] - Portlet Entity's associated preferences not deleted
  • [JS2-499] - add attrubute functionality to all proncipal classes
  • [JS2-517] - Execution of secured AJAX actions in portlet applications
  • [JS2-786] - Tool for conversion preferences from database no-principal preferences to defaults preferences in psml pages

Bug

  • [JS2-118] - Porltlet Application User Attribute descriptions not handled properly
  • [JS2-165] - Portlet Application Manager treeview not updated on deploy events
  • [JS2-238] - Subject object is abandoned after the JAAS authentication
  • [JS2-324] - Missing index from db(oracle) causes userManagement portlets stop working when lots of users in system
  • [JS2-370] - portlet css classes: links
  • [JS2-400] - Layouts broken
  • [JS2-472] - FragmentImpl.getFragments() can be null but is assumed not null
  • [JS2-482] - PSML documents whose names contain diacritic characters are not displayed
  • [JS2-486] - admin portlets profile admin rule criteria
  • [JS2-513] - UserAttributeResolver is broken
  • [JS2-537] - error in PortalStatisticsImpl
  • [JS2-540] - Default Preferences should be flagged as READ-ONLY
  • [JS2-558] - Only "NULL" is shown in browser at what seems to be random intervals.
  • [JS2-622] - When deleting a User, SSO Details left orphaned
  • [JS2-658] - COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL0107N The name "FK_PA_METADATA_FIELD_1" is too long. The maximum length is "18". SQLSTATE=42622
  • [JS2-666] - Clustered Environment: constraint violation if clones are started at the same time
  • [JS2-676] - Enhance Profiler Caching
  • [JS2-677] - Site Manager UI improvements
  • [JS2-704] - Desktop Customizer cleanup
  • [JS2-715] - Security constraints cached, not updated in Site Manager and Portlet Selector
  • [JS2-722] - portalurl.relative.only=true does not effect desktop
  • [JS2-749] - Jetspeed Login Module fails to load on Windows in directories with spaces in the path
  • [JS2-750] - LDAP login not resolving DN correctly
  • [JS2-752] - Desktop pipeline: drag and drop and portlet relocation
  • [JS2-753] - Desktop Pipeline: sticky mouse pointer after portlet was resized in Untiled mode.
  • [JS2-754] - Desktop Pipeline: javascript error when click on 'Aditional Link'
  • [JS2-756] - Desktop Pipeline: Browser Refresh Issue After Page Edit
  • [JS2-758] - Ukrainian symbols doesn't save through Portal Site Manager
  • [JS2-761] - ConcurrentModificationException in FileCache after jetspeed 2.1.2 installation
  • [JS2-762] - Cannot return to view mode after changing to simple layout theme in page edit mode.
  • [JS2-764] - There are much DOCTYPE directives in every result page of portal
  • [JS2-768] - Desktop pipeline gets null page in request context
  • [JS2-769] - Layout Portlets do not support content types other than text/html
  • [JS2-784] - Adding portlet doesn't work in 2.1.3 trunk!
  • [JS2-795] - Deadlock while release session on Websphere Release 6.0.2.19
  • [JS2-796] - VelocityTwoColumns mentioned twice in layouts guide
  • [JS2-799] - Jetspeed cannot deploy portlet applications that run from the "/" context.
  • [JS2-800] - Memeory Leak Caused by org.apache.jetspeed.container.window.impl.PortletWindowAccessorImpl
  • [JS2-813] - Redirect from password
  • [JS2-814] - Ldap User DN is incorrectly calculated when search filterBase is empty
  • [JS2-815] - SSOIframePortlet doesn't save changed remote principal name
  • [JS2-817] - Cannot login with username with .
  • [JS2-819] - Edit mode of Category Portlet Selector doesn't work on IE browser.
  • [JS2-820] - display UNICODE in desktop mode.
  • [JS2-825] - Desktop pipeline doesn't properly implement Clear decorator
  • [JS2-826] - Invalid DN values in group/role member attributes result in null pointer dereferences in the BasePrincipalImpl class
  • [JS2-827] - Does't work that uploading files in desktop mode using "multipart/form-data"
  • [JS2-828] - JAAS authentication failure with Tomcat 5.5.24 and above.
  • [JS2-832] - Found bug when page delete in Layout Edit mode.
  • [JS2-833] - associations between portal and remote principal are not removed
  • [JS2-836] - Lookup of LDAP users per role using a role membership attribute on a user is broken
  • [JS2-837] - Attributes template for initial LDAP user/role/group attributes does not accept '=' sign
  • [JS2-839] - LDAP user mgmt: user names with certain characters are not allowed
  • [JS2-840] - jetspeed tutorial missing resources
  • [JS2-841] - tutorial bug: "Embedded error: Archetype does not exist."
  • [JS2-842] - tutorial build error: "Error executing ant tasks"
  • [JS2-843] - tutorial catdebug command
  • [JS2-847] - LDAP user dn is not resolved correctly when user is in hierarchy
  • [JS2-848] - Portlet decorator comboboxes doesn't displays current decorator name (and tiny performance degradation)
  • [JS2-849] - NullPointerException in org.apache.jetspeed.prefs.impl.NodeImplProxy.getFullPath(NodeImplProxy.java:45)
  • [JS2-854] - Missing cache entry in ehcache.xml
  • [JS2-861] - Unable start the demo intsaller
  • [JS2-862] - Cannot delete or move a portlet using RemovePortletAction
  • [JS2-863] - Does not changes all of portlet decorations when add new layout fragment.
  • [JS2-865] - Portlet Application Manager Language Tab does not update strings correctly
  • [JS2-868] - String comparison bug in PortletPlacementContextImpl causes PortletPlacementException
  • [JS2-882] - Intermittent Concurrent Exceptions in Portlet Window Cache
  • [JS2-883] - PageManager component name not found in component manager lookup
  • [JS2-884] - User Manager creating excessive transactions on get* operations via Spring transactions
  • [JS2-894] - Deploy tool does not keep file dates in WAR file
  • [JS2-897] - Portal Site Manager - Administrator cannot edit users pages.
  • [JS2-899] - Can not update PSML by import service of PSML store in DB
  • [JS2-900] - SiteView should throw SecurityException when a Node is not accessible instead of NodeNotFoundException
  • [JS2-903] - Customizer removes the Portlet Fragments when Security Constraints are Used
  • [JS2-905] - JSP Portlet Decorators: Decorator-specific decorator.jsp ignored
  • [JS2-909] - Layout Portlets removed Page logic is incorrectly worked.
  • [JS2-914] - Possible security issue because pipline can be set by the "pipeline" request parameter.
  • [JS2-916] - RoleMultiChooser portlet doesn't "see" newly added roles until after logging out and in again
  • [JS2-920] - Default locale preference
  • [JS2-921] - Portal Site Manager portlet not save "unhidden" state for PSML
  • [JS2-922] - Required associations should only be required for the "from" side of the association
  • [JS2-928] - Hardcoded URL link to PDF portlet in installer pages
  • [JS2-929] - iframe portlet user preferences
  • [JS2-931] - ConcurrentModificationException Exception in SessionNavigationalState
  • [JS2-932] - Portlet cache doesn't get refresh after login
  • [JS2-935] - Importing of seed xml results in a NullPointerException
  • [JS2-936] - Profiler Admin is not refreshed after seed xml import.
  • [JS2-937] - Multiple seed.xml imports result in duplicate criteria.
  • [JS2-943] - File Portlet cleanup
  • [JS2-944] - PortletDefinition Language needs to indicate if its locale is a supported-locale as defined by or for the Portlet descriptor
  • [JS2-951] - IP Address is null in statistics, while user get logs-off
  • [JS2-965] - Portal Site Manager needs to change the physical page file name to be able to make a proper page url
  • [JS2-972] - commons-logging unsuited for cross-context webapplication invocation usage - migrating to slf4j
  • [JS2-978] - In jetspeed-deploy-maven-plugin, cannot use expand or infuse when having a targetName
  • [JS2-980] - Rogue thread running after Tomcat Shutdown
  • [JS2-981] - Edit Defaults Mode Broken
  • [JS2-983] - Portlet borders and alignment messed up in jetspeed portlet decorator
  • [JS2-984] - Jetspeed 2.2 Validation on Websphere 6.1
  • [JS2-986] - PAM NodeManager operation not thread-safe
  • [JS2-987] - Portal request parameterMap must be captured before invoking a portlet on WebSphere
  • [JS2-991] - Issues with Tomcat 6
  • [JS2-995] - NPE in ProfilerValve under desktop mode
  • [JS2-996] - Inject the new Portlet 2.0 tlds in the target web archive during the deployment of a portlet application
  • [JS2-1000] - Portalstatistics can cause NullPointerException in TreeMap.compare method when request.getRemoteAttr() returns (sometimes) null
  • [JS2-1001] - Concurrent Modification exception in layout decorator
  • [JS2-1002] - jetspeed decorator's css is not applied to portlet window title under desktop
  • [JS2-1003] - DOJO-based admin portlet doesn' show the contents correctly.
  • [JS2-1005] - NotSerializationException during restarting tomcat
  • [JS2-1006] - Enterprise build fails
  • [JS2-1007] - Null Pointer Exception in Page Manager File Cache
  • [JS2-1008] - Google Maps Portlet Fails on Desktop
  • [JS2-1009] - Active Authentication Redirect Fails from Desktop when Credentials Expire
  • [JS2-1010] - A NotSerializableException in j2-admin's PrincipalManagement portlet
  • [JS2-1011] - NavigationalState Base64 encoding needs to escape '+' characters
  • [JS2-1012] - Event Demo not working correctly on Desktop
  • [JS2-1016] - Content not available error on clicking
  • [JS2-1017] - SerializableException exception in Portal Site Manager with dbpsml
  • [JS2-1019] - Several import/export mapping bugs in the JetspeedSerializer implementations
  • [JS2-1020] - Incorrect caching of user preferences can cause preference values to be returned from another user or stale values on export