Release Notes - Jetspeed 2 - Version 2.1

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

Bug

  • [JS2-134] - Language Set not created from supported-locale
  • [JS2-168] - capabilities test fails on hsql
  • [JS2-204] - PLT.7.1.2 Portlet URL securit y not implemented and absolute URL rendering
  • [JS2-226] - Page Aggregation using STRATEGY_PARALLEL severly broken
  • [JS2-273] - Editing Page Layout works incorrectly
  • [JS2-282] - Error when session expires and portlet window is maximized
  • [JS2-315] - Premature access to portal can break access to portlets.
  • [JS2-316] - JSF Component javascript not being rendered
  • [JS2-339] - Calls to preferences.store() trigger a warning about missing transaction in OJB
  • [JS2-375] - Database scripts broken on Oracle 8i
  • [JS2-405] - Logout Problem when running behind Apache with mod_jk
  • [JS2-438] - Broken link on web site
  • [JS2-439] - typo in SSO sites portlet
  • [JS2-445] - Unable to build J2 - Failed to download, Missing version numbers
  • [JS2-448] - Oracle installer broken.
  • [JS2-450] - portlet application manager eats useful exception message
  • [JS2-452] - unable to add a custom mode to the portlet.
  • [JS2-456] - PageImporter did not import element in page.security to database
  • [JS2-458] - J2 Security constraint is broken by DatabasePageManager
  • [JS2-460] - Minimize/Restore broken
  • [JS2-464] - Redeployment of portlets that have services defined jetspeed-portlet.xml ARE NOT updating the JETSPEED_SERVICES table with new/altered values.
  • [JS2-467] - Broken links in http://portals.apache.org/jetspeed-2/getting-started-binary.html
  • [JS2-468] - Customizer cannot edit nested layouts.
  • [JS2-473] - Many uses of Fragment.getFragments() assume access to the underlying list, not a copy: this is invalid
  • [JS2-475] - Proposed changes in portal permissions
  • [JS2-478] - admin portlets application inconsistency
  • [JS2-479] - Non-thread safe code in the DB PageManager
  • [JS2-481] - Unable to change Jetspeed2's default theme "tigris" to another one.
  • [JS2-483] - buggy css layouts / patch for table based layout
  • [JS2-485] - admin portlets profiler admin
  • [JS2-495] - OJB + Spring Transactions broken
  • [JS2-496] - J2 on tomcat 5.5.15: 403 returned to client browser when any user that doesn't have admin role attempts to log in
  • [JS2-497] - Can not correctly display the display-names of layout-portlet when editing a page in Chinese or Japanese.
  • [JS2-498] - When editting page, can not correctly display the display-name in the language, which have country name.
  • [JS2-501] - Pluto ObjectID implementation produces invalid map key values
  • [JS2-503] - UserManager's setUserEnabled() method fails after creating new users
  • [JS2-509] - Portlet Preferences are not stored on a user by user basis
  • [JS2-511] - org.apache.jetspeed.om.portlet.impl.PortletDefinitionImpl line 558 throws NPE
  • [JS2-518] - Setting PorletPreferences in PSML does not work
  • [JS2-519] - Concurrency issues due to ServletPortletInvoker being used as singleton
  • [JS2-520] - RSSPortlet ignores preference itemdisplayed
  • [JS2-522] - Infinite loop created in PortletWindowAccessorImpl.getWindowFromCache() while under load
  • [JS2-526] - JBoss web.xml entry for security-constraint login/redirector wont work under Tomcat
  • [JS2-528] - Error while trying to deploy portlets
  • [JS2-530] - MenuElementImpl.getMetadata does not return the defined data
  • [JS2-535] - SSO default resources
  • [JS2-556] - decorator.vm in portlet decorators not overriden
  • [JS2-562] - LDAP attribute name comparison should be case-insensitive
  • [JS2-564] - wrong italian localization strings
  • [JS2-571] - Changes to page structure (PSML) using the DatabasePageManager are not reflected to the internal page representation.
  • [JS2-572] - Maven 2 build requires spring-portlet and spring-beans version
  • [JS2-576] - PortletDefinitionImpl.getDisplayNameSet() returns empty set if getDisplayName() is not called first
  • [JS2-582] - Portlet sessions are not invalidated when the portal session is destroyed with emptySessionPath="true"
  • [JS2-588] - "Portal Site Detail" portlet doesn't work in trunk
  • [JS2-590] - Moving / Deleting portlets doesn't always work under DatabasePageManager
  • [JS2-591] - cannot access a new page with a multibyte page name
  • [JS2-592] - The customizer portlet cannot add portlets to a .psml page when logged in as admin
  • [JS2-599] - Statistics throw a NumberFormatException for last 24 hours and last 7 days
  • [JS2-605] - Query string parameters should not (by default) be provided to portlets to be compliant to JSR 168 spec requirements
  • [JS2-607] - An error occur when trying storing a null value in preferences
  • [JS2-611] - Custom Portlet Mode and Window State incorrectly handled / processed from portlet.xml
  • [JS2-613] - ConcurrentModificationException under high load
  • [JS2-633] - nested layout broken with permission security enabled
  • [JS2-635] - count of portlet on portlet selecotor
  • [JS2-641] - override.properties isn't loaded by the bean 'placeholderConfig'
  • [JS2-646] - ActionValveImpl can throw NullPointerException under clustered environment.
  • [JS2-651] - Add Portlet fails when logged in as Subsite User
  • [JS2-652] - Desktop does not render page if any portlet on the page shows "Failed to retrieve Portlet Definition"
  • [JS2-655] - Entity Editor Broken
  • [JS2-656] - Cross-Site Scripting (XSS) vulnerability

