PHPackages                             dpc-sdp/tide\_demo\_content - 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. dpc-sdp/tide\_demo\_content

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

dpc-sdp/tide\_demo\_content
===========================

Create demo content for Tide modules.

4.1.1(1y ago)140.2k5[5 PRs](https://github.com/dpc-sdp/tide_demo_content/pulls)GPL-2.0-or-laterPHP

Since Jan 21Pushed 1y ago4 watchersCompare

[ Source](https://github.com/dpc-sdp/tide_demo_content)[ Packagist](https://packagist.org/packages/dpc-sdp/tide_demo_content)[ RSS](/packages/dpc-sdp-tide-demo-content/feed)WikiDiscussions develop Synced today

READMEChangelog (10)Dependencies (2)Versions (67)Used By (0)

This repository has been archived and is no longer actively maintained. If you need to create new PRs or Issues, please visit the following repository: [https://github.com/dpc-sdp/tide\_core](https://github.com/dpc-sdp/tide_core).
======================================================================================================================================================================================================================================

[](#this-repository-has-been-archived-and-is-no-longer-actively-maintained-if-you-need-to-create-new-prs-or-issues-please-visit-the-following-repository-httpsgithubcomdpc-sdptide_core)

tide\_demo\_content
===================

[](#tide_demo_content)

Provides demo content for Tide modules.

[![CircleCI](https://camo.githubusercontent.com/778470ab182cce6af25f4cc8c8816cad7ca0d55b6d9f2e089a7a197cf60c102b/68747470733a2f2f636972636c6563692e636f6d2f67682f6470632d7364702f746964655f64656d6f5f636f6e74656e742e7376673f7374796c653d73766726636972636c652d746f6b656e3d38666530656330303464633063623131656162303562326336326336356531333733303630623033)](https://circleci.com/gh/dpc-sdp/tide_demo_content)

CONTENTS OF THIS FILE
=====================

[](#contents-of-this-file)

- Introduction
- Requirements
- Usage
- For developers

INTRODUCTION
============

[](#introduction)

The Tide Demo Content module leverages the Yaml Content module to provide default demo content for the Tide modules. It also enables privileged users to import YAML content via Admin UI.

REQUIREMENTS
============

[](#requirements)

- [Yaml Content](https://drupal.org/project/yaml_content)

USAGE
=====

[](#usage)

- The Tide Demo Content imports all demo content upon installation.
- It also removes all imported demo content when it is uninstalled.
- Privileged users with the "manually import demo content" permission can import YAML content file via the UI: Admin &gt; Content &gt; Import Demo Content.
- To construct the YAML content file, please refer to the following resources:
    - [Yaml Content module](https://drupal.org/project/yaml_content)
    - [Creating Content with YAML Content Module](https://www.mediacurrent.com/blog/creating-content-yaml-content-module/)

FOR DEVELOPERS
==============

[](#for-developers)

The Tide Demo Content module utilises the Yaml Content module to import its own definition of demo content.

- Drush commands of the [Yaml Content module](https://drupal.org/project/yaml_content)module will not recognise demo content defined under the structure of Tide Demo Content, hence they will not import those demo content.
- The Tide Demo Content module will not remove standard YAML content imported by Drush commands of YAML Content module.
- Custom demo content can be defined in the `yourmodule.tide_demo_content.yml`. Each demo content collection can have the following keys:
    - `dependencies` declares the requirements of the collection:
        1. `modules`: list of required modules. If at least one required module is not enabled, the collection will be ignored by Tide Demo Content.
        2. `collections`: list of demo content collection to be imported before this collection can be imported. If a required collection is missing, this collection will be ignored.
    - `content` declares the list of `.content.yml` files of the collection.
        - Tide Demo Content module will look for `.content.yml` files under the directory `demo_content/content/` of your module to import.
        - If the `content` key has a directory, everything under that directory will be imported recursively.
        - All items of the `content` keys will be imported in the same order defined in the collection.
        - Images and files will be imported from the `demo_content/images` and `demo_content/data_files` directories.

Example
-------

[](#example)

The structure of `mymodule`:

```
 |- demo_content
 |  |- content
 |     |- taxonomy_term
 |     |  |- mymodule.tags.yml
 |     |  |- mymodule.topic.yml
 |     |- mymodule.extra.content
 |     |- mymodule.media.content.yml
 |     |- mymodule.node.content.yml
 |- mymodule.info.yml
 |- mymodule.install
 |- mymodule.module
 |- mymodule.tide_demo_content.yml

```

`mymodule.tide_demo_content.yml`

```
mymodule.demo:
  dependencies:
    modules:
      - mymodule
      - tide_core
    collections:
      - tide_demo_content:tide_core.demo
      - tide_demo_content:tide_site.demo
  content:
    - taxonomy_term
    - mymodule.media.content.yml
    - mymodule.node.content.yml
mymodule.extra_demo:
  dependencies:
    modules:
      - mymodule
      - tide_core
    collections:
      - mymodule:mymodule.demo
  content:
    - mymodule.extra.content.yml
```

The `mymodule` modules defines 2 demo content collections:

1. `mymodule.demo`
    - requires 2 modules: mymodule and tide\_core.
    - depends on 2 demo collections `tide_core.demo` and `tide_site.demo` from the `tide_demo_content` module.
    - Tide Demo Content will import the `.content.yml` files of `mymodule.demo`in the following order:
        1. taxonomy\_term/\*
        2. mymodule.media.content.yml
        3. mymodule.node.content.yml
2. `mymodule.extra_demo`
    - requires 2 modules: mymodule and tide\_core.
    - depends on and will be imported after `mymodule.demo`

Custom Yaml Content process plugins
-----------------------------------

[](#custom-yaml-content-process-plugins)

- **URI Reference**: derived from the *Reference* process plugin. It accepts all parameters of the `reference` process plugin and returns the `uri` of the found entity instead of the ID. This plugin can be used for Link fields or Menu items.

```
  field_external_link:
    - uri: https://www.vic.gov.au
      title: Victorian Government
  field_internal_link:
    - '#process':
        callback: uri_reference
        args:
          - node
          - type: page
            title: Demo Page
      title: 'Read more'
```

Hooks
-----

[](#hooks)

- `hook_tide_demo_content_collection_ignore` is invoked before Tide Demo Content imports demo content collections. It allows other modules to exclude unwanted demo content collections. When a collection is ignored, all its dependants are also automatically ignored due to missing dependencies. Ignoring the `tide_demo_content:tide_media.demo` and `tide_demo_content:tide_site.demo`will exclude *all* default demo content from Tide modules except demo users.
- `hook_tide_demo_content_entity_imported` is invoked after Tide Demo Content imports a demo entity.

Known issues
------------

[](#known-issues)

- Yaml Content: [Nodes Cannot Create Menu Links Automatically](https://www.drupal.org/node/2879468)
- Yaml Content: [Nodes Cannot Create Path Aliases](https://www.drupal.org/project/yaml_content/issues/2883434)
- Tide Demo Content: the Import Demo Content UI only allows to import YAML content, it does not allow to upload files/images. Hence, entities in the uploaded YAML can only reference existing files/images.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor3

3 contributors hold 50%+ of commits

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 ~66 days

Recently: every ~108 days

Total

26

Last Release

695d ago

Major Versions

1.1.7 → 3.0.02021-10-19

3.0.13 → 4.0.02023-11-15

### Community

Maintainers

![](https://www.gravatar.com/avatar/db9df7f3a34b868452362f865fd9ef955870e8bd169d3c068d2fbe0f53ef2822?d=identicon)[dpc-admin](/maintainers/dpc-admin)

---

Top Contributors

[![MdNadimHossain](https://avatars.githubusercontent.com/u/20810541?v=4)](https://github.com/MdNadimHossain "MdNadimHossain (32 commits)")[![klaukl](https://avatars.githubusercontent.com/u/86580032?v=4)](https://github.com/klaukl "klaukl (23 commits)")[![vincent-gao](https://avatars.githubusercontent.com/u/8788145?v=4)](https://github.com/vincent-gao "vincent-gao (20 commits)")[![GROwen](https://avatars.githubusercontent.com/u/3916040?v=4)](https://github.com/GROwen "GROwen (13 commits)")[![mayurngondhkar](https://avatars.githubusercontent.com/u/9244829?v=4)](https://github.com/mayurngondhkar "mayurngondhkar (10 commits)")[![sonnykt](https://avatars.githubusercontent.com/u/167788?v=4)](https://github.com/sonnykt "sonnykt (7 commits)")[![edyuenyw](https://avatars.githubusercontent.com/u/67810118?v=4)](https://github.com/edyuenyw "edyuenyw (3 commits)")[![tim-yao](https://avatars.githubusercontent.com/u/31641325?v=4)](https://github.com/tim-yao "tim-yao (3 commits)")[![FleetAdmiralButter](https://avatars.githubusercontent.com/u/37036084?v=4)](https://github.com/FleetAdmiralButter "FleetAdmiralButter (2 commits)")[![Terence625](https://avatars.githubusercontent.com/u/46805148?v=4)](https://github.com/Terence625 "Terence625 (2 commits)")[![yeniatencio](https://avatars.githubusercontent.com/u/47239456?v=4)](https://github.com/yeniatencio "yeniatencio (1 commits)")[![krakerag](https://avatars.githubusercontent.com/u/496095?v=4)](https://github.com/krakerag "krakerag (1 commits)")[![pmethukupally](https://avatars.githubusercontent.com/u/116940938?v=4)](https://github.com/pmethukupally "pmethukupally (1 commits)")[![sdpdeploy](https://avatars.githubusercontent.com/u/33045904?v=4)](https://github.com/sdpdeploy "sdpdeploy (1 commits)")[![waitingallday](https://avatars.githubusercontent.com/u/863542?v=4)](https://github.com/waitingallday "waitingallday (1 commits)")

---

Tags

composer-packagetide

### Embed Badge

![Health badge](/badges/dpc-sdp-tide-demo-content/health.svg)

```
[![Health](https://phpackages.com/badges/dpc-sdp-tide-demo-content/health.svg)](https://phpackages.com/packages/dpc-sdp-tide-demo-content)
```

PHPackages © 2026

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