XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    A question for the creators of XO

    Scheduled Pinned Locked Moved Xen Orchestra
    31 Posts 9 Posters 8.9k Views 6 Watching
    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.
    • J Offline
      jasonnix @gskger
      last edited by

      Thanks @gskger.
      I asked because languages like PHP and Ruby are very popular in the web and have many developers. you said "Javascript is a State of the Art development environment with a lot of available and capable resources.", I want to know what features are there in this project that PHP or Ruby can't do.

      gskgerG marcungeschiktsM 2 Replies Last reply Reply Quote 0
      • gskgerG Offline
        gskger Top contributor @jasonnix
        last edited by

        @jasonnix said in A question for the creators of XO:

        I want to know what features are there in this project that PHP or Ruby can't do

        A feature comparison (or retrospective evaluation of the decision) is not needed anymore for a project that already choose a development environment years ago, engaged people with the required skills and build a deployment process around a commercial product.

        Could XO be build with PHP or Ruby? Probably yes. Does it add value to the product? Probably no, because it working just fine with Javascript as a future proofed development environment.

        I apologize if I still not get why you are asking.

        1 Reply Last reply Reply Quote 1
        • olivierlambertO Offline
          olivierlambert Vates πŸͺ Co-Founder CEO
          last edited by

          I start to wonder if we are talking to an actual human or an LLM 😞 I still don't get the point of this discussion.

          J 1 Reply Last reply Reply Quote 3
          • J Offline
            jasonnix @olivierlambert
            last edited by

            Hi @olivierlambert,
            No, I'm not a bot. I asked it because I need your experiences. I want to make a panel for Xen.

            D gskgerG 2 Replies Last reply Reply Quote 0
            • D Offline
              DustinB @jasonnix
              last edited by

              @jasonnix said in A question for the creators of XO:

              Hi @olivierlambert,
              No, I'm not a bot. I asked it because I need your experiences. I want to make a panel for Xen.

              So you know how to program with PHP and Ruby and not with Javascript, so the question is really "Why can't this be rewritten so I can help?"

              florentF 1 Reply Last reply Reply Quote 2
              • florentF Offline
                florent Vates πŸͺ XO Team @DustinB
                last edited by

                @DustinB you are really asking to rewrite the full XO project in PHP so you can contribute? or did I miss something
                4fd79a44-efbd-4360-b736-5506ab9936a4-image.png
                since there is only 136K line of code to rewrite, maybe it can be a good weekend project ?

                D 1 Reply Last reply Reply Quote 1
                • marcungeschiktsM Offline
                  marcungeschikts Vates πŸͺ Project mgmt @jasonnix
                  last edited by

                  @jasonnix said in A question for the creators of XO:

                  I asked because languages like PHP and Ruby are very popular in the web and have many developers.

                  Javascript and node.js seem to be more popular than PHP and Ruby:
                  https://survey.stackoverflow.co/2023/#most-popular-technologies-language-prof
                  https://survey.stackoverflow.co/2023/#most-popular-technologies-webframe-prof

                  nikadeN 1 Reply Last reply Reply Quote 1
                  • nikadeN Offline
                    nikade Top contributor @marcungeschikts
                    last edited by

                    I dont think a lot of ppl use PHP anymore, its a good language to get started with coding but its not something you want to run in mission critical production environments.

                    I think node/java is a good choice for this project since it can be used for both backend and frontend, it runs smooth on pretty much all distros that supports it and now days a lot of ppl know node/java so it is easy to find ppl to code for you.

                    1 Reply Last reply Reply Quote 1
                    • olivierlambertO Offline
                      olivierlambert Vates πŸͺ Co-Founder CEO
                      last edited by olivierlambert

                      PHP is still widely used and there's some neat frameworks. But again, seeing the language only from its popularity is wrong. It's an entire "ecosystem" you need to look at:

                      • being reasonably good for your existing team (ie if your team like the language/framework or not, doesn't matter if it's personal taste, it will have an impact on the team performance)
                      • if the language is not too niche to easily find more devs when you grow
                      • that the language pros are worth it in your context (ie we don't specifically need something too complex to learn like Rust to build an UI): all about usage context. It's obviously different for an hypervisor or a toolstack
                      • there's a big enough ecosystem (libraries, packaging, sec updates etc.)

                      And probably other things I forgot. So as you can see, there's not one reason to adopt a language, but many and most of all them depend on the project and people around it.

                      J 1 Reply Last reply Reply Quote 0
                      • D Offline
                        DustinB @florent
                        last edited by

                        @florent said in A question for the creators of XO:

                        @DustinB you are really asking to rewrite the full XO project in PHP so you can contribute? or did I miss something
                        4fd79a44-efbd-4360-b736-5506ab9936a4-image.png
                        since there is only 136K line of code to rewrite, maybe it can be a good weekend project ?

                        I'm not, lol. I was pointing out what @jasonnix was seeming to ask.

                        1 Reply Last reply Reply Quote 0
                        • gskgerG Offline
                          gskger Top contributor @jasonnix
                          last edited by gskger

                          @jasonnix said in A question for the creators of XO:

                          I want to make a panel for Xen

                          If by make a panel for Xen you mean a dashboard to visualize or controll a Xen-enabled host or the virtualized guests, I would suggest to start learning about XAPI or better XO API.

                          How you design or implement such a panel is up to your ideas, capabilities and choice of the tools you are familiar with, be it Ruby, PHP, Java or Javascript. Also check out XCP-ng Center which is maintained by @michael-manley in a community effort and uses C# to controll Xen-enabled hosts.

                          J 1 Reply Last reply Reply Quote 0
                          • J Offline
                            jasonnix @olivierlambert
                            last edited by

                            Hello @olivierlambert,
                            As far as I have heard, JavaScript and Java programming languages ​​are insecure. I don't know how true this is. I know VMware vCenter uses HTML5 in one mode, although some features are missing in this mode.

                            1 Reply Last reply Reply Quote -2
                            • J Offline
                              jasonnix @gskger
                              last edited by

                              Hello @gskger,
                              Thanks again.
                              In my opinion, one of the mistakes that Vates made was removing the XCP-ng Center. Citrix XenServer still supports XenCenter.

                              D gskgerG nikadeN 3 Replies Last reply Reply Quote -3
                              • D Offline
                                DustinB @jasonnix
                                last edited by

                                @jasonnix said in A question for the creators of XO:

                                Hello @gskger,
                                Thanks again.
                                In my opinion, one of the mistakes that Vates made was removing the XCP-ng Center. Citrix XenServer still supports XenCenter.

                                Vates didn't remove it, its a package maintained by the community, and only the community. Vates has their own project that they are building and maintaining.

                                1 Reply Last reply Reply Quote 0
                                • gskgerG Offline
                                  gskger Top contributor @jasonnix
                                  last edited by

                                  @jasonnix As @DustinB already explained, Vates is the company behind XCP-ng and Xen Orchestra (XO). XCP-ng Center was (and still is) a community driven project not related to Vates. Search about the pro's and con's in the forum, there are a lot of good arguments. But for commercial customers, XOA is the way to go (and for most homelab user probably as well)

                                  Last time I looked, XenCenter is now closed source and even behind a paywall (not sure about that), while Xen Orchestra is fully open source with all functionality in the from source version.

                                  Since this is getting off-topic: did the communities feedback on your initial question help you to move forward? All good for your panel on Xen?

                                  J 1 Reply Last reply Reply Quote 1
                                  • nikadeN Offline
                                    nikade Top contributor @jasonnix
                                    last edited by

                                    @jasonnix said in A question for the creators of XO:

                                    Hello @gskger,
                                    Thanks again.
                                    In my opinion, one of the mistakes that Vates made was removing the XCP-ng Center. Citrix XenServer still supports XenCenter.

                                    Vates is not the creator of XCP-ng center, it is an effort of members in the community who ported Citrix XenCenter.
                                    The official product to manage XCP-NG is Xen-Orchestra (XO) and XOlite.

                                    If you want you could contribute to the XCP-ng Center, the repository is still alive and can be found here: https://github.com/xcp-ng/xenadmin

                                    1 Reply Last reply Reply Quote 0
                                    • olivierlambertO Offline
                                      olivierlambert Vates πŸͺ Co-Founder CEO
                                      last edited by

                                      @jasonnix please do more research before posting and telling things that are untrue. This behavior is not encouraged here.

                                      1 Reply Last reply Reply Quote 1
                                      • J Offline
                                        jasonnix @gskger
                                        last edited by

                                        @gskger, yes. I need to see if Ruby can easily do what I want.

                                        J 1 Reply Last reply Reply Quote 0
                                        • J Offline
                                          john.c @jasonnix
                                          last edited by john.c

                                          @jasonnix said in A question for the creators of XO:

                                          @gskger, yes. I need to see if Ruby can easily do what I want.

                                          There's currently no up to date Ruby Gems so it is impossible or massively herculean task to do what your looking for. One of the following would need to be selected and then a lot of work would be needed to update it. They may even need to be extended to enable all of what your looking for. Alternatively a even larger amount of work would be required to develop a completely new XAPI ruby gem, as well as reading the associated developer documentation and source code of both Ruby, the XAPI and/or the Xen Hypervisor. Additionally all of the associated material of XCP-ng server software would need to be read and/or researched.

                                          Before even starting to develop a panel! It would probably be better if you were to help with the C# development of XCP-ng Admin (XCP-ng Center). As for one one thing you wouldn't need to develop the Xen API (XAPI) interfacing code from scratch or updating on of the Ruby Gems.

                                          https://rubygems.org/gems/xen
                                          https://rubygems.org/gems/xen-ruby
                                          https://rubygems.org/gems/xenapi
                                          https://rubygems.org/gems/xen-ruby
                                          https://rubygems.org/gems/rubiojr-pangea
                                          https://rubygems.org/gems/rxen

                                          By the way XCP-ng Center has never been supported by Vates. It has primarily been just XCP-ng (the hypervisor host server software) and Xen Orchestra. Now with the new addition of XO Lite which is in development, to be supported by Vates.

                                          However XCP-ng Center was forked under the XCP-ng organisation of GitHub (for hosting), so the community alone can support and develop it. It has posts in the news section of the forums, so that the community can receive notifications of new releases of it, in this common location. This is down to it being able to be used with the XCP-ng server software, even though Vates doesn't provide support for using XCP-ng Center.

                                          Also if your wondering why some of the releases have Vate's digital certificate signed to them, it was due to them aiding in getting the Extended Verification code signing certificate and the code signed. This was done especially at that point in time because code signing certificates have an extremely expensive cost, with extended verification certificates even more so. This cost would be out of the reach at the time for ordinary Open Source Community funded and maintained projects and software to afford.

                                          Additionally the EV certificate would likely have required documentary proof of identity and/or a reputable witness to the documents. Something similar to acquiring a bank account, driving licenses or a passport. To prove that the person requesting the certificate is an upstanding citizen, and won't abuse the certificate for nefarious means.

                                          1 Reply Last reply Reply Quote 0
                                          • J Offline
                                            john.c
                                            last edited by john.c

                                            @jasonnix If you want to do a part of the XO or XO Lite unfortunately you need to know Javascript and/or Typescript if you want to do the scripting part of the software.

                                            Xen Orchestra needs Javascript and/or Typescript with NodeJS for its Web Socket support, the AJAX technologies and/or the high Asynchronous I/O so that it is highly scalable.

                                            It has the dependencies it has as the User Interface (UI) and User Experience (UX) need to take into account, different screen resolutions, different devices and screen sizes. While still maintaining a consistent appearance. This is important for especially small screened devices (e.g. Tablet Computers and Smart Phones), early phones not long before smart phones would connect to the internet using the WAP protocol (https://en.wikipedia.org/wiki/Wireless_Application_Protocol or https://www.geeksforgeeks.org/wireless-application-protocol/).

                                            This protocol used a different form of web pages and/or layout so was separate from the pages served to desktops, laptops and other devices (using normal http or https). On top of this in a lot of cases the WAP protocol would possibly also require its own web server software, or an extension to a currently existing one. So at least one of the dependencies included reduces the need to go through preparing source code, required for the now unified devices utilising the same http and https protocols. They can also have relatively the same code when using one of the dependencies.

                                            This is due to the extremely large number of connections required, along with rapid dynamic updates of the content on the dashboard and the several of the specific sections. Especially the ones for the CPU, Memory, Disk and Network as its important for when monitoring the Xen Server and XCP-ng hosts.

                                            It also has its own API so that other systems can be integrated into it with customer's own networks.

                                            The Xen Orchestra software has gotten extremely large now so changing to a different language (e.g. PHP), even version 8.2 would be a very large undertaking. Thus requiring a large team and/or lots of time to make the switch, so what benefits would be gained to offset the costs?

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