Skip to content
Enterprise open source portal built by and for the higher education community.
Java JavaScript CSS XSLT HTML Groovy Other
Failed to load latest commit information.
assembly Clarify : / ant.bat rather than bare ant. May 1, 2015
bootstrap [maven-release-plugin] prepare for next development iteration Apr 25, 2016
docs Clarify uportal-use-angular "directive," add Abstract Sep 16, 2015
filters UP-4649: Undo accidental log level change May 17, 2016
gource UP-4361 license header "Apereo" rather than "Jasig". Dec 30, 2014
src/site UP-4361 license header "Apereo" rather than "Jasig". Dec 30, 2014
uportal-db [maven-release-plugin] prepare for next development iteration Apr 25, 2016
uportal-ear [maven-release-plugin] prepare for next development iteration Apr 25, 2016
uportal-platform-api [maven-release-plugin] prepare for next development iteration Apr 25, 2016
uportal-portlets-overlay [maven-release-plugin] prepare for next development iteration Apr 25, 2016
uportal-search-api [maven-release-plugin] prepare for next development iteration Apr 25, 2016
uportal-war UP-4668: Change getEntityType -> getLeafType (overlooked in the GaP r… May 19, 2016
.gitignore UP-4427: Added a unit test for processText() Mar 27, 2015
.springBeans UP-3146 Revert encoding/line ending fixes Aug 29, 2011
.travis.yml Remove caching. It appears to make very little difference. The added … Mar 9, 2015 Add guidance on Pull Request naming and on linking JIRA from PR. Nov 11, 2014
LICENSE test Jun 2, 2010
NOTICE Update the NOTICE file ahead of release Apr 22, 2016
NOTICE.template Change labels and URLs from Jasig to Apereo. Apr 18, 2014 Modest update to the file Apr 25, 2016 NOJIRA update comment Apr 25, 2016
build.xml NOJIRA Improved documentation and re-organized build.xml so public AP… Apr 28, 2016
findProperties.groovy UP-4361 license header "Apereo" rather than "Jasig". Dec 30, 2014
pom.xml UP-4673: Added missing NewsReader preferences to RSS definition: Whit… May 3, 2016
releaseNotes.html UP-4209 require Servlet3 / Tomcat 7+. Dec 30, 2014

For more detailed help please refer to the uPortal Manual

Additional information about uPortal is available on the uPortal Home Page or in the uPortal Wiki

Travis-CI Continuous Integration

uPortal uses Travis-CI for lightweight continuous integration. You can see build statuses at []. This handy image summarizes build status for the master branch:

Master Branch Build Status


  • JDK 1.8 - The JRE alone is NOT sufficient, a full JDK is required
  • Servlet 3.1 Container - Tomcat 8.0 is required. (NOTE: Tomcat 7 may continue to workin the early 4.3 period. We reserve the right to use leverage Servlet 3.1, JSP 2.3, EL 3.0 and Web Socket 1.1) There some configuration changes that must be made for Tomcat which are documented in the uPortal manual.
  • Maven 3.2.2 or later
  • Ant 1.8.2 or 1.9.3 or later.

Building and Deploying

uPortal uses Maven for its project configuration and build system. An Ant build.xml is also provided which handles the initialization and deployment related tasks. As a uPortal deployer you will likely only ever need to use the Ant tasks. Ant 1.8.2 or 1.9.3 or later is required

Ant tasks (run "ant -p" for a full list) :

  • hsql - Starts a HSQL database instance. The default uPortal configuration points to this database and it can be used for portal development.
  • initportal - Runs the 'deploy-ear' and 'init-db' ant targets, should be the first and only task run when setting up a new uPortal instance WARNING: This runs 'init-db' which DROPS and re-creates the uPortal database
  • deploy-ear - Ensures the latest changes have been compiled and packaged then deploys uPortal, shared libraries and all packaged portlets to the container
  • initdb - Sets up the uPortal database. DROPS ALL EXISTING uPortal tables re-creates them and populates them with the default uPortal data WARNING: This DROPS and re-creates the uPortal database
  • deploy-war - Ensures the latest uPortal changes have been compiled and packaged then deploys the uPortal WAR to the container.
  • deployPortletApp - Deploys the specified portlet application to the container. This is the required process to deploy any portlet to a uPortal instance. ex: ant deployPortletApp -DportletApp=/path/to/portlet.war

Help and Support

The email address is the best place to go with questions related to configuring or deploying uPortal.

The uPortal manual is a collaborative document on the wiki which has more detailed documentation:

Other Notes

Initial Configuration

To deploy uPortal you must set the server.home variable in the file to the instance of Tomcat you want to deploy to.

Build approach

The approach here is that there is a generic pom.xml and build.xml that you should not have to edit, alongside a that you absolutely must edit to reflect your local configuration. Edit to reflect such configuration as where your Tomcat is, what context you would like uPortal to be deployed as, etc.

Initial Deployment

You must run the initportal target before uPortal is started the first time. This target will take care of compiling, deploying, database population and other initial tasks. Running initportal again is similar to hitting a reset button on the portal. Any saved configuration in the portal is lost and a clean version of the portal is configured.


The /uportal-war/src/main/resources/logback.xml Logback configuration file will end up on the classpath for Logback to find. You'll need to either change that configuration then run deploy-war. You can configure the logging level, where the file should be, or even choose a different logging approach.

Database configuration

Database connection information is read from /uportal-war/src/main/resources/properties/, but is normally configured in filters/{}.properties.

Something went wrong with that request. Please try again.