Today, I fixed the Google logins for forum.optimojoe.com. Everything should be working now, so if someone was denied access to the forum, please give it a try now.
As some background on the forums, when I was putting together the site, I wanted to make sure that people had a place to ask questions or comment about our software or other computational issues. Now, there’s a couple of ways to do this, but ultimately I decided to setup a forum using Discourse, which I contract through DiscourseHosting.com. In case anyone else needs to run a web forum, I highly recommend this company. Certainly, Discourse isn’t the only option for a web forum. In fact, Wikipedia has a pretty comprehensive list of the options available. On top of that, our website uses Wordpress, which also has a number of plugins for hosting Q&A forums. One of the plugins that I liked, and used quite a bit before removing it, was DWQA.
Ultimately, I decided against using Wordpress plugins for the following reasons. First, migrating a Wordpress site from one host to another is a mess. I did it once with OptimoJoe and my our current hosting provider FlyWheel was extremely helpful during the move, but it still broke a number of databases that caused problems with our forum. Moving hosts is part of life and business, so it’s something that needs to go smoothly and I don’t want to break the user forum again. In theory, Discourse should make it easier to migrate data. Second, in my experience, Wordpress plugins almost never integrate with the sites color scheme and CSS. In some sense, this makes sense. It’s hard to know what CSS elements the theme uses, so the plugins use their own. Otherwise, they’d look terrible. Unfortunately, it means that I have to maintain essentially two different websites worth of CSS, which is a drain on my time.
Next, Github has been great for hosting code, but they’re a terrible host for providing support forums. In theory, someone can ask a question on the issues page, but this really isn’t the best place to help with general user questions. One of the nice things about Discourse is that I could add multiple gateways to the forum so that people who already had a Github acccount (or Google, Facebook, Twitter, or Yahoo), could immediately logon with their existing credentials. Discourse accomplishes this through a protocol called OAuth. Now, in order to setup OAuth logins, I needed developer accounts with all of the above websites. In the end, it wasn’t too difficult to setup properly. Out of all of them, Twitter and Github were the easiest to work with. Facebook was the absolute worst. Basically, I don’t use Facebook personally and they absolutely refused to validate my account through my business phone number since they wanted a cell phone. Facebook, your software is bad and you should feel bad.
This leads us to the problem we had with our Google logins recently. When I first setup the forum, Google still used OpenID, which is a different gateway. Recently, they shutdown their OpenID service and migrated to OAuth. I didn’t realize that until today and when I did, I fixed the forum.