This weekend I’ve been fleshing out the code for my second Dreamforce 2013 session. I’ve been having a lot of fun with various technologies to create the following demo which I’ve shared a short work in progress video below. The JQuery plugin doing the rendering is js-mindmap, it’s got some quirks I’ve discovered so far, but I’m sticky with it for now!
The session highlights the Tooling API via this tool which can be installed directly into your Salesforce environment via the wonderful Salesforce Canvas technology! This is proposed session abstract …
Dreamforce 2013 Session: Apex Code Analysis using the Tooling API and Canvas
The Tooling API provides powerful new ways to manage your code and get further insight into how its structured. This session will teach you how to use the Tooling API and its Symbol Table to analyse your code using an application integrated via Force.com Canvas directly into your Salesforce org — no command line or desktop install required! Join us and take your knowledge of how your Apex code is really structured to the next level!
Technologies involved so far…
- Heroku hosted Java application
- Salesforce Canvas Java SDK
- Salesforce Tooling API (via JAX-WS to consume the Tooling API WSDL)
- Spring MVC Framework
- jQuery
- js-mindmap
I’ve also found the excellent ObjectAid Eclipse plugin (which is sadly a Java source code only tool) to explore the Tooling API data structures in much more detail than the Salesforce documentation currently offers, especially in respect to the SymbolTable structure. I’ll be sharing full code and discussing the following diagram in more detail in my session! In the meantime I’d love to know your thoughts and other ideas around the Tooling API!
October 7, 2013 at 9:43 am
Reblogged this on Sutoprise Avenue, A SutoCom Source.
October 7, 2013 at 10:05 am
Reblogged this on Sutoprise Avenue, A SutoCom Source.
October 7, 2013 at 10:19 am
Nice!
October 8, 2013 at 11:54 pm
Reblogged this on Sutoprise Avenue, A SutoCom Source.
October 10, 2013 at 2:04 pm
Very nice. Maybe we could stick our head together and create something like ObjectAid for Apex. Month ago when there was no Tooling API I have build something similar based on the fantastic PlantUML library and with Native Apex:
My tool is able to create UML class diagrams for Apex Classes:
and ER-Diagrams for SOBjects
One could replace my quirky RegExp parsing with the Tooling API and use PlantUML for drawing diagrams.
October 10, 2013 at 9:14 pm
Great work, especially in native Apex, love it! Since this post I have been looking for a better library, the MindMap thing is fun, but I think its better to have something more functional, i did want something that could be build incrementally via AJAX requests, so started looking at http://www.jrromero.net/tools/jsUML2. Looking at PlantUML though this may also do the trick despite not being JavaScript based, http://plantuml.sourceforge.net/codejavascript.html, I assume what your doing? I’ll get the source code in a GitHub repo and lets see what we can cook up! 🙂
October 11, 2013 at 9:11 am
I made my code a public GitHub repo myself. Feel free to mix, merge or let me help you.
https://github.com/rsoesemann/plantuml4force
Pingback: Preview: Apex UML Canvas with Tooling API | Andy in the Cloud