Tyrsis / SE-Community-Mod-API

Space Engineers Community Modding API
GNU Lesser General Public License v3.0
23 stars 11 forks source link

GUI should be separate from SESE core #41

Closed dodexahedron closed 9 years ago

dodexahedron commented 9 years ago

Right now, there are two GUIs for SESE - the one that launches with and that is part of SESE itself, and the separate SEServerGUI application, which uses WCF to talk to SESE. These should be merged into a single GUI. There's really no reason to maintain both, and the tiny delay that the local GUI will get from having to use a WCF proxy will be imperceptible to humans, anyway.

dodexahedron commented 9 years ago

If all the information SESE has available to itself were exposed via WCF methods, it would be pretty trivial for people to build their own front-ends to it, as well, which could result in some pretty neat creations from the community.

Tyrsis commented 9 years ago

The WCF portion hasn't really worked since chessmaster left. The unfortunate thing about it is that the way he set it up, I can not emulate at all because it requires a lot of object proxies setup in a way that seems almost custom or created from a different version of VS that I do not have. I do not maintain the WCF portion at all, because it just flatly does not work, and is a mess to maintain even if it did.

WCF is just not a good option for this right now because of obfuscated, though admittedly I don't do a lot of real world WCF work. The best option I would think is instead of trying to have a standalone management client using a crapload of proxy objects to avoid having to include the game libraries, to just have a standalone app that actually uses the game libraries, and then interfaces with a plugin that routes things properly from the server side. Again all of this would take a lot longer than I have time to dedicate to it.

dodexahedron commented 9 years ago

I actually set up a working port of it, which isn't all that hard to do. But then I was stupid and deleted the existing service references before I was done replicating it all, and I reverted my git back, losing that work. In any case, it's not all that hard to replicate, and I'm glad to do it again. I'm not asking so much as offering, as I think I've more than demonstrated willingness to spend silly amounts of time working on this. :)

Vl4dim1r commented 9 years ago

I totally agree that the web client needs to be separated from the host. This would enable my windows-based admin staff to use a local gui over vpn and be more effective than having them all rdp in.

That being said, we actually tried to use a handwritten SOAP/REST client in php and js. Chess' WCF proved to be quite difficult to interface to, especially on our mostly nix network. So we ended up using proprietary JSON Get/Post in our community plugin. We were working on a public repo of it, but since General Wrex ditched everyone for World of Warcraft, it has ended up being me trying to piece together what I can locally, and compensate help on what I can't.

So either way, its a benefit for me, as long as I don't keep having to compensate my dev for a fix on the plugin every update.

dodexahedron commented 9 years ago

Stay tuned then. My plan is to completely re-work that interface. It will be significantly more configurable, among other things, so you can make it use a more standard soap format. I would strongly advise against targeting anything at the existing WCF code, as it's getting ripped out and replaced (most likely with an improved WCF interface). If you have suggestions/requests for the new interface, now is the time to put them in. Go over to my fork and post suggestions, if you have any, for that. I'd like to build that to be useful to people.

-----Original Message----- From: "Vl4dim1r" notifications@github.com Sent: ‎1/‎30/‎2015 4:19 AM To: "Tyrsis/SE-Community-Mod-API" SE-Community-Mod-API@noreply.github.com Cc: "dodexahedron" brandon@dodecatec.com Subject: Re: [SE-Community-Mod-API] GUI should be separate from SESE core(#41)

I totally agree that the web client needs to be separated from the host. This would enable my windows-based admin staff to use a local gui over vpn and be more effective than having them all rdp in. That being said, we actually tried to use a handwritten SOAP/REST client in php and js. Chess' WCF proved to be quite difficult to interface to, especially on our mostly nix network. So we ended up using proprietary JSON Get/Post in our community plugin. We were working on a public repo of it, but since General Wrex ditched everyone for World of Warcraft, it has ended up being me trying to piece together what I can, and compensate help on what I can't. — Reply to this email directly or view it on GitHub.=

joshuataylor commented 9 years ago

Brilliant.

My plan is to create a dashboard to tie into the API for better admin control, and this would immensely help.

I will keep an eye out for when this is out, and opensource our tools we create as well.

dodexahedron commented 9 years ago

Excellent. That's what I was hoping someone would want to do with it. :smile: It's my hope that many such tools will come about, to fill all sorts of specific needs. I'm going to close this issue here and re-open it on my fork, since that's where the work is being done.