Comments Off on Another Resource for Developer Certification [Dev 401 Exam Tips]

Another Resource for Developer Certification [Dev 401 Exam Tips]

Posted August 27th, 2009 in Certified Developer by John Coppedge

Check out the Salesforce Made Easy blog for some certified developer exam advice, including 45 practice questions!

 

And of course you can access my materials online here as well by clicking this link.

 

Please note: I DO  NOT email ANY materials.  Anything I have written and intend to share is already posted.  Thanks!

 

John

Comments Off on Enlist AutoIT to Perform Data Manipulation [Tips & Tricks]

Enlist AutoIT to Perform Data Manipulation [Tips & Tricks]

Posted August 27th, 2009 in Tips & Tricks by John Coppedge

 

When you work with data, sometimes you need your own personal data masseuse (I could use one for my back too!).  Thoughts like “if only I could put all of these entries on one line“ or “now if only I could put a space in every 15 characters” or “if I have to hit the blank key followed by the blank key any more blanking times, I am going to blank someone” often creep to mind.  The good news is that you can build a tool to tackle a lot of these repetitive tasks using AutoIT, and the language is very accessible.

 

Example

Compressing a list into a shorter comma-separated list (used this for mass transfer accounts wizard when names did not match exactly and did not have IDs):

image

The very simple code to make this happen:

image

All I would do is run this script and hop into notepad at the start of the file.  You can change the loop settings to match the length of the file, and of course make any changes to keystroke combinations.  You can even get fancy and program it to automatically change to notepad.  I was more comfortable with granular control.

 

Conclusion

The are an infinite number of ways to use this program.  With a little imagination and some basic understanding, this can be another great tool to add to the toolkit.

I would recommend downloading the AutoIT Full Installation and the Script Editor.  I’ve also included the sample script shown above:

AutoIT Download Page

Sample Script

Check out the online documentation, and here is a good introduction including a list of commonly used keys.  Happy scripting!

Comments Off on Surveys & Salesforce: SurveyGizmo Delivers Powerful Options [My 2nd Favorite Web App]

Surveys & Salesforce: SurveyGizmo Delivers Powerful Options [My 2nd Favorite Web App]

Posted August 25th, 2009 in 3rd Party Integration, Survey Gizmo by John Coppedge

logoblue180x36

I haven’t mentioned this yet on the site, but I am a HUGE fan of Survey Gizmo.  This is easily my second favorite web app, Salesforce of course taking the top slot on my mental podium.  My standard response around the office these days has been "Can’t we just put that into Gizmo?".  This could be because we do a ton of surveys (we could conceivably bump up against the 50K/mo response limit of our enterprise account), or it could be because of the awesome flexibility of the product.

We recently added our telemarketing department into our Salesforce org.  We added accounts, then got them placing orders using opportunities.  Then we added historical orders through an opportunity import, which is how the need for the Find and Replace Template arose.

Telemarketing then says they need to perform follow up surveys after orders are completed.  I think- sweet, I’ve got exactly the right tool.  And then I remember that very tool has a Salesforce integration feature I’ve meant try for some time.

So here was the approach I took:

1) Create link to survey on the opportunity page.  Link only works if the opportunity is complete, and the survey has not been completed.  Notice the link passes the opportunity ID and owner ID to the survey.  Here’s the formula:

IF(TEXT( StageName )="Complete", IF(LEN( Survey_Result__c ) > 0, "Survey Has Been Completed", HYPERLINK("http://www.surveygizmo.com/s/GIZMOID/tmsurvey?OPP="&Id&"&OWNER="&OwnerId,"Take Survey","_self")), "Survey Results Not Ready")

2) When the survey is completed, link the opportunity to the survey results.
The first page of the survey takes the passed variables and creates hidden fields with both variables.  The last field is a link to the current survey result.

image

This last field is used to update the survey result field (URL) in Salesforce, linking the Salesforce opportunity to the survey result:

image

During the survey a question is asked to determine if there should be follow up with the client.  In Gizmo, you can create a date field by using a text field and setting date validation in the options of the question.  This also allows me to create a follow up task on the opportunity.

image

3) Redirect from survey back to the opportunity

This shouldn’t anywhere near as hard as it is.  The problem is that Gizmo’s web redirect uses the "?=" format which will not fly for a Salesforce URL.  I called support on this one, and they suggested hard coding a redirect in raw HTML on the final page.  After being put on hold for a minute, they said this couldn’t be officially supported.  That’s OK.  They planted the seed, I just spent some time holding the watering can.  By testing the length of the ID field, I was able to prevent the redirect from triggering unless survey was passed from Salesforce (otherwise the redirect will trigger even when you are editing the survey – rather inconvenient).

Redirecting to Opportunity
<script language=javascript>
var test="[%%28:Opportunity ID  %%]"
var result = test.length;

if (result == 15)
  {
  window.location = "https://na5.salesforce.com/[%%28:Opportunity ID  %%]"
  }

</script>

 

This is just one example of the combo in action.  Others could include:

  • Auto-sending a survey when a SalesForce case closes.
  • Creating a web-to-anything form without code.
  • Building forms using Salesforce data (I am looking into building a checkout portal using Gizmo as a front-end to Salesforce data and then pushing this data to a service such as Roman Cart).
  • Email survey invites to Salesforce contacts (would require an export/import, will hopefully become fully integrated) and push survey result(s) into contact record.

 

Nothing is perfect.  Here are a few issues I have discovered during use:

  • Data exports of 20k+ records are often so slow that the browser will time out (IMO there should be an email to download link method of delivery).
  • Reporting lacks some flexibility: color choice of graphs, text occasionally overlaps, cannot remove summary text, etc. (hopefully will be addressed with new reporting package, release date TBD).
  • Use of hidden fields to store data fields is messy (this doesn’t impact functionality; an alternative would be a data field type that was never displayed, and was always ordered last on the page).

 

Despite these issues, if you use Salesforce (EE/UE) and have a need for forms/surveys, this is definitely a product to try.  Click here to give it a shot!

 

Full disclosure: I am entered into the affiliate program; if you sign up for an account I will get your first month’s payment.  That said, I would be just eager to recommend the product without any financial incentive, so why miss out?

Comments Off on The Easy Way: Command Line & Data Loader [Tips & Tricks]

The Easy Way: Command Line & Data Loader [Tips & Tricks]

Posted August 19th, 2009 in Tips & Tricks by John Coppedge

At first glance, I thought running the data loader through the command line would be complicated.  Turns out it is actually quite easy.  Essentially all you need to do is create the configuration through the UI and then blast away at the command line:

  1. Create a new folder describing the job; I recommend creating the folder in “C:\Program Files\salesforce.com\Apex Data Loader 12.0\”.  Place your csv file for the job (if required) into this directory.
  2. Start the Data Loader through the UI.  Create and save your field mapping into the above directory.  Configure the action precisely how you want it run in the future from the command line.  Run it (use a 1 record test).  Close the Data Loader.
  3. Copy the “config.properties” file from
    Vista: “C:\Users\%username%\AppData\Roaming\salesforce.com\Apex Data Loader 12.0\”
    XP:  “C:\Documents and Settings\%username%\Application Data\salesforce.com\Apex Data Loader 12.0\”
    to the folder that you created in step #1.
  4. Open a command prompt to “C:\Program Files\salesforce.com\Apex Data Loader 12.0\bin\”.  To run the batch type “process.bat ..\foldername”.  You should see something like this:

image

A few notes:

  1. I am using version 12; this technique may not work with other versions.
  2. You can use an XML configuration, which allows for greater flexibility.  Here are a few resources if you’d like to go this route:
    Using the Data Loader from the Command Line
    Data Loader Manual
  3. To run the Data Loader on a schedule you’ll need to use a 3rd party application such as windows task scheduler.
  4. Sandbox Orgs through the Data Loader: change server host to https://cs#.salesforce.com, and make sure to append .sandboxname to the end of your username.
  5. When scripting this through a batch file you can append the output to a log file by using output redirection (e.g. “process.bat ..\foldername >> logfile.log”).
[via Force.com Blog, Dev 401 Training Applications Module 3]
Comments Off on Recorded Sessions of Dev 401 & Dev 501 Salesforce Training Available Online for Free

Recorded Sessions of Dev 401 & Dev 501 Salesforce Training Available Online for Free

Posted August 14th, 2009 in Certified Advanced Developer, Certified Developer by John Coppedge

You can find the sessions through the “Salesforce.com Training and Certification” video podcast through iTunes.  In addition you can find the series “Admin to Hero with Force.com”.

Enjoy!

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=325668840

[via LinkedIn]