Portal with Angular
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.
Resources for understanding what you can do with
cp angularjs-portal/angularjs-portal-home/src/main/resources/endpoint.properties.example angularjs-portal/angularjs-portal-home/src/main/resources/endpoint.properties
This file contains your server side proxy configurations. See the example file for examples
mvn clean packagefrom the root directory to build the war files.
- Download, build, and run uPortal on your server
- Setup autodeploy
- cd to angularjs-portal root directory
- Unix based systems, run :
- 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 was so cool it moved to its own project.
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
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:
<server> <id>TomcatServer</id> <username>user</username> <password>password</password> </server>
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: http://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/plugin-info.html
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 (codenvy.com)
- Click and clone the Codenvy project.
- If the project setup wizard prompts, select a Java Maven project.
- Run the
Multinode-tc7-j7runner. (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.