Salesforce Tooling API and nonprofit developer happiness

Salesforce Spring 13Salesforce is well-known for its cloud database model and architecture, making it one of the most popular platforms for building the next generation of apps for non-profit organizations. With the forth-coming Spring 13 release, developers will receive a late holiday present:  the new Salesforce Tooling API.

One of the challenges that developers have had during the past few years is easily sharing their code and best practices with other organizations to help create an open source ecosystem around Salesforce. This is often due to barriers to entry that make it a bit difficult to easily export/import code into your Salesforce instance, especially for those of us supporting the Nonprofit Starter Pack.

In short, it's not easy to collaborate within the Salesforce developer community as it is in other software communities.

With the new Salesforce Tooling API, however, developers in the community can start to build tools for other developers that might make it a lot easier to share code and ideas.  The Tooling API allows for access to key building blocks of Force.com development, including Apex classes, triggers, and VisualForce pages.  This means that our developer community could effectively create tools that makes it easier to share their code, thereby increasing the flow of best practices within our community.

It's enough to make this open source supporter giddy with ideas for the future. Here's some examples from the API documentation as to what you can do with the API.

  • Manage working copies of Apex classes and triggers and Visualforce pages and components.
  • Check for updates and errors in working copies of Apex classes and triggers and Visualforce pages and components, and commit changes to your organization.
  • Set heap dump markers.
  • Overlay Apex code or SOQL statements on an execution.
  • Access heap dump files.
  • Access debug log files.
  • Set trace flags to generate log files for yourself or for other users.

In the future, I suspect that they'll continue to open this up further, providing access to more metadata like reports and dashboards, which would in turn make it even easier for organizations to share best practices.  While this might be a very developer-focused announcement by Salesforce, it certainly opens the door for better collaboration within our non-profit community.