Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Notification via popup when change status (e.g. become broken) #12

Closed
szpak opened this Issue Jan 7, 2012 · 34 comments

Comments

Projects
None yet
2 participants

szpak commented Jan 7, 2012

Notification icon described in issue #11 is a must for me, but in addition the could be a popup to get developer's attention when build become unstable/broken (to allow developer to take a look what happened) and return to stable (to get know that just committed fix helped).

Popup could be red/yellow/green depending on situation with short message like "PROJECTX become unstable" and could looks like internal Idea's popups (non blocking in top-right corner). Because not everyone could be distracted in that way there should be ability to turn it on/off in plugins settings.

I'm not really sure if it would be better to have a popup that hides automatically after some time (a few/several second?) or not.

Owner

dboissier commented Jan 7, 2012

Hi Marcin,

Thanks for your interesting suggestion. I will make some tries the next
week and provide you a snapshot for testing and feedback.

Regards,

David

2012/1/7 Marcin Zajączkowski <
reply@reply.github.com

Notification icon described in issue #11 is a must for me, but in addition
the could be a popup to get developer's attention when build become
unstable/broken (to allow developer to take a look what happened) and
return to stable (to get know that just committed fix helped).

Popup could be red/yellow/green depending on situation with short message
like "PROJECTX become unstable" and could looks like internal Idea's popups
(non blocking in top-right corner). Because not everyone could be
distracted in that way there should be ability to turn it on/off in plugins
settings.

I'm not really sure if it would be better to have a popup that hides
automatically after some time (a few/several second?) or not.


Reply to this email directly or view it on GitHub:
#12

David

szpak commented Jan 7, 2012

Great! I'm impatiently waiting for it.

Owner

dboissier commented Jan 12, 2012

Hi,

Please download the latest 0.4.4-SNAPSHOT on the download section of the github page. At this time, this workaround only works when you refresh a single job.

Please provide me some feedback about it

Owner

dboissier commented Jan 13, 2012

FYI, IDEA 11 introduce a "Event Log" which replaces the "Notification Popup". It groups all notifications from the IDE and the plugins in a single panel. This feature is great and perfectly matches with your needs.

Unfortunately it does not work on IDEA 10.x.

I think that migrating the plugin to the Intellij SDK 11.x version is too early. Some IDEA 10.x (and others JetBrains products) users may not upgrading to the version 11.x. and request bug fixes and additional features.

What is your opinion about this ?

David

szpak commented Jan 13, 2012

Regarding your previous comment I downloaded 0.4.4-SNAPSHOT today, but wasn't able to generate any notification. Currently I have two jobs visible on Jenkins and I'm not sure does it matter. Could you write more details how to generate that notification?

Owner

dboissier commented Jan 13, 2012

You need to manually refresh the job to get the notification and this appears when the status of the job changes. Perhaps you need to get a notification every refresh ?

Owner

dboissier commented Jan 13, 2012

Hi,

I have made some modifications. Now, the notification works for every new build and both auto-refresh and manual refresh (from View and Job).

Please install latest snapshot : https://github.com/downloads/dboissier/jenkins-control-plugin/jenkins-control-plugin-0.4.5-SNAPSHOT.jar

Regards,

David

szpak commented Jan 14, 2012

I have been playing with the latest snapshot for a while with JBoss Jenkins repository (tried with Apache Jenkins, but got error about CSRF protection). I like the way a popup is presented. It's very useful to have it colored and a link inside a popup which moves you to build page is really great!

One suggestion. Currently popup hides when you hit a key which is very handy, but it's easy to hide it accidentally just typing code. I think there should be a grace period (1 second?) after show a popup when keyboard events are ignored. It should give a programmer time to stop typing (or just to read project name and allow popup to disappear).

I've seen the new notifications in Idea 11 and I like that when closed are still available in an event log for a further reference. In case of Jenkin's messages I think they shouldn't be kept there (probably it's configurable). I agree that the problem with platform API could be significant, so I think that notifications shown in shapshot are ok for now. I don't know if it is possible to handle easily with Idea API, but in case of many notifications in the same time they shouldn't be displayed in the same line (one below another?).

