Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/mjordan/islandora_premis

Drupal 8 version of Islandora PREMIS.
https://github.com/mjordan/islandora_premis

Last synced: 29 days ago
JSON representation

Drupal 8 version of Islandora PREMIS.

Awesome Lists containing this project

README

        

# Islandora PREMIS

## Introduction

A Drupal 8/9 module that serializes PREMIS metadata generated by various Islandora modules and microsrevices, including Islandora, JSON-LD, and Riprap. This module produces PREMIS v3 in Turtle RDF for a node by appending `/premis` to the end of the node's URL, e.g., `https://localhost/node/250/premis`.

Feedback on what PREMIS entities and events you'd like to see in this output is welcome.

Output will look like this:

```
@prefix premisobject: .
@prefix premis: .
@prefix ebucore: .
@prefix cryphashfunc: .
@prefix rdf: .
@prefix dc: .
@prefix xsd: .
@prefix schema: .

a premisobject:File ;
premis:size "534450" ;
premis:compositionLevel 0 ;
ebucore:hasMimeType "application/pdf" ;
premis:fixity "7b44c786-6d7e-4764-b278-d1ac1d503d99", "324bd1b9-0a38-400d-bd07-2026801e1040", "458f3e38-34c8-412d-879f-0ec3c5a1c37c", "eb7951ac-3baf-4661-a181-76ef0995744b", "d3e39c84-ae5d-44bb-b8ce-fbe9289b1f31" .

<7b44c786-6d7e-4764-b278-d1ac1d503d99>
a , cryphashfunc:sha256 ;
rdf:value "6933a46f55f27a62689406ea33c650b1c16d6268ee81f6c6a2a89c63aeec9d27" ;
dc:created "2019-12-21T15:41:00-0600" ;
premis:outcome "success" .

a , , ;
dc:extent "1 item"^^xsd:string ;
dc:title "A document!"@en ;
schema:author ;
schema:dateCreated "2019-12-09T14:39:07+00:00"^^xsd:dateTime ;
schema:dateModified "2019-12-09T14:41:25+00:00"^^xsd:dateTime ;
schema:sameAs .

a schema:Person .
<324bd1b9-0a38-400d-bd07-2026801e1040>
a , cryphashfunc:sha256 ;
rdf:value "6933a46f55f27a62689406ea33c650b1c16d6268ee81f6c6a2a89c63aeec9d27" ;
dc:created "2019-12-22T11:44:31-0600" ;
premis:outcome "success" .

<458f3e38-34c8-412d-879f-0ec3c5a1c37c>
a , cryphashfunc:sha256 ;
rdf:value "6933a46f55f27a62689406ea33c650b1c16d6268ee81f6c6a2a89c63aeec9d27" ;
dc:created "2019-12-22T16:16:37-0600" ;
premis:outcome "success" .

a , cryphashfunc:sha256 ;
rdf:value "6933a46f55f27a62689406ea33c650b1c16d6268ee81f6c6a2a89c63aeec9d27" ;
dc:created "2019-12-23T11:28:13-0600" ;
premis:outcome "success" .

a , cryphashfunc:sha256 ;
rdf:value "6933a46f55f27a62689406ea33c650b1c16d6268ee81f6c6a2a89c63aeec9d27" ;
dc:created "2019-12-23T16:19:05-0600" ;
premis:outcome "success" .
```

Note that the fixity events are added by the [Islandora Riprap](https://github.com/mjordan/islandora_riprap) module, which implements Islandora PREMIS's `hook_islandora_premis_turtle_alter()` hook to add data to the PREMIS Turtle.

## Requirements

* [Islandora 8](https://github.com/Islandora/islandora)

If [Islandora Riprap](https://github.com/mjordan/islandora_riprap) is installed, fixity check events will be added to the PREMIS output.

## Installation

1. Clone this repo into your Islandora's `drupal/web/modules/contrib` directory.
1. Enable the module either under the "Admin > Extend" menu or by running `drush en -y islandora_premis`.

## Configuration

not done yet.

## Current maintainer

* [Mark Jordan](https://github.com/mjordan)

## License

[GPLv2](http://www.gnu.org/licenses/gpl-2.0.txt)