Versions Compared

Key

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

...

Add expire dates to groups (other objects? attribute definitions? attribute names?) and expose privilege expire dates to WS/UI

GRP-849: add enable/disable dates on groups like memberships and permisisonsAllow Grouper to read a message queue and act on messages (e.g membership changes etc)

Release

Item

Description

2.4 (done)Add new messaging strategiesAdd new messaging strategies in the Grouper Messaging system for ActiveMQ, AMQP (e.g. RabbitMQ), AWS
2.4 (in progress)DeprovisioningUser interface to manage deprovisioning of subjects2.4 (done)AttestationGroups and folders can be marked to require periodic membership review. Reminders will be emailed to group owners
2.4 Provisioning in UIManage and view provisioning information in the UI2.4 (done)TIER API in installerThe TIER API Tomee service is installed with the grouper installer
2.4 (done)Grouper loader in UIUser interface to show loader configuration, diagnostics, logs, wizard editor
2.4 (done)Subject source diagnostics in UIUser interface to analyze, diagnose, and recommend improvements for subject source configuration
2.4 (done)Harmonize configurationConvert sources.xml and ehcache.xml to be cascaded properties files
2.4 ?Add database columns(done)Grouper loader real time updatesAllow a change log table (SQL triggers) or messages to trigger loader updates for a partial population or single userAdd database columns for group expiry (membership expiry already exists), and membership notes. Anything else for point-in-time
2.4 Allow configuration to be stored in database(done)Grouper instrumentation

Improve and standardize Grouper logging to provide centralized metrics at an institution and the ability to upload stats to a central Internet2 server

  • Around Dec 2016, make the patch default to on
  • Add features: Number of loader jobs, Hourly stats of number of users (UI/WS) [rate information not just count], Collect configuration (non sensitive), Performance (e.g. threadcount of loader jobs, heap size), Operations per time period for pspng / ldap server, how many messages, Subject source type

  • UI so administrators can see local stats
Allow configuration to be stored in the database so common configuration is shared among all JVMs. Of course some configuration wouldnt be elgible for this (e.g. database connection information, passwords, etc)
2.4 (done)Grouper loader real time updatesAllow a change log table (SQL triggers) or messages to trigger loader updates for a partial population or single userTIER packaging for 2.4In the TIER packaging for Grouper, create Grouper docker container, integrate Grouper with Shibboleth, configure PSPNG, configure user registration with COmanage
2.4 (done)UI accessibilityIncorporate recommendations from Colorado UI accessibility review

2.4 (done)

Improve GSH

Improve gsh by adding readline like capabilities (line editing, tab completions, history, etc).  Explore incorporating Jline2 into the current beanshell approach or possibly adopting groovysh as the base. Nailgun is an option too

2.4 (done)Grouper instrumentation

