Versions Compared

Key

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

...

Release

Tentative date or time frame

1.6

Released June 2010

2.0

Released September 2011

2.1

Released March 2012

2.2

Released July 2014

2.3

2015

Release

Item

Description

2.3 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.3 (tentative)

Improve folder privileges

Change folder privileges so that instead of the STEM privilege, there is an ADMIN privilege on folders.  The ADMIN privilege would mean you have all rights to the folder, you can rename it, delete it, change privileges, and effectively every other privilege.  The CREATE privilege would be changed to also include creating folders (in addition to groups and attributes).  And the STEM_ATTR_READ and STEM_ATTR_UPDATE would remain the same.  Note, so the name doesnt conflict with the group ADMIN privilege, the stem privilege will be called STEM_ADMIN.

2.3 (tentative)

Improve loader

Add the ability for the loader to run on multiple nodes to it has better availability.  Also add the option for unresolvable subjects to not cause loader jobs to fail (note, if the source is unavailable it should fail and not remove all members, and it should only allow unresolvables up to a certain configurable threshold).  Add real time updates to loader based groups

2.3 (tentative)

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.3 (tentative)

Add remaining attribute/permission operations to WS

Add ability to manage attribute and permission definitions 100% via the WS.  Currently many things can be done via the WS but not all.  Currently the gaps can be addressed via the UI/API.

2.3 (tentative)

Standard authorization API

Define and implement a standard API for authorization.  This is a CIFER effort and might be based on SCIM or OAuth2 and might be readonly for 2.3.  This would be a web service and might also include messaging.

2.3
(tentative)

Successor to the PSP

Replacement of the PSP for LDAP/AD

2.3 (tentative)

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.

2.2.1

Grouper installer to upgrade and patch Grouper

Improve the Grouper installer so that it can leverage config overlays to upgrade a grouper environment (or help give steps to upgrade grouper)

2.2

New Grouper UI

Grouper has an administrative UI, the Membership Update Web UI, and as of v2.0, additional Web UIs for attribute, role, permission, and user invitation management. Further, several substantial UIs have been created by Grouper users, usually designed to meet needs in a specifically identified context. This roadmap item is aimed at addressing how Grouper should engage, support, or borrow from these efforts to provide UI capabilities that are closer to contextual needs more often than at present.

Initial substantially complete new UI to be included in v2.2. See Grouper UI Redesign planning page.

2.2

Services in Grouper

Add ability to tag objects in Grouper (via the new attribute framework) so that folders, groups, permissions can be grouped into a "service".  The API/UI/WS could filter search results based on the service to make it easier for users to perform tasks in Grouper.  See documentation page.

2.2

Improved Grouper configuration

In order to make Grouper more easily deployable across environments, and more easily upgradable, add ability for cascaded config files, and expression language in config file entries.  There can be a default configuration file, and an override file so that only the changes from the default can be tracked in the overlay.  See Grouper configuration overlay.

2.2

SCIM interface

Provide group, membership, and group management role information via SCIM, in partnership with SURFnet.

2.2

Treat privileges as Group lists

Remove the pluggability of Grouper privileges (Group READ/UPDATE etc), treat them as group lists to improve WS operations, simplify the UI, etc

2.2

Unix GID management

Built-in support for managing unix GIDs by assigning a numeric ID to each group and folder.

2.2

Legacy attribute migration

Migrate from legacy attributes to the new attribute framework in a transparent way.  The old API and WS and UI should still work correctly.  Plan to migrate lists and hooks as well.

2.2

COmanage integration

Work cooperatively with the COmanage project to integrate Grouper within COmanage.  Integer group ID's, WS operation tweaks

2.2

Subject security realms

Differently users might have different privacy requirements for the Subject API. Security by realm is implemented in the JDBC2 source adapter. Callers pass in which "realm" the search should take place in, and the source can adjust how the search takes place, what attributes look like, etc.

2.2

Grouper user data

Store information about a user in grouper in a generic way.  e.g. recently used objects.  favorites, 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

Security plugins

Spring security, Shiro, .NET plugins for Grouper WS that might be able to be distributed with the plugin itself.  Initial proof-of-concept code available: https://spaces.at.internet2.edu/display/Grouper/Unicon+Grouper+Contributions.

Not yet assigned

Access Management Standard WS API

Similar to the CIFER effort, develop a standard WS API

Not yet assigned

Further KIM-Grouper integration

Refine the Kuali KIM services interfaces and extend existing integration beyond group-level into roles & permissions.

Not yet assigned

Register for notifications

Add ability for users to register to be notified of changes to specified objects.

Not yet assigned

Further uPortal-Grouper integration

Complete Phase II deliverables. Time frame for Phase III deliverables still to be determined in concert with uPortal team.

Not yet assigned

More provisioning connectors

Add further connectors to reflect specified group, membership, role, and permission information into external systems and services.

Not yet assigned

Scaling REST webservice

An 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.

Not yet assigned

Namespace Uniqueness Constraint

Active Directory has some constraints regarding the storing of group and membership objects of the same name.  This item would create an optional API-level constraint which would prevent you from re-using a name across multiple objects (stem, group, attribute, etc).

Not yet assigned

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. 

...