ftpUpstream script for OPML Editor


Please refer to this page for a current version and any discussion of this script.

Here's a script for the OPML Editor to upload a changed OPML file to the FTP server of your choice.

Simply add this script to the afterUpload callbacks table of your dotOpmlData database (1) and add the following variables to the prefs table of your dotOpmlData database. (2)

  • Variables:
    • ftpDomain -- Your FTP server, i.e., "ftp.your-server.com"
    • ftpPassword -- After you enter your FTP password, you can change it to a binary type to obfuscate it a little, but realize that it is easily "decoded" and will be transmitted "in the clear" via FTP by this script. It's just as secure as the password you use to log in to the OPML server -- in other words, not very secure.
    • ftpRemotePath -- This is the subdirectory on your FTP server where you want the OPML files saved.
    • ftpUsername -- Your FTP username.
  1. Download the ftpUpstream script and open it in the OPML Editor. You should be prompted for the location of the script -- just select "OK" and it should be imported automatically.
  2. In the OPML Editor, select "dotOpmlData.root" from the "Window" menu. This opens the dotOpmlData database. Expand the dotOpmlData table, and add these variables to the prefs table.


  1. This would only FTP an OPML file and not a rendered version. The OPML Editor when running as a server actually renders the outline into HTML–will this other server do the same for you?

  2. Actually, Steve, the OPML Editor does not upstream a rendered version either. It upstreams the raw files, which the server dynamically renders. Quite cool.

    If you want your OPML rendered as HTML, I suggest using XSLT. For an example, see my OPML Browser or, if you use WordPress, see my OPML Renderer Plugin.

  3. Dan, is there some way to debug the ftp connection? I’m not getting any errors when trying to do it, however nothing is getting uploaded. I’ve watched the about window, and nothing changes there.

  4. It did say that there was a host not found, DNS error. I assumed that was because of my works DNS setup. So I put the IP address in, now it says – Error Can’t open stream because TCP/IP error code 10060 – COnnection timed out.21.016secs

  5. Dean, that error is unrelated to the OPML Editor (or the script). For some reason, a connection cannot be established to the server you specified.

Comments are closed.