AngularJS alternative UI for Apereo uPortal (built for MyUW)
HTML CSS Java Shell
Latest commit 9cbb488 Feb 17, 2017 @jiayinjx jiayinjx committed with vertein MUMMNG-2978 add keywords for Grad Student Portal entry (#561)
* MUMMNG-2978 add more search keywords for Grad Student Portal entry

* Revert "MUMMNG-2978 add more search keywords for Grad Student Portal entry"

This reverts commit 99a2aab.

* MUMMNG-2978 Add more search keywords for Grad Student Portal entry

Portal with Angular

Join the chat at Build Status Coverage Status Code Climate Issue Count alt

What is this?

This is an Angular approach to the dashboard view of uPortal. This dashboard will work along side uPortal, more of a companion app. It utilizes the uPortal rest APIs to collect layout info. It pulls notifications from the notification portlet resource URL.

See this project's documentation.

Resources for understanding what you can do with angularjs-portal:


  • Generate
cp angularjs-portal/angularjs-portal-home/src/main/resources/ angularjs-portal/angularjs-portal-home/src/main/resources/

This file contains your server side proxy configurations. See the example file for examples

  • run mvn clean package from the root directory to build the war files.

Building, Deploying, and Running with Apereo uPortal

  • Download, build, and run uPortal on your server
  • Setup autodeploy
  • cd to angularjs-portal root directory
  • Unix based systems, run : ./ master
  • Windows based systems, run :
copy angularjs-portal-home/src/main/webapp/js/app-config.js angularjs-portal-home/src/main/webapp/js/app-config.js.bak
copy angularjs-portal-home/src/main/webapp/js/master-app-config.js angularjs-portal-home/src/main/webapp/js/app-config.js
mvn package
cd angularjs-portal-home
mvn tomcat7:deploy  #or redeploy depending if this is a consecutive run
  • navigate to localhost:8080/uPortal
  • Login via any user that has access to the Welcome Tab in uPortal. If you want to use admin, you have to comment out the admin restricting part in the welcome tab layout
  • navigate to localhost:8080/web

Angularjs-portal is a different front end than the one supplied with Apereo uPortal. As of now, portlet rendering still takes place via uPortal's rendering pipeline. The theming comes from the uw-frame dependency.

University of Wisconsin styles the portal theme to look similar for a seamless transition between this webapp and the portal webapp.


  • Frame

    Frame was so cool it moved to its own project.

  • Home

    This is the portal home page. It uses the frame as a base then adds in the layout, app directory, and features pages.

To deploy the home build from the base directory described above. Then cd ./angularjs-portal-home and run mvn tomcat7:redeploy (assuming you have auto deploy configured). The home will now be deployed to /web.

Running w/ Mock Data

To run simply type mvn clean package && mvn jetty:run from the root directory. By default jetty runs on port 8080.

Deploying to a Running Local Tomcat

We added in support to deploy the artifact to Tomcat using Maven. To setup add a server to your .m2/settings.xml for Tomcat. Example:


The id of TomcatServer is important here. Add that user/pass combo to your $TOMCAT_HOME/conf/tomcat-users.xml. Also be sure you have a role of manager listed.


<role rolename="manager"/>
<user username="user" password="password" roles="manager-script"/>

The role of manager-script gives them the ability to use the /text api from Tomcat.

Read more about that here:

With this you can run mvn tomcat7:deploy or mvn tomcat7:redeploy if you have already deployed it once. We also wrote a script for this. Just run ./

Run on Codenvy

  • Create a Codenvy account (
  • Click alt and clone the Codenvy project.
  • If the project setup wizard prompts, select a Java Maven project.
  • Run the Multinode-tc7-j7 runner. (upper right corner). This should be the default runner for the project. (Note that it defaults to the root node, so you have to add in /web or /frame to the URL to get to those sub projects.)

Deploy to Remote Instance

Drop angularjs-portal-home/target/web.war in the Tomcat instance that runs uPortal and fire it up. Should just work.