Improvement

  • [JS2-110] - Replace HSQL with Axion as default database in J2
  • [JS2-190] - Changing the portlet.xml in a deployed portlet/webapp does not change Jetspeed.
  • [JS2-198] - Portlets don't use user-specific preferences. The Portlet Preferences for anon user are always used.
  • [JS2-264] - Updating just the portlet content
  • [JS2-329] - 3 new 100% table-free portlet decorations.
  • [JS2-354] - Provision for portlet-level permissions
  • [JS2-449] - User Specific Preferences
  • [JS2-461] - Serializer component
  • [JS2-462] - Need to clean up Velocity logs, too many warnings and some errors even
  • [JS2-470] - LDAP Authorization Support Implementation + Sun LDAP Authentication Support
  • [JS2-480] - Statistics cleanup
  • [JS2-491] - Enhance J2 LDAP Security Documentation
  • [JS2-493] - More chinese Localization
  • [JS2-504] - update chinese Localization
  • [JS2-506] - Extend profiler to fallback to parent folders when requested path is not available.
  • [JS2-508] - Fixing commons-logging on WebSphere and other application servers
  • [JS2-516] - Make selection of last visited page in folder on folder request optional
  • [JS2-527] - Allow email addresses to be used for user accounts by making hierarchical interpretation of principal names optional
  • [JS2-534] - Korean translation for portal, portal-site, j2-admin, demo, rss, gems, layout-portlets, and jetspeed-api.
  • [JS2-539] - Korean translation for *.psml, *.link, and folder.metadata files under the /WEB-INF/pages/**/ folder.
  • [JS2-541] - Log initialization failures when deploying on Websphere 6.0.2.x
  • [JS2-543] - Velocity logging using the jetspeed-webapp-logging component
  • [JS2-549] - Simple documentation for using the JSF bridge in Jetspeed
  • [JS2-568] - Upgrade commons-httpclient bundled in jetspeed war
  • [JS2-575] - Sun LDAP connection pooling implementation needed so that Jetspeed does not need to be restarted if LDAP server is restarted or connection is lost.
  • [JS2-578] - Improve Creation of PSML pages for new users
  • [JS2-600] - update Chinese Localization
  • [JS2-603] - Upgrade Search component to lucene 2.0.0
  • [JS2-606] - Allow deployment of local portlet applications without a jetspeed- name prefix
  • [JS2-614] - Jetspeed Deploy compliant with servlet spec 2.4
  • [JS2-640] - Run with active Java security manager enabled
  • [JS2-642] - update chinese LOCALIZATION
  • [JS2-648] - A multi-database profile settings for maven 2
  • [JS2-649] - XML Schemas for Jetspeed XML Data
  • [JS2-654] - enhance components to use JetspeedCache for distributed environments

New Feature

  • [JS2-275] - Option to make Action URLs relative or absolute
  • [JS2-283] - Basic Ajax Service Implementation
  • [JS2-466] - Production Configuration / Hardcode Base URL
  • [JS2-476] - Create user pages from a user's roles
  • [JS2-490] - A profiler rule which serves content based on the network associated with the http request
  • [JS2-514] - Jetspeed Desktop
  • [JS2-523] - Supporting custom PortletModes and WindowStates
  • [JS2-524] - Providing a "print" custom PortletMode and a "solo" custom WindowState
  • [JS2-550] - A new Two-way password encoding service allowing decoding of encoded passwords
  • [JS2-557] - Property Loader Valve
  • [JS2-559] - Place portlets in decorators
  • [JS2-583] - Message properties files in greek
  • [JS2-585] - A continuous build script
  • [JS2-596] - CLONE -Support Tomcat TCP Clustering
  • [JS2-610] - Categorization of Portlets with new Category Portlet Selector
  • [JS2-644] - Remote Portlet Application Deployer
  • [JS2-645] - Portlet Security Constraints
  • [JS2-647] - Cluster Deployment
  • [JS2-653] - Show theme depending what user you are

Task

  • [JS2-361] - Portlet Caching implemented in Aggregator
  • [JS2-366] - Clean up orphan tables in J2 DB schema
  • [JS2-529] - Minimize verbose debugging output of Missing/Forbidden page fallback in PortalSiteSessionContextImpl
  • [JS2-570] - Add Support for SpringMVC Portlet framework plus doHeader phase
  • [JS2-573] - Profiler docs

Wish

  • [JS2-344] - PHP 5 support
  • [JS2-521] - j2-admin: Styling of login error messages (Login.jsp)
  • [JS2-554] - Upload Jetspeed jars to Ibiblio