Background
I an using Advanced Forum on a D6 installation along with Forum Access to produce private Forums. I do not use the flatcomment module but I have got the comment settings on my forum_topic content-type set to Flat-list expanded.
Request
I would like an option to remove the large 'Post Reply' buttons from top and bottom of Topic View without having to hack the template.
Reason for Request
Having a choice of button to press to reply is creating havoc with the core implementation of editing replies (comments). Whenever a reply is made using the large 'Post Reply' button, the comment to which the reply was made retains its ability to Edit which is unwanted behaviour.
Explanation
The normal core behaviour for comments, which does not require any setting up or additional modules, is to allow a User to edit his/her own comments until such time as a further comment is made to that comment i.e. by using the small Reply button at the end of the comment. Once that happens the ability to edit is removed. (This is sensible as editing a post that others have already replied to can make those replies look silly.) However, this does not work if the reply is made using the large 'Post Reply' button at the top as this is saved as a reply to the original post - not a reply to the comment.
Consider the following sequence of posts:
- Original Topic
- Reply #1 by User #1 - it doesn't matter which button is used.
- Reply #2 made using the large 'Post Reply' button at the top
- Reply #3 made using the small Reply button at the bottom of #1
When Reply #1 is made, User #1 will see a small Edit button at the bottom of the post as expected.
When Reply #2 is made, because the large 'Post Reply' button at the top was used, User #1 will continue to see the edit button on Reply #1 (unwanted behaviour)
When Reply #3 is made, because the small button on Reply #1 was used, User #1 will no longer be able to edit Reply #1. (wanted behaviour)
When we were using D5 we also used the flatcomment module as this was the only way to display the comments in the flat format expected in Forums. However, the flatcomment module completely destroys the core behaviour of removing the ability to edit a comment once it has been replied to as all replies are saved as replies to the original topic no matter which button is used. The different display options for comments were introduced in D6 giving us the opportunity to ditch the flatcomment module and therefore restore the core behaviour at least some of the time. Having the ability to remove the unwanted large 'Post Reply' buttons would restore the core behaviour completely.
Comments
Comment #1
mcdruid commentedThanks for the clear and detailed info.
Can I just ask you to confirm that you're talking about 6.x-1.2?
We're not likely to add new features to that branch I'm afraid, as explained on the main project page.
Comment #2
michelleThe large reply button is always replying to the node, not a comment, and behaves the same as clicking the "add new comment" link in core. AF isn't really doing anything dramatically different there, just making the link look like it does in typical forums. My inclination is to either won't fix this or punt it to D7 and see if troky is interested. I'll leave that up to mcdruid, though, since he is the one actively maintaining D6. It definitely would need to be 2.x, though, not 1.x as 1.x is stable and rapidly approaching EOL.
Comment #3
davidteall commentedYes - we are using 6.x-1.2. I have considered moving up to the -2.0 branch but this is a large Club site and as a matter of policy we stick to what are described as 'stable releases'. We are still precluded from migrating to D7 by some important (to us) modules that have still not produced D7 versions.
Comment #4
davidteall commentedYes - it does behave the same as "add new comment" but that is not what is wanted when one is replying to the previous comment and, as stated, using the big button plays havoc with the core behaviour of editing comments. What I'm asking for is an option to remove the big buttons - not removing them altogether.
Comment #5
michelleMy point is that the big button has nothing to do with the editing of comments because it is always replying to the topic starting node. This is standard forum behavior. The reply links on the replies are replying to those replies (comments) and the large reply buttons reply to the thread (node).
So what you are asking for here is a setting to turn off standard behavior which would would be a UI change for something that is pretty edge case. That's not something that is done in a stable release. If mcdruid wants to, this could go in 2.x but we are trying to get 2.0 out so it's really up to him if he thinks it's simple enough to slip in. Honestly, though, this sort of specialized customization that 99% of sites won't need is better done in the template files than in a setting to avoid having an over complicated settings page that tries to account for everyone's preference.
Comment #6
davidteall commentedI hesitate to argue with you, Michelle, as you are undoubtedly the Queen of all things Forum on Drupal, but I believe you are wrong.
The Big button has everything to do with editing comments because of the way the core behaviour is written. Read through my 'Explanation' again.
Normal behaviour is to allow Users to edit their comment up until the point someone else replies to it; then the edit button disappears. If the reply is made using the small edit button at the bottom of the comment in question this works correctly. However, if the reply is made using the Big button, as it is a reply to the node and not to the comment, it does not cause the edit button to disappear and therefore circumvents the 'normal' expected behaviour. If there are 20 replies to a topic, all made using the Big button, all 20 retain the ability to edit. This is absolutely not normal behaviour and it is definitely not desirable.
I accept that the Big button has the look and feel of phpBB or other look-alike Forums, but the action is not the same. They are not encumbered by the Drupal distinction between nodes and comments and on their boards, no matter how many places a Reply button appears, they all do the same thing. That is not the case in Drupal.
The small Reply buttons allow the edit comment feature to work correctly as intended by the Drupal core designers.
The Big button circumvents the normal comment edit feature so that it does not work correctly.
Comment #7
michelleYou're not making any sense. If someone clicks the big reply button, they are not replying to a comment. So comment editing is moot. Replying to a node has never affected the ability to edit the node. Clicking the button = clicking "add new comment" on the node. The only thing AF is doing is making that link more prominent and making it look like standard forum software which is the whole goal of AF. It's not changing any functionality. Replying to the node still works just like replying to the node always does. It's just duplicating the link and making it look pretty. If you don't like the extra link then, really, making the change in the template file is what makes the most sense. The more I think on it the more I really disagree with adding a setting for this. Unless mcdruid / troky object, I think this is a won't fix.
Comment #8
davidteall commentedI am well aware that, in a technical sense, they are not replying to a comment, but they think they are. That is what causes the problem.
With a 'Flat' Forum, which I suspect the vast majority of us have, an interested User starts at the top (or wherever they got to last time if it is a long on-going thread) and reads down the page until they get to the end. If they want to add their two-penneth they look around for a Reply button to click. Having got to the bottom they are faced with the choice between a small Reply button at the bottom of the last post and the Big Button just below it. The average user has no idea that these two buttons do different things so the majority click on the Big Button.
As I said before, if there are 20 replies to a topic, all made using the Big button, all 20 replies retain the ability to edit. This is not 'normal' behaviour and it is not desirable.
If I'm still not making any sense to you, may I perhaps put a question to you. Are you happy to have a Forum in which Users can go back and change their posts for ever, even when the post is 10, 20 or maybe 50 steps back from the end of the conversation?
Comment #9
michelleAh, so the issue isn't that AF is doing something against normal behavior; the issue is that your users are confused between the two links. So, yeah, this is really, really edge case and not something I would consider for a settings page. My co-maintainers are quite a few time zones ahead of me and likely sleeping or close to it so I'll let this rest a day or so and see what they think but my opinion is this is a template editing customization rather than something AF should be making a setting.
Comment #10
davidteall commentedIt depends upon your definition of 'doing'. No, it is not behaving abnormally, but by giving prominence to the Big button, it is encouraging Users to behave in a way that results in abnormal behaviour.
Did you see my Edit to my previous post? I said:
If I'm still not making any sense to you, may I perhaps put a question to you. Are you happy to have a Forum in which Users can go back and change their posts for ever, even when the post is 10, 20 or maybe 50 steps back from the end of the conversation?
I realise, of course, that I should not have posed that question by way of an edit - but the button was there!
Comment #11
michelleI locked editing of posts on my forum after a couple hours. I never relied on this method because it's very confusing when you only lose the ability to edit a reply when someone comments on it. Personally, I'd rather go the other direction and get rid of that lock on reply "feature" but that's really out of scope for the module.
At any rate, what is there is by design to bring forums closer to the "norm" of stand alone forum software. If you need to customize it for your site because your users aren't used to normal forums and don't understand which link to use, that's a perfect use case for customizing the templates. Not sure what to say beyond that... Unless something else comes up that I need to respond to, I'm just going to let this wait for the co-maintainers to weigh in.
Comment #12
davidteall commentedThe problem is not because my Users are not used to normal stand alone software - it is because they are! We used phpBB for 5 years before we switched to Drupal.
Having a system that behaves in a different way depending upon whether you click the Big button or one of the small ones is very confusing for anyone.
Comment #14
davidteall commentedI've been thinking about this problem a lot overnight. It might be helpful if I amplify the problem I am trying to solve:
The crux of the problem is the Edit button remaining on posts for ever and a day. This creates a whole range of problems:
phpBB and other dedicated Boards deal with this by giving you the ability to set a time limit on editing.
Drupal has a more sophisticated system built into core by which Users can edit until someone replies to their post - then the ability and the button disappear.
This sophisticated core ability is circumvented if Users reply using the Big Button. It is also circumvented by having a comment form on the page as here on this Forum or by using flatcomments. In all these cases, because the reply is saved as a reply to the original post, not to the comment being commented upon, the ability to edit the original comment remains forever. That is my problem. For me, the simplest solution is to remove the un-necessary Big Button, particularly from the bottom of the page.
Comment #15
mcdruid commented@DavidT I think that's a good summary of the problem you're trying to solve.
It's interesting but time-consuming to do a survey of how other forum packages deal with this.
My recollection is that phpBB will allow you to edit the comment stealthily until someone has replied and/or a certain time-limit has expired. After that, if edits are allowed, they are annotated in some way in the post.
Some or all of these features may be configurable (or a figment of my imagination).
I'd be interested to know how other packages deal with it - when the mythical 8th day of the week arrives, I may go and have a look.
In the meantime, I think there a couple of ways of addressing your particular issue:
* comment_edited module may or may not be useful (and/or compatible with the version of AF that you're running). I suspect that this will not address the users-interacting-primarily-by-email use case that you describe.
* remove the ability to edit comments at all, or impose a time-limit on editing like the one you describe in phpBB. AFAICS this would require the addition of another contrib module - candidates include comment_perm and advanced_comment. There is also a very long-running but not yet resolved issue to add this sort of thing to core: #290246: Edit own comments permission
* remove the 'big' reply-to-node button.
The last option certainly appears to be the simplest, but for reasons already outlined I am not inclined to add this as a feature (it wouldn't be added to the branch you're using anyway).
As you'd only really be hiding the button rather than actually disabling the functionality that you don't want, I'd probably recommend that you either remove the button from your template or - even simpler - hide it with CSS.
I won't close the issue just yet, but I'm leaning towards "won't fix". We'd welcome any documentation you might be able to contribute about the issue and potential approaches to getting the desired functionality.
Comment #16
davidteall commented@mcdruid Very many thanks for your detailed response.
I don't have any documentation to contribute - just the experience of running a large board-full of Forums for a National Association, some open to ordinary members and others open only to members of specific committees or working groups. I used phpBB for three years or so and switched to Drupal (which we were already using for the rest of the site) about 18 months ago.
phpBB has moved up a release since I was using it, but I have had a look through the documentation today. You can configure a global time period for all your Forums after which the edit function is removed. You set the time in minutes. As you say, other boards no doubt have other systems, some configurable and others not. Those dedicated boards that use the system of allowing editing until there is a further reply would not, of course, have the problem that Drupal has of a distinction between replying to the initial post and replying to a comment. To them a reply is a reply is a reply which is why they can have just one big button top and bottom. AF has emulated this in appearance, but for the reasons already stated, not in the way it affects subsequent editing rights.
I have noted that D7 introduces a check-box in the Permissions Table for 'Edit own comments' which is not available to me in core D6 but which can be achieved by deploying the 'advanced comments' module. These two systems allow Admins to easily remove the ability to edit comments completely. It does not, however, help to deal with granting permission to edit in a way that would work better with AF.
You asked for my thoughts on determining 'desired functionality.' As I see it, the first step is to decide upon whether or not to allow any editing of comments at all. If the answer is yes, the next question to ask is whether the ability to edit should last forever or whether it should end at some point. If the answer is that it should end at some point, the final question is what factor or factors should be used to determine the end point. Should it be purely time, as in phpBB, or should it last until a further post is made?
FWIW, the needs of my Users would be best served by allowing editing until such time as any further reply is made, irrespective of whether that reply is made by replying to an individual comment (clicking on a small button on one of the comments) or replying to the original question (clicking on the Big Button, filling in the form at the bottom of the page (if present) or replying by email.)
Although I learnt to programme in BASIC in my 30s I have never learnt PHP and so, regrettably, I can't take this process much further. I know it is possible to switch off the core system of allowing editing of a comment until it is commented upon, natively in D7 and in D6 using advanced comment. I suspect it may be possible to replace this with the desired behaviour by introducing some conditional statements into the template that determines the placing of the edit buttons, but that suspicion might be totally erroneous. Thankfully, those of you who do speak PHP will be able to answer that.
Comment #17
davidteall commentedPensées d’escalier
I have corrected a typo in para three of my previous post - it should have referred to the 'advanced comments module' not advanced forum.
I have edited the penultimate sentence of the final paragraph to read:
I suspect it may be possible to replace this with the desired behaviour by introducing some conditional statements into the template that determines the placing of the edit buttons, but that suspicion might be totally erroneous.
I had erroneously put big buttons.
On further thought, I don't really like this approach much as it is dealing with the placing of buttons rather than the permission itself which should then determine the placing of buttons. Maybe what is needed is a separate module similar to advanced comments that removes the core behaviour on comment editing and replaces it with what is needed as described in the penultimate paragraph of my previous post.
Comment #18
michelleI disagree that Drupal's is more sophisticated. I think it's a confusing way of doing it that leads to more problems than simple time limited editing.
FWIW, I implemented time limited editing in a custom function that ran on cron to change the input format to "locked" (custom input format) after 2 hours. It's a bit hackish but gets the job done.
In my opinion, the problem here isn't the button, which is perfectly normal forum behavior, but Drupal's screwy way of locking replied to comments which is non-standard. Removing the button may be easier to do but is a backwards fix from my perspective. Unfortunately, there's not much that can be done from AF since this comes from core. It will definitely be fixed in Artesian, though.
Comment #19
mcdruid commentedAnother module which sounds like it might do (some of) what you want DavidT: http://drupal.org/project/edit_limit
...and (not for the first time) it looks the D7 branch of AF is a few steps ahead: #1349692: Time-limited editing
I'm going to close this issue now, as I think we've established that we're not going to mess with the big button.
If the time-limited editing patch gets into AF 7.x perhaps we'll backport it to 6.x if D6 is still alive.
Comment #20
davidteall commentedI know this issue is closed, but I just wanted to say thanks to mcdruid for the link to the edit_limit module. I thought I had searched and found all the modules on comments but I had failed to find this one. It solves all our problems. By setting a time-limit on both nodes and comments the built-in core mechanism for removing edit rights becomes irrelevant so it no longer matters which button was used to make the reply. I now have our Forums working how I want without having to remove the Big button to do it. Wonderful.
Maybe edit_limit should go on your list of modules that work well with AF.
Thanks again.
Comment #21
michelleGlad you found something that works. I agree that time limited editing is much better. Feel free to add it to the recommended modules. Anyone can edit Drupal's community docs.