Today: May 9, 2021 6:03 pm
A collection of Software and Cloud patterns with a focus on the Enterprise

A Java based licensing system for premium WordPress plugins

The market for premium wordpress plugins is very active these days. Despite the disagreement over GPL specifics, there are an increasing number of extremely skilled software developers that create high quality plugins for WordPress.

One problem that they all have is a licensing mechanism that will allow them to distribute their software plugin freely, but restrict its use to those who have paid. In some cases it is desirable to provide a free limited time trail.

In this series of articles I’m going to show you how I develop a licensing system for wordpress plugins.

Always start on paper

One of the first rules I use when developing new software is to always start on paper. This does a few things for me. First is that I have to think in terms of the problem and solution, not code. Another is that I have a visual reference to keep me on track as I start to develop. Yet another is that I have a simple document to share with collaborators.

Here’s my initial sketch for the licensing system. It will get more complex, but this does a good job capturing the aims of the project. Click on the image to see it larger.

wordpress plugin licensing initial design sketch


  1. […] the introduction to this series I outlined some of the requirements for the WordPress plugin licensing platform: Speed, reliability […]

  2. […] the first article in this series, I sketched out some of the basic design ideas for the wordpress plugin licensing […]

  3. […] form of a sketch of the application. This worked out great since I suggest always starting with a sketch drawn by hand. Here’s what they […]

Leave a Reply to Java, Wicket and Hibernate on EC2 (pre-interview project) | Daniel Watrous on Software Engineering Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.