This article was written for the Summer '17 Salesforce Release. In future releases, some or all of the information below may be inaccurate.
Here’s my curated list of community updates that developers are likely to find the most exciting about the Summer '17 release; it is not comprehensive. Check out Salesforce's Release Notes for the full list of changes in this release.
Communities in Summer '17 are supported in the following browsers, so ensure you thoroughly test your community’s experience in these before moving to production.
- Internet Explorer (11)
- Microsoft Edge (Latest)
- Google Chrome (Latest)
- Mozilla Firefox (Latest)
- Safari (Latest)
Note that “latest” is defined by the browser vendors and may change within a Salesforce release. Also, keep in mind that these browsers currently support flexbox (used by the Lightning Design System) in varying capacities.
Lightning Design System
Class names that utilized the double-dash
-- convention will be converted to use an underscore
_ instead. The double-dashes will work for the next 18 months, but it’s a good idea to start updating lightning components that use this CSS now.
LockerService is enforced in all organizations beginning in Summer '17; however, this is really only true if you use the Summer '17 API version of 40. You can still get away with non-compliant code in Summer '17 communities, as long as you keep your components on API version 39 (note that the component's APEX controller can be v40).
Keep in mind remaining on API version 39 is not a sustainable development practice. It’s a good idea to get familiar with LockerService best practices and start coding your components with those practices and restrictions in mind.
I’m eager to test this one out. When I “deployed” communities prior to Summer '17, I found exporting the
.site file from the lower environment’s Site.com Studio and overwriting the higher environment’s site via it’s Site.com Studio to be the most effective method, though there were still items I would need to manually recreate.
In Summer '17, Salesforce promises us that we’ll now be able to deploy communities along with our APEX and Lightning Component Bundles in changesets... albeit with some limitations:
- The community must already exist in the target organization with the same name.
- The community in the target organization will be overwritten.
- Page variations/audiences and topics will need to be recreated manually.
- Limited community administration settings will be deployed (that means, essentially, that these settings will need to be manually configured in the target community).
- Languages/translations will not be deployed with the community.
All in all, that’s pretty consistent with what I’ve seen using the Site.com Studio method of deploying communities. Being able to use changesets is a minor time-saver, but it’s a time-saver nonetheless.
Improved Error Messages
Summer '17 includes improved error messages for custom components. These messages will include the error message, component name, line and column number, function name, and a stack traces. It sounds like users will see this same messaging, making it super easy for them to screenshot and send our way when reporting issues.
When you export a Lightning Bolt solution from
Settings > Developer in Community Builder, it will now also export: 1) navigation menu items, 2) branding panel properties, and 3) limited administration settings.
Summer '17 introduces two new components that developers can use in custom themes of the Napili template: Notifications and App Launcher. Including these components in our themes is a little bit different than we’re used to (see ProfileMenu), but I like it a lot more. Rather than needing to define an
aura:attribute, we can implement these new components by simply including the following code where we want them to appear:
- Notifications Sample & Developer Documentation
- App Launcher Sample & Developer Documentation
There have been quite a few updates to communities and development in Summer '17, so it’s not feasible for me to call out all of them in this post. If you develop communities on Salesforce, make sure to look through these sections of the release notes in particular: