News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Topic Merging = lost links; is there an easy way to fix? (I found the hard way!)

Started by Vince S, October 22, 2014, 04:22:50 AM

Previous topic - Next topic

Vince S

I am surprised searching this board didn't find prior discussions of what my core q is here, so maybe this is a symptom of something else?

The problem: Chatter occurs in a topic that happens to include useful background info, pics, forms etc. Then we decide it is time to tell everyone about it which I do as Admin. I can't just reply and Announce it, I can only "Announce Topic" if it is new. Fair enough, I do that and it goes out just fine.

So I have this isolated post that was announced and contains a relevant summary / additional info, but all the detailed info is in another topic so I merge them. Immediately, nobody clicking the link in the sent email gets to the topic as, being the newer topic, it gets deleted. The ID number doesn't get recycled for another new topic so at least there is numbering integrity, but the user is looking at an error and needs to be smart enough to check the index and find the relevant topic and basically help themselves - which about 2/3 no drama they will sort it, although I would rather they didn't have to.

I do know I have an option to link to the real topic and to reply to this single post topic with a referring link also. But it is untidy. And there is no managing the things people do - eg "he promised I could get all the info by clicking on the email but I can't see it" (totally missing the other links contained therein). There are other ways to stuff up but I will resist listing them.

The obvious thing would be if any merged smf topics had a cross-reference list for the newer but deleted-on-merging topic. When one merges there is a tick box for "Include notifications?" which you would think does this basic housekeeping task but, whatever that actually does, it is not this.

The reason I say "whatever that actually does" is that noone has mentioned it in the manual, see http://wiki.simplemachines.org/smf/Merging_topics. OK if it is there and I needed to have a woman's look please make some smart-Alec(ess) remark and put me out of my misery.

Because I just, yet again, stuffed up this topic merging thing I have found a not-too-hard-really-but-pretty-stupid kinda workaround I can offer up as an instant fix to others, depending where this topic goes. So I merged the topics and have all the info together, but splatted the email link so no new readers will find it! The process to get something that works is as follows:

1) You need the Announced topic ID number, get it by some means. Fortunately I know the topic ID as I get myself sent a copy of the Announced topic courtesy of a dumb-user account to let me know what the plebs are seeing.
2) Start a new topic and give it the same name as the topic with all the bumf in it but  post content is a word like "test", as it doesn't matter. Note the new topic number.
3) Open phpMyAdmin however you know to do that (ie CPanel)
4) Select the smf database, usually pretty easy to figure it out, and hit edit or open or whatever it is, I forget!
5) You should see some sensibly named columns for lots of things you don't really want to understand. The first column has the topic ID in it. Click twice on the column header which will reverse sort it so the big numbers are at the top.
6) On the row which has the number of your newly created dummy topic click edit at the beginning of the row.
7) Change topic ID to the number that went on the Announced topic and click Save and get out of there.
8) Now you will find the Announced topic link works again, but there is nothing there. Reply to the nothingness with a post containing the link to your main topic with all the info in it and lock it.

That will fix it. Now anyone clicking their email link will get this single link post, go "Oh Duh", click it and it's all good again for them and you rest knowing all the relevant info is in the one place and the discussion can continue to develop from there, safe in the knowledge that anyone that wants to participate / just know the details will find their way there.

But is there a better way?
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Vince S

PS: I will add "the thinking man's solution" is to NOT merge the topics in the first place but simply copy paste the Announced topic as a reply to the main topic then edit the Announced topic to delete the content and insert the link to the other topic and lock the sucker. Same outcome, less pain. But this of course only works if you thought to do it BEFORE the Merge as there isn't a Whoops button anywhere! Not counting the daily host back-ups which do actually work, but open a whole new can of potential worms....
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Kindred

no -- in short - there really is no good way to do what you are asking about....


If you merge threads - one of the thread numbers is going to go away...   trying to keep track of 122 merged into 103, etc would be expensive and could eventually run into issues. 122 merged into 103. 103 merged into 89. 89 merged into 234..........

yikes.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Vince S

OK, so at least the situation is logged here and a couple of workarounds for the before / after you know about the problem people can use as they see fit.

What about this part:
Quote from: Vince S on October 22, 2014, 04:22:50 AM
When one merges there is a tick box for "Include notifications?" which .... no-one has mentioned it in the manual, see http://wiki.simplemachines.org/smf/Merging_topics. OK if it is there and I needed to have a woman's look please make some smart-Alec(ess) remark and put me out of my misery.

What do those tick boxes do? And can whatever that is be added to the wiki? Thank you.
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Illori

notifications as in the ability to get emails etc on new replies that have been made if the user is already getting notifications on one of the topics.

anyone can edit the wiki with over 10 posts, so you could even add it.

the docs team is not done editing/viewing the existing pages and this may need to be revisited.

Vince S

Thanks Illori, I didn't know that. So I added the following:

5. The topics to be merged also have tick boxes for "Include notifications?" which the default is ticked. This provides the ability to get emails etc on new replies that have been made if the user is already getting notifications on one of the topics.

Edit: and then added this to cover my issues here, so at least they can find out about it:

6. Note that the merged topic will retain the topic ID number of the oldest topic, so any links to newer merged topics will not work. If that is a problem then don't merge them! Some combination of topic splitting and copy pasting posts across and leaving only a link in a locked single post topic for the newer topic/s you still want links to work for is what you need. It is also possible to edit the database directly in phpMyAdmin to change merged topic ID's if you know what you are doing. Be sure to back up first!
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Illori

i am not really sure #6 is needed, most moderators and admin dont care about the old topic id not existing or needing a redirect.

Vince S

I think it is a matter of completeness .vs. caring. But I edited it to be more direct as follows:

6. Note that the merged topic will retain the topic ID number of the oldest topic, so any links to newer merged topics will not work. Most likely only an issue with a new "Announce Topic" topic, as merging it with an older topic means links in the email just sent will get a "not found" error. If that is a problem then don't merge them! Copy paste the new post across and leave only a link in a locked single post topic for the newer topic. It is also possible to edit the database directly in phpMyAdmin to change merged topic ID's if you know what you are doing. Be sure to back up first!

I think this info does belong there as it is a direct consequence of people merging topics that needs to at least be illustrated. That is after all, a help wiki; it should help! It is a deliberate feature that is not obvious and does cause at least some level of designed in dysfunction, may as well tell 'em about it.

I do happen to disagree with Kindred about "trying to keep track of 122 merged into 103, etc would be expensive and could eventually run into issues. 122 merged into 103. 103 merged into 89. 89 merged into 234.......... yikes." as it is a simple logic gate we are talking about. However I "get" the implementation and return on effort issues, and agree with the outcome - ie drop it.
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Illori

mentioning to go into phpmyadmin to change anything manually is a big no no. the majority of the admin dont know what they are doing so we should not even tell them to think it can be done as they can cause more problems then they can fix.

Vince S

Ok. Deleted the last two sentences about that. And there I was, a big fan of "Personal Responsibility" - what they do with the info is up to them (and me when it is me!).

But the reality is that anyone that could do this doesn't really need reminding.

You can tell from my own "hack-ish" OP description I have just enough knowledge to be dangerous. A more elegant solution I would have bothered to understand the subtleties of first & last post columns and whatever else - but the thing is I know a fair bit about how databases work, but I am relying on the code to manipulate the database in sensible predictable ways without me having to understand what they all are while I push around my problem of the minute, given the previous action was to hit those Backup Database buttons!
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Kindred

also, are you CERTAIN that it retains the OLDEST ID?

I do not believe that is correct...

if I tell the system to take thread 1234 and merge it into thread 9876, I believe that the system will keep 9876 and remove 1234 --  in other words, it keeps the TARGET thread ID, regardless of which was older.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Arantor

Quotein other words, it keeps the TARGET thread ID, regardless of which was older.

That is how it works, as far as I remember. Which is why it's explicitly using the word target in the UI ;)

Irisado

Thank you for bringing this to our attention.  The points you've raised do need to be covered.  I have made a few changes though, because what you're outlining here are not steps to be taken, rather they are just issues that moderators need to be aware of.  For that reason, I've turned them into notes or additional points, and removed the numbers.

I have also taken out a little bit of the detail, because the page is concerned with the actual process of moderating generally.  For very specific issues, such as the announcement topic problem/notifications, the wiki cannot cover every eventuality without getting bogged down :).

Kindred: I've just tested it on 40K Online and here, and on both occasions, the older topic ID was retained, even though the target topic ID was newer.  Of course, I could be doing something wrong.
Soñando con una playa donde brilla el sol, un arco iris ilumina el cielo, y el mar espejea iridescentemente

Vince S

Being an engineer, my usual reaction to such a question is to go test all the boundary conditions to prove the validity of the particular topic. but then I thought "Hang on, I AM CERTAIN". Since I just lived this only a few hours ago.

But, for the fun of it, I just tested it and YEP it keeps the oldest one.

Start new topic, test 1

Start new topic, test 2

go to board and see them. check. Yep test 1 is topic ID 955 and 2 is 956.

Open 2. select merge and pick 1.

New topic is ID 955.

start new topic, test 3, ID is 957.

Open test 3

Select merge and pick test 1 (I left new topic as default, which gets merged topic as oldest title by default)

Select all posts to be test 3.

Merge.

Open test 3 - ID is 955 <== Edit - Oops, an actual typo that demolished the whole point of the post!

YEP - ABSOLUTELY DEAD CERTAIN!!!
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Vince S

having done the testing, I figure I could add ", regardless of which topic is selected first" to the new text
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Arantor

Wait... if you merged test 1 into test 3, merging ids 955 into 957 and 957 remains, how is that 'keeping the oldest one'?

Vince S

Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Kindred

Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

Arantor

You know that on other forums I'm trying to earn a pedantic d**kweed badge, right? ;D (Still trying, though the lowest level of badge, for pointing out spelling/grammar... that one I have)

Seriously though, I'm surprised. It's been a while since I looked at the merge code but my understanding off hand was that target meant just that. Might depend which of the interfaces you're using since there are several.

Vince S

That would be a brilliantly intuitive solution. I did think later I didn't try the unintuitive way, I'll just go do that now. ie open the old topic and select the new one to merge with. When I first did this and the latest attempts they have all been to get the outcome I expected and wanted, but I got the other one. Give me five and I'll check for vice versa
Try figuring out where all this is going to keep coming from: Millionaire Baby? Or just pass me a beer and we'll sort it, thank you.....

Advertisement: