FuseIT SFDC Explorer

A freeware tool for Salesforce developers and administrators and Microsoft developers using our G4S or S4S products.

We built the FuseIT SFDC Explorer while developing our S4S and G4S connectors and found it so useful we made it a free download. The FuseIT SFDC Explorer currently runs on Microsoft Windows only. The download link also provides access to an online tool that accepts a WSDL and generates the Apex classes to call the web service. 

With S4S and G4S we recommend using it to verify Salesforce access and understand the underlying entity model and processes. There is also a code generation tool that uses a T4 template to create strongly typed C#.NET classes (with associated service and data source classes) from custom and standard Salesforce objects.

How can I use the Explorer?

The tool provides a number of functions built around the Salesforce Partner, Tooling, and Metadata APIs. Some of these are:

  • Login to Salesforce using credentials from a Partner API enabled user
  • Create and run SOQL queries
  • Explore the Salesforce database schema
  • Find Salesforce entities
  • Identify lookup and master-detail relationships
  • Run Apex tests via a range of modes
  • Run our version of WSDL2Apex to generate Apex classes (with test methods) from a WSDL
  • Download Salesforce data exports to your server directly or via a scheduled task
  • Parse and visualize Apex Debug logs.
login

Select your Tabs

To use the FuseIT SFDC Explorer, first login with the credentials of a Salesforce API user. See the help documentation for further details.

The Explorer has many features. To help you focus on the applicable ones go to the Home Tab to select the features you frequently use. You can also use the Tabs menu to toggle the visibility of features.

We regularly add new features so be sure to regularly download the latest version of the Explorer from the Help tab.

 

 

 

login

SOQL Queries

Run Salesforce SOQL queries with the query builder. The results can be exported to a CSV (Excel) or JSON file or to the clipboard by clicking the Table icon icon at the bottom of the results pane.

Fields

  • Entry field: Canvas for writing the query. You can also drag an entity in from the Database Schema section

Buttons

  • Query: Executes the query against Salesforce
  • Explain Query Plan: Returns the Query Plan that determines how Salesforce performances the query.
  • Recent: Load recent queries onto the canvas
  • Tooling API: Select to run the SOQL query against the Tooling API rather than the Partner API
  • Clear: Clears the current SOQL query and any results. 
  • Save: Asks you to name the query then saves it for future use
  • View All: Shows a screen with a list of saved queries and presents an opportunity to open one
soql query image

Find Entity

This tab lets you find and view the entity fields belonging to any Salesforce ID.

Fields

  • Entity ID: The Salesforce entity sought. This is typically the 15 digit unique parameter seen in the URL extension when viewing the entity in Salesforce
  • Case Safe ID: The 15 character Salesforce ID converted to the 18 character equivalent 
  • Globe Image: Open a browser window in Salesforce to the entity
  • Magnifier Image: Show the SOQL query that accesses the entity
  • Output Field: Details about the selected entity
find entity image

Apex Tests Queued

Shows the currently queued tests running asynchronously.

Buttons
  • Find Recent Test Runs: Finds recent test runs for selection to display the outcome. 
  • CometD: Enable CometD long polling to monitor the progress of test runs. 
  • Check Status: Checks the status of the tests within the current job and displays results below. 
  • Get Results: Gets the results of all tests in the run.
  • Open Log: Find and open the applicable Apex Debug log for the test run.
  • Run Selected Tests: After a test run you can reselect test classes or individual methods to run again
Fields
  • Test Run Job Id: The Apex Job ID of the current job. 
queued tests image

Apex Logs

Allows users to view the Salesforce Apex logs for the Salesforce instance. The logs can be filtered by ticking the statement types in the Apex Log box in the bottom-left section.

Buttons

  • Open Log: Opens the selected log
  • Logging Levels: Alter the current logging levels that Salesforce is capturing
  • Capture Trace: Enable a TraceFlag in Salesforce to start capturing debug logs
  • CometD: Use long polling to monitor Salesforce for new debug logs
  • Refresh: Gets the latest list of logs from Salesforce
  • Show logs for all users: Exposes all logs
  • Clear: Clears the list of logs currently visible
  • Reset: Resets the display of logs that the Clear button hid
  • Delete all Apex logs: Deletes every Apex log that is accessible via the API. Even those that aren't currently displayed

The log display has a number of controls for filtering and parsing the debug log content.

apex logs image

Data Export (GUI Option)

Salesforce Data Export zip files (see Salesforce > Data Management > Data Export) need to be manually downloaded to a local server. The FuseIT SFDC Data Export tool has two options to copy these files to your local server. The first is the GUI option:

Fields

  • Output field: Area for viewing the results
  • File Name Format: How the system will save the export files. The merged field {0} is a placeholder for the export ID text
  • Save Directory: Where the exports are saved on the file system

Buttons

  • Get ID's: Shows a collection of export IDs and enables the selection of individual exports
  • Download: Starts the download to the nominated file location
  • Stop: Halts the current download process
data export image

Data Export (Command Line Option)

While the GUI option above is a one-time download, many customers prefer to use a Windows Task to schedule automated data export downloads. Automated backups are more reliable but they should be checked regularly to verify they are still working. 

The FuseIT.G4S.DataExportConsole.exe application can be executed directly from the command prompt (via cmd window) or the command line can be embedded in a script file that is executed by a scheduled task - see details.

Known Issue

Salesforce acknowledges an issue with some zip files. One customer, downloading 400 files, had been impacted.

data export image

FuseIT Data Export Application

Coming soon ...

FuseIT is building a Microsoft Store application dedicated to selecting, scheduling, and downloading Salesforce Data Export files from weekly data exports. The app will make it very easy to automate the downloads without requiring technical expertise to schedule and monitor the download. We've also added a few features not available in the command line version: 

  • Download Resume: If the download fails the app will keep retrying the download from the point it failed
  • Integrated Scheduling: There is no need to use an external application to perform the scheduled download
  • Automated Application Updates: As new features are included these will be immediately available 

We've not yet completed the app so now is a good time to request features you would like to see implemented. Please contact us and let us know.

Anonymous Apex

From this tab, users can run apex statements directly against the Salesforce org. The Apex debug log output of these statements is also displayed.

Buttons

  • Highlighted Only: Toggle execution of highlighted lines only or the complete script. 
  • Use Tooling API: Toggle to execute in the Tooling API or Partner API contexts.
  • Save: Save to .apex file.
  • Open: Import an existing .apex file.
  • IDE Workspaces: Options for persisting the current script within a Salesforce IDEWorkspace. These are also accessible via the Developer Console
anonymous apex image

Relationships

Use this tab to quickly view the relationships between entities. First, select an entity from the Database Schema section on the left. 

On the right, the top panel shows the master-detail relationships (where the master record controls certain behaviors of the detail and sub-detail record). The lookup relations associated with the entity are shown in the bottom panel.

Fields

  • Master Detail Relationships: Shows any related parent-child relationships where a master object controls behaviors of the detail object.
  • Lookup Relationships: Shows any related lookup relationships where another object is optionally connected to selected object.
relationships image

Code Generation (T4)

From this tab, users can generate strongly typed C# classes that represent Salesforce entities.

Fields

  • Selected Entities: Drag one or more entities in from the Database Schema on the left is used to populate this field
  • Namespace Prefix: Enter the required namespace for the generated classes require.
  • Save Path: The local path for the .cs files.
  • Generate: Create the strongly typed C# classes
Code generation image

WSDL Parser and Apex Generator (WSDL2Apex)

The WSDL to Apex control helps developers deal with many of the problems faced when generating Apex classes from a WSDL using Salesforce’s WSDL2Apex tool.

The parser lets developers point at the required WSDL, select only the web service methods needed, generate the corresponding Apex classes, choose to also generate test classes, and then publish the classes directly into a Salesforce Org via the Tooling API.

WSDL Parsing Features

WDSL parsing is particularly challenging as the published interfaces greatly vary. Over the last 10 years, the parser has been improved based on user feedback. The WSDL parsing features in the FuseIT SFDC Explorer are:

wsdl apex image
  • Import a WSDL from URL or local file.
  • Supports multiple Port, Binding and PortType in the WSDL (calls SOAP based web service at the moment).
  • Support for complex types that extend from a base class <xsd:extension base="tns:Sample">
  • Support for <wsdl:import> which will import the Service Description (e.g. Bindings) from another location.
  • Support for <xsd:import> and <xsd:include> which will import a WSDL schema from another location.
  • Support for <xsd:any> schema element, and converted to "List<DOM.XmlNode>" type in Apex.
  • Support for <xsd:choice> elements.
  • Support <xsd:attribute> elements.
  • Support for nested Complex types in a sequence.
  • Support for nested sequence in a sequence.
  • Support for <xsd:all> element to generate Apex class members and apex method parameters.
  • Support for <xs:simpleContent> elements.
  • User defined class names for each WSDL namespace.
  • Option to replace already existing Apex classes in Salesforce.
  • Ability to select the Apex methods that should be generated. The description of input and output parameters is also provided.
  • Response and Request Apex classes are generated only for the methods included. This reduces the code written for testing Web Service callouts.
  • Apex method filter by name or by CSV (Comma Separated Values.)
  • Warning comments are added to the generated Apex code if WSDL elements are skipped.
  • Syntax highlighter for generated Apex classes.
  • Option available to generate web service callout test and mock classes for Apex classes providing more than 75% code coverage.
  • HTTP mock class for testing will also be generated if Apex methods with HTTP calls are generated.
  • Deploy generated Apex and test classes all at once or one by one.
  • Resolves typical code generation errors produced by Salesforce.
  • Option available to generate HTTP calls in addition to SOAP call in Apex methods.

