Migrating from SMF



  • Anyone here migrate from SMF? I am currently running a small forum on SMF and have been thinking lately it needs to be more modern. I cannot find any responsive themes for example. I would like a solution that has the forum stripped down to the essentials while leveraging more recent innovations in web design. Basically give my users the best web experience to be able to better compete with major social networks.

    Is it difficult to migrate? Any pitfalls? I don't have any experience with node.js so I am a total newbie, but this platform seems very promising. 😃


  • Global Moderator

    I built the original SMF exporter, it's been tweaked by bentael recently to work with the new import tool. Difficult to migrate, no, download nodebb-plugin-import, follow the instructions and select smf, enter the details for the mysql database, and run a test. If it doesn't work properly, just clear the new forum and change a setting, the plugin can convert bbcode to markdown, if it misses any you can run a bbcode to markdown plugin that allows you to set any it missed.

    When I did mine, I removed the bbcode using mysql before transporting by creating a rather long list of commands to basically replace [b] with * for example.

    👍


  • Admin

    @19eighties If you're worried about the migration process, we can handle migrations for you for a small fee as well 👍

    We'll even set it up on a fancy DigitalOcean box for you 😄



  • Sounds good, thanks for the advice. I am looking into this stuff further since I am just used to the standard shared hosting setup PHP/MySQL. The VPS DigitalOcean stuff sounds interesting. I would ideally like to try things out on my own system first.

    Is there an ISO image I could install on a machine, like a spare laptop, that could be handy for quick evaluations?


  • Global Moderator

    @19eighties Try Koding.com for a free area to test NodeBB. 👍



  • @a_5mith said:

    Koding.com

    OK, going there. How would I do an install?


  • Global Moderator

    @19eighties It's a Ubuntu 14.04 box. So this guide will help.

    This one was written especially for Koding, but they've redesigned the site recently, so the instructions might be a bit off. Get yourself set up and into a Terminal Window, then follow the ubuntu guide. 👍

    When it comes to entering your base URL, you can either enter the IP of the server, or your URL. Both can be found by clicking the circle with 3 dots on the left side panel next to "Your VM" or words to that effect.



  • @a_5mith Will give it a try. Thank you!!



  • Unfortunately, it seems to be stuck... Also testing copy/paste screenshot functionality here. :)

    upload-ec877497-c48e-4259-9a70-1cdffbcf1162


  • Global Moderator

    @19eighties Yeah, it can be temporamental, refresh, log out / log in. It can take 2 or 3 attempts to get it working. 😕



  • @a_5mith Well, I got through the install, but I think I either messed-up the config setup or I need to allow access to port 4567 on my end? I can't tell what the problem is. Is there something that details what to put for each option line? All the guides say to press enter, but if you have to do it over, it might not be correct to press enter.

    Site URL:
    http://u1kkea75fe43.19eighties.koding.io/


  • Global Moderator

    @19eighties You would access the site with http://u1kkea75fe43.19eighties.koding.io:4567

    The first line (base URL) should be http://u1kkea75fe43.19eighties.koding.io, the defaults are fine for the rest of the options.

    You can do sudo nano config.json in your NodeBB folder to check what your settings are, they should look like this:

    {
    "base_url": "http://u1kkea75fe43.19eighties.koding.io",
    "port": "4567",
    "secret": "random-string-of-characters",
    "bind_address": "0.0.0.0",
    "database": "redis",
    "redis": {
        "host": "127.0.0.1",
        "port": "6379",
        "password": "",
        "database": "0"
    },
    "bcrypt_rounds": 12,
    "upload_path": "/public/uploads",
    "use_port": true,
    "relative_path": ""
    }
    

    Then once you've confirmed it's right, you can run ./nodebb start and visit the above URL with the port number included. If it's not loading, try running ./nodebb dev. Just to make sure you've not got any errors.



  • @a_5mith Great, just what I needed. I have it working now. 👍


  • Admin

    Nice to hear it, welcome to NodeBB 😄



  • Thanks!

    I have a couple more questions:

    • One thing I started looking into, was the importer plugin. I have it currently installed, when I run it, it looks like there is a pull-down for selecting which import to run, however, it does not populate with any options (FYI). Can I write the git address for the SMF plugin below?
    • Also wondering, is there a shoutbox plugin available?
    • How are layouts, CSS, elements customized?

  • Global Moderator

    @19eighties said:

    • One thing I started looking into, was the importer plugin. I have it currently installed, when I run it, it looks like there is a pull-down for selecting which import to run, however, it does not populate with any options (FYI). Can I write the git address for the SMF plugin below?

    Paging @bentael for this one.

    • Also wondering, is there a shoutbox plugin available?

    Yepp, npm install nodebb-plugin-shoutbox

    • How are layouts, CSS, elements customized?

    In the ACP you can define custom CSS or custom javascript above the head. Alternatively you can fork a theme and make your changes that way.

    Basically this forum uses Lavender which uses Vanilla as a fallback for any missing files.



  • I was tinkering a little more... Basically updating some of the plugins, which said were out of date, so I could play with the widgets. It seems like there is an issue though, in the console the ./nodebb dev process is scrolling constantly and restarting, so it seems like it is stuck in a loop.

    `` 2014-11-17T21:35:00.412Z - info: Enabling 'trust proxy'
    [cluster] Child Process (3917) listening for connections.
    2014-11-17T21:35:00.499Z - info: [themes] Using theme nodebb-theme-lavender
    2014-11-17T21:35:00.542Z - info: [plugins] Initializing plugins system
    2014-11-17T21:35:00.544Z - info: Middlewares loaded.

    2014-11-17T21:35:00.550Z - warn: [plugins/nodebb-widget-essentials] This plugin may not be compatible with your version of NodeBB. This may cause unintended behaviour or crashing.
    2014-11-17T21:35:00.550Z - warn: [plugins/nodebb-widget-essentials] In the event of an unresponsive NodeBB caused by this plugin, run ./nodebb reset plugin="nodebb-widget-essentials".

    2014-11-17T21:35:00.551Z - info: [plugins] Found 1 CSS file(s) for plugin nodebb-widget-essentials
    2014-11-17T21:35:00.553Z - info: [plugins] Found 3 js file(s) for plugin nodebb-theme-lavender
    2014-11-17T21:35:00.555Z - info: [plugins] Loaded plugin: nodebb-widget-essentials
    2014-11-17T21:35:00.575Z - info: [plugins] Loaded plugin: nodebb-plugin-import
    2014-11-17T21:35:00.576Z - info: [plugins] Loaded plugin: nodebb-theme-lavender
    2014-11-17T21:35:00.580Z - error: TypeError: object is not a function
    at Object.Widget.init (/home/19eighties/nodebb/node_modules/nodebb-widget-essentials/library.js:44:3)
    at /home/19eighties/nodebb/src/plugins.js:489:23
    at /home/19eighties/nodebb/node_modules/async/lib/async.js:125:13
    at Array.forEach (native)
    at _each (/home/19eighties/nodebb/node_modules/async/lib/async.js:46:24)
    at Object.async.each (/home/19eighties/nodebb/node_modules/async/lib/async.js:124:9)
    at Object.Plugins.fireHook (/home/19eighties/nodebb/src/plugins.js:487:12)
    at Plugins.reloadRoutes (/home/19eighties/nodebb/src/plugins.js:135:11)
    at /home/19eighties/nodebb/node_modules/async/lib/async.js:656:23
    at fn (/home/19eighties/nodebb/node_modules/async/lib/async.js:641:34)
    TypeError: object is not a function
    at Object.Widget.init (/home/19eighties/nodebb/node_modules/nodebb-widget-essentials/library.js:44:3)
    at /home/19eighties/nodebb/src/plugins.js:489:23
    at /home/19eighties/nodebb/node_modules/async/lib/async.js:125:13
    at Array.forEach (native)
    at _each (/home/19eighties/nodebb/node_modules/async/lib/async.js:46:24)
    at Object.async.each (/home/19eighties/nodebb/node_modules/async/lib/async.js:124:9)
    at Object.Plugins.fireHook (/home/19eighties/nodebb/src/plugins.js:487:12)
    at Plugins.reloadRoutes (/home/19eighties/nodebb/src/plugins.js:135:11)
    at /home/19eighties/nodebb/node_modules/async/lib/async.js:656:23
    at fn (/home/19eighties/nodebb/node_modules/async/lib/async.js:641:34)
    2014-11-17T21:35:00.584Z - info: [app] Shutdown (SIGTERM/SIGINT) Initialised.
    2014-11-17T21:35:00.584Z - info: [app] Database connection closed.

    net.js:1236
    throw new Error('Not running');
    ^
    Error: Not running
    at Server.close (net.js:1236:11)
    at shutdown (/home/19eighties/nodebb/app.js:344:36)
    at process.<anonymous> (/home/19eighties/nodebb/app.js:181:7)
    at process.EventEmitter.emit (events.js:95:17)
    at process._fatalException (node.js:272:26)
    [cluster] Child Process (3917) has disconnected
    [cluster] Child Process (3917) has exited (code: 7, signal: null)
    [cluster] Spinning up another process... ``


  • Global Moderator

    @19eighties What version of NodeBB are you running? There's a slight issue at the minute bridging the gap between 0.6.0s breaking changes, and maintaining support for 0.5.x branches. 0.5.x could ask you to currently update to a plugin that only works with 0.6.0.



  • @a_5mith Not sure now since I cannot get it started again. I did see some plugins that gave me a warning that they were not compatible with the version I had installed. I followed the guide you gave me earlier. I guess it was not the latest version.

    Edit: v0.5.x according to the koding install guide.


  • Global Moderator

    @19eighties Ok, for 0.5.x.

    npm i nodebb-widget-essentials@0.1.2 will get Widget Essentials working again. Depending on how many plugins you've updated, you may have to go through and drop down the versions of each of the plugins dependant on their supported version.

    A quicker method to get your NodeBB up and running again would be to run ./nodebb reset plugins, which will temporarily disable all running plugins. However as widget essentials is slightly different, you'll need to run the above command. If you get any other errors after doing that, paste it here and I'll get you the correct versions.

    Alternatively you can find the plugin on Github, look at the commit history, and look for the commit that's before support for 0.6.0.


Log in to reply
 


Looks like your connection to NodeBB was lost, please wait while we try to reconnect.