-
Notifications
You must be signed in to change notification settings - Fork 413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
License management #222
Comments
I'm using your library in combination with my own (public/free) plugin to provide licences and updates, and have been for around 5 years: https://wordpress.org/plugins/simba-plugin-updates-manager/ . On the client side, there's an easy-to-use library: https://github.com/DavidAnderson684/simba-plugin-manager-updater (uses an email/password pair for veriifcation). Those two are shop-agnostic. I sell using WooCommerce. The licences are issued by a connector plugin which joins the two together: https://www.simbahosting.co.uk/s3/product/plugin-updates-licensing-and-renewals-manager-woocommerce-connector/ |
An all in one solution to sell plugins or themes would be great. |
What are you using to issue licenses, if anything? Does it have an API? What are you using to provide updates, if anything? Does it know how to check if a license is valid? What kind of information do you need to verify a license? Just a simple alphanumeric key, or a username/password pair, or something more complicated? How does the user enter the license key? Or, if you haven't implemented that yet, how would you like it to work? Why not use something like Envato, Freemius or Easy Digital Downloads? |
What are you using to issue licenses, if anything? Does it have an API? What are you using to provide updates, if anything? Does it know how to check if a license is valid? What kind of information do you need to verify a license? Just a simple alphanumeric key, or a username/password pair, or something more complicated? How does the user enter the license key? Or, if you haven't implemented that yet, how would you like it to work? Why not use something like Envato, Freemius or Easy Digital Downloads? |
What are you using to issue licenses, if anything? Does it have an API? What are you using to provide updates, if anything? Does it know how to check if a license is valid? Here is how it works:
What kind of information do you need to verify a license? Just a simple alphanumeric key, or a username/password pair, or something more complicated?
How does the user enter the license key? Or, if you haven't implemented that yet, how would you like it to work? Why not use something like Envato, Freemius, or Easy Digital Downloads? Hope I covered everything @YahnisElsts |
@YahnisElsts When update server and plugin (with update checker) are on same WP site, cannot get ?action=download working (503 Service unavailable) Thanks. |
@ddur: That sounds unrelated to the topic of this issue; please make a new issue instead. |
Thanks #489 |
What are you using to issue licenses, if anything? What are you using to provide updates, if anything? Does it know how to check if a license is valid? What kind of information do you need to verify a license? Just a simple alphanumeric key, or a username/password pair, or something more complicated? How does the user enter the license key? Or, if you haven't implemented that yet, how would you like it to work? Why not use something like Envato, Freemius or Easy Digital Downloads? EDD: does not emulate WP.org server and cant provide automatic update |
Hi @YahnisElsts &all You may try (and comment) implementation of license management using WordPress (>=5.6) Application Passwords live in action. Warp iMagick WordPress plugin is just published with update support by License Managed Update Server based on Yahnis Update Server. Thank You! |
@ddur: Thanks, I'll take a look later, |
Hi @YahnisElsts |
@slimanehma: No, there's still no built-in support for licenses. While there has been some demand for it, it doesn't like a hugely popular or time-sensitive feature, so I haven't prioritized it so far. |
I use Software License Manager to do some simple license key management, and it works well enough. I'd love to have some hooks in PluginUpdateChecker that I could use to display messages like "There is a new version available, but you need an active license key," etc. Just something simple to display info and prevent unlicensed users from getting updates. Right now, I'm just wrapping the PluginUpdateChecker code in a conditional so that it won't execute if no license key is present, but it'd be nicer to have it inform the user that an update is available if they obtain a license. Overall this is an excellent library. Thank you @YahnisElsts for creating such a valuable tool. |
The actual update message is displayed by WordPress core, not this update checker, so it's not straightforward to add new hooks for that. It would really depend on what hooks WordPress itself offers for this purpose. |
Thanks. I'll do some digging into the WordPress hooks. Keep up the great work! |
Here's an example of code that pulls (added) properties out of the returned response in order to display dashboard messages: https://github.com/DavidAnderson684/simba-plugin-manager-updater/blob/0c60c166db9a553c567207133a5644c3f55356ed/class-udm-updater.php#L314 |
Is there a way to just add a new request field to the actual download request? I found that the first filter just adds the licence key to the get_metadata action but there seem to be no filter for adding headers to the actual download request:
i want the get_metadata to be called publicly but the licence should be included in the actual download. With some kind of API or filter on the server-side one could easily extend the requestHandler to check for valid licences and return the download or an error. |
You can use one of the following filters to change the metadata and modify the download URL:
The first two filters only apply to plugins, while the last one also works for themes. Each of the filters receives one argument which is a metadata object. The available properties can vary depending on whether its for a plugin or theme, but the download URL is always in |
Works, first try. Thank you very much! The code for reference: Theme Client Side: |
Just a minor note: since the URL will be used to send an HTTP request (instead of simply being modified for display purposes), it's probably better to use |
What are you using to issue licenses, if anything? Does it have an API? What are you using to provide updates, if anything? Does it know how to check if a license is valid? What kind of information do you need to verify a license? Just a simple alphanumeric key, or a username/password pair, or something more complicated? How does the user enter the license key? Or, if you haven't implemented that yet, how would you like it to work? Why not use something like Envato, Freemius or Easy Digital Downloads? |
One of the more common questions I get is "how do I ensure that only users who have a valid license can download updates?". This includes tasks like asking the user to enter a license key, sending keys to the update server, validating keys, showing license errors to users, and so on.
Currently, the update checker doesn't do any of those things. I'm considering implementing some license management features, possibly as a separate component that you can include only when your plugin or theme needs it. If this is something that you're interested in, please post your ideas and feedback below.
Here are some questions to get you started:
I'm planning to leave this issue open for a good while to collect feedback and gauge interest.
The text was updated successfully, but these errors were encountered: