Home Community Uploads
image

Cireson Partners, Customers and Community members share your customizations and examples here to help benefit the community as a whole to earn Kudos and badges.

DISCLAIMER

All files and projects located here are provided and come "as-is" and without any warranty or support. Use at your own risk. Your use of Community Uploads is subject to our Terms of Use.

Cireson does not and will not support or maintain these enhancements, extensions, and scripts.

For Team Cireson uploads click here.

Active Work Items badges on menu items

2

Comments

  • Steve_ClarkeSteve_Clarke Customer Adept IT Monkey ✭✭

    Hi Guys,

    I find the badges don't load on first page load. You always need to refresh once. Is anyone else seeing this in their environments?

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    I am not seeing that.  I do occasionally notice that it does not load, but it is usually once in many reloads, rather than always on the first load.  Most of my users do not even notice.

    Having said that, there is something here that might need to be looked at, though.
  • Steve_ClarkeSteve_Clarke Customer Adept IT Monkey ✭✭

    Thanks Tom. Perhaps it is more of a timing issue then..

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    I agree, especially because we may be running with different hardware, have a different number of ajax calls involved with our page loads, etc.

    I also think timing is the first place to start looking.
  • Steve_ClarkeSteve_Clarke Customer Adept IT Monkey ✭✭

    ok so I fixed out environment by adding a 1 second delay to the "createBadges" function. Had intended to tune that time down lower but it is not noticable at all.

    So the line now reads..

    setTimeout(createBadges, 1000); // This will run on page load

  • Leigh_KildayLeigh_Kilday Member Ninja IT Monkey ✭✭✭✭

    ok so I fixed out environment by adding a 1 second delay to the "createBadges" function. Had intended to tune that time down lower but it is not noticable at all.

    So the line now reads..

    setTimeout(createBadges, 1000); // This will run on page load


    We get this too, however setting the timeout didn't work. I've only noticed it on initial load.
  • Steve_ClarkeSteve_Clarke Customer Adept IT Monkey ✭✭

    Maybe increase the timeout a bit? perhaps change the 1000 to 5000 (5 seconds) to see if it fixes it, then tune it back.

    I am sure there is a more elegant fix for this as well that some of the more skilled guys up above could sort out. This was just a "quick fix" in our case for now.      

  • Steve_ClarkeSteve_Clarke Customer Adept IT Monkey ✭✭

    Awesome stuff Martin. Thanks for taking the time to update this and for sharing :)

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    Of course I have not seen the issue with the old code over the past couple days (errors when you don't want them, never when you do!), but I plan to update to this and report back soon.  Thanks for making the updates!
  • Nick_FlintNick_Flint Customer Advanced IT Monkey ✭✭✭
    edited February 2017

    This is really cool! I have two queues restricting incidents by work groups. Basically, if an incident is assigned to a specific support group we put it in one queue and put all other incidents in the other queue. The badges don't seem to take the queue into consideration.

  • Martin_BlomgrenMartin_Blomgren Customer Ninja IT Monkey ✭✭✭✭
    @Nick_Flint
    Could be due to the fact that the api calls made for each of the badges isn't scoped.

    Try changing this code:
    "isScoped": false

    to this:
    "isScoped": true

    wherever present in the custom js file and please report back!
  • Nick_FlintNick_Flint Customer Advanced IT Monkey ✭✭✭
    @Martin_Blomgren
    That did the trick. I'm seeing the counts as expected within the scope of the assigned queues. Thank you!
  • Ilias_El_TaghadouiniIlias_El_Taghadouini Customer IT Monkey ✭

    Hi Martin!
    love your work on this. The badge system is the bomb! :)

    Its great to see some awesome solutions being shared through the community :)

    I have actually been working on a similar popup solution which is based on alertify (an open source solution for popup notifications)

    If your interested, maybe we collaborate and create something together which is scalable and usable for multiple applications?

    Here is some examples of how we are using it..

    Figure 1:

    Popup 1: Related Knowledge Article(s). We are using popups to display related KB articles as soon as the title is updated. (so we don't do it on page load, but on updating the title.). They can then click any of the KB articles to open then up in a new tab, or click "Run Deep Search" which will re-run the search against the description also.

    Popup 2: Related Parent Incident(s) Found. We are using popups to assist the analyst with linking and unlinking incidents to related parent incidents. So this popup is fired off whenever the classification is updated. If there is a parent incident with the same classification as the incident being logged, it will notify as shown, and enable the analyst to quickly link this new incident to the related parent. They can also click on "Open Parent" to quickly open the parent incident in a new tab if required.

    Figure 2:

    Popup 1: Parent Incident. This appears whenever you open up a parent incident. It shows all child incidents and allows you to unlink any of the child incidents on the fly, or open up the child incidents if required.

    Popup 2: VIP User Detected. This shows how we are using the popup solution for other ideas. e.g.: We use the notes field of the User CI to specify if the user is a VIP. If the user is a VIP, it automatically changes the impact of the incident to "VIP" which has a slightly different SLO / SLA applied.

     

    We use it for a few other things, but it gives you an idea of how scalable such a popup solution can be! :)

    Im not sure how far down the track you are with developing a popup based solution, but if your up for it, I am happy to share my code, and we can come up with something that integrates both solutions into 1?. I much prefer the look of your popups and think the idea you have to notify analyst whenever a new ticket is logged is a fantastic idea.

    Probably one thing to keep in mind with the popups is that the "size / height" of each popup can be variable, not fixed, and the next popup automatically appears in the correct location, depending on the height of the previous popup. This will enable the popup solution to be much more scalable for other applications (as shown above).

    Alertify does this out of the box. The only downside of Alertify is that it is configured for "single click" close. I have not got around to modifying the code to fix this to include an "x" in the top right hand corner as you have already included in your design.

    If you are interested in collaborating and want to e-mail me you can do so on paech[dot]adrian[at]hotmail[dot]com

    Cheers,

    Adrian

    Hi Adrian,

    Novice question: any idea where I should call/include the alertify.js script to make it usable in custom.js ? All the alertify examples seem to include the script from within html as illustrated below

    <!-- include alertify script --> <script src="{PATH}/alertify.js"></script>

    Thanks for your input !
  • Ralph_PalmerRalph_Palmer Customer IT Monkey ✭

    I have included the badges in out TEST environment with very positive feedback. 

    Would it also be possible to have a badge for work items in a team queue with a count of those items where the Assigned User is null.  Is it possible to parse the response to the GetGridWorkItemsMyGroups to do this. 

    The reason it was asked is that we are moving away from telephone support to email/self service and this would give logged on Analysts a view of items waiting in the queue for assignment, much the same way as our old telephone monitoring screen would do with calls awaiting answer.

  • Jonathan_BolesJonathan_Boles Customer Ninja IT Monkey ✭✭✭✭
    Hi @Adrian_Paech, would you be willing to share what you've created so far with Alertify? I'd love to be able to use something like the VIP user alert you've shown (and automation to change the impact) That is brilliant!
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    Somewhat off-topic but related:  Is there a current fork of alertify?  Has anyone considered other libraries such as toastr or amaran instead?

    I have not used any of these but I like the approach that @Adrian_Paech shows, so I am trying to to benefit from everyone's knowledge before proceeding.

    Also, I agree with @Jonathan_Boles that it would be nice to see some of the solution above, since there are some very interesting features to it (e.g., the unlink child link).
  • Alex_MarshAlex_Marsh Premier Partner Advanced IT Monkey ✭✭✭
    Just a heads up for those using this, there's been some feedback on the feature request page for this regarding performance issues (high SDK service memory usage) so if anyone is experiencing these issues it's probably worth disabling this function.
  • Martin_BlomgrenMartin_Blomgren Customer Ninja IT Monkey ✭✭✭✭
    @Alex_Marsh, unfortunately this is due to the API which returns the WI objects with all relations (seems as scsm workitem advanced tp). With a lot users bombarding the portal with API requests which will be in memory for some time it's bound to happen.

    There are some optimizations that can be done to minimize the load somewhat.
    - Make sure that api calls are scoped if needed.
    - Disable the api calls which are not needed.
    - Don't use the 'Active Work' badge since this will generate a lot of objects.
    - Disable this for end users or at least some of the api calls.
    - Perhaps create a TP with no relations and change the api endpoint to GetProjectionByCritera which wont include relations in the WI objects and thus make the load a lot smaller.

    And last but not least vote for a Cireson supported solution instead!

  • wouter_dedoodwouter_dedood Member IT Monkey ✭

    Hi Martin,

    First of all thanks for this great add-on!!

    Just installed v0.2 version (I had the initial load problem with v0.1) but now I have the problem that only the badge is displayed at the Active work tab all other tabs I see the badges fade-out (or something), any clue on how to fix this?

    Thanks

    Wouter

  • wouter_dedoodwouter_dedood Member IT Monkey ✭

    Hi Martin,

    First of all thanks for this great add-on!!

    Just installed v0.2 version (I had the initial load problem with v0.1) but now I have the problem that only the badge is displayed at the Active work tab all other tabs I see the badges fade-out (or something), any clue on how to fix this?

    Thanks

    Wouter


    Shame on me........ I was working in my test environment and that doesn't have that much tickets.. Zero isn't showing (as it should be).

    Thanks again for the great add-on!

  • Stefan_BarrettStefan_Barrett Customer IT Monkey ✭
    This is great stuff!  Our architect just pointed me/us to it, and we've deployed in Dev, w/ future Prod date forthcoming!

    One question - when we're running it, it shows the badge regardless of count, i.e. when count is "0", you still see the badge.  Is there a way to hide the badge when there's "0" count?

    This isn't so much for our analysts (do you ever really have zero?) but for our business users on their 'My Requests'.  We don't want to promote badge fatigue.

    Perhaps it is simply how we've deployed it, but I don't believe our architect made any changes to the code, fundamental or otherwise.  Thoughts?
  • Alex_MarshAlex_Marsh Premier Partner Advanced IT Monkey ✭✭✭
    @Alex_Marsh, unfortunately this is due to the API which returns the WI objects with all relations (seems as scsm workitem advanced tp). With a lot users bombarding the portal with API requests which will be in memory for some time it's bound to happen.

    There are some optimizations that can be done to minimize the load somewhat.
    - Make sure that api calls are scoped if needed.
    - Disable the api calls which are not needed.
    - Don't use the 'Active Work' badge since this will generate a lot of objects.
    - Disable this for end users or at least some of the api calls.
    - Perhaps create a TP with no relations and change the api endpoint to GetProjectionByCritera which wont include relations in the WI objects and thus make the load a lot smaller.

    And last but not least vote for a Cireson supported solution instead!

    Cheers martin. Will take a look at some of the options above. Really want to get this working again so will test the above and go from there. Will see if I can scope out the majority of them so they only load if 'Analyst = True' which should reduce a fair chunk and then take a look at scoping the other bits further
  • Martin_BlomgrenMartin_Blomgren Customer Ninja IT Monkey ✭✭✭✭
    @Stefan_Barrett in the v0.2 release I fixed the red line showing when the count is zero, did you download the version in the original post or the one posted here on page 2?

    (For those wondering, I will start uploading my custom stuff to GitHub instead to make sure that the linked version is always the latest :))
  • Stefan_BarrettStefan_Barrett Customer IT Monkey ✭
    @Martin_Blomgren unsure, as our architect loaded the .js originally.  However, I've grabbed the v.02 release, and a quick file compare suggests it's quite different.  Anyway, I have it installed now on our Dev env, I'll let you know how it looks tomorrow.  Thanks so much!
  • Gerhard_GoossensGerhard_Goossens Customer Advanced IT Monkey ✭✭✭
    This is really awesome!!!

    Is there a way to only show the number on the badge of WIs that is unassigned?

    Our analysts will be much more productive if they can only see if there are unassigned WIs in their Team Work and Assigned To Me View 
  • Brian_WiestBrian_Wiest Customer Super IT Monkey ✭✭✭✭✭
    edited August 2018
    @Gerhard_Goossens Really like the idea, so many times I feel like team members are missing that fact there are unassigned work items. 
    @Martin_Blomgren Updated your version and added Gerhard's suggestion :)

    So here is an updated version, to me only Team work needs the unassigned feature thinking it thru that is the only place it really matters. My requests and Team requests to me I don't really want my users to know there requests haven't been assigned or not. My work need I say more. 
    And in my code you will see active work is disabled. Don't know about anyone else but I have consistently thousands of items in the live database and having that badge on was taking large amounts of memory just to display a huge number that no one really looked at anyway. If you do use active work just copy the code from the team work and you can have it on active work as well. 
    Enjoy
    (Thanks to my team coworker Eric (not in the forum for updating the JS)

  • Gerhard_GoossensGerhard_Goossens Customer Advanced IT Monkey ✭✭✭
    @Gerhard_Goossens Really like the idea, so many times I feel like team members are missing that fact there are unassigned work items. 
    @Martin_Blomgren Updated your version and added Gerhard's suggestion :)

    So here is an updated version, to me only Team work needs the unassigned feature thinking it thru that is the only place it really matters. My requests and Team requests to me I don't really want my users to know there requests haven't been assigned or not. My work need I same more. 
    And in my code you will see active work is disabled. Don't know about anyone else but I have consistently thousands of items in the live database and having that badge on was taking large amounts of memory just to display a huge number that no one really looked at anyway. If you do use just copy the code from the team work and you can have it on active work as well. 
    Enjoy
    (Thanks to my team coworker Eric (not in the forum for updating the JS)

    Awesome, will throw the code into test now.

    Thanks
    G

  • Mikkel_MadsenMikkel_Madsen Customer Advanced IT Monkey ✭✭✭
    @Brian_Wiest
    Cool addon with the unassigned badge :smiley:

  • Maxim_PopovMaxim_Popov Member IT Monkey ✭
    edited August 2018
    Martin_Blomgren and
    Adrian_Paech Thank you so much for this feature!
    Please tell what i can include the popup window of new request or comments feature in your custom_WorkItemMenuBadge? 
Sign In or Register to comment.