Thursday, August 11, 2022

Maven Tools for Salesforce

Another complete tool for Salesforce admin/developers. This extension is huge, if you are a Salesforce Inspector user, you will like this tool too. 

the Quick Access menu

Some of the features:

  1. Search users from the Quick Access menu, including inactive users (Salesforce Inspector does not support searching inactive users)
  2. Continue from (1) - Login As, open user detail, open role, open profile, reset Password, deactivate user, new user, add multiple users.
  3. The Quick Access menu will detect and show information based on the current page. On a record page, it will show the system info, from Id, Name, Created By, etc. On other pages, will default to search.
  4. Continue from (3) - Create New, Clone, Edit Object (does not go to the field tab as Salesforce DevTools, Edit Page Layout (does not tell which page layout is used for the current record)
  5. Query all fields from active record open into Query Editor
  6. Query Editor, support multi-tabs, auto complete (as in Salesforce Inspector), save query and open saved query, export result to CSV file, but not to update/insert record as Salesforce Inspector do.
  7. Record Data, show all fields: API Name, Label, Type, Value, etc.
  8. Object Details include export object details, fields, child relationships
  9. And more...



Tips: if you can't open the dashboard by clicking the icon in the Chrome extension toolbar (after restarting the browser or computer), try this link. The same applies to the Quick Access menu, you may need to restart the browser or computer.

Get it from here! The current version of this blog is written: 1.3.6 (3 May 2022).



EasyCrud

Assign your CRUD and FLS for Salesforce in Bulk from Single Screen. This extension allows Salesforce Admins/Developers to assign CRUD and FLS Permissions from a single screen. There are also features that provide the ability to export permissions in CSV and also generate a dashboard for the permissions.

This is a must-have Chrome extension, for setup and troubleshooting issues related to Salesforce objects and fields access. Once the extension is added, restart your Chrome or Edge browser.

When opening an object in the object manager, you will notice 2 menus are added at the bottom of the left panel, Object Permissions and Field Permissions. if you do not see the menu, wait for a few seconds.

Object Permissions

Show in a matrix of Profiles and Permission Set versus Permission (Create, Read, Edit, Delete, View All, Modify All). You also can filter the Profiles and Permission Sets by the Permission (Create, Read, Edit, Delete, View All, Modify All, Profiles, Permission Sets, and Permission Sets Groups). 

You can make access changes from here by ticking/unticking the checkbox and then clicking the Save button. Additionally, click Export to get the data in a CSV file.



Field Permissions

Similar to Object Permissions, but for fields in the object. Show in a matrix of Profiles and Permission Set versus Permission (Read, Edit). You also can filter the Profiles and Permission Sets by the Permission (Read, Edit, Profiles, Permission Sets, and Permission Sets Groups). 


Similar to Object Permissions, you can make access changes from here by ticking/unticking the checkbox and then clicking the Save button. Additionally, click Export to get the data in a CSV file.


Get it from here! The current version of this blog is written: 2.0.0 (4 Aug 2022).




Wednesday, January 5, 2022

Salesforce DevTools

Salesforce DevTools – a powerful Chrome extension for Saleforce.com developers. Although it mentions that the tool is for developers, but Salesforce admin and power users can make use of this tool too for daily productivity.

As per the document here, features from this tool:

  • Quickly access to new record page, list page, and object setting page.
  • Exporting Objects Fields, Page Layout, List View Definition as Excel
  • Generating Salesforce data model (ERDs) as SVG file
  • Fully GUI Query editor for generating SOQL and exporting as Excel
  • Show/Hide object API name on the object detail page with 1-click.
  • All check on profile edit and field permission edit page.

Once this extension is installed from here, you should see a "T" icon shown in the list of your browser extensions.


Note: the extension can be used in the Edge browser too.

If you have not used Salesforce inspector, you should try it, as both tools are complementing each other.

To use the tool, simply click the icon and you will be presented with a list of menus. The tool detects what Salesforce page that you are in, and it will show different menus based on the active Salesforce page opened, if you are not opening a Salesforce page, no menu will be shown.

Home Page

Tab / List View (object auto selected)

Record Page (available show/hide API Name)

Search Objects 

This feature is available on all pages, the purpose is to search for an object or multiple objects, and work on it.


What you can do here?
  • Click + (New) icon to create a new record, even no tab is created for that object, it simply opens a URL such as https://domainname.lightning.force.com/lightning/o/objectname__c/new
  • Click the List icon to open the list view page for the object, it simply opens a URL such as https://domainname.lightning.force.com/lightning/o/objectname__c/list
  • Click the gear (Setting) icon to open the Fields & Relationships page for the object 
  • Click ? (Object Reference) icon to open documentation for the object, only for standard objects.
  • Click the Export button then select items that you want to export, but before that, you need to select an object or multiple objects:
    • Objects Definition
    • Objects Fields Definition
    • ERDs (svg) -- ideally should select a few related objects to see their relationship
    • Page Layouts
    • List Views
  • Click the green (Query Editor) icon to display the query result, or to export the result to an Excel file. The query editor supports field name auto-completion, including after where. You also can use the parent relationship queries syntax here.


Show/Hide Object API name

If you are on a record page, you should see "Show Object API Name" as the first menu, by clicking this, the field API name will be added after the field label name.


If you do a query from the record page, the query will automatically add WHERE Id = 'xyz', the xyz here is the record Id of the opened record. You can select all fields by clicking the checkbox before "Field Label"


Object Defenition (FULL)

Export Object Defenition (FULL) will export all items below to an Excel file:

  • Object Defenition Detail
  • Fields Definition
  • Fields Level Security by Profile
  • Validation Rules
  • Workflow Rules and Actions
  • Apex Triggers


Export Page Layout will export only page layouts that are only assigned to your profile, not all page layouts in the system. But, it will include:

  • Field Label
  • API Name
  • Data Type
  • Position Column
  • Readonly (in page layout)
  • Required (in page layout)
  • Note
  • Related List with columns


Current version: 3.8.0 - 4 April 2021



Wednesday, December 29, 2021

Salesforce Sandbox Version

Shows your salesforce sandbox version next to your sandbox host, this is very useful when a preview release is available in the sandbox instances.

Tired of having to manually look at what version your sandboxes are?  Well, let a computer do all that tedious work for you! This extension will load an icon and alt text next to your instance name so you can see if the sandbox is a spring/summer/winter instance.

Get it here!

Tuesday, September 7, 2021

Profile and Permission Set Helper (2)

Almost 3 years ago, I blog about an app called Profile and Permission Set Helper from Salesforce Labs. This app helps you to convert existing Profiles permissions in your org to Permission Sets, when I wrote that blog, the app was still at version 1.5.

Fast forward 3 years later, now the app is on version 2.28, in addition to helping you to convert from a profile to a permission set, it also has a new feature called Permission Analyzer, here is the description of the app

Analyze by a permission to view the list of profiles and permission sets that contain it. You can also analyze by user to view a summation of all permissions assigned to a user. View which specific profiles or permission sets contain a permission. Understand your permissions structure with just a few clicks and keep your permission assignments up-to-date.

In my use case, I have a user that suddenly has edit to all accounts, although the user profile doesn't have Modify All on Accounts, so what is the caused?

Using Permission Analyzer, I look up that user then drills into Account object and see how the user gets Modify All permission on Account.


In the above sample, the permission set name is a clear "Modify Acct", so you can guess what is inside the permission set, imagine if that permission is called "View Campaign", at a glance, you will not guess that permission set has anything to do with Account.


However, if you are good with SOQL, you can get almost the same result using query

SELECT Id, SObjectType, Parent.Label, Parent.IsOwnedByProfile
FROM ObjectPermissions
WHERE PermissionsModifyAllRecords = True 
AND (ParentId IN (SELECT PermissionSetId FROM PermissionSetAssignment WHERE Assignee.Name = 'Hello User'))
AND (SobjectType = 'Account')
ORDER BY Parent.IsOwnedByProfile DESC, Parent.Label

Result



Reference:



Saturday, May 30, 2020

CMTD Enhanced Related List

In Summer 19 release, Salesforce introduces Enhanced Related Lists. Enhanced List offers more features compared to the older Basic List or Tile option.

Enhanced Related Lists features:
  • Set the number of records to display in the related list
  • Show list view action bar
  • Refresh button
  • Wrap text in the column
  • Resize and sort columns
  • More than 4 fields on the related list (compare to the Basic List)

Tile

Basic List

Enhanced List


But, to filter related list, you have to click "View All" at the bottom of the related list, then click the Filter icon, from there, you can add quick filters to the related list with Filter icon. Related list quick filters act similarly to list view filters except they aren’t saved, persist only throughout your current session, and can’t be shared.


CMTD Enhanced Related List is a “Custom Metadata Type Driven” custom lightning component that provides enhanced features to display related list records in Lightning App.

The component supports configurable filter, sort, and fields to group relevant records together. It supports List and Tile mode with the Lightning look and feels. Use Badge UI Override to highlight important fields to the user.

Use and configure these components on any child objects and boost your lightning implementation. Configure the Filter, Sort, and Fields on this reusable component on any lookup records to group relevant records in a single page (eg: Open and Closed Cases).

First, you need to install this component from AppExchange, as per the Lightning component requirements, you need to enable my domain.

Below is the 3-step process to start using this component:
1. Create configuration data records in the Custom Metadata Type
2. Drag and drop the component in the App Builder
3. Configure component attributes to suit your design

1. Create configuration data records in the Custom Metadata Type


- From the setup menu, go to Custom Metadata Type 
- Click "Manage Records" on Custom Metadata Type created as part of CMDT installed package.
- Click the New button and enter the info, see sample below:


All the above fields will be shown in the CMDT Lightning component. here is the basic explanation:
- Enhanced Related List Name: imagine this as API field name, so not really use in layout
- Label: this would be header label in the table
- Related List Name: this should match with Related List Name in the component
- Field API Name: this is to match values to retrieve from this field
- Order: from left to right
- Target API Name: add value here will allow the user to click and open the record


2. Drag and drop the component in the App Builder
Edit the lightning page and looks for the "CMDT Enhanced Related List" component under Custom - Managed.


3. Configure component attributes to suit your design
Once the component added, click the component to configure it.


In the sample screenshot above, the component added to the Account lightning page:
- Related List Name: this is the same value configured in the Custom Metadata Type 
- Filter is configured in the component, not in Custom Metadata Type 
- Record sort also configured in the component, not in Custom Metadata Type 


Here is the final result:




Type: Managed Package; AppExchange

Paid/Free: free

Publisher: Salesforce Labs


Version: 2.6.0


Blog last updated: 30 May 2020