Bebop Goes Live!
I am proud to announce that Bebop version 1 is now live on WordPress.org, and can be downloaded from WordPress.org (or directly through the “search installed plugins” section of a WordPress site). You can also checkout the code repository on Github. This is a fairly early release considering this is a rapid innovation project which still has 6 weeks to go; but we decided we wanted to gather some feedback for improvements before the project comes to an end.
The features released in version 1 are pretty much inline with what we wanted Bebop to achieve at the beginning of the project. This of course, focusses on the aggregation of user OER content into BuddyPress profiles. We have also managed to extend the original specification somewhat, by allowing multiple feeds to be linked for one user. This allows content to be aggregated from multiple accounts into a single BuddyPress profile, which could be incredibly useful for academics who want to share content from more than one group.
Bebop is now producing multiple RSS feeds for each user. Content is published individually for each OER provider (such as SlideShare or Vimeo) which allows users to export specific content into other systems. All of the users OER content can also be imported, and the RSS feed allows up to 250 items to be exported.
A new version (1.1) of Bebop is already being developed, which will feature a more ‘WordPressy’ feel to it, with additional functionality for the discovery of user RSS feeds, as well as some important bug fixes and performance updates. The twitter extension will also be updated, following the release of updated Twitter API’s.
OER Reuse
Another aspect of this project was to see how we could reuse the OER content collected by Bebop for other purposes. To accomplish this, we have decided we shall add a ‘Teaching Resources’ tab to our Directory which will automatically import and display contentfrom our BuddyPress platform. This will be made possible by through the use of the RSS feeds which Bebop creates, as described above. We will be working on this over the next couple of weeks.
Technical Issues
I would like to take this opportunity to explain some of the technical issues we have faced when developing Bebop. The initial problem we faced was using WordPress/ BuddyPress as a development platform. Having never developed using the rather unique code structure WordPress uses, it was slightly confusing and difficult at first. Fortunately, WordPress is documented rather well, so problems were solved relatively quickly. BuddyPress is not documented as well as WordPress, and it was often difficult to find answers and solutions to problems. Thankfully, Joss had recognised this potential issue before the project began, and enlisted the help of Boone Gorges, a BuddyPress lead developer. Boone’s help and technical guidance has been invaluable on many occasions.
The second technical issue which we found particularly challenging was importing data into Bebop. This may sound strange considering this was the main focus of the project, but let me explain. The main issue was every OER provider does things differently. RSS feeds, OAuth API, API’s returning XML, API’s returning serialised PHP, etc. This posed problems when trying to standardise how the extensions in Bebop work, while trying to keep things as simple as possible. In the end, we decided it was best to have a custom import script which would create a standard array of data for each OER. This data is then passed into another function which deals with all the nitty gritty validation, content checks, and database queries. This turned a rather complicated and messy process into a simple 2 stage process, which is essentially find and sort and then pass it into the processing function.
A problem which I foresee in the future is keeping Bebop up to date. The main concern here is when updated API’s are released. For example, the Twitter API’s have just been updated, and the Twitter API Bebop currently uses will be depreciated within the next 6 months. While we will be able to update API’s up until the project ends in the middle of October, it will be a little more difficult to keep Bebop up to date once the project ends.