Building Your Own Development Tools With the Force.com Tooling API

18
Building Your Own Development Tools With the Force.com Tooling API Doug Friedman @realdoug Featuring: Joe Ferraro, CTO, Mavens Consulting @joeferraro

description

Join us as we use the Tooling API to build a basic IDE for editing and compiling Apex Classes. We'll weigh in on existing applications that use the Tooling API, and look at what's new in Mavens Mate, a Force.com IDE plugin for Sublime Text. After this session, you'll be able to extend these open source tools or build your own.

Transcript of Building Your Own Development Tools With the Force.com Tooling API

Page 1: Building Your Own Development Tools With the Force.com Tooling API

Building Your Own Development Tools With the Force.com Tooling API

Doug Friedman@realdoug

Featuring:Joe Ferraro, CTO, Mavens Consulting@joeferraro

Page 2: Building Your Own Development Tools With the Force.com Tooling API

About Joe

Page 3: Building Your Own Development Tools With the Force.com Tooling API

About Doug

Page 4: Building Your Own Development Tools With the Force.com Tooling API

Agenda▪ Introduction to the Tooling API▪ Key objects/features▪ MavensMate demo

Page 5: Building Your Own Development Tools With the Force.com Tooling API

Metadata API

▪ SOAP Interface▪ Eclipse Plugin▪ Ant Migration Tool

Page 6: Building Your Own Development Tools With the Force.com Tooling API

The Tooling API:A great “Alternative”

▪ Restforce Ruby Gem▪ Command Line & cURL▪ MavensMate▪ Force.com Developer Console

Page 7: Building Your Own Development Tools With the Force.com Tooling API

How to UseWorks just like the Data API

▪ Oauth▪ JSON▪ REST/HTTP▪ SOAP/XML

Page 8: Building Your Own Development Tools With the Force.com Tooling API

Metadata API & Tooling API Together

The Tooling API is best used in conjunction with the Metadata API

Page 9: Building Your Own Development Tools With the Force.com Tooling API

▪ MetadataContainer• A resource which holds the pieces of metadata in your project

▪ ApexClassMember, ApexPageMember, <any type>Member• Represents a working copy of your Apex/Visualforce metadata

▪ ContainerAsyncRequest• Compile Apex/Visualforce asynchronously

▪ SymbolTable• Represents Apex Class tokens• Assists in Code completion for IDEs

Key Tooling API Objects

Page 10: Building Your Own Development Tools With the Force.com Tooling API

Compiling Apex/Visualforce

Create MetadataContain

er

Create ApexClassMember

SubmitContainerAsyncRequest

Add ApexClassMember to ContainerAsyncRequest

Page 11: Building Your Own Development Tools With the Force.com Tooling API

▪ ApexCodeCoverage• Queryable Apex unit test coverage statistics

▪ TraceFlag• Console output / stack trace• Easy debug log retrieval

▪ ApexLog• Debug logs generated by TraceFlag definitions

More Key Tooling API Objects

Page 12: Building Your Own Development Tools With the Force.com Tooling API

Debugging Apex/Visualforce

Create TraceFlag

Run Apex Code Retrieve DebugLog from Tooling endpoint

Page 13: Building Your Own Development Tools With the Force.com Tooling API
Page 14: Building Your Own Development Tools With the Force.com Tooling API
Page 15: Building Your Own Development Tools With the Force.com Tooling API
Page 16: Building Your Own Development Tools With the Force.com Tooling API
Page 17: Building Your Own Development Tools With the Force.com Tooling API
Page 18: Building Your Own Development Tools With the Force.com Tooling API

Speaker Name

CTO, Mavens Consulting,@joeferraro

Doug Friedman

@realdoug