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

Redesigning the Commons Homepage

0_blueprint-2nd floor

Over the past few months, the development team has been busy working on the backend of this site, trying to integrate its various tools into a single, seamless usability experience. Now that those efforts have begun to bear fruit, we can start to turn our attention to other pressing development needs.

One of the items that has been at the top of our to-do list for a long time now reads “Redesign the Home Page to take better advantage of feeds.” If you don’t know what an RSS feed is, check out RSS Feeds in plain English. Basically, RSS feeds are streams of data that an be incorporated into webpages so that those pages present constantly updated information. Examples of RSS feeds include the listing of “Recent blog posts” on our current home page and the “Site-Wide Activity” feed on the News page.

Right now, the top half of our home page is almost completely static. As we redesign it, we’ll want to use RSS feeds to showcase more of the activity going on across our site. One suggestion that came out of last Friday’s CUNY WordCampEd meetings is that the Commons can aggregate not only activity on the Commons, but also activity on other WordPress installs on various CUNY campuses. That would allow the Commons to be a true hub for the CUNY community.

We’re throwing around various ideas among ourselves, but this website is premised on the assumption that it will adapt to the needs and desires of its community. So: what would YOU like to see on the new homepage? What feeds should be there? What feeds do you want to see elsewhere (on pages other than the home page) on the site? How can the Commons best showcase the work, energy, and enthusiasm of its communities? Please let us know in the comments below.

Image by Kurtphoto

New plugin: Custom Profile Filters for BuddyPress

Custom Profile Filters for BuddyPress
Custom Profile Filters for BuddyPress - click picture to download plugin

If you’ve set up a profile here on the Commons (or on some other site run on BuddyPress), you may have noticed that some of the words and phrases in your profile have turned into links that, when clicked, lead you to other profiles where those words appear. This tagging feature is a great way to find out about people in the community who share your interests, but the algorithm that BuddyPress uses to create links can be somewhat finnicky. I built this plugin to allow users to customize these tags, choosing for themselves which phrases should be linked by surrounding them in square brackets.

Here’s an example. Let’s say that, in a profile field called Academic Interests, I said the following:

I’m interested in philosophy, chewing gum, and mariachi bands.

What I really want here is for the phrases “philosophy”, “chewing gum”, and “mariachi bands” to become links. So I’ll surround them in brackets like this:

I’m interested in [philosophy], [chewing gum], and [mariachi bands].

I’m submitting the plugin to the WordPress repository for versioning, but for now you can download version 0.1 here. Comments are welcome – have fun!

Custom Profile Filters for BuddyPress

Welcome to the AC Dev Blog

I’m proud to announce the opening of the CUNY Academic Commons Development blog, which will track new technical developments on the Commons website.

The Commons is one of a number of academic projects in recent years that have sought to foster online communities in university settings.  As George Otte, our fearless (and peerless) leader, has pointed out, the structural make-up of CUNY — the largest urban university in the world, with 23 campuses and a quarter of a million students — makes this project not just desirable, but also necessary for the university system.

What’s exciting about this moment at CUNY is that we’re (finally) seeing the rise of a number of open-source projects across the system.  By choosing to construct the Academic Commons using a connected series of open-source platforms, we have engaged the growing movement of open education (join our local Open Education group here).  Such efforts, I would argue, represent a twenty-first century extension of CUNY’s longstanding mission of making knowledge public, accessible, and affordable.

The remarkable thing about open source software–and, really, what defines it as open source–is that the code behind the program is released freely to users, who can then look at it and customize it for their needs. This is in contrast to a model of proprietary software, in which users are powerless to implement fundamental changes to the system without the help of the company that made the product.

Here at the Commons, we took a “small pieces loosely joined” approach, in which we have assembled a best-in-breed series of platforms (WordPress Multi-User + BuddyPress + BbPress + MediaWiki) and cobbled together a way for them them all work together. As we’ve tested out this system, we’ve found many things that work well, and other things that don’t. And as we find things that don’t work, we create custom plugins and extensions to fix the underlying problems.

The wonderful thing about open-source systems is that communities of developers and users tends to form around them in order to share their work and improve their websites. To truly be part of the open-source movement, we can’t just take–we have to give. And so, one reason we created this particular blog is to use it to release our custom code to the larger open-source community. That way, others can build on our work, just as we have built on theirs.

We have some exciting extensions to announce in the very near future, so please stay tuned.

Up next:  introducing the CUNY Academic Commons Development Team.