Skip to content
This repository has been archived by the owner on Jan 10, 2024. It is now read-only.

Commit

Permalink
Copied README from old repo.
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon Brown committed Feb 16, 2023
1 parent 928e12f commit 0e39785
Showing 1 changed file with 63 additions and 1 deletion.
64 changes: 63 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,65 @@
# structurizr-graphviz

This library provides automatic facilities for Structurizr views.
This library provides automatic facilities for Structurizr views.
It's a wrapper around the [Graphviz tool](http://www.graphviz.org),
which allows you to apply the Graphviz layout algorithm to the views in a Structurizr workspace.

> You will need Graphviz installed.
For example:

```java
Workspace workspace = ...

GraphvizAutomaticLayout graphviz = new GraphvizAutomaticLayout();
graphviz.apply(workspace);
```

The ```structurizr-graphviz``` library does the following for every view in the workspace:

1. Export the view to a DOT file.
2. Run Graphviz (via the ```dot``` command), with the output format set to SVG.
3. Parse the generated SVG to extract layout information, and apply this to the Structurizr view (element x,y positions, relationship vertices, and paper size).

Once the layout has been applied, you can upload your workspace to the Structurizr cloud service/on-premises installation as usual.

## Changelog

### 1.7.0 (16th February 2023)

- Updated to reflect breaking changes in `structurizr-core`.

### 1.6.1 (1st October 2021)

- Adds support for custom elements on deployment views.

### 1.6.0 (3rd September 2021)

- Adds support for custom page sizes.
- Adds support for custom views.
- Takes layout settings from the view when specified, otherwise defaults are used.

### 1.5.0 (28th March 2021)

- Adds support for relationships between deployment nodes.
- Adds support for element grouping.
- Fixes a bug with double-quote characters in element names.

### 1.4.0 (18th December 2020)

- Adds support for return/response messages on dynamic views.
- Adds support for software system instances on deployment views.
- Fixes a bug where a view's paper size isn't set when the diagram is larger than A0.

### 1.3.7 (27th June 2020)

- Fixes a bug that assumed some numbers in the SVG output from Graphviz would be integers.

### 1.3.6 (9th June 2020)

- Fixes issues with running the Graphviz extension in non-English locales.

### 1.3.5 (8th April 2020)

- Initial version.

0 comments on commit 0e39785

Please sign in to comment.