I have updated two of my DiSo plugins: Profile and ActionStream.
The profile updates mostly involve some code cleanup, a page here documenting it, and a new API to add permissions options to the permissions page.
The ActionStream update is a bit more extensive:
- Support for coComment
- Code cleanup, of course
- RSS2 output option, linked from the stream output (add &full for a different view)
- Reportedly working in WP2.5 with a patch I accepted
- Better Safari support
- If you disable showing your service usernames they are also hidden in the collapsed items
- Abitily to set permissions on updates from each service (if wp-diso-profile0.25 is installed)
I’m publishing two plugins today. The first is pretty simple in what it can do for users directly – the XRDS-Simple plugin allows users to delegate their OpenID to their WordPress blog – basically letting you log in on OpenID enabled sites using your blog address, but without needing to run your own provider.
On a far geekier level, the plugin allows other plugins to add XRDS-Simple services and other information (such as OAuth Discovery) using a progammatic API. A brief example of this API is on the plugin’s page.
I am also releasing a more DiSo related plugin – WP-OAuth. This plugin enables interacting with WordPress authentication using the open OAuth protocol. This could be exciting if combined with AtomPub or another protocol / format supported by WordPress or another plugin.
Some significant improvements to my ActionStream plugin. The plugin can always be downloaded from that page. The changes are:
- Bugfix in how some feeds were handled (notably google reader)
- If nicknames are being displayed, they are hcards with links to your profile at that service
- Including updates from your own blog is now optional
- There is now an option to remove services you have added
- Collapsed (5 more… et al) nodes may now be expanded on link click
I am pleased to announce version 0.2 of my WordPress Actionstream plugin!
It can be downloaded from the normal place.
New this release:
- Better microformats support in the output
- Some architecture improvements and bug fixes
- There is now a sanity check for zero items or less items than requested
- Posts on the host blog are now added to the actionstream
- There is a well defined way to add stream items (say, from another plugin). Just create an array with the fields you need (be sure to specify identifier and created_on – GUID and unix time of publish, respectively) – usually includes title and url. Then instantiate an object of class ActionStreamItem and save in like so:
(new ActionStreamItem($array_data, 'service', 'data_type', $user_id))->save();
- There is now a hook for other plugins to add available services. Example:
actionstream_service_register('feed',
array(
'name' => 'Feed',
'url' => '%s'
),
array(
'entries' => array(
'html_form' => '[_1] posted <a href="[_2]" rel="bookmark" class="entry-title">[_3]</a>',
'html_fields' => array('url', 'title'),
'url' => '{{ident}}',
)
));
So first, the plugin. I have basically ported the MT Actionstream plugin to WordPress (you can see it in action on my main page). This is pretty cool, and it means we can easily share settings with other efforts.
New in this release is the ability to import a list of services from another page (like MyBlogLog or FriendFeed) using SGAPI.
Code lesson: sometimes the WordPress docs lie. They say that you pass a function name (or array with object reference and function name) to wp-cron hooks to schedule regular actions. Not true. You pass the name of a WordPress action (added with add_action).
Blogging Lesson: Blog your own work. This plugin has been covered by at least four blogs now (more than most of my stuff) and not yet by me. I just posted the plugin on the DiSo mailing list and people liked it. I’m not complaining, but I’ll definately post my own stuff up front in the future!