Forum Discussion
Restrict Document Library so that only specific folders shared with a user are visible to them
We are migrating from Slack to Teams and need a historical archive of our Slack channel conversations. I have an export of my Slack channels (roughly 4000 public channels and 4000 private channels). Each channel is a separate folder with an .html copy of the conversation history of that channel.
I want to create two document libraries on a communication site. One for public channels that will be shared with an org-wide group. I plan to move the 4000 public channel folders into there. This is not ideal because scrolling through the list will be very slow but it is the best solution we can think of for this. We plan to educate on how to search efficiently, or use a CoPilot agent to search.
The other document library for private channels we want to also share org-wide. However I want to remove inheritance on each folder. And then assign permissions to the folder based on if you were a member of the equivalent channel in Slack. So for instance, I am a member of 40 Slack channels, so I would be granted access to just those 40 channels in the document library.
My goal is that a user can access the main sharepoint page, and access the private channels document library, and only see the specific allotment of folders, rather than all 4000.
Is this plan feasible? I know there are issues with list view thresholds and potentially drops in performance. How bad might they be? Am I missing anything that could derail this?
And permissions management at the folder level after the fact would normally be a nightmare, however in this instance we plan to make this a locked-in-place historical archive. Users would have read-only permissions, and we will never alter the permissions on the site or libraries or folders ever.
3 Replies
- MikeRileyCopper Contributor
I want to thank you both for the replies. This is a legal requirement to preserve our communications being that we are a regulated industry. In addition, we did not want to lose institutional knowledge.
We did strip inheritance from every individual folder and then re-permission with direct access based on an audit log we were provided. It was incredibly cumbersome and time consuming, and any kind of management of specific folder permissions at that scale is a huge burden. So we decided to never manage folders. We scripted the permissions, we set them in place, and permissions on the site will never be altered. I am now focusing on creating indexed columns to improve searchability. - JerinRexJCopper Contributor
Hi MikeRiley, your plan can work, but there are a few things you should adjust so it runs smoother:
- Raw HTML can be messy in SharePoint, PDF are easier to preview, and more reliably indexed by search, so you can consider this by really understanding the need and limitations.
- Don’t keep each channel’s history as one huge HTML file. Break them into smaller parts (like per month or per year), otherwise the files will be too slow to load.
- Don’t dump all 8,000 folders into two big library. Split them into multiple libraries or structure them by year, department, or project. This avoids performance and list view threshold issues.
- Instead of assigning permissions to every folder directly, create user groups first (e.g., by project, team, or channel). Then give access to groups. This makes it easier to manage and avoids messy unique permissions.
- Think about how SharePoint search works. Teams search won’t index this content, so people need to use SharePoint search (or Copilot). Adding metadata (channel name, project, year) and creating filters makes it easier for users to narrow down what they need quickly.
In short: the idea works, but splitting files, grouping permissions, and structuring libraries will save you a lot of headaches and improve performance.
- RobSotoIron Contributor
Hi MikeRiley,
It's an interesting project. Technically, it's feasible but it will be very cumbersome. I have a few questions for you that might help think differently about the goal.
- What's the business value of keeping the archive? Is it a legal requirement or fear of loss of institutional knowledge?
- Follow up to that question - Is there a way to reduce the number of channels in scope to something more reasonable?
- How often to users revisit past Slack conversations now? If it's not common, the future archive may go completely unused when all is said and done. There would be little to no return on investment.
- File/Folder level permissions are challenging to architect. Do you have any scripting capabilities that could automate this with a CSV import or something?
- Have you considered the governance demand with the idea of using SharePoint Copilot agents? You may end up with multiple agents to manage if you want the responses to be meaningful.
Caution: If permissions are at all inaccurate when the archive is made visible to users, adoption may suffer, and the setup of the archive may not produce the outcome you intended.
Ultimately, if the return on the investment isn't expected but the outcome is still a hard requirement for the migration to Teams, my recommendation is to simplify the goal where possible. That might mean reducing scope or minimizing requirements.
Hope this helps!
-Rob