exposing the tooling api as a mountable filesystem
TRANSCRIPT
![Page 1: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/1.jpg)
Exposing the Tooling API as a Mountable Filesystem
Jason [email protected]://www.linkedin.com/in/jasonbury@dpm1661
![Page 2: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/2.jpg)
https://xkcd.com/378/ - “Real Programmers”
![Page 3: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/3.jpg)
![Page 4: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/4.jpg)
![Page 5: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/5.jpg)
![Page 6: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/6.jpg)
![Page 7: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/7.jpg)
There is no MavensMate plugin for Vim(yet)
![Page 8: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/8.jpg)
![Page 9: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/9.jpg)
![Page 10: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/10.jpg)
![Page 11: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/11.jpg)
rmcpln
grepdifftargit?
![Page 12: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/12.jpg)
![Page 13: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/13.jpg)
![Page 14: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/14.jpg)
Tooling API Resources
• MetadataContainer• ApexClassMember• ApexComponentMember• ApexPageMember• ApexTriggerMember
ContainerAsyncRequest
• ApexClass• ApexComponent• ApexPage• ApexTrigger
![Page 15: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/15.jpg)
![Page 16: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/16.jpg)
![Page 17: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/17.jpg)
![Page 18: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/18.jpg)
![Page 19: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/19.jpg)
![Page 20: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/20.jpg)
![Page 21: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/21.jpg)
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/
![Page 22: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/22.jpg)
![Page 23: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/23.jpg)
![Page 24: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/24.jpg)
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
![Page 26: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/26.jpg)
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.
IMPLEMENTATIONAs process consultants, we assist adoption by focusing on how your team works day-to-day.
APEX & VISUALFORCEOur versatile, experienced team has a deep understanding of Salesforce’s native languages.
APPEXCHANGE DEVELOPMENTWe develop AppExchange solutions and navigate the Salesforce security review process.
SYSTEMS INTEGRATIONSalesforce can seamlessly integrate with your existing business applications and IT infrastructure.
![Page 27: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/27.jpg)
![Page 28: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/28.jpg)
Thank you
![Page 29: Exposing the Tooling API as a Mountable Filesystem](https://reader031.vdocuments.mx/reader031/viewer/2022021921/58f33f2e1a28ab25388b45c5/html5/thumbnails/29.jpg)
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