Coder Social home page Coder Social logo

islandora / islandora_xacml_editor Goto Github PK

View Code? Open in Web Editor NEW
6.0 24.0 29.0 513 KB

Provides a graphical user interface to edit XACML policies for objects in a repository or collection.

License: GNU General Public License v3.0

CSS 0.53% PHP 99.47%
islandora-legacy

islandora_xacml_editor's Introduction

Islandora XACML Editor Build Status

Introduction

The Islandora XACML Editor provides a graphical user interface to edit XACML policies for objects in a repository or collection. It adds a new tab to each collection called Child Policy and a tab to each item called Item Policy, where permissions can be set on a per User or per Role basis for:

  • Object Management: Controls who can set XACML policies for an object/collection.
  • Object Viewing: Controls who can view an object/collection.
  • Datastreams and MIME types: Controls who can view datastreams by DSID and MIME type.

Requirements

This module requires the following modules/libraries:

Installation

Install as usual, see this for further information.

Configuration

Fedora Configuration

It may be desirable--and in fact necessary for some modules--to disable/remove one of the default XACML policies which denies any interactions with the POLICY datastream to users without the "administrator" role.

This policy is located here: $FEDORA_HOME/data/fedora-xacml-policies/repository-policies/default/deny-policy-management-if-not-administrator.xml

Solr Searching Hook

In order to comply with XACML restrictions placed on objects, a hook is used to filter results that do not conform to a searching user's roles and name. This hook will not function correctly if the Solr fields for ViewableByUser and ViewableByRole are not defined correctly as they are set in the XSLT. These values can be set through the admin page for the module.

image

Drush

Apply XACML policy to target object

To add policy.xml to object islandora:57: drush -v --user=1 islandora_xacml_editor_apply_policy --policy=/tmp/policy.xml --pid=islandora:57

To apply this policy to islandora:57 and all child objects, add the --traversal option.

Force XACML inheritance to child objects

To apply the XACML policy from islandora:root to its children: drush -v --user=1 islandora_xacml_editor_force_policy_inheritance --pid=islandora:root

To apply this policy only to immediate children, use the --shallow_traversal option. Disabled by default

The target object must have a POLICY datastream.

Notes

The XACML editor hooks into ingesting through the interface. When a child is added through the interface, the parent's POLICY will be applied if one exists.

If XACML policies are written or edited by hand, it may result in unexpected behaviour.

Documentation

Further documentation for this module is available at our wiki.

Troubleshooting/Issues

Having problems or solved a problem? Check out the Islandora google groups for a solution.

Maintainers/Sponsors

Current maintainers:

Development

If you would like to contribute to this module, please check out CONTRIBUTING.md. In addition, we have helpful Documentation for Developers info, as well as our Developers section on the Islandora.ca site.

License

GPLv3

islandora_xacml_editor's People

Contributors

adam-vessey avatar aulorbe avatar bondjimbond avatar brandonmorr avatar christianselig avatar daniel-dgi avatar dannylamb avatar diegopino avatar digitlib avatar djevans avatar dltj avatar jmacwilliams avatar jonathangreen avatar jordandukart avatar manez avatar marcusbarnes avatar matthewperry avatar mitchmac avatar mjordan avatar morgandawe avatar nhart avatar nigelgbanks avatar nmader avatar ppound avatar rosiel avatar ruebot avatar whikloj avatar willtp87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.