mdrmike / web-dev-panel

Gnome Shell Extension to control Web and Database Server in a GUI Panel
GNU General Public License v2.0
13 stars 6 forks source link

show all daemons, not just httpd and db? #4

Open gavinengel opened 8 years ago

gavinengel commented 8 years ago

Why limit this to just 2 daemons? There are quite a few I might want to have a quick on/off switch from systemd, upstart, init.d. Docker, Mongo, etc.

bjesus commented 8 years ago

I've made this little hack: https://github.com/bjesus/services-panel

@mediadoneright If you'd like, let me know in what way you would like to integrate this to web-dev-panel and I'll create a pull request. Main issue is probably what to do with the status icon when there are more than 2 services :confused:

gavinengel commented 8 years ago

I like it. Would you put it on extensions.gnome.org?

I've been playing around with using Docker Engine on my desktop. I'm not sure how many people do that, though.

bjesus commented 8 years ago

@gavinengel Thanks! I just don't want to create any redundancy with yet another fork. If @mediadoneright wants this in his extension then I'd be happy to do that. But, looking at the 8 services I'm currently controlling with it, I guess web-dev-panel wouldn't make sense as a name anymore.

Whatever the route that will be taken, I think that before it's on extensions.gnome.org it should have sane configuration GUI. People who download extensions from GitHub probably have no problem editing a config file, but I'm not sure the same can be assumed for people who use extensions.gnome.org .

mdrmike commented 8 years ago

@bjesus awesome. sorry for delayed reply -- been sick in bed since last week.

Based on what you've done, and the scope, I agree with you about the name... and also about putting on extensions.gnome.org. What you've achieved does handle the portion of enabling/disabling certain services.

However, when I forked this I had envisioned more... and definitely more focussed on web/app development. I chose not to go your route since if you're comfortable with editing these files and the command line, then IMHO this type of tool is of limited value. My hope is it should have a few sane defaults and a GUI to add/remove other services. My goal is to:

  1. Expanded/new GUI to add/remove services
  2. Expanded/new GUI to enable default startup status of said services
  3. Add GUI functionality to make it simple to add/remove projects for:
    • Apache/Nginx vhost based on a skeleton
    • add projectname to hosts file for DNS resolution
  4. GUI to create new database

All that said, I've had little experience developing GUI based javascript extensions. I would like to accomplish some or all of this in time for 16.04, though.

Thoughts?

bjesus commented 8 years ago

@mediadoneright Thanks! hope you're well now.

  1. I've added a GUI for adding / removing services. I need to update the README... It's not perfect but it works generally well (and there's no need to restart gnome after each change :wink: ).
  2. I'd think that enabling/disabling startup run for services is something that's more suitable for a dedicated application (rcconf, bum, jobs-admin), and not an extension, as it's not something I'm doing everyday (not even every month probably). maybe your usage is different though? how often do you do that?
  3. This and the next point is definitely something I'd use, but it is out of the scope of the extension as I see it. As a web developer, the DB and the vhost file I'd like to create are many times on a remote server, and so it feels different for me from enabling/disabling local services as cupsd, btsync, redshift, tor, and even local mysqld and nginx. Also, I believe it would be quite complicated to implement, as there are so many different settings to take into account (especially if it's not all on localhost, i.e. you need an ssh tunnel to your MySQL server, you need to figure out the web server and distro of it in order to create a correct vhost file in the correct place, etc'). If you'd go for it though, I'll do my best to to take part with the development.

All this being said, I think the right approach would be that I'd finish up the GUI for enabling/disabling services, and put the thing on the extensions.gnome.org . If you'd like we can take what we have then and expand it, aiming to reach what you've defined above. How does that sounds to you?

damienalexandre commented 8 years ago

For what it worth (as I'm not contributing :neckbeard:) I think "Service Panel" is a better name, and also agreed with @bjesus points:

  1. Awesome!
  2. Being able to change the "enable" status right from the panel may be a future functionality, but I would not use it much
  3. This may be another panel, oriented at web devs, with support for Ngnix / Apache / /etc/hosts edits / Direct links to tools like PhpMyAdmin & RabbitMQ admin...

Thanks for your works guys, I'm following this extension very closely, I need it :+1:

mdrmike commented 8 years ago

@bjesus - thanks! doing fine yesterday and today. whew!

  1. I like your GUI. might steal :smiling_imp:
  2. Think we'll agree to disagree here. But honestly, feels like the crux of the utility for this extension. The ability to reduce overhead as a default, but easily enable when needed is key, IMHO. In other words, if the services are usually on, no need to invert/restart regularly in a way a reboot wont handle.
  3. Yes, I agree it should be either additional panels or other tabs inside the GUI you created. In fact, I didn't even LOOK at your code until after I created mdrmike/web-dev-panel/issues/5. I'd really like a pull request so I can merge and play with some of your work.

@bjesus @damienalexandre re name: I still feel it depends on scope -- and I'd like to keep mine focused on Local Web/App Development.

gavinengel commented 8 years ago

May I add a quick note: Nginx daemon as well?

mdrmike commented 8 years ago

@gavinengel It's not clear to me what you mean? nginx is included by default on both my "Web Dev Panel" and the forked "Service Panel" by @bjesus

bjesus commented 8 years ago

@mdrmike:

  1. You're very welcome to steal the GUI. I stole most of it from the "Auto Move Windows" extension :)
  2. I'm thinking that maybe the configuration GUI should just list all services available, and give you an option to show/hide them in the panel, instead of you adding/removing them. In that kind of an interface I guess it should also be possible to give the user an option to enable/disable starting on startup for a service. Thoughts anyone?
  3. I'd happily send a pull request once I'm a bit more comfortable with the configuration GUI. hopefully I'll get to it in the next few days.

@gavinengel On "Services Panel" you can basically choose whatever services you want to toggle on and off with the extension. It could be nginx or lighttpd, or it could be a service that isn't a web server at all.

gavinengel commented 8 years ago

@mdrmike My mistake, thanks!

@bjesus OK