Installation and Configuration of Tagger from the AppExchange

  1. Go to the Salesforce App Exchange and search for Tagger, from the App Store click “Get it Now”
  2. If you are not logged in to the AppExchange, click to Login and “Allow” access to Salesforce.
  3. If you are in the AppStore within your Salesforce org, you will be redirected to the full AppExchange website to complete the install process.
  4. Choose if you would like to install the package in your Sandbox for testing, or your Production Org.

  1. When installing Tagger from the AppExchange, it’s recommended to choose: “Install for All Users so that Apex Class access for the Lightning Components does not have to** be manually assigned through the “Tagger User” Permission Set

OR Manually Grant Access to Tagger End Users via Permission Sets

The only permissions needed for a front-end User to use Tagger are the Apex Class permissions for the Lightning Components. The Apex Classes are automatically added to all Profiles if you choose “Install for All Users”. If you did not choose “Install for All Users” and want to assign permission manually, you will need to add the “Tagger User” Permission Set to the necessary Users:

  • Setup -> Permission Sets -> Tagger User -> Manage Assignments -> Add Assignments

OR Manually Grant Access to Tagger Setup via Permission Sets

If you choose “Install for All Users”, the Tagger Setup tab and associated Apex Classes are visible to all Profiles. However, any User without the “Customize Application” Permission (permission needed to create Custom Objects and Fields) will receive an error message when they click on the Tagger Setup tab. If you did not choose Install for All Users and want to assign permission manually, you will need to add the “Tagger User” Permission Set to the necessary Users:

  • Setup -> Permission Sets -> Tagger User -> Manage Assignments -> Add Assignments
  1. The last step is to assign Tagger Licenses to each User that needs to use the app (whether front-end Tagger Lightning Component or backend Tagger Setup tab):
  • Setup -> Installed Packages -> Manage Licenses (on left of Tagger row)

CONGRATULATIONS, you have successfully installed the Tagger app—the app that will make quick work of tagging any (most!) standard and custom object records with important tags, that you can report on!

Next, let’s learn more about Tagger, and go over some of the solution design so you can surprise and delight your end users with how easily they can now tag any record in Salesforce.

Technical Description:

Tagger is a lightweight Lightning Component that can be placed on Lightning Record Pages (using the Lightning App Builder) to easily add and remove Tags (junction object records) between the current Source Object record and Target Object records. Tagger is completely admin-customizable, with no development required. And because the Tags are stored as junction objects, they are easily reportable through standard Salesforce reporting (unlike other common solutions like multi-select picklists or standard Salesforce solutions to tagging).

Technical Architecture:

A. There are 2 Custom Metadata Types (CMDT) included when you install Tagger. These CMDT records will help you setup the admin-defined customization of Tagger. After installing the package into your Salesforce Org, navigate to Setup > Custom Metadata Types. (You can type the text “meta” into the Admin Menu Quick Find as a shortcut!) Go ahead and navigate to the Custom Metadata Types page in Setup, so you can view these as we discuss what they do.

New Custom Metadata Type
Action Label Installed Package Namespace Prefix Visibility API Name Record Size Description
Manage Records Tagger Component Tagger Tagger Public Tagger__Tagger__mdt 506 Defines the Source Object on which the Tagger resides and the general configuration of the Tagger.
Manage Records Tagger Target Filter Tagger Tagger Public Tagger__Tagger_Object__mdt 1857 Defines the Target Object the Tag Object connects to from the Source Object and the customization of the Target Object search and Tag Object creation.

  1. Tagger Target Filter: This Custom Metadata Type will capture details on :

a. The Source Object

i. What object will the Tagger be placed on?

ii. This is where your Tags will be saved

b. The Tag Object

i. This object is the junction object (or joiner object) that should be created by an Admin in your org using Tagger Setup or using standard Admin Setup. It will have Lookup Relationship or Master-Detail Relationship fields connecting to both the Source Object and Target Object

c. The Target Object

i. This is the object in Salesforce which will be searched for and to which the Tag records will connect the Source record.

d. Query Options

i. SOSL vs. SOQL Search

ii. Target Filter

ii. Suggested Target Records - Last Modified, Last Viewed, or Custom

iv. Target Search Limits

v. Target Order By

!


  1. Tagger Component: This Custom Metadata Type will define the Source Object on which the Tagger resides and the general configuration of the Tagger. a. Title - This will be the title displayed on the Tagger Component when you initially drag and drop the Component onto the record page in Lightning App Builder b. Source Object - The object where the component will be placed, and the object record page that end users will be adding tags to. c. Display Type: pill vs. tile d. Save Mode: immediate vs. confirm (with save) e. Icon Name: select which SLDS icon you want to display next to the component title, or you may leave as “None”. f. Hide Option - If only one Tagger Target Filter will be leveraged on a particular Tagger Component, you can select this checkbox to hide the “dropdown selection” icon from the component itself (since only one Tagger Target Filter is available to pick from). g. Target Object Navigable? - This setting determines whether Users can navigate to the Target Object record by clicking on the tag pill or tag tiles. h. Read Only? - This setting will dictate if Tags should be Read Only, meaning end users will not be able to add or delete the tags on a record, only view them.

❖ Multiple Tagger Components can be defined for the same Source Object.


B. There is 1 Lightning Component called “Tagger” which is found in the “Custom-Managed” section of the Lightning Components list within the Lightning App Builder (look near the bottom of the list). The Tagger Lightning Component can be placed anywhere on a Lightning Record Page. We like placing it somewhere easily visible and intuitive for end-users to utilize the tagging functionality you are building for them.

Tagger Lightning Component displays 1 simple picklist of your CMDT “Tagger Component” records that match for the Source Object of the Lightning Page you are editing. (E.g. - If you are adding Tagger to your Contact Lightning Layout, you will need a CMDT Tagger Component where the Source Object = Contact)

❖ All other customizations for the Tagger are controlled within the CMDT “Tagger Component” and “Tagger Target Filter” records.

C. There is 1 Tab and Lightning Component called “Tagger Setup” which can be found by navigating to the Tagger Setup tab. Tagger Setup walks Admins through creating and/or finding the architecture needed to take advantage of Tagger. This includes creating and connecting the needed Source Object, Target Object, Tag Object, Target and Source Lookup Fields on Tag Object, and the Tagger Component and Tagger Target Filter Custom Metadata Records. ❖ Note on Standard Profiles: For any Custom Object created through it, Tagger Setup automatically adds Create, Read, Update, and Delete permissions to System Administrator and Custom Profiles. However, since Standard Profiles cannot be granted permissions to Custom Objects, if you use Standard Profiles, you will need to add the Create, Read, Update, and Delete permissions along with Read and Edit Field Permissions for the new Custom Objects to an existing or new Permission Set and assign it to those desired Users with Standard Profiles.


❖ Note on Tabs: If you chose to automatically create Tab(s) for a new Target Object and/or Tag Object, those “Default On” Visibility was added for those Tabs to the System Administrator, the User’s Profile creating the objects through Tagger Setup (if Custom Profile), and the first 8 Custom Profiles ordered oldest to newest. Because of a Salesforce quirk that we hope is fixed soon, Tab Visibility set to “Default On” through the Metadata API is not properly visible, and Admins will need to navigate to each Profile where the Tab(s) should be visible, go to “Object Settings”, go to each Object, click “Edit” and then immediately “Save” with no changes (leaving Visibility as “Default On”). The Tab(s) should now be visible.