PHPackages                             terraformers/scaffolded-fields - 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. terraformers/scaffolded-fields

ActiveSilverstripe-vendormodule

terraformers/scaffolded-fields
==============================

Configure which scaffolded fields are kept and which are removed.

1.0.0(6y ago)11[22 PRs](https://github.com/silverstripe-terraformers/scaffolded-fields/pulls)BSD-3-ClausePHPPHP ^7.1

Since Feb 23Pushed 3y ago9 watchersCompare

[ Source](https://github.com/silverstripe-terraformers/scaffolded-fields)[ Packagist](https://packagist.org/packages/terraformers/scaffolded-fields)[ RSS](/packages/terraformers-scaffolded-fields/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (5)Versions (24)Used By (0)

Scaffolded fields
=================

[](#scaffolded-fields)

Configure which scaffolded fields are kept and which are removed.

Overview
--------

[](#overview)

SilverStripe CMS creates CMS fields out of the box for you which is great for a quick project start up as you don't have to do anything to define your CMS fields. This is covered by the field scaffolder which generates these scaffolded fields. Many projects however, will use customised CMS fields which do not need the scaffolded fields. On the contrary. scaffolded fields are often a hindrance.

### Most notable cases

[](#most-notable-cases)

- inserting new fields to specific position
- changing the order of scaffolded
- changing the hierarchy of scaffolded

### Conclusion

[](#conclusion)

- customising scaffolded fields takes more effort compared to defining them from scratch
- customising order of the scaffolded fields takes more effort compared to defining it from scratch

In such situations, it's preferable to simply remove scaffolded fields and redefine them in your project code. This approach makes the CMS fields definition more readable as all fields are defined in one place. Project code is also easier to maintain as you don't have to support code which looks up scaffolded fields so they could be customised or reordered.

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

[](#installation)

```
composer require silverstripe-terraformers/scaffolded-fields dev-master

```

- apply `Terraformers\ScaffoldedFields\Extension` to a data object of your choice
- provide field removal configuration

Configuration
-------------

[](#configuration)

Specify which fields need to be kept and which should be removed. Configuration is a collection of rules. Each rule consists of the following:

- property (`db`, `has_one`, `has_many`, `many_many` or `extra`)
- type (`keep` or `remove`), this is not required when `extra` property is used
- fields list of field names that the configuration applies to

#### Example configuration

[](#example-configuration)

```
DNADesign\Elemental\Models\BaseElement:
  extensions:
    - Terraformers\ScaffoldedFields\Extension
  field_removal:
    - # remove all db fields except Title and ShowTitle
      property: db
      type: keep
      fields:
        Title
        ShowTitle
    - # remove all has_one fields
      property: has_one
      type: keep
    - # remove LinkTracking, FileTracking and BackLinkTracking fields from many_many
      property: many_many
      type: remove
      fields:
        LinkTracking
        FileTracking
        BackLinkTracking
    - # remove Settings field (not part of any static property)
      property: extra
      fields:
        Settings
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

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

Unknown

Total

1

Last Release

2267d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/505788?v=4)[Chris Penny](/maintainers/chrispenny)[@chrispenny](https://github.com/chrispenny)

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

![](https://avatars.githubusercontent.com/u/855269?v=4)[Hayden Shaw](/maintainers/thats4shaw)[@thats4shaw](https://github.com/thats4shaw)

![](https://avatars.githubusercontent.com/u/948122?v=4)[Bernard Hamlin](/maintainers/blueo)[@blueo](https://github.com/blueo)

---

Top Contributors

[![mfendeksilverstripe](https://avatars.githubusercontent.com/u/26395487?v=4)](https://github.com/mfendeksilverstripe "mfendeksilverstripe (3 commits)")

---

Tags

silverstripecms

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/terraformers-scaffolded-fields/health.svg)

```
[![Health](https://phpackages.com/badges/terraformers-scaffolded-fields/health.svg)](https://phpackages.com/packages/terraformers-scaffolded-fields)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5163.4M1.3k](/packages/silverstripe-cms)

PHPackages © 2026

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