Introducing SocialEEsta
An ExpressionEngine plugin to manage social sharing buttons
At Blue State Digital — where I work as a front-end web developer — we design, build, and host websites for a variety of clients. Our online toolkit includes ExpressionEngine as the CMS because of its community, flexibility, and power. At the moment, we host more than 200 installations of ExpressionEngine. One of our software engineers, Lowell Kitchen, gave a talk about hosting EE at EECI 2011 — check out the slides if you want some more info.
Some background: the sEEd
Every client that we host is built from a custom configured version of EE that we call the sEEd, which avoids having to repeat some basic setup for every single site that we build, which would total about 2-3 hours for each site.
Each client has access to the same add-ons because the client’s EE installations are symlinked (see Lowell’s slides).
Why bother with sharing buttons?
At Blue State, we believe that social media plays a large role in communicating with an audience and advancing a message. It Gets Better and United States Holocaust Memorial Museum’s Remember Me project are two projects we’ve worked on that were driven almost exclusively by social media.
While every organization uses social media in a different manner, most clients we work with utilize social buttons to share content without needing to leave the site.
Why bother building a plugin?
Things change. Button syntaxes change. Dependencies change. Social networks change.
Let’s say Facebook decides to change how you need to implement the Like button, or Twitter adds new parameters to the Follow button and changes the default in the process. When you suddenly need to change 2 or 3 client sites, it’s a little tedious, but doable in an hour or two, depending on how many templates you need to change. Make that 200 sites, and suddenly there’s no time to do anything but update templates with new social button code.
We needed to build solution that could be rolled out to all of our clients, and update all of their templates with the least amount of manual intervention.
Enter SocialEEsta
SocialEEsta is an ExpressionEngine plugin that adds social buttons to your ExpressionEngine pages with no fuss. Forget worrying about building query strings and URL encoding parameters or loading the buttons’ Javascript in a consistent manner. And when things change? We can just update SocialEEsta and deploy the new version to our clients.
For version 1.0, we settled on buttons from the two social networks we tend to see the most benefit from — Facebook and Twitter — as well as the then-nascent Google+.
Still on the to-do list
Real artists ship and all, so even though we released it publicly, we still have some things we’d like to add:
- Add the new Twitter Tweet/Follow button parameters
- Investigate other options for more efficient Javascript loading (check out Socialite.js)
- Add Tumblr and LinkedIn sharing support
- Write unit tests (the code is already unit testable, but we need to actually implement the tests!)
Where to get it
SocialEEsta is available for (free) download on Github.