WSDL Parsing Errors

The FuseIT WSDL to Apex utility resolves a number of error messages described by the "Error parsing WSDL with Salesforce Wsdl2Apex" message.

  • Error: Failed to parse wsdl: Found more than one wsdl:binding. WSDL with multiple binding not supported
  • Error: Failed to parse wsdl: Found more than one wsdl:portType. WSDL with multiple portType not supported
  • Failed to parse wsdl: Failed to parse WSDL: Unable to find binding
  • Error: Failed to parse wsdl: Found schema import. External schema import not supported
  • Apex Generation Failed Unable to find schema for element
  • Error: Failed to parse wsdl: type not specified for attribute
  • Apex Generation Failed: No type specified for element
  • Error: need to modify WSDL with import tags or include tags
  • Enterprise wsdl error: Unsupported schema type: {http://www.w3.org/2001/XMLSchema}anyType

Code Coverage

This tab allows you to view the code coverage of Salesforce classes.

The Percent column is color-coded to indicate if the minimum 75% coverage for the class has been met and the individual percentage shown. On the top row, the org-wide coverage is shown.

Double-clicking a row will open the class and clicking the green double arrow to the right will attempt to find all the test cases that contribute to the coverage of that class. Then it queues those tests up to run.

 

code coverage image

Apex Classes

This tab is similar to the Code Coverage but the Apex Classes tab provides the ability to view, edit, and deploy multiple classes without jumping out of the Explorer and into your preferred IDE.

 

Apex classes image

Metadata Retrieve

From this tab, users can access Salesforce metadata. Metadata  defines the schema of the Salesforce instance and includes the entities, fields, config, page layouts, etc, 

Metadata can be imported, modified, or edited using the Salesforce Metadata API.

The retrieval dataset can be large so users should try to narrow down their retrieval selections.

metadata retrieve image

Metadata Deploy

This tab assists users to build and deploy a Metadata package.

There are granular options to deploy from a file, several files, or a nominated directory. 

Once the deployment files have been selected, the Compare File Hash selection initiates a CRC32 diff of the body of Apex classes, triggers, and Visualforce pages between the local file system and the connected Salesforce org. If anything is different it gets added to the current package ready for deployment. If it turns out the local file is the one that should be updated there is a context menu option to update the local file.

 

metadata deploy image

Diff Orgs

This tab allows users to compare schema elements between the current Salesforce org (the Source org) and a second Target org.

After the two orgs have been chosen the metadata is retrieved from both orgs and placed into the nominated folders where they can be compared using third-party tools.

 

 

diff image

Event Logs

This tab is useful for quickly checking the Salesforce event logs.

The types of events are displayed in the upper panel. Selecting an event type will cause all events of this type to be displayed in the lower panel. The data can then be exported in csv format.

Individual columns are sortable making it easy to find the event you are looking for.

events log image

Reports

This tab lets users execute a Salesforce report from inside the Explorer.

First use the refresh button to load any reports that have been recently executed. Clicking on the Id link will run the report in the lower panel.

As expected, the report can also be exported as a .csv file and used with the likes of Excel

reports image

Metadata Dependencies

This tab queries Salesforce for the Metadata dependency records.

There is also the capability of graphing the relationships using tools like Gephi. Start with a single ID against "Where is it used" and then using the context menus to create a small dataset.

 

Metadata Dependencies image
Join our next S4S webinar!

See the power of S4S in action.

Registrations are now open for
27 October 2020

  • PDT 12:00 pm - 1:00 pm
  • CDT 2:00 pm - 3:00 pm
  • EDT 3:00 pm - 4:00 pm
  • GMT 7:00 pm - 8:00 pm
  • CEST 8:00 pm - 9:00 pm
  • Contact us for other times

Time in Nelson, New Zealand

Our Saturday is Friday in the US

Compare New Zealand times with:

Ready to join the integration revolution?
Get started and enjoy the benefits sooner