CMDT Enhanced Related List

A Salesforce Labs Component. Get it from here https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FYDY4UAP.

Overview

Meant to be a replacement for the long awaited Filtered Related Lists. 

I don't have much good to say about this component. Sorry. I would say, probably don't waste your time. Stick with Doug Ayers' idea for No Code Filtered Related Lists (and Jen Lee's great blog post explaining) or go back to Visualforce and style it as Lightning. Don't try and build this with Lightning Components yet as there are no Base Components for list data yet. Other options are to add a Report Chart to the page, or a Hyperlink to a report with filter values in the URL. 

Background

We have been waiting for official filtered related lists for so long. A year ago we were presented with these two mockups and asked to pick one. The resounding answers seemed to be filters. If that's what they can give us, I would be really happy! At one of the True to the Core sessions I went to a Dreamforce we were told that we needed Lightning to be able to get Filtered Related Lists. So, we've had Lightning for 3 years now, where are our Filtered Related Lists!?! In April this year, they confirmed that Filtered Related Lists are coming ! All of those things, anything to do with Related Lists are now in production or in the Winter 19 release notes! What's happened to Related Lists, why have they been neglected? 

All I can do is hope that they've excluded stuff in the Winter 19 preview release so they have cool things to announce at Dreamforce, but how that could actually happen in practice is almost impossible. 

So, is that what this Labs app is for? To tide us over until maybe Spring or Summer 19 before we actually get proper Related Lists? To get some stats on how we would use Filtered Related Lists so they can see if people actually want them? (Well that was Rob's theory, but I'm not sure I subscribe to that. The whole premise of SteveMo's idea about ideas was because of ideas like this that have languished for so long). 

Setup

Ok, so setup is fairly straightforward. Make sure you have MyDomain set up (why is MyDomain NOT set up on your org yet?), install the Component, Enter the CMDT data, place the component, fill in the settings and voila! Follow the steps in their documentation (why it's presented as slides in a PDF I don't know!) 

Now, Creating CMDT records is a PITA. I would highly recommend using Enabler4Excel (XLConnector) for this. When setting up the order, always use 10, 20, 30 etc so you can quickly add a new field in later. 

You will get the field names wrong, but the component will tell you in a big red box that you have got them wrong. 

Limitations

So, they say that this whole CMDT is set up so they can build a SOQL Statement. There is a limitation where you can't format dates and currency and a limitation where you can't see the Name of Lookup Relationships - you have to build a formula field. 

Now if I can use FORMAT() in SOQL and return Lookup__r.Name in a SOQL statement, why can't I do that here. This is hugely limiting and requires so much more setup just to do a simple related list. 

Without Formulas I get a Related List that looks like this

They have this great feature of overriding the New Button so you can pre-fill field values. You can do that with a simple Quick Action, yet they don't allow you to use Quick Actions to Override - such a limitation. Why do I want to create a whole new Lightning Component to do something that a simple Quick Action can do!? (See Actions! Global and Quick Actions). 

The list is not automatically refreshed, so include the refresh button. 

Good Things

  • The Badge feature is nice. I would love it to be a multi-coloured badge though - eg Red for No, Green for Yes. Similar to what the Weathervane app did in Classic. Also it needs a formula field which is more overhead again. 
    • If they can do fancy javascript rendering of a field for this, why can't they do some simple formatting for dates and currencies that way too? 

Issues

  • Links don't open in new tabs! This is a definite reason why I won't be using this app. We waited so long for Lightning to have links open in new tabs, I can't introduce links that don't open in new tabs - users expect it. 
  • The CSS is not the same. Now, you are going to think that I'm being a little pedantic about this, but this is also why I would never use a custom VF list on a page layout in Classic - it just doesn't look the same and the users don't understand why and it just grates at them every time they use the page. 
    • Image showing standard related list and this filtered related list. 
      • Icon is good, text is pretty good. 
      • Header is acceptable, but the font is slightly more spaced out than standard
      • Lines don't go all the way to the left hand side
      • Colour of hyperlink is different
      • No underline of hyperlink - that's because of the limitation of no hovers on this custom app
      • New button looks different

                                          

Minor annoyances

  • Half the setup is in CMDT, half the setup is in the Component. It's just annoying to know where to go to set things up.
  • If you don't chose an icon the space is still shown. 
  • You can't choose to have the title but not the New Button. It's show the whole header, or nothing.  
  • Create Record asks you to set the RecordType in the setup but then you still have to select the RecordType

Recommendation

I would say don't use this. Mainly because of the setup involved that is only used for this component and would then need to be undone again when the real component is released. If you are going to do that level of setup for a filtered related list, then I would probably still go Doug Ayers' route because then you will still get open in new tab, correctly displayed fields and the component will render the same as the other components on the page.