How to set up an I/O server

Instant Outlining is now a part of the core release of the OPML Editor. This means that every copy of the OPML Editor can be an Instant Outline client or server, or both.

Using the software as a client is very easy and is covered in another howto. This document explains how to set up a server.

0. First a few caveats. Read this carefully and take it seriously.

  • You must know how to edit an object database in the Frontier environment to set up a server. This is not a tutorial for the object database. Unfortunately at this time the tutorials that are available are pretty scattered and old. Maybe someone who knows Frontier will either write one or offer to help newbies.
  • These instructions must be read carefully and you must do exactly what it asks you to do. These are not end-user docs. Imagine if you were setting up a server running Apache or PHP, that’s the level of this tool.
  • If it doesn’t work, what I recommend doing is starting over, and repeat the steps again, carefully. The server software does work, I’m running a server with it myself.
  • The server must be accessible to all the people who are going to use it. If the users are all at the same location, behind a firewall, that’s okay as long as the server is accessible to them.
  • If the users are at different locations, then the server probably must be on the public Internet and not behind a firewall or NAT. However, if you’re proficient with Dynamic DNS and know how to configure your router, it’s possible to have the server behind a NAT.
  • The easiest way to set it up is host your I/O server on the public Internet, on Amazon EC2 or Rackspace, for example.

1. Install the OPML Editor on the server.

  • Download it from
  • When asked if you want to update, say OK.

2. Open the Quick Script window and enter io.init () and press Enter.

3. Choose config.root from the Window menu. There should be a top-level item called io. Expand it.

  • You should see two sub-items, client and server. Expand server.
  • Think about what you want your username to be on this server. Assume it’s bullmancuso (our default fictitious user).
  • Open the Quick Script window and enter io.server.inituser (“bullmancuso”, true) and press Enter.
  • Now expand users. You should see one sub-table called bullmancuso. Expand it.
  • You should see 5 or more sub-items, including calendar, follows, opmltext, prefs and stats.
  • Expand prefs. You can see that we chose a random password for you. If you want to change the password, select the text and change it.
  • In the Quick Script window, enter: = true and press Enter.
  • In the Quick Script window, enter: = () and press Enter, substituting your username for bullmancuso. This means that every new user will automatically follow you. This is a good idea, so you can communicate about any problems with the server, or changes.

4. On your client machine, the one you’re going to use to edit your instant outline, choose Open My Outline from the Instant Outliner sub-menu of the Outliner menu. You should be taken to a web page where you can enter your username and password and the address of your server. Enter the username and password you set in step 3.

  • For the server, change the default server to the domain name of your server. So if your server is, you’d enter xmlrpc:// where the server is called for.
  • To test it out, edit your outline and save. If it worked, the opmltext entry in your server table should now contain some text. The stats table should also show that you’ve updated.
  • Then click on the Buddies button in your Instant Outliner window. You should see your username there, bold. Expand it. You should see your update.
  • Try updating a few more times, your name should go bold each time, and when you collapse and re-expand, it should show the changes.
  • If you have trouble in this step, try quitting the OPML Editor and relaunching it.

5. To add a new user, just repeat the process from step 3.

  • On the server, open the Quick Script window and enter io.server.inituser (“maryshelley”, true).
  • Edit the password if you’d like it to be something different. Communicate the username, password and server address to the user. You probably should send them a pointer to the howto for users, or write your own. Feel free to scarf the copy and adapt it for your own.
  • You probably should follow them, at least at the beginning.

4 responses to this post.

  1. […] instructions explain how to use the I/O tool that’s built into the OPML Editor. We also have instructions for technical people that show how to set up an I/O […]


  2. […] About « How to set up an I/O server […]


  3. 5. To add a new user, just repeat the process from step 3.
    On the server, open the Quick Script window and enter op.server.inituser (“maryshelley”, true).

    op.server should be io.server

    just a nit.

    keep on diggin


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: