Jump to content

Cross Posting: IPB 3.x feature?


Speed Racer

Recommended Posts

I had a thought for a new feature that I believe would be useful to some people. There is always the case where a person posts but the topic fit more than one forum. Members will either post the same topic in both forums or a moderator will move the topic as they feel fit.

My suggestion is to add an option to allow the topic to be cross posted in several forums. Technically you would add a mysql field (or make the current forumid field a comma separated list) that would contain the corss posted forumid's. The default would be the current forum but members would be allowed to add more forums the topic would show up in (max limit set by the ACP). I think that technically this is not that hard to do (when displaying topics/posts simply parse that field first to find if the topic is in there -- or even easier if there is a hard limit of two forums and a second "alternate forumid" is created). I am not sure on the added CPU Loading (prob not that much as there is not an additional mysql call (simply a php parsing of a comma seperated list).

I know there are lots of little details to add when implementing but I hope I expressed the idea well enough. I don't think it would require a massive rewrite (only a change to a couple of specific functions).

Thoughts?

Link to comment
Share on other sites

[quote name='Speed Racer' post='1781072' date='Jan 14 2009, 04:52 PM']I had a thought for a new feature that I believe would be useful to some people. There is always the case where a person posts but the topic fit more than one forum. Members will either post the same topic in both forums or a moderator will move the topic as they feel fit.

My suggestion is to add an option to allow the topic to be cross posted in several forums. Technically you would add a mysql field (or make the current forumid field a comma separated list) that would contain the corss posted forumid's. The default would be the current forum but members would be allowed to add more forums the topic would show up in (max limit set by the ACP). I think that technically this is not that hard to do (when displaying topics/posts simply parse that field first to find if the topic is in there -- or even easier if there is a hard limit of two forums and a second "alternate forumid" is created). I am not sure on the added CPU Loading (prob not that much as there is not an additional mysql call (simply a php parsing of a comma seperated list).

I know there are lots of little details to add when implementing but I hope I expressed the idea well enough. I don't think it would require a massive rewrite (only a change to a couple of specific functions).

Thoughts?


So I took a look at the 2.3.6 IPB database and I understand what changes are needed on the dB side. I think a comma delimited field is not the way to go as you can no longer use a select statement to get topics for a given forum. It might be useful to have a second field for a single "alternate forum".

I suggest changing the ibf_topics table to add the field:

forum_id_alt

This field will contain the alternate forum id (if any) that can be added when a topic is created or edited.

There will likely need to be a change to the MYSQL query that gathers the topics in a forum when people view a forum. Right now the query (simplified) is probably something like this:

Select * from ibf_topics where forum_id = '$forum' order by '$sort_criteria' limit $start_count, $end_count

and it will need to be:

Select * from ibf_topics where (forum_id = '$forum' or forum_id_alt = '$forum') order by '$sort_criteria' limit $start_count, $end_count



There are lots of other things to change like when you view a topic show the correct forum that you are in (in the bread crumb trail). But the above change is the main one. Also you will need add the mysql/php/form queries to allow the user to select and submit the alternate forum when creating/editing a topic.

Link to comment
Share on other sites

While obviously I haven't looked into this fully, nor do I have say over what features are added - I think it may be a little more complicated than you are thinking, this is just off the top of my head:

1) Searching - the search engine would probably need a bit of a rewrite to accommodate this
2) Permissions - what if they have permission for the alternate forum, but not the main one? Can they see the topic in the alternate forum? If no, it would be too resource intensive to work, if yes, well then, we have a bit of a permissions problem...
3) Moving - what if the thread is moved? Does it move from the forum it is moved from? Or both? What happens if you try to move the topic in the alternate forum to the main one? The move function would have to be rewritten a bit however that is decided.
4) Deleting - if you delete one, does the other delete? The delete function would have to be rewritten a bit.
5) What if someone wants to add an alternate forum after posting? We'd need something to accommodate that.
6) What if someone wants to remove the alternate forum after posting? Even worse, what if someone wants to remove the main forum and make the alternate forum the main forum? We'd need something to accommodate that.


