SlideShare a Scribd company logo
Exposing the Tooling API as a
Mountable Filesystem
​Jason Bury
​dospromptman@gmail.com
​https://www.linkedin.com/in/jasonbury
​@dpm1661
​
https://xkcd.com/378/ - “Real
Programmers”
There is no MavensMate plugin for
Vim
​(yet)
rm
cp
ln
grep
diff
tar
git?
Tooling API Resources
•MetadataContainer
• ApexClassMember
• ApexComponentMember
• ApexPageMember
• ApexTriggerMember
ContainerAsyncRequ
est
•ApexClass
•ApexComponent
•ApexPage
•ApexTrigger
Tooling API Network Filesystem RPC Method
SELECT Id, Name FROM ApexPage READDIR
POST /tooling/sobjects/ApexPageMember/ LINK
GET /tooling/sobjects/ApexPageMember/402…/ READ
PATCH /tooling/sobjects/ApexPageMember/402…
WRITE(s) followed by COMMIT
POST /tooling/sobjects/ContainerAsyncRequest/
​ Increase stability
​ Multiple org support
​ Explore configurations for using git with mounted files
​ StaticResource filesystem
​ Additional device-like files
• DeployDetails results
• Virtual ctags file
​ Other types of metadata exposed by the Tooling API
Future Improvements
Jason Bury
https://www.linkedin.com/in/jasonbury
dospromptman@gmail.com
@dpm1661 on Twitter
Over the past ten years, our team
has helped shape our clients’ futures
as well as served to simply make
their business lives easier. Our role
extends well beyond being experts
in creating custom software – we
consider ourselves your trusted
business partner.
IMPLEMENTATION
As process consultants, we assist adoption by
focusing on how your team works day-to-day.
APEX & VISUALFORCE
Our versatile, experienced team has a deep
understanding of Salesforce’s native languages.
APPEXCHANGE DEVELOPMENT
We develop AppExchange solutions and navigate
the Salesforce security review process.
SYSTEMS INTEGRATION
Salesforce can seamlessly integrate with your
existing business applications and IT infrastructure.
Thank you
Image Credits
• "Real Programmers" by Randall Munroe - http://xkcd.com/378/ CC BY-NC 2.5
• "Vim Logo" by Wikipedia user D0ktorz - GPL, via Wikimedia Commons
• "Neovim Logo" by Jason Long - CC BY 3.0 unported
• "GNU Emacs Icon" Copyright Free Software Foundation - Licensed under GPL
• "MavensMate Favicon" and "MavensMate Logo" by Joe Ferraro - Licensed Under GPL
• "Atom Icon" by Github - Licensed under MIT License
• "Sublime Text Icon" created by Iconfactory Copyright SUBLIME HQ PTY LTD - Non-free used as “Fair Use”
• "Sun Microsystems Logo" by Sun Microsystems - Non-free used as “Fair Use”
• "API" from Noun Project, created by Emily van den Heever - CC BY 3.0 US
• "Server" from Noun Project, created by Mister Pixel - CC BY 3.0 US
• "Desktop" from Noun Project, created by Creative Stall - CC BY 3.0 US
• "Document" from Noun Project, created by Samuel Q. Green - CC BY 3.0 US
• "Floppy-disk" from Noun Project, created by Andreas Bjurenborg - CC BY 3.0 US

More Related Content

What's hot

Infra@LINE_Chris
Infra@LINE_ChrisInfra@LINE_Chris
Infra@LINE_Chris
LINE_Engineer
 
Introduction to bower
Introduction to bowerIntroduction to bower
Introduction to bower
Jitendra Zaa
 
An Intro to Atom Editor
An Intro to Atom EditorAn Intro to Atom Editor
An Intro to Atom Editor
Ateev Chopra
 
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
Shengyou Fan
 
Kotlin for API (with Ktor)
Kotlin for API (with Ktor)Kotlin for API (with Ktor)
Kotlin for API (with Ktor)
Shengyou Fan
 
DevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry PiDevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry Pi
Akshay Karle
 
