Code Monkey home page Code Monkey logo

omeka-s-module-group's Introduction

Group (module for Omeka S)

New versions of this module and support for Omeka S version 3.0 and above are available on GitLab, which seems to respect users and privacy better than the previous repository.

Group is a module for Omeka S that allows to set groups to users, as in many authentication systems, and to set the same groups to any resources, so their visibility can be managed in a more flexible way.

In the admin interface, this module decreases the access of the identified users to the resources, and, in the public interface, with the module Guest User, it increases the access of guest users to private resources.

So, it doesn’t replace the main public/private rule, but adds another level of rules for visibility. For example, a user who belongs to group "Alpha" can access all items that have at least this group in common, and, of course, all items that are public.

The item sets, the items and the media without group follow the default rules. The admins, the editors and the reviewers have always access to all resources. The rules are not changed for visitors (access to public resources only).

In practice, this module is usefull only for sites that need to manage finely the access to resources for researchers, authors and guests. For other roles, you have to unset the view-all right via another module or via a contribution.

Installation

Uncompress files and rename module folder "Group".

See general end user documentation for Installing a module.

Usage

The groups (names) are manageable directly in the admin view. They can be assigned to users and resources (item sets, items, medias) in their respective views. They are available via the api too.

For the resources, the groups can be managed in three ways:

  • individually;
  • recursively for medias (the rights of the item are applied to all medias);
  • fully recursively (the rights of item sets will apply to all items and medias).

By default, the groups are managed fully recursively, so when a group is assigned to an item set, all items that belong to this item set will be assigned to this group too. The same for items for media, and the same for unassignment. When an item belong to multiple collections, all groups of all its collections are assigned.

A change to the settings applies only to newly saved resources. There is no bulk tool to process existing resources, but the groups are updated each time they are saved. To set this option, copy it with its direct hierarchy from the file config/module.config.php of the module into your config/local.config.php: ['group']['config']['group_recursive_item_sets'] and ['group']['config']['group_recursive_items'].

Access rights

  • Visitors
    • No access to private resources
    • No access to any group of resources
    • So access to public resources only (default acl rules)
  • Guests, Researchers and Authors
    • No access to private resources
    • Except access to own resources (Authors)
    • Except access to the resources when one of the resources groups match one of their own groups
    • Users without groups haven’t access to more resources
    • Private resources without groups are not visible.
  • Admins, editors and reviewers
    • Access to all private resources (default acl rules "view-all")

The rights of admin, editors and reviewers can be restricted too: simply remove the right view-all for them in the access control lists (acl). In that case, it is recommended not to change the rights of the admins, or to set a group "staff", for example, and to assign this group to all admins and resources before.

TODO

  • Remove complicate processes used to bypass some Omeka < 2.0 issues.

Warning

Use it at your own risk.

It’s always recommended to backup your files and your databases and to check your archives regularly so you can roll back if needed.

Troubleshooting

See online issues on the module issues page on GitLab.

License

This module is published under the CeCILL v2.1 license, compatible with GNU/GPL and approved by FSF and OSI.

This software is governed by the CeCILL license under French law and abiding by the rules of distribution of free software. You can use, modify and/ or redistribute the software under the terms of the CeCILL license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".

As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software’s author, the holder of the economic rights, and the successive licensors have only limited liability.

In this respect, the user’s attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software’s suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security.

The fact that you are presently reading this means that you have had knowledge of the CeCILL license and that you accept its terms.

Copyright

  • Copyright Daniel Berthereau, 2017-2023 (see Daniel-KM on GitLab)

omeka-s-module-group's People

Contributors

daniel-km avatar jajm avatar thibaudglt avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

omeka-s-module-group's Issues

Compatibility with Omeka 2.0?

Hi,

First of all, thank you for creating and maintaining this great module!

I have no problem to report, since everything works perfectly well. I just wanted to ask if it was planned that this module will one day be compatible with Omeka S 2.0? (I know version 2.0 is fairly recent, so it might be too early to ask!)

Thanks a lot,

Camille

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.