nodebb-plugin-import-punbb v0.0.1
nodebb-plugin-import-punbb
a PUNBB forum exporter to import-ready files.
based on nodebb-plugin-import-ubb into this plugin to work along with nodebb-plugin-import.
works, but still young
What is this?
It's just an exporter of PUNBB, into files that nodebb-plugin-import can understand and import to NodeBB's database. So, it's not really a conventional nodebb-plugin, and you have to run it from the command line.
Why is it even a NodeBB plugin?
it doesn't really need to be, nor that you can use it within NodeBB it self, but, having this as a plugin have few benefits:
- a nodebb- namespace, since you can't really use it for anything else
- it can easily
requireNodeBB useful tools, currently, it uses its util.js for example. - potentially, in the future, this plugin, nodebb-plugin-import-punbb can interact with nodebb-plugin-import for a better UX
Usage
cd NodeBB
npm install nodebb-plugin-import-punbb
cd node_modules/nodebb-plugin-import-punbb/bin
node export.js --storage="$HOME/Desktop/storage" --config="../export.config.json" --log="debug,info,warn" --flushWhat does it export?
read carefully:
####Users:
_usernameYES._alternativeUsernameYES. using 'realname', which nodebb-plugin-import will try to use if the username validation fails_passwordNO. PUNBB uses MD5, NodeBB uses base64 I think, so can't do, but if you use nodebb-plugin-import it will generate random passwords and hand them to you so can email them._level(administrator and moderator) NO, but doable check the structure of PUNBB_joindateYES, using 'registered'_websiteYES. using 'url' if URL looks valid, it is exported, but it's not checked if 404s_pictureNO._reputationNO._profileviewsNO._locationYES. migrated as is, clear text_signatureYES. migrated as is (HTML -- read the Markdown note below)_bannedNO.
####Categories:
_nameYES_descriptionYES
####Topics:
_cid(or its PUNBB category aka Forum id) YES (but if its parent Category is skipped, this topic gets skipped)_uid(or its PUNBB user id) YES (but if its user is skipped, this topic gets skipped)_titleYES_content(or the 'parent-post` content of this topic) YES (HTML - read the Markdown Note below)_timestampYES_pinnedNO_viewcountYES
####Posts:
_pid(or its PUNBB post id)_tid(or its PUNBB parent topic id) YES (but if its parent topic is skipped, this post gets skipped)_uid(or its PUNBB user id) YES (but if its user is skipped, this post is skipped)_contentYES (HTML - read the Markdown Note below)_timestampYES
I exported, now what?
now use this nodebb-plugin-import to import your files into NodeBB's database
Versions tested on:
- PUNBB > 1.3.2
You configs are required
But you can override the log, storageDir and clearStorage ones with flags when using bin/export.js
{
"log": "debug",
"storageDir": "../storage",
"clearStorage": false,
"db": {
"host": "localhost",
"user": "punbb_user",
"password": "password",
"database": "punbb_test"
},
"tablePrefix": "punbb_"
}Markdown note
read nodebb-plugin-import#markdown-note
It's an exporter, why does it have 'import' in its title
To keep the namespacing accurate, this exporter is designed to export data for nodebb-plugin-import only, also for a 1 time use, so why do you care.
11 years ago