Ktor 101 (以 Ktor 實作 Website 範例)
Ktor 101 (以 Ktor 實作 Website 範例)Ktor 101 (以 Ktor 實作 Website 範例)
Ktor 101 (以 Ktor 實作 Website 範例)
Shengyou Fan
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
AWSKRUG - AWS한국사용자모임
 
Configuration primer
Configuration primerConfiguration primer
Configuration primer
feanil
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
Elizabeth Walden
 
Do you know all of Puppet?
Do you know all of Puppet?Do you know all of Puppet?
Do you know all of Puppet?
Julien Pivotto
 
Git - a overview for beginners
Git - a overview for beginnersGit - a overview for beginners
Git - a overview for beginners
Anton Pirker
 
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
GangSeok Lee
 
Getting Started with the Cortana Skills Kit
Getting Started with the Cortana Skills KitGetting Started with the Cortana Skills Kit
Getting Started with the Cortana Skills Kit
Rick Wargo
 
Python + STIX = Awesome
Python + STIX = AwesomePython + STIX = Awesome
Python + STIX = Awesome
stixproject
 
Working in Team using Git in Unity
Working in Team using Git in UnityWorking in Team using Git in Unity
Working in Team using Git in Unity
Rifauddin Tsalitsy
 
リバースプロキシで webサーバを集約 ついでにdocker化しよう
リバースプロキシでwebサーバを集約ついでにdocker化しようリバースプロキシでwebサーバを集約ついでにdocker化しよう
リバースプロキシで webサーバを集約 ついでにdocker化しよう
Yasunori Kuji
 
Jenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup SlidesJenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup Slides
Gergely Brautigam
 
Plugin Development Guideline
Plugin Development GuidelinePlugin Development Guideline
Plugin Development Guideline
arryaas
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
Anil Wadghule
 

What's hot (20)

Infra@LINE_Chris
Infra@LINE_ChrisInfra@LINE_Chris
Infra@LINE_Chris
 
Introduction to bower
Introduction to bowerIntroduction to bower
Introduction to bower
 
An Intro to Atom Editor
An Intro to Atom EditorAn Intro to Atom Editor
An Intro to Atom Editor
 
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
通过 Ktor 迅速打造以 Kotlin 为核心的后端服务应用
 
Kotlin for API (with Ktor)
Kotlin for API (with Ktor)Kotlin for API (with Ktor)
Kotlin for API (with Ktor)
 
DevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry PiDevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry Pi
 
Ktor 101 (以 Ktor 實作 Website 範例)
Ktor 101 (以 Ktor 實作 Website 範例)Ktor 101 (以 Ktor 實作 Website 範例)
Ktor 101 (以 Ktor 實作 Website 範例)
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 
Configuration primer
Configuration primerConfiguration primer
Configuration primer
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
 
Do you know all of Puppet?
Do you know all of Puppet?Do you know all of Puppet?
Do you know all of Puppet?
 
Git - a overview for beginners
Git - a overview for beginnersGit - a overview for beginners
Git - a overview for beginners
 
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
[2014 CodeEngn Conference 11] 김호빈 - Android Bootkit Analysis EN
 
Getting Started with the Cortana Skills Kit
Getting Started with the Cortana Skills KitGetting Started with the Cortana Skills Kit
Getting Started with the Cortana Skills Kit
 
Python + STIX = Awesome
Python + STIX = AwesomePython + STIX = Awesome
Python + STIX = Awesome
 
Working in Team using Git in Unity
Working in Team using Git in UnityWorking in Team using Git in Unity
Working in Team using Git in Unity
 
リバースプロキシで webサーバを集約 ついでにdocker化しよう
リバースプロキシでwebサーバを集約ついでにdocker化しようリバースプロキシでwebサーバを集約ついでにdocker化しよう
リバースプロキシで webサーバを集約 ついでにdocker化しよう
 
Jenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup SlidesJenkins Best Practices Meetup Slides
Jenkins Best Practices Meetup Slides
 
Plugin Development Guideline
Plugin Development GuidelinePlugin Development Guideline
Plugin Development Guideline
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 

Viewers also liked

Las tics de Andres David Valencia (1135997)
Las tics de Andres David Valencia (1135997)Las tics de Andres David Valencia (1135997)
Las tics de Andres David Valencia (1135997)
Andres David
 
