2. Briefing Agenda
1. Update on uPortal Accessibility
2. uPortal Master vs 4.3.x Patches Branches
3. Current Community Release - Updates
4. UW-Madison AngularJS Portal
5. Open Apereo Conference in Philadelphia
6. Sustaining Engineering Plan Q1 2017
7. Q&A
4. Accessibility - Goal WCAG 2.0 AA
Type Description Occurrences
Contrast Text and background need
to have sufficient contrast to
be read
58
Image alternative text Images need alternative text
for screen readers
3
Submit button missing Forms need a way to be
submitted
2
Missing form input markup Inputs require addition
markup so screen readers
can describe usage
51
Valid Links Broken links can confuse
screen readers
3
5. Accessibility - Remediated Issues (UP-4735)
UP-4751 Links have insufficient contrast for WCAG AA
UP-4758 Label inputs - most popular apps portlet - WCAG 2 AAA
UP-4759 Ensure IDs are unique in Fragment Audit portlet - WCAG 2 AA
UP-4761 Label inputs for Password Manager Portlet
UP-4762 Ensure "Portlet Administration" search is properly labelled
UP-4763 Directory portlet input elements missing label
UP-4764 Label inputs in Marketplace Portlet
UP-4765 Portlet Administration Register New Portlet flow missing labels
UP-4768 Label input in search portlet
UP-4769 Label inputs in Translator Portlet
6. Accessibility - Remediated Issues Cont (UP-4735)
UP-4770 Label inputs in User Administration Portlet
UP-4771 Label radio buttons in User Locales Selector portlet
ANNPLT-120 Link labels to inputs so screen reader can properly access input description
CAP-213 Link labels to inputs for screen readers
NEWSPLT-139 Label inputs and add alternate text to images
UP-4752 Links have insufficient contrast for WCAG 2.0 AA
UP-4754 Increase Contrast of footer text to meet WCAG 2 AA Standard
UP-4757 Ensure inputs have a valid label - Permissions Manager Portlet - WCAG 2 AA
UP-4753 Add title to search box and hide icon from screen reader
UP-4756 Ensure links have valid destination - WCAG 2 AA
7. Accessibility - In Progress Issues (UP-4735)
UP-4787 Group Search broken In Progress
UP-4751 Links have insufficient contrast for WCAG AA Open
8. Accessibility - Remediation Outcomes
● Availability
○ uPortal 4.3.2
○ uPortal 5.0.0
● Federal Guideline Compliance
○ US - Section 504
○ US - Section 508
○ US - ADA
○ FR - RGAA
○ CA - AODA
● Better Experience for All
● Ongoing Process
10. Semantic Versioning
Given a version number MAJOR.MINOR.PATCH, increment the:
1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards-compatible
manner, and
3. PATCH version when you make backwards-compatible bug fixes.
http://semver.org/
11. 4.3.x Patches Branch
This branch should be focused on correcting bugs and other necessary changes
without adding new features or functionality.
https://github.com/Jasig/uPortal/tree/rel-4-3-patches
“PATCH version when you make backwards-compatible bug fixes.”
12. Master Branch
Master is not broken but …
It is very active and moving fast
Not backwards compatible with previous versions, including 4.3 patches
Packages have been moved from org.jasig to org.apereo
Ant & Maven tooling is in the midst of being replaced by Gradle
https://github.com/Jasig/uPortal/
13. The Big Question
What to do about minor improvements needed between
now and uPortal 5 public release later this year?
https://github.com/Jasig/uPortal/tree/rel-4-???
15. Current Community Release - Updates
Completed Work
FLUID-6064 Remove aria-role application from Uploader and Pager
NOTIFPLT-77 Action button (i.e. "Mark as Completed") missing
UP-4712 Events session groups does not track all groups
UP-4735 Perform an Accessibility Audit based on WCAG 2.0 Level AA and remediate issues uncovered (Epic)
UP-4736 Inner class o.j.p.groups.pags.dao.EntityPersonAttributesGroupStore$MembershipCacheKey should
implement Serializable
UP-4738 Re-tune caches settings for Groups+Permissions in ehcache.xml
UP-4740 Report on caches in poor condition
UP-4744 Provide better handling for 'bad data' in category memberships
UP-4777 Refactor Dynamic Skin Service
UP-4783 Import export portlet, label without associated id
16. Current Community Release - Updates
Security-Related
UP-4737 CVE-2016-1000257 Open Redirection Security Issue
UP-4743 Add HTTPONLY to PORTLET_COOKIE
WPP-101 Disable naive caching
17. Current Community Release - Updates
In Progress
UP-4748 Add ESLint tool as part of test script
UP-4786 Add integration support for new CAS ClearPass attribute passing
18. Current Community Release - Updates
Assisting Other Community Members
ANNPLT-116 Missing TinyMCE Stylesheets
EMAILPLT-190 library updates - refactor styles
UP-4075 Java 8 support, cglib 3.1 / JDK 8 / MacOS / apetro local environment issue
UP-4725 Region pre-header bug introduced in Add_canvas feature
UP-4729 Set "use flyout menu" from configuration files in respondr
… and many others!
20. UW-Madison AngularJS Portal
Lightweight front-end based on AngularJS (v1)
Latest release is 6.0.0
Active development
4.2 released in January 2016
5.0 released in June 2016
6.0 released in December 2016
Goal is a modern façade to enable developers that are more experienced with
newer technologies
21. UW-Madison AngularJS Portal
Design is a card or tile motif. The client-side code retrieves the user layout from
uPortal. This drives the single collection of cards or tiles to be displayed. The user
can then click on one, which redirects their browser to a maximized view of the
related portlet.
Tiles can also be extended to provide additional details in it’s body. RSS Feed is a
good example.
27. uPortal Master - proto-v5
High-Level Goals
Shift the customary deployment paradigm away from building on each portal server
Allow multiple adopters to deploy the same, Apereo-provided binaries
Move uPortal toward "cloud native"
Make uPortal easier to work with for developers, especially new developers
https://wiki.jasig.org/display/UPC/uPortal+5+Project+Overhaul
28. uPortal Master - proto-v5
Outcomes
Reinvent what implementing uPortal looks like
Reorganize uPortal source files into independent “modules”
Migration from the current Ant/Maven based build system to Gradle – a newer, more contemporary Java
build system
Make the builds faster
We will be able to have a build system that uses/builds binaries independently
Special Note: We hope to remove, where possible…
Unused code
@Depricated code
Unpopular features
29. uPortal Master - proto-v5
Status/Timeline
Not much progress in Q4, unfortunately
Much activity planned for Q1, 2017 (beginning February)
Release target: June 2017 (Open Apereo)
Short agenda this quarter, focused on Accessibility
[Christian]
40 hours of audit
120 hours of remediation
Check PRs for screenshots
Availability
uPortal 4.3.2 - tentatively late February
uPortal 5.0.0 - tentatively mid-year around open Apereo
Federal Guideline Compliance
This brings uPortal inline with Section 504, Section 508, and ADA Guidelines in the United States.
Internationally this brings uPortal inline with AODA 2020 (Canada), RGAA 2016 (France), and many more!
Better Experience for All
The changes made in uPortal for accessibility benefit the overall user experience. Each recommendation that WCAG offers, is designed to help guide all users toward their intended outcome.
Ongoing Process
We have remediated the accessibility issues uncovered in latest uPortal by our audit.
There is still room for uPortal to grow in this area, further improving accessibility and moving toward the AAA level as well as maintaining the AA level.
[Benito]
Merge into master and in your current custom repo. Can backport as needed.
[Andy]
Again, most of our Sustaining Engineering work was focused on WCAG 2.0 Level AA (UP-4735) and a few other accessibility efforts.
There was one important jira you should be aware of. UP-4712 addressed a bug that University of Kansas found. Event Aggregation (and related stat reports) were not honoring ancestry of groups. This is corrected and has been merged into rel-4-3-patches on 10/13/2016.
UP-4737 addresses an issue that plagues most websites. Open redirect occurs when a web page is being redirected to another URL in another domain via a user-controlled input. The Login Url has a redirect parameter that is now checked against the portal’s domain.
UP-4743 adds HTTPONLY for greater cookie security. This prevents client side scripts from accessing the cookie.
WPP-101 disables simplistic caching that was causing some configurations of Web Proxy Portlet to share details across multiple users. Thanks to Andrew Petro for addressing this. This is corrected in version 2.2.2.
ESLint is a static analysis and stylechecking tool for Javascript.
The latest versions of CAS do not support the old ClearPass approach. Thanks to California State University, Sacramento, the new approach is being integrated.
Here are just a few jiras where our team spent time engaging with other community members. We currently handle most of the review and merging of pull requests to the uPortal related projects.
[Benito]
[Drew]
[Drew]
[Benito] A revamp of documentation for uPortal and related projects was prioritized at the last Open Apereo Conference. While the uPortal documentation is in pretty good shape, it could benefit from being part of the repository. Pull requests can then include updates to documentation as needed. Portlet documentation is is a woeful state -- out of date, hard to find, and/or missing. This effort extends to those projects as well.