Handling Closing Comments

My website allows me to close article comments, but I have a question about how best to define the flow.

Here is the scenario I am wondering about…

9:59am @ralph_m ; starts typing away on a long, but thoughtful, comment to better the discussion

10:00am Nasty-Nick posts an inflammatory comment and it is clear the conversation is going downhill quickly.

10:01am Prude-Pam takes great offensive to Nick’s comment, and posts a return volley.

10:02am Nasty-Nick strikes again! :eek:

10:19am After 20 minutes of typing, @ralph_m still can’t get to the point!! (Such a wordy devil!!) :wink:

10:20am Debbie-the-Admin decides to CLOSE the conversation before Nasty-Nick posts something else nasty!

10:21am Finally @ralph_m completes typing the perfect Comment, and hits “Submit Comment” button…

10:21:01am <<What happens next?!>>

Option #1:
I trash all of Ralph’s hard work. (Hey, he took too long, and once the thread is closed it is closed, regardless of whether you started typing up a response before it was closed.)

Option #2:
Any attempts to post a Comment after the thread was closed are denied, but if you started typing a response before things were closed, then it will succeed. (Although as an Admin, I could later deny it for continuity reasons.)

Currently, my script checks to see if posting is open when the “Post a Comment” form loads, but after that a scenario like above could happen?!

And since this web page isn’t “real-time” like a chat session, there is no easy way to prevent someone from typing a long Comment only to get denied due to timing issues. So, personally, I say let their posts survive.

But what do you think?!



P.S. No wise-guys telling me, “If you used JavaScript then…” :tdown:

What happens next? ralph.m hits submit but gets some sort of error, hopefully saying "commenting is closed for this entry’, gets very frustrated and sends you an email to complain!

Maybe :slight_smile:

The point is ralph.m didn’t actually submit the comment before you closed commenting. When he hit submit your system couldn’t accept the comment because you had disabled that function.

Normally when you close comments you also prevent the comment form displaying on the page so edge cases like this would be few and far between. But, as you say it could happen, in which case it can be a good idea to write something in your comments script routine to catch this if it happens, and do something useful to tell the user why, such as an error message. Typically your scripting would already have some sort of error checking anyway, probably the most basic for this would be “if comments are allowed - do this ELSE do that”.

This sometimes happens on sites like this, or over at StackOverflow. The nice things about it happening at StackOverflow is that the software alerts you to the fact that the thread has been closed, even while you are typing your answer. I presume it uses Ajax for that. Yay, JavaScript! [runs for cover …]

See, this is a case where JavaScript could actually provide some value-added benefit. (Although it’s still not an option for this version!) :slight_smile:

Since I don’t have the ability to tell people in real-time, I like my idea of allowing people who start before the thread is closed to get their comment posted - or at least reviewed by me.

Fair is fair. If you take time to post a comment on my site, it should not get denied because of a timing issue…

If the post adds something, I will see that and keep it. And if it was just another flame, then poof denied it is!



This isn’t an issue of my script not being able to handle it. The question was, “How would you handle it?”

As I stated before, I think it is better to not penalize posters who start before the thread is closed but don’t submit before it is closed.

How would you like showing up at your bank on Friday at 4:50pm knowing they don’t close until 5:00pm, but by the time you get to the counter, it is 5:01pm, and so the teller refuses to deposit your paycheck?!

Same logic here.

If you “get in the door” before close, the company should help you finish your business before closing for good.

That’s how I see it…


What if Nick and Pam were attempting to write additional comments before you closed the doors? Should their comments be posted as well?

Once you close down a discussion, it should be closed. After all, you closed it for a reason.

Or, simply send everything to a moderation queue for review before it’s actually posted to the site. This is typically what happens, especially for first-time posters.

Let’s try this again… :slight_smile:

Starting a Post ----> Getting inside the bank before they lock the doors

Submitting a Post after Thread was Closed ----> Finishing your business from inside the bank even though they have closed the doors

If you make it inside the bank/store/whatever, most institutions will give you a reasonable amount of time to finish your business even if they are technically closed.


Because you got inside before they closed.

Locking the doors is intended to keep people on the outside out after close.

Locking the doors is NOT intended on kicking everyone out at close.

I agree, but if a person started writing a post/reply before I closed the thread, then it seems reasonable to me to let them submit it.

Think of the opposite side…

