More Related Content

Similar to Create Salesforce online IDE in 30 minutes(20)


Create Salesforce online IDE in 30 minutes

  1. Create Online IDE in 30 minutes Jitendra Zaa @ilovenagpur Dev Prakash @devprakash15
  2. Dev Prakash Associate Director - Salesforce Practice
  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. Agenda •Node.js •Heroku •Twitter Bootstrap •Tooling API •Code Walkthrough •Resources and source code
  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. 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. Twitter Bootstrap •Most popular html, CSS, and JavaScript framework for developing responsive, mobile first projects on the web • Open source project by twitter
  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. Why do we need Tooling API • 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. Jitendra Zaa Sr. Consultant - Salesforce Practice
  11. Code Walkthrough
  12. Recap – Reading existing resources • SELECT Id,Name FROM ApexClass •SELECT Id,Name FROM ApexPage •SELECT Id,Name FROM ApexTrigger
  13. Recap – Reading body of resources • • •
  14. Recap – Creating resources •POST request to below URL with content • • •
  15. Recap – Updating resources • Create MetadaContainer • Create ResourceMember • Create ContainerAsyncRequest •Poll ContainerAsyncRequest to see if update is successful
  16. Delete resources •Delete request to below URLs • • •
  17. Reading Logs • List of Logs – SELECT Id,LogUserId FROM ApexLog •Log Body –
  18. Symbol Table • “SymbolTable” is element in JSON returned when we read resource Body
  19. Use ACE – JavaScript based Code Editor •To make editor more useful and professional, we can use free Library of Online Editor – Ace •
  20. Complete Code and Demo URL •Demo - •Demo with Ace - • Git (simple editor) with Heroku 1 button – • Git (with ace) with Heroku 1 button –
  21. Other Resources •Tooling API Guide • Create Node.js application Using Eclipse and deploy to Heroku (Video Tutorial) •Bootstrap Library

Editor's Notes

  1. 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