PHPackages                             jvmtech/content-subgroups - 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. jvmtech/content-subgroups

ActiveNeos-package

jvmtech/content-subgroups
=========================

Reduce the amount of Content Types (Neos CMS NodeTypes) by creating subgroups and specific migrations to easily switch between them.

v0.1.0(11mo ago)34291[1 PRs](https://github.com/jvm-tech/JvMTECH.ContentSubgroups/pulls)MITPHP

Since May 30Pushed 5mo ago2 watchersCompare

[ Source](https://github.com/jvm-tech/JvMTECH.ContentSubgroups)[ Packagist](https://packagist.org/packages/jvmtech/content-subgroups)[ RSS](/packages/jvmtech-content-subgroups/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (8)Used By (0)

JvMTECH.ContentSubgroups Package for Neos CMS
=============================================

[](#jvmtechcontentsubgroups-package-for-neos-cms)

[![Latest Stable Version](https://camo.githubusercontent.com/430ca615e5ac81ed2d37cf292abe07abc763cc9eec067a3cfbbe9a010334c7e9/68747470733a2f2f706f7365722e707567782e6f72672f6a766d746563682f636f6e74656e742d73756267726f7570732f762f737461626c65)](https://packagist.org/packages/jvmtech/content-subgroups)[![License](https://camo.githubusercontent.com/82187cde5bd7884b002270fa74894dbce158e17a29ba98f4cf451f2b5e5298a8/68747470733a2f2f706f7365722e707567782e6f72672f6a766d746563682f636f6e74656e742d73756267726f7570732f6c6963656e7365)](https://packagist.org/packages/jvmtech/content-subgroups)

> Reduce the amount of Content Types (Neos CMS NodeTypes) by creating subgroups and specific migrations to easily switch between them.

- Less clutter in the first step of the ContentCreationDialog
- One Content Type per Fusion Prototype (no layout mixing properties)
- Don't lose data while changing the Content Type or an existing node
    - NOTE: If you transition from a nodeType with child-ContentCollections to one without, the ContentCollection and all its descendants will be lost!

### 1. Create shells which are only visible in first ContentCreationDialog step...

[](#1-create-shells-which-are-only-visible-in-first-contentcreationdialog-step)

```
'Vendor:Subgroup.Image':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Image(s)'
    group: 'general'
  properties:
    targetNodeTypeName:
      ui:
        inspector:
          editorOptions:
            dataSourceAdditionalData:
              contentSubgroup: 'image'

'Vendor:Subgroup.Text':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Text'
    group: 'general'
  properties:
    targetNodeTypeName:
      ui:
        inspector:
          editorOptions:
            dataSourceAdditionalData:
              contentSubgroup: 'text'
```

### 2. Map the actual Content Types to subgroups, selectable in the second ContentCreationDialog step...

[](#2-map-the-actual-content-types-to-subgroups-selectable-in-the-second-contentcreationdialog-step)

```
'Vendor:Content.Image':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Single Image'
    group: 'hidden'
  options:
    contentSubgroup:
      tags:
        - image

'Vendor:Content.ImageSwiper':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Image Swiper'
    group: 'hidden'
  options:
    contentSubgroup:
      tags:
        - image

'Vendor:Content.TextWithImage':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Text with image'
    group: 'hidden'
  options:
    contentSubgroup:
      tags:
        - text
        - image

'Vendor:Content.Bodytext':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Bodytext'
    group: 'hidden'
  options:
    contentSubgroup:
      tags:
        - text

'Vendor:Content.Quote':
  superTypes:
    'Neos.Neos:Content': true
    'JvMTECH.ContentSubgroups:Enable': true
  ui:
    label: 'Quote'
    group: 'hidden'
  options:
    contentSubgroup:
      tags:
        - text
```

### 3. Optionally add property migrations where needed...

[](#3-optionally-add-property-migrations-where-needed)

```
'Vendor:Content.TextWithImage':
  options:
    contentSubgroup:
      propertyMigrationFrom:
        'Vendor:Content.Bodytext':
          'text': 'imageText'
        'Vendor:Content.Quote':
          'quote': 'imageText'

'Vendor:Content.Bodytext':
  options:
    contentSubgroup:
      propertyMigrationFrom:
        'Vendor:Content.TextWithImage':
          'imageText': 'quote'
        'Vendor:Content.Quote':
          'quote': 'text'

'Vendor:Content.Quote':
  options:
    contentSubgroup:
      propertyMigrationFrom:
        'Vendor:Content.TextWithImage':
          'imageText': 'quote'
        'Vendor:Content.Bodytext':
          'text': 'quote'
```

Installation
------------

[](#installation)

```
composer require jvmtech/content-subgroups

```

---

Migration
---------

[](#migration)

Custom Migrations are no longer available in v2.x, as the package has been refactored to use a more streamlined approach for managing content subgroups.

To migrate from version 1.x to 2.x (neos/cms v9.x), the following changes need to be made to your nodetype configuration:

Before:

```
'Vendor:Content.Quote':
  options:
    contentSubgroup:
      propertyMigrationFrom:
        'Vendor:Content.TextWithImage':
          'imageText':
            'MoveTo': 'quote'

```

After:

```
'Vendor:Content.Quote':
  options:
    contentSubgroup:
      propertyMigrationFrom:
        'Vendor:Content.TextWithImage':
          'imageText': 'quote'

```

by [jvmtech.ch](https://jvmtech.ch)

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance62

Regular maintenance activity

Popularity19

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

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

Every ~95 days

Total

5

Last Release

340d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/56817323?v=4)[jvmtech](/maintainers/jvmtech)[@Jvmtech](https://github.com/Jvmtech)

---

Top Contributors

[![sbruggmann](https://avatars.githubusercontent.com/u/1162368?v=4)](https://github.com/sbruggmann "sbruggmann (7 commits)")[![c4ll-m3-j4ck](https://avatars.githubusercontent.com/u/7119811?v=4)](https://github.com/c4ll-m3-j4ck "c4ll-m3-j4ck (3 commits)")[![jonnitto](https://avatars.githubusercontent.com/u/4510166?v=4)](https://github.com/jonnitto "jonnitto (2 commits)")

### Embed Badge

![Health badge](/badges/jvmtech-content-subgroups/health.svg)

```
[![Health](https://phpackages.com/badges/jvmtech-content-subgroups/health.svg)](https://phpackages.com/packages/jvmtech-content-subgroups)
```

###  Alternatives

[neos/neos-ui

Neos CMS UI written in React

2661.0M104](/packages/neos-neos-ui)[neos/form-builder

Flow Form Framework integration into Neos CMS

19347.1k18](/packages/neos-form-builder)[neos/demo

Site package for the Neos Demo Site

18181.0k6](/packages/neos-demo)[flowpack/media-ui

This module allows managing media assets including pictures, videos, audio and documents.

2184.5k2](/packages/flowpack-media-ui)[kaufmanndigital/gdpr-cookieconsent

A ready-to-run package, that integrates an advanced cookie consent banner into your Neos CMS site.

2540.7k](/packages/kaufmanndigital-gdpr-cookieconsent)[flowpack/neos-matomo

Track visits of your Neos site with the Matomo Open Analytics Platform!

2337.6k](/packages/flowpack-neos-matomo)

PHPackages © 2026

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