Announcing All In The Title

A few months ago, I decided to invest some time into writing small, niche plugins to provide a contrast to the never-ending stream of client work, based on ideas that have formed while working on various projects. All In The Title (AITT) was the first of those, released on the WordPress.org plugin directory a couple of weeks ago.

The idea behind the plugin was to provide a slightly different take on the Quick Draft dashboard widget that already exists in WordPress core. At the moment, if you have an idea forming in your mind for a blog post that exists only as a title e.g. you’re planning content to target specific SEO key-phrases or need to save a brainwave you had in the shower, then you have to actually create a draft post.

These posts will take-up space in your posts list, even if you have absolutely no content to add to them yet. As a result, these posts add unnecessary weight to the database. Also, who really wants lots of empty drafts littering up the Posts view? Granted these are only minor concerns, but every little helps, right?

To be honest, the primary reason for building AITT was that I just wanted to build something that would provide an alternative experience for storing post ideas. Here’s a preview of what the plugin looks like:

A little bit different from how things work in Core, which isn’t a bad thing!

The user experience is pretty simple. You enter the post title, decide whether this is for your eyes only or visible to all users (useful on sites with many content creators), and then save your post. The list automatically updates via AJAX when you save, delete or create a post. Post creation takes the user straight to a new draft, ready for writing.

The post ideas are saved as options in the database; a single option for the “global” ideas, and a namespaced option for each specific user’s ideas. Nice and simple.

The plugin itself is based on a lightweight boilerplate I use a lot, with an approach derived from Tom Nowell’s Root Composition in WordPress Plugins blog post and talk back in 2015. I’m also excited to be using Parcel.js for no-hassle build tooling, which has a much nicer developer user experience than Webpack!

It wasn’t the most challenging of projects, taking around ten days to put together in my spare time, and I’m not expecting it to set the world on fire, but it was nice to dust off the cobwebs and submit to the plugins directory again after a quiet couple of years.

Speaking of plugin submission, I finally decided to give the Seravo-sponsored Deployer GitHub-to-SVN deployment tool a go, which avoids the need to get your hands dirty with SVN. Although SVN is something I’m comfortable with, I’d just rather not use it given the choice, and my experience with Deployer has been fantastic.

After the initial process of linking Deployer to your GitHub repository, pushing to your plugin’s SVN repository on WordPress.org is as simple as tagging a release from the master branch. Adding and updating assets used on the plugin page is done using a dedicated assets branch, and updates to the readme.txt are automatically pushed without the need for a release; useful when you have spotted a typo or want to quickly add some useful information.

Wrapping up, it’s been good to get back on the horse again and focus on open source projects. The next plugin is already in progress! If you’re interested in trying out the plugin, do check out All In The Title on WordPress.org and leave me a review, rating, or even a support ticket if you have found a bug or want to make a suggestion!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.