WordPress plugin for Knowledge Building discussions

Our research group has been working with knowledge building for years now. Some may be familiar with the Fle3 learning environment, built back in 2001. We’ve tried to get someone to create a Moodle plugin for knowledge building, even with the help of a dozen polytechnic students, but without much success.

Hans Põldoja came visiting two weeks ago and said he wanted a knowledge building plugin for WordPress by “next Tuesday”. Well, that wasn’t going to happen, but since our group leader Teemu Leinonen ok’d that I could spend time doing this plugin, I overcame my disgust over the uglyness of PHP and went to work.

Now, after one week, and probably about 20 hours later I have:

  1. Set up SVN and Trac for the project
  2. Got a domain name: fle4.uiah.fi
  3. Taught myself how to create WordPress plugins, basically by looking at these resources:
  1. Writing a Plugin « WordPress Codex
  2. Plugin API « WordPress Codex
  3. Plugin API/Action Reference « WordPress Codex
  4. Plugin API/Filter Reference « WordPress Codex
  5. Option Reference « WordPress Codex
  6. Adding Administration Menus « WordPress Codex
  7. WordPress Coding Standards « WordPress Codex
  8. Inline Documentation « WordPress Codex
  9. Plugin Submission and Promotion « WordPress Codex
  10. I did take a look at a few other plugins that do something similar, but the code quality was so bad that they didn’t help that much.
  • I then tested the plugin on my WordPress site.
  • When I was happy with the result, I applied for hosting at the WordPress Plugin Directory.
  • I then copied my code to the provided Subversion location (where you can checkout the source code as well), waited for the plugin information to be updated, and presto, it was downloadable and installable from within WordPress plugin management screens.
  • Some findings and observations:

    • WordPress development documentation is excellent, and an invaluable resource!
    • Many WordPress plugins (despite the previous point) are of low quality. So if looking for code examples, think carefully what you use.
    • The WordPress API is in general very well made. The Actions and Filters hooks allow plugins to easily effect the places they need to change.
    • The API still has problems – some changes aren’t easy to make using hooks, and need to be manually inserted by editing templates.
    • Some WordPress code still has html and php mixed together (example: the Walker class), which make their extensions really painful.

    But yes, in about half a week of working time I have a functional plugin. You can find it:

    Comments and such about the plugin are welcome at the plugin site. More general comments are welcome here.

    Blogged with the Flock Browser

    Tags: wordpress, plugin, knowledgebuilding, php, development, api