Posting Multiple Sites with fargoPublisher on Heroku

Please disregard the content below and go here instead.

I have managed to successfully deploy fargoPublisher on Heroku using Dave Winer's instructions. It was surprisingly easy. (The only snag was that I had to put **.herokuapp.com in the CMS settings globally, not per individual outline.) The difficult part has been figuring out how to actually publish the sites.

fargoPublisher seems to essentially be the same software used to create subdomains on smallpict.com. If you want to publish one of your outlines on your own Amazon S3 bucket, you need to "name" it. As of this writing, my Heroku app is publishing to a bucket called myoutlineblog.com (same as a domain name I registered). Theoretically, if I name an outline "blog," it will publish at blog.myoutlineblog.com. However, there are two separate DNS components necessary to make this work. First I need to point myoutlineblog.com.s3-website-us-east-1.amazonaws.com (the "endpoint") to myoutlineblog.com via CNAME. And to the best of my knowledge, I need to point a wildcard A record to the IP address of the node where I am hosting fargoPublisher. This is where the users are redirected to their subdomains. Unfortunately, Heroku apps only have dynamic IP addresses, and I don't currently see a solution to this, so I can only access my example named site at myoutlineblog.com/users/blog/, not blog.myoutlineblog.com.

This is problematic because links in Fargo sites are relative, e.g, "href=2014/09/01/blogpost.html", and named outlines have the blog.domain.com structure. One workaround is adding a few directives in the outline: #opmlLink "http://myoutlineblog.com/users/blog/" and #opmlFeed "http://myoutlineblog.com/users/blog/rss.xml".

This appears to successfully replace blog.myoutlineblog.com with myoutlineblog.com/users/blog/ in the rendered HTML, so that if I click on a link to a post from an index.html page, I will be directed to the correct path. Unfortunately, this solution is not working for #type "stream" blogs (i.e., link or note blogs like scripting.com). I believe that since you can only click on a date, Fargo is expecting the base domain, no additional directories.

Another problem is that the RSS feed points to the blog.domain.com address, so unless I can figure out how to fix that, any feed subscribers clicking on a feed item will be directed to a 404 page.

As currently implemented, this solution is definitely better than not having fargoPublisher deployed at all. I can publish all the outlines I want to my own AWS account. I just have to tweak every outline a bit to make relative links work, and I guess stream blogs are out of the question until I can find a workaround.


Last built: Tue, Mar 31, 2015 at 12:50 PM

By Jeffrey Kishner, Tuesday, September 2, 2014 at 1:08 PM.