New BuddyPress / bbPress plugin: Group Forum Subscription

BuddyPress and bbPress connect nicely, giving BuddyPress groups a handsome forum interface, but the software has no native ability to allow users to receive email when their favorite discussions are updated. Without this functionality, it can be hard for users to keep up-to-date with forums, and subsequently the forums are less active than they otherwise could be.

Subscription panel on group home page
A panel on each group home page lets users know whether they'll automatically receive email notifications of new discussion activity in the group

Group Forum Subscription is a set of plugins I’ve written (mostly on the BuddyPress side, with a small bbPress trigger plugin) that adds the missing forum notification functionality. GFS allows members of BuddyPress communities to subscribe to email notifications of new discussion activity. Subscriptions can be managed on a topic-by-topic or group-by-group basis.

Users can subscribe or unsubscribe from entire groups on the Notification Settings page
Users can subscribe or unsubscribe from entire groups on the Notification Settings page

The plugin also has some administrative settings. Notable among these is the ability to set up email notifications for the first time after the plugin is installed, so that users are automatically subscribed to topics in their groups without having to set it up manually. This is a setup process that we’ll be running in the upcoming days here on the CUNY Academic Commons.

Group Forum Subscription will currently work only on 1.0.x versions of BuddyPress – the brand-new BP 1.1 is not yet supported. I’ll be working on the upgrade very soon. Read more about the guts of the plugin or download it for yourself.

New WordPress plugin: Sitewide Tag Suggestion

WordPress’s Post Tags box, which appears on each Edit Post and Add New Post screen, has a great feature called “Choose from the most used tags in Post Tags”. This link allows you to see which tags you’ve used frequently in the past and apply them to your current blog post. The feature gives rise to two nice effects. One is that you avoid ending up with a lot of close-but-not-quite-identical tags on your blog (like “WordPress”, “WP”, “Word Press”, and so on) that, because they aren’t grouped together, tend to defeat the organizing purpose of tags. Another benefit is that it reminds you of the things you found important in past posts, and encourages you to mark your current post with the same tags, if relevant.

Sitewide Tag Suggestion
Sitewide Tag Suggestion

This plugin (and set of hacks) that I’m calling Sitewide Tag Suggestion allows you to glean the same benefits from the tag collection not just of a single blog, but of all the blogs on a WPMU installation. In short: STS adds another link to the Post Tags box, this one allowing authors choose from the entire community’s most popular tags when composing a post.

If you’ve got a blog on the CUNY Academic Commons, you can take advantage of Sitewide Tag Suggestion today. Just check out the Post Tags box when you’re writing a blog entry.

You can download the plugin here: sitewide-tag-suggestion.php.zip.

Detailed instructions for installation – which, partially as a result of my own ineptitude, involves a few hacks to WPMU’s core code – are contained inside of the file. Please note that WPMU 2.8+ is required, as is Donncha’s Sitewide Tags plugin.

New BuddyPress plugin: Enhanced BuddyPress Widgets

BuddyPress comes with several WordPress widgets, among which are the Groups and Members widgets that you see on the CUNY Academic Commons home page. This plugin makes those widgets a little more customizable, allowing users to specify which of the three tabs (Newest, Active, or Popular) they’d like to be each widget’s default view.

enhanced-bp-widget

If you’ve got a blog on the CUNY Academic Commons, you can start using this feature right away. Just look in Dashboard > Appearance > Widgets. Be sure to select the Groups/Members widgets whose descriptions say “Enhanced”.

You can download the plugin for use on your own installation of WPMU/BP here: enhanced-buddypress-widgets. It’s also available from the WordPress plugin database: http://wordpress.org/extend/plugins/enhanced-buddypress-widgets/.

Version 0.2 of BuddyPressActivity

Since releasing my MediaWiki extension BuddyPressActivity, which puts wiki edits into your BuddyPress activity stream, I’ve noticed a bug or two. In particular, the cool feature that filters out multiple edits of a page by a given author within a 24 hour period wasn’t working right. I’ve made the necessary fixes in v0.2.

Get the updated code today.

Missed Connections

sharing Boone Gorges, who is familiar to many of you as the homegrown rising star of our development team, recently traveled to Vancouver to take part in the Open Ed 2009 conference. From what I’ve gathered, Boone’s flights to Canada and back went relatively smoothly.

And indeed, far from missing connections, Boone was able to make some valuable ones, particularly with the development team at the University of British Columbia’s Office of Learning Technology. Knowing that UBC is working on projects that are similar to ours, Boone starting thinking about ways in which our Dev teams could do a better job of sharing things with one another — something that make sense, given the commitment we all have to open education. Boone speculated on this in a blog post titled “Sharing Hacks“:

