After almost a year in development, I’m very happy to announce the release of WordPoints 2.1. This release introduces a new administration screen to WordPoints: the Points Types screen.
This screen is where you can create points types and update the settings for existing points types. It also introduces a new feature: event reactions. These are basically a glorified version of the old points hooks. Events are different things that happen on your site, like a user registering, or a post being published. (These are analogous to the old “hook types”.) To award points when one of these events occurs, you need to create reactions to the events. A you fill out the settings for a reaction, and this will tell WordPoints how it should respond (or react) when it detects that that event has occurred. (These reactions are analogous to the old “hooks instances”.)
What makes these new reactions different from the old hooks? The code that underlies them has been much improved to make them far more flexible. The old hook types each had to be coded individually, and the code could not easily be shared with other hook types. This meant that to make a single feature available across multiple hook types, it had to be created for each hook type separately. You can think of this kind of like each hook type being a separate sculpture. But the new reactions are built on code with a much different structure. You can think of them as being like structures built out of Lego™ bricks. The same feature can be provided for reactions to all events, using just a single piece of code. This is very powerful. It makes it possible for a module to add new features for reactions to existing events very easily. It likewise makes it possible for a module to introduce new events, and any reactions your create for those events will instantly be able to take advantage of all of the features that WordPoints provides for reactions to other events.
All of this makes it possible to add new features and events much more easily. Which means that I’ll hopefully be releasing a lot more modules more quickly. (Up next: BuddyPress integration.)
One of the reaction features included in this release is Conditions. These let you set up certain conditions which must be met in order for the reaction to award the points. For example, you can add a condition that requires that a post must contain a particular word or phrase before its author is awarded points. Or, that a user with a Contributor role is awarded more points than other users when they visit the site. The possibilities are almost endless, so we’ll be adding many more conditions for you to use in the future.
In case you are wondering what will happen to the old points hooks, the answer is: nothing right now. Eventually the old hooks will be imported to the new reactions API and the old screen will be removed. But I haven’t done that yet because there are still a few small compatibility issues between the old and new code that will have to be resolved. Otherwise the behavior of some of the hooks would change slightly after they were imported to the new reactions, and we don’t want that to happen.
So this is what I’ve been working on for so long. It might not dazzle you right away, but believe me, it will continue to impress over time.
In coordination with this release, updates have been released for the Importer, WooCommerce, and Beta Tester modules. These updates provide better compatibility between these modules and this new version of WordPoints. If you are using any of these modules, we recommend you update them.
I’m confident that this is just a beginning and that WordPoints has a bright future ahead. If there’s anything that you’d like to see become a part of that future, let me know in the comments. I can’t wait to get started on building some of the modules that have been requested. Look for updates on that here in the very near future!