SalesforcePlantUML is a native Salesforce.com application that generates UML class diagrams for Apex classes and Database objects. The diagrams are rendered by the external declarative UML tool PlantUML.
Switch branches/tags
Nothing to show
Clone or download
rsoesemann Merge pull request #1 from frackham/master
Added option to highlight CC of >5 / >10
Latest commit b8aaec1 Jun 21, 2018
Permalink
Failed to load latest commit information.
resources Move README images into repo Nov 7, 2017
src Changed CC metrics (5 / 10). May 15, 2018
.codeclimate.yml Enabled ESLint engine Dec 14, 2016
.gitignore no message Oct 11, 2013
.project Initial commit Oct 11, 2013
README.md Update README.md Dec 21, 2017

README.md

PlantUML diagram generator for Salesforce orgs

Deploy to Salesforce

SalesforcePlantUML is a native Force.com application that renders UML class diagrams for a given set of Apex classes or SObjects. The diagrams are rendered by an external declarative UML service / library called PlantUML.

PlantUML is a free and open source UML tool for drawing UML diagrams from a simple and human readable text description. It ca be used as a stand-alone application or can be used from many different IDEs.[1] Dependencies for PlantUML are a Java virtual machine and an installation of Graphviz. To create the UML diagrams, PlantUML has a meta-language defined that allows the diagram creator to describe the UML as a series of text statements which the graphics engine translates into standard UML notation. The graphics engine is written in Java and is distributed in both JAR and source code form. [2]

All the information required to render such diagrams is extracted via Apex code and very ugly ;) and unstable Regular Expressions. This should definitely be replace by code that uses the new Tooling API. Feel free to collaborate.

/apex/classDiagramCreator page

This page renders a UML class diagram that show classes, their attribute, methods, inner classes and relations to other classes. It also calculates basic complexity metrics like LOC and Cyclomatic complexity.

  1. Open page YOUR_ORG_URL/apex/classDiagramCreator
  2. Select classes (If you choose too many or too complex classes you might get Limit errors.) 3 Choose some options
  3. Wait! (IMPORTANT as the main work is done in Javascript and on a very slow server)

Page /apex/classDiagramCreator

/apex/erdCreator page

This page render a UML class diagram that show standard and custom SObjects, their fields for a given permission set and related metadata (e.g. pages and triggers)

  1. Open page YOUR_ORG_URL/apex/erdCreator
  2. Select SObjects (If you choose too many or too complex classes you might get Limit errors.) 3 Choose some options
  3. Wait! (IMPORTANT as the main work is done in Javascript and on a very slow server)

and for SObjects including field permissions and related metadata (pages, trigger,...)

Page /apex/erdCreator

Third-party Code

This app makes use of third-party components also hosted on GitHub: