Create Online IDE in 30 minutes 
Jitendra Zaa 
@ilovenagpur 
Dev Prakash 
@devprakash15
Dev Prakash 
Associate Director - Salesforce Practice
About Cognizant Salesforce Practice 
178,600 
employees 
globally 
20,000+ 
Outsourcing 
projects in 40 
countries 
25+ Re...
Agenda 
•Node.js 
•Heroku 
•Twitter Bootstrap 
•Tooling API 
•Code Walkthrough 
•Resources and source code
Why Node.js ? 
• Uses same JavaScript engine which is used by Google chrome browser “V8 
JavaScript runtime” 
•Very popula...
Why Heroku ? 
• Is leading platform as a service 
•Supports many programming languages like ruby, java, php, scala, python...
Twitter Bootstrap 
•Most popular html, CSS, and JavaScript framework for developing responsive, 
mobile first projects on ...
Champion of the Show – Tooling API 
•Released in spring 13 
• Provides REST and SOAP based interface to help creating cust...
Why do we need Tooling API 
• Force.com developer community is growing fast like Salesforce itself 
• Many organizations a...
Jitendra Zaa 
Sr. Consultant - Salesforce Practice
Code Walkthrough
Recap – Reading existing resources 
• SELECT Id,Name FROM ApexClass 
•SELECT Id,Name FROM ApexPage 
•SELECT Id,Name FROM A...
Recap – Reading body of resources 
• http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexClass/id 
• http:/...
Recap – Creating resources 
•POST request to below URL with content 
• http://na1.salesforce.com/services/data/v29.0/tooli...
Recap – Updating resources 
• Create MetadaContainer 
• Create ResourceMember 
• Create ContainerAsyncRequest 
•Poll Conta...
Delete resources 
•Delete request to below URLs 
• http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexClas...
Reading Logs 
• List of Logs 
– SELECT Id,LogUserId FROM ApexLog 
•Log Body 
– http://na1.salesforce.com/services/data/v29...
Symbol Table 
• “SymbolTable” is element in JSON returned when we read resource Body
Use ACE – JavaScript based Code Editor 
•To make editor more useful and professional, we can use free Library of Online 
E...
Complete Code and Demo URL 
•Demo - https://toolingapi.herokuapp.com/ 
•Demo with Ace - https://dreamforce14.herokuapp.com...
Other Resources 
•Tooling API Guide 
• Create Node.js application Using Eclipse and deploy to Heroku (Video Tutorial) 
•Bo...
Create Salesforce online IDE in 30 minutes
Nächste SlideShare
Wird geladen in …5
×

Create Salesforce online IDE in 30 minutes

10.431 Aufrufe

Veröffentlicht am

Dreaforce 2014 Session , Create Salesforce IDE with the help of Tooling API with complete Source code

Veröffentlicht in: Software
0 Kommentare
4 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
10.431
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
8.024
Aktionen
Geteilt
0
Downloads
30
Kommentare
0
Gefällt mir
4
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Tooling API – Can be considered as a new Component added in REST API.
    Tooling API is exposed as REST as well SOAP API.

    How Tooling API is different than Metadata API ?
    Metadata API is SOAP based which is used for deployment and Metadata related components Whereas Tooling API is used to create development related components like Apex, Visualforce Page etc.

    The real magic is what this API brings in terms of the tasks and information around authoring and executing Apex and Visualforce. Such as Debug logs, Heap dumps and Symbol Tables!

    A Symbol Table breaks down the code you write and gives you a kind of analytics over your code. Listing all the properties  methods defined and also
  • Create Salesforce online IDE in 30 minutes

    1. 1. Create Online IDE in 30 minutes Jitendra Zaa @ilovenagpur Dev Prakash @devprakash15
    2. 2. Dev Prakash Associate Director - Salesforce Practice
    3. 3. About Cognizant Salesforce Practice 178,600 employees globally 20,000+ Outsourcing projects in 40 countries 25+ Regional sales offices 50+ Global Delivery Centres Market Capitalisation Over $26 billion 1,223 active customers Founded in 1994 (CTSH, Nasdaq) Headquarters Teaneck, NJ 8+ Years as Partner 1 of 18 Global Strategic Sis 425+ Salesforce projects delivered 800+/500+ Salesforce Trained / Salesforce Certified
    4. 4. Agenda •Node.js •Heroku •Twitter Bootstrap •Tooling API •Code Walkthrough •Resources and source code
    5. 5. Why Node.js ? • Uses same JavaScript engine which is used by Google chrome browser “V8 JavaScript runtime” •Very popular, simple, yet powerful script •Mostly used for developing high performance network applications • With help of many available node modules, web application can be created. We will be using “express”
    6. 6. Why Heroku ? • Is leading platform as a service •Supports many programming languages like ruby, java, php, scala, python, node.js •Owned by Salesforce •Heroku connect (easily connect Salesforce with applications hosted on Heroku )
    7. 7. Twitter Bootstrap •Most popular html, CSS, and JavaScript framework for developing responsive, mobile first projects on the web • Open source project by twitter
    8. 8. Champion of the Show – Tooling API •Released in spring 13 • Provides REST and SOAP based interface to help creating custom development tools •Supports create, update and delete apex classes, triggers, visualforce pages and visualforce components • Getting debug logs, heap dump and symbol tables • Still in infancy, like other Salesforce APIs this is growing with each release
    9. 9. Why do we need Tooling API • Force.com developer community is growing fast like Salesforce itself • Many organizations are looking for custom functionalities around development tools to follow their standards • Like any popular programming language, it very important to “make developers happy” •Tooling API opens door for creating beautiful development tools which will make development efficient and easy
    10. 10. Jitendra Zaa Sr. Consultant - Salesforce Practice
    11. 11. Code Walkthrough
    12. 12. Recap – Reading existing resources • SELECT Id,Name FROM ApexClass •SELECT Id,Name FROM ApexPage •SELECT Id,Name FROM ApexTrigger
    13. 13. Recap – Reading body of resources • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexClass/id • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexPage/id • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexTrigger/id
    14. 14. Recap – Creating resources •POST request to below URL with content • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexClass • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexPage • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexTrigger
    15. 15. Recap – Updating resources • Create MetadaContainer • Create ResourceMember • Create ContainerAsyncRequest •Poll ContainerAsyncRequest to see if update is successful
    16. 16. Delete resources •Delete request to below URLs • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexClass/id • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexPage/id • http://na1.salesforce.com/services/data/v29.0/tooling/sobjects/ApexTrigger/id
    17. 17. Reading Logs • List of Logs – SELECT Id,LogUserId FROM ApexLog •Log Body – http://na1.salesforce.com/services/data/v29.0/tooling/ApexLog/id/Body/
    18. 18. Symbol Table • “SymbolTable” is element in JSON returned when we read resource Body
    19. 19. Use ACE – JavaScript based Code Editor •To make editor more useful and professional, we can use free Library of Online Editor – Ace • http://ace.c9.io/#nav=about
    20. 20. Complete Code and Demo URL •Demo - https://toolingapi.herokuapp.com/ •Demo with Ace - https://dreamforce14.herokuapp.com/ • Git (simple editor) with Heroku 1 button – https://github.com/JitendraZaa/ToolingAPI30Min • Git (with ace) with Heroku 1 button – https://github.com/JitendraZaa/ToolingAPI30Min-AceEditor
    21. 21. Other Resources •Tooling API Guide • Create Node.js application Using Eclipse and deploy to Heroku (Video Tutorial) •Bootstrap Library

    ×