Forum Replies Created
In reply to: Importing from phpbb
I had a similar issue when running a migrate with a large amount of posts. I believe it’s usually related to a session timeout in WordPress.
When it starts happening, click ‘Stop’ on the importer, then refresh the page and click ‘Start’ again (after you’ve ensured all the database and conversion settings are correct first). The importer should carry on from where it left off as long as you DON’T tick the ‘start a fresh import’ or ‘purge failed import’ options.
If that doesn’t seem to work, another way (which is a little tedious, but worked for me) is to keep a separate WordPress admin page open (not the one your running the import on) and refresh that every few minutes to make sure the session doesn’t expire.
No we haven’t gone live yet – I’m still developing the new site and haven’t got around to doing another import test yet. I’ve got plenty of tasks to complete before I carry on with the forum so I’ll be using an updated version of bbpress by that time I’d imagine. When you say you’ve started adding support for this, are you talking about the redirects in particular?
@netweb – I’m happy to give it a try, but the problem(s) I think I’ll face are:
1) The ID’s for the Forums, Topics and Replies are all different now that I’ve imported them into bbPress. This is because we’ve had to migrate a whole site over too which meant that around 5000 ID’s were already taken by other posts.
2) The migrated data for bbPress has 68 Forums, 71,006 Topics, and 564,453 Replies so it’s going to be a big job to set up redirects for these individually.
What I was thinking of doing, was grabbing the migration helper data, and writing a PHP script that would look up these old forum and topic ID’s and redirect to the correct place without me having to input any manual redirects.
You mention that if there is no ‘wp_bbp_converter_translator’ table, then it uses the built in WordPress tables – do you know which ones I should be looking in? I’d presume it to be wp_postmeta or something for these particular bits?
It’s certainly an idea… I’ll have a think about it too and see if I can come up with any ideas.
Sure thing, I’ll see what I can dig out. I’m going to be running the import a few more times over the coming weeks anyway because I need to make sure that I have the process down to a t before we decide to go live. The plan of action is to shut down the existing forum 48 hours before go live. That *should* give me time to grab a dump from the forum and import it into the new site before we switch it on…. that’s the plan anyway, I can only hope it goes as smoothly as that! lol
I’m happy to poke around with MySQL and PHP, I’ll see what I can find.
One other thing, if I ‘Reset’ my would that be enough to start an import from scratch without running into any issues? And can the reset script ‘remove imported users’ if the wp_bbp_converter_translator is missing? Not entirely sure where it’s gone – I certainly wouldn’t have deleted it myself, I was hoping to use it to setup a redirect from the old forum topics…
@robin-w The new test doesn’t appear to have fixed the problem, I still can’t view a topics page without it returning a big white screen… so I guess this suggests that the post__not_in doesn’t make a difference, right?
Hi @netweb, thanks for the response. I’ve gathered some more information to elaborate on the issues…
Stickies – the issue here seems to be that the phpBB stickies and announcements have all been imported as ‘super stickies’. There is actually a lot more than 20 posts (my estimate in the original post was waaay out – there was actually about 100 when I went in to un-stick them). These might have been fine had they imported as normal stickies – but having them as super-stickies had a hug impact on forum pages load times.
User import – I thought at the time that it was probably a conflict with username and/or ID but having looked at the posts I’ve adopted, they are all from different users. I have 62 forum topics/replies under my name but looking at the live site, the original authors of these are all different users which makes no sense to me. What’s more is, I haven’t adopted all of the users posts, just like one or two from each user…
…Following on, I now wonder if these are posts that should have been assigned to the ‘Anonymous’ user because I think I may have deleted that user at some point not realising it was a result of the import… I’ll add it back in and see if it fixes my problem.
I didn’t realise that adding a moderators only forum was that easy… I’ve been working with RobinW to integrate the bbp-private-groups plugin, maybe I don’t need that after all.
Repair Tools – our forum has imported 72 Forums, 71,007 Topics, and 564,453 Replies. It’s a fairly large one, but I think I’ve heard of larger forums being imported into bbPress…
User login – I haven’t used a plugin for this, I’ve written it myself. It just does a simple ajax call using the admin-ajax and then calls wp_signon() to attempt to log you in. It’s a fairly simple one, I just need to know which hooks bbPress is using to run the conversions on and hopefully I can just call that action before/after trying to log them in.
Hi, I’m on v1.9.1 – I’ve been regularly keeping this plugin up to date in the hope that my issues magically disappear 😉
It’s anywhere that lists the topics, so /topics or on a buddyPress members profile under ‘forum’ (which I think is just trying to list topics that the user has started or replied to).
Originally, happened on the ‘move’ action too, but you fixed that by adding the moderator/keymaster exception 🙂
Stickies – is there a way to ignore stickies during the import? They don’t appear to have come through correctly so it would be nice to simply ignore them (as was previously the case).
Users – looking at the phpbb data, the amount of imported users seemed to match up, but I wonder if I’ve been assigned posts that were previously changed to the ‘Anonymous User’ that phpBB has at user ID 0… the amount of posts don’t seem to match up with that theory but a ‘majority’ of the posts that have been assigned to me seem to match the logic to an extent (ie, posts that have been moved into a ‘moderators only’ forum for further discussion about actions to be taken).
User Login – that’s correct – I’m just using the wp-signon method so I guess I’ll need to add some kind of do_action() call or something to trigger the conversion? If you can point me in the right direction, that would be great 🙂
Thanks for your help
@robin – sorry, I’m jumping between different tasks at the moment so my replies are a little fragmented…
Ok, so I have
– Group 1 (named Moderators)
– Three forums which belong to Group 1, all ‘public’ visibility – but could/should be private I guess…
– BuddyPress is installed (only for private messages and the user profiles that comes with it)
– In total, we have 72 Forums, 70,728 Topics, and 564,456 Replies.
Having looked at our setup and the errors I’m having with it, I’m wondering if (for my case) it might be worth editing your plugin to change the query; so instead of looking up where posts__in, I look up posts__not_in instead. I think for my case, where there’s a vast amount of forums, but only 3 ‘hidden’ moderator forums, it might work better for me to do it that way.
Does that makes sense? – Do you need any other settings/options to be lists above to replicate my case?
Brilliant, thanks @netweb. I’ve actually started my own which is related to this (as well as a few other issues) here:
I’m happy to edit my post and link to this topic in regards to the repair tasks (if that’s preferable to you?) but there are other parts to my new topic that are not related to this single issue.
Did you manage to fix this? I’m experiencing the same issue I think.
Also, I get errors when running two of the ‘Repair Forums’ tasks:
– Recalculate the position of each reply
– Remap existing users to default forum roles
Both tasks end up white-screening on me 🙁 I wonder if the task errors are related to the forum import failing?
When I try to look at the “Moderators Forum” I get the following results:
Viewing as Moderator/Keymaster : Forum is VISIBLE (expected)
Viewing as user not in group : Forum is HIDDEN (expected)
When viewing a topic that is within the “Moderators Forum”, I get the following results:
Viewing as Moderators/Keymaster : Topic is VISIBLE (expected)
Viewing as user not in group : Topic is VISIBLE (NOT expected)
I believe this is an issue for anyone since even non-logged-in users would be able to see this topic if they had the URL for it, which could be generated from a sitemap or something – yet to be confirmed.
Looking at this again, I think something is really broken :/
I have created a user who does NOT belong to any groups.
I have a forum called ‘Moderators forum’ which belongs to Group1.
If I add a limit to the SQL statement for the topics list (which I did in order to check it was the statement that was timing out) – I then see a list of topics limited to that amount, but I also see the moderators forum in there too, but I shouldn’t because I’m currently logged in as the user with no privileges…
Any idea what might be going wrong here?
@robin-w Hi, I’m back! 😛 (and I haven’t forgotten about my promise to donate – I’m still waiting for my invoice to be paid!)
I’ve been testing this plugin, and although the updates seem to have improved a few things, I’m still having issues when trying to list topics.
This appears to be the same error as before, with the query timing out due to the large amount of topics it’s trying to check privileges for.
Is there a way to use the ‘Topics Per Page’ value from bbpress as the limit on the query? I understand this might screw up the pagination slightly, but I’d rather the page count was wrong than the topics listing being unavailable.
I was looking into adding this myself, but I don’t know where I can pull the current page information from in order to set the query offset…
Do you think this would be a viable option to reduce the amount of work the database/php is doing each time?
*edit* Pagination would be an issue if I did the above wouldn’t it… Hmmmm [scratches head].
Would a JOIN sql statement be an option in order to do the matching of groups-to-users-to-topics bit while grabbing the topics, rather than grabbing all topics and then checking each one individually?
@robin-w – I see there is an update! 🙂
1.7 Moderators can now be set to moderate all forums or just their group ones (plus any open forums)
Improved topic filtering to speed performance
allow Super sticky topics to be seen by all forums
Does this mean I can remove the custom reply-move.php file? Is there anything else I need to know about it?
All the best,
Ok that’s perfect! The temporary fix is fine for now, and I have a bunch of other things I need to get on with next week anyway. I’m afraid I’m not able to donate anything until I get some cash in June but if I was able, I’d at least buy you a beer in the meantime! 🙂
@robin-w it’s getting late here and it took me a while to comprehend that… but yes, if I understand you correctly, then that would work. So just to confirm (for my own sanity), you’re saying that:
- Normal forums (for all users/roles) would NOT belong to any group.
- The Moderator-only forums would belong to Group 1
- All users (of any role) would NOT belong to any group
This would mean that ‘technically’, group 1 isn’t linked to any users per-say, but would hide those forums from users because they don’t belong to the group. Moderators and keymasters however, would be able to see it since they have higher permissions.
Is that correct? If so, then yes I’m sure that would work well.
*sorry if I’ve just throw another spanner in the works*
@robin-w I’ve just tried that and can confirm that *unfortunately* the error only occurs when your plugin is enabled.
I’m not entirely sure that the solution you suggest would work for the site I’m using. You see, the private groups plugin has been installed in order for us to add moderators to a specific group so we can lock a few forums off to the moderators only. Normal users will not be part of any groups – and all moderators should be able to see all forums.
The aim here is to give moderators a place to post ideas and discussions about managing and/or improving the forums.
In short, All ‘keymasters’ and ‘moderators’ will have access to ALL forums, but standard users will not be able to see these ‘moderator’ discussions.
Hope this helps.
@robin-w I fully understand that, and I’m grateful that you released it before making it ‘perfect’ because that definition to you might be somewhat different to what it is to me.
The minor issues I have had with this plugin have been completely outweighed by the perks and it’s saved me a LOT of time had I needed to build something similar myself – not to mention the fact that I would have overlooked a lot of things and ended up with something much less functional. So I apologise if any of my feedback seems negative because that’s not my intention at all – at the end of the day, the plugin (from day one, without any improvements) is exactly what I needed.
Thanks for going out of your way to help the WordPress community – it’s very much appreciated. And say thanks to your wife also for being cool about the hours you put into it 🙂 This developer right here certainly appreciates it 🙂
as a side note, it’s probably worth utilising the
bbp_get_reply_post_type()from bbPress instead of hard-coding the ‘forum’, ‘topic’ and ‘reply’ in there. It’s not affecting what I’m doing right now, but you can bet it’s going to upset somebody sometime 😉
– You may already have that in mind but I just figured, since you want people testing it, that it’s worth pointing out.
Haha I appreciate this very much @robin-w I’ll try that now and let you know how I get on 🙂
Have a nice weekend!
Ok thanks @netweb, it appears that the query grabs every topic, then looping through them to check that the user has permission to view them (by getting the forum ID for each post).
This happens before bbp has even pulled the topics back from the database, so presumably if there’s pagination involved, theres a lot of work going on here that needn’t be.
In regards to the http://www.site.com/topics/ issue:
Would it be possible to instead add a filter to the topics that were pulled back from the query – so for example, if you’re on page one and that’s showing 20 topics – you only need to check the permissions for those 20 topics.
In regards to the ‘move’ issue:
This one is a bit different in that it does pull back all the topics – BUT if you’re moving a topic, then your going to be a moderator or a keymaster so we probably don’t need to check permissions in this case anyway.
With those points in mind, do you know of any other filters that we could tap into instead of adding a filter to the