Introducing Diffy2000: a cross-platform desktop app for comparing differences (object, field-level, and system permissions) between Salesforce Profiles && Permission-Sets
Diffy2000 is a cross-platform desktop app built using Electron JS. It allows the user to provide a 1-time client_id (available in any org for free by creating a Salesforce ConnectedApp) and then enables them to authenticate to any Salesforce-org they have access to and be rest-assured that their client-credentials live safely on their device and only temporarily (before needing to re-authenticate).
For Access … email salesforcebugs@gmail.com and provide your required build in the subject (Windows x32, Windows x64, Mac, Linux)
Why did I build it (and why make it a desktop-app?)
One of my top 3 annoyances over my Salesforce career (while constantly developing and administering in new Orgs) is the hassle of determining which profiles or permission sets grant what access and how they compare to others in a particular Org. I’ve used a free chrome-extension that has similar functionality but I always have too many chrome tabs open (Chrome is a memory hog) so I wanted a desktop version and I wanted an excuse to finally try out Electron JS (I might blog about my learning experience and views of the library).
Diffy2000 Benefits
- Quickly pull-up and compare object, field, or system permissions for PermissionSet or Profile in any Org you have login credentials for
- Easy to use && install (1-click installer)
- Rest-assured that your login credentials are secure and local to your device instead of in the browser/chrome extension (your credentials are cached short-term on your device)
- No logging or any other callouts so all your data is isolated locally and no read/writing to your local device.
- Great performance
Diffy2000 Drawbacks
- requires installation (if there’s enough interest I may consider a chrome-extension)
- app-size (notorious drawback of the Electron JS library is the base package size)
- currently only have the following installers: Windows x32, Windows x64, Mac (zip). If there is sufficient Linux interest I might install the necessary software on an older Mac device in order to create the installer.
- requires a client_id of a Salesforce ConnectedApp (anyone who does any sort of integration development with Salesforce has experience with these) … so a little extra initial setup BUT the user only needs to provide it once.