Ye Meri Life Hai - Chirag Mehta

Be Good & Do Good!

Month: November 2009 (page 2 of 2)

Salesforce AJAX Toolkit Shell

Came across something tweak toolkit installed and accessible right inside of any Salesforce.com Org. Access Salesforce AJAX Toolkit Shell @ http://instanceName.salesforce.com/soap/ajax/17.0/debugshell.html.

Enter the instanceName, such as na1, for your organization. You can see the instanceName in the URL field of your browser after logging
in to Salesforce.com.

Salesforce – Date (Calendar) Picker in VisualForce

In general it is a bad idea to use any of the javascript calls that references any standard app features.  These can and do change frequently and might have side effects that are hard to track down.

To get the datePicker the best solution right now is to use inputField and then use an empty SObject with a date field to store the value for you.

Visualforce

<apex:inputField value=”{!proxyObject.closeDate}”/>

Controller

Opportunity o = new Opportunity();
public Opportunity getProxyObject() { return o; }

then in your controller when you need to access the date you ask for o.closeDate.

Source : Salesforce Community

How do I escape ampersands in batch files?

Q: How do I escape ampersands in a batch file (or from the Windows command line) in order to use the start command to open web pages with ampersands in the URL? Double quotes will not work with start; this starts a new command line window instead.

  1. ‘&’ is used to separate commands therefore you can use ^ to escape the ‘&’
  2. Note that you need to supply a dummy first argument in this case, as start will treat the first argument as a title for the new console windows, if it is quoted. So the following should work (and does here):
start "" "http://www.google.com/search?client=opera&rls=en

Also note,if there are URL encoded characters (e.g. space is encoded as %20) in the URL and it is in a batch file then ‘%’ must be encoded as ‘%%’. This is not the case in the example.

Source : http://stackoverflow.com/questions/1327431/how-do-i-escape-ampersands-in-batch-files

Salesforce – Know-How : Anonymous Block

  1. Unlike classes and triggers, anonymous blocks execute as the current user and can fail to compile if the script violates the user’s object- and field-level permissions. So, essentially, it is only allows the user to do what they could through the API.
  2. if you don’t have CRUD for delete on Account, you can’t delete Accounts through anonymous blocks.
  3. The Author Apex profile perm, only applies to Apex that is stored in the org’s metadata (i.e. normal Apex Classes and Triggers that run in system mode).
  4. As far as Async Apex (Batch Apex), it doesn’t look like it is possible because @future requires the method be static but anonymous blocks can’t have static methods

Datasea – Human-like reasoning to find Data Relationships

DataSea is software that tells you about things.

  • Ask it about X and it tells you about X, instead of finding hits with ‘X’ in them.
  • Ask it about X from the point of view of Y, and it will tell you about X and Y, and also things which form connections and relationships from X to Y.
  • DataSea is a data architecture and an application that gives single-step access and control. It reduces the need for navigation and clicking. It answers complex questions and makes mini-reports in one step, which can not be done with search engines. It lets you do things like make calls and send email, also in one step.

    DataSea gives answers based on your input by using human-like reasoning to find the relevant connections among data. It supports natural language and can access a wide range of data sources, including relational databases, as well as unstructured sources, such as ad-hoc notes.

    Read more on human-reasoning to find Data Releationships at http://www.datasea.com/

    Executing JavaScript on page load

    Following code helps you to define any JS function to be called on page load. The tricky part of the code is that it waits until page is completely loaded.


    <script>
    function init() {
    alert('Loaded');
    }

    var previousOnload = window.onload;
    window.onload = function() {
    if (previousOnload) {
    alert('...loading ...');
    previousOnload();
    }

    init();
    }
    </script>

    Newer posts