A Data Dictionary is an important part of any enterprise level system. It describes every object and field in a Data Model. It is an invaluable artifact of any development project. However it has a severe Achilles Heel. It is a document that is only accurate for a short time. As with any static document the moment it is published it starts to become “stale”. What I mean by that is that the document starts to lose value and accuracy once the system or data model it describes starts to change. To counter that inevitably some engineers and product owners choose to manually keep the document up to date and current. However even with the best processes and policies this just delays inaccuracies from creeping in. My approach to managing a document like a Data Dictionary is to do two things. One automate the generation of a Data Dictionary and two avoid having a Data Dictionary. I know those two things are counter to each other but let’s look at both. As a technical person it can be tedious to work with a static document. Of course if it’s a Google Sheet you can filter, sort, and search the document however the extent of the information in the document is finite. There is no way to create a technical document that can answer all technical questions to a satisfactory degree. Therefore for technicians and engineers the document really serves as a guide and once the individual has a handle on the data model patterns it is often not needed. What is needed are tools and processes that allow you to query and manage the Data Model dynamically. Of course there will always be a need to have a static document especially for personel like trainers, technical writers, managers, etc. That is why I would recommend generating a document as needed or having a automation that is triggered upon changes in the SFDC org. For people that need specific technical detail I recommend developing a toolbox approach to working with the Data Model. Below are some of the tools that I use to develop, build, and manage the Data Model.
https://www.pocketsoap.com/osx/soqlx/
Mac OSX ONLY: SoqlX is a tool for developers using the Salesforce.com platform, it allows you to easily explore your schema, write and run SOQL queries, make edits to data, and to run Apex code.
***** (5 stars) This is probably the most valuable tool for querying data in SFDC. It supports both SOQL and APEX. I would qualify this as an absolute install if you have a Mac or access to one.
https://workbench.developerforce.com/
Workbench is a powerful, web-based suite of tools designed for administrators and developers to interact with Salesforce.com organizations via the Force.com APIs. Workbench includes robust support for the Force.com Partner, Bulk, Rest, Streaming, Metadata, and Apex APIs that allows users to describe, query, manipulate, and migrate both data and metadata in Salesforce.com organizations directly in their web browser with a simple and intuitive user interface. Workbench also provides many advanced features for testing and troubleshooting the Force.com APIs, such as customizable SOAP headers, debug logs for API traffic, backward compatibility testing with previous API versions, and single sign-on integration within the Salesforce application.
Workbench has been the saving grace of many Salesforce developers. It is a web based application so there is no installation and also doesn’t matter what OS you are using. It provides similar functionality to SoqlExplorer and then some. It is a tool well worth knowing and having in your toolbox. The one downside is that it does require you to constantly login. Once your session times out you will have to re-authenticate. It’s not too bad if you use it occasionally but can really slow you down if it’s your exclusive query/management tool. If possible rely upon SoqlX and use Workbench as a backup.
https://cloudtoolkit.co/
Tools and applications that provide assistance for common consulting processes and tasks - from diagnosing your org, comparing environments to activating and deactivating Salesforce components.
This tool is very handy for doing things like; comparing orgs, data compare, describing schema, creating fields and packages, and apex dependency listing. It’s free and does a very good job.
Access via Salesforce Web UI > Settings
The Object Manager is a streamlined tool that lets admins access object management settings for both standard and custom objects. Object management settings include customizations like fields, page layouts, and compact layouts. The Object Manager is available only in Lightning Experience.
To access the Object Manager, login to Salesforce. Click the gear in the upper right corner of the page and select “Setup”. This will load the Setup page and the Object Manager is the second tab labelled “Object Manager”.
In order to login to your org with this tool or generally any external connect to SFDC, you will need to generate a Security Token. See the link below for instructions on how to get your security token. FYI anytime your password changes, account reset, or reactivation of an account a new security token will need to be generated.
https://help.salesforce.com/articleView?id=user_security_token.htm&type=5.
Typically the url you would use when connecting an external application to SFDC is either; test.salesforce.com or salesforce.com. The test.* url will connect to the sandbox your username is associated with. The other url is production and is probably not the instance you want to be using in most cases.
UID: use your SFDC username.
PWD: your password is your SFDC password concatenated with your Security Token
(no spaces between the strings. `<sfdc-password> + <security-token>`)
https://developer.salesforce.com/docs/api-explorer
Looking for a SFDC API? Go here.
https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_quickstart_intro.htm
Salesforce provides programmatic access to your org’s information using simple, powerful, and secure application programming interfaces.
https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_what_is_rest_api.htm#!
REST API provides a powerful, convenient, and simple Web services API for interacting with Lightning Platform. Its advantages include ease of integration and development, and it’s an excellent choice of technology for use with mobile applications and Web 2.0 projects. If you have many records to process, consider using Bulk API, which is based on REST principles and optimized for large sets of data.
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_dev_guide.htm
Salesforce has changed the way organizations do business by moving enterprise applications that were traditionally client-server-based into the Lightning Platform, an on-demand, multi tenant Web environment. This environment enables you to run and customize applications, such as Salesforce Automation and Service & Support, and build new custom applications based on particular business needs.
https://developer.salesforce.com/docs/
Access to everything you need to know to develop applications and components in the Salesforce platform.
https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm
Use the Salesforce Object Query Language (SOQL) to search your organization’s Salesforce data for specific information. SOQL is similar to the SELECT statement in the widely used Structured Query Language (SQL) but is designed specifically for Salesforce data.
https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/data_model.htm
The entity relationship diagrams (ERDs) for standard Salesforce objects in this section illustrate important relationships between objects. Salesforce ERDs use crow’s foot notation.
https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_list.htm
This section provides a list of standard objects and their standard fields.