Giter Club home page Giter Club logo

salesforceplantuml's Introduction

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:

salesforceplantuml's People

Contributors

frackham avatar rsoese avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.