There are a couple of questions already similar, but not quite the same - we are in quite a bind, every fork in the feed item/content road has been a total dead end, after almost 9 years on this platform, I have never felt so frustrated.
We have nearly a terabyte of files in content. This was working really well for a few years until it turns out you can only have 2000 libraries and we need one per client, because of permissions, and have over 2000 clients.
It was suggested we instead use FeedItems, since they share the same contentdocument/contentversion object structure. So, we are now using FeedItems. We have two major issues, i'll ask another question for the first issue which has to do with an inability to migrate from Content into Feed Items. Our second issue is that only the person who posts the file has access to it. Even though every community user in the client org has access to the record it is posted on, no community user except the one who posted it has access. This is so perplexing. I can add a share to the Organization - I got this to successfully work, but even then, no one with access to the Organization can see the feed item. The shares seem to not be working? Can anyone confirm the expected behavior here? Here's an image, no one in the org or with access to the record can see this file:
An Individual share to a specific user does work, but we dynamically via APEX pull people in and out of public groups in a spiderweb of triggers and code, so individually sharing to each person would actually be impossible on initial file creation. That's why we went to painstaking lengths to maintain the public groups.
It's feeling like the only possibility is to change all of our code to use Chatter Groups instead of public groups and share each file to a chatter group. Any other ideas?