Before this topic gets closed right away I'd like to say that I am aware that this feature request might not perfectly fit the AF module. But since most users interested in using drupal's forums are likely to use AF and since (as I understood) you are in charge of the forums module for D7 I thought it might be better to ask here. Most importantly, the existing access modules seem to not really see this as a thing of importance and from what I can tell neither module will have such an option in the forseeable future:

As close as AF has already come to be a perfect forums module, there is one feature still missing in Drupal that I consider vital to sites with forums as a main feature (and that Drupal lacks compared to e.g. phpbb): This is the option to differentiate between a "view" and a "read" permission.

If I understand correctly from the dozens of threads that I have read on this site, then the current situation is as follows: If you want to have forums that are not accessible to any users (or any role) then you have no choice but hide those forums completely from any other role. In other words: Users without that very permission will never be able to even know about the existence of (additional) forums that they might be interested in participating in.

I personally consider it vital to a site to be able show those users what options he will have if he registers or joins group x. This could be achieved by simply allowing those users to see the containers/forums (titles and description) as well as maybe how many posts there are and when the last entry was posted. As soon as they try to enter the forum in question, they will be told that they do not have the right permission and are given a hint on what they need to do to get those permissions.

You can tell the visitors about those options as much as you like: This still won't ever have the same teasing effect on users like the chance to actually see what they might be missing.

1. Am I right with the assumption that such permissions are not possible with the currently available modules on Drupal?
2. If so: Is there any way that you Michelle might be able to influence the future development of D7 or access modules to convince them of this permission's importance?
3. If not: Is there any chance something like this could be implemented to at least forums via the AF module?

Please accept my apologies for possibly posting on the wrong project page. But since you show so much enthusiasm and skill with enhancing forums, I consider this as my last hope for having such a permission setting in Drupal sometime in the future.

Comments

Michelle’s picture

Project: Advanced Forum » Forum Access

I am not in charge of the D7 forum module. I had hoped to get some patches in, but I'm unlikely to have time before code freeze. There is no one person in charge of core forum; anyone can submit patches.

This feature request belongs to the forum access module. AF does not have any sort of access control built into it. If the FA maintainer(s) are not willing to do it, you might want to consider hiriing someone. Or perhaps they would be interested in being hired to do it.

This isn't something I am interested in writing. Personally, it drives me absolutely batty when people use this "tease" method and I'm far more likely to leave the site and never come back than join it.

Michelle

Golem07’s picture

Thanks for the info Michelle

Personally, it drives me absolutely batty when people use this "tease" method and I'm far more likely to leave the site and never come back than join it.

I know what you mean.
But sometimes it is just impossible to allow everybody access to all of the forums before they have actually shown that they are qualified for it. For example if you offer forums for certain professions an have to make sure that they actually belong to that profession before you allow them full access. Ideally they should still be able to see what the site offers before they decide to actually sign up for it. So sometimes this tease method is simply needed if you want to show some features but at the same time you are forced to keep info confidential. It is not always used with bad intention.

Anyway I understand that this is not related to AF.

Michelle’s picture

I don't think it's necessarily "bad intention". Usually the intention is to tempt people to sign up so they can see the rest. Which isn't bad, just a form of advertising that doesn't get me to "bite".

Anyway, good luck with getting the feature. If FA needs something in AF to get it to work right, I'll certainly consider patches. But, yeah, the bulk of this is really out of scope for AF.

Michelle

salvis’s picture

Thanks, Michelle.

This could be done in Forum Access, at least most of it, but I don't see it as a high priority.

@Golem07: What you describe is more realistic than #279584: Read Vs. View Permissions because you're not asking to show topic titles. However, it involves a fair amount of work, and we have open tasks that are higher up on the list, e.g. comment moderation and default access rights.

Golem07’s picture

Thanks to both of you for the assistance and clarification.

It basically comes down to showing (yet) unauthorized visitors that there actually are active forums (instead of "no forums have been setup..."). Nothing more.

I perfectly understand now that this is not of a high priority to you salvis and that it is technically not a part of AF. It would be great though if this might be possible sometime in the future and I would really like to pay my share of money if this helped to make it happen. However I am sure I would not be able to come up with enough money to support such a relatively exclusive feature request. So what, in your opinions, would be the best way to do now for me? Leave the status like it is or open up a new feature request in the FA project page, asking other people that re interested to also chip in?

Thanks again to both of you for your replies.

salvis’s picture

Michelle has already moved your feature request to the FA queue (see #1 above).

You've made a good case and there is some interest in this, though not overwhelming. I agree that it might be desirable functionality, but it's unlikely that I'll get to it in a reasonable time frame. I do contract work, but my rates are steep and I'm not actively seeking bids. Contact me through my contact form if you want to pursue that option.

Ideally, you'll find a developer who is sufficiently interested in this functionality to work on a patch. Anyone?

salvis’s picture

(Just closed #286453: Add another access option, which brought this up before.)

Eidolon Night’s picture

I just wanted to add that I too am interested in this functionality. I agree with Michelle that this is a sort of advertising, but some of us do intend to make money with our Drupal sites. I currently don't have time to work on this, but consider this my +1

Apollo610’s picture

I would also be interested in such functionality - for social sites implementing something like, say, age or gender-restricted forums, it would be nice to show that these forums do exist and are not just "hidden".

A use-case example, someone may have a site discussing movies and wants to restrict the discussions based on the movie rating, therefore G is open to everyone, PG/PG-13 is open to anyone 13 and over, R/NC-17 is 17+ only. A teen may be discussing Transformers in the PG-13 group and tell their parents that hey, there's a lot of cool people on the site and there's a forum specifically for the movies they watch.

The advertising aspect in this use case is that people will tell friends that these forums exist because they could "view" them, even if they themselves are not eligible to "access" them.

stephthegeek’s picture

+1 for this feature. For sites where access to a private forum is a paid/registration-only enticement, being able to "see what you're missing" is an important persuasive technique and reduces the need for more copy elsewhere explaining it. I'm using Forum Access for the first time and this is the first feature I went looking for. I seem to remember something similar in Taxonomy Access Control, but was trying to avoid the complication of that module just for some simple forum access control.

In the meantime I think I'll put a block at the bottom of the top level forum page for non-privileged users only, mentioning the forum they're not seeing.

Einkahumor’s picture

+1

I've done sites where I used (not so pretty) workarounds for this. This feature would be great.

salvis’s picture

Ok, you've convinced me that there is interest... :-)

Let's talk about how it should work then:

This could be achieved by simply allowing those users to see the containers/forums (titles and description) as well as maybe how many posts there are and when the last entry was posted. As soon as they try to enter the forum in question, they will be told that they do not have the right permission and are given a hint on what they need to do to get those permissions.

Wouldn't we need some visual differentiation between available and unavailable forums? Making the user click on each one to find out whether they can enter or not is not so great IMO. How?

What should we do when the user cannot enter? Let the admin specify a nid where the user should be redirected? The same nid for all unavailable forums? One nid per forum? One nid per role that has only View but not Read access?

@Michelle: Can you give me a hint on how to remove the "by !author" part, without disturbing AF?

Michelle’s picture

Can you give me a hint on how to remove the "by !author" part, without disturbing AF?

Er... You lost me. I thought we were talking about denying access to nodes? What "by !author" are you talking about?

Michelle

salvis’s picture

We're talking about renaming the current View permission to Read and introducing a new View permission which would only affect the forums list: Forums that can be viewed but not read would show up in the list, but the user wouldn't be able to enter them.

The list entry would have to display Forum name, description, topics, posts, and date of last post, but the author of the last post would need to be removed.

Michelle’s picture

I'm not very clear on why you need to remove the author of the latest post but, hmm... The only way you could do that would be to set forum access to a higher weight than AF and then empty out the variables in the preprocess.

Michelle

salvis’s picture

The names of the posters in a forum are part of the forum content, and they must not be exposed, if the forum content should be protected.

As someone recently wrote in the issues queue of another module:

The bug is that the overview listings for each Content Type, such as ".../blog" and ".../event/1" are themselves exposed. In fact, Google has picked them up, so the world can see sensitive things like the names of some users.

We must avoid that!

FA already has a weight of 2 — I keep forgetting which way the module weights are working...

Michelle’s picture

Ah, ok. I don't have any experience with private forums so I didn't realize. AF has a weight of 15, so you'd need to be higher than that. Then you'd need something like:

forum_access_preprocess_forum_submitted($variables) {
  if ($this_forum_is_private) {
    $variables['author'] = 'Private';
  }
}

Michelle

stephthegeek’s picture

A few thoughts:
- adding a CSS class to the row of any private forum would allow for adding an icon/shading/border or target any fields within
- in the case of advanced forum, where the listing is a view, exposing "is private" to views would also be helpful for adding some kind of flag, or sorting
- an option in the module to add a text prefix/suffix to private forums
- an option in the module to mask the name of the forum, or change the description to different text for a non-privileged user

Michelle’s picture

Only the topic lists are views in AF. The main forum listing isn't because it's not really well suited to views at this point.

Michelle

salvis’s picture

Thanks Michelle and stephthegeek. Yes, we're only talking about the forum page here.

stephthegeek’s picture

Ah thanks, my bad.. too much stream-of-consciousness :)

Michelle’s picture

If you're wanting a lot of changes to that template and also want it to work with AF, a simple API of, for example, forum_access_is_private_forum($tid) would be good. Then AF can check if FA is installed and check that function and add what's needed.

Patches to AF 2.x would speed things along as well since I've already got my hands full with stuff I'm trying to get done by September and I don't actually have any use for this myself.

Michelle

tekhneek’s picture

Have their been any recent changes to this feature request? I found this looking for this exact feature.

salvis’s picture

No, no one seems to care enough to actually work on it.

kambiz.aghaiepour’s picture

+1

I wouldn't view the "view" role being distinct from a "read" role as being a teaser that would drive folks away. In fact, with our drupal forums, we want to make sure anonymous users cannot post (for obvious reasons), but must of our users will not be "logged in" to the forums upon visiting the site. On the other hand, if they visit the forums and see no forums, they might not realize they need to login, so they'll just go away thinking there are no forums for them to participate in.

As such, I think I would really love to see this feature added.

Kambiz

salvis’s picture

I'm not sure I follow 100%, but you can create visible containers and tell your users whatever you want in the description of the container.

Actually, if all you want is to keep anonymous users from posting, then just don't give them the 'create forum topic' permission.

Golem07’s picture

Ahh what a pity.

After there was some movement a couple of weeks ago I was hoping that we might be able to get such a feature.

@Einkahumor
How did your "not so beautiful" work arounds work?

Einkahumor’s picture

@Golem07: I used Rules to redirect anonymous users to the forum index when they tried to view nodes of type forum-post and then displayed a message saying that they must register and/or sign in to read forum posts. That way anonymous users could see the forum indexes but not actually read the threads.

Golem07’s picture

@Einkahumor

This does actually sound like a good idea- Got to try it out.
Have you noticed any serious drawbacks with your solution (e.g does this prevent direct linking as well?)
Are you still using this alternative? Soo many questions...maybe beyond the scope of this issue.

Einkahumor’s picture

This method should prevent direct linking and no, I have not found any serious drawbacks or a better solution. My user base is rather small though so I don't know how it will handle large amounts of traffic.

salvis’s picture

Ahh what a pity.

After there was some movement a couple of weeks ago I was hoping that we might be able to get such a feature.

Lamenting doesn't really take us forward.

Apart from no one being interested enough to do the coding, we haven't even answered the most obvious design questions in #12.

I'll let you in on a secret though: the D7 version will have the role names on the left and then columns of checkboxes, like the permissions page. This will give us more space, and adding a column or two will be easier...

Anonymous’s picture

Issue tags: +forum access, +view forums, +hide threads

In case this helps anyone, here is what I wrote today, after working on the same/similar issue.

http://chalcedony.co.nz/gemsofwisdom/show-the-forums-hide-some-threads-d...

salvis’s picture

I'm sorry, but recommending to fiddle with node access priorities without suitable explanations and warnings and a huge pointer to DNA is a disservice to the community. Half of those who try it will end up calling for help in our forums and issues queues, because their sites supposedly don't work right anymore.

When it says to leave priority at the default 0, there's a reason for that...

MasterChief’s picture

I need absolutely this feature, i want people to see forums but not read topics.

Is it something will be do for this issue because the first comment was in 2009 and it's for me an important feature.

salvis’s picture

No one has stepped forward to implement it. The chances for it to get implemented in D6 are very small.

Maybe in D7, but not before the D7 version is released.

svarco’s picture

Just to add my interest: +1 :)

frenk’s picture

frenk’s picture

Hmm.. can't seem to figure out how to do it with Rules.

I want a certain container and underlaying forums + topics to be visible for all visitors. But only 1 certain roll must be able to post and read the individual topics.

Can someone give me a hint?

salvis’s picture

@frenk: The Views module will let you create a list of topics that shows nodes which are hidden by node access.

frenk’s picture

Is it not possible with Rules?

salvis’s picture

I wouldn't know how, but I'm not well-versed in Rules.

frenk’s picture

Oke thanks. But I understand there is still no simple way to do this? Topic starter didn't find a way?

ryank76’s picture

For #12, could you give custom classes to the restricted forums and recommend that they be styled differently?

Then administrators can style the restricted forums how they want and you won't get inundated with little tweaky requests to change the UI.

dillix’s picture

Status: Active » Closed (outdated)