Merge Double Posts

Nao

  • Dadman with a boy
  • Messages: 16 082
Merge Double Posts
« le 9 Mai 2011 à 18:34 »
Feature: Merge Double Posts
Developer: Nao
Target: users
Status: 100% (complete.)
Comment:

Some admins don't like when users post multiple messages in a row on a topic. This feature allows them to automatically merge these posts until after a certain delay has passed. Users can also choose to merge posts manually with a Merge button.

Re: Merge Double Posts
« Réponse #16, le 23 Juin 2011 à 08:45 »
Funny, you managed to take what I already said and managed to miss the point.
Citation de Arantor le 23 Juin 2011 à 00:10
The only case that could be made for not flagging it unread is if you already read the later post, then happened to manually merge after the event.

When the new post is made and auto merged, it is new content you won't have seen, so it should be marked unread.
That is exactly what you described and I believe it's already accounted for, it certainly is for the person doing the merging. In all other cases, it would be new content for people to read - especially if you happen to reply just after it which causes all the normal behaviours to be triggered anyway.

Re: Merge Double Posts
« Réponse #17, le 11 Août 2011 à 12:10 »
Hey.
I've been thinking of an alternative way of doing double-post merging... One that might be less disruptive, although needs discussing.

Instead of actually merging posts, we could simply show them together... i.e. if the current post is by the same author as the previous one, we don't 'close' the postbox for the previous message, then we add our message, and we close the postbox, only if the next one is not by the same person. Etc.

We could keep showing buttons for each individual post, meaning we'd show a link, a date and quote/edit etc. buttons on each post inside the pseudo-merged post.

Pros:
- you can easily split posts into new topics, even after they're been pseudo-merged with others...
- you can answer a sub-post and its parent ID will be easily found, i.e. you can track a conversation's parents more easily.

Some cons:
- doesn't fix database space
- can't easily determine if you want to pseudo-merge your posts, it's all automatic. Maybe we could have a 'merge' field in the message table though.
- if someone posts 15 messages in a row, the entire page will be filled by their pseudo-unique post, and then the next one will be on the following page.

The latter is a pro rather than a con, to me. I'm not a big fan of overly long topic pages!

Re: Merge Double Posts
« Réponse #18, le 11 Août 2011 à 12:17 »
Interesting approach.
Citation
- you can easily split posts into new topics, even after they're been pseudo-merged with others...
You could do that with existing merged posts if the merge code has been retained.
Citation
- you can answer a sub-post and its parent ID will be easily found, i.e. you can track a conversation's parents more easily.
True, though it would make the actual process of handling threaded replies a lot more complex overall.
Citation
- doesn't fix database space
The difference on InnoDB isn't particularly significant.
Citation
- can't easily determine if you want to pseudo-merge your posts, it's all automatic. Maybe we could have a 'merge' field in the message table though.
Could do that, yes. I think you'd populate it automatically in the same cases that it'd be done now.
Citation
- if someone posts 15 messages in a row, the entire page will be filled by their pseudo-unique post, and then the next one will be on the following page.
Yeah, that to me is quite a big con; personally if posts are merged, I'd expect them to be treated as atomic units, i.e. as a single post.

Re: Merge Double Posts
« Réponse #19, le 11 Août 2011 à 12:40 »
Citation de Arantor le 11 Août 2011 à 12:17
You could do that with existing merged posts if the merge code has been retained.
Hmm... But you'd have to create new posts to accommodate for that, and you know what happens with old posts that have a higher ID...
Citation
True, though it would make the actual process of handling threaded replies a lot more complex overall.
I don't see where?
Citation
The difference on InnoDB isn't particularly significant.
Because it doesn't delete the old post anyway, right? If that's true then the new solution would actually be better...
Citation
Yeah, that to me is quite a big con; personally if posts are merged, I'd expect them to be treated as atomic units, i.e. as a single post.
Are you sure?
Here are two quickly made mockups.
The first has the same layout as on the blog here. The second shows what it would be with an alternating color. You'd basically get the exact same layout and results as a regular page -- the only thing is that the avatar, user details and signature aren't repeated on each and every post. Which, I think everyone will agree, is the main reason why we hate double posts with a passion... :P

