Implementing an auto updater/notifier?
-
@Lunacy-Audio There is a woocommerce plugin called License Manager.
It has an API key. So the connection between plugin and server should be done with that? Or do we need to modify woocommerce anyway?
-
There's a free and super robust Woocommerce License Manager with all 5-star reviews that I use. I'm still in alpha testing for my plugin, but the license API has been tested on probably 20 different machines with varied operating systems without any issues. You have to set up your API keys with that plugin and I'd strongly suggest you make your keys Read-Only. I don't think there's ever a reason to Write from the HISE plugin in this case.
For the actual server file downloads, that's a separate API. You interact directly with the Woocommerce REST API, so you need a different pair of keys, which you make through the Woocommerce Settings.
-
@Lunacy-Audio said in Implementing an auto updater/notifier?:
wp-json/wc/v3/products/20
Thanks Casey, it turned out mine was a postman issue...so having sorted it to work there I will now try in HISE
-
- hmm, I can get a lot of data back from this call.....very very useful....for expansions...
-
Definitely! And once the download function is improved, I think it would super easy to set up preset packs to be downloaded right from the plugin without the user ever needing to restart
-
@Lunacy-Audio said in Implementing an auto updater/notifier?:
Definitely! And once the download function is improved, I think it would super easy to set up preset packs to be downloaded right from the plugin without the user ever needing to restart
Presets yes - and expansions, but ... I'm trying to work out a meaningful way to authorise/authenticate expansions when they install -without having to know (perhaps years) ahead what expansions I will be shipping...
-
@Lindon It's a big question that definitely needs to be addressed! ;)
-
My plan is the user will purchase an expansion and will be sent a code. They enter the code into the plugin which will check on my server that it is valid and download/install the expansion.
-
@d-healey Yeah that's what I plan too, it seems rather simple to implement. Well, speaking only about the request side since I haven't dug into expansions yet but I'll need to for my current project.
-
@ustk said in Implementing an auto updater/notifier?:
@d-healey Yeah that's what I plan too, it seems rather simple to implement. Well, speaking only about the request side since I haven't dug into expansions yet but I'll need to for my current project.
OK great, glad it's simple : can you demonstrate?
-
@d-healey this thread makes me think a Software Center can be done with actual HISE tools. like Arturias Software center or NI app.
Is this possible? What do you think
-
@hisefilo I'd recommend doing it as an Electron app. You might be able to do it with HISE but it will be quite limited.
-
@hisefilo Now that I've played with the Server API I think it's definitely possible to make a software centre type app.
-
@d-healey yeahhhhh mate!!!!! Will be digging on it soon.
-
I definitely think it's possible... I'm just afraid that if it's cracked, everything would be available at once
-
@ustk Not at all. You never put anything that requires security on the client side, that goes on the server side.
-
@d-healey me->reassured() :)
-
An idea I've been having, which I think we should all discuss, is a download manager for HISE based plugins/expansions. I'm building one for my own plugin, I was originally going to include the functionality inside my plugin but for various reasons I think it would be better as a separate app. I considered building it with Electron, but since HISE has such a sophisticated file api and server api, and also the ability to encrypt/encode/extract/install expansions it makes sense to build it directly in HISE.
Play, Native Access, Spitfire, SINE, Pulse, VSL, I'm sure we could add a few more to the list. And now every single one of us is thinking of creating a new one :D I'm not so sure it's the best thing for users to have to install a separate download manager for every single vendor.
Mine will of course be open source, but it has occurred to me that maybe I could make it suitable for other developers to use too. They would have to be using WooCommerce for their webshop and there would be some other requirements to make everything work nicely. I'll provide a wordpress plugin that has the necessary API endpoints and of course these can be modified as needed for each developer's setup.
The app won't require the user to sign-in, it will be decentralised, each vendor will provide a code when the user buys a product that can be entered into the app and it will get the product from the vendor's server - a bit like Steam keys.
This benefits the user as there is no single point of failure, they won't have their buying habit tracked by a single company, if they move to a different machine they just need to export/import their codes.
It benefits the developer because they don't have to pay a third party to supply a download manager service and the developer is in control of their own products. If the developer wants to watermark their software or incorporate some kind of DRM they are free to do that on the server side and on the installed plugin side, the app itself is agnostic in this regard and merely acts as a channel between the user and the products they've purchased on the developer's server.
I think it would also be good if as well as acting as a download/software manager the app also provides a catalogue of products that the user can click on to visit the vendor's website.
Let me know your thoughts/suggestions.
There is currently no way to get a reference to a generic folder, such as the user's VST2, VST3, AAX, or AU installation locations. I think out of those VST2 is the only one that doesn't have a standard location.
@Christoph-Hart Would it be possible to add location constants for these? Or perhaps have some kind of user customisable location. I appreciate that we don't want to give access to the entire file system but letting the user pick a location seems mostly harmless.
-
@d-healey Sounds cool. I'm looking at designing one for my needs with Electron as we speak, but keeping things within the HISE ecosystem are very attractive to me.
-
Hmm not so sure about this. Of course the idea of everyone in this forum having their own installer that they just took from a template and slapped their logo on it sounds like a nightmare for the end user, but on the other hand I can imagine that there will be a lot of overhead trying to design a open source solution that works with multiple servers.
What are the downsides of including it in the plugin + having a manual option for people who dislike the plugin download path? The authorization + installation to the expansion folder is being done by the plugin but the user can choose whether he wants to download the samples automatically or if he wants to get a list of static download links to the .hr1 files?