Showing posts written by:

markcane

Customer Portal Enterprise Admin Record Access

This post is the second in a series exploring record access considerations with the different portal user license types. This post covers the Customer Portal Enterprise Admin type. By way of reminder, the decision tree below should be used when making the high-level decision on the appropriate license type for the different user populations within […]

New Advanced Apex Programming Book

Interesting new book covering advanced Apex topics such as execution context, asynchronous programming, robust design patterns and so on.. Excellent addition to the Force.com Developer’s arsenal! Advanced Apex Programming – Author: Dan Appleman Table of Contents Update (2012-09-10) I now have my hands on this book and have to say I’m really impressed. So often […]

High Volume Portal User Record Access

When designing portal solutions on the Force.com platform it is imperative to understand the sharing model implications of the user licenses and related base user profiles in play. In this post I’ll outline the key considerations in respect to record access for high-volume portal user license types; Authenticated Sites (aka Platform Portal) and Service Cloud […]

Mixed Authentication Schemes

In certain cases it may be desirable to have some users authenticate in the standard Salesforce manner, whilst another user population authenticates via single sign-on (SSO). This mixed authentication scheme scenario may result from rollouts to new departments etc. What are the considerations? The first concern is whether Delegated or Federated Authentication will be used […]

Salesforce Public or Resource Calendar?

Not entirely a technical concern, however here I’ll quickly share some notes on public and resource calendars. 1) Resource Calendar – events can’t be added directly, instead events are added through adding the resource to events occurring on User or Public Calendars (select Resources in the search within list). A typical use case for resource […]

UI Tips and Tricks – Country List

This tip introduces a simple pattern used by many AppExchange solutions to manipulate standard layouts. In short, a custom sidebar component is added which contains JavaScript code which manipulates the page at the DOM level. The following simple example shows how the country fields on the account layout can be changed to lists – a […]

UI Tips and Tricks – Picture Upload

In the very early 90s I was employed as a professional Visual Basic programmer (and no that isn’t a contradiction in terms) enjoying greatly the development of client-server accounting systems. Good times. In those days tips and tricks sites were a big part of how the community shared knowledge. Following some recent reminiscing, through this […]

Summer ’12 Lookup Relationships

The Summer ’12 release introduces some fundamental changes to the functionality of lookup relationships. In summary: 1. Optionality. Lookup relationships can now be set as mandatory (Required Attribute). This is great news in that the usual validation rule enforcement can now be forgotten. 2. Referential integrity. Prior to Summer ’12, the parent record could be […]

SOQL Record Locking

There may be cases where a pessimistic locking strategy makes sense within your custom Apex script, for example the available inventory statistic on a Stock record may need to be locked while your code works out the correct value to decrement. The interesting, but rarely used SOQL keyword “FOR UPDATE” can be applied to SOQL […]

Salesforce Large Data Volumes

My own simplistic definition of an LDV scenario in the Salesforce context is in excess of 2 million records in a single object. This is a rule-of-thumb rather than prescriptive. The following Salesforce functional areas are most affected by LDV, in terms of performance, timeouts etc. : Reports Search Listviews SOQL Working with LDV : […]