📎 pseudomerge.jpg - 37.2 ko, 640x251, vu 472 fois.

📎 pseudomerge2.jpg - 37.8 ko, 640x251, vu 432 fois.


Re: Merge Double Posts
« Réponse #20, le 11 Août 2011 à 12:51 »
Citation
Hmm... But you'd have to create new posts to accommodate for that, and you know what happens with old posts that have a higher ID...
Store the original id; when it's reinserted it will take its original place.
Citation
I don't see where?
With a single post being formed, any threaded replies would also be merged into that branch. If you retain the two posts, you have to figure out how the final thread would be shown.
Citation
Because it doesn't delete the old post anyway, right? If that's true then the new solution would actually be better...
It probably would make a little difference, but I wasn't pointing it out as a pro/con, more that it can make a difference that shouldn't be forgotten.
Citation
Are you sure?
To me I think of posts as atomic items and merging double posts does seem logical to make the result atomic.

The whole double post thing isn't just about dealing with the signature and avatar and so on... it's also about keeping it a single post, in terms of management, in terms of replying to it, splitting and so on. I can see the wisdom of being able to split two merged posts, but at the same time I'm not keen on it looking like two posts; if I merge two posts I want one physical post.

Let's just say for now that I'm not against the idea but I'm not entirely sold on it yet.

Re: Merge Double Posts
« Réponse #21, le 11 Août 2011 à 16:16 »
Citation de Arantor le 11 Août 2011 à 12:51
Store the original id; when it's reinserted it will take its original place.
Oh, that sounds messy to me... How so? [merge id=12345 date=67890]?
And even then, it can be a problem if someone starts playing with the tag to use an existing message ID in it, things like that... Things could go wrong. That's not something I'd see myself do, really -- the potential mess is horrible.
Heck, I don't even think we can insert a message ID and set the id_msg manually. It'll always rely on autoincrement. And I don't see myself modifying the table on the fly to remove the autoincrement flag and reset it later... :P
Citation
With a single post being formed, any threaded replies would also be merged into that branch.
Err... No?
Citation
If you retain the two posts, you have to figure out how the final thread would be shown.
Hmm...?

Post 1 by Nao
Post 2 by Arantor
Post 3 by Nao
Post 4 by Nao

Becomes, to the user:

Post 1 by Nao
Post 2 by Arantor
Post 3 by Nao
Post 4

Post 4 has its own quote, edit buttons etc. Now, let's say I (not Nao) want to answer the part that is in post 3... I click the quote button there. I submit. I'll thus create a Post 5 with a parent ID that is post 3, not post 4 (it would be post 4 if posts 3 & 4 were actually merged like they are now.)
That is -- if I want to show a threaded view, I'll get this:

Post 1 by Nao
Post 2 by Arantor
Post 3 by Nao
  Post 5 by Someone
Post 4 by Nao

(Whether or not we should show "by Nao" on Post 4 in threaded view is something we'd decide later on, depending on the layout and design.)
Citation
To me I think of posts as atomic items and merging double posts does seem logical to make the result atomic.
I'd like to know our users' opinion on this.
Citation
The whole double post thing isn't just about dealing with the signature and avatar and so on... it's also about keeping it a single post, in terms of management, in terms of replying to it, splitting and so on. I can see the wisdom of being able to split two merged posts, but at the same time I'm not keen on it looking like two posts; if I merge two posts I want one physical post.
We can always add a profile setting to view posts as a single one, as a series of separate posts, or as an in-between version with posts merged together but all buttons available for all posts.
Citation
Let's just say for now that I'm not against the idea but I'm not entirely sold on it yet.
'kay ;)

Re: Merge Double Posts
« Réponse #22, le 11 Août 2011 à 16:25 »
Citation
Oh, that sounds messy to me... How so? [merge id=12345 date=67890]?
Yup. Then when you de-merge the post, you insert a new row in the messages table with id 12345. Then again, not recommended for InnoDB which will cause trouble since it'll force the entire messages table after that point to be rewritten.
Citation
Heck, I don't even think we can insert a message ID and set the id_msg manually. It'll always rely on autoincrement
Yes you can, it works as you'd expect: supply an id and it'll use it, don't supply it and you get the benefit of auto-increment.
Citation
Err... No?
So...

Post 1 by Arantor
  Post 2 by Arantor
  Post 3 by Nao
    Post 4 by Nao

If you merge posts 1 & 2, surely you'd end up with:
Post 1 & 2 by Arantor
  Post 3 by Nao
    Post 4 by Nao
Citation
(Whether or not we should show "by Nao" on Post 4 in threaded view is something we'd decide later on, depending on the layout and design.)
This is the bit I'm referring to.
Citation
I'd like to know our users' opinion on this.
Sure thing :) That's part of the reason I'm not entirely against the idea.
Citation
We can always add a profile setting to view posts as a single one, as a series of separate posts, or as an in-between version with posts merged together but all buttons available for all posts.
Works for me :)

