GMOD / Apollo

Genome annotation editor with a Java Server backend and a Javascript client that runs in a web browser as a JBrowse plugin.
http://genomearchitect.readthedocs.io/
Other
128 stars 85 forks source link

Dynamic site-wide notices #1425

Open hexylena opened 7 years ago

hexylena commented 7 years ago

I seem to remember some sort of functionality being discussed, showing updates from a feed on a remote server, saying "hey, check out the latest apollo" and similar.

Was this ever implemented? I'm not finding any hits for the words "feed" or notification in the github issues that look relevant.

nathandunn commented 7 years ago

@erasche You mean like something to detect updates and report if there is newer software?

Not a bad idea. We have the phone_home_server that could potentially be extended.

hexylena commented 7 years ago

@nathandunn yeah, something like that. If it doesn't already exist, oh well. I just thought I'd heard talk of such a thing, and wanted to double check.

I, personally, would replace it with my own URL where I could tell users about planned downtimes and maybe send them to release notices whenever I finished upgrades.

Thanks for the quick response!

monicacecilia commented 7 years ago

Yes @erasche we did talk about that. It was probably I who commented on it. We have not yet implemented it.

hexylena commented 7 years ago

Thanks @monicacecilia! :)

nathandunn commented 7 years ago

@erasche Feel free to take a stab at it. If you look at the way that PhoneHomeService works, it wouldn't be too bad to implement. You would just read something off of the config and the construct the service if appropriate.

Method 1: quartz timer on backend, push to client a few different ways

This is what calls to our server:

https://github.com/GMOD/Apollo/blob/master/grails-app/services/org/bbop/apollo/PhoneHomeService.groovy#L64

This is the cron job that makes the calls. You just create a new one with your cron days:

https://github.com/GMOD/Apollo/blob/master/grails-app/jobs/org/bbop/apollo/PhoneHomeJob.groovy

There are a few ways you could percolate info to the client. Conversely you could just put something simple in the Apollo plugin itself that makes a cross-site call on a timer.

Method 2: Use existing "ping" and call to another server every so many calls.

Currently the GWT code makes a ping every few seconds to check for disconnections:

https://github.com/GMOD/Apollo/blob/master/src/gwt/org/bbop/apollo/gwt/client/Annotator.java#L91

it calls this:

https://github.com/GMOD/Apollo/blob/master/grails-app/controllers/org/bbop/apollo/AnnotatorController.groovy#L491

which could check another site and return relevant information every so often.

hexylena commented 7 years ago

These are great options. I'll PR if I have time to get one of these working. Thanks!

Den tir. 10. jan. 2017, 17.27 skrev Nathan Dunn notifications@github.com:

@erasche https://github.com/erasche Feel free to take a stab at it. If you look at the way that PhoneHomeService works, it wouldn't be too bad to implement. You would just read something off of the config and the construct the service if appropriate. Method 1: quartz timer on backend, push to client a few different ways

This is what calls to our server:

https://github.com/GMOD/Apollo/blob/master/grails-app/services/org/bbop/apollo/PhoneHomeService.groovy#L64

This is the cron job that makes the calls. You just create a new one with your cron days:

https://github.com/GMOD/Apollo/blob/master/grails-app/jobs/org/bbop/apollo/PhoneHomeJob.groovy

There are a few ways you could percolate info to the client. Conversely you could just put something simple in the Apollo plugin itself that makes a cross-site call on a timer. Method 2: Use existing "ping" and call to another server every so many calls.

Currently the GWT code makes a ping every few seconds to check for disconnections:

https://github.com/GMOD/Apollo/blob/master/src/gwt/org/bbop/apollo/gwt/client/Annotator.java#L91

it calls this:

https://github.com/GMOD/Apollo/blob/master/grails-app/controllers/org/bbop/apollo/AnnotatorController.groovy#L491

which could check another site and return relevant information every so often.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/GMOD/Apollo/issues/1425#issuecomment-271640170, or mute the thread https://github.com/notifications/unsubscribe-auth/AAb_uy9ull5wKJvFO4Ri-dAISCvwvLArks5rQ7-CgaJpZM4LfpjD .

nathandunn commented 7 years ago

Thanks @monicacecilia Seems that GH was a bit over-agressive.

monicacecilia commented 7 years ago

Re-opened to address comment on the JBrowse registry tracker - by @erasche https://github.com/GMOD/jbrowse-registry/pull/35

screen shot 2017-05-22 at 3 54 33 pm