Personally, I think it would be a bit of hassle for a bit of strange feature - in what circumstance would you need this? There might be a better solution, such as allowing announcements to have replies, maybe?

Link to comment
Share on other sites

I would rather add a copy topic feature. You would lose the ability to have replies to one of those topics show in the other one, of course, but you would be able to place a topic in more than one forum. Alternatively, you can move a topic from one forum to the other, which would show the redirect link (if you allowed).

Link to comment
Share on other sites

What if the "moved link" could be changed to have its "last posted time" reset every time the other topic is updated. That would bump the topic (moved link). You could maybe changed the "moved" language file to "copy" and then it would give the same illusion as cross posting. You could have this option in the member post screen and behind the scenes it would simply create the post and then move it... (leaving the "copy" link behind).

Link to comment
Share on other sites

I think cross-postings isn't the correct word here. Mirroring would be a better description. And I think you can use the "moved"-function for this - with a few modifications. Though, I have no idea how it's built - so I may be wrong.

For example, in the drop down menu you could get this option to mirror topic. And then you could choose one or more categories to mirror the topic in. (As you would chose a category to move it to if you moved it) The topic would then be mirrored in those categories. I don't have any good knowledge about how your forum system works (haven't looked a lot on the code). Mirrored topics would've the prefix "Mirror:".

So to answer your questions Mark.
1. Yes, this may be a problem. :)
2. I don't think it will be a problem. The topic still is in one chosen category. So if you can't access the main category, then you can't follow the mirror links. (And it would be a little weird to mirror a link to a forum with less user permissions than those in the main category anyway.)
3. You can't move a topic with the prefix "Mirror:". You will get an error message and/or the option to change which categories the mirror links shall be in or the option to move the topic in the main category with the information on where the topic is located (the "main category").
4. No, you delete the mirror-link, nothing else. Just as you can delete an moved topic link.
5. I don't see how it will be harder after..?
6. You could move the topic (not the mirrors)

Link to comment
Share on other sites

  • 10 months later...

[quote name='TSP' date='16 January 2009 - 12:06 AM' timestamp='1232064414' post='1781222']
I think cross-postings isn't the correct word here. Mirroring would be a better description. And I think you can use the "moved"-function for this - with a few modifications. Though, I have no idea how it's built - so I may be wrong.

For example, in the drop down menu you could get this option to mirror topic. And then you could choose one or more categories to mirror the topic in. (As you would chose a category to move it to if you moved it) The topic would then be mirrored in those categories. I don't have any good knowledge about how your forum system works (haven't looked a lot on the code). Mirrored topics would've the prefix "Mirror:".

So to answer your questions Mark.
1. Yes, this may be a problem. :)
2. I don't think it will be a problem. The topic still is in one chosen category. So if you can't access the main category, then you can't follow the mirror links. (And it would be a little weird to mirror a link to a forum with less user permissions than those in the main category anyway.)
3. You can't move a topic with the prefix "Mirror:". You will get an error message and/or the option to change which categories the mirror links shall be in or the option to move the topic in the main category with the information on where the topic is located (the "main category").
4. No, you delete the mirror-link, nothing else. Just as you can delete an moved topic link.
5. I don't see how it will be harder after..?
6. You could move the topic (not the mirrors)

Would is not be possible to achieve something like this through an RSS Feed of some sort? EG have a forum that feeds to RSS then reference the link in the other forums?

Link to comment
Share on other sites

This is a nice idea, but I agree with bfarber. TSP has a nice idea with mirroring, similarly to moving with link, but there are issues with that as well. The original idea is hard because to achieve well because the forum and topic tables would switch from a one-many relationship to a many-many relationship. This requires a new table and it will add a lot of DB overhead (LEFT JOIN) to each query for a topic. Plus you have to add forum_id references into each URL in order to provide proper navigation. There's a lot other reasons that make this difficult and inefficient.

TSP's suggestion is what I might go for. Last Post, replies, and view counts could be a gray area depending on permissions. It could be accomplished with the hooks system I suspect.

Keith

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...