Let’s Discuss Disqus

by: Derek Jones on: 4/19/2011

With the recent resurrection of the EllisLab blog, we chose to implement Disqus for commenting and social media integration.  A number of people have asked what factors led to this decision, particularly since ExpressionEngine comes with a Comment module.  In short, we didn’t have a lot of time for design and implementation, it gives us an opportunity to play with third party tools that our community uses, and we think it might encourage commenting from people outside of EllisLab’s existing communities.

Our Director of Marketing, Leslie Doherty, has been working with Paramore|Redd to revamp our public face, part of which included relaunching the EllisLab blog.  Before she was able to begin working on that, Les wrote his Q1 CEO Report for 2011.  Since the content of that post encompasses the entire company, its products, culture, and communities, it felt wrong to post it on the ExpressionEngine blog.  So that pushed our timetable to relaunch the EllisLab blog up a bit, like, let’s launch it in a day or two.

This meant very little time to craft the front end, much less consider new back end features.  The ExpressionEngine Comment module was written in 2003, and the internet landscape was a very different place back then: Google had just purchased Blogger, Facebook and Twitter didn’t exist, etc.  The Comment module’s original purpose served the needs of that landscape, and frankly hasn’t changed much between then and now as it still satisfies those original needs that many sites today still have.

So between the choice of hurriedly modifying the Comment module’s database schema into the Bride of Frankenstein to accommodate the features currently popular for interaction, or having an opportunity to play with one of the more popular commenting solutions that we know our community uses, we happily chose the latter.  Disqus already has comments, reactions, integration with Twitter, Facebook, and login solutions that are used by people outside of our community.  So it was not only extremely convenient, but it felt like a situation where we could learn more by experiencing first hand what some of our users were choosing to implement instead of the ExpressionEngine Comment module, as opposed to simply soliciting feedback.

Some other advantages of choosing a commenting service are the offloading of bandwidth for content, data storage, and images, as well making it easier and more fun for people who are not actively engaged in our community to participate in discussions on our company blog.

It’s ridiculously simple to add Disqus to your ExpressionEngine or MojoMotor site.  After signing up, simply paste in some universal JavaScript embed code supplied by Disqus into your template (or layout in the case of MojoMotor) where you want the comment form and comments to appear. For the disqus_identifier variable, which uniquely identifies the page for associating comments, we chose to just use the entry ID with our Disqus “forum” name, and a URL title path variable for the disqus_url:

var disqus_identifier = 'ellislab_{entry_id}';
var disqus_url = '{url_title_path="blog/comments"}';

For MojoMotor, you could use the URL title alone:

var disqus_identifier = 'ellislab_{mojo:page:url_title}';
var disqus_url = '{mojo:site:link}{mojo:page:url_title}';

Since March, their default theme uses semi-transparent greyscale background images, so it fits with any site design, preventing you from having to worry about the markup and styling.

We’ve already seen some things we like and don’t like, but there’s no arguing that this experiment will be an extremely beneficial step prior to revamping or rewriting ExpressionEngine’s Comment module, as opposed to just hacking on new features because we wanted to try them out for ourselves.  And who knows, perhaps this will help us see how changes or new modules we might write could benefit both ExpressionEngine and MojoMotor users who prefer external services like Disqus.

.(JavaScript must be enabled to view this email address) or share your feedback on this entry with @eecms on Twitter.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases