Tag Archives: Best Practices

Extreme Force.com Data Loading, Part 3: Suspending Events that Fire on Insert

When you need to load a very large amount of data into Force.com quickly, you want to ensure that each insert is as efficient as possible. With appropriate preparation and post-processing, you can disable data validation and enrichment operations while loading–without compromising your data integrity or business rules. Continue reading

In Blog: engineering | Also tagged , , , | 4 Comments

Improving your Case Management Response time with SMS

logos_downloadable_round

Case Management brings together ad hoc teams to assess, diagnose and resolve customer issues. And, SLAs (Service Level Agreements) drive resolution urgency. But, what happens if issues aren’t communicated in a timely manner? What about the liabilities associated with missing your SLAs? Continue reading

In Blog: engineering | Also tagged , , , , , , , , , , , , , , | Leave a comment

Opportunity Open Market Helps You Find Your Dream Scrum Team

Groups

Learn how salesforce.com makes it easy for engineers to work on what challenges and excites them. Opportunity Open Market makes it easy for anyone in the salesforce.com Technology organization move to a new team. This post explains how the program came about and how it works. Continue reading

In Blog: engineering | Also tagged , | Leave a comment

“Group membership operation already in progress” – Managing Group Membership Locks for Success

Salesforce uses a central Group object to manage visibility related to the Role Hierarchy, Territory Hierarchy, Public Groups and Queues.  When administrative changes occur in these areas a group membership lock is taken to ensure data integrity is maintained while complex sharing calculations are completed.  The following activities take out group membership locks for the duration of their transaction:

  • Role creation
  • Role deletion
  • Moving a role in the hierarchy
  • Adding a user to a territory
  • Removing a user from a territory
  • Moving a territory in the hierarchy
  • Territory deletion
  • Territory creation
In Blog: engineering | Also tagged , , , | Leave a comment

Architect Salesforce Record Ownership Skew for Peak Performance in Large Data Volume Environments

Salesforce customers who manage large data volume in their orgs must architect record ownership carefully to ensure peak performance.  When you have a large number of records owned by a single user in Salesforce, we call that an “ownership skew”.  There are many cases which lend themselves well to this type of architecture.  While any object can have an “ownership skew”, the most common cases involve Contacts without the concept of an owner, Accounts that are worked by a team without the concept of an owner, and unassigned Cases or Leads.  Since every record is required to have an owner… Continue reading

In Blog: engineering | Also tagged , , | 1 Comment

Visualforce: Displaying help text on input areas

A bubble text area

Let’s say you’ve got a Visualforce page with some input areas and you want to give your users a bit more help than field labels can provide. First of all, good for you. Your users and your support staff will all be grateful. Pat yourself on the back for a job well done. When you’re done with that, read on.

Help Bubbles

Salesforce has small help bubbles next to many fields. You can make use of this functionality too. You’ll need a <apex:pageBlockSectionItem>.

Using an <apex:pageBlockSectionItem> to display a help bubble. (click to enlarge)

Caveats of the help bubble… Continue reading

In Blog: engineering | Also tagged , , , | 10 Comments

CSRF and apex:page

How not to CSRF yourself on Force.com. Now with 20% more llamas. Continue reading

In Blog: engineering | Also tagged | 7 Comments

Maximize Installs & Minimize Apex Test Failures

It’s a scenario many of us have been through.  You’ve slaved over your application for months, written impeccable tests, and verified everything works, but customers still can’t install the application because of test failures resulting from their validation rules and triggers preventing your test data from being created.  Even worse, you get a 1 star rating as they vent their frustrations.

For Chatter Unfollow Rules v2.0, I came up with a different approach to avoid this issue.  The app uses dynamic SOQL to let you pick which object, field, and criteria, similar to workflow rules, and then unfollows

In Blog: engineering | Also tagged , | 2 Comments

Default Task Type to Email when sending an email

One question I hear over and over again, is why is the task type when I am sending an email in Salesforce not defaulted to Email? This is becomes an issue when you want to do reporting on all your tasks and they are logged as your default task type which generally is "Call".

I have written an Apex Trigger you can use to overwrite the Task Type and set it to "Email" when you are sending out an email from Salesforce. The trigger will look for "Email:" in the subject and also look for "Additional to:" as the first… Continue reading

In Blog: engineering | Tagged | 3 Comments