PHPackages                             bluehousegroup/silverstripe-data-object-version-viewer - 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. bluehousegroup/silverstripe-data-object-version-viewer

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

bluehousegroup/silverstripe-data-object-version-viewer
======================================================

Allows viewing of version history for data objects inside of the SilverStripe CMS

0.1(9y ago)1613.1k7[6 issues](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer/issues)[1 PRs](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer/pulls)BSD-3-ClausePHP

Since Feb 3Pushed 9y ago17 watchersCompare

[ Source](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer)[ Packagist](https://packagist.org/packages/bluehousegroup/silverstripe-data-object-version-viewer)[ Docs](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer)[ RSS](/packages/bluehousegroup-silverstripe-data-object-version-viewer/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (4)Used By (0)

Data Object Version Viewer
==========================

[](#data-object-version-viewer)

[![Screenshot](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer/raw/master/VersionViewerScreenShot.png)](https://github.com/bluehousegroup/silverstripe-data-object-version-viewer/blob/master/VersionViewerScreenShot.png)

### Install with Composer

[](#install-with-composer)

```
composer require bluehousegroup/silverstripe-data-object-version-viewer

```

Usage
-----

[](#usage)

- Extend `silverstripe-versioneddataobjects` to add a 'History' button to a GridField or ModelAdmin
- View, revert to, and publish a previous versions of a data object

Example code
------------

[](#example-code)

The implementation is very similar to the versioneddataobjects module, on which this module depends.

### Within your DataObject class

[](#within-your-dataobject-class)

```
class Slice extends DataObject
{
	private static $db = [
		'Content' => 'Text'
	];

	private static $has_one = [
		'Parent' => 'SiteTree'
	];

	private static $extensions = [
		'Heyday\VersionedDataObjects\VersionedDataObject'
	];
}
```

To use `VersionedDataObject` records in a GridField, `GridFieldDetailForm` needs to be replaced with `VersionedRevertDODetailsForm`:

```
// ...

public function getCMSFields()
{
	$fields = parent::getCMSFields();

	$fields->addFieldToTab(
		'Root.Slices',
		new GridField(
			'Slices',
			'Slices',
			$this->Slices(),
			$config = GridFieldConfig_RelationEditor::create()
		)
	);

	$config->removeComponentsByType('GridFieldDetailForm');
	$config->addComponent(new VersionedRevertDODetailsForm());

	return $fields;
}

// ...
```

### Versioned DataObjects in a ModelAdmin

[](#versioned-dataobjects-in-a-modeladmin)

```
class SliceAdmin extends VersionedRevertModelAdmin
{
	private static $menu_title = 'Slices';

	private static $url_segment = 'slice';

	private static $managed_models = [
		'Slice'
	];
}
```

Notes
-----

[](#notes)

This module is intended to be compatible with the betterbuttons module. Toward that end, it removes the betterbuttons's Versioning button group in order to keep in tact the buttons added by the versiondataobjects plug-in. This change affects only the forms configured with the VersionedRevertDODetailsForm extension.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance13

Infrequent updates — may be unmaintained

Popularity33

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

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

3356d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ad6ecad3fe9eee18d522c13c67eb5e16d9aa99a6692de84680ad2e58d84edf9a?d=identicon)[andrew@bluehousegroup.com](/maintainers/andrew@bluehousegroup.com)

---

Top Contributors

[![bigSiebs](https://avatars.githubusercontent.com/u/11037603?v=4)](https://github.com/bigSiebs "bigSiebs (12 commits)")[![irkeepin](https://avatars.githubusercontent.com/u/5104208?v=4)](https://github.com/irkeepin "irkeepin (2 commits)")[![adrexia](https://avatars.githubusercontent.com/u/984753?v=4)](https://github.com/adrexia "adrexia (1 commits)")[![camfindlay](https://avatars.githubusercontent.com/u/367847?v=4)](https://github.com/camfindlay "camfindlay (1 commits)")

---

Tags

silverstripeversiondata objects

### Embed Badge

![Health badge](/badges/bluehousegroup-silverstripe-data-object-version-viewer/health.svg)

```
[![Health](https://phpackages.com/badges/bluehousegroup-silverstripe-data-object-version-viewer/health.svg)](https://phpackages.com/packages/bluehousegroup-silverstripe-data-object-version-viewer)
```

###  Alternatives

[bummzack/page-blocks

Modular content-blocks for SilverStripe pages

135.3k](/packages/bummzack-page-blocks)[silverstripe/multi-domain

Allows multiple domains to access one CMS instance, mapping them to different sections of the hierarchy

141.6k](/packages/silverstripe-multi-domain)

PHPackages © 2026

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