4.0.4

Mar/15/12

uPortal 4.0.4 GA Announcement

Jasig is proud to announce the general audience release of uPortal 4.0.4. This release includes the ability to Set a Default Skin based on user attributes or group memberships, evaluate DLM fragments based on the user's profile, the Jasig Notification Portlet, and import/export changes for better error logging. There have also been significant performance improvements thanks to testing by Arvīds Grabovskis.

Important Update Notes

  1. CAUTION:  The default method of defining DLM fragment definitions has switched from the dlm.xml file to database persistence.  If you currently have fragments in dlm.xml, this update will require you to make a minor configuration change.  We apologize for the inconvenience and we want you to know we didn't make this change lightly.  A group of thorny issues related to layout migration (UP-3251, UP-3344, and UP-3332) were addressed in this release, and this change is a part of the overall solution.  There are two ways to deal with this change if it affects you:
    1. Option 1:  Stick with your dlm.xml.  You can undo the switch to database-persisted fragments very easily – just uncomment the 'dlmConfigurationLoader' bean that references the 'dlmConfigurationLoader' class in layoutContext.xml, and comment out the one that references the 'RDBMConfigurationLoader' class.  Make sure your dlm.xml file is present in the proper location:  uportal-war/src/main/resources/properties/.  WARNING:  If your DLM fragments are defined in this way when you migrate data from a previous version, you will experience issues migrating user customizations to fragment-based content.
    2. Option 2:  Convert to database-persisted fragments:  This option is also easy.  Take each <dlm:fragment> element in your dlm.xml file and surround it with a complete <fragment-definition> element (full example below).  Paste these elements each in their own file with a .fragment-definition.xml extension, then use >ant data-import to import your fragment definitions into the portal database.
  2. For users upgrading from 4.0.2 or 4.0.3: Due to a column name reserved word conflict the UP_EVENT_AGGR_CONF_INTRVL_EXC and UP_EVENT_AGGR_CONF_INTRVL_INC tables need to be manually dropped and then re-created using ant db-hibernate-update 
COMPLETE <fragment-definition> ELEMENT EXAMPLE:

<fragment-definition xmlns:dlm="http://org.jasig.portal.layout.dlm.config" script="classpath://org/jasig/portal/io/import-fragment-definition_v3-1.crn">
  <dlm:fragment name="Academics" ownerID="academics-lo" precedence="350">
    <dlm:audience evaluatorFactory="org.jasig.portal.layout.dlm.providers.GroupMembershipEvaluatorFactory">
      <paren mode="OR">
        <attribute mode="deepMemberOf" name="Students"/>
      </paren>
    </dlm:audience>
  </dlm:fragment>
</fragment-definition>

*NOTE:  The format for <dlm:fragment> elements is identical to dlm.xml

Bug

  • [UP-2693] - Moving from xml based dlm to rdbm based dlm fragment owners is problematic
  • [UP-3251] - issue importing layouts in the 4.0.2 build with data from 3.2.x build.
  • [UP-3306] - Google Doc portlet throws servlet Unavaliable when trying a student tries to edit in Demo version 4.0.2
  • [UP-3316] - Input that breaks GUI permissions viewing
  • [UP-3332] - Export bug - pathref objects that refer to non-portlets (tabs or columns) throw NPE when generated
  • [UP-3333] - Viewing permissions for portlet categories results in a stack trace
  • [UP-3334] - Incorrect URL after portlet has been maximized
  • [UP-3335] - Viewing a user's permissions results in NPE
  • [UP-3339] - Interval is a reserved word in MySQL but is used as a column name, so table creation fails
  • [UP-3344] - LayoutPortalDataType only knows about the legacy file extension for fragment layouts, not the current one
  • [UP-3346] - Cannot add a 'not null' column to an existing non-empty SQL Sever Table - db-hibernate-update in 4.0.3
  • [UP-3348] - ldapContext.xml: update from userName -> userDn
  • [UP-3349] - Failed portlet render causes NPE in layout.json
  • [UP-3352] - Mobile profiles not properly linked to user layout
  • [UP-3355] - CDATA lost during XSLT data upgrade
  • [UP-3358] - Event aggregation does not work with MSSQL 2008
  • [UP-3359] - Shibboleth authentication broke
  • [UP-3362] - Layouts inappropriately cached between profiles for a single user
  • [UP-3363] - Rendering spends a lot of time in AuthorizationImpl.doesPrincipalHavePermission
  • [UP-3364] - HTML serialization in mobile theme can stop abruptly in PortletLinkPlaceholderEventSource
  • [UP-3368] - ignore folder or other xml elements from user layout files that cause the import to fail for 3.2-patches to 4.0.x
  • [UP-3371] - Portlet cache should be locale-aware
  • [UP-3374] - Mobile directory only allows selection of first search result
  • [UP-3375] - remote_user auth fails due to spring-security filter
  • [UP-3376] - RequestAttributeSourceFilter must come before any other request manipulation filters
  • [UP-3378] - Missing portlets in user layout breaks breaks portlet event handling
  • [UP-3387] - Request sourced user attributes lost during login
  • [UP-3388] - Refactor stylesheet user prefs service to simplify runtime logic

Improvement

  • [UP-3174] - dynamic skin attribution
  • [UP-3341] - Change the default DLM ConfigurationLoader to the JPA (database-persisted) implementation
  • [UP-3356] - Injecting Logging PrintWriter to BasicDataSource
  • [UP-3357] - Start HSQL in MVCC mode
  • [UP-3365] - PAGS XML parser small issue
  • [UP-3372] - Upgrade CInlineFrame to IFrame Portlet
  • [UP-3373] - Bundle the Jasig NotificationPortlet originally developed by Manchester
  • [UP-3377] - Add contextOverrides folder for spring context files

New Feature

  • [UP-3340] - Create REST feed for displaying an individual person
  • [UP-3342] - Add alternate list-based home view to mobile theme
  • [UP-3343] - Create new profile-based DLM evaluator
  • [UP-3353] - Change import script so that an error list or log is created rather than stopping on 1st error
  • [UP-3354] - Add mobile transit portlet icon

Security Bug

  • [UP-3382] - session.SessionFixationProtectionStrategy warns on startup of quick start

Downloads: http://www.jasig.org/uportal/download/uportal-404
Release Notes: https://wiki.jasig.org/display/UPC/4.0.4

-Eric Dalquist

Deployer Notes

  • Requires Servlet API 2.5 to run. Tomcat 6.0 is the first version of Tomcat to support Servlet 2.5
  • Requires JDK 1.6.0_26 or newer
  • Data export and import is required when upgrading from a version earlier than 4.0.0

Issues addressed in uPortal 4.0.4

type priority key summary

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Bugs known to afflict uPortal 4.0

priority key summary resolution fixVersion

Unable to locate Jira server for this macro. It may be due to Application Link configuration.