RSS feed for blog Linkin Skype Mail Me Twitter

Stickfight

Click for Full Blog Listing

LDCVia Webinar

As we ramp up for Connect 2016, we decided to do a quick introduction to LDC Via. this means that if you see something you want to ask questions about or a feature that is a must have we can sit down over a drink at Connect and see if we can solve them.

So come join us and listen to Matts dulcet tones (as well as Julian)


ldcvia-webinar.png

Current Android Software 2015

This is more an aide memoire than anything else (in case of a phone rebuild), but it is the list of essential software I have on my phone at the end of 2015


Audio/Media

DI Radio

Audible

Google Play Music (so much better than Spotify for play lists and radio)

Dog Catcher (for podcasts)

MX Player

Music Folder Player Full (the only decent player for displaying audio as it is laid out in the filesystem)

BBC Iplayer Radio


Productivity

Clockwork Tomato (The Best timer for the Pomodoro Technique)

Power Nap

Freshbooks

Wunderlist

Timely


Communication

Slack (a truly amazing team chat)

Skype

Twitter (The stock version is actually the best)

Facebook (Unfortunately)

Go To Meeting

IBM Verse


System

Dropsync

File Explorer

1 Password

Disk Usage

Swiftkey


Games (I tend to not play games on my phone as I have a Nvidia Shield Tablet)

mahjong

Chess

Sorcery 1 (or any choose your own adventure game)

Gemini rue


Misc

National Rail Enquiries

Speedtest.net

Sworkit pro

Moovit (best for London bus times)

Priority Pass

Plus mobile banking and mobile ISP provider’s app.

Salesforce hide when hack

It seems the need for hacks has not gone away with the move to cloud, but you do have to be more careful, as I have already found out Salesforce can break your custom code at will.

So that being true one of the things that SalesForce does not seem to have that every other framework does is a simple an powerful “hide when”, IMHO this feature should be present in every line button and object on every page and most platforms do,

It is the most requested feature for customisation that I have come across, and this is the hack that I use for read mode documents or forms (which strangely is where the request is most often made) (and yes it is a hack)

We are going to just stuff some JavaScript into a apex page, you can see an example of it below

<apex:page standardController="Case" showHeader="false" sidebar="false">

<script>

myVar = checkforbutton();

function checkforbutton()
{
    if (typeof(parent.document.getElementsByName("searchArticles")[0]) != "undefined" )
    {
               if ( parent.document.title.indexOf("Customer Community") != -1) {        
                   parent.document.getElementsByName("searchArticles")[0].style.display = "none"; 
               }
    }
    else
    {
            window.setTimeout("checkforbutton();",100);
    }
} 


</script>

   
</apex:page>


Lets break it down

  1. We have to use “parent.document” to get JavaScript objects as when we use this page SalesForce will embed it inside a Iframe

  2. We have to do a wait loop that keeps looking for the object till it finds it (then stops), because SalesForce adds button objects in after the page loads so they wont be there when it first opens

    if (typeof(parent.document.getElementsByName("searchArticles")[0]) != "undefined" )
    {
            //do stuff
    }
    else
    {
            window.setTimeout("checkforbutton();",100);
    }


  1. When the button is confirmed to be there then we are going to check the page for a condition(s) and if it’s true/false we are going to hide the button/element on the basis of it, in the above example, if we are on the “Customer Community” version of a page, we don’t want to allow the users to search for articles, so we hide the “searchArticles” button, it’s not a security issue, we just don’t want to confuse the user experience by allowing this feature.

So we put this code into a Page

SF Page

This insert that page into the layout Object layout we want it to effect.

SF Page

that would normally give a big white space where the inserted form lives, so we make the page a 1% by 1px block


SFHIDEWHENHACK03.png

And that’s it, just save the layout, the button/”what ever” will hide when the page loads, a hack but a simple reliable hack

Now as always “hide when” is not security, remember to make sure that you don’t leave functions exposed and think this kind of thing covers you.

Click for Full Blog Listing
Latest Blogs