Re: Merge Double Posts
« Réponse #23, le 11 Août 2011 à 16:32 »
Citation de Arantor le 11 Août 2011 à 16:25
Yes you can, it works as you'd expect: supply an id and it'll use it, don't supply it and you get the benefit of auto-increment.
Didn't remember that :)
Citation
If you merge posts 1 & 2, surely you'd end up with:
Post 1 & 2 by Arantor
  Post 3 by Nao
    Post 4 by Nao
No...? Because we wouldn't be merging the posts physically. That's exactly the point. If you're in threaded mode, you'll see Post 2 after Post 4 in that hierarchy, and in flat mode, you'll see posts 1 & 2 together.
Citation
Sure thing :) That's part of the reason I'm not entirely against the idea.
I think we lost them at disruptive :P
Citation
Works for me :)
As long as we don't add too many options everywhere eheh... :P

Re: Merge Double Posts
« Réponse #24, le 11 Août 2011 à 16:38 »
Citation
No...? Because we wouldn't be merging the posts physically. That's exactly the point. If you're in threaded mode, you'll see Post 2 after Post 4 in that hierarchy, and in flat mode, you'll see posts 1 & 2 together.
Why? That's my point. Post 2 came before post 3 or 4, why would it be after?

Re: Merge Double Posts
« Réponse #25, le 11 Août 2011 à 16:46 »
Because it's another 'thread' in the list...?

Well, of course if you simply added more details to Post 1 by sending Post 2, you can then physically merge them (manually though)...

I agree it would possibly be a bit confusing to newcomers, having manual & automatic merging done this way, but if we're gonna have threads in the future, might as well think about these details ;)

Re: Merge Double Posts
« Réponse #26, le 11 Août 2011 à 16:48 »
It is another thread, but it's older than the post 3/4 thread, so I still don't see why it would become further down the chain - doubly so if you're merging the posts?

Re: Merge Double Posts
« Réponse #27, le 11 Août 2011 à 17:18 »
Uhhh...

Posted April 1 by Nao
I saw a great movie called Deep Throat. Beautiful and very moving!

    Posted June 12 by StupidSoccerMomWhoDoesntReadFullTopics
    You pedophile! I'm gonna press charges!!!

Posted April 2 by Nao
(By the way... April's fool!)

Re: Merge Double Posts
« Réponse #28, le 11 Août 2011 à 17:24 »
That wasn't my example :P

My example specifically had post 1 owning post 2 owning post 3 etc.

Re: Merge Double Posts
« Réponse #29, le 11 Août 2011 à 18:30 »
Looks like a conversation between deaf people :P

Sorry, I have no idea what you're trying to convey at this point..... :^^;:

Re: Merge Double Posts
« Réponse #30, le 11 Août 2011 à 18:52 »
I got a little confused.

Post 1 is the parent of posts 2 and 3, and 3 is the parent of post 4, what happens if 1 and 2 are merged? They were posted in order by number, but your example seemed to put the 3/4 chain higher up in importance than 1/2.