Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neurocracy/drupal-omnipedia-attached-data
Provides the attached data framework for Omnipedia.
https://github.com/neurocracy/drupal-omnipedia-attached-data
drupal drupal-module php
Last synced: 17 days ago
JSON representation
Provides the attached data framework for Omnipedia.
- Host: GitHub
- URL: https://github.com/neurocracy/drupal-omnipedia-attached-data
- Owner: neurocracy
- License: gpl-2.0
- Created: 2022-06-04T00:57:14.000Z (over 2 years ago)
- Default Branch: 5.x
- Last Pushed: 2025-01-12T20:39:50.000Z (23 days ago)
- Last Synced: 2025-01-12T21:29:43.598Z (23 days ago)
- Topics: drupal, drupal-module, php
- Language: PHP
- Homepage:
- Size: 189 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
This contains the source files for the "*Omnipedia - Attached data*" Drupal
module, which provides the attached data framework for
[Omnipedia](https://omnipedia.app/).⚠️ ***[Why open source? / Spoiler warning](https://omnipedia.app/open-source)***
----
# Description
Attached data is our internal name for the content displayed in pop-ups on
Omnipedia. It quickly became apparent during development that we couldn't
manually embed all the pop-up content because it would be a nightmare to keep up
to date. We needed to be able to define pop-up content once and have a system
automatically attach it where ever it's referenced. The resulting system allows
editors to define each one as their own entities which are then automatically
attached to all wiki pages that reference them.There are currently two types of attached data:
1. Abbreviations: These define the many abbreviations used across Omnipedia; the target string is the abbreviated form and the content is the fully spelled out form.
2. Wikimedia links: These are the paragraph-length pop-ups found all across Omnipedia; the target string is a topic name, and the content is what is displayed in the pop-up; these are so named because at one point we intended these to actually link off-site to Wikipedia and related sites, but decided against it.
----
# Requirements
* [Drupal 10 or 11](https://www.drupal.org/download)
* PHP 8.1
* [Composer](https://getcomposer.org/)
## Drupal dependencies
Before attempting to install this, you must add the Composer repositories as
described in the installation instructions for these dependencies:* The [`ambientimpact_core`](https://github.com/Ambient-Impact/drupal-ambientimpact-core) and [`ambientimpact_ux`](https://github.com/Ambient-Impact/drupal-ambientimpact-ux) modules.
* The [`omnipedia_content`](https://github.com/neurocracy/drupal-omnipedia-content), [`omnipedia_core`](https://github.com/neurocracy/drupal-omnipedia-core), and [`omnipedia_date`](https://github.com/neurocracy/drupal-omnipedia-date) modules.
----
# Installation
## Composer
### Set up
Ensure that you have your Drupal installation set up with the correct Composer
installer types such as those provided by [the `drupal/recommended-project`
template](https://www.drupal.org/docs/develop/using-composer/starting-a-site-using-drupal-composer-project-templates#s-drupalrecommended-project).
If you're starting from scratch, simply requiring that template and following
[the Drupal.org Composer
documentation](https://www.drupal.org/docs/develop/using-composer/starting-a-site-using-drupal-composer-project-templates)
should get you up and running.### Repository
In your root `composer.json`, add the following to the `"repositories"` section:
```json
"drupal/omnipedia_attached_data": {
"type": "vcs",
"url": "https://github.com/neurocracy/drupal-omnipedia-attached-data.git"
}
```### Installing
Once you've completed all of the above, run `composer require
"drupal/omnipedia_attached_data:^4.0@dev"` in the root of your project to have
Composer install this and its required dependencies for you.-----------------
# Breaking changes
The following major version bumps indicate breaking changes:
* 4.x:
* Requires Drupal 9.5 or [Drupal 10](https://www.drupal.org/project/drupal/releases/10.0.0).
* Increases minimum version of [Hook Event Dispatcher](https://www.drupal.org/project/hook_event_dispatcher) to 3.1 and adds support for 4.0 which supports Drupal 10.
* Removes the `omnipedia_attached_data_migrate` module; you can still find it in the 3.x branch.
* 5.x:
* Increased [`drupal/ambientimpact_ux` to 2.x](https://github.com/Ambient-Impact/drupal-ambientimpact-ux/tree/2.x) from 1.x.
* Increased [`omnipedia_content` to 7.x](https://github.com/neurocracy/drupal-omnipedia-content/tree/7.x) from 6.x and removed dependency on the `omnipedia_tooltip` which was removed.
* Removed Drupal 9.5 support as [it's now end-of-life](https://endoflife.date/drupal).