Why can’t I see certain objects in the Apex Explorer?

I’ve had a number of people ask me “Why can’t I see such-and-such an object in the Apex Explorer when I have full rights to view it?” (usually referring to custom many-many/junction objects), and I thought it would be good to get a blog post out there to explain the cause of this phenomenon and how to correct it.

To start with, I should explain what the Apex Explorer is, because many people are not even aware of its existence. The Apex Explorer is a pretty simple .NET desktop application that functions as a sort of SOQL “Query Analyzer” and a Salesforce.com data model browser. You can learn more about it and download a copy from the Force.com developer wiki.

Only one version of the Apex Explorer was ever developed and released, and that is version 8.0. The reason that they gave it that version number was that it’s release coincided with the release of version 8.0 of the Salesforce.com API. The Apex Explorer was somewhat useful and unique at the time, but I’ve found it to be somewhat buggy when you try to use it for anything more than the most basic queries. [The Salesforce Schema Browser in the Ecplise plugin/Force.com IDE is much more robust as it is actively being developed for each new version of the API, so it is highly recommended that you use it for testing SOQL queries and digging into your Salesforce.com schema structure/data model] For some reason lots of people still use the Apex Explorer (and Salesforce still links to it in Setup > Develop > Tools), probably because it is the only light-weight Windows alternative to the incredibly awesome SOQL Xplorer for Mac OS X. (Now why Salesforce won’t link to the actively developed (and very feature rich) SOQL Xplorer from Setup > Develop > Tools or from the Force.com developer wiki is quite a head scratcher, but I digress…)

Salesforce versions the releases of their API so that integrations built on a certain version of the API won’t break when things are added or changed in the API for new releases.  For instance, “Many to Many Object Relationships” were added in the Summer ’08 release (version 13.0 of the API). If you log in with any previous version of the API, you won’t see any Many to Many objects in your schema.

Since the Apex Explorer was created when version 8.0 of the Salesforce API was the current and latest version, it defaults to logging into Salesforce.com with the URL for that version of the API. In order to see new objects in your Salesforce schema that are or have features that weren’t available with version 8.0 of the API, you’ll need to change the login URL that the Apex Explorer uses. Thankfully this is pretty easy to do – open Apex Explorer and go to the Tools menu and select “Options”:

Apex Explorer Tools-Options Menu

In the Options dialog, all you have to do is change the “8.0” to “15.0” on the URL in the “Endpoint” field:

Apex Explorer Options - API v15

And now you will be able to see your “many to many” objects, new standard objects that Salesforce has exposed through the API since version 8.0, and probably anything else in your schema that wasn’t available with version 8.0.

CAUTION: Using a newer version of the API than this application was originally developed for MAY cause certain parts of its functionality to malfunction. I have NOT tested this application thoroughly with any newer versions of the API, so please proceed with caution, and don’t be surprised if something doesn’t work or worse, the data in your Salesforce org gets corrupted somehow. I would highly recommend that you switch to using the Force.com IDE as your schema browser as it is the only officially supported tool for this purpose.


11 comments so far

  1. apexsutherland on

    Another application that often baffles users because of its default setting to an old version of the API is the Excel Connector. If you don’t see certain fields or objects in the Excel Connector that you know should be there, its probably because you’re using the default API version of the Excel Connector which is version 6.0 of the SFDC API. You can change the version of the API by clicking the “Advanced>>” button on the login dialog and edit the API URL.

  2. G on

    Thanks a lot . That saved a lot of headache. I was curious to see why I was not able to see those m-m objects and your tip helped

  3. frasuy on

    Nice, exactly what I was looking for. I updated by endpoint to 17.0 but received a slew of collection areas but was fine with 16.0. I wonder what went south with 17.0?

    • apexsutherland on

      Glad it helped! Good to know that 17.0 causes errors. perhaps they changed some of the fundamental operations in the API that are hardcoded into the app?

  4. Rhonda Ross on

    Know of any way to use an API version >16.0 with Excel Connector?

  5. Rhonda Ross on

    I installed the newer version. Still can’t get beyond 16.0

  6. Ghouse on

    during the login, shoud we use only username, pwd or username, pwd+token??

    • apexsutherland on

      If your IP address is not whitelisted in your org’s security settings or your user profile, then you’ll need to login with username and pwd+token.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: