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.sh / ant.bat rather than bare ant. May 1, 2015
bootstrap Update master to 4.4.0-SNAPSHOT Jul 9, 2016
docs UP-4686: Changed new parameter name from maven.threads to maven.threa… Jun 13, 2016
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 Update master to 4.4.0-SNAPSHOT Jul 9, 2016
uportal-ear Update master to 4.4.0-SNAPSHOT Jul 9, 2016
uportal-platform-api Update master to 4.4.0-SNAPSHOT Jul 9, 2016
uportal-portlets-overlay Merge pull request #680 from bjagg/UP-4699_add-db-init-dependencies Aug 12, 2016
uportal-search-api Update master to 4.4.0-SNAPSHOT Jul 9, 2016
uportal-war UP-4492: Implement a suggestion posted to the Pull Request Aug 24, 2016
.gitignore NOJIRA: Adding eclipse properties to .gitignore Jun 20, 2016
.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
CONTRIBUTING.md 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
README.md Modest update to the README.md file Apr 25, 2016
build.properties.sample NOJIRA update comment Apr 25, 2016
build.xml UP-4686: Clean up condition stanzas in build.xml to use 'else=' Jun 14, 2016
findProperties.groovy UP-4361 license header "Apereo" rather than "Jasig". Dec 30, 2014
pom.xml NOJIRA: Upgrade to NewsReaderPortlet 4.1.3. NPE & logging fixes, and … Aug 8, 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 [https://travis-ci.org/Jasig/uPortal]. 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 uportal-user@apereo.org 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: https://wiki.jasig.org/display/UPM42

Other Notes

Initial Configuration

To deploy uPortal you must set the server.home variable in the build.properties 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 build.properties that you absolutely must edit to reflect your local configuration. Edit build.properties 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/rdbm.properties, but is normally configured in filters/{environment.name}.properties.