Communication about code is a hard thing. On one end of the spectrum is internal communication. The gang at OLT keeps internal notes of the small hacks they do on their system, as do we at the CUNY Academic Commons. On the other end is end-user documentation, meant for a broad and largely non-technical audience. The kind of communication that’s missing here is the stuff in the middle, between groups doing similar sorts of work.

Boone ended that post by stating his commitment to writing more frequently on this development blog about the smaller issues of development. But his larger point — that those of us developing open-source educational platforms need to communicate more regularly with one another — is one that can’t be emphasized strongly enough.

And so, I will close this post with one of Boone’s central questions: “What are some good ways to get this kind of sharing moving?” His post, along with this one, represents a start, as does the revival of UBC’s development blog. But we need to build more lasting channels of communication soon, lest we miss some important connections.

Photo credit: Flickr user o.blaat

New BuddyPress plugin: Remove Previous Comment Edits From BuddyPress Activity

UPDATE: BP Dev Andy writes in a comment to this post that this bug will be fixed in BP core soon. If you’re running a recent version of BP, it’s likely that you won’t need this plugin. Please make sure you can reproduce the issue before installing.

This plugin fixes a small but potentially annoying quirk in BuddyPress. If you, as a blog owner, edit a comment that appears on your blog, BuddyPress adds an entry to the sitewide and individual activity streams – but it doesn’t delete the old entries. As a result, if you end up (for example) editing your own comment a few times in a row, you’ll see multiple items on the activity feed.

This plugin fixes the problem by checking whether a submitted comment is an edit, and if it is, by deleting previous versions of the comment in the activity stream.

Until the plugin is in the WordPress repository, I’ve made it available in a zip file here. Just load bp-activity-skip-comment-edits.php into your /wp-content/plugins folder, activate in Dashboard > Plugins (sitewide, if you’d like), and you should be good to go.

Making Sitewide Tags work

Sitewide Tags is a cool plugin by Donncha O Caoimh that pulls blog posts from all over a WordPress Multi-User installation – like the one here on the CUNY Academic Commons – into a supplementary catch-all blog. The power of this plugin is that, with all sitewide blog posts aggregated into one place, you can begin to see the kinds of topics and trends that emerge from the community of bloggers. More specifically, Sitewide Tags allows you to create a tag cloud that reflects blogging activity across the entire community. (See the tag cloud at WordPress.com for a sense of what this looks like.)

I’ve got Sitewide Tags up and running here on the Commons – see our tag cloud (scroll down the page) and our aggregated blog. Getting things running seamlessly took a bit of tinkering though, and I thought it might be useful to share some of the tinkering here.

Read on for more of this (unexpectedly!) long process.

Continue reading “Making Sitewide Tags work”

New MediaWiki extension: BuddyPressActivity

One of the most interesting vantage points from which to monitor goings-on around the CUNY Academic Commons is the BuddyPress activity feed. The sitewide feed – located on the Commons’s News page – lists all the activity happening the blogs, groups, and profiles around the site. There are activity streams for individual users and for those users’ friends as well – you can mine, for instance, here.

wiki-activity

Until recently, though, these streams did not include information the activity taking place in the wiki portion of the site. I’ve developed a extension for MediaWiki (the software that powers the Wiki section of the Commons) called BuddyPressActivity that rectifies this shortcoming. For websites – like the CUNY Academic Commons – that have integrated our homegrown MediaWiki/Wordpress MU integration, this extension will update BuddyPress activity streams to include edits to pages within the wiki, thus better reflecting the extent and variety of the action on the site.

You can find out more about the extension – and download the code for use on your own MW/WMPu installation – at http://www.mediawiki.org/wiki/Extension:BuddyPressActivity.

Recent Site Developments

Over the past several weeks, the Commons development team has made a series of major and minor changes to the site. I’d like to detail them here and discuss our future plans.

Navigation
Admin Bar Improvements
We’ve taken several steps to tie the site together through better navigation bars. You’ve probably noticed some big changes to our two nav bars, the BP Admin bar (so named for “BuddyPress admin”) and the main nav bar. Here’s a screenshot showing both nav bars: navbars

The new BP Admin bar essentially provides sitewide navigation, since it appears on every single page of the site, including each user’s blog. We’ve created a navigational tool that is significantly more robust than it was; now, instead of clicking “Home” and simply returning to the home page of the Commons, users can access the main sections of the site (People/Groups/Blogs/Wiki/Forums/News/About) directly from the admin bar.

If that first drop-down menu on the admin bar provides links to the major areas of the site, the second dropdown menu, titled “My Commons,” offers a more personalized set of links. When the user scrolls over that menu, a list of custom links (“My Friends,” “My Groups,” “By Blogs,” etc.) appears.

The next two dropdown menus, “My Blogs” and “My Groups” are somewhat redundant, since they seem, at first to replicate options available on the “My Commons” menu. But you’ll notice when you mouse over them that they offer more direct links to the user’s content, so that, for instance, one can choose to create a new post on specific blog simply by clicking My Blogs > (Name of Blog) > New Post.

Active State Navigation
We’ve added active-state navigation to the site, which means that the relevant section of the main nav bar will turn a lighter color when you are on that part of the site. In the following screenshot, the “wiki” link on the nav bar lights up to show the user that she is on the wiki:
active-state-nav

We hope that this makes the site a little easier to use.

Direct Access to Forums
Previously, the only way to create a forum post was to do so through the group interface. We’re now providing direct access to the discussion forums via the forums link on the nav bars.

What’s nice about this is that members of the site can start new discussion topics outside of their groups. Additionally, users can take advantage of increased functionality on the forums (attaching files, bookmarking favorites, etc.) when posting directly on them.

Redesigned News Page
We’ve redesigned the News page so that it provides a better overall picture of activity on the Commons. If you’re wondering what has been going on since the last time you visited the site, head to this page first to see recent sitewide activity. This is a very useful way to stay up to date on happenings in the Commons.

Assorted Bug Fixes and Usability Improvements
We’ve made a number of fixes to minor usability issues:
— Links to identities on social networking services from member profile pages now lead directly to those sites
— The default listings of Newest/Active/Popular members and groups on the homepage has been changed; the default for groups is now “Popular,” to emphasize size, and the default for Members is “Active,” to promote active users.

Known Issues and Future Plans
We’ve accomplished a great deal recently, but we know we have a lot to do. Here are some of the most pressing items on our to-do lists:

— Create a Help Section with screencasts and an introduction for new users
— Redesign home page of Commons to take better advantage of feeds
— Create a sitewide search that will include the wiki, blogs, member profiles, groups, and forums
— Add wiki feeds to sitewide feeds
— Assess group needs on Commons
— Get SiteWide tags working
— Formalize bug tracking system
— Implement a system for user suggestions
— Add login widget to homepage
— Fix email capability on BuddyPress (group wire email is currently not working)
— Build more robust member profile pages

That’s just a short list of some of the things we have planned. And, of course, we’d love to hear your thoughts about all of this. Please use the comments to let us know what you think and what you’d like to see!

Updated version (0.2) of Custom Profile Filters for BuddyPress

I’m releasing a new version of my Custom Profile Filters for BuddyPress plugin. The initial version, described here, gave BuddyPress users more control over which terms in their profiles become linked to a community-wide profile search. The new version gives BP administrators the ability to tweak these links even more. Here’s what’s new:

  1. Some profile information – phone numbers, IM handles, and so on – is unique to the individual user. Thus there’s no real need to have this information linked to a community-wide search. Using this plugin, administrators can specify certain profile fields that will remain non-linked. By default, profile fields called Skype ID, Phone, and IM will not be processed as links, but you can tweak this to be whichever fields you want. See readme.txt and custom-profile-filters-for-buddypress.php for more information.
  2. Other fields, especially those social networking sites where each user’s handle is attached to a profile page, can be more usefully linked to those user profiles than to a search of the community. For example, it makes more sense for the contents of the Twitter field to link to an individual’s Twitter page rather than to other users in the community who have the same Twitter handle (hopefully no one!). With this plugin, administrators can specify that certain fields will turn the user’s social networking ID into a profile link. By default, the plugin recognizes fields called Twitter, Delicious ID, YouTube ID, Flickr ID, and FriendFeed ID. See custom-profile-filters-for-buddypress.php for more information and to change these settings.

I also added a little bit of code to make sure that BuddyPress can recognize email addresses with periods before the @-sign.

You can see some of these things at work in my profile here on the CUNY Academic Commons: https://commons.gc.cuny.edu/members/boonebgorges. You’ll notice that the Twitter field shows a link to my Twitter profile, even though I just entered my handle in the Edit Profile screen.

Grab the latest version from the trunk http://svn.wp-plugins.org/custom-profile-filters-for-buddypress/ or download it here: custom-profile-filters-for-buddypress-v02.zip