Generally it looks very promising, thanks for your work!

Btw, I was also thinking about a permanent notification in a status bar (showing overall status) and I'm not sure how it should deal with multiple projects. It could display the worst state of monitored jobs, which is usually fine, but because there are sometimes some death/often broken jobs it could be necessary to allow to exclude some jobs or alternatively to define Jenkins view to use. Maybe you will have some better idea about that.

Owner

dboissier commented Jan 14, 2012

Hi Marcin,

One suggestion. Currently popup hides when you hit a key which is very

handy, but it's easy to hide it accidentally just typing code. I think
there should be a grace period (1 second?) after show a popup when keyboard
events are ignored. It should give a programmer time to stop typing (or
just to read project name and allow popup to disappear).

The notification display timeout rule seems not to be configurable, but I
will make some tries on how to transfer the balloon tooltip info to the
notification popup so the developer can get the info even if the balloon
disappeared.

I've seen the new notifications in Idea 11 and I like that when closed are
still available in an event log for a further reference. In case of
Jenkin's messages I think they shouldn't be kept there (probably it's
configurable). I agree that the problem with platform API could be
significant, so I think that notifications shown in shapshot are ok for
now. I don't know if it is possible to handle easily with Idea API, but in
case of many notifications in the same time they shouldn't be displayed in
the same line (one below another?).

Displaying all job results in a single ballon is not convenient for the
developer. I made a try on Apache.org Jenkins Server and the popup became
huge. I think the issue could be fixed whenever I will introduce the IDEA
11 Notification to the plugin.

Generally it looks very promising, thanks for your work!

Thanks for your feedbacks, I realy appreciate that :).

Btw, I was also thinking about a permanent notification in a status bar
(showing overall status) and I'm not sure how it should deal with multiple
projects. It could display the worst state of monitored jobs, which is
usually fine, but because there are sometimes some death/often broken jobs
it could be necessary to allow to exclude some jobs or alternatively to
define Jenkins view to use. Maybe you will have some better idea about that.

Making a specfic view is easier and more handy ;). You can look at the
Jenkins Server of the Jenkins project.


Reply to this email directly or view it on GitHub:

#12 (comment)

Regards,

David

szpak commented Jan 15, 2012

Displaying all job results in a single ballon is not convenient for the
developer. I made a try on Apache.org Jenkins Server and the popup became
huge. I think the issue could be fixed whenever I will introduce the IDEA
11 Notification to the plugin.

Ok. Usually it's not a problem due to a limited number of executors.

Making a specfic view is easier and more handy ;). You can look at the
Jenkins Server of the Jenkins project.

I don't know if you add so good view support in the latest version or I
just missed it before :).

Regards
Marcin

szpak commented Jan 24, 2012

I've seen you committed some code related to that issue. Could you release another snapshot to test it?

Owner

dboissier commented Jan 25, 2012

Dear Marcin,

I currently reinforce the notification code by writing unit tests.

In term of new functionality, I do not have any idea. Perhaps, a new panel
that displays the Jenkins Queue and Slaves (like the left panel of the
Jenkins web page). What do you think of that ?

Regards,

David

2012/1/24 Marcin Zajączkowski <
reply@reply.github.com

I've seen you committed some code related to that issue. Could you release
another snapshot to test it?


Reply to this email directly or view it on GitHub:

#12 (comment)

David

szpak commented Jan 25, 2012

In issue #11 I was writing about an icon in a status bar. Is it included in your recent changes?

I will think about some other things.

Owner

dboissier commented Jan 25, 2012

Sorry Marcin, I forgot it (Actually, I can work on the plugin during my
spare time, sometimes my code activity is low, depending on my coach
workload).

In order to clarify the requirements. The icon in the status bar becomes
red whenever a build has failed. When you click on the icon a popup appears
and displays latest builds.

