Child pages
  • 4.3.0
Skip to end of metadata
Go to start of metadata

Released: 25 April 2016


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.


  • 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 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 = '';  deployments that run initportal or initdb 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 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.


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.


Issues addressed in uPortal 4.3.0

Key Summary P
UP-4516 Refactor the AnyUnblockedGrantPermissionPolicy to be readable and maintainable and improve the performance of permissions checking through additional caching Critical
UP-4482 Add caching to two DB PAGS methods Critical
UP-4586 Resource Aggregation is broken in Respondr Major
UP-4580 Change header-left to use display:inline-block Major
UP-4579 Allow framework InvokerPortlet JSPs to access property values Major
UP-4570 Portlet Marketplace -- make it possible to publish the Marketplace portlet multiple times, targeting different portlets each time Major
UP-4563 Move LESS definitions out of defaultSkin/skin.less Major
UP-4564 Implement the 'header-top' region Major
UP-4547 Search Launcher -- fix the width of the search widget top-right Major
UP-4545 Update portlet api to 2.1 Major
UP-4542 Portlet automatic expiration UI doesn't list AM or PM Major
UP-4538 Portlet Marketplace -- Allow admins to disable the Reviews feature Major
UP-4537 Improve performance of the Marketplace subsystem by REMOVING the (additonal) permissions check for MANAGE and by creating far fewer AuthorizationPrincipal objects Major
UP-4536 Update NewsReaderPortlet to version 4.0.0 Major
UP-4530 Register new Portlet rapid typing in Portlet Title with browser autocomplete messes up Major
UP-4532 Tenant Admins get error after Save and Configure if saving portlet in other than PUBLISHED state Major
UP-4515 Missing MANAGE_MAINTENANCE activity for permissions owner UP_PORTLET_PUBLISH in default_data Major
UP-4505 Bootstraped Categories/Groups UI does not allow saving with no categories or groups Major
UP-4503 Add more info about portlets to the new portletRegistry.json REST API Major
UP-4512 Add Ability to Add Folder to Arbitrary Folder Via Layout API Major
UP-4509 deluser fails Major
UP-4497 Rev the version of the /portletList REST API and add an optional 'categoryId' parameter Major
UP-4495 PortalPermissionEvaluator doesn't support unauthenticated users Major
UP-4490 JavaScript issues with the 'Create Ad Hoc Group' interface in entity-selector subflow Major
UP-4491 SessionTimeout portlet -- a few modest fixes needed Major
UP-4487 Remove a couple unused and useless methods from IPersonAttributesGroupTestGroupDefinitionDao and IPersonAttributesGroupTestDefinitionDao and their implementing classes Major
UP-4464 Cache PAGS group definitions that perform membership test Major
UP-4456 PAGS (JPA) -- Add constructors to IPersonTester implementations that accept a single IPersonAttributesGroupTestDefinition; deprecate the ones that accept String,String Major
UP-4457 Provide a new IPersonTester that can give you membership in a PAGS group based on your presence or absence in other groups Major
UP-4458 Expand the nature of the data than can be defined in a PAGS <test> element with Set<String> includes and Set<String> excludes Major
UP-4451 The pre-header region looses its background color below 769px Major
UP-4448 fragment-admin-exit portlet needs to be integrated with the Respondr skinning process Major
UP-4453 Add the search-launcher to the guest experience Major
UP-4446 NPE for RDBMServices attempting to release connection never obtained Major
UP-4445 Add portlet by fname Major
UP-4443 Portlet Manager -- Support complex/compound criteria for SUBSCRIBE permission Major
UP-4438 Create layout json v4.3 endpoint to provide layout data in JSON format for Javascript-driven UI rendering Major
UP-4413 uPortal may not work with Oracle 12 Major
UP-4521 Exception in JpaPermissionOwnerDao.getPermissionOwner: 'No transactional EntityManager available' Major
UP-4591 Create uPortal-specific overrides property files Major
UP-4598 Enhance Responsive Design impl of region-header-left & region-header-right Major
UP-4600 DistributedLayoutManager may incorrectly return the same cacheKey for users who have different layouts Major
UP-4604 Tenant Manager - template processing can fail on spEL values with closing bracket Major
UP-4582 Dragging portlet to an empty column results in portlet being outside of the column structure Major
UP-4603 Tenant Manager - cannot parse template with CDATA Major
UP-4605 Dragging portlet to end of column fails Major
UP-4624 Tenant Manager 'Add Tenant' Enhancements -- report on operations performed, allow some operations to fail without sinking the thing, add support for actions Major
UP-4599 Set owner of MAX_INTERVAL permission and implement short circuits in MaxInactiveInterceptor **REQUIRES DB UPDATE** Major
UP-4614 Data import of MAX_INACTIVE activity inserts rather than updates Major
UP-4630 Tenant Manager Implement Update/Delete Functionality Major
Showing 50 out of 128 issues Refresh

