A few weeks back, we held an internal hackathon. The goal was to split into teams and see just what APEX magic we could conjure up in 48 hours. The results were absolutely amazing.
My team included Jason Aughenbaugh and Adrian Png, and we decided to bring Visio-like capabilities to an APEX application. The sample application we developed over those two days demonstrated a process flow one would normally document using Visio.
First, we created an icon palette, then a canvas to contain the flow. It’s important to note that unlike Visio, we have complete control over the icon palette. We can create new icons (or nodes) as our needs change. Once a node is moved to the canvas, we have complete control over placement as well as any user defined attributes. Relationships between nodes are maintained using what is called connectors.
Another departure from Visio is that we can take, using our example, this process flow and save it to the database in the form of a JSON object for future retrieval and modification.