Friday, July 27, 2012

Creating and Opportunity Competitor Tracking App

Here's a simple little App that I built to track Competitors at a deeper level than is possible using the standard SFDC Competitor Related Text List. It allows us to track Competitors as Accounts (just like Opportunity Partners) and gives us visibility into Competitor History directly from the Account and Opportunity object, including Wins against Competitor/Incumbent, Losses To Competitor, and Open Opportunities against Competitors.

Wednesday, June 29, 2011

Tips&Tricks: Records Created By the Current User

Here's a little formula that I came up with that comes in handy when you need to create reports and dashboards that display things like Activities, Cases, Leads, Opportunities, etc that were created by one user, but might now be owned by another user.
Unfortunately the built-in Salesforce "My..." and "My Team..." filters only reference the record Owner field, so you're forced to clone reports and edit the Created By filter (making the Running User pretty much useless)

Until now....

Here's what you do:

Create a custom field on the objects that you need to track CreatedBy (User).
Field Name: CreatedBy$User
Datatype: Formula
Return Type: Number, 0 decimals
Formula: IF(CreatedById = $User.Id , 1, 0)

Now just add a simple filter:
Field: CreatedBy$User Operator: [equals] Value: 1

to your reports and now use the Running User to create Scheduled Reports and Dashboards that display anything a user created. Now if you need to create a new "Created By... Dashboard" all you have to do is clone the Dashboard and change the Running User (no more cloning and editing reports for each user)

it also works with List Views too!

Monday, June 13, 2011

Reset Reminder Button - A fix for the Dismiss All Reminder Pop-up window

Oops! I Didn’t Want to Dismiss All  by Kyle Thornton

The infamous Matt Brown threw out a question the other day
After some back and forth with Matt it turned out there are many questions on the Answers forums related to getting reminders back after a user clicks ‘Dismiss All’ on the reminders pop up. I decided to give this a stab and the following is the result.
I created a Visualforce Page that simply has a button on it along with a disclaimer of what the button will do.
The main purpose of the controller is to query for all open tasks and future events owned by the current user and set the reminder flag to true, allowing them to show up in the reminder pop-up when logging in. The controller will not set the reminder flag for any Tasks that never had a reminder set.  We know this because the Reminder Date is null.  Had it been set previously, it would still be set; the reminder flag was just unchecked.

Finally, I created a very simply home page component with a link to the visualforce page. The component name is “Reset Reminders For My Open Tasks and Event” and the html (be sure to check the ‘show html’ checkbox) is:

My only change would be here and replace the section of code that created the below Homepage component:
 with a button. The button on the Homepage looks like this:
Here is the code for the button:

I figured the easiest way to show the functionality was with a quick demo.

Finally, you can install an unmanaged package of the home page component (don’t forget to add it to a page layout), visualforce page, controller and test method with this link:
*Remember, you can change the path to… to install to a sandbox.

This excellent Post was from a fellow blogger Kyle Thornton over on his blog

Tuesday, May 24, 2011

Mass moving Reports from one folder to another using the Eclipse IDE

In the Eclipse IDE

  • Create a new project
  • Include ‘reports’ or more specifically the report folders you are concerned with
  • Let Eclipse refresh the project with the reports metadata
  • In Eclipse, navigate to the reports folder you just download and then select the Report Folder you want the reports you want to move from, right click and select Properties

  • Take Note of the Location. This is the path where the metadata files are located
  • Open a windows explorer window and navigate to that path

  • Highlight all the Reports you want to move and right click Cut
  • Still in window explorer navigate back to the list of report folders and expand the one you want to move the reports to and right click and Paste
  • Now back in the IDE highlight the folder titled Reports and right click and Refresh and then right click again and - Save to Server

  • BOOM! Now you have moved your reports.

Guest Post on - Core Admin Productivity

Mike Gerholdt has an awesome blog that is worthy of a read. I was asked by Mike to write a post for a series he has been covering titled "True to the Core Series." My post is concerning Admin Productivity and some of the deficiencies around Admin functionality. Take a look: Core Admin Productivity

Friday, April 22, 2011

How to create an Email Button with a record link

Hi Gang,

Here's a little nugget I just wanted to pass on. It's a piece of code that you can use to create a custom button on the Record Detail Page in SFDC that will open the users default email program and create an email with a URL Link to the record in SFDC, and the SFDC Object and Record Name in the Email Subject.

It comes in handy when one of your more Technology Challenged users is having a problem with a specific record and you don't feel like having that awkward "What is a URL and Record ID???" conversation with them.

Label: Email

Name: Email

Object Name: Opportunity

Display Type: Detail Page

Button Behavior: Execute JavaScript

OnClick JavaScript: javascript:location.href='mailto:?SUBJECT='+document.title+'&BODY='+escape(location.href);

Sunday, September 5, 2010

It's Official: Winter 11 is almost upon us!

I come fresh and excited from the Salesforce Winter 11 release webinar with news of the latest and greatest to hit our Salesforce shelves (metaphorically speaking of course).

I waxed a little in an early post of what seemed to be making its way to us based on a little insight and the Ideasexchange "Next Release" category. Well I was blown away by how far the release has come and what will eventually be delivered. By the way you can find out when the release will hit you at

The full release can be found in the Winter 11 release notes PDF found here. For a snippet here is what you can find in an Oscars style top 5 lineup in reverse order.

5. The Platform App Login and Security developer upgrade highlights
  • SFDC can now act as an Identity provider for Oauth authentication
  • Many governors removed or increased
  • Cloud based log viewer (More like the Eclipse IDE experience)
  • Pilot program for REST API (Submit a SFDC Case for access to this Pilot)
  • Single Sign-On (Login to Salesforce and non-Salesforce Apps)

4. Other Developer related User Interface enhancements
  • Setup gets a makeover with same skin release we have all come to love ;)
  • Global Search gets the addition of searching for Content
  • Some enhancements for Visualforce including a View State Inspector allowing you to debug a page

3. Sites upgrades
  • Website URL redirects
  • Self-Registration for Person Accounts
  • Customizable "My Profile" page

2. Salesforce Database
  • New Report Builder (we love to drag and drop!)
  • Chatter analytics (now you can build Reports and Dashboards around Chatter)

1. It's all about Chatter and the Collaboration Platform

    This releases Oscar gets picked up by Chatter

  • Chatter Files - Store, update, and share your Chatter files in one place
  • Chatter Search - Search across every Chatter feed, file, profile, and update
  • Chatter Recommendations - Smart recommendations to help you collaborate with the right colleagues
  • Chatter Filters - Find targeted information fast
  • Chatter Email Manager - Tailor your Chatter email settings to receive only the information you need
  • Chatter Email Digest - Get the latest updates from your Chatter feed so you never miss a thing
  • Chatter Topics - Use hashtags in posts to create shared topics
  • Activity Chatter - Collaborate on tasks and events
So that's it folks! If you would like to check out the Webinar Jeff Grosse (@CRMFYI) has placed them on his website the Salesforce Channel. What do you think about this next release? We would love to hear you thoughts.