B2B price prediction through crowd sourcing
B2B price prediction through crowd sourcingB2B price prediction through crowd sourcing
B2B price prediction through crowd sourcing
Edwin Vlems
 
Antropoliga de san_agustin
Antropoliga de san_agustinAntropoliga de san_agustin
Antropoliga de san_agustin
alejapapa
 
Comunicacion lascaris
Comunicacion lascarisComunicacion lascaris
Comunicacion lascaris
pao2213llosa
 
lightspeed-best-practices-for-hiring
lightspeed-best-practices-for-hiringlightspeed-best-practices-for-hiring
lightspeed-best-practices-for-hiring
Helen Morris
 
The 10 Commandments of Electromagnetic Compatibility
The 10 Commandments of Electromagnetic CompatibilityThe 10 Commandments of Electromagnetic Compatibility
The 10 Commandments of Electromagnetic Compatibility
Jaymie Murray
 
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quizMadison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
Madison Campus & Downtown Living
 
Hr Vision Implementers 20090123 Rev1
Hr Vision Implementers 20090123 Rev1Hr Vision Implementers 20090123 Rev1
Hr Vision Implementers 20090123 Rev1
amylynkyler
 
Big Design 2012 - Guerrilla Design & Research Methods Workshop
Big Design 2012 - Guerrilla Design & Research Methods WorkshopBig Design 2012 - Guerrilla Design & Research Methods Workshop
Big Design 2012 - Guerrilla Design & Research Methods Workshop
Russ U
 
20131212 BrightTALK: design and data science
20131212 BrightTALK: design and data science20131212 BrightTALK: design and data science
20131212 BrightTALK: design and data science
Dean Malmgren
 
El llenguatge dels nous mitjans de comunicació
El llenguatge dels nous mitjans de comunicacióEl llenguatge dels nous mitjans de comunicació
El llenguatge dels nous mitjans de comunicacióanna_arc
 
Dinámica
DinámicaDinámica
Dinámica
Andres David
 
台湾国语三大歌星
台湾国语三大歌星台湾国语三大歌星
台湾国语三大歌星
friendJPP Chang
 
Cut Off Vampire Appliances' Phantom Loads with Tripp Lite
Cut Off Vampire Appliances' Phantom Loads with Tripp LiteCut Off Vampire Appliances' Phantom Loads with Tripp Lite
Cut Off Vampire Appliances' Phantom Loads with Tripp Lite
Tripp Lite
 
Data in the Wild: Survival Guide
Data in the Wild: Survival GuideData in the Wild: Survival Guide
Data in the Wild: Survival Guide
Druva
 
Squarespace sxsw panel submission 2013-3
Squarespace sxsw panel submission 2013-3Squarespace sxsw panel submission 2013-3
Squarespace sxsw panel submission 2013-3
ryanstansky
 
Complete Guide to Twitter Analytics
Complete Guide to Twitter AnalyticsComplete Guide to Twitter Analytics
Complete Guide to Twitter Analytics
Aref Jdey
 

Viewers also liked (17)

Las tics de Andres David Valencia (1135997)
Las tics de Andres David Valencia (1135997)Las tics de Andres David Valencia (1135997)
Las tics de Andres David Valencia (1135997)
 
B2B price prediction through crowd sourcing
B2B price prediction through crowd sourcingB2B price prediction through crowd sourcing
B2B price prediction through crowd sourcing
 
Antropoliga de san_agustin
Antropoliga de san_agustinAntropoliga de san_agustin
Antropoliga de san_agustin
 
Comunicacion lascaris
Comunicacion lascarisComunicacion lascaris
Comunicacion lascaris
 
lightspeed-best-practices-for-hiring
lightspeed-best-practices-for-hiringlightspeed-best-practices-for-hiring
lightspeed-best-practices-for-hiring
 
The 10 Commandments of Electromagnetic Compatibility
The 10 Commandments of Electromagnetic CompatibilityThe 10 Commandments of Electromagnetic Compatibility
The 10 Commandments of Electromagnetic Compatibility
 
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quizMadison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
Madison campus-and-downtown-apartments-how-well-do-you-know-uw-madison-wi-quiz
 