If there is a chance every time you post that it might not go through because the Admin might have closed posting, then who in the hell would ever write a super long post?! :confused:

How would you like it if you went to a store, and the checker was super slow, and when it reached closing time, the manager came over, and took away your items/groceries/whatever and said, “Leave!” :eek:

I built that into my site, but after lots of feedback from others on SitePoint, I also added “Flag a Comment” because people told me “community moderation” is better unless someone is a known troublemaker.

And what I have been saying all along, is that it seems best to me that if you start a post before the thread is closed - my code checks this - that you are “in” and can submit the post even if between starting the post and posting the post I close the thread.

I always have the ability to make a comment as “not approved” and then it won’t show.

So if Ralph clicks “Submit Comment” at 10:21am - minute after I closed the thread - then his comment would appear, and if I like it, it would stay, and if I thought it was part of the reason for closing things down, I make it as “not approved” and it is stored in the database, but hidden.

On a side note, I would hope that this scenario occurring would be uncommon, but I am asking so I design things the best way, and not piss of users due to lack of foresight! :slight_smile:



So why are you asking? It seems pretty clear that you’ve made up your mind and are just going to argue with anybody who says otherwise. Am I missing the point somewhere?

My point was that if Pam and Nick were causing a fuss, and you closed commenting because of that, and they were “inside the doors” at closing, their posts would be posted, even though you closed the doors because of their previous comments. IMHO, this kind of defeats the purpose of closing commenting.

First off, I have been clarifying what I originally said because people misstated what was said in my OP.

Secondly, I haven’t seen you add any suggestions…

Do you have a better idea that you’re not sharing?


You make a valid point.

But I also made a valid point.

And it seems that without making some real-time posting system, I may have to choose between these competing points of voice… :-/

So who have a more valid point? You or me?

(I’m just trying to protect some innocent poster who spends 20 minutes writing an awesome Comment from having their work trashed because I decided to close the thread while they were typing away.

To me, that seems like a greater sin, then if Nasty-Nick slipped in a comment after I closed the thread. (Because I can always hide Nasty Nick’s post, but I cannot bring back the good post from Ralph in my scenario above.)

I guess this is one of those “It depends!” type of things! :slight_smile:



P.S. Let me stress that where this issue is more likely to happen is not when a thread turns nasty, but instead of me arbitrarily closing a thread because it is getting too long or has been open too long.

If you are spending 20 minutes typing a response to a thread where there is a fight, common-sense says, “This thread could be closed at any moment, so if I want to get in the last word, I better be quick about it!”

By contrast, someone like me who likes to wax philosophic, could end up wasting a lot of time working on a Comment to a thread that is going down the right path, and by random bad luck, the Admin looks at it and says, “Ah, this is 7 days old, I think I’ll close it to keep it clean and keep out spammers.”

If I have an active website with lots of commenting, I can see a “collision” like I described in my OP happening more often than I like.

And no Admin wants to deal with daily death-threats because you are trashing people’s passionate comments! :cool:

That is where I am coming from, right or wrong… (Let’s hope the SP Admin didn’t close this thread while I was making some updates!!) :wink:

Why not have a green, amber and red countdown system which will alert posters they had better be quick?

The only way I can think of to do what you’re thinking without javascript would be to save the time stamp of the page being loaded, then comparing the timestamp of the page load and if it’s before the close timestamp, allow the comment.

A couple dangers here:

  • I can open a page and go away for a week, then come back and make a comment without reloading the page, so you could end up with a comment made an extraneous amount of time after it’s been closed.
  • Any html form field, even hidden, can be edited before it’s submitted, so if a person figures it out, they can always back date their forms before they post, so they’ll scoot around the rules.
  • If you’re allowing this type of behavior, that means a mod/admin will have to go back at some other time later to review those post closed comments to ensure they’re valid. That’s double work, and will get annoying quickly.

Personally, I’ve been caught by this a couple times as a user and , while it’s frustrating, unless it happens ALL time time, it’s no big deal. And I don’t think I’d feel comfortable as a mod/admin for having comments being added after I’ve closed a thread for commenting - there’s usually a very good reason why it’s been closed.

Maybe in v3.0… :wink:


You make some very good points! :tup:

I decided to take your advice and err on the side of reducing Admin work, and if this becomes an issue with lots of users getting “stuck between closing doors”, then I can reassess what I am doing.