So, should the Rss Panel be removed (this is almost the same functionality)?

Does the popup displays only the builds that the developer ran ?

About the notification balloon, is it the same functionality ?

Regards,

David

2012/1/25 Marcin Zajączkowski <
reply@reply.github.com

In issue #11 I was writing about an icon in a status bar. Is it included
in your recent changes?

I will think about that.


Reply to this email directly or view it on GitHub:

#12 (comment)

David

szpak commented Jan 25, 2012

Dnia 25-01-2012 o godz. 12:49 David Boissier napisał(a):

Sorry Marcin, I forgot it (Actually, I can work on the plugin during my
spare time, sometimes my code activity is low, depending on my coach
workload).

No problem. I'm glad you have time and want to develop that plugin.

In order to clarify the requirements. The icon in the status bar becomes
red whenever a build has failed.

Or yellow when any build (in tracked view if enabled filtering for panel) become unstable (and there is no broken builds - then it should be red).

When you click on the icon a popup appears and displays latest builds.

I think it could show your standard panel with builds and move focus to it.

So, should the Rss Panel be removed (this is almost the same
functionality)?

I don't use that feature, but maybe others do. The problem with RSS is the it required to have panel open, while icon in status bar would be always visible.

Does the popup displays only the builds that the developer ran ?

In case of showing/focusing panel I think it could just show panel - I don't know if it's required to filter builds somehow.

About the notification balloon, is it the same functionality ?

Maybe a list of broken/unstable builds? But it's an extra feature for me - seeing red icon I can always double click on it to show a panel.

Regards
Marcin

szpak commented Mar 24, 2012

Hello again. I've seen some new commits. Maybe you were able to make any progress with a notification in a status bar?

Owner

dboissier commented Mar 27, 2012

Hi Marcin,

I've been quite busy these last weeks.

I am rewriting the RSS Panel :

  • There will have a new option in the configuration panel : either you keep
    the current layout (Rss panel under the job tree) or else you can choose
    the Rss Panel as Notification Popup (accessible from the Status Bar).
  • If you choose the second option, a red icon will flicker on the the
    status bar when a build fails.

I cannot announce any release date right now but I have a clear mind on
what to do. So, it should be done during April ;).

Thanks for your support and suggestions.

Regards,

David

Le 24 mars 2012 17:46, Marcin Zajączkowski <
reply@reply.github.com

a écrit :

Hello again. I've seen some new commits. Maybe you were able to make any
progress with a notification in a status bar?


Reply to this email directly or view it on GitHub:

#12 (comment)

David

Owner

dboissier commented Apr 6, 2012

Hi Marcin,

The notification is quite done. Please download the latest snapshot of the plugin from https://github.com/downloads/dboissier/jenkins-control-plugin/.

I also rewrote from scratch the RSS Panel (quite similar to the Event Log) and added a search feature (Click on the Panel and type CTRL+F to open it).

The flickered icon is not implemented yet.

I am waiting for your feedback.

szpak commented Apr 6, 2012

Great to hear David! Unfortunately I'm unable to download a file. Your link returns 404. The file is visible on:
https://github.com/dboissier/jenkins-control-plugin/downloads as
jenkins-control-plugin-0.4.5-SNAPSHOT.jar 172KB · Uploaded 5 hours ago
but on a try to download it "File not found" is displayed.

Any idea what could be wrong?

Owner

dboissier commented Apr 7, 2012

Hi,

This time, it should be ok. One more thing, you need to enable RSS autorefresh to make the notification work.

Cheers,

David

szpak commented Apr 7, 2012

I was using a Jboss' Jenkins which has a lot of the projects (in addition I had some network problems and it was loading several seconds) and I noticed an issue that then refreshing RSS the whole Idea (GUI) freeze for a moment. I don't know if API for plugin allows for that, but maybe it would be possible to do that in a background thread?

