-
Notifications
You must be signed in to change notification settings - Fork 8
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
New dependencies on licensed extensions are not covered by existing licenses when upgrading licensed extensions #174
Comments
The list of dependencies that should be covered by the license are included in the license when it is generated. So if we add paid deps after the license was generated, we currently need to re-generate the license to have the updated list of deps. On the licensing application side, we could detect when a license needs to be re-generated. E.g.:
By re-generate the license I mean: create a new license page with the updated "Dependent Extension Ids" field and with expiration date increased by 1 second. Have a safety measure to block such a request if the previous license was generated very recently (less than X time ago, like 1h or 1 day). The store could also do the same check as the client instance and only re-generate if the deps have changed. |
…icenses when upgrading licensed extensions #174 * first working version, before refactoring
…icenses when upgrading licensed extensions #174 * code refactorings
…icenses when upgrading licensed extensions #174 * added unit tests * moved TrialLicenseGeneratorTest to junit5
…icenses when upgrading licensed extensions #174 * added debug logs * handle better response from store, which will also contain the license
…icenses when upgrading licensed extensions #174 * do post request for renewing licenses
…icenses when upgrading licensed extensions #174 * refactor + add unit tests * handle ExtensionInstalledEvent
…icenses when upgrading licensed extensions #174 * add store renew URL config property * add changes needed for the regenerateLicense code, in order to update the dependenyFeatureIds all the time, not only when they are not defined * start the renew license process only if there is a license already assigned
…icenses when upgrading licensed extensions #174 * consider also the case where there were some dependencies changes at some point and these were not updated on the license + unit tests
…icenses when upgrading licensed extensions #174 * only trigger renew if a top level extension is upgraded * fix bugs on code used on store: regenerate license for specific version, equals qas not working because it checks order as well, issueDate was not updated
…icenses when upgrading licensed extensions #174 * description update
…icenses when upgrading licensed extensions #174 * refactoring and adding comments
When upgrading a licensed extension with a new dependency to another licensed extension, the newly added dependency is not covered by the existing valid license. i.e the existing valid license for the "parent" extension is not considered valid for the dependency.
This caused xwikisas/xwiki-pro-macros#286. The bug can also be reproduced with xwikisas/xwiki-pro-macros#78 (which has gone unnoticed so far).
The dependencies need to be reanalyzed when upgrading extensions, and the new artifact ids need to be added to the valid license.
When handling this, please remove or adjust the workaround added at xwikisas/xwiki-pro-macros#286 (xwikisas/xwiki-pro-macros@c242742) on Pro Macros
The text was updated successfully, but these errors were encountered: