electron-release-server icon indicating copy to clipboard operation
electron-release-server copied to clipboard

[FR] support multiple apps

Open farfromrefug opened this issue 8 years ago • 22 comments

That would be great to be able to handle multiple apps on one instance. Would make things a lot easier!

Thanks

farfromrefug avatar May 31 '16 15:05 farfromrefug

@farfromrefug This would be super powerful. Sadly I don't have time to work on such features these days, but a PR would be wonderful!

ArekSredzki avatar Jun 04 '16 02:06 ArekSredzki

@ArekSredzki I am not so good with sails :P But i think it could easily be done. I will look at it when i have time. Thanks

farfromrefug avatar Jun 04 '16 07:06 farfromrefug

@farfromrefug I am a little familiar with Sails maybe I can help. I'm gonna look into the source code to see if I can do something to help.

renanvieira avatar Jun 06 '16 19:06 renanvieira

Awesome, thanks!

ArekSredzki avatar Jun 06 '16 23:06 ArekSredzki

Let me know if you have questions :)

ArekSredzki avatar Jun 06 '16 23:06 ArekSredzki

I think the first question is what's the best model. I was thinking about adding an App model. Then each Version / Channel / Asset would have a link to it . I think it needs to be a 1tomany from App. Do you agree?

When we have this it should be straight forward. When the user wants to add a Version, we propose him a list of Apps, or create one.

Now i am not sure how to handle the routes from here There should be routes starting with the app name for each app. That's out of my Sails knowledge :P

farfromrefug avatar Jun 07 '16 08:06 farfromrefug

@farfromrefug I totally agree.

I think the route would be somenthing like this: 'GET /download/:app/version/:version/:platform?'

Where :app is a code the user will input when create the application in the server (maybe auto-generated?). The code should be something like "my-electron-app", avoiding spaces and special chars.

I think the main problem here is how the Squirrel-compatible endpoint will handle multiple apps.

renanvieira avatar Jun 07 '16 13:06 renanvieira

Sounds great guys!

The endpoint format shouldn't be an issue for squirrel, the app can just use download/:app/:platform as the base string

ArekSredzki avatar Jun 07 '16 13:06 ArekSredzki

And '/update/:app/:platform/:version/:channel' for checking updates.

Squirrel mostly just cares that the version is present in the download link

ArekSredzki avatar Jun 07 '16 14:06 ArekSredzki

@ArekSredzki That's good to know. I've never used Squirrel, so it's kinda mysterious to me.

@farfromrefug Later I'm gonna try to do start some work on this. What you think of set up a Trello board to keep a To-do list ?

renanvieira avatar Jun 07 '16 16:06 renanvieira

@renanvieira Yeah, personally I'm not a huge fan of it, it has a lot of quirks. The windows version parses the version number from the filename, which really sucks if you want to have multi-platform releases since you have to serve both architectures' artifacts with the same filename... which is another thing to fix. Thankfully the OS X version is better architected. The docs for it are here https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/naming.md

You guys can use trello, or just keep a todo list here :)

  • [ ] like this

ArekSredzki avatar Jun 07 '16 16:06 ArekSredzki

I prefer the todo here too. Trello might be overkill for this.

farfromrefug avatar Jun 07 '16 18:06 farfromrefug

@farfromrefug @renanvieira Any progress on this? :)

ArekSredzki avatar Jun 20 '16 23:06 ArekSredzki

Not yet, @ArekSredzki. I am finishing up a project this month and will have some free time to work on that after July 1st.

renanvieira avatar Jun 23 '16 01:06 renanvieira

Same thing here, no such free time those weeks

farfromrefug avatar Jul 04 '16 06:07 farfromrefug

Hi this is very interesting . You need help ?

qneyrat avatar Sep 09 '16 09:09 qneyrat

@qneyrat It doesn't seem like anyone is working on this right now. If you could take it on, that'd be incredible. :)

ArekSredzki avatar Sep 09 '16 19:09 ArekSredzki

yep i can :) follow my fork

qneyrat avatar Sep 12 '16 07:09 qneyrat

@qneyrat @ArekSredzki sorry for not looking at this. I still really want it but i don't have free time those days @qneyrat will follow your fork ;)

farfromrefug avatar Sep 12 '16 10:09 farfromrefug

Maybe e url like <DOMAIN>/:app/<CURRENT PATH PATTERN> could be easier to handle with angular router, every app can have a base page that act identicaly like current app. This way with some changes on actual app it can handle different apps. For the uploaded files also could be nice to have /path/to/upload/folder/:app/executable. And db can be handled by prefixing tables or extra table for apps or just a filed on assest.

lysz210 avatar May 30 '17 06:05 lysz210

What is the status on this?

FirstAVJohan avatar Nov 02 '18 08:11 FirstAVJohan

While this may not be exactly what you are looking for, I have created a PR with the idea of "flavors" of an app. Our use case is different clients using nearly the same app but with slight changes for white labeling purposes. Maybe you can repurpose the code or use it as is to achieve your desired result.

https://github.com/ArekSredzki/electron-release-server/pull/202

DustinBrett avatar Oct 02 '19 16:10 DustinBrett