When I switched to the new layout I've got following error in IdeaC 11.0.2 and 11.1.1 at startup (and no icon was visible in the status bar):
[ 4057] ERROR - ellij.project.impl.ProjectImpl - com.intellij.util.ui.AnimatedIcon.(Ljava/lang/String;)V
java.lang.NoSuchMethodError: com.intellij.util.ui.AnimatedIcon.(Ljava/lang/String;)V
at org.codinjutsu.tools.jenkins.view.util.BuildAnimatedIcon.(BuildAnimatedIcon.java:46)
at org.codinjutsu.tools.jenkins.view.util.BuildAnimatedIcon.(BuildAnimatedIcon.java:42)
at org.codinjutsu.tools.jenkins.view.JenkinsRssWidget.init(JenkinsRssWidget.java:88)
at org.codinjutsu.tools.jenkins.view.JenkinsRssWidget.(JenkinsRssWidget.java:57)
at org.codinjutsu.tools.jenkins.JenkinsControlComponent.installJenkinsPanel(JenkinsControlComponent.java:159)
at org.codinjutsu.tools.jenkins.JenkinsControlComponent.projectOpened(JenkinsControlComponent.java:127)
at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:400)
(...)

Owner

dboissier commented Apr 7, 2012

Hi Marcin,

I noticed the performance issue.

Regarding the runtime exception it seems jetbrains has made some backward uncompatible changes.

I will work on all these issues during the next week.

Thanks a lot for your time.

David

Le 7 avr. 2012 à 13:01, Marcin Zajączkowskireply@reply.github.com a écrit :

I was using a Jboss' Jenkins which has a lot of the projects (in addition I had some network problems and it was loading several seconds) and I noticed an issue that then refreshing RSS the whole Idea (GUI) freeze for a moment. I don't know if API for plugin allows for that, but maybe it would be possible to do that in a background thread?

When I switched to the new layout I've got following error in IdeaC 11.0.2 and 11.1.1 at startup (and no icon was visible in the status bar):
[ 4057] ERROR - ellij.project.impl.ProjectImpl - com.intellij.util.ui.AnimatedIcon.(Ljava/lang/String;)V
java.lang.NoSuchMethodError: com.intellij.util.ui.AnimatedIcon.(Ljava/lang/String;)V
at org.codinjutsu.tools.jenkins.view.util.BuildAnimatedIcon.(BuildAnimatedIcon.java:46)
at org.codinjutsu.tools.jenkins.view.util.BuildAnimatedIcon.(BuildAnimatedIcon.java:42)
at org.codinjutsu.tools.jenkins.view.JenkinsRssWidget.init(JenkinsRssWidget.java:88)
at org.codinjutsu.tools.jenkins.view.JenkinsRssWidget.(JenkinsRssWidget.java:57)
at org.codinjutsu.tools.jenkins.JenkinsControlComponent.installJenkinsPanel(JenkinsControlComponent.java:159)
at org.codinjutsu.tools.jenkins.JenkinsControlComponent.projectOpened(JenkinsControlComponent.java:127)
at com.intellij.openapi.project.impl.ProjectImpl.projectOpened(ProjectImpl.java:400)
(...)


Reply to this email directly or view it on GitHub:
#12 (comment)

szpak commented Apr 8, 2012

Hello again. I dig up version 10.5.2 and there is no error on startup. Unfortunately I wasn't able to get any RSS messages (in both old and new modes). I tried with https://hudson.jboss.org/hudson/ and https://ci.lille.inria.fr/pharo/ . Maybe I do something wrong. Could you check plugin with those services or tell me which publicly available server you use for tests?

Marcin

szpak commented Apr 8, 2012

