PHPackages                             froog/silvergraph - 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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. froog/silvergraph

ActiveSilverstripe-vendormodule[Authentication &amp; Authorization](/categories/authentication)

froog/silvergraph
=================

Generates data model visualisations from SilverSripe DataObjects, displaying database fields, relations and ancestry

0.0.4(9y ago)425.7k11[2 issues](https://github.com/froog/SilverGraph/issues)[1 PRs](https://github.com/froog/SilverGraph/pulls)BSD-3-ClausePHPCI failing

Since Dec 9Pushed 4y ago3 watchersCompare

[ Source](https://github.com/froog/SilverGraph)[ Packagist](https://packagist.org/packages/froog/silvergraph)[ RSS](/packages/froog-silvergraph/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

SilverGraph
===========

[](#silvergraph)

Creates data model visualisations of SilverStripe DataObjects, showing fields, relations and ancestry. Can output images in .png, .svg and raw GraphViz "dot" format. Flexible configuration options and can be called from command line and URL.

[![SilverGraph example](https://camo.githubusercontent.com/2491048555a7f4cd3a89716bfbad84f5393f522a1823826d959e811fbef350e9/68747470733a2f2f7261772e6769746875622e636f6d2f66726f6f672f53696c76657247726170682f6d61737465722f646f632f53696c76657247726170685f6578616d706c655f5f6c6f636174696f6e3d636d732c6672616d65776f726b2c6d79736974652e706e67)](https://camo.githubusercontent.com/2491048555a7f4cd3a89716bfbad84f5393f522a1823826d959e811fbef350e9/68747470733a2f2f7261772e6769746875622e636f6d2f66726f6f672f53696c76657247726170682f6d61737465722f646f632f53696c76657247726170685f6578616d706c655f5f6c6f636174696f6e3d636d732c6672616d65776f726b2c6d79736974652e706e67)

*Example call: *

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

[](#installation)

- Composer/Packagist: Install composer, run `composer require froog/silvergraph` (\* for version) and visit `?flush=1` to update the routing table.
- Manual: Download and extract silvergraph as `SilverGraph` folder in the top level of your site and visit `?flush=1` to update the routing table.

### Installation on OSX

[](#installation-on-osx)

- Install Graphviz via Homebrew: `brew install graphviz` and note down the location
- Add the location to your `_ss_environment.php` file, postpending 'dot' to the end of the path, e.g.: `define('SILVERGRAPH_GRAPHVIZ_PATH', '/usr/local/Cellar/graphviz/2.38.0/bin/dot');`
- Visit `?flush=1` to update the routing table.

Requirements
------------

[](#requirements)

- SilverStripe 3.0.0+
- To create images: GraphViz (latest version)
- To install (Debian/Ubuntu): `apt-get install graphviz`

Usage
-----

[](#usage)

### Command line: (in site root)

[](#command-line-in-site-root)

- Default png image: `sake Silvergraph/png > datamodel.png`
- Parameters: `sake Silvergraph/png location=mysite,cms inherited=1 exclude=SiteTree > datamodel.png`
- Default dot file: `sake Silvergraph/dot > datamodel.dot`

### Browser: (logged in as admin)

[](#browser-logged-in-as-admin)

- Default png image:
- Parameters: [http://example.com/Silvergraph/png?location=mysite,cms&amp;inherited=1&amp;exclude=SiteTree](http://example.com/Silvergraph/png?location=mysite,cms&inherited=1&exclude=SiteTree)
- Default dot file:

### Parameters

[](#parameters)

#### Specify the folder to look for classes under

[](#specify-the-folder-to-look-for-classes-under)

- `location=mysite` *(default)* Only graph classes under the /mysite folder
- `location=/` Graph ALL classes in every module (warning - may take a long time and could generate a large .png)
- `location=mysite,mymodule` Only graph classes under /mysite and /mymodule folders

#### Remove specific classes from the graph

[](#remove-specific-classes-from-the-graph)

- `exclude=SiteTree`
- `exclude=SiteTree,File`

#### How verbosely to show relations

[](#how-verbosely-to-show-relations)

- `relations=0` Don't show any relations
- `relations=1` *(default)* Don't show inherited relations
- `relations=2` Show inherited relations (verbose)

#### How verbosely to show fields

[](#how-verbosely-to-show-fields)

- `fields=0` Don't show any fields
- `fields=1` *(default)* Show only fields defined on self
- `fields=2` Show inherited fields (verbose)

#### How verbosely to show ancestors

[](#how-verbosely-to-show-ancestors)

- `ancestry=0` Don't show any ancestry relations
- `ancestry=1` *(default)* Show ancestry relations

#### Include DataObject on the graph

[](#include-dataobject-on-the-graph)

- `include-root=0` *(default)* Don't graph DataObject
- `include-root=1` Graph DataObject

#### Group classes by modules

[](#group-classes-by-modules)

- `group=0` *(default)* Don't group by modules
- `group=1` Group the modules into their own container

#### Specify direction graph is laid out

[](#specify-direction-graph-is-laid-out)

- `rankdir=x` Where x is `TB` *(default)* ,`LR`,`RL`, or `BT` (top-bottom, left-right, right-left, bottom-top)

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity31

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor2

2 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 ~384 days

Total

4

Last Release

3433d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/559102?v=4)[Daniel Pickering](/maintainers/froog)[@froog](https://github.com/froog)

---

Top Contributors

[![danieldia](https://avatars.githubusercontent.com/u/5490151?v=4)](https://github.com/danieldia "danieldia (24 commits)")[![froog](https://avatars.githubusercontent.com/u/559102?v=4)](https://github.com/froog "froog (19 commits)")[![ntd](https://avatars.githubusercontent.com/u/160618?v=4)](https://github.com/ntd "ntd (15 commits)")[![anselmdk](https://avatars.githubusercontent.com/u/1316533?v=4)](https://github.com/anselmdk "anselmdk (2 commits)")[![edwilde](https://avatars.githubusercontent.com/u/415374?v=4)](https://github.com/edwilde "edwilde (2 commits)")[![joshkosmala](https://avatars.githubusercontent.com/u/1444716?v=4)](https://github.com/joshkosmala "joshkosmala (1 commits)")

---

Tags

silverstripecmspermissionsmember

### Embed Badge

![Health badge](/badges/froog-silvergraph/health.svg)

```
[![Health](https://phpackages.com/badges/froog-silvergraph/health.svg)](https://phpackages.com/packages/froog-silvergraph)
```

###  Alternatives

[silverstripe/cms

The SilverStripe Content Management System

5253.6M1.4k](/packages/silverstripe-cms)[silverstripe/contentreview

Flags pages for periodical author review (incl. reporting)

23269.4k5](/packages/silverstripe-contentreview)[axyr/silverstripe-adminlogin

Use a custom login screen to log in to the admin section

165.8k](/packages/axyr-silverstripe-adminlogin)

PHPackages © 2026

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