Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Release

Item

Description

2.5Revisit Grouper service registryIdentify services in grouper.  Make them easy to see, join, manage, document, attest, etc.
https://docs.google.com/document/d/1zV2kuAKOwoBFIf4GIpiQt6-NFsVkdbYdagDjGcJ7efQ/edit
2.5Simplify UIMake UI task oriented and easy to use for various types of users
2.5Integrate connidmidpoint uses connid for provisioning.  This is a standard.  We would like Grouper to be able to load from and provision to connid connectors.  We would also like to migrate our (non-pspng) connectors (e.g. duo, box, etc) to connid (if not there already) and share with midpoint.
2.5?Improve notificationssupport people, groups, and email lists.  Individual email addresses are problematic.  Add ability to batch emails.  Log emails (temporarily).  User can control preferences.  Notify configure on groups.
Grouper email notifications
2.5Support JSON in grouper clientgrouper client currently does XML but should do JSON (by defualt with option to switch back)
2.5 (in progress)attributes on membershipsallow direct and indirect attributes on memberships in UI
2.5 patchSubject source adapter configuration wizardHave grouper subject source adaptor configuration in the UI like the loader config. Explore including Midpoint and Comanage if useful
2.5 patchCurated groupsAdd features to support Duke presentation
https://meetings.internet2.edu/media/medialibrary/2019/12/05/20191211-mckee-paranoidiam_1.pdf
?Move GSH needs into the UILook at how the community uses GSH and move those needs into the UI
?Membership constraintsAllow memberships to be able to be constrained for certain reasons, when those conditions are met, enable the membership, else disable. And keep the existing enabled/disabled dates if applicable
2.5 patchTroubleshoot accessAnalyze why someone is or is not in a group, when they got added, audits related, and check provisioning to see if they are in LDAP or box
2.5WS operationsAudit, enabled/disabled on findGroups, PIT, new paging, membership notes in WS
2.5 patchDaily report refactorRefactor the Grouper "daily" report.  make it a dashboard on UI.  Keep calculations in attributes if they arent already there with instrumentation.  See what features we can use from Michael Gettes dashboard
2.5 patchChangelog improvements

Allow change log consumers or message publishers to process messages before the single threaded "change log temp" processor completes.

Or, not that change log temp is quicker, allow change log consumers to keep track of which messages they have processed so messages can be processed out of order

2.5 patch

Register for notifications

Add ability for users to register to be notified of changes to specified objects. Note, there are rules to email users about changes to memberships

2.5 patchProvision lifecycle eventsEvents (such as admission, enrollment, new hire, etc.) must trigger lifecycle stage transitions, role changes, affiliation changes, etc.  Those can then cause other events such as service eligibility.  Lifecycle changes or affiliations all precipitate a need for provisioning wherein roles are mapped to services / entitlements.
2.5 patchWorkflow state groupsThe solution must support high level workflows between states. Group memberships transitioning among workflow state groups
2.5 patchSeparation of dutiesThe solution must anticipate the possibility of conflicting roles in the case of multiple personae. Also allow overrides of separation of duties
2.5 patchConflicting rolesThe solutions must take into consideration that conflicting grants of authority, eg, one source indicating a grant of access and another a denial of access, must be resolvable according to the needs of each application or service context
2.5 patchHandle multiple rolesThe solutions must enable individuals to have multiple roles/affiliations/relationships/whatever with the institution, each with its own lifecycle and overlapping set of access privileges needed to undertake each role. Statefulness (persistence and preservation of state) must permeate the design goals of all solution components in order to correctly and efficiently manage their access over the course of these multiple lifecycles
2.5Add database columnsAdd database columns for group expiry (membership expiry already exists), and membership notes (maybe an attribute instead). Anything else for point-in-time? "visible" flag for UI for groups.  password table for revamped WS authn.  Service account subject source table?  provisioning status.  provisioning group status?  log table?  email batching? config PIT table
2.5? (started)Revise build environment and dependency retrieval

Revising code environment to get rid of dependencies and the hybrid builds (Maven and ant builds, hard to keep everything in sync)

