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
I solved this by using the API to get Work Items per "category" and added as badges to the corresponding menu item:
There is an timer which update the badges every 60 seconds through API calls.
As the API only allows to get an array with the filtered workitems the next thing would be to actually create notifications like the Tier Watcher app from the Essentials stream. The logic would be something like "if an items last modified is newer than now - 60 seconds" which would indicate that there is a change since last check.
I've attached the needed files in a zip archive.
(EDIT: Lastest version can be found here: https://github.com/BrettMoff/CiresonBadges/releases/)
Comments
Not even sure if we are going to use one of the three supplied options for the service catalog later on as none seems to fit us. Just started playing with Cireson a week ago but hopefully it should be possible to build something from Cireson API that suits our needs but due to our deadline for deployment this will have to wait until after we started using the product.
I believe in sharing (and stealing with pride!) so if you'd like I can upload the wip code for you to use as a boilerplate if you don't want to wait for a more finished design. Please note that there are still a lot of misaligned elements and stuff like that, which the screenshot doesn't show
A small teaser on the notifications which during badge count check every 60 seconds also check if there are any "My Work" items with a last modified time newer than then last time it checked:
Just love how customizable Cireson is and would really like to see more API endpoints!
Comment of the month?
@Martin_Blomgren this is amazing. These are features I didn't know I needed.
Cireson, please make this OOTB!
//My Work
$.getJSON('/api/V3/WorkItem/GetGridWorkItemsByUser',
{
"userId": session.user.Id,
"isScoped": false,
"showActivities": true,
"showInactiveItems": false
},
After a quick read through I'm wondering (i.e. someone validate me please) if this could be made a bit more dynamic instead of passing a hardcoded bool into those queries, it could instead look something like -
function getShowActivitiesValue(url){
//get the value of the checkbox at that URL
//if the value is true/false, return that result from this function as the sole output
return result
}
//My Work
var url = "/views/cca5abda-6803-4833-accd-d59a43e2d2cf"
$.getJSON('/api/V3/WorkItem/GetGridWorkItemsByUser',
{
"userId": session.user.Id,
"isScoped": false,
"showActivities": getShowActivitiesValue(url),
"showInactiveItems": getShowInactiveItemsValue(url)
},
In this way, the user sees a count that is reflective of the option they've actually chosen on those respective pages. This also would simply fall into place/simply compliment @seth_coussens original example of checking the box by default as seen here.
I'm a bit rusty on my java, so I'm still putting together the whole "retrieve a value from a checkbox from another page" bit currently. But wouldn't be the least bit saddened if someone beat me to it. Ugh, I've clearly been spoiled by PowerShell...
For the moment the design for the work items forms is a total rip off from @Morten_Meisler's blogpost at http://blog.coretech.dk/mme/customization-tips-to-the-cireson-portal/ (great inspiration!) with some extra tweaks on the massive textarea for description and a first try at including end-user & analyst comments inline.
The Service Catalog is as shown on the screenshots where is use js to always expand the navigation and count service offerings on each category.
We made a decision to apply @seth_coussens auto check of 'Show Activities' checkbox on My Work as per our internal processes and therefor my code for the badges reflect this.
Keep in mind that Cireson is using the browsers local storage to remember this settings in between sessions so therefor if the user changes browser och clear all history they have to manually check the box again if not forced as above.
So to retrieve those settings without making a costly ajax call and parse the DOM simply check the local storage:
store.get(....
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
Anything you are willing to share in the Community Uploads section would be fantastic.
Really love your idea with related knowledge articles and parent incident, especially the knowledge part which is a must have in our organization!
I have come quite a long way with the notifications but as I'm also working on a work item popup preview solution at the same time, which shares a lot of the code, it's not as elegant and well structured as it could be. Some missing work item icons and maybe more relevant content is missing. The notification is triggered if there is a new work item or if the last comment is from the end user, There is an option to choose between sticky notifications or disappearing after X seconds. CSS is handling sizes with max width/height, overflow text and spacing between elements.
The preview function is something I'm also used to from other service desk systems and also seen requested from other members in the community.
My work is only using what is available from the portal out of the box which translates to JS, JQuery, Moment.js and boostrap.
Haven't checked out Alertify, will definitely do. As you propose there is a lot to gain by collaborating on this, both for us and the community because I'm all for sharing when possible!
Will email you and then we can take things from there!
Doing most of this work on my spare time which sometimes is quite limited as a parent with small children (depending on their mood ). A small demo on my work so far, please note that I've disabled the "when to notify" logic.
Is there any way to add the count to custom promoted views?
Running in trouble with calling the API
Cheersm
@Adrian_Paech 's implementation of the VIP notice is humbling to me, since I merely populated the ExtraProps below the user's name. This is great--keep pushing us all (and thanks to @James_Kleinschnitz for suggesting that Cireson is part of "all") to keep improving on the user experience!
Also, the Related Articles notification not only looks great, but also frees up some valuable screen real estate, and could also make it more feasible to include more hits in the results.
Now for the challenge/healthy skepticism: how do these look on mobile devices? Do the notifications simply hide on small screens (thinking phones more than tablets here), or is there an alternate format for them there?
Your latest screen shows the "Mouseover" feature etc... it is not integrated in your zip-File (earlier in this thread). Do you are able to upload your actual custom-Files (including this Feature)?
The design on mobile devices would be the easy part where you could use a dropdown menu with badges (mockup):
BUT as this is web based it actually requires the user to have the device both unlocked and the browser open for the client side javascript to be running xhr request to check for new workitems. This is not in any way optimal and the best would be to actually utilize Cireson API and write a platform dedicated app using a web view and push notifications, not something I'm currently investigating though.
@Raffael_Jenzer
The custom workitem preview (mouseover) feature is still missing some small parts depending on which workitem type you are hovering on. Due to holidays, recently a father of 2 and limited time as I've focused on a custom angular based service catalog homepage with shop functionality (to better match our internal processes) all other custom work is paused.
Of course when it is finished I will start a new thread and upload it. As will be done with the notifications and the custom service catalog/shop app!
Thanks for your answer! I'm looking forward to get your upload. :-) And about "father of 2"... i'm in the same boat as a father of 3 (8 and 10 years and 2,5 months...).
Love the implementation of badges and popups.
Any progress on this? I would also love to see the badges only count new items, any chance to implement that?
Thanks very much!
With the available API endoints doing this Tier Watcher notifications is quite performance degrading, it works but I need to both rewrite the code given my recent experience with Cireson customizations and try to optimize performance. Some of my customizations are analyst or end user driven and developed during work hours and others are my own ideas done during my spare time which for the moment is quite limited and in this case it's the latter. This is something I really believe would improve the situation for analysts working in the portal so I will continue work as soon as possible.
It's possible to modify the badges to only count new/untouched items but will not pursue this for the moment as I'm pleased with the way it works now. Maybe in the future I can make it as an option but I encourage you to upvote my feature request and add this feature as an option to it!
Raffael
Need to make some small changes to the mouseover work item preview code before I upload. As this is spare time stuff depending on my kids mood it could be tomorrow or take another week . Anyhow you guys are great at testing and finding all obscure things that we hardly use so there's no need for us to even have an test/staging process