Dented Reality

All posts tagged 'plugins'

WordPress Authentication Framework: Keyring

Keyring: An authentication framework for your plugins

Quite a while ago (like, in at least 2009), I started thinking about regaining control of all the content I was producing online. I was posting photos to Flickr, saving bookmarks to Delicious. I started Tweeting. I was checking in. All fun and games, and all of those services offer great tools for interacting with them (let’s face it, tools that are much better than WordPress’, because they are focussed on one thing). So I figured, why not write importers for these services and pull my content back over to my WordPress. And keep doing it periodically, so that I could keep using those tools. I want WordPress to be my “home on the web”, my digital hub, but I want to use these neat tools with their fancy apps and what-have-you.

Very quickly, I realized that if I was going to do anything useful on most web services, I’d need to be able to authenticate with them. No biggie, right? I know my username and password… Oh. Right. OAuth. Turns out that most web services use OAuth (or something similar) to authenticate, and it turns out that that’s actually a bit of a bear to implement, when all you want to do is write a simple little Twitter importer. And then again for a Foursquare importer. And a Flickr importer.

What I needed was a shared, generic authentication framework that would do all the heavy lifting for me. I would tell it I wanted a connection to specific service, and if it didn’t have one, it’d walk the user through the process of getting one. It’d give me a standardized format of authentication credentials and abstract out all the complexity of making authenticated requests against those services. Then it would make me a coffee*. What I needed, was Keyring.
Read the rest of this post…

WordPress Plugins for Multiple Versions

WordPressIf you’re a WordPress Plugin developer, you may find yourself in the unenviable position of needing to maintain one of your plugins across multiple versions of WordPress. Until recently, I maintained the IntenseDebate plugin for versions 2.5 and up of WordPress, including versions 2.6 of WPMU and up. That’s a lot of versions (10 actually, not counting minor revisions). Here are some tips I picked up/developed to try to make my life a little easier along the way.

Read the rest of this post…

Updated to WordPress 2.8

I’ve just updated this site to WordPress 2.8, using my favorite method for handling a WordPress install, Subversion. Here’s what I typed at the command line to upgrade:

svn switch http://svn.automattic.com/wordpress/tags/2.8/

Once that was complete, I logged into my admin panel and completed the DB upgrade, then I had to check some plugins. I had these problems/changes:

  • TinyMCE Advanced had an update available, so I did that,
  • One Click Plugin Updater seems to clash with the new Plugins page, and I don’t really need it now anyway since its functionality is in core, so I deactivated it and then deleted it
  • IntenseDebate seems to clash with some of the JavaScript now used in the admin, but I work with those guys now, so I’m working on a new version of the plugin to address those issues! My comments are a bit ugly while I deal with this, but I figure that’s a good motivation to get it done ASAP.

Have you upgraded yet?

Really Getting Close

Tonight I secured webpad a little more heavily, standardised some more of the operations across different sections and generally tidied things up. I also added ‘delete post’ functionality to the currently supported blog systems (blosxom, Blogger.com, TypePad and LiveJournal), and that’s looking pretty slick.

Part of add the delete functionality required me to write out the (very, very simple) plugin API for adding and removing tools to the toolbar. I may be a little biased (and not at all modest), but I think it’s pretty cool :) More about plugins later – but basically webpad 3.0 supports plugins through a “My Plugins” section, so hopefully people might even write some new features for it, allowing access to more external sources of text to edit!

So, I can hear you asking; what’s left? Well:

  1. MovableType Support (open, edit, create, delete)
  2. WordPress Support (ditto)
  3. Update a few interface niceties (like the ‘About webpad’ dialog)
  4. Write the new Help Manual, which is a lot different to the last version, and will be a lot bigger
  5. Update the webpad project page
  6. Fix a scrolling bug in Mozilla (fixed on PC, needs a tweak for Mac)
  7. Pretty up some of the error messages
  8. Thorough system testing before release
  9. Packaging up with some instructions on installation

Oh yeah, and of course, I’m doing the whole dog-food eating thing and as usual, this is posted with the very latest version of webpad (from FireFox), using a couple of the tools and bits and pieces and it’s all looking good.

Flavour Coming Your Way

Following a request from the blosxom mailing list, I’ll be packaging up the flavour files and associated style sheets used on this blog for download. I’ll post here when they are done. I’ll need to remove some “specific” bits which won’t make sense for other people first tho :)