Skip to content

Commit

Permalink
Removed Class Diagram and simplified to stable state
Browse files Browse the repository at this point in the history
  • Loading branch information
rsoesemann committed Jul 21, 2022
1 parent 8811170 commit 18d9311
Show file tree
Hide file tree
Showing 39 changed files with 144 additions and 1,108 deletions.
1 change: 1 addition & 0 deletions .dccache
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/permissionsets/PlantUml.permissionset-meta.xml":[821,1658414851576.5576,"c7c15788c3f2c7a511a2646c10f2c2594b3cddb2688dc0c30b4f05ffc6b0befe"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/classes/ERDCreatorCtrl.cls":[1890,1658429884109.3088,"98c1d21c6a5afedd28e6d5d2d78eaf609e2d95728620d04428d9ef8b15cf0724"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/applications/SalesforcePlantUml.app-meta.xml":[654,1658416291436.25,"0b230eec17b277feff2059aa33c2b07250df52e2809a9df91c97e46ba9712c4d"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/classes/MultiselectCtrl.cls":[855,1658416448364.6538,"1bbeda4cbd45ed91b175f7c1e9a9ba1ac7dfd48f67cf6f51c8e12e7594046752"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/classes/MultiselectCtrl_Test.cls":[484,1658416529629.1565,"afafa4bd2c6b8242ea71af4d9c6d3ce67716aafcdb0770cc556118514d51f34f"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/classes/ERDCreatorCtrl_Test.cls":[1193,1658416850537.2712,"dc9579770364a3a8a08f672ba6a314031364f9ce309fb9c0913f14078c7481aa"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/components/multiselect.component-meta.xml":[185,1658416636386.4531,"33fbb54d489b583699c60e737a6f056715f524183b1b4afd42fc12ac54287c1c"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/components/Multiselect.component-meta.xml":[185,1658416636386.4531,"33fbb54d489b583699c60e737a6f056715f524183b1b4afd42fc12ac54287c1c"],"/Users/rsoesemann/dev/projects/salesforce-plantuml/force-app/main/default/classes/PlantUmlErdDiagram.cls":[3891,1658432713621.601,"c96644fb4fe1fb470cde62675622d198dd74ee597ec9f4239fac6c35bb78f83b"]}
4 changes: 4 additions & 0 deletions .sf/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"target-dev-hub": "DevHubPrivate",
"target-org": "salesforce-plantuml_DEV"
}
18 changes: 1 addition & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
# PlantUML diagram generator for Salesforce orgs

SalesforcePlantUML is a native Force.com application that renders UML class diagrams for a given set of Apex classes or SObjects.
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](http://plantuml.sourceforge.net/).

> 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](http://www.salesforce.com/us/developer/docs/api_toolingpre/index.htm).
Feel free to collaborate.

<a href="https://githubsfdeploy.herokuapp.com">
<img alt="Deploy to Salesforce"
src="https://raw.githubusercontent.com/afawcett/githubsfdeploy/master/deploy.png">
Expand All @@ -28,18 +24,6 @@ and for SObjects including field permissions and related metadata (pages, trigge

> ![Page /apex/erdCreator](https://raw.github.com/rsoesemann/SalesforcePlantUML/master/resources/plantuml4force_erd.png)
## /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
4. Wait! (IMPORTANT as the main work is done in Javascript and on a very slow server)

> ![Page /apex/classDiagramCreator](https://raw.github.com/rsoesemann/SalesforcePlantUML/master/resources/plantuml4force_class.png)
## Third-party Code ##

This app makes use of third-party components also hosted on GitHub:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@
<headerColor>#0070D2</headerColor>
<shouldOverrideOrgTheme>false</shouldOverrideOrgTheme>
</brand>
<description>Renders UML diagrams for Apex Classes and SObjects</description>
<description>Auto-layouted and reusable UML diagrams of your metadata</description>
<formFactors>Large</formFactors>
<isNavAutoTempTabsDisabled>false</isNavAutoTempTabsDisabled>
<isNavPersonalizationDisabled>false</isNavPersonalizationDisabled>
<label>PlantUML</label>
<label>PlantUml for Salesforce</label>
<navType>Standard</navType>
<tabs>ErdCreator</tabs>
<tabs>ClassDiagramCreator</tabs>
<uiType>Lightning</uiType>
</CustomApplication>
95 changes: 0 additions & 95 deletions force-app/main/default/classes/ApexClassForTests.cls

This file was deleted.

240 changes: 0 additions & 240 deletions force-app/main/default/classes/ApexParser.cls

This file was deleted.

Loading

0 comments on commit 18d9311

Please sign in to comment.