Improve and standardize Grouper logging to provide centralized metrics at an institution and the ability to upload stats to a central Internet2 server

  • Around Dec 2016, make the patch default to on
  • Add features: Number of loader jobs, Hourly stats of number of users (UI/WS) [rate information not just count], Collect configuration (non sensitive), Performance (e.g. threadcount of loader jobs, heap size), Operations per time period for pspng / ldap server, how many messages, Subject source type

  • UI so administrators can see local stats

    2.4 (done)Inbound messages

    Allow Grouper to read a message queue and act on messages (e.g. membership changes etc)

    TIER packaging for 2.4 In the TIER packaging for Grouper, create Grouper docker container, integrate Grouper with Shibboleth, configure PSPNG, configure user registration with COmanage(in progress)DeprovisioningUser interface to manage deprovisioning of subjects
    2.4?Membership reportsProvisioning in UIManage and view provisioning information in the UISee which users in a group or a folder of groups are not active. Add other attributes. Download reports. Schedule reports.
    2.4Update third party dependenciesAdd 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 groupsUpdate third party dependncies and have strategy to easily do this on each release. Document which libraries are used and licenses.
    2.4?Require Java8, Tomcat8Standardize and require java8
    Not yet assignedRevise 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.

    Not yet assignedReal time message based loading and provisioningAllow messaging to take events to update a user in loader jobs (ldap), and provision new netIds (pspng)
    Allow configuration to be stored in databaseAllow configuration to be stored in the database so common configuration is shared among all JVMs. Of course some configuration wouldnt be elgible for this (e.g. database connection information, passwords, etc)
    2.4Update third party dependenciesUpdate third party dependncies and have strategy to easily do this on each release. Document which libraries are used and licenses.
    2.4upgrade vt2.4?upgrade vt-ldapto ldaptive (PSPNG to use ldaptive). Use adaptor?

    2.

    5
    Add remaining attribute/permission operations to WSAdd permission hierarchy services for roles, actions. Limits? Any other attribute permission services?
    2.4 (done)UI accessibilityIncorporate recommendations from Colorado UI accessibility review

    2.4 (done)

    Improve GSH

    Improve gsh by adding readline like capabilities (line editing, tab completions, history, etc).  Explore incorporating Jline2 into the current beanshell approach or possibly adopting groovysh as the base. Nailgun is an option too

    2.5

    Provisioning by message

    Use a message bus to notify interested parties, including traditional provisioning agents, of group changes. TBD: supported message transports, format of messages, content of messages.  Possible transports include AWS, Azure, ActiveMQ. 

    2.4

    Finish the new UI, replace admin and lite UI

    Add features into the new Grouper 2.2 UI so that everything from the admin UI and the lite UI can be performed in the new UI.  Remove the admin and lite UIs (redirect outdated links).  Add user based auditing and overall auditing.  Add new features like the ability to easily configure "rules" in the UI

    2.4?Improve pagination in WSReturn the total count

    4

    Finish the new UI, replace admin and lite UI

    Add features into the new Grouper 2.2 UI so that everything from the admin UI and the lite UI can be performed in the new UI.  Remove the admin and lite UIs (redirect outdated links).  Add user based auditing and overall auditing.  Add new features like the ability to easily configure "rules" in the UI

    2.4?Membership reportsSee which users in a group or a folder of groups are not active. Add other attributes. Download reports. Schedule reports.
    2.4?Require Java8, Tomcat8Standardize and require java8
    2.4?Improve pagination in WSReturn the total count
    2.5Revise 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.5Real time message based loading LDAP by personAllow messaging to take events to update a user in loader jobs (ldap)
    2.5Real time message based provisioningAllow messaging to take events to provision new netIds (pspng)
    2.5Expire dates

    Add expire dates to groups (other objects? attribute definitions? attribute names?) and expose privilege expire dates to WS/UI

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

    2.5Add remaining attribute/permission operations to WSAdd permission hierarchy services for roles, actions. Limits? Any other attribute permission services?

    2.5

    Provisioning by message

    Use a message bus to notify interested parties, including traditional provisioning agents, of group changes. TBD: supported message transports, format of messages, content of messages.  Possible transports include AWS, Azure, ActiveMQ. 

    2.5Membership approvalsAdd simple workflow (approval) for an OPTIN or UPDATE operation on a group
    2.5Add dropbox endpoint to pspng ongoingRefine next generation provisioningTake PSPNG and feedback from the field and add more features, refine it, improve it, etc
    2.5?Add unicon azure integration to grouperAdd the unicon azure integration to grouper.

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

    2.5Membership approvalsAdd simple workflow (approval) for an OPTIN or UPDATE operation on a group
    2.5Add dropbox endpoint to pspng 

    -grouper-provisioner

    2.5?Add O365 to pspngNeed technical requirements first, leverage the existing Unicon work
    Not yet assignedUI 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?
    Not yet assignedUpdate training videosGo through training videos and either keep, re-record, annotate, or delete. Identify new training videos to make
    ongoingRefine 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

    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.5Expire dates

    there are rules to email users about changes to memberships

    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.

    2.4 (done)Inbound messages

    .

    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.
    Not yet assignedRules on individual membershipAn individual membership could have a rule that it is dependent on memberships in another group for example

    ...