Possible options:

  1. Ivy: keep existing ant scripts and use Ivy for dependency retrieval
  2. Maven: Remove ant build script and let maven drive both the build and dependency retrieval. (create various profiles for each env)
  3. Gradle: Remove ant/maven build scripts. Use groovy scripts to retrieve dependencies and drive the build

Need to figure out versions for each dependency.

2.5?Harmonize the UNC, Grouper, and Unicon azure AD codeoffice365-and-azure-ad-grouper-provisioner
?Update WS authnKeep creds in db, allow users to create a local entity with password, that should be sent with http header based on timestamp and hash of url and request body.  look at popular APIs and do something similar, trying to be self serv.  password should not be sent in request, just sometime cryptographically safe.  allow password changing by user.
2.5 patchMin group membership size

In loader jobs and just on groups have min group sizes
https://todos.internet2.edu/browse/GRP-2388

2.5Performance diagnosticsAdministrative function to measure and diagnose the performance of a deployment
2.5?Real time message based provisioningAllow messaging to take events to provision new netIds (pspng)
2.5 patchExpire dates

Add expire dates to groups (other objects? attribute definitions? attribute names?) and expose privilege expire dates to WS/UI. GRP-1807: folder names limited to 255.  Add approx group size column?

GRP-849: add enable/disable dates on groups like memberships and permisisons

2.5 patchPSPNG UI configuration wizardWizard to walk administrator through setting up a PSPNG configuration
2.5?Rules on individual membershipAn individual membership could have a rule that it is dependent on memberships in another group for example
2.6Add remaining attribute/permission operations to WSAdd permission hierarchy services for roles, actions. Limits? Any other attribute permission services?
?Add dropbox endpoint to pspng
?Add unicon azure integration to grouperAdd the unicon azure integration to grouper.

https://github.com/Unicon/office365-and-azure-ad-grouper-provisioner

?Add O365 to pspngNeed technical requirements first, leverage the existing Unicon work
2.6?Add bulk operationsMake bulk operations faster, e.g. creating or deleting a list of groups, adding or removing a list of memberships
2.6?UI warn, restrict, or schedule large operationsIf adding a group to another group, maybe warn, restrict, notify user that the operation will take a while to provision. Or schedule this for later?
2.5Copy entitlements to another userCopy entitlements to another user. Optionally include start and end dates
2.6?Automatically clean various thingsIf a group is marked as a composite ad hoc list (and/or maybe includes / excludes), then if the membership is no longer relevant, then set an end date for some time in the future. Optionally notify. This applies to individual permissions as well. Automatically or manually clean up redundant privs (if assigned to group and individual). Automatically or manually clean up redundant memberships (group and individual)
?Add high level help or how tosFor admins or users etc
?
Direct/indirect should show on policy group
?
Security model - documentation and UI opportunities - wizard?
?
Can application owners see reference group?  via attributes
On-goingUpdate third party librariesUpdate third party libraries to the latest version
On-going
Update training videosGo through training videos and either keep, re-record, annotate, or delete. Identify new training videos to make
On-going
Refine next generation provisioningTake PSPNG and feedback from the field and add more features, refine it, improve it, etc

On-going

Grouper Core enhancement

Continue adding capabilities to meet requirements from the field.

On-going

Community contributions

Solicit and publicize community contributions of extensions and complements to Grouper.

Not yet assigned

More provisioning connectors

Add further connectors to reflect specified group, membership, role, and permission information into external systems and services. Include Google provisioning (from the Unicon contribution to the PSPNG)

Not yet assigned

Scaling REST webservice

A page in the Administration guide, Grouper always available web services and client, demonstrates one way to provide always available services using a specialized client.  The CIFER REST web service will need the server-side capability to provide that always-available functionality.  In addition the REST API should be able to access multiple, read-only caches so it can efficiently handle any increase in query requests, most of which will not need to directly access the primary database. PSPNG should be able to provision to a database table, and WS should be able to read from that table (or tables) for simple operations.

Not yet assignedImprove grouper startup timeGrouper takes a while to startup in webapp or gsh command line. Some ideas were nailgun for GSH, javassist byte code enhancement with gradle, profiling, making sure grouper starts in webapp before first request.

...