Hr Vision Implementers 20090123 Rev1
Hr Vision Implementers 20090123 Rev1Hr Vision Implementers 20090123 Rev1
Hr Vision Implementers 20090123 Rev1
 
Big Design 2012 - Guerrilla Design & Research Methods Workshop
Big Design 2012 - Guerrilla Design & Research Methods WorkshopBig Design 2012 - Guerrilla Design & Research Methods Workshop
Big Design 2012 - Guerrilla Design & Research Methods Workshop
 
20131212 BrightTALK: design and data science
20131212 BrightTALK: design and data science20131212 BrightTALK: design and data science
20131212 BrightTALK: design and data science
 
El llenguatge dels nous mitjans de comunicació
El llenguatge dels nous mitjans de comunicacióEl llenguatge dels nous mitjans de comunicació
El llenguatge dels nous mitjans de comunicació
 
Dinámica
DinámicaDinámica
Dinámica
 
台湾国语三大歌星
台湾国语三大歌星台湾国语三大歌星
台湾国语三大歌星
 
Cut Off Vampire Appliances' Phantom Loads with Tripp Lite
Cut Off Vampire Appliances' Phantom Loads with Tripp LiteCut Off Vampire Appliances' Phantom Loads with Tripp Lite
Cut Off Vampire Appliances' Phantom Loads with Tripp Lite
 
Data in the Wild: Survival Guide
Data in the Wild: Survival GuideData in the Wild: Survival Guide
Data in the Wild: Survival Guide
 
Squarespace sxsw panel submission 2013-3
Squarespace sxsw panel submission 2013-3Squarespace sxsw panel submission 2013-3
Squarespace sxsw panel submission 2013-3
 
Complete Guide to Twitter Analytics
Complete Guide to Twitter AnalyticsComplete Guide to Twitter Analytics
Complete Guide to Twitter Analytics
 

Similar to Exposing the Tooling API as a Mountable Filesystem

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
Antonio Peric-Mazar
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
Vincent Mercier
 
Remix
RemixRemix
Scrapy
ScrapyScrapy
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
David M. Johnson
 
20+ ways to bypass your mac os privacy mechanisms
20+ ways to bypass your mac os privacy mechanisms20+ ways to bypass your mac os privacy mechanisms
20+ ways to bypass your mac os privacy mechanisms
Csaba Fitzl
 
Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)
Kazuaki Matsuo
 
The state of packaged web apps
The state of packaged web appsThe state of packaged web apps
The state of packaged web apps
Cristiano Betta
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms
SecuRing
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s Story
Amazon Web Services
 
Chembience
ChembienceChembience
Chembience
Markus Sitzmann
 
Learn Electron for Web Developers
Learn Electron for Web DevelopersLearn Electron for Web Developers
Learn Electron for Web Developers
Kyle Cearley
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud Service
Vincent Claes
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
Industrializing the creation of machine images and Docker containers for clou...
Industrializing the creation of machine images and Docker containers for clou...Industrializing the creation of machine images and Docker containers for clou...
Industrializing the creation of machine images and Docker containers for clou...
OW2
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - Intro
Mohammad Shaker
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfianto
idsecconf
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
Guillaume Laforge
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
Alexandre Morgaut
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
Antonio Peric-Mazar
 

Similar to Exposing the Tooling API as a Mountable Filesystem (20)

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
Remix
RemixRemix
Remix
 
Scrapy
ScrapyScrapy
Scrapy
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
 
20+ ways to bypass your mac os privacy mechanisms
20+ ways to bypass your mac os privacy mechanisms20+ ways to bypass your mac os privacy mechanisms
20+ ways to bypass your mac os privacy mechanisms
 
Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)
 
The state of packaged web apps
The state of packaged web appsThe state of packaged web apps
The state of packaged web apps
 
20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms20+ Ways to Bypass Your macOS Privacy Mechanisms
20+ Ways to Bypass Your macOS Privacy Mechanisms
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s Story
 
Chembience
ChembienceChembience
Chembience
 
Learn Electron for Web Developers
Learn Electron for Web DevelopersLearn Electron for Web Developers
Learn Electron for Web Developers
 
Implementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud ServiceImplementing a Database and API for your Cloud Service
Implementing a Database and API for your Cloud Service
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Industrializing the creation of machine images and Docker containers for clou...
Industrializing the creation of machine images and Docker containers for clou...Industrializing the creation of machine images and Docker containers for clou...
Industrializing the creation of machine images and Docker containers for clou...
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - Intro
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfianto
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 

More from Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Salesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
Salesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
Salesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
Salesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
Salesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
Salesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
Salesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
Salesforce Developers
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
Salesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
Salesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
Salesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
Salesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
Salesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
Salesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
Salesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
Salesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
Salesforce Developers
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
Salesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
Salesforce Developers
 

More from Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Recently uploaded

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
Pravash Chandra Das
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 

Recently uploaded (20)

Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Operating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptxOperating System Used by Users in day-to-day life.pptx
Operating System Used by Users in day-to-day life.pptx
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 

Exposing the Tooling API as a Mountable Filesystem

  • 1. Exposing the Tooling API as a Mountable Filesystem ​Jason Bury ​dospromptman@gmail.com ​https://www.linkedin.com/in/jasonbury ​@dpm1661 ​
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. There is no MavensMate plugin for Vim ​(yet)
  • 8.
  • 9.
  • 10.
  • 12.
  • 13.
  • 14. Tooling API Resources •MetadataContainer • ApexClassMember • ApexComponentMember • ApexPageMember • ApexTriggerMember ContainerAsyncRequ est •ApexClass •ApexComponent •ApexPage •ApexTrigger
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Tooling API Network Filesystem RPC Method SELECT Id, Name FROM ApexPage READDIR POST /tooling/sobjects/ApexPageMember/ LINK GET /tooling/sobjects/ApexPageMember/402…/ READ PATCH /tooling/sobjects/ApexPageMember/402… WRITE(s) followed by COMMIT POST /tooling/sobjects/ContainerAsyncRequest/
  • 22.
  • 23.
  • 24. ​ Increase stability ​ Multiple org support ​ Explore configurations for using git with mounted files ​ StaticResource filesystem ​ Additional device-like files • DeployDetails results • Virtual ctags file ​ Other types of metadata exposed by the Tooling API Future Improvements
  • 26. Over the past ten years, our team has helped shape our clients’ futures as well as served to simply make their business lives easier. Our role extends well beyond being experts in creating custom software – we consider ourselves your trusted business partner. IMPLEMENTATION As process consultants, we assist adoption by focusing on how your team works day-to-day. APEX & VISUALFORCE Our versatile, experienced team has a deep understanding of Salesforce’s native languages. APPEXCHANGE DEVELOPMENT We develop AppExchange solutions and navigate the Salesforce security review process. SYSTEMS INTEGRATION Salesforce can seamlessly integrate with your existing business applications and IT infrastructure.
  • 27.
  • 29. Image Credits • "Real Programmers" by Randall Munroe - http://xkcd.com/378/ CC BY-NC 2.5 • "Vim Logo" by Wikipedia user D0ktorz - GPL, via Wikimedia Commons • "Neovim Logo" by Jason Long - CC BY 3.0 unported • "GNU Emacs Icon" Copyright Free Software Foundation - Licensed under GPL • "MavensMate Favicon" and "MavensMate Logo" by Joe Ferraro - Licensed Under GPL • "Atom Icon" by Github - Licensed under MIT License • "Sublime Text Icon" created by Iconfactory Copyright SUBLIME HQ PTY LTD - Non-free used as “Fair Use” • "Sun Microsystems Logo" by Sun Microsystems - Non-free used as “Fair Use” • "API" from Noun Project, created by Emily van den Heever - CC BY 3.0 US • "Server" from Noun Project, created by Mister Pixel - CC BY 3.0 US • "Desktop" from Noun Project, created by Creative Stall - CC BY 3.0 US • "Document" from Noun Project, created by Samuel Q. Green - CC BY 3.0 US • "Floppy-disk" from Noun Project, created by Andreas Bjurenborg - CC BY 3.0 US