In the last months I had the opportunity of an internship in a web development team at one of Germany’s leading e-learning provider. During this time I’ve learned something about writing cleaner code. If I see the source of teachPress today, so I find many of missteps, which I made in the last years. The most important one is that there is no separation between the database requests and the real output system. In the most cases it’s the same function, sometimes with a size of 300 to 500 lines. That’s not really pretty and leads to some nasty problems:

  1. A bloat of the source code: many functions and database requests exists for three or more times with the same functionality and the same possible bugs
  2. Adding new features becomes more and more complicate
  3. It’s nearly impossible to adjust the style of the output without changes in the plugin.

Furthermore some users reported me some other issues, which prevent an efficient usage of the plugin:

  1. The handling of many publication entries (i.e. more than 3000) is difficult
  2. It’s not possible to use course or publication data in combination with other plugins or applications.

With a view on all of this points, it’s easy to formulate the challenges for the next major version: Cleanup the code and including a flexible WordPress-like API. Some of the works are already done and I’m hoping for a release at the end of 2012.