SalesforcePlantUML is a native Force.com application that renders UML diagrams from your orgs metadata. Currently it supports ERD diagrams from your 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]
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)
- Open page YOUR_ORG_URL/apex/erdCreator
- Select SObjects (If you choose too many or too complex classes you might get Limit errors.) 3 Choose some options
- 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,...)
This app makes use of third-party components also hosted on GitHub:
- Apex-Select-Option-Sorting, an Apex sort utility class for SelectOptions
- Multiselect Component, a Multiselect Picklist Visualforce Component
- PlantUML Javascript bridge A javascript Deflate algorithm to create URL to call the plantuml.com image server