For the past two years The CUNY Academic Commons has used a plugin that allows our site administrators to feature specific content from across our community on our home page. This plugin was originally written by Michael McManus of Cast Iron Coding, and served its purpose perfectly. However, as it is with all software projects, updates to the WordPress core in general and to our site specifically, began to wear on the plugin’s internal structure and features. My first assignment upon joining the Commons development team was to bring this plugin back into conformance with WordPress best practices and coding standards, and to add some long awaited features that our admins had been patiently waiting for.
I am happy to announce today that the first version of this rewrite (v1.0.0) is available in the WordPress plugin repository, and I’d like to introduce you to some of the new features and functionality.
As we’re ramping up to the release of version 1.4 of the CUNY Academic Commons, the team here is working feverishly on some exciting, new features.
One of those features we’ve been working on is a Reply By Email (RBE) plugin for BuddyPress.
If you’ve ever used a similar reply-by-email feature in Basecamp or in Facebook, then you’ll find yourself right at home with RBE and BuddyPress.
Today we’re pleased to announce that BuddyPress Reply By Email is available immediately for public beta testing. Read on to find out how you can try out RBE on your own BP site.
How it works
Usually, BuddyPress will send out an email notification to you when you’re @mentioned, when someone replies to one of your activity comments or when you receive a new private message.
What RBE does is hijack the email notification generated by WordPress to add a custom “Reply-To” email address as well as a reply marker in the body of the email.
RBE in action!
The “Reply-To” email address is an IMAP email address that supports address tags. An address tag basically allows a single email address to support various email addresses under one inbox. (eg. [email protected] can also support [email protected], [email protected].) In the screenshot, we used a GMail address since it both supports IMAP and address tags.
Once a reply is sent to this email address, the address tag allows RBE to distinguish what type of BuddyPress item the email is corresponding to such as an activity comment or a private message.
RBE, then, logs into the email address to check if any new replies were received. If replies are successfully parsed by RBE, they will be automatically posted to your BuddyPress site.
That’s not all!
For those BuddyPress sites that rely on the Groups component, we’ve also made it possible for group members to post new forum topics via email and when combined with another popular plugin, BuddyPress Group Email Subscription, subscribed group members can also reply to group forum posts as well.
Beta means we’ve tested it locally and deemed it to be almost ready, but could use some real-world external testing and feedback from BuddyPress site owners before public release.
We recommend testing on BuddyPress 1.5.6 or higher.
If you encounter a bug and you’ve read through the troubleshooting guide, please report it here.
This goes without saying, but, like any beta software, please test this locally and not on your live production site!
Members here on the CUNY Academic Commons can expect to see the feature in action in a few weeks, when we release version 1.4 of the Commons.
We’re really excited to bring one of the most-requested BuddyPress features to fruition under the awesomeness that is open-source. We also can’t wait to hear how you’re going to use the plugin and how it fares out in the wild! So let us know! 🙂
Site admins on a WordPress Network can add existing network members to their site on the Dashboard > Users > Add New panel. But the interface requires that one know either the email address or the username of the user in question. My new plugin, Add User Autocomplete, makes the Add Existing User workflow a bit easier, by adding autocomplete/autosuggest to the Email Address/Username field. Just start typing, and the plugin will return matching users; arrow down or click on the intended user to add her to the Add User list.
A few additional bonuses provided by the plugin, aside from autocomplete:
In addition to return email address and username matches, the plugin also checks against the display_name and user_url fields. So if my username is ‘admin’, and my email address is ‘[email protected]’, but my display name around the site is ‘Boone Gorges’, you’ll be able to find me by searching on ‘Boone’.
You can add many users to a blog at once. Search for one user, select and hit Return, and then search for another.
Prettier success messages. When you submit the Add New User page, your success message will give you a list of the users invited, instead of a generic “Invitations have been sent” type message.
Add User Autocomplete requires WP 3.1 and JavaScript. The plugin was developed for the CUNY Academic Commons. Check out the plugin at wordpress.org or follow its development at Github.
BP Better Directories is a new BuddyPress plugin that will turn your (kinda boring) member directories into something a lot slicker. Site admins select which fields they’d like to be filterable in member directories. Site visitors can then use a nice AJAX interface for narrowing search results.
This plugin is being developed for the CUNY Academic Commons, and is in early beta. Don’t use on a live site. There’s also a pretty good chance that the technique I’m using in the guts of the plugin won’t scale all that well without proper caching. You have been warned! (Also, it requires at least BP 1.5.1.)
I’ve just added support for BuddyPress to the YOURLS: WordPress to Twitter plugin, which enables WP and BP integration with the YOURLS URL shortening software. This development was done for a secret (though maybe not so secret anymore 😉 ) project for the Commons, to be implemented here soon.
I’ve just released version 1.1 of BuddyPress Docs, my collaborative editing software for BuddyPress.
The big new feature in version 1.1 is the History tab. After upgrading, you’ll notice that what used to be a single Edit button has been reorganized into three tabs: Read, Edit, and History. History allows you to brows the entire revision history of a document, to compare the differences between two revisions side by side, to view a single revision, or to restore to any point in the document’s history. Access to the History tab can be limited in the same way that access to the Edit tab can be, on a doc-by-doc basis.
This new feature will, I hope, bring some of the best qualities of wikis to BuddyPress Docs, and make Docs an even better way to collaborate.
The feature will be live on the CUNY Academic Commons in the upcoming weeks.
If you’ve ever been responsible for supporting an installation of WordPress Multisite with open registration, you know that the activation process can be a significant source of headaches. Sometimes activation emails get caught by spam filters. Sometimes they are overlooked and deleted by unwitting users. And, to complicate matters, WP’s safeguards prevent folks from re-registering with the same username or email address. This can result in a lot of support requests that are not particularly easy to handle. Aside from reaching manually into the database for an activation key, there’s not much the admin can do to help the would-be member of the site.
The Unconfirmed Dashboard panel
My new WordPress plugin Unconfirmed eases this problem a bit, by providing WPMS admins with a new set of tools for managing unactivated registrations. (By naming it “Unconfirmed”, I fully expect that the plugin will join some great movies and books in the pantheon of Important Cultural Objects.) Unconfirmed adds a new panel to your Network Admin Dashboard (under the Users menu). When you visit the Unconfirmed panel, it gives you a list of all pending registrations on your system. The list is easily sortable by registration date, username, email address, and activation key. For each unactivated registration, there are two actions that the admin can perform. “Resend Activation Email” does exactly what it says: it sends an exact duplicate of the original activation email, as created by the WordPress core activation notification functions. “Activate” allows admins to activate a pending registration manually, which will trigger the activation success email to the user.
At the moment, Unconfirmed is compatible with WordPress Multisite (aka Network mode) only. In the future, I may expand the plugin to work with non-MS installations of WP. Unconfirmed works with BuddyPress, too. The plugin was developed for use on the CUNY Academic Commons.
When I explain the CUNY Academic Commons to someone for the first time, the words ‘connect’ and ‘collaborate’ usually loom large. We provide a number of tools to make it easier for people to find each other (that’s the connecting), and then we try to make it easy for those people to work together on projects that matter to them (that’s the collaborating). Today I am releasing the first public beta of a new BuddyPress plugin that will, I hope, be an important tool in the Commons (and BuddyPress) collaboration toolbox: BuddyPress Docs.
BuddyPress Docs adds a new tab to groups where members can collectively create and edit documents, using an easy-to-use rich text editor. Docs support tagging, hierarchy, oEmbed multimedia, and much more. I’ve written about the feature list in detail on the BuddyPress Docs homepage.
Today the project is being released in a near-stable public beta. That means a few things. First, for the moment you run the plugin on a production site at your own risk, as there are bound to be bugs and rough spots (which I hope you will report back to me!). Second, it means that it’s not up and running on the Commons quite yet. BuddyPress Docs is slated to be turned on here with the release of Commons 1.2, which should be sometime in the next few weeks. The intervening weeks should give folks in the general BuddyPress community some time to put Docs through its paces before it gets put to work here.
The official documentation states that BuddyPress Docs requires WordPress 3.1 and BuddyPress 1.3. The latter requirement is a bit of an overstatement; Docs has been tested with BuddyPress 1.2.8 and it works well. However, the former requirement is strict: though the plugin might appear to work with versions of WP prior to 3.1, certain key features will not work (in particular, taxonomies will not work correctly, so that all Docs will appear on every group, no matter which group created them). Perhaps for the 1.0 stable release I’ll forcibly prevent the plugin from being loaded on those earlier versions of WP.
A member of the Commons community recently requested the ability to embed Prezi presentations into her Commons blog. I had a look at the options available in the wordpress.org repository, and the pickings were slim indeed. So I wrote my own plugin, Prezi WP. It’s pretty simple: use the [prezi] shortcode in your posts to embed a presentation. See the plugin homepage for more details on how to use the plugin, and how to download it and use it on your own WP installation.
I had a request or two to explain how I built the Group Announcements feature on the CUNY Academic Commons. Here goes.
Brief background: When the Commons was upgraded to BuddyPress 1.2, we got the benefit of interactive activity streams everywhere, including groups. This caused some confusion, however, as users were uncertain where conversation best fit into the Commons’s architecture: in the Forums (where it had been traditionally), or in the activity stream. In some communities this kind of fracturing might be okay or even welcome, but in ours it was confusing. At the same time, we wanted a way for group admins and mods to send important notices to the members of their groups. By taking the group activity updates and repurposing it as a Group Announcements section, I was able to kill two birds with one stone: providing an announcement space for mods, while focusing extended discussion in the forums.
I’m not putting this in the repo at the moment because I don’t want to build a proper admin UI and support it 🙂 For that reason, here is a primer on how the plugin works – if you want to customize or maintain it, you’re on your own, buster.
The CAC_Group_Announcements class is an instance of the BuddyPress Group Extension API. It is responsible for creating the Announcements tab markup and adding it to the nav. You’ll notice that the majority of the markup is created by including bp-default’s activity-loop.php and post-form.php templates. You could customize this more if you wanted.
bp_is_group_announcements() is a little template tag that can be used to test whether you’re looking at a group announcements page. This is needed for the activity filter, in step 3.
cac_set_announcement_filter() adds a filter to the bp_has_activities query string when you are looking at an announcements page, so that it only displays activity items of the type activity_update. In other words, when you are looking at the regular activity stream for the group, you see all of the associated group activity items (new members, forum posts, etc) but when you’re on the announcements page you only see activity updates (which, remember, have been repurposed as announcements).
As I look at the code, I see that there are things I would definitely change if I were going to make this into a distributed plugin. If you want to make those changes, be my guest. You’re welcome to help each other in the comment section, but I won’t be formally supporting this, as it is a very basic hack that should happen at the theme level anyway. Good luck!
Need help with the Commons?
Email us at [email protected] so we can respond to your questions and requests. Please email from your CUNY email address if possible. Or visit our help site for more information: