Home Service Manager Portal Feature Requests
We appreciate you taking the time to vote and add your suggestions to make our products awesome! Your request will be submitted to the community for review and inclusion into the backlog.

We recommend reviewing what is submitted before posting, in case your idea has already been submitted by another community member. If it has been submitted, vote for that existing feature request (by clicking the up arrow) to increase its opportunity of being added to Cireson solutions.

For more information around feature requests in the Cireson Community click here.

Add date/time Created and Last Modified to the WI form- easy visible

Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭
Is there a way to add Created date/time plus last modified/modified by to the WI form so it is easy to spot when you open the WI?   

It is very time consuming to go to the History page every time you want to know when the WI was opened/created  o last touched.
18 votes

Submitted · Last Updated

Comments

  • Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭
    edited October 2016
    Something like this:


  • Jonathan_BolesJonathan_Boles Customer Ninja IT Monkey ✭✭✭✭
    Hi @Adrian_Mataisz, can't agree enough - this would be super helpful! Might I suggest creating a portal feature request for this as well? I would imagine there are many of us who hate having to dig through the history tab and would love to see this info more readily available as shown on your screenshot example. :)
  • Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭
    Can this be moved to Portal Feature Request for voting?
  • james_kleinschnitzjames_kleinschnitz Cireson Dev, Product Owner Advanced IT Monkey ✭✭✭
    @Adrian_Mataisz
    I have converted this to an idea and moved to portal feature request

    In general we have been thinking adding a little bit more info to the WI form header, things that come to mind are, Title so that when I land on the activity tab I don;t have to jump back to the general tab to see what the WI is about, maybe even an option to reveal the full desc. 
    I like your ideas as well.

    Let's see what the rest of the community thinks!
  • Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭

    I Agree. Title would be nice as a header next to the ID#.   I'm considering moving or having a copy  of  the User Input Area/Description under Activities page for easy reference.

  • james_kleinschnitzjames_kleinschnitz Cireson Dev, Product Owner Advanced IT Monkey ✭✭✭
    What makes this a little tricky is with our adaptive design and that we already use this space for SLOs
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    Great suggestion, @Adrian_Mataisz!  If the space is already taken up by SLO's, then what about right below that heading?  Also, when the adaptive design kicks in on small screens, maybe this could be a collapsable (collapsed by default) section or a pop-out?
  • Eugene_RackEugene_Rack Customer Adept IT Monkey ✭✭
    I used the code in this link https://community.cireson.com/discussion/607/is-there-away-of-showing-the-created-date   . I then modified it so that I have Created date and Modified date. Not exactly as you have in your screen shot above but does the job.


  • Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭
    @Eugene_Rack Can you share what lines of code did you add to show Created and Modified fields?

    I also would like to add "Created By" and "Modified By" if it's possible.
  • Eugene_RackEugene_Rack Customer Adept IT Monkey ✭✭
    I have only used the Created date, Last Modified in my production environment. However I have added the Created by option in the code below for you.This is added in the Incident and Service Request .js files. They need to be in the Custom Space folder
    {
        "Default":{
        tabList: [
            /*********/
            /** TAB **/
            /*********/
            {
                name: "General",
                content: [
                    {
                        customFieldGroupList: [
                            {
                                name: "IncidentInformation",
                                rows: [                                
                                    
    {
                                        columnFieldList: [
                                            { DataType: "DateTime", PropertyDisplayName: "Createddate", PropertyName: "CreatedDate", Disabled: true },
    { DataType: "DateTime", PropertyDisplayName: "Lastmodified", PropertyName: "LastModified", Disabled: true },
    { DataType: "UserPicker", PropertyDisplayName: "CreatedBy", PropertyName: "CreatedWorkItem", Disabled: true },
                                        ],
                                    },
    {
                                        columnFieldList: [
                                            { DataType: "UserPicker", PropertyDisplayName: "AffectedUser", PropertyName: "RequestedWorkItem", Required: true },
                                            { DataType: "String", PropertyDisplayName: "Alternatecontactmethod", PropertyName: "ContactMethod", ColSpan: 2, MinLength: 0, MaxLength: 256 }
                                        ],
  • Adrian_MataiszAdrian_Mataisz Customer Advanced IT Monkey ✭✭✭
    Thank  You @Eugene_Rack. Is there e PropertyName for Last Modified By?
  • Eugene_RackEugene_Rack Customer Adept IT Monkey ✭✭
    Hello Adrian

    Looks like there is no direct property for the Last Modified by. I have had a look and found this link in the community.
    https://community.cireson.com/discussion/1191/modified-by-user-in-the-work-item-overviews

  • Ben_TeyBen_Tey Partner Adept IT Monkey ✭✭
    Something like this:


    Cool if anyone have done this and share out.
  • Konstantin_Slavin-BoKonstantin_Slavin-Bo Customer Ninja IT Monkey ✭✭✭✭
    You would have to get the data from the form with pageForm.viewModel.TimeAdded, pageForm.viewModel.ResolvedDate, pageForm.viewModel.ClosedDate, and then add the values to a div, which you append to the first (index 0) $('.page-heading') element you find, and align that to the right. That would give you something like the image.
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    Slight edit: look for div.panel-heading, not div.page-heading.

    For example:
    $('div.panel-heading').first().append('<div class="headingFields" />');<br>$('div.headingFields').append('<span class="headingFieldLabel">Created:</span>' + pageForm.viewModel.TimeAdded);
    This is just one of the fields--add the rest inside the div.headingFields element or split them into multiple divs.

    And in your CSS:
    div.headingFields {<br>&nbsp;&nbsp;&nbsp; float: right;<br>}<br>div.headingFields > span.headingFieldLabel {<br>&nbsp;&nbsp;&nbsp; font-weight: bold;<br>}

  • Konstantin_Slavin-BoKonstantin_Slavin-Bo Customer Ninja IT Monkey ✭✭✭✭
    edited June 2017
    Ah yes, thanks a lot @Tom_Hendricks!

    The complete solution would look like this:

    custom.js
    app.custom.formTasks.add('Incident', null, function (formObj, viewModel) {<br>&nbsp;&nbsp; //bind a function to the form ready event<br>&nbsp; formObj.boundReady(function () {<br><br>&nbsp;&nbsp;&nbsp; // Convert dates to locale if they are not empty<br>&nbsp;&nbsp;&nbsp; var createdDate = viewModel.TimeAdded ? (new Date(viewModel.TimeAdded)).toLocaleString() : '--';<br>&nbsp;&nbsp;&nbsp; var lastModified = viewModel.LastModified ? (new Date(viewModel.LastModified)).toLocaleString() : '--';<br>&nbsp;&nbsp;&nbsp; var resolvedDate = viewModel.ResolvedDate ? (new Date(viewModel.ResolvedDate)).toLocaleString() : '--';<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; // Build div with dates<br>&nbsp;&nbsp;&nbsp; var datesDiv = '<div class="headingFields"><span class="headingFieldLabel">Created:</span>' + createdDate +<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '<span class="headingFieldLabel">Last Modified:</span>' + lastModified + <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '<span class="headingFieldLabel">Resolved:</span>' + resolvedDate + '</div>';<br><br>&nbsp;&nbsp;&nbsp; // Add div to heading<br>&nbsp;&nbsp;&nbsp; $('div.panel-heading').first().append(datesDiv);<br>&nbsp; });<br><br>&nbsp; return;<br>});
    custom.css
    /* WI dates in heading */<br>div.headingFields{ <br>&nbsp; float: right;<br>&nbsp; font-size: 14px;<br>}<br><br>span.headingFieldLabel{<br>&nbsp; font-weight: bold;<br>&nbsp; padding-left: 10px;<br>&nbsp; padding-right: 5px;<br>}

    Which yields this result:



    If you want it for other classes that IR, copy the whole code block in custom.js and replace 'Incident' in the first line with e.g. 'ServiceRequest'.

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    No problem.  Thanks for posting the complete solution too (especially formatting the date--I was expecting a reply on that), @Konstantin_Slavin-Bo!
  • Konstantin_Slavin-BoKonstantin_Slavin-Bo Customer Ninja IT Monkey ✭✭✭✭
    @Tom_Hendricks
    No, problem! The next issue is getting the users who created, resolved and most complex, later updated the WI. The first two should be easily retrievable, at least the GUID, which then needs to be converted to an actual username.

    The Last Modified is more complex, as you would need to get all changes, find the newest and get the user from there. And should it show updates by service accounts or not? Or maybe retrieve action log comments? But that would give inconsistencies between the Last Modified date and the username, if the update is done by a service account. 
  • Konstantin_Slavin-BoKonstantin_Slavin-Bo Customer Ninja IT Monkey ✭✭✭✭
    @Tom_Hendricks
    Just FYI, I had a look at the "by" fields, and only CreatedBy is easily accessible. The other two fields are not included directly on the WI object, so they would need to be accessed through the API. I feel like it would be to heavy an operation to do each time a WI form opens, which would probably slow down the load time, so I don't think it worth it.
  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    No disagreement here.  Speaking just of my own situation, adoption of the system is rising and performance is starting to drag a bit during peak times.  The XHR traffic found on all pages, but particularly the ticket forms, plays a big role in that.
  • Peter_SettlePeter_Settle Customer Advanced IT Monkey ✭✭✭

    Tom_Hendricks             Are you running multiple portal servers as we found we had issues when we went live with the portal.

    Now have a load balanced setup and encounter virtually no performance related issues.

  • Tom_HendricksTom_Hendricks Customer Super IT Monkey ✭✭✭✭✭
    @Peter_Settle, I am running a single portal for now, but just beginning to take a serious look at load balancing.  I had thought that the number of concurrent users was low enough that one should be sufficient, originally.

    For load balanced web servers, this also means installing another SCSM management server (one per web server), correct?
  • Konstantin_Slavin-BoKonstantin_Slavin-Bo Customer Ninja IT Monkey ✭✭✭✭
    edited June 2017
    For load balanced web servers, this also means installing another SCSM management server (one per web server), correct?
    If you're running IWA then yes, you need to install a SCSM MS on each portal web server. If you're running form auth, then you don't need a SCSM MS per portal web server; the SCSM MS should be able to handle a good amount of load, but it of course depends on the server specs. 
  • Peter_SettlePeter_Settle Customer Advanced IT Monkey ✭✭✭
    Tom_Hendricks yes we have 2 SCSM Servers also , we are serving 3500 users though.
Sign In or Register to comment.