4.3.0
Released: 25 April 2016
Summary
Version 4.3.0 is the newest minor release of uPortal, and it is the product of a significant amount of brand new work. A total of 122 JIRA issues resolved or closed for this release, including 96 that are not a part of the 4.2.2 (or any other) release. If I had to sum up this release in one word, it would be this one: "Polish." uPortal 4.3.0 brings a large number of performance enhancements, improvements to user experience, and bug fixes. uPortal 4.3 also includes support for Java 8 & Tomcat 8.
Highlights
- Support for Java 8
- Support for Tomcat 8
- Ability to manage BROWSE permission in the Portlet Manager
- Performance fixes & improvements for permissions evaluation & JPA PAGS
- Numerous improvements to the Tenant Manager
- Portlet Marketplace improvements
- New & updated REST APIs
- Ad hoc PAGS groups (based on membership/non-membership in other groups)
- Fixes & improvements to Respondr
- Updates to "Hover" Chrome (options for no-chrome portlets)
- New menu for small displays, plus optional "flyout" menues (like Universality offered)
- Allow fragment owners to manage fragment layouts regardless of restrictions
- Update Bootstrap to version 3.3.5
- Version updates to the bundled CAS and several bundled portlets
Upgrade Notes:
- If upgrading from 4.1 or prior, do not attempt an upgrade without an initdb. If upgrading from 4.1, you can do it if your 4.1 theme was Respondr. If your 4.1 theme was Universality, you must do an initdb.
- EntityProperties The unused entityType
org.jasig.portal.services.entityproperties.EntityProperties
was removed; if you are deploying uPortal 4.3 with an existing database, use the following SQL to remove it:DELETE FROM UP_ENTITY_TYPE WHERE ENTITY_TYPE_NAME = 'org.jasig.portal.services.entityproperties.EntityProperties'
; deployments that runinitportal
orinitdb
will not experience this issue. - As always with an version update when not doing an initdb, run the command ant -Dmaven.test.skip=true db-update to update the schema of your database. If you want to review what the changes would be first, run ant -Dmaven.test.skip=true db-gen-update-script -DoutputDir=dbUpdateDdl and review the SQL scripts in that directory.
- SimpleContentPortlet moved from version 1.x to version 2.x. If you are upgrading without an initdb and you used the Attachments feature to upload images, documents etc. into SimpleContentPortlets, Announcements, or other locations, you must export the attachments using the 1.x SimpleContentPortlet and import them using the 2.x SimpleContentPortlet. The attachment storage changed from a Base64-encoded text field to a BLOB. See Upgrading from 1.2.x or prior to 2.0.0.
- The Newsreader portlet definitions changed because the single-news-feed portlet is eliminated. Integrate the changes into your portlet definitions.
- There are a number of permissions changes that were made in 4.3.0. As with any upgrade, you should compare your src/main/data for 4.3.0 to your current version, including your institutionalized version of the quickstart entities (most sites copy the quickstart entities to an institution-specific entities directory and customize the institution-specific entities directory). For more details on that process, see the updating section of Git Workflow for Vendor Branching for more details. Some particular notes if upgrading from 4.1 or 4.2 to 4.3 without an initdb:
- For Manage Portlets and other features, there are additional permissions that need to be imported. There are some permissions that were removed for security reasons. See the following image for changes that need to be imported and permissions that need to be deleted when going from 4.2.0 to 4.3.0 (non-exhaustive comparison, do your diligence comparing the directories yourself and certainly do it for 4.1 to 4.3.0 as it has additional files needing importing).
- When going from 4.1 or 4.2 to 4.3.0 you can create your list of files to import and import them all at once using a new capability added to ant data-import. For 4.2.x to 4.3.0 for instance, you can check out the file https://github.com/Jasig/uPortal/blob/master/uportal-war/src/main/data/default_entities/update4-2to4-3-0.txt and run the ant command ant data-import -Dmaven.test.skip=true -DfilesListFile=uportal-war/src/main/data/default_entities/update4-2to4-3-0.txt to update the standard default-entities as shown in the picture below (you'll still need to use the Admin UI to delete the permissions in grey). You potentially can just re-import the default_entities directory, but beware that you probably have some overlapping files in your institution_entities directory that would be overridden if you imported the default_entities.
- For Manage Portlets and other features, there are additional permissions that need to be imported. There are some permissions that were removed for security reasons. See the following image for changes that need to be imported and permissions that need to be deleted when going from 4.2.0 to 4.3.0 (non-exhaustive comparison, do your diligence comparing the directories yourself and certainly do it for 4.1 to 4.3.0 as it has additional files needing importing).
A change was made in uPortal 4.2.0 to have BROWSE also means SUBSCRIBE. This change was removed in 4.2.2 and 4.3.0. If you are starting from a 4.1.x, 4.2.0, or 4.2.1 database or data set how it may impact you is:
- If you have institution-data derived from the quickstart entities, you probably have the data like the following in your data set: https://github.com/Jasig/uPortal/blob/uportal-4.2.1/uportal-war/src/main/data/quickstart_entities/permissions_set/Everyone_BROWSE_SpecificPortlets-permission-set.xml
- The impact of BROWSE on portlet categories in the 4.2.0 and 4.2.1 code is that a category such as Information assigned to a portlet will basically allow everyone to see the portlet in the Customize Gallery and be able to render it. So if for instance you have a student-news and faculty-news both assigned the Information category, any authenticated user will be able to see it in the Customize Gallery and be able to render it on their page. Particularly a problem if you have a Home page that has a mix of student, faculty, and staff portlets that used permissions to prevent some portlets from rendering for certain audiences.
- The solution to this is to remove the BROWSE assignment to the categories. You can't do this with data import, you must do this with the Manage Permissions UI. Click on a permission such as Browse. Use the target filter to select one of the Categories. In the table of results with uPortal 4.3.0 click on Delete to delete the permission. Then insure that you have the BROWSE permission assigned to your portlets that you want users to be able to see. It's recommended to do this via the portlet definition files as is done like https://github.com/Jasig/uPortal/blob/uportal-4.2.1/uportal-war/src/main/data/quickstart_entities/portlet-definition/about-college-life.portlet-definition.xml#L40 so your XML data files are up to date. Alternately you can use the Manage Portlets section of the Admin UI to assign BROWSE permission to the portlets, but then it's recommended to export your entities and incorporate the changes into your src/main/data directory.
- NOTE: The Portlet Marketplace uses BROWSE permission on a category to determine whether to display the category name in the UI. Unfortunately this can cause problems (see above). Eventually this behavior will change (see - UP-4086Getting issue details... STATUS ). For now be aware that assigning BROWSE to portlet categories can have the unintended impact of allowing audiences to see portlets in the Customize, Search Auto-select, and Search results that they may not be intended to see, though without SUBSCRIBE permission they would not be able to render them.
Download the release
You can grab the binary releases, including a ready-to-start Quickstart release, from the GitHub release page.
Security bugs known to affect uPortal 4.3.0
This macro will automatically display publicly visible security bugs tagged as affecting this release in the issue tracker.
See also : Release announcement as posted on uportal-user@ email list.
Human readable release notes
See the GitHub release page for human-readable release notes.
Downloads: https://github.com/Jasig/uPortal/releases/
Maven Project Site: http://developer.jasig.org/projects/
Issues addressed in uPortal 4.3.0
Bugs known to afflict uPortal 4.3.0
(Note that this is only as good as the affects-version metadata on JIRA issues).