4 Creepy-as-heck Salesforce Tidbits

FacebookTwitterGoogleLinkedInEmail this page

All hallows eve is upon us. Whilst distributing candy, massacring pumpkins, and dressing up like avengers, let us not forget to keep an eye out for spooky things that go bump in the cloud…

1. AJAX Debug Shell

What if I told you there was a creepy backdoor command-line-esque page just waiting for you in any Salesforce org as long as you know the URL?  Try it for yourself… go ahead and log in and then type in the following in your address bar after the “.com”:


To be honest, it’s not that creepy… just a quick way to test out JavaScript commands that leverage the AJAX toolkit.  If you have no idea how to use it though, it may be unsettling to know that it’s always there waiting for you to come back and keyboard something up.

2. Fake Buttons

Visualforce components can wear costumes, apparently.  This is an old trick.  You can quickly make a link appear like a button by borrowing a class from Salesforce’s own CSS.  Obviously if they change the definition of their “btn” class your link will change as well.  Now my commandLink is ready to trick or treat.

<apex:page >
 <apex:form >
 <apex:commandLink value="Regular Link"/>
 <apex:commandLink styleclass="btn" value="Link in a mask!"/>

3. “API Only” Permission Set

Permission Sets grant additional permissions only, right?  Usually… but with one creepy exception.  Create a Set and under “System Permissions” select “Api Only User”.  This restricts their usage so they can’t login through their browser!  Almost like if Permission Sets were “spells”, this one is a “curse”.

4. Time Warp!

There are a lot of ways you can format dates and times when displaying in Visualforce.  One of the strangest that is good to keep in mind is that in some instances, a simple space added just before a merge field in a value definition can actually change the displayed format and timezone.  So, for example, I can enter the following into a page:

<apex:page >
<apex:outputText value="{!NOW()}" /><br/>
<apex:outputText value=" {!NOW()}" />

And the result is that the first one (without the space) is showing in GMT… meanwhile, the second one is still Halloween here in central time!  Just some white space… creepy.

Be the first to comment

Leave a Reply

Your email address will not be published.