Salesforce Spring 21 Features – Experience Cloud (Communities), CMS and Salesforce Anywhere
Spring 21 starts hitting instances this weekend and this is our 7th and last release write-up! This one will wrap-up this monster release (although, there was still more to cover, it’s just impossible to write about everything these days). For this post we’re going to focus on the collaboration features of Salesforce: Experience Cloud and Salesforce Anywhere. If you don’t recognize either of those product names, check out our first bullet that goes over all of the branding changes happening here. It’s a cold day here outside of Boston and I’ve got some UNKLE and Dusted playing on Spotify, so it’s basically blogging time. Let’s jump write in. As always, the order is a bit random. Here goes.
Experience Cloud (Communities) & Salesforce CMS
Branding Changes – It’s not a new feature, but Salesforce is officially changing most of the brands around Community Cloud. This is happening across all of the clouds, but Communities is changed more than the rest (we could write a blog post just to list all of the branding changes this release, and it’d be pretty long! [Editor’s note: We wrote a blog post recapping all the recent branding changes!). Enough has changed that they give a handy little table in the release notes so you can translate the old terms to the new terms. I’ll use the new terms going forward, but here’s what’s changing branding wise:
Community Cloud is now known as Experience Cloud
The Community itself is now known as simply a Site. This goes for whether it is a public community or an authenticated one. They are now all Sites and they can be public or authenticated.
The Lightning Builder is now known as the Experience Builder
The Lightning community template is now known as the Experience Builder template
Lightning community theme is now known as the Experience Builder theme
Lightning community page is now known as the Experience Builder page
Finally, if you’re still on the old Salesforce Tabs + Visualforce community format, this is just called a Salesforce Tabs + Visualforce site now.
Finally as part of all of these changes, the setup menu has changed too. Instead of looking for Communities, you’re now looking for “Digital Experiences”. Overall, this will take a bit to get used to. The Communities brand has been ingrained for years now, but we’ll manage.
Build Your Own (LWR) Template –
We’ve been talking about the upcoming Lightning Web Components template for 3 releases now as it’s been in pilot for a while. With Spring 21 this huge new feature – and truly new direction for Communities – is now GA and renamed the Build Your Own or LWR Template (LWR is Lightning Web Runtime). This one is big – and if you’re looking at building an Experience Site now, you are going to want to pause a minute and see if this might be the direction you want to go. Basically, you really have two directions you can go – you can go with the Lightning templates we’ve come to know and love or go with this and leverage Lightning Web Components to build out your experience. The decision really hinges on ‘what kind of experience are you trying to build?’ If you need a nice partner or self-service experience that looks good – but doesn’t need to be pixel-level perfect design-wise, the original templates are probably the right choice. You’ll be able to take advantage of the pre-built functionality Salesforce offers and build a great experience quicker and cheaper. However, if the design is critical to you, and you want full control of the design down to the pixel, you’re going to need an approach that follows more of the modern web standards and is a lot more like building a website experience. That’s what this is. Basically Build Your Own is true to its name – it’s providing a modern framework for web design and the bare minimum baseline for you and then you’re on your own building it. This template is also much more geared towards developers than administrators – and I’m not really talking apex developers – more developers that are experienced building web experiences but also have Salesforce developer skills. So, when you’re at that folk where you know you need an Experience Site, but trying to decide which way to go, it’s a big decision – do you need the complete control of the design experience AND have the developer resources to build and maintain a LWR template or is the lightning template with its reusable components that are able to be maintained without web development experience, but without full design flexibility, all you need? Definitely think about what you’ll need to maintain this going forward – and I strongly recommend only leveraging this new template if you have the resources and a plan to support it. This isn’t just a shiny new tool – it’s a path you head down only if you’re prepared.
With all of that said, let’s talk about what this can do. While it’s been in pilot Salesforce has been adding new features each release, and Spring 21 also gets a slew of features added to it as part of going GA. At its core, this template leverages Lightning Web Components exclusively. The Lightning web components definitely beef up the performance of your site – similar to how a modern website runs – versus the lightning templates that did have a little bit of a performance lag. Another nice benefit is you can now create custom URL paths for unauthenticated sites – like a public help center – and you no longer need to make it have the /s within the URL. So, this will look much more like an extension of your website. In addition, as part of going GA, this template is much more integrated with CMS. You now create CMS content pages and display CMS images and content within the web components. Finally, they’ve added support for SEO optimization and Google Analytics tracking.
Overall, this is a super exciting new piece of functionality and it’s clearly an area Salesforce is going to be focusing on. There are already two new features in pilot on top of this just going into GA. With regards to the branding and the change from Communities to Experience, obviously that isn’t just because it sounds better. If you think about the journey here, Communities was really focused on the authenticated experience and exposing Salesforce data and functionality to customers and partners. Sure, we had the ability to create public self-service, but that was very specific and it never had full website design capabilities. With this, the focus moves to building more web “experiences” beyond just self-service. A ton of potential here. One thing to note, in the release note it seems to imply that you need to purchase Salesforce CMS to get access to this template. This definitely was not the case when it was in pilot, and I’ve asked around and heard this is not the case. The release notes are pretty clear though, so let’s just hope the release notes are wrong here and it’s more that you need CMS to use some of the features that are new and related to it. I’ll update when we find out more (a lot of times Salesforce folks correct me on these blogs, so if anyone reading this knows, let me know!).
Guest User Data Permission Changes – We’ve been talking about this change for two releases now as it’s a big one. If you have a public-facing site (community) and you haven’t looked into these changes, you need to check now as you might be about to have functionality that breaks. We had multiple customers where we were able to get ahead of this before it stopped working, but you need to really look at your setup. If you don’t have anything public facing (non-authenticated), you’re most likely fine. I’m going to take what we posted last time and just update it as it’s a pretty thorough list:
Guest User Default Record Ownership – The most common use case for guest users is to have a public-facing form that then creates records within Salesforce when filled out. Normally, the guest user is the default Owner of those forms unless you drop the records into assignment rules or build your own logic to assign them. However, even when you have that, the guest user is still the original default owner and then your rules kick in to re-assign them. Going forward, the guest user will not be allowed to be the default owner of any record created by it. Instead, you’ll need to set a default user from within the org and they will become the owner of these records. For existing Communities, you’ll need to set up this default owner (for new Communities it’s automatically defaulted to whoever creates the community) and in addition, if you have built assignment logic, make sure it’s not looking for the guest user as the trigger to fire as that will fail going forward. With Winter 21, this is in place and can’t be turned off.
Guest User Object Permissions are Reduced – With Spring 21, guest users will no longer have the View All, Modify All, Edit, or Delete permissions on any object – custom or standard. These permissions have literally been removed so there is no way to opt-out. This previously was recommended strongly, but now guest users can only read or create records.
Guest User Ownership Assignment – In addition to not being allowed to be the Owner of newly created records, guest users will not be allowed to be assigned as the Owner of any new records. This was one of the partial updates, as in Spring 20 we were prevented from assigning new records to the guest user and with Summer 20 you can’t assign existing records. In other words, if you’re trying to assign guest users to any record, you need to stop and figure out who else to assign that to – and then figure out the downstream visibility impacts from these changes.
User Record Fields Blocked – External users leveraging the guest user will now be blocked from seeing certain fields on the user record automatically. Most of these fields are definitely things you should not be exposing externally anyway: Alias, EmployeeNumber, FederationIdentifier, SenderEmail, Signature, Username, Division, Title, Department, and Extension. With Winter 21, this is now mandatory and can not be removed.
Guest User View All Users Disabled & Others – Guest users will not be allowed to view all users and this setting will now be automatically turned off and unable to be turned back on. Basically, this will prevent someone from leveraging the guest user to see all of your org’s other users. A few other minor permissions have been eliminated as well: Can Approve Feed Post and Comments, Enable UI Tier Architecture, Remove People from Direct Messages, View Topics, and Send Non-Commercial Email. Most of these could be pretty handy for a malicious actor. If you have a guest user leveraging any of these, you’re going to need to figure out a different way to accomplish what you’re doing. While this was added in Summer 20 it could be disabled. Effective with Spring 21, the permission to enable this is gone and this is now in full effect.
Guest Users Access to Email sent from Visualforce Email Templates – If you send emails that leverage Visualforce email templates to guest users – and I’ll be honest, I can’t think of any reason why you’d do this, but clearly people are – you’re going to need to modify those templates to allow this in the future. Salesforce has a couple of new tags that you’ll need to add to the template – which is detailed within the release note. An easy enough change to make.
Standard External Profiles can no Longer Log In – Another security change, but not as big as the guest user change, is that users assigned to the standard external profiles can no longer log in to Experience Cloud sites. This is easily fixed by just cloning them into a custom profile, but if you have an older community (especially if we’re talking back to the portal days), you’re going to want to double-check your profiles and make sure you don’t have any users assigned to these. Literally as soon as you flip to Spring 21 they are going to be locked out – so avoid the angry customers / partners by making sure.
Salesforce CMS Updates – Salesforce CMS also gets a bunch of new features with Spring 21. We already mentioned the support for the Build Your Own Template above, so let’s go into some of these others. Most of these are focused on managing and publishing the CMS content and makes it a much more powerful tool. As a reminder, Salesforce CMS is not included with Experience Cloud and is an additional fee.
Content Key – All of your Salesforce CMS content now gets a content key that will act as a unique identifier. What’s different here is this key will remain the same no matter what version the content is on and even across different orgs, sites and components. So, if you build a piece of content and that’s shared all over the place including different Salesforce instances and sites, that ID is the same. As an added benefit, this key can also be used to reference media files when you’re doing content imports. Definitely a really useful thing to have.
Bulk Publish Content After Import – This is a nice usability improvement that will save some time where previously, when you were importing local files, you needed to set a status field for each individual piece of content. Obviously if you were importing a lot of content, this got tedious quickly. Now you can publish all of your content all at once with the import and save all of those steps.
Export Content from Your Salesforce CMS Workspace – Now from the CMS Workspace you can export content. This includes images, news, documents, or other customer content types. When you export it’ll generate a .zip file which you can then use to transfer to other Salesforce orgs.
Deploy CMS Content and Components from Sandbox to Production – This is a much needed enhancement. Now you can deploy individual CMS content and components from a sandbox to production leveraging the new content key functionality. Previously you needed to recreate the content in production which as we know can lead to accidental errors and inconsistency.
Mixed Content Downloads Blocked in Google Chrome – This isn’t really a Salesforce update, but it will impact your content pretty heavily, so it’s worth noting. Google has announced that it will start blocking mixed content downloads within the Chrome Browser beginning in September 2020. It’ll begin with a warning about this, but eventually it’ll be blocked entirely. If you don’t know what mixed content is, it’s when you have an HTTPS page but it has a link that is going to an HTTP site. This is a trick that can be used. You think you’re on a nice secure HTTPS site, but when you click on the link you’re brought to a non-secure site. Hopefully none of you are doing this maliciously, but a lot of you are probably doing this by accident and linking to various content that’s on HTTP sites. You’re going to want to start reviewing your external links to ensure they are consistently HTTPS sites or your users will be impacted with this. You have time, but it’s amazing how quickly these types of changes sneak up on you, so don’t wait on it too long.
Lightning Message Service Now Supported in Experience Cloud – This is a beta for Spring 21, but Experience Cloud now supports the Lightning message service. If you’re not familiar with this, it allows different components to essentially speak to each other. With this Aura and Lightning web components can now message to each other and share information. Basically, think of if you have content in one component and you want that impacting the content in another – this allows you to do that even if they are built in different ways with Aura or Lightning web components. Definitely useful if you’re upgrading your site as you won’t need to re-build everything.
Related Lists Component – The Related List – Single component (which displays a list of records from one specific object) is now mobile responsive. This is one of those changes where if you’re already using this component you’re going to need to upgrade to the latest version for this to kick in.
Improved Mobile Experience – Users hitting your sites from mobile browsers or from the mobile publisher app will now have an improved mobile experience. Most of these changes are performance improvements, but it also includes improve button responsiveness and larger fonts.
Shadow Options on the Tile Menu Component – The Tile Menu component (like the main one from the self-service template) now gives you the option to add or remove the shadows. Obviously not a massive game-changer here, but a nice styling option to have.
Members limits on Profiles / Permissions Sets – A new limit has been introduced that restricts the number of members that can be processed with a permission set or profile to 10 million. That’s not a typo – it’s 10 million. So, 99% of you are laughing at that limit. But those of you with big communities with millions of members – definitely need to pay attention to this. Keep in mind, this is really around the processing of the members – so adding them to new permission sets or switching profiles, etc. The easy way around this is to chunk the members up into smaller groups, but you can also leverage multiple profiles/permission sets to avoid this. Overall this is to ensure the changes can be processed in an acceptable amount of time.
Salesforce Anywhere (Quip)
Quip for Customer 360 is now Salesforce Anywhere Advanced – More branding changes. No functionality changes here, but the Salesforce Anywhere brand is now incorporating Quip as well.
Slack Acquisition – Not a new feature, but unless you’ve been living under a rock, Salesforce’s $27.7B acquisition of Slack can’t be ignored and it fits squarely into the Salesforce Anywhere feature set. I wish I could say I predicted this, but I actually just wrote about how this all fits together in the Winter 21 Salesforce Anywhere write-up:”The real time chat (a new feature in Winter 21) is without a doubt a shot across the bow at Slack and Microsoft Teams (but, again as part of the complex partnerships Salesforce has, they have a Teams integration as a pilot in Winter 21). Instead of the static threaded collaboration of Chatter, you can now have a real-time discussion on a record with your team, and that discussion is saved right with that record. To me, this is the holy grail if you can actually get this right – which I don’t think anyone has yet, but all of them are trying. Slack’s power is the super seamless and quick communication you can have with a team, but its weakness is all of the information shared in Slack is stuck in Slack. I know you can use the APIs in Slack to integrate it, but that relies on users to remember to fire that off and save relevant pieces of the conversation. If you could have that conversation right on the Case or Opportunity or Account, that data and the decisions made around it won’t be lost like a week later (I’m a huge fan of Slack and we are heavy users here at Gears, but the search functionality is brutal). On the other hand, not every conversation fits nicely onto a record in Salesforce. Sometimes, you just need a place for a team to talk regularly. That balance is key, and it’ll be interesting if Salesforce Anywhere can get there.”
That was 34 days before Salesforce went and acquired Slack. So, the question on the above now isn’t if Salesforce Anywhere can get there, it’s now how does Salesforce combine and balance these different technologies to get there. They now have all of the technology and features they need, they just need to incorporate them in a way that is fluid and useful to the users. I have no doubt they’ll figure this out, and it’s going to be powerful once they do.
Template Library – Templates have always been one of the best features of Salesforce Anywhere and now we get the ability to publish these company-wide and present a library of them to your users. You can create galleries (fancy name for folders) and organize the templates within them to make them even easier to find. In addition, you have a global search across all galleries to quickly hone in on one template. Finally, similar to reports, you can see your own private templates from within the library and then publish them when you’re ready. Great enhancement.
New Document Global Action – Now you can create a new document from anywhere with a New Document global action. If you do this from a record, it’ll automatically link to the record. You had to have a component to do this before, so this makes it much more seamless.
Salesforce Data Mentions – I think this feature is really cool. Within your documents, you can add Data Mentions which is essentially like a live mail merge type of functionality. It’ll pull Salesforce data from a record which you are referencing, but it then keeps that data up to date as it changes. A mail merge is a one-time data update, where these remain dynamic and keep your documents up to date. Super handy when you’re trying to reference data being maintained within Salesforce records.
Document Ranges – You can now add sections within your template leveraging Document ranges. What’s interesting with how this works is that section can be referenced via the API or Flow so that you can essentially populate a section with content automatically. For example, from a flow you can send data directly to a section within a document. You can also lock sections within a document to keep them from being changed once they’ve been populated. Pretty slick.
Quip Slides being Retired – This actually happened last week, so if you’re using this you’ve probably already realized it’s gone, but Quip Slides was retired as of 1/31/21.
Alright, that is a wrap for this post but also for Spring 21. We managed to get seven different posts (I remember the days when we did these in one!), but we probably could have done another two or three easily. Definitely a monster release with a lot of value. As always, if you want any guidance or help implementing any of these changes, please reach out and a Solutions Architect will get right back to you. Thanks for reading!
Harry is the CEO and founder of GearsCRM, with more than 18 years of experience working with the Salesforce platform. Outside of Gears, Harry enjoys debating Star Wars and Marvel with his son and sharing music and videos with his daughter. He is an avid racquetball player, bleeds Dodger blue, cries Jets green and always tries to find spare time to read a good fiction novel.