brunoais wrote:The use-case I'm enabling by doing this is: user A wants to discuss something to/with groups B, C, D, etc... (predefined by the admin)
Your use-case is slightly different. Your use-case is to allow a volatile (ad-hoc) group to speak with groups B, C, D, etc...
However the use-case I described encompasses the use-case you described.
I feel that, if you create a extension that does what you are describing there will inevitably be the question "if I can do it for user A, can I do it for user A and B"?
The questions you posted are good, and I have answers for them, that I think are intuitive.
Surely, it is a system not every one needs and wouldn't be used on most boards, probably. But, it would still be a huge help for those who (like me) who need it.
How are the topics' posts gathered such that the permissions are properly selected?
All topics are displayed, with at least one post in them by the user.
I'm not sure how a SQL command for that would look like, but I'm sure a Sub-Query could manage that.
How are the posts made so that they are moved to the proper topic?
As they are made now. You enter into a topic and click the 'Reply' button.
Can any user make a post on any topic even if he can't access to read it?
No, a user should be unaware of any topic that he can't access - therefore he can't add posts to it.
Does that mean that anyone can access any topic as they can just make a post on all topics?
No, that would betray the purpose.
Should happen if the only post with user X is or is required to be deleted in the topic (for any reason besides banning the user from that topic)?
The user wouldn't have access to the topic anymore, as it would not show up in the forum listing.
Surely the permissions need to be re-checked in the viewtopic.php so that one couldn't enter a topic by manipulating the url to enter topics not on the forum listing.
What if you just want user Y to be in the topic as a CarbonCopy and not as a full participant? Does he have to have a post there just "because"?
Yes. If for some reason user Y should be able to access the topic and is not in the predefined group then a mod would need to create one post on user Y's behalf in the topic, to grant access.
Does it make sense to a user that a topic that he didn't know to exist suddenly appears on a topic list which he didn't make?
That depends on the circumstances.
But that isn't any different than changing the permissions in the Administration Panel.
I mean if I pick a random user and add him to a group with more permissions for no reason that user might at his next visit see a lot of new sub-forums.
Is that confusing? Maybe. But usually I tell people that I will change their groups/permissions.
brunoais wrote:Giving rights based on all participants is also a really, really bad idea performance-wise. It would be best if the access to the topic was invite-only or something like that. That would be a job for a different extension and, definitely, not as just as a new permission (interface-wise)
Well, I requested a extension and was made aware of this topic.
That said, I can see, that it might be a problem performance-wise in regards to the database, when listing all topics in a forum.
If one had an option, when posting in a special type of forum, that would allow to choose "This topic is hidden to all but ..." it would need additions to tables and a change in the board interface. That seems like a lot work.