Friday, August 12, 2022

Salesforce Grid Refresher

Salesforce does not offer the capability to auto-refresh list views (without clicking the Refresh button on the list view or refreshing the browser), so come to vote for this idea exchange, 20,840 points as of 12 Aug 2022.

The workaround is to add this Chrome extension called Salesforce Grid Refresher, it is a simple extension that does the job, which is the refresh all list views every 1 minute, and yes, you can't adjust it :(

Note: since version 1.5, you can adjust the refresh interval from 5 seconds to 15 minutes. Great job to the developer and thanks for listening.

This tool is particularly useful when you need to monitor a list view, such as new cases created or assigned.




This extension is working in the standard Lightning app and console app too. 

Get it from here! The current version of this blog is written: 1.4 (18 Apr 2021).





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: