HISE Logo Forum
    • Categories
    • Register
    • Login

    Simplest Way to Implement Server class, server-side?

    Scheduled Pinned Locked Moved Solved Scripting
    12 Posts 5 Posters 375 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @clevername27
      last edited by

      @clevername27 The server class can make a GET request to an endpoint on your server. A simple solution is that endpoint can return the version number and download link. I'm actually doing this for Rhapsody - https://codeberg.org/LibreWave/Rhapsody/src/commit/09d6be8dbb3bf31cb790e2d3fbcab8b7a69f0884/Scripts/UpdateChecker.js#L112

      Since Rhapsody is hosted on Codeberg I can use their endpoints so I didn't have to do anything server side.

      For my instruments it's a bit different as it goes through my website and has to validate license keys, etc. So for that I did have to do some server side stuff, in my case I built it as a Wordpress plugin.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      clevername27C 2 Replies Last reply Reply Quote 1
      • clevername27C
        clevername27 @d.healey
        last edited by

        @d-healey Thank you for your continued kindness in sharing your work for others to benefit from.

        1 Reply Last reply Reply Quote 1
        • clevername27C clevername27 has marked this topic as solved on
        • clevername27C
          clevername27 @d.healey
          last edited by

          @d-healey I'm reading about the GIT API. Could you pls tell me if your plugin is using username/password or a token to access your repository?

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @clevername27
            last edited by

            @clevername27 Neither, when the code is open source there's no place to hide credentials. The Codeberg repo is public so I can just access the end point as I could in a web browser.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • oskarshO
              oskarsh @clevername27
              last edited by

              @clevername27 I've worked with some of the smartest people in the industry and what always amazes me is the simplicity of solution.

              Do you really need a server, a operation system, a custom mysql database controlled with a php server?

              I started using versions.json files for a lot of stuff and try to be as low tech as possible. I would just create a file like this:

              {
                  latest: {
                      version: 1.8,
                      download: 'https://example.com'
                  }
                  old_version: [
                      {
                              version: 1.7,
                              download: 'https://example.com'
                      },
                      {
                              version: 1.6,
                              download: 'https://example.com'
                      },
                      {
                              version: 1.5,
                              download: 'https://example.com'
                      }
                  ]
              }
              
              

              You can then create the simplest python or node server serving this or to be even more cheap put it in a GitHub repository and query the raw version of that file.

              You can build off that example using GH Actions custom scripts etc but in the core this is the solution that I am using for years.

              breathing HISE

              LindonL clevername27C 3 Replies Last reply Reply Quote 1
              • LindonL
                Lindon @oskarsh
                last edited by

                @oskarsh said in Simplest Way to Implement Server class, server-side?:

                @clevername27 I've worked with some of the smartest people in the industry and what always amazes me is the simplicity of solution.

                Do you really need a server, a operation system, a custom mysql database controlled with a php server?

                I started using versions.json files for a lot of stuff and try to be as low tech as possible. I would just create a file like this:

                {
                    latest: {
                        version: 1.8,
                        download: 'https://example.com'
                    }
                    old_version: [
                        {
                                version: 1.7,
                                download: 'https://example.com'
                        },
                        {
                                version: 1.6,
                                download: 'https://example.com'
                        },
                        {
                                version: 1.5,
                                download: 'https://example.com'
                        }
                    ]
                }
                
                

                You can then create the simplest python or node server serving this or to be even more cheap put it in a GitHub repository and query the raw version of that file.

                You can build off that example using GH Actions custom scripts etc but in the core this is the solution that I am using for years.

                @clevername27 yep - this is the way we do it - a simple json file that names the current version, and lists the changes that are included in it...

                HISE Development for hire.
                www.channelrobot.com

                clevername27C 1 Reply Last reply Reply Quote 1
                • clevername27C
                  clevername27
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • clevername27C
                    clevername27 @oskarsh
                    last edited by

                    @oskarsh Well said.

                    1 Reply Last reply Reply Quote 0
                    • clevername27C
                      clevername27 @Lindon
                      last edited by

                      @Lindon Agreed.

                      1 Reply Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff
                        last edited by Dan Korneff

                        I ended up making a custom plugin for WordPress that logs my version data.
                        The endpoint outputs json with detailed info.

                        Screenshot_20240224_153034_Chrome.jpg

                        And then I display the data on an update panel.

                        575-485-max.png

                        Dan Korneff - Producer / Mixer / Audio Nerd

                        1 Reply Last reply Reply Quote 1
                        • clevername27C
                          clevername27 @oskarsh
                          last edited by

                          @oskarsh said in Simplest Way to Implement Server class, server-side?:

                          I've worked with some of the smartest people in the industry and what always amazes me is the simplicity of solution.

                          Edit: "I've worked with some of the most intelligent people in the industry and what always amazes me is the simplicity of solution." 🥂

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          50

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.8k

                          Posts