Top Banner

of 15

Ajax-Salesforce Complete Material

Jul 07, 2018

Download

Documents

ksr131
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 Ajax-Salesforce Complete Material

    1/15

     Ajax tool kit with salesforce

    Salesforce offer AJAX tool kit to run javascript and allowing user to make a

    connection with Salesforce and query salesforce from javascript, the data in-

    return can be handled in own fashion to be displayed on the page

     Note : Ajax tool kit should be used when you want to work with records upto

      200 with 5 to 6 fields in the object

    he following are e!amples of scenarios that require case-by-case analysis"

    #pdate more than $%% records&

    #pdate records that are unusually large& 'or e!ample, what happens ifthe user clicks the browser stop button(

    )ecalculate a comple! value for more than $%% records&

    Step *" include connection&js in the visualforce page&

    +script src.soap.aja!./%&%.connection&js typete!t.javascript0

    +.script0

    Step $" 1ass the session id to 2onnection&Session34

    *&sforce&connection&session3d 567Api&Session8349:

    ;r$&username,password?resettoken@:

    sforce&connection&session3dresult&session3d:

    step / "str@:

    Step E" 2heck wheather the query)esult has element :

     if>query)esult&siFe 0%@

    Step G" Het all the records into an array

    var records query)esult&getArray>records@:

  • 8/18/2019 Ajax-Salesforce Complete Material

    2/15

    C!ample *"Iogin to the sforce using loginid and password"

    +ape!"page 0 +ape!"form0  +ape!"commandutton valueclick onclickshow>@.0 +.ape!"form0 +script src.soap.aja!./%&%.connection&js typete!t.javascript0 +.script0 +script0  function show>@5  try5

     var result sforce&connection&login>batch*KLMDCdge&com,  password?recuritytoken@:

      alert>logged in with session id ? result&session3d@:  9catch>error@ 5

    alert>error@:  9  9  +.script0

    +.ape!"page0C!ample $" Iogin to the sforce using A13 sessionid

    +ape!"page idpage3d0+ape!"form0+script src.soap.aja!./%&%.connection&js typete!t.javascript0+.script0+script0function show>@ 5 try 5  sforce&connection&session3d 567Api&Session8349:

    var query)esult sforce&connection&query>Select Name, 3ndustry 'rom  Account where Name6null@  if >query)esult&siFe 0 %@ 5

    var output :var records query)esult&getArray>records@:

      var result:for >var i %: i +records&length: i??@ 5  var account recordsOiP:  result ? account&Name :

      9 document&getClementy3d>5672omponent&output9@&innerQRIresult:

     9

      9 catch>error@ 5query'ailed>error, output@:

      9

     9 function query'ailed>error, out@ 5  out&innerQRI +font colorred0An error"+.font0 +p0 ? error: 9 +.script0 +ape!"commandutton valueclick onclickshow>@ .0  +ape!"outputIabel idoutput0+.ape!"outputIabel0+.ape!"form0+.ape!"page0

  • 8/18/2019 Ajax-Salesforce Complete Material

    3/15

    )eference 2odes"..-- Aja! Duery" syncresult sforce&connection&query>Select Name,3d from #ser@:

      records result&getArray>records@:  for >var i%: i+records&length: i??@ 5  var record recordsOiP:  log>record&Name ? -- ? record&3d@:  9..-- Aja! Duery" async  var result sforce&connection&query>Select Name,3d from #ser, 5  onSuccess " success,  on'ailure " failure  9@:

      function success>result@ 5  var records result&getArray>records@:

      for >var i%: i+records&length: i??@ 5  var record recordsOiP:  log>record&Name ? -- ? record&3d@:  9  9

      function failure>error@ 5  log>oops something went wrong ? error@:  9..-- Aja! Duery" async inline function  var result sforce&connection&query>Select Name,3d from #ser, 5  onSuccess " function>result@ 5  var records result&getArray>records@:

      for >var i%: i+records&length: i??@ 5  var record recordsOiP:  log>record&Name ? -- ? record&3d@:  9  9,  on'ailure " function>error@ 5  log>oops something went wrong ? error@:  9  9@:..-- Aja! Duery" query result iterator

      var result sforce&connection&query>Select Name,3d from #ser, 5  onSuccess " success, on'ailure " failure9@:

      function success>result@ 5  var it new sforce&Duery)esult3terator>result@:  while>it&hasNe!t>@@5  var record it&ne!t>@:  log>record&Name ? -- ? record&3d@:  9  9

  • 8/18/2019 Ajax-Salesforce Complete Material

    4/15

      function failure>error@ 5  log>oops something went wrong ? error@:  9

    ..-- Aja! Duery" query more sync  var result sforce&connection&query>select name, id from account@:

      var queryRore true:  while >queryRore@ 5  var records result&getArray>records@:  var sb new sforce&Stringuffer>@:

      for >var i %: i + records&length: i??@ 5  sb&append>recordsOiP&Name@&append>,@:  9

      log>records&length@:  log>sb&toString>@@:

      if >result&queryIocator null@ 5  queryRore false:  9 else 5  result sforce&connection&queryRore>result&queryIocator@:  9  9..-- Aja! Duery" query more async  sforce&connection&query>Select Name,3d from Account, 5  onSuccess " success, on'ailure " log 9@:

      function success>result@ 5  var records result&getArray>records@:

      var sb new sforce&Stringuffer>@:  for >var i%: i+records&length: i??@ 5  var record recordsOiP:  sb&append>record&Name@&append>,@:  9

      log>records&length@:  log>sb&toString>@@:

      if >result&queryIocator@ 5  sforce&connection&queryRore>result&queryIocator, 5  onSuccess " success, on'ailure " log9@:

      9  9

    ..-- Aja! Duery" query all sync  var result sforce&connection&queryAll>Select Name,3d from #ser@:  var records result&getArray>records@:

      for >var i%: i+records&length: i??@ 5  var record recordsOiP:

  • 8/18/2019 Ajax-Salesforce Complete Material

    5/15

      log>record&Name ? -- ? record&3d@:  9

    ..-- Aja! Duery" limit  var result sforce&connection&query>Select Name,3d from Account limit *%,5  onSuccess " success, on'ailure " failure9@:

      function success>result@ 5  var it new sforce&Duery)esult3terator>result@:  while>it&hasNe!t>@@5  var record it&ne!t>@:  log>record&Name ? -- ? record&3d@:  9  9

      function failure>error@ 5  log>oops something went wrong ? error@:  9

    ..-- Aja! Duery" relationships  var result sforce&connection&query>SCIC2 c&3d, c&firstname, ?  c&lastname, c&leadsource, a&3d, a&name, a&industry, c&account3d ?  ');R 2ontact c, c&account a limit *%@:

      var it new sforce&Duery)esult3terator>result@:

      while>it&hasNe!t>@@ 5  var record it&ne!t>@:  var accountName record&Account ( record&Account&Name " null:

      log> record&'irstName ? ? record&IastName ?  in account ? accountName@:  9

    ..-- Aja! Duery" joins  var result sforce&connection&query>select a&name, a&industry, ?  >select c&lastname, c&leadsource from a&contacts c@ ?  from account a limit *%%@:

      var ait new sforce&Duery)esult3terator>result@:

      while>ait&hasNe!t>@@ 5  var account ait&ne!t>@:

      var contacts OP:

      if >account&2ontacts@ 5  var cit new sforce&Duery)esult3terator>account&2ontacts@:  while>cit&hasNe!t>@@ 5  var contact cit&ne!t>@:  contacts&push>contact&IastName@:  9  9

      log>account&Name ? " ? contacts&join>,@@:  9

  • 8/18/2019 Ajax-Salesforce Complete Material

    6/15

    ..-- Aja! 2)#4" create - sync  var account new sforce&S;bject>Account@:  account&Name my new account:  var result sforce&connection&create>OaccountP@:

      if >resultO%P&getoolean>success@@ 5  log>new account created with id ? resultO%P&id@:  9 else 5  log>failed to create account ? resultO%P@:  9..-- Aja! 2)#4" create - async  var account new sforce&S;bject>Account@:  account&Name my new account:

      sforce&connection&create>OaccountP,

      5onSuccess " success, on'ailure " failed9@:

      function success>result@ 5  if >resultO%P&getoolean>success@@ 5  log>new account created with id ? resultO%P&id@:  9 else 5  log>failed to create account ? resultO%P@:  9  9

      function failed>error@ 5  log>oops something went wrong ? error@:  9..-- Aja! 2)#4" create- with other data types  var campaign new sforce&S;bject>2ampaign@:  campaign&Name new campaign:  campaign&Actual2ost *$K/&$/:  campaign&Cnd4ate new 4ate>@:  campaign&3sActive true:

      sforce&connection&create>Ocampaign P,  5onSuccess " success, on'ailure " log9@:

      function success>result@ 5  if >resultO%P&getoolean>success@@ 5  log>new campaign created with id ? resultO%P&id@:

      9 else 5  log>failed to create campaign ? resultO%P@:  9  9

  • 8/18/2019 Ajax-Salesforce Complete Material

    7/15

    ..-- Aja! 2)#4" create- batch  var accounts OP:

      for >var i%: i+*%: i??@ 5  var account new sforce&S;bject>Account@:  account&Name my new account ? i:  accounts&push>account@:  9

      var result sforce&connection&create>accounts@:

      for >var i%: i+result&length: i??@ 5  if >resultOiP&getoolean>success@@ 5  log>new account created with id ? resultOiP&id@:  9 else 5  log>failed to create account ? resultOiP@:

      9  9..-- Aja! 2)#4" create- with baseGBinary  fr sforce&connection&query>select name,id from folder@:

      records fr&getArray>records@:  if >records&siFe %@ 5  log>unable to find any folders@:  9

      folder3d recordsO%P&3d:  log>folder3d@:

      var doc new sforce&S;bject>document@:  doc&Name new doc:  doc&'older3d folder3d:  doc&ody new sforce&aseGBinary>some body string@:

      result sforce&connection&create>OdocP@:  log>result@:

      doc sforce&connection&retrieve>name,body,  document, OresultO%P&idP@:

      log>docO%P&getaseGBinary>ody@@:

    ..-- Aja! 2)#4" delete  ..create an account  var account new sforce&S;bject>Account@:  account&Name my new account:  var result sforce&connection&create>OaccountP@:

      if >resultO%P&getoolean>success@@ 5  log>new account created with id ? resultO%P&id@:  account&3d resultO%P&id:  9 else 5

  • 8/18/2019 Ajax-Salesforce Complete Material

    8/15

      throw >failed to create account ? resultO%P@:  9

      ..now delete that account  var del)esult sforce&connection&delete3ds>Oaccount&3dP@:  if >del)esultO%P&getoolean>success@@ 5  log>account with id ? resultO%P&id ? deleted@:  9 else 5  log>failed to delete account ? resultO%P@:  9

    ..-- Aja! 2)#4" update  ..create an account  var account new sforce&S;bject>Account@:  account&Name manoj:  account&1hone $/LBBKB:  result sforce&connection&create>OaccountP@:

      ..update that account

      account&id resultO%P&id:  account&1hone *$/K$/:  result sforce&connection&update>OaccountP@:

      if >resultO%P&getoolean>success@@ 5  log>account with id ? resultO%P&id ? updated@:  9 else 5  log>failed to update account ? resultO%P@:  9..-- Aja! 2)#4" upserta

    ..-- Aja! 2)#4" merge  ..create two accounts  var account* new sforce&S;bject>Account@:  account*&Name manoj:  account*&1hone $/LBBKB:

      var account$ new sforce&S;bject>Account@:  account$&Name cheenath:  account$&1hone K/BLEKE%:

      var result sforce&connection&create>Oaccount*, account$P@:  if >result&length 6 $@ throw create failed:

      account*&id resultO%P&id:  account$&id resultO*P&id:

      ..create merge request  var request new sforce&Rerge)equest>@:  request&master)ecord account*:  request&recordoRerge3ds account$&id:

      ..call merge  result sforce&connection&merge>OrequestP@:  if >resultO%P&getoolean>success@@ 5  log>merge success ? resultO%P@:

  • 8/18/2019 Ajax-Salesforce Complete Material

    9/15

      9 else 5  log>merge failed ? resultO%P@:  9..-- Aja! 2)#4" undelete  var account new sforce&S;bject>Account@:  account&Name account to delete:  account&1hone $/LBBKB:  result sforce&connection&create>OaccountP@:  account&id resultO%P&id:  log>account created ? account@:

      result sforce&connection&delete3ds>Oaccount&idP@:  if >6resultO%P&getoolean>success@@ throw delete failed:  log>account deleted ? result@:

      result sforce&connection&undelete>Oaccount&idP@:  if >6resultO%P&getoolean>success@@ throw undelete failed:  log>account undeleted ? resultO%P@:

    ..-- Aja! 2)#4" retrieve  var account new sforce&S;bject>Account@:  account&Name retrieve update test:  account&1hone $/LBBKB:  var result sforce&connection&create>OaccountP@:  if >resultO%P&getoolean>success@ false@ throw create failed:  log>account created ? resultO%P@:

      result sforce&connection&retrieve>Name,1hone, Account,OresultO%P&idP@:  if >resultO%P null@ throw retrive failed:  log>account retrieved" ? resultO%P@:

      resultO%P&1hone ************:  result sforce&connection&update>result@:  if >resultO%P&getoolean>success@ false@ throw update failed:  log>account updated" ? resultO%P@:..-- Aja! 2)#4" retrieve async  var account new sforce&S;bject>Account@:  account&Name retrieve update test:  account&1hone $/LBBKB:  var result sforce&connection&create>OaccountP@:  if >resultO%P&getoolean>success@ false@ throw create failed:  log>account created ? resultO%P@:

      var callback 5

      onSuccess" function>result@ 5  if >resultO%P null@ throw retrive failed:  log>account retrieved" ? resultO%P@:  9,  on'ailure" function>error@ 5  log>failed due to ? error@:  9  9:

      result sforce&connection&retrieve>Name,1hone, Account,

  • 8/18/2019 Ajax-Salesforce Complete Material

    10/15

      OresultO%P&idP, callback@:

    ..-- Aja! 4escribe" S;bject  var result sforce&connection&describeS;bject>Account@:

      log>result&label ? " ? result&name ? " @:

      log>---------- fields ---------@:  for >var i%: i+result&fields&length: i??@ 5  var field result&fieldsOiP:  log>field&name ? " ? field&label ? " ? field&length ? " @:  9

      log>---------- child relationships ---------@:  for >var i%: i+result&child)elationships&length: i??@ 5  var cr result&child)elationshipsOiP:  log>cr&field ? " ? cr&childS;bject@:  9

      log>---------- record type info ----------@:

      for >var i%: i+result&recordype3nfos&length: i??@ 5  var rt result&recordype3nfosOiP:  log>rt&name@:  9..-- Aja! 4escribe" S;bjects  var result sforce&connection&describeS;bjects>OAccount, 2ontactP@:

      for >var i%: i+result&length: i??@ 5  log>resultOiP&label ? " ? resultOiP&name ? " @:  9

    ..-- Aja! 4escribe" global  var result sforce&connection&describeHlobal>@:

      var types result&getArray>types@:  for >var i%: i+types&length: i??@ 5  log>typesOiP@:  9

    ..-- Aja! 4escribe" layout  var result sforce&connection&describeIayout>Account@:

      var layouts result&getArray>layouts@:

      for >var i%: i+layouts&length: i??@ 5  var layout layoutsO%P:

      detailIayoutSections>layout&detailIayoutSections@:  9

      function detailIayoutSections>sections@ 5  for >var i%: i+sections&length: i??@ 5  var section sectionsOiP:  log>section&columns ? " ? section&heading ? "@:  layout)ows>section&getArray>layout)ows@@:  9

  • 8/18/2019 Ajax-Salesforce Complete Material

    11/15

      9

      function layout)ows>rows@ 5  for >var i%: i+rows&length: i??@ 5  var row rowsOiP:  layout3tems>row&getArray>layout3tems@@:  9  9

      function layout3tems>items@ 5  for >var i%: i+items&length: i??@ 5  var item itemsOiP:  log> ? item&label@:  9  9

    ..-- Aja! 4escribe" tabs  var result sforce&connection&describeabs>@:

      for >var i%: i+result&length: i??@ 5  var tabSet resultOiP:  log> tabSet&label@:  displayabs>tabSet&get>tabs@@:  9

      function displayabs>tabs@ 5  for> var i%: i+tabs&length: i??@ 5  var tab tabsOiP:  log> ? tab&label ? ? tab&url@:  9  9

    ..-- Aja! #til" get deleted  var start new 4ate>@:  var end new 4ate>@:  start&set4ate>end&get4ate>@ - *@:

      var result sforce&connection&get4eleted>Account, start, end@:

      var records result&getArray>deleted)ecords@:

      log>following records are deleted"@:

      for >var i%: i+records&length: i??@ 5  log>recordsOiP&id@:

      9

    ..-- Aja! #til" get updated  var start new 4ate>@:  var end new 4ate>@:  start&set4ate>end&get4ate>@ - *@:

      var result sforce&connection&get#pdated>Account, start, end@:

  • 8/18/2019 Ajax-Salesforce Complete Material

    12/15

      var records result&getArray>ids@:

      log>following records are updated"@:  for >var i%: i+records&length: i??@ 5  log>recordsOiP@:  9..-- Aja! #til" convert lead  var account new sforce&S;bject>Account@:  account&Name convert lead sample:  account&1hone $/LBBKB:  result sforce&connection&create>OaccountP@:  account&3d resultO%P&id:

      var lead new sforce&S;bject>Iead@:  lead&2ountry #S:  lead&4escription his is a description:  lead&Cmail someoneMsomewhere&com:  lead&'irstName first:  lead&IastName last:

      lead&2ompany account&Name:  result sforce&connection&create>OleadP@:  lead&3d resultO%P&id:

      var convert new sforce&Iead2onvert>@:  convert&account3d account&3d:  convert&lead3d lead&3d:  convert&convertedStatus Dualified:

      result sforce&connection&convertIead>OconvertP@:  if >resultO%P&getoolean>success@@ 5  log>lead converted ? resultO%P@:  9 else 5  log>lead convert failed ? resultO%P@:  9

    ..-- Aja! System" login  try5  var result sforce&connection&login>manoj*Mcheenath&com, *$/BEG@:  log>logged in with session id ? result&session3d@:  9catch>error@ 5  if >error&faultcode&inde!;f>3N=AI348I;H3N@ 6 -*@ 5  log>check your username and passwd, invalid login@:  9 else 5  log>error@:  9

      9

    ..-- Aja! System" get server timestamp  var result sforce&connection&getServerimestamp>@:  log>result&timestamp@:

    ..-- Aja! System" get user info  var user sforce&connection&get#ser3nfo>@:  log>Qello ? user&userName@:  log>Tour email id is ? user&userCmail@:

  • 8/18/2019 Ajax-Salesforce Complete Material

    13/15

      log>and you work for ? user&organiFationName@:

    ..-- Aja! System" set.reset password  var username manoj*Mcheenath&com:

      var result sforce&connection&query>  SCIC2 34 from #ser records@:  if >records&length 6 *@ throw unable to find user:  var id recordsO%P&3d:

      sforce&connection&reset1assword>id@:  sforce&connection&set1assword>id, *$/BEG@:

    ..-- Aja! )emote 1ro!y" http get sync

      .U his feature is not enabled by default&  1lease contact support U.  sforce&connection&remote'unction>5

      url " http"..www&cheenath&com,  onSuccess " function>response@ 5  log>Hot response ? response@:  9,  on'ailure " function>error@ 5  log>C));)" ? error@:  9,  async" false  9@:

    ..-- Aja! )emote 1ro!y" http get async

      .U his feature is not enabled by default&  1lease contact support U.  sforce&connection&remote'unction>5  url " http"..www&cheenath&com,  onSuccess " function>response@ 5  log>Hot response ? response@:  9,  on'ailure " function>error@ 5  log>C));)" ? error@:  9,  async" true  9@:

    ..-- Aja! )emote 1ro!y" web service

      .U his feature is not enabled by default&  1lease contact support U.  var envelope   +soap"Cnvelope !mlns"mrns%urn"!methods-2urrencyC!change ?  !mlns"soaphttp"..schemas&!mlsoap&org.soap.envelope. ?  !mlns"soapenchttp"..schemas&!mlsoap&org.soap.encoding. ?  !mlns"!shttp"..www&w/&org.$%%*.XRISchema ?  !mlns"!sihttp"..www&w/&org.$%%*.XRISchema-instance0 ?  +soap"odysoap"encodingStylehttp"..schemas&!mlsoap&org.soap.encoding.0 ?

  • 8/18/2019 Ajax-Salesforce Complete Material

    14/15

      +mrns%"get)ate0+country* !si"type!s"string0us+.country*0 ?  +country$ !si"type!s"string0india+.country$0 +.mrns%"get)ate0+.soap"ody0 +.soap"Cnvelope0:

      sforce&connection&remote'unction>5  url " http"..services&!methods&net.soap,  requestQeaders" 52ontent-ype"te!t.!ml,  S;A1Action" VV  9,  request4ata" envelope,  method" 1;S,  onSuccess " function>response@ 5  log>response@:  9,  on'ailure " function>response@ 5  log>'ailed test)emote'unction1ostAsync ? response@  9  9@:

    ..-- Aja! )emote 1ro!y" !ml mime type

      .U his feature is not enabled by default&  1lease contact support U.

      var envelope   +soap"Cnvelope !mlns"mrns%urn"!methods-2urrencyC!change ?  !mlns"soaphttp"..schemas&!mlsoap&org.soap.envelope. ?  !mlns"soapenchttp"..schemas&!mlsoap&org.soap.encoding. ?  !mlns"!shttp"..www&w/&org.$%%*.XRISchema ?  !mlns"!sihttp"..www&w/&org.$%%*.XRISchema-instance0 ?  +soap"odysoap"encodingStylehttp"..schemas&!mlsoap&org.soap.encoding.0 ?  +mrns%"get)ate0+country* !si"type!s"string0us+.country*0 ?  +country$ !si"type!s"string0india+.country$0 +.mrns%"get)ate0+.soap"ody0 +.soap"Cnvelope0:

      sforce&connection&remote'unction>5  url " http"..services&!methods&net.soap,  mimeype" te!t.!ml,  requestQeaders" 52ontent-ype"te!t.!ml,  S;A1Action" VV  9,  request4ata" envelope,  method" 1;S,  onSuccess " function>response@ 5  log>response is ? typeof response@:  logXml>response@:

      9,  on'ailure " function>response@ 5  log>'ailed test1ostRimeype" ? response@  9  9@:

      function logXml>node@ 5  if >node&node=alue null@ 5  log>node&nodeName@:  9 else 5

  • 8/18/2019 Ajax-Salesforce Complete Material

    15/15

      log>node&nodeName ? " ? node&node=alue@:  9  var children node&childNodes:  for >var i %: i + children&length: i??@ 5  logXml>childrenOiP@:  9  9..-- Aja! Risc" search  var result sforce&connection&search>  find 5manoj9 in Name fields )C#)N3NH Account>name, id@@:

      if >result@ 5  var records result&getArray>search)ecords@:

      for >var i%: i+records&length: i??@ 5  var record recordsOiP&record:  log>record&3d ? -- ? record&Name@:  9  9 else 5

      log>No records found@:  9