Skip to content

Instantly share code, notes, and snippets.

@apetro
Last active March 22, 2017 16:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save apetro/dbbbdbf0ede609affba5b6694df05204 to your computer and use it in GitHub Desktop.
Save apetro/dbbbdbf0ede609affba5b6694df05204 to your computer and use it in GitHub Desktop.
AngularjS-portal description for Apereo website incubating projects page

AngularJS-portal

This project is an alternative user interface for use with uPortal, levaraging APIs, content, and functionality in uPortal and adding experiences.

Features:

  • Simplified initial dashboard user experience with strongly typed, designed widgets.
  • Notifications.
  • User-browseable directory of applications.
  • Search, over the directory of applications and beyond.
  • Multi-tenancy-friendly features around theming and differential configuration by theme.

The AngularJS-portal project includes an alternative-to-Portlets framework for developing applications for delivery through the portal. It also continues to support uPortal rendering of JSR-286 Portlets (so long as they are rendered in maximized or exclusive window states), in a snappy client-side way when it can, and via the traditional uPortal rendering pipeline when it cannot.

AngularJS-portal serves as the user interface for some or all of the portal's users for some or all of their portal experiences, depending upon adopter implementation and configuration choices. That is, while AngularJS-portal itself does not support rendering JSR-286 Portlets other than maximized, an adopter can mash up AngularJS-portal experiences and traditional uPortal rendering pipeline experiences to deliver both many-portlets-on-a-page experiences and AngularJS-portal's more constrained, designed experiences.

This product trends minimalist and opinionated, with adoption of Google's Material Design in general and strongly typed, designed, constrained widgets for the dashboard experience in particular. Nonetheless, AngularJS-portal engineers to configure variously and degrade gracefully, e.g. using feature flags and graceful degradation to allow adopters to differ in local implementation choices while nonetheless benefiting from the shared software product.

This project develops the free and open source software product that the University of Wisconsin-Madison locally implements to deliver its MyUW portal. This origination of the project turns out to be interesting and aligned, in that MyUW is partially multi-tenant, serving the University of Wisconsin system with campus-specific hostnames, skins, features, and content. The feature flags and graceful degradation have to work, because the product's largest adopter itself is in some ways more like several varying local implementations of the product than it is like one monolithic implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment