It would make sense to include the example the documentation for the relevant classes, or at least link to it from there. There is a check during startup that will display failures of all licenses that has been checked at that point. Back to the questions in the first post, what actually happens when a user tries to run an extension without a license? Is there an error message built in to Sketchup telling them the license is missing or is it up to the plugin dev to create such a message themselves if ExtensionLicense licensed? I often have a packaging script that takes care of prepping for release. If there is a possibility it will happen - then most likely it will. But you might run into users installing both versions - you might want to make some check against that. I think it would be easier to just run a macro to replaces the module name in all files at once before publishing in case the Extension Warehouse has a policy against several extensions using the same namespace.
It is absolutely possible to handle it like this but it requires quite a bit of bolierplate code that makes the code harder to read for other devs or for the same dev if they take up the project again years later. Thanks for taking the time to write this answer. Oh, one thing I forgot to mention was, that during development, your edition extension loader script might need to be fake loader that points at the real one in the lib folder. Now I only show a couple of library mixin modules one for extending to create singleton module methods, and one for including to create instance methods, … but you can make as many mixin modules as you need to organize and make maintenance of your project easier. Yes it would, and Ruby is designed to help you do this using either Inheritance or Composition.
Not really necessary, but it might be possible, if the Pro edition loads after the Free edition, it could override the Free objects classes, modules and methods, provided that the Free objects have not yet been frozen. It would make development a lot easier if there is just one code base to maintain. This would mean the two extensions share the same namespace and directory name. ChrisFullmer would be best to comment on the future direction of Ext Warehouse. That said, It would be a great business model though.
So it would be difficult to support unlocking features as users are working in an extension.
Is this currently supported? Is it possible to have both a Buy button and a Download button for the same extension in the extension Warehouse? Right now extension licenses are installed when the extension is installed or upgraded. For most users, especially hobby users, the free version would be juust fine but for hardcore users such as many professionals it should really be worth the prize to upgrade.Īlso it has the benefit that the user can check so everything works as expected and that it really is the plugin nthey need before purchasing it.
Is it possible to create one single extension that is completely free to download and install but has features that are locked unless the user has paid for a license? I have some plans for a new extension and additional features for an existing extension that I think would benefit a lot from this.