Disqus importer
-
we can add some input box to admin page of plugin, for customization blocks!
function setTopicId(json,thread,callback){ /** * some customization. * **/ callback(json,thread,tid); } function getNodebbTopicId(link){ var id = -1 ; /** *each website has their own implementation. * **/ return id; } function getCommentID(json, callback){ var threads = json.disqus.thread ; var itemsProcessed = 0; for (i = 0; i < threads.length; i++) { try{ var link = parseInt(threads[i].link) ; var id = getNodebbTopicId(link); threads[i].$['nbb:tid'] = ""; setTopicId(json,id,threads[i],function(json,thread,tid){ itemsProcessed++; thread.$['nbb:tid'] = tid+""; if(itemsProcessed === threads.length) { callback(json); } }); }catch(ex){ itemsProcessed++; console.error(ex); } } }; var json = // Convert disqus xml file to json Object using some library, for example xml2js! getCommentID(json, function(){ });
-
@sanatisharif said:
Do you need Disqus to be enabled ? Why?
No, i just wanted to able to verify the correctness by matching them manually.
With all due respect we can't share this in any way. But an idea for doing this could be creating some dump posts in a local NodeBB and adding some Disqus threads to those posts to see whether the plugin works or not.
That would work i guess.
helps anyone who wants to migrate from Disqus to NodeBB.
Not everyone has a nodebb-topic matching each disqus-thread, most people just use disqus as a comments system on a blogs, and migrating blogs to NodeBB isn't easy. The other issue that it involves manually adding that
nbb;id
thing, you had to do it manually.Anyways, like i mentioned, I am out of town of the next 2 weeks, i'll look at this when I get back, feel free to remind me please.
-
The other issue that it involves manually adding that
nbb;id
thing, you had to do it manually.We have implemented a piece of code for that and we were going to publish it . But even if he couldn't use the code , at least there is a plugin that does half of the way.
We can't thank you enough for being so much supportive and patient. See you in couple of weeks . Good luck.
-
Hi I'm back again , I hope you are fine and in the mode for doing this. So how do you feel? I say let's get this done .
-
I recently migrated to NodeBB from Disqus as well, it would be great to see some easy solution for this
By the way, @sanatisharif , since you are in the same situation you may be interested in reply/quote feature for
nodebb-plugin-blog-comments
. You have an example here (I think I need to change the font-size of that page ). -
This post is deleted!
-
@sanatisharif i'm still around - let me see what i can do next weekend.
-
-
@sanatisharif please realise that @bentael is offering to do this work out of the kindness of his heart, so there must be no expectation of a response!
I'm sure he would be happy to help you get your content migrated if you compensated him for his time
-
@sanatisharif i've been very busy for the past few weeks between my day job, family and other issues, along with bringing the importer's to support NodeBB v1.0.0 - I will take a look at this next weekend.
-
@sanatisharif can you email me the XML Disqus export file to [email protected]? I can't find it anywhere or share it here if it's not private data
-
@julian said in Disqus importer:
@sanatisharif please realise that @bentael is offering to do this work out of the kindness of his heart, so there must be no expectation of a response!
I'm sure he would be happy to help you get your content migrated if you compensated him for his time
Actually that's what mean. First of all let me thank you and @bentael and all the kind developers of NodeBB community that have been so much supportive to us. I want you to know that we appreciate it a lot! What I was trying to say actually was a "Hello" message and that what is he up to. I just wanted to know whether he has time for that or not, Or (as you said) is he expecting anything in return or not? He already has been so kind and generous to us and we can't thank him enough. Thank you for informing us of this point . Perhaps my last post was a little impolite or offensive but i didn't mean it in that way at all!
@bentael said in Disqus importer:
@sanatisharif can you email me the XML Disqus export file to [email protected]? I can't find it anywhere or share it here if it's not private data
Thanks for your time and patience . I hope you are fine and everything is Ok . I am going to email the file to you as soon as possible. The sender email address will be [email protected] .
-
@sanatisharif it's ready, check your email - i need some testing data.
-
@sanatisharif sent you the instructions email, i am going to paste it here as well for others
For all the newusers I am going to make the assumptions of their JoinDate based on their first thread or comment;
@sanatisharif since your importing to an existing nodebb database
BEFORE you test it make sure make a copy of your original NodeBB database, setup a TEST NodeBB instance, and test with that before you do on your production databaseAfter you have that done, here are the import instructions, I am going to assume that you are using a Linux based system, or mac
# go to the NodeBB directory you have cd /path/to/your/NodeBB # delete any previous import plugin you have, then a install the latest one, it was ONLY tested against NodeBB 1.0.0, but if you are running 0.9.x it should also work for you. rm -rf node_modules/nodebb-plugin-import cd node_modules git pull https://github.com/akhoury/nodebb-plugin-import.git cd nodebb-plugin-import npm install # then go back up a directory and install the disqus plugin, since it's not published to npm yet, you need to do it manually cd .. git pull https://github.com/akhoury/nodebb-plugin-import-disqus.git cd nodebb-plugin-import-disqus npm install # here you need to paste your disqus XML exported dump file somewhere, let's paste it here, you dont have to do that, part cp /path/to/my-file.xml . # now go back up to run nodebb cd ../.. # run NodeBB node app
-
Now you visit your nodebb, say it's http://localhost:4567
-
Go to Admin Control Panel > Plugins > and activate Import plugin
-
then restart your nodebb
-
then back to http://localhost:4567/admin/plugins/import
-
Click on "Toggle pre-import settings"
-
Then in the "Exporter specific configs (if applicable)" write a valid JSON that has the full path of the XML file, for example:
{"filepath":"/Users/akhoury/code/NodeBB/node_modules/nodebb-plugin-import-disqus/my-file.xml"}
See this picture: https://cloud.githubusercontent.com/assets/1398375/14342545/5e5ccef2-fc68-11e5-84d0-a42e1acb0cbd.png -
Then, scroll down to the "Select an Exporter" section
and enter the box "nodebb-plugin-import-disqus" and make sure you check the "Skip the module install" checkbox
see this picture: https://cloud.githubusercontent.com/assets/1398375/14342546/5e630de4-fc68-11e5-8e1a-ba736f528759.png -
Then Scroll down, and, for your case since you already have topics in the NodeBB database, you need to click on the green button "Don't Flush NodeBB DB, just import"
see this picture: https://cloud.githubusercontent.com/assets/1398375/14404948/0ee7a10e-fe51-11e5-80d1-2d7a58931769.png -
Then when it's done, click on "Toggle post-import tools"
-
In the "Content conversion" section, select "HTML to Markdown" then click Convert
-
then restart your NodeBB again and check the results by reading the topics to see if everything looks good.
-