Spring ’18 will hit Salesforce orgs this week. There’s a bunch of goodness in there (oh my, the reports and dashboards make me swoon..) and there’s one very important change.
Salesforce Notes and Attachments are going away.
Here’s the what and how you need to know about Attachment’s replacement – Salesforce Files.
- Salesforce Files have new Functionality
The new Files have all sorts of additional functionality, namely:
- Versioning (you can upload different versions of same file)
- Sharing (you can share a file with chatter groups, people, or specific records)
- Integrations (FileConnect lets you provide reference links or copies from external systems like Quip, GoogleDrive, SharePoint or Box)
2. Add Tab to App & Related Lists to Page Layouts to Access Files
Generally whenever Salesforce functionality comes around, you as an Admin need to do two things:
- Add the Tab to the App – this will let user’s see their full List of Files, and let you as an Admin manually upload Files here
- Add the Files Related List to each Page Layout (Contact, Opportunity, etc.) – allowing users to upload Files manually to a record – the easiest way to manage
- Edit Object Page Layout (this is the “Classic” order of operations editing)
- Edit Lighting Page Layout (where you can pull the Files list out into a sidebar)
3. Admins Need to transfer old Notes & Attachments to new Salesforce Files
A bummer to be sure that there’s no automatic way for this to happen – but there is an admin-friendly fix. You should read all Douglas Ayer’s extensive blog on all things files – and especially his post and app to convert Attachments to Salesforce files.
4. Salesforce Files have a new Data Model
ContentDocument say what?
The old Notes and Attachments were simple – one attachment – one record (like a Contact, or Opportunity) as the ParentId. All that nuance of additional Files functionality (versions, sharing) meant that Salesforce created a complex data architecture to match. If you try to upload via the DataLoader or another data tool to “Files” the object will not exist. CONTENT is the new word of the day. But wait, there’s more!
If I search available objects in my favorite data tool, I’ll find three references to Content:
- Content Version = this is your friend!! Import here and the rest will follow.
- FirstPublishLocationID field = the old “ParentID” of the record, like Contact, Account, etc.
- Content Document = this is the behind-the-scenes “parent” record. Your Content Version is its child. This will be created automatically if you upload to Content Version.
- Content Document Link = junction object linking sharing of Content version and Content Document. Developers will care about this. Currently I only see how to adjust this via manual file sharing for an admin or file owner/manager. (Show me how via import!)
5. Issues for Admins to Note
- Merged Records Can Create Orphan Files
- Jason Atwood identified this issue – since Files don’t have a direct ParentId to the Contact (or Account) when merged it won’t necessarily travel to the new Contact, Account or other record. Douglas Ayers created an App fix for this. Vote up this idea from Jason Atwood to make this core functionality, now!
- Adding a Salesforce File to a Contact will break open access to that File
- Files have nuanced sharing, by person/chatter group. However, when you link a file with a Contact record (or other Salesforce record) you bust open the sharing and it expands viewing to anyone who has access to that Contact record. This may be what you want! But if you’re like me, and want to link sensitive files (like performance reviews, doctors notes) to a Contact without showing it to everyone, vote up this idea.
- Files must currently be transferred via DataTool when File Owner leaves
- There’s an idea on this to be able to mass reassign similar to other objects – vote it up!
Want more detail? Here’s a Content Data Model (that looks like needs some updates – no ContentDocumentLink)
Special thanks to Theresa Hall, who first uttered the word ContentDocumentLink in my presence and got me started on this path, and to Douglas Ayers who continues to provide key information and functionality to our community on Salesforce Files.