Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/samvera/hydra-role-management

User roles for hydra users
https://github.com/samvera/hydra-role-management

core-components samvera-community

Last synced: 4 days ago
JSON representation

User roles for hydra users

Awesome Lists containing this project

README

        

# hydra-role-management

Code:
[![Gem Version](https://badge.fury.io/rb/hydra-role-management.svg)](https://badge.fury.io/rb/hydra-role-management)
[![Build Status](https://circleci.com/gh/samvera/hydra-role-management.svg?style=svg)](https://circleci.com/gh/samvera/hydra-role-management)
[![Coverage Status](https://coveralls.io/repos/github/samvera/hydra-role-management/badge.svg?branch=main)](https://coveralls.io/github/samvera/hydra-role-management?branch=main)

Docs:
[![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
[![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE.md)

Community Support: [![Samvera Community Slack](https://img.shields.io/badge/samvera-slack-blueviolet)](http://slack.samvera.org/)

# What is hydra-role-management?

An engine gem to provide a RDBMS backed list of roles and their associated user. This replaces the hydra default role mapper.

As of version 1.0, this gem only supports Rails 5.

## Product Owner & Maintenance

`hydra-role-management` was a Core Component of the Samvera Community. Given a decline in available labor required for maintenance, this project no longer has a dedicated Product Owner. The documentation for what this means can be found [here](http://samvera.github.io/core_components.html#requirements-for-a-core-component).

### Product Owner

**Vacant**

_Until a Product Owner has been identified, we ask that you please direct all requests for support, bug reports, and general questions to the [`#dev` Channel on the Samvera Slack](https://samvera.slack.com/app_redirect?channel=dev)._

# Help

The Samvera community is here to help. Please see our [support guide](./SUPPORT.md).

## Installing:

- Add: `gem 'hydra-role-management'` to your Gemfile and then `bundle install`
- `rails generate roles`
- `rake db:migrate`
- Add the following [cancan](https://github.com/ryanb/cancan) abilities:

```
# app/models/ability.rb
if current_user.admin?
can [:create, :show, :add_user, :remove_user, :index, :edit, :update, :destroy], Role
end
```

## Testing:

- Install a system javascript runtime or uncomment therubyracer in spec/support/Gemfile
- Ensure that the testing app does not exist: `bundle exec rake engine_cart:clean`
- Set Rails version you want to test against. For example:

- `export RAILS_VERSION=5.1.4`

- Ensure that the correct version of Rails is installed: `bundle update`

- Build test app: `bundle exec rake engine_cart:generate`

- And run tests: `bundle exec rake ci`

## Releasing

1. `bundle install`
2. Increase the version number in `lib/hydra/role_management/version.rb`
3. Increase the same version number in `.github_changelog_generator`
4. Update `CHANGELOG.md` by running this command:

```
github_changelog_generator --user samvera --project hydra-role-management --token YOUR_GITHUB_TOKEN_HERE
```

5. Commit these changes to the main branch

6. Run `rake release`

# Acknowledgments

This software has been developed by and is brought to you by the Samvera community. Learn more at the [Samvera website](http://samvera.org/).

![Samvera Logo](https://wiki.duraspace.org/download/thumbnails/87459292/samvera-fall-font2-200w.png?version=1&modificationDate=1498550535816&api=v2)