PHPackages                             hasco/sir - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. hasco/sir

ActiveDrupal-module[Utility &amp; Helpers](/categories/utility)

hasco/sir
=========

Sir module to integrate with Drupal

v0.7(1y ago)31051[29 issues](https://github.com/HADatAc/sir/issues)[1 PRs](https://github.com/HADatAc/sir/pulls)Apache-2.0PHPPHP &gt;=8.3

Since Oct 24Pushed 1mo ago5 watchersCompare

[ Source](https://github.com/HADatAc/sir)[ Packagist](https://packagist.org/packages/hasco/sir)[ RSS](/packages/hasco-sir/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (12)Used By (0)

SIR: Semantic Instrument Repository
===================================

[](#sir-semantic-instrument-repository)

This repository has been developed as a [custom module](https://www.drupal.org/docs/develop/creating-modules) for [Drupal 9+](https://www.drupal.org/about/9) and implemented mainly in PHP. The module depends on an external API called HASCOAPI (HASCOAPI code is available at ). SIR content is stored inside of the API's knowledge graph.

- Developer: HADatAc.org community ()

Deployment:
-----------

[](#deployment)

SIR deployment requires the availability of a Drupal instance (version 9 or above), and an user of this Drupal instance with adminstrative privileges.

- upload SIR code
    - in the admin menu, go to `Extend` &gt; `Add New Module` &gt; `Add from a URL`
    - paste the following link from github: `https://github.com/HADatAc/sir/archive/refs/heads/main.zip`
- upload module dependencies. See below a list of current SIR dependencies:
    - *Key* ()
- go to `Extend` and install both SIR and its dependencies
- clear all Drupal caches
    - in the admin menu, go to `Configuration` &gt; `Performance` &gt; `Clear All Caches`

Configuration setup:
--------------------

[](#configuration-setup)

User needs to have administrative privileges on Drupal to be able to setup SIR

- Step 1: setup secret key to connect to API
    - the secret key is a string used during the setup of the API. The secret key of SIR and its API must be exactly the same
    - In SIR, the key is added going to `[drupal_url]/admin/config/system/keys/add`
        - Provide a name that will be later selected in the SIR configuration page
        - Select type `Authentication`
        - Select provider `Configuration`
- Step 2: setup SIR
    - go to `Main Menu` &gt; `Advanced` &gt; `Configuration` (or alternativelly `[drupal_url]/admin/config/sir`)
        - Check whether or not you want SIR search page to be the main page of your website
        - Provide a short name
        - Provide a full name - used as the website's title
        - Provide a domain URL - this is the base of the URIs for all the SIR elements created in the current SIR instance
        - Provide a namespace for the domain
        - Provide a description for the website
        - Provide the base URL for the API -- this is the URL of the back-end machine hosting the API
        - Provide the name of the key used to create API tokens -- the API is not going to respond if the token is missing or is incorrect
- Step 3: setup SIR's Knowledge Graph
    - go to `Main Menu` &gt; `Advanced` &gt; `Configuration` &gt; `Manage Namespaces` (or alternativelly `[drupal_url]/admin/config/sir/namespace`)
        - verify that you can see a list of namespaces
        - for the namespaces with values for `Source URL`, verify if they have values for triples. If not, you need to select the `Reload Triples From All Namespaces With URL`
        - wait a while and press the refresh button of the browser to verify if the triples have been loaded
        - if needed, the triples can be deleted and reloaded again. Wait for the triples to be zeroed before reloading.

Usage:
------

[](#usage)

Once the module is installed, SIR options are going to be available under `main menu` &gt; `Advanced`. Access to SIR options depends on user permissions on Drupal. By default, an anonymous user of a SIR repository has access to the `search` and `about` pages.

Upgrade (in Pantheon):
----------------------

[](#upgrade-in-pantheon)

- put website under maintenance (`Configuration` &gt; `Maintenance Mode` &gt; `Put site into maintenance mode`)
- using Drupal Admin Menu's `Extend`, uninstall SIR module
- clear caches
- using Pantheon's site maintenance, move website from git to sftp mode
- use sftp to remove module files under `/code/web/modules`
- use sftp to remove module files cached under `/tmp`
- clear caches
- using `Extend`, verify if SIR module's code has been removed from the list of available modules
- remove website from maintenance
- put website under maintenance
- using `Extend`, upload new version of SIR module
- using `Extend`, install new SIR
- clear caches
- remove website from maintenance
- restore sir configuration including key

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance47

Moderate activity, may be stable

Popularity14

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 67.7% 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

Unknown

Total

1

Last Release

572d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/637908e39395dec53873e7652dd265a1315b8c825b05bcdb73e2f718eb73ee9c?d=identicon)[graxiom](/maintainers/graxiom)

---

Top Contributors

[![numibesi](https://avatars.githubusercontent.com/u/105175988?v=4)](https://github.com/numibesi "numibesi (279 commits)")[![paulopinheiro1234](https://avatars.githubusercontent.com/u/1434744?v=4)](https://github.com/paulopinheiro1234 "paulopinheiro1234 (98 commits)")[![pyurimarques](https://avatars.githubusercontent.com/u/48061727?v=4)](https://github.com/pyurimarques "pyurimarques (19 commits)")[![TiagoMoreira2099](https://avatars.githubusercontent.com/u/90902495?v=4)](https://github.com/TiagoMoreira2099 "TiagoMoreira2099 (8 commits)")[![rodrxgo26](https://avatars.githubusercontent.com/u/167412924?v=4)](https://github.com/rodrxgo26 "rodrxgo26 (7 commits)")[![KayKael](https://avatars.githubusercontent.com/u/41486985?v=4)](https://github.com/KayKael "KayKael (1 commits)")

### Embed Badge

![Health badge](/badges/hasco-sir/health.svg)

```
[![Health](https://phpackages.com/badges/hasco-sir/health.svg)](https://phpackages.com/packages/hasco-sir)
```

###  Alternatives

[guava/calendar

Adds support for vkurko/calendar to Filament PHP.

298241.0k3](/packages/guava-calendar)[demouth/dmgeocoder

Geocoding library.

216.9k](/packages/demouth-dmgeocoder)

PHPackages © 2026

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