Todd Burry Founder, Chief Product Officer

About

Todd is the chief product officer at Vanilla Forums. He's been eating and breathing tech for nearly 20 years.

Crafting a Better Forum Search

Forum Search IconRecently, Vanilla launched a new advanced search for enterprise customers. This new feature is the result of over a year of feedback and research into what makes a great community search. We spent a long time thinking about search and really believe that our new advanced search strikes the right balance between power and simplicity. It’s been a fun process developing this so I wanted to share some of the inside scoop on this new feature.
Continue reading

Implementing Vanilla jsConnect Single-Signon (SSO)

jsConnect uses javascript to allow cross-domain single-signon with another site. This is useful if you have members registered on your site and you don’t want them to have to re-register in Vanilla.

How does jsConnect work?

In order for jsConnect to work you’ll have to put some code on your site that identifies your users in a way that Vanilla can understand. Vanilla then requests this information when the user wants to sign in and synchronizes the user with Vanilla. In order to make this request for information Vanilla uses technology called jsonp. This allows us to send your cookies from your site to you and obtain login information.

This is the basic story of jsConnect, but it gets a bit more complicated than that in actual implementation because the information must be secured. We do this by sharing a secret key with your site and using it to sign requests so we know it comes from you.

Two Flavours of jsConnect SSO

There are two implementations of SSO that jsConnect supports. You can implement either of the methods or both as they serve different purposes.

Method 1: Site-Wide SSO

You implement site-wide SSO when Vanilla is as a full site. With this method you need to create a page that provides your login information in jsonp format.

Method 2: Embedded SSO

Vanilla also has the ability to be embedded in an html page either as an entire site or just as embedded comments. With this scenario you need to create a special SSO string that can be passed to the embedded Vanilla and provide login information.

WordPress Plugin

If your site is using WordPress then we make a plugin that allows you to use SSO with your WordPress site. It also helps you set up an embedded forum and embedded comments on your site. You can get the plugin here.

jsConnect Client Libraries

While writing the client code for jsConnect is pretty straightforward, it can be a little bit difficult to secure the connection. Because of this we provide client libraries for four of the more popular languages. If we provide a client library that you can use then we highly recommend using it.

All of these libraries are open source and maintained on github:

All of these libraries have one file with all of the library code you’ll need and one file that gives an example usage. They also have a readme that tells you which file is which. Please note that these libraries don’t yet support embedded SSO.

Manually Implementing jsConnect

If your site is programmed in a language that doesn’t have a client library then we provide documentation on our jsConnect¬†protocol. Have a look at the jsConnect technical documentation part 1 and part 2.

Importing Data

Please note, this information has been updated in our new documentation. Please see Importing, in our documentation here.

This topic deals with importing your old forum into Vanilla 2 using the Vanilla 2 export tool. The process is basically three steps:

  1. Export your old forum data with the Vanilla 2 export tool.
  2. Create a new Vanilla 2 installation.
  3. Import the file from step 1 to Vanilla 2

Export Your Old Forum Data

We’ve made a tool that you can use to put your old forum into a format that Vanilla 2 can import. We currently support exports from:

  • phpBB
  • vBulletin
  • bbPress
  • SimplePress
  • Simple Machines
  • PunBB
  • IP.Board
  • XenForo
  • Joomla Kuena
  • Drupal Forum
  • MyBB

For even more formats see here.

Here is how you use it:

  1. Grab the Vanilla 2 exporter here. The download is one file that you will copy to your server and run.
  2. Unzip the file to a directory in your old forum. For example, if your forum is located in /www/mysite/myforum then you would unzip the file to /www/mysite/myforum/vanilla2export.php.By default, the exporter will prompt you to save your export file. If your forum has a lot of data, it might make more sense to have the exporter save your data to a file on your server. If this is the case, you will need to place the vanilla2export.php file in a directory that is writable. Most forums have a /filesor /uploads directory for this.
  3. Browse to vanilla2export.php in your web browser. You should see a page like this:Vanilla Exporter UI
  4. You will need to know some information about your database in order to do the export. If you can’t remember, try looking at your forum’s configuration file. Once you’ve entered the information click Begin Export.
  5. A single file should be generated. This is the file that will be imported into Vanilla 2.

Create a New Vanilla 2 Installation

In order to import your data, you will need a fresh installation of Vanilla 2. When you do the import, all data in your fresh installation will be overwritten, so make sure you don’t have any discussions you want to keep there.

Import Your Forum

Vanilla 2 has an import utility in its dashboard. This is what you’ll use to import your forum.

  1. Go to the import tool located in your dashboard under Site Settings > Import.
  2. There are only a few inputs required. You need to upload the file and supply the username and password of the old forum’s administrative user. If your file is large (say over 5MB), you might want to upload the file manually to your /uploads directory using ftp.
  3. When you are ready to go click Upload File to get started.
  4. Once the file has been uploaded you’ll see a short summary. Click Start Import to start the import.
  5. The import should run on its own now. The length of time it takes depends on how much data you have to import. However, you will see a status update as the import progresses.
  6. Once the import is complete your data is now ready to go, however you might want to go through your site’s settings to update some of the stuff that wasn’t imported. One of the places you’ll definitely want to check is Roles & Permissions or else no one will have permission to view the discussions you just imported.
  7. At this point you’re done. Congratulations! Your Vanilla 2 installation is ready to go with your old forum’s data.

Notes

  • As of version 1.3.0 the porter will export the file attachments database data so you can port your attachments over to Vanilla 2. To do this you must enable the File Upload Vanilla 2 plugin before importing your data. You them must copy the contents of Vanilla 1’s /uploads folder to Vanilla 2’s /uploads folder.