Extract your Salesforce Object and Field Definitions.
The app allows you to extract information about your standard and custom fields and objects inside Salesforce to an Excel spreadsheet. This can be useful when analysing your schema. It may be that you need understand an inherited schema or wish to analyse or document the impact of a change across multiple fields and objects.
By having all this information in a single Excel spreadsheet, analysis can be simplified. This investigation could be done using the native Salesforce interface however this can require a lot of navigation between different Salesforce pages showing the different fields and objects. By having a single spreadsheet, all the information is in one place and easily accessible. It can be shared easily with colleagues who do not have Salesforce access. Excel’s find, sort and filtering functions can be used to find, compare and analyse your exported schema data.
‘Field Dump Pro’ is a premium version of the popular ‘Field Dump‘ app that was first released into the Salesforce AppExchange in Dec 2017.
It adds many additional features to the free version including:
- The extraction of more metadata, including Description field.
- Output to Excel, HTML & PDF formats.
- Includes index page to present object summary and make excel navigation easier.
- Single page export mode to allow fields from multiple objects to be presented on one Excel tab.
- Excel includes url links back to Salesforce object and field pages
- Improved support for orgs with large schemas.
- Extracted documents are managed within Salesforce
The app supports both lightning and classic user interfaces. (It looks better in Lightning – all screenshots from Lightning version)
Once installed the app can be launched via the App Launcher. It is listed as its own app called ‘Field Dump Pro’, so just click on it. (In Classic it can be found as a custom tab) .
The app has a single screen for selections. To start your export simply select which objects you wish to extract. These objects can be both custom and standard and can also include external and packaged objects.
Select the objects required from the left-hand box and add them into the right hand side box. The different object types are colour coded: standard = green, custom = blue, packaged = purple & external = red.
There are three different ways of selecting different objects using the three buttons at the top of the screen.
‘Default Objects’ is is a list of common standard objects and all custom objects.
Another option is to take the ‘All standard Objects’ button. Some of these objects are used behind the scenes and are obscure.
A third option is available called ‘Select Defined Objects’ which allows you to maintain a list the objects you’re interested in a custom setting. If you always export the same objects then this option is worth setting up.
Note that the selection boxes work with a max of 1000 objects. If you require objects outside of this first thousand (some Salesforce editions allow upto 2500 custom objects), then use the defined objects option after populating required object api names in the custom setting.
Before starting your export there are some other optional settings that can be selected.
- Picklist values can be optionally exported
- There is a separate option to export additional metadata. This includes description and created and modified information for custom fields.
- Field layout information can be optionally exported. This will indicate if the field is present on the objects detail page layout.
- The default mode will extract each object to a separate Excel tab, but this can be changed with ‘Show All Objects on One Sheet’. This will dump all objects to one worksheet tab. This can be useful if you’re doing cross object field comparison because all of the field details will be on one worksheet tab and you can complete easy filtering and sorting.
- You can choose your own file name for the output file. A timestamp is always appended to the file name.
- There are options to split this schema over several workbooks – Use ‘Object Per File’ if you have a very large org and are trying to export many objects.
Once selections have been made, press the ‘Dump Selected Objects to Excel’ button’ and in the background the process will start to extract the metadata and create the spreadsheet. A couple of seconds after the button has been pressed, the file will be generated and appear in the document list at the bottom of the app page. From here you can download the file and open in Excel. In the document table you can see the name of the file, the date it was created and its file size. If you hover over the objects icon, you will see a listing of the objects contained in that extract.
Pressing the download Icon will download the file through the browser so you can open up in Excel.
Extracts are saved as files in Salesforce. This means you can easily retain and access previous extracts. There are options to delete individual or all extract files if they are no longer needed.
Once you’ve created an Excel file it is possible to convert that file into other formats.
HTML: This can be useful if you don’t have Excel or you wish to share that information via a website. Just press the ‘convert to HTML’ button on the document row and a few seconds later the HTML document will show in your document list.
Again, you can use the download link to download the HTML file.
You can additionally convert a HTML file to PDF so just press the button on the HTML version and then a few seconds later a PDF version will be be will be shown in the document list.
When opening the generated Spreadsheet, if you have exported more than one object, the first tab will be an index page. It will present a listing of every object in the workbook. At the top of the sheet useful information about your org, including its name, edition and domain url and the date and time of export is shown.
The index page can be useful for navigation – pressing the blue link in first column (Object API Name) takes you into Salesforce object page and the purple link in the second column (Object Label) navigates to the Excel tab for that object. Each object is then listed in its own line.
For each object there is information presented about some of its features including if it is custom, if history tracking or reporting is activated. The object prefix id, sharing model and counts of the number of fields, custom fields, layouts and record types are presented.
The description of any custom objects is shown if present.
Object Information on Index Tab:
- API Name
- Object Label
- No. of Fields
- No. of Custom Fields
- Id Prefix
- Is Custom
- Sharing Model
- No. of Layouts
- No. of Record Types
- Is Custom Setting
Object output will be a presented in its own excel tab / worksheet with a row presented for each field. Back links are provided so you can navigate to the field detail page in Salesforce. You can also easily navigate back to the excel index tab from an object tab.
The following field properties are presented:
Field Level Information:
- Api Name
- Field Label
- Field Type
- Business Status
- Business Owner
- Is Custom
- Is External
- Is Unique
- Is Default on Create
- Is Formula
- Is Required
- Is Dependant Picklist
- Is Restricted Picklist
- Is Case Sensitive
- Is Indexed
- Is History Tracked
- Formula Text
- Help Text
- Default Value
- Default Formula
- Relationship Name
- Picklist Values
- Field Id
- Security Classification
- Created By
- Created Date
- Last Modified Date
- Last Modified By
- Layout Info
Some metadata fields are only populated for custom fields.
Custom Settings for Pre Setting what objects can be selected.
The tool has an object selection method that uses values setup in a custom setting. You can set up a list of objects that are commonly exported.
The custom setting is called ‘Objects To Dump’
Setup->Custom Code->Custom Setting
ObjectsToDump – Manage.
Add a record to the custom setting for each object that should be listed. In the name field add the API name of the custom or standard object.
Setting values in the custom setting will activate the ‘Select Defined Objects’ button.
Pressing this will add your entered objects into the Available Objects section. You can use dataloader with a simple csv file if you need to add several objects to the custom setting.
Because the app is native it has to work within Salesforce limits and this can be a challenge when exporting many objects.
Every schema will be different in terms of the numbers of custom objects and the number and types of custom fields they contain. I.e. a schema could have upto 2500 custom objects with 800 custom fields or could be lightly customised, so performance can vary considerably. We have tried to make the app as efficient as possible. As a very rough guide we have benchmarked successful exports of upto around one hundred custom objects in single workbook.
The generation of the excel sheet can be intensive. It can take upto 30 seconds for a document to be produced. Salesforce apex limits are enforced and this means you can’t always produce a complete export. If limits are hit a partial export document will be delivered. The document title is modified to start ‘Error’ and a message is shown in the workbook.
If limits are hit and an incomplete extract is generated use the ‘Objects per File’ method to split the extract over several different workbooks. Also consider only exporting the objects and fields you really need. Performance will be improved if optional layouts, picklists and additional metadata fields are not exported.
You may need to keep reducing the ‘Objects per File’ values to get a successful export. Again this setting will depend on what you are trying to export and what your schema looks like. When multiple extract docs are produced the title of the documents indicate the split 1/5, 2/5 etc.
Operation Under the Hood
The app is native and written in Salesforce apex. It uses standard apex schema describe calls to extract metadata. This is then enriched with data obtained from the Salesforce tooling api. Processing is 100% completed on your own Salesforce org. No data records are accessed. No off-Salesforce processing, services or storage is used.
Please have a process around the security and distribution of the extracted files once they are downloaded from Salesforce.
AppExchange listing: https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FR4MfUAL
Alternative Short Link: bit.ly/FieldDumpPro
Install Guide: https://www.p0p.co.uk/field-dump-pro-install-guide
Feature Comparison: https://www.p0p.co.uk/field-dumper-vs-field-dump-pro/
The app is available to review for free for 15 days.