PHPackages                             discoverygarden/islandora\_hierarchical\_access - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. discoverygarden/islandora\_hierarchical\_access

ActiveDrupal-module

discoverygarden/islandora\_hierarchical\_access
===============================================

v1.3.5(3mo ago)11.5k—0%1[1 PRs](https://github.com/discoverygarden/islandora_hierarchical_access/pulls)1GPL-3.0-or-laterPHPCI passing

Since Jan 16Pushed 3mo ago6 watchersCompare

[ Source](https://github.com/discoverygarden/islandora_hierarchical_access)[ Packagist](https://packagist.org/packages/discoverygarden/islandora_hierarchical_access)[ RSS](/packages/discoverygarden-islandora-hierarchical-access/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (16)Used By (1)

Islandora Hierarchical Access
=============================

[](#islandora-hierarchical-access)

Implements an access control model wherein:

- files belong to media,
- media belong to nodes that they reference; and,
- transitively, files belong to nodes

Access to entities which are related outside of the target relationships without any *inside* should not be affected.

Where:

- a file is referenced by multiple media, access to the file should be granted if at least one of the media is accessible
- media which have the "media of" relationship to at least one node should only be accessible if at least one of those nodes is accessible

Development
-----------

[](#development)

A handful of automated/PHPUnit tests are included. Running tests should be able to be accomplished via invocations such as:

```
DRUPAL_ROOT=/opt/www/drupal
sudo -u www-data -- env -C $DRUPAL_ROOT \
  SIMPLETEST_BASE_URL="http://localhost" \
  SIMPLETEST_DB=pgsql://drupal:drupal@localhost:5432/drupal_default \
  $DRUPAL_ROOT/vendor/bin/phpunit "--bootstrap=$DRUPAL_ROOT/core/tests/bootstrap.php" \
  --verbose "$DRUPAL_ROOT/modules/contrib/islandora_hierarchical_access"
```

Troubleshooting/Issues
----------------------

[](#troubleshootingissues)

Having problems or solved a problem? Contact [discoverygarden](http://www.discoverygarden.ca/).

Maintainers/Sponsors
--------------------

[](#maintainerssponsors)

- [discoverygarden](http://www.discoverygarden.ca/)

License
-------

[](#license)

[GPLv3](https://www.gnu.org/licenses/gpl-3.0.txt)

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance78

Regular maintenance activity

Popularity20

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~100 days

Recently: every ~133 days

Total

12

Last Release

119d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ed79bbc35ed0aaee2f603c6f16885fb01e203941eea0cd63013f9f6185df6c30?d=identicon)[adam-vessey](/maintainers/adam-vessey)

![](https://www.gravatar.com/avatar/49d799e416ff30e90b07d1b7b6a487dfe945ae884c53747de4724439965d7904?d=identicon)[lutaylor](/maintainers/lutaylor)

![](https://www.gravatar.com/avatar/454136e389341c2a9c22dfba3107e09e2f8653807185bb213c5272efa9b93864?d=identicon)[willtp87](/maintainers/willtp87)

---

Top Contributors

[![adam-vessey](https://avatars.githubusercontent.com/u/607975?v=4)](https://github.com/adam-vessey "adam-vessey (90 commits)")[![nchiasson-dgi](https://avatars.githubusercontent.com/u/53783039?v=4)](https://github.com/nchiasson-dgi "nchiasson-dgi (23 commits)")[![bibliophileaxe](https://avatars.githubusercontent.com/u/18718388?v=4)](https://github.com/bibliophileaxe "bibliophileaxe (5 commits)")[![willtp87](https://avatars.githubusercontent.com/u/688918?v=4)](https://github.com/willtp87 "willtp87 (5 commits)")[![jordandukart](https://avatars.githubusercontent.com/u/1337738?v=4)](https://github.com/jordandukart "jordandukart (1 commits)")[![chrismacdonaldw](https://avatars.githubusercontent.com/u/31731869?v=4)](https://github.com/chrismacdonaldw "chrismacdonaldw (1 commits)")[![rosiel](https://avatars.githubusercontent.com/u/1943338?v=4)](https://github.com/rosiel "rosiel (1 commits)")

---

Tags

access-controldrupaldrupal-moduleislandora

### Embed Badge

![Health badge](/badges/discoverygarden-islandora-hierarchical-access/health.svg)

```
[![Health](https://phpackages.com/badges/discoverygarden-islandora-hierarchical-access/health.svg)](https://phpackages.com/packages/discoverygarden-islandora-hierarchical-access)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
