Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more modules to cookbook. #2343

Merged
merged 3 commits into from
Aug 14, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 83 additions & 8 deletions docs/user-documentation/extending.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,12 @@ Warning! - All modules are under development.
* [Islandora RipRap](https://github.com/mjordan/islandora_riprap) - Fixity auditing
* [Islandora Repository Reports](https://github.com/mjordan/islandora_repository_reports) - Graphical reports on various aspects of an Islandora repository.
* [Islandora Bagger](https://github.com/mjordan/islandora_bagger) - Utility to generate Bags for objects using Islandora's REST interface using either a command-line tool or via a batch-oriented queue.
* [Islandora Whole Object](https://github.com/mjordan/islandora_whole_object) - Islandora module that provides some Drupal blocks containing various representations of an Islandora object.
* [Islandora Citations](https://github.com/discoverygarden/islandora_citations) - An alternative to Citation Select (bundled with Starter Site). It uses CSL to render citations, allows you to set a default (which is rendered on page load), and lets you set the field mappings as a third party setting when editing each field itself. It works with Typed Relation fields (using the relation to set the CSL parameter such as author, editor, or contributor), and also works with Paragraphs.
* [Islandora RDM](https://github.com/roblib/islandora_rdm) - An entire suite of tools and documentation to turn Islandora into a fully functional Research Data Management platform.
* [Islandora Whole Object](https://github.com/mjordan/islandora_whole_object) - Islandora module that provides some Drupal blocks containing various representations of an Islandora object.
* [IP Range Access](https://github.com/mjordan/ip_range_access) - A context condition to check the user's IP address against a range, and provide 403 if not accepted.
* [Typed Relation with Display Name](https://github.com/rosiel/typed_relation_display_name/) - A field type that's a Typed Relation field plus a display name that is unique to the instantiation. Allows you to transcribe what's on the object, while still linking to a controlled form of a name.
* [Linked Data Lookup Field](https://www.drupal.org/project/linked_data_field) - allows you to autocomplete from external authorities. It creates a two-part field and stores the label and the URI. It is extensible and can be made to work with more APIs. Currently it supports Library of Congress Subject Headings, Global Research Identifier Database (GRID) entries, and Australian and New Zealand Standard Research Classification Fields of Research.

### Access Control

Expand Down Expand Up @@ -65,6 +68,24 @@ A module that informs users who attempt to view deleted content that the resourc

Views Slideshow can be used to create a slideshow of any content (not just images) that can appear in a View. Powered by jQuery, it is heavily customizable: you may choose slideshow settings for each View you create. It can be used to create an easy, adjustable slideshow of images from an Islandora repository. Views Slideshow can be seen in action with Islandora objects on the front page [here](http://future.islandora.ca/)

#### CSV File Formatter

[CSV File Formatter](https://www.drupal.org/project/csvfile_formatter)

This module provides a formatter that displays CSV files in the browser.

#### Timelines

[TimelineJS](https://www.drupal.org/project/views_timelinejs)

Integration with TimelineJS to create timeline displays.

#### Sort titles without initial articles (The, A, etc)

[Views Natural Sort](https://www.drupal.org/project/views_natural_sort)

This module adds a new sort option to Content views that sorts while skipping a configurable list of initial articles like "The", "A", "An", "L'", etc. Note that it works only with Content views and not with Search API (solr) views.

### Ingest

#### Batch uploading via CSV
Expand All @@ -81,6 +102,55 @@ This repository is also a Drupal Feature that, when enabled as a module, will cr

Command-line tool for ingesting (and updating) nodes and media from anywhere - you don't need to access to the Drupal server's command line. Provides robust data validation, flexible organization of your input data (can use CSV, Google Sheets, or Excel files) plus creation of taxonomy terms on the fly.


### Content Management

#### Batch editing

[Views Bulk Edit](https://www.drupal.org/project/views_bulk_edit)

A powerful tool that turns Views into a means of batch editing nodes, including Islandora repository objects. Once installed, create a view, add the fields that you would like to edit, add a `Views bulk operations (Edit)` field to the view, and select which actions you would like to have available. The `Modify field values` action will allow you to batch edit the value for the same field across multiple objects. A demonstration of a simple bulk-editing view with a few fields and actions can be found [here](http://future.islandora.ca/islandora-batch-edit)

#### Clone a content type

[Content Type Clone](https://www.drupal.org/project/content_type_clone)

A tool that allows you to clone an existing content type. Can be used to copy and easily make your own version of the Repository Item Content Type with fewer or edited fields, without starting over. Has options to also copy all nodes from the old type to the new, and to delete from the old type when copying.

#### Prevent orphaned entity relationships

[Entity Reference Integrity](https://www.drupal.org/project/entity_reference_integrity)
[Entity Reference Integrity Extras](https://github.com/discoverygarden/entity_reference_integrity_extra)

Normally when deleting content (nodes, taxonomy terms, etc), any content that references the deleted entity isn't altered so you end up with orphan/zombie references, which are visible in the JSON representation but invisible otherwise. With Entity Reference Integrity's submodule (-Enforce), you won't be able to delete content that's referenced from elsewhere, preserving your database integrity.

Because the Drupal module doesn't play with Typed Relation fields, DGI's -Extras module is useful.


#### Content Management Workflows

[Content moderation](https://www.drupal.org/project/content_moderation)

This module lets you set up workflows that "transition" content between "states", which may be published or unpublished. It also allows you to set revisions as mandatory (normally an editor can decide to make an edit without creating a revision, making it very hard to track for auditing).

#### Shared content between sites

[Entity Share](https://www.drupal.org/project/entity_share)

Share entities between different Drupal instances. Works with nodes, taxonomy terms, media, etc.

#### External content

[External Entities](https://www.drupal.org/project/external_entities)

Lets you use sources of content external to Drupal as though they were internal.

#### Paragraphs for structured/hierarchical content

[Paragraphs](https://www.drupal.org/project/paragraphs)

Paragraphs is based on Entity Reference Revisions and allows you to create an on-the-fly entity with structured fields. Paragraphs could be used for complex titles with title type, subtitle, part name, etc. They can be used for grouping fields together that are, as a block, repeatable.

### Richer Content

#### Displaying equations and formulae
Expand All @@ -89,6 +159,7 @@ Command-line tool for ingesting (and updating) nodes and media from anywhere - y

This module is a plug-and-play solution for rendering [LaTeX](https://www.latex-project.org/). It uses a CDN so no library has to be installed on your system, and the processing is done in the user's browser. In terms of Drupal, it provides a text filter that must be enabled in at least one text format (such as Full HTML). With this you can enter mathematical formulae in abstracts! Need to recognize unfamiliar symbols? Try this [LaTeX symbol reference](https://oeis.org/wiki/List_of_LaTeX_mathematical_symbols) thanks to the On-Line Encyclopedia of Integer Sequences.


### Search

#### Custom search weighting
Expand All @@ -97,19 +168,23 @@ This module is a plug-and-play solution for rendering [LaTeX](https://www.latex-

This module provides a method for users with the necessary permissions to manually override the results being returned by Search API Solr. They will be able to choose a specific search term, and pick which nodes should be at the top, and also choose to exclude nodes so they will not be shown in the results. Currently, only nodes are supported.

### Other
#### Render field as link to faceted search

#### Batch editing
[Entity Reference Facet Link](https://www.drupal.org/project/entity_reference_facet_link)

[Views Bulk Edit](https://www.drupal.org/project/views_bulk_edit)
Provides a field formatter that points an entity reference field to a facet search for that value. Could be used in search result displays with taxonomy terms (for example) to stay within the "search ecosystem". Does not work with Typed Relation fields.

A powerful tool that turns Views into a means of batch editing nodes, including Islandora repository objects. Once installed, create a view, add the fields that you would like to edit, add a `Views bulk operations (Edit)` field to the view, and select which actions you would like to have available. The `Modify field values` action will allow you to batch edit the value for the same field across multiple objects. A demonstration of a simple bulk-editing view with a few fields and actions can be found [here](http://future.islandora.ca/islandora-batch-edit)
### Auditing

#### Clone a content type
### Logging administrative "events"

[Content Type Clone](https://www.drupal.org/project/content_type_clone)
[Events Logging](https://www.drupal.org/project/events_logging)

A tool that allows you to clone an existing content type. Can be used to copy and easily make your own version of the Repository Item Content Type with fewer or edited fields, without starting over. Has options to also copy all nodes from the old type to the new, and to delete from the old type when copying.
This module provides a separate log to record "events" such as the creation, editing, and deletion of content (actually any entities you configure it to, including config entities). This can provide a log of who did what, when. The log is not mixed in with the "Watchdog"/"Recent log entries" log, but still uses the database (unless you have another log method enabled).

When content is updated, the log only says that it was updated but does not say how or provide a diff. It does not seem to have the ability to link log messages to the revisions that may have been created during edits.

### Other

#### Gather user feedback

Expand Down
Loading