Correction. I waited a little bit longer and have got some RSS messages (from Jboss' server) when force snapshot. I didn't see any change to the icon (maybe it is due to a manually refresh). A page with a result was opened in a browser (I'm not sure, but I could click on something).
I you were able to fix problem with API for 11 it would be great, because I currently use Idea 11 to program and I don't have Idea 10.5 opened all the time on the first plane to watch all its behavior.

Marcin

Owner

dboissier commented Apr 8, 2012

Dear Marcin,

I will be able to work on it this week (Tomorrow is off because this is
Easter Monday). I will inform you when I fix these 2 bugs.

Regards,

David

Le 8 avril 2012 14:30, Marcin Zajączkowski <
reply@reply.github.com

a écrit :

Correction. I waited a little bit longer and have got some RSS messages
(from Jboss' server) when force snapshot. I didn't see any change to the
icon (maybe it is due to a manually refresh). A page with a result was
opened in a browser (I'm not sure, but I could click on something).
I you were able to fix problem with API for 11 it would be great, because
I currently use Idea 11 to program and I don't have Idea 10.5 opened all
the time on the first plane to watch all its behavior.

Marcin


Reply to this email directly or view it on GitHub:

#12 (comment)

David

Owner

dboissier commented Apr 10, 2012

Hi Marcin,

I just fixed the bugs you mentioned. Please download the latest jar in the download section and tell me if the result is better.
FYI, when you click on the refresh button (or when auto refresh is enabled), it seems nothing happens whereas the refresh in running in a thread. I will try to put some animation to provide better feedback.

Regards,

David

szpak commented Apr 10, 2012

Thanks for a quick fix, David! I'm able to run it with Idea 11, but up to now had no luck with getting some interesting builds via RSS :) (do you use any public server to test it or just use some local instance to generate whatever you need?). I will let you know about the results.

szpak commented Apr 10, 2012

Ok, I've got some "broken build", but have no visible effect with the icon. What should I expect? How is the fact of a broken build presented?

Owner

dboissier commented Apr 10, 2012

Hi Marcin,

Actually, there is animation because I have no idea what kind of icon I
should display. Do you have any suggestion on "fancy icon" ?

Regards,

David

Le 10 avril 2012 19:45, Marcin Zajączkowski <
reply@reply.github.com

a écrit :

Ok, I've got some "broken build", but have no visible effect with the
icon. What should I expect? How is the fact of a broken build presented?


Reply to this email directly or view it on GitHub:

#12 (comment)

David

szpak commented Apr 11, 2012

Hmm, unfortunately yesterday I didn't see any animation on a broken build. How long should it last? For a few seconds or permanently? Maybe I just missed it. Today I will use it with the Jenkins instance in a company where broken build are more often ;).
I don't have any suggestion on "fancy icon", but I think it should be clearly visible (like big red dot) and last until all the broken builds become stable.

Owner

dboissier commented Apr 11, 2012

Sorry Marcin,

I meant, currently, there is no animation.

The Event log is a nice feature. It shows the number of unread messages nearby the icon. So this is my suggestion :
A red icon with the number of broken build will be displayed on the status bar. the number will be decreased/increased.
When all broken are fixed then a blue icon will be displayed.

What do you think about it ?

szpak commented Apr 11, 2012

Sounds good for me.

Btw, currently dates shown in the RSS feed in Idea are in UTC. It would be convenient to convert it to a local time zone.

Owner

dboissier commented Apr 13, 2012

Hi Marcin,

You can find stable release on the download page. The official download is also availabl from the JetBrains repository.

  • Here a quick summary, I removed Separated Layout Feature. I just kept the Jenkins Widget on the status bar. It displays the remaining broken builds of the selected view (red or blue color).
  • Time in the RSS Panel is now based on the default locale
  • Search Feature allows cyclic searching
  • 1 minor bug I saw on th UI is the Expandable button is not present. I will fix it in a minor updated release

Have a nice WE,

David

szpak commented Apr 13, 2012

It very clearly shows builds status in a selected view and it's something what is needed to keep an eye on builds stability. Big thanks for your work, David!

P.S. You can rest for a while after a hard work, but I'm already thinking about some new feature requests for your plugin ;).

@szpak szpak closed this Apr 13, 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment