Framework for creating uPortal Applications
JavaScript HTML CSS Other
Switch branches/tags
Clone or download
ChristianMurphy Merge pull request #812 from ChristianMurphy/ci/leverage-npm-ci-to-sp…

ci: leverage npm ci to speed up testing
Latest commit 289bbbf Aug 9, 2018
Failed to load latest commit information.
.github docs: remind in PR template to update Feb 5, 2018
components fix: removes unused avatar setting Aug 8, 2018
docs docs(maintmode): document default and custom widget maintenance messages Jul 18, 2018
src/main fix: revert change to filtered-resources May 4, 2018
static refactor: removing content references to uw-frame Sep 22, 2017
tools/static ci(travis): leverage commitlint travis helper Nov 24, 2017
.editorconfig Apply license headers to source files (#523) Sep 13, 2017
.gitignore chore: updates gitignore Jun 14, 2018
.npmrc build: adding @uportal org scope, publishing publicly by default Sep 22, 2017
.travis.yml ci: remove nvm cache it does not speed up builds Aug 9, 2018 docs: update changelog with ci changes Aug 9, 2018 Acknowledge Apereo Welcoming Policy (#461) Jun 26, 2017
Dockerfile refactor: removing content references to uw-frame Sep 22, 2017
LICENSE refactor: pull ui sortable from cdn and use require's shim feature Oct 15, 2017
NOTICE build: fix notice file to use name rather than artifactId Sep 22, 2017 docs: fix typo "statuss" --> "status" Mar 12, 2018 docs(github): Add to guide questions to the mailing list Jul 24, 2017
appveyor.yml ci: leverage npm ci to speed up testing Aug 9, 2018 docs: Project renamed Sep 25, 2017
dependencyci.yml Apply license headers to source files (#523) Sep 13, 2017
package-lock.json ci: leverage npm ci to speed up testing Aug 9, 2018
package.json Merge pull request #810 from uPortal-Project/greenkeeper/less-3.8.1 Aug 9, 2018
pom.xml chore(release):prepare for next development iteration Aug 1, 2018


Questions? Get in touch.

npm version Maven Central

Build Status

dependencies Status devDependencies Status Dependency Status Greenkeeper badge

Coverage Status

bitHound Overall Score

Time to PR close Time to issue close

CII Best Practices Semver Keep a Changelog Conventional Commits Google code style

uPortal ecosystem incubating badge Apereo Incubating badge

uPortal-app-framework is a front-end framework for building web applications that users experience as "apps in the portal".

This package includes the uPortal-home header, settings, footer, and some reusable components :

uPortal app framework screenshot

Learn more about the reusable components on our docs page


Java (only if you want a maven artifact)


uportal-app-framework provides the primary HTML page at the root of the context that hosts your AngularJS single page application. In order to introduce your own content, uportal-app-framework's extension point is 'my-app/main.js'.

Getting Started with uportal-app-framework

In your existing Maven war project, add the following dependency:


(uportal-app-framework is available in The Central Repository.)

Start by creating the folder 'src/main/webapp/my-app' within your Maven war project, and copy uportal-app-framework's main.js in to it. uportal-app-framework includes RequireJS to help you load any additional JavaScript assets you wish, you'll do that in this file.

See my-app-seed for a great starter app using this frame.

Getting Started with static

This gives you the basic frame in a static content type way. Just add your files to the proper directory and you should be all set. This module is still a work in progress. Note it only works right now as the root context (if you want to change, update the index.html). This module is mostly used for development on the frame itself.


We love tests. We setup karma to run our tests.

To run the test suite:

npm test

Running locally

To build and run on a Superstatic server:

npm run static:dev


You can also create a artifact using maven. There's a pom.xml file in the root directory. The maven build will use the normal npm build and bundle into a deliverable war file.

Running the documentation

To run the Jekyll docs locally:

cd docs

bundle exec jekyll serve

You may need to install the Jekyll bundler on your machine. See Jekyll's quick-start guide for instructions.