Bugs known to afflict uPortal 4.3.0

(Note that this is only as good as the affects-version metadata on JIRA issues).

Key Summary P
UP-4725 Region pre-header bug introduced in Add_canvas feature Blocker
UP-4679 Associating a single user with multiple fragment definitions (normally by accident) cripples the portal Critical
UP-3488 Preferences : encoding pb with postgresql - UTF-8 non ascii characters Critical
UP-4582 Dragging portlet to an empty column results in portlet being outside of the column structure Major
UP-4605 Dragging portlet to end of column fails Major
UP-4678 ClassCastException on WebAsyncManager in cross-context (portlet) dispatched request Major
UP-4673 Add missing portlet preferences to RSS (NewsReader.cpd.xml) Major
UP-4669 ant db-update fails for HSQLDB Major
UP-4706 Possible memory leak in DLM causing hundreds of millions of NodiInfo objects Major
UP-4713 Subclasses of o.j.p.g.pags.testers.IntegerTester don't handle non-String values Major
UP-4663 uPortal hosted assets (JPG, CSS) not using cache-control and browser does HTTP GET Major
UP-4535 ProfileSelectionEvent doesn’t get processed by the ApplicationEventPublisher before ThemeNameEqualsIgnoreCaseTester needs to know the selection Major
UP-3886 SaxParserImpl warnings on properties on Java 1.7.0_45 warnings with uP 4.0.13 Major
UP-4641 Create custom/ad-hoc group error message poor for invalid group name Major
UP-4539 Incorrect versioning of portlet-definition from 4.0 to 4.1 Major
UP-4658 Unable to delete items using admin UI Major
UP-4708 IE 11 and previous browsers: The space created for the "responsive left nav" does not disappear when desktop users change window size if the menu is open Major
UP-4707 Desktop Nav is missing in IE 11 and previous version. Major
UP-4766 Error adding portlets as Tenant Admin Major
UP-4762 Ensure "Portlet Administration" search is properly labelled Major
UP-4613 Exiting from Fragment Admin results in user being logged out when using Spring SAML Major
UP-4758 Label inputs - most popular apps portlet - WCAG 2 AAA Major
UP-4737 CVE-2016-1000257 Open Redirection Security Issue Major
UP-4760 Form missing submit button on import export portlet - WCAG 2 AA Major
UP-4833 use of @Lob annotation results in Postgresql using large objects, with rows getting orphaned Major
UP-4772 uPortal installation fails if I directly download and run it Major
UP-4974 Fix 500 error from layout code removing marker node Major
UP-4739 Portal Event Aggregation Fails When Search Term is Too Long Major
UP-4730 up-print-plugin.js broke uPortal page when printable is true in a channel Major
UP-4715 Custom Groups cause problems with large number of groups Major
UP-4683 ant data-export fails on permission-set when using Postgres 9.4 Major
UP-4527 Tenant Admin sees 'Add Custom Group' in Manage Portlets Group editing but can't create ad-hoc group; permission denied Major
UP-4606 /uPortal/api/v4-3/dlm/layout.json always has allowAddTab=true in navigation Minor
UP-4667 Respondr defaultSkin -- Fix left padding on larger displays Minor
UP-4670 An horizontal scrollbar appears on narrow display (new mobile nav Minor
UP-4695 Mobile menu issues on 4.2.x and 4.3.x at certain precise resolutions Minor
UP-4524 layout 4.3 JSON does not apply structure attributes to nested folders Minor
UP-4696 several commons-collections lib Minor
UP-4710 GuestUserTester bug Trivial
UP-4671 the new mobile nav doesn't have the right background-color Trivial
UP-3244 Dynamic portlet titles not working. Trivial