Posted by Shane
For the past week or so, I have been updating the Woopra WordPress Plugin. As of right now it’s current development version of 1.4.1 (currently running on this site) is working great. One of the main gripes I had with the earlier versions of the plugins is that is was all done with including and the functions were not ‘grouped together’.
After doing some looking at some other plugins that exists, I decided that it was better for it to be now moved into a class system since PHP version requirements will be going higher for WordPress in the near future and PHP itself versions are being outdated faster than I can keep installing them on this server.
Then came two ‘problems’ that myself and Elie wanted to implement.
- Events – Including allowing 3rd party plugins, themes to add events into the Woopra Application.
- Settings – WordPress 2.9 has certain requirements when it comes to how they are processed.
So I was faced with a question: Should I just update the plugin fully for 2.7+ in a class format? Yes!
So after looking over Viper007Bond‘s Twitter Plugin and sivel’s shawdowbox-js plugin I had a game plan. So it was going to class format. After about a week of tweaking I had already converted most of the code (front end, admin settings), but the hardest part to convert was showing the analytics pages.
Using DD32 suggestion of using admin-ajax.php of able to process the ajax portion of the analytics.js file it worked! Generating and displaying the data worked in full ajax code with the support of allowing to use the other classes and built in WordPress functions for translations.
This morning I was just cleaning up the code where checks, removing unneeded functions, and cross-referencing could be optimized. I feel pretty confident right now to call the current ‘trunk’ stable, but I will still be testing the upgrade process (props to sivel!) since all ‘settings’ are in a serialized array vs. being by themselves.
The only real changes made to the code and the settings page only. Otherwise it’s the same plugin as version 18.104.22.168. This 1.4.1 will be the last version of this branch. 1.5.0 will include events and the API to go along with it. The time between 1.4.x and 1.5.x will not be that long. I think at min. 2 weeks.
The other thing to expect in 1.5.0 will finally be the language support. After many… many… many… months of gathering translations files they are all going to be useless after this update. So for the developers who did them before, please re-submit them once I give you the go-ahead.
Be sure to stay turned here and on the official Woopra blog for the release.
Update: A pre-release for testing only is located here.