MyBB import doesn't process on quoted posts PID and date


(Dan Dascalescu) #1

Much like Vanilla Porter, the Discourse MyBB import script doesn’t process on quoted posts the PID (to link to the original post) and date (it’s left in seconds-since-epoch format).


[Announce] Search & replace / batch process Discourse posts
(Jens Maier) #2

This looks similar to SMF2’s quote syntax. You could copy my somewhat over-engineered solution from the SMF2 importer… :smile:

(Dan Dascalescu) #3

@elberet: Unfortunately I don’t speak Ruby and am not familiar with the Discourse internals and DB schema, and the SMF importer is quite different from the MyBB one (I guess the magic is in the MessageDependencyGraph class).

Could you point me towards how, for starters, to patch the MyBB script to convert the date in the quote line?

Also, how practical would it be to just go ahead with the migration, and later patch the quote line in the imported posts?

(Michael - #4

Can you elaborate on what you are doing there? For us, it has never worked, it always gives a ‘recursion too deep’ error and then crashes.

(Dan Dascalescu) #5

I’ve looked some more into this. The quote syntax for MyBB is:

[quote='username' pid='1234' dateline='1412029545']

In Discourse, it’s

[quote="username, post:12, topic:1234"]

How can I get the post number and topic ID from the post ID, via the API? process_mybb_post would need to be updated to take that into account; BTW, the import_id parameter isn’t used.

(Kane York) #6

You want to call post_id_from_imported_post_id from the import script.

(Dan Dascalescu) #7

That seems to return only one id. Don’t we need the post number within the topic (not its id), and the topic id?

(Kane York) #8

Well, you can pass that to Post.find(id) and get the post_number and topic_id out from that.

(Dan Dascalescu) #9

Thanks @riking. I’ve sent a PR.

Now how could I run just that replacement on existing posts?

@elberet: my approach is far simpler. Would you mind taking a look?