Beginning with WordPress and BuddyPress

The fundamental outcome of this project is to design and build a WordPress/BuddyPress plugin which ‘consumes’ OER’s from 3rd party content providers. To accomplish this the developers should have an understanding of these platforms, and how they can be extended and modified. As a first time user of WordPress and BuddyPress, I needed to learn how to use them, and how to develop on them. This was originally a daunting challenge. Fortunately, I am set next to Alex Bilbie, who I can learn from, as he is already experienced in WordPress development.

I began by downloading WordPress and BuddyPress, and spent several hours rummaging through the filesystems to understand how they are structured, and what each file does. My first impressions were that both WordPress and BuddyPress seemed to be very large and complex, with some files containing just 20 lines of code, while other files contain 15,000 lines of code (the WordPress class-simplepie.php for example). However, tracing through each file and seeing how they link together is one of the best ways for me to learn, and I picked up the structure pretty quickly.

I then installed WordPress and BuddyPress onto my personal web domain, which went smoothly. I then decided to research the plugin creation process, which led to me developing my own simple (and functionally useless!) plugin. The plugin I created is  much a “Hello World!” style plugin, simply outputting text to the WordPress header element. I developed this to use the WordPress database, saving a random phrase to the ‘wp_options’ table, which is then retrieved and outputted to the web browser when the user accesses the blog main page. For a working example, see dalemckeown.co.uk/bebop/. The black element at the top of the page labelled “Bebop Test Plugin” shows the plugin working. I then implemented some admin functionality, adding an item to the “Settings” tab in the WordPress admin section, enabling the saved phrase to be changed easily.

While I am yet to produce anything of real value for this project, I believe that the research I have performed will be vital (we all have to start somewhere, right?). However, I now feel comfortable using and developing on the WordPress and BuddyPress platforms. We can now concentrate on defining what our Bebop plugin is going to include, and what are the most useful OER hosting platforms to incorporate into our BuddyPress profiles. Joss’ last post, regarding this matter, looked into the RSS endpoints for each potential OER hosting platform. Our next task is to select the relevant OER hosting platforms, so we can begin development.