Closed (fixed)
Project:
vBulletin (and Photopost) to Drupal
Version:
7.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
25 Jul 2009 at 18:06 UTC
Updated:
21 Oct 2013 at 20:50 UTC
vb_thread contains 15,076 rows.
vb_user contains 13,078 rows.
vb_forum contains 216 rows.
vb_port contains 171,374 rows.
Some of my forums which contain subforums have been imported as containters.
drupal_forum contains 15,076 rows, so I guess the threads have been imported, but they aren't appearing in Drupal output because of the forums they belong to being containers.
I don't mind converting all the containers into forums so if there's an easy SQL query to do so...?
Comments
Comment #1
liam mcdermott commentedWell that's not good! I'll leave this open as obviously it's a bug, in the meantime containers are stored in the variables table, under the name forum_containers. It's a serialised array, but hopefully you'll be able to work out the format, it'll look something like this:
Deleting parts of this will make the containers -- with the corresponding tid (term id) -- into forums, make a copy of the contents of this field though, in case everything goes wrong and you need to start from the beginning again (just copy and paste it to a text editor).
For example, if we have a container called Designing Your Website, with a tid of 1000020 (accessible via: http://www.webmaster-forums.net/forum/1000020 -- we have a redirect to push browsers to the pretty URL, but you get the idea) and we need to turn that from a container to a forum, we would delete
i:1;s:7:"1000020";, then re-number the existing entries like so:Notice that the
a:4:bit is saying 'This is an array with four elements.' andi:0 ... i:1 ... i:2etc. are the array's index, whiles:7is the length of array element. Obviously, text inside the speech marks is the value of the array element.Hope this helps.
Comment #2
liam mcdermott commentedI'm going to assume this is no longer an issue, since it has been a while and no-one else has reported the same issue.
Please re-open this bug if this is still happening though. Thanks! :)
Comment #3
smack08 commentedI am having this issue as well.
All vb forums are imported, but only vb child forums show up as actual forums in drupal, any vb forum that is not a child shows up as a container in drupal. I went back into my vb site and moved all forums that were not a child into a "master" forum, making all of the original non-child forums a child of the "master" forum. after attempting to re-import all vb forums now show up as forums in drupal, with the "master" forum showing up as a container, but none of posts are there, all imported forums show zero posts.
Comment #4
smack08 commentedoops, forgot to set back to active, sorry.
Comment #5
liam mcdermott commentedThanks for re-opening this. Unfortunately I have yet to see the issue myself, so for now I'm at a bit of a loss to explain/fix it.
When I get some free time, I'll try to reproduce it. In the meantime, all the advice I can offer is to hack the array in the variables table, as shown in #1.
Comment #6
liam mcdermott commentedThe good news is that I've now seen this bug in the wild. Expect a fix soon. :)
Comment #7
liam mcdermott commentedStrangely this bug was showing on an imported forum, then the next time I imported the data from vBulletin it imported containers/forums/sub-forums correctly.
It's possible -- though unlikely -- that something I changed in development fixed the issue. Until this bug is reproducible it's going to be marked as needing more info, however.
The version I'm using is from HEAD, though I'll be making a 6.x-2.x branch soon.
Comment #8
piersg commentedI've just imported a vBulletin forum and had this problem. The forum in Vbulletin has no sub-forums, just 13 "top level" forums. Upon import all the posts have been brought in (can be seen in the admin->content pages) but the forums themselves are empty as they are just "containers"
I also had three import errors, probably a side issue:
- "Table 'vbulletin.cache' doesn't exist query: UPDATE cache SET data ...(lots of stuff)... serialized = 1 WHERE cid = 'theme_registry:' in C:\wamp\www\drupal-6.20\includes\cache.inc on line 109."
- "Table 'vbulletin.cache' doesn't exist query: SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'theme_registry:' in C:\wamp\www\drupal-6.20\includes\cache.inc on line 26."
- "Table 'vbulletin.system' doesn't exist query: SELECT * FROM system WHERE type = 'theme' in C:\wamp\www\drupal-6.20\includes\theme.inc on line 471"
not sure why it's trying to read/write to vbulletin.cache and vbulletin.system when it should be updating the drupal database tables "cache" and "system" instead...
Comment #9
piersg commentedPostscript: Using the guidance in the top post, I changed "forum_containers" in the variable table to "a:0:{}" and cleared the cache. Then I revisited the forum and all the posts were there.
Thanks for the module.
Comment #10
liam mcdermott commentedJust an aside: this happens because it's switched to the vBulletin database, Drupal always expects the current database to be a Drupal database. It gets away with this, unless there is an error during the import, then a chain reaction of stuff occurs as Drupal tries to output an error.
Comment #11
Z2222 commentedI'm having a similar problem:
Any ideas where it might be going wrong? It's D6 with the dev version of the module. VB4...
Great module... the posts are there, but it's not quite working because of that error.
Comment #12
liam mcdermott commentedJust committed a fix for this, hooray!
It's fixed in commit 229c0c8.