Home Analyst Portal

Bugs when using existing Request Offerings from v6.0.3 in v7.0 (SCSM 2016) of the Portal

Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭
edited November 2016 in Analyst Portal

So,

I understand that v7.0 of the portal was just released for 2016, however I was kind of frustrated to find that almost all of my existing advanced Request Offerings (which came over from 2012 R2) didn't function correctly.

  • Date fields didn't provide a popup for date selection,
  • The next button didn't work on multi-page request offerings (you just click it and nothing happens)
  • Validation was not working correctly.
    and
  • The "Required" field doesn't appear around fields. (indicating that certain fields are required vs Optional)

I know this isn't a 2016 thing, because, I was running 6.0.3 on SCSM 2016 and all of the request offerings functioned correctly.

I removed all of my customisation code / css and this didn't fix it,

and Finally I thought, ok,

I will try and re-create one of the existing request offerings. However, even this didn't fix it!

I noticed that re-creating "simple" request offerings with a few fields seemed to work, but more complex RO's would malfunction (40+ questions etc.).

So I'm almost at the point where I think I might need to roll back to 2012 R2. I really don't want to! But I cant keep pushing back our go live date :(.

I have logged a bug request (IR57451), but I was just wondering if anyone else had come across this issue as part of their upgrade to v7.0 of the portal?

Cheers,

Adrian

Best Answers

  • Geoff_RossGeoff_Ross Cireson Consultant O.G.
    edited November 2016 Answer ✓

    Hi everyone,

    In the interim there is a workaround you can manually apply in the app.controls.js:

    
    Line 334
    
    Change:
         var str = "{" + daysOffset + "}";
         var daysValue = JSON.parse(JSON.stringify(eval("(" + str + ")"))).days;
         date.setDate(date.getDate() + parseInt(daysValue));
    
    To:
         date.setDate(date.getDate() + parseInt(daysOffset));
    
    This means removing the first 2 lines and adjusting the third. 

    This means removing the first 2 lines and adjusting the third.

    Kudos to super @carrie_medine and @john_doyle for this one.

    Geoff

Answers

  • Martyn_FearnMartyn_Fearn Customer Adept IT Monkey ✭✭
    edited November 2016

    We are experiencing similar things as you.

    • Date / time pickers are not appearing
    • Required fields no longer have the 'marker'
    • Combo boxes that are based on the results of Queries no longer appear

    We are on SCSM 21012 R2 and upgraded the portal from v6.0.3 to v7.0

  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭

    PS, I get this in IE and in Chrome (same issue).

    When I put IE in dev mode, I noticed there are some JS errors.

    When the page loads:

    app.controls.js (Line 335): var daysValue = JSON.parse(JSON.stringify(eval("(" + str + ")"))).days;

    Expected: ':'

    And when clicking "Next" the page code throws up the following error:

    Unable to get property 'validateInput' of undefined or null references
    Relating to the line of code in bold below.

    var nextButton = drawermenu.addButton(localization.Next, "fa fa-arrow-right", function(e) {
                        var inputs = $("input[required]");
                        var valid = true;
                        var err_input = null;
                        _.each(inputs, function (input) {
                            //do not validate hidden prompts
                            if ($(input).closest("div.question-container").hasClass("ng-hide") || $(input).closest("section").hasClass("ng-hide") || !valid) {
                                return;
                            } else {
                                valid = validatable.validateInput(input);
                            }
                        });

                        if (valid) {
                            scope.$apply(function () {
                                scope.next();
                                nextButton[0].disabled = !scope.nextEnabled;
                                prevButton[0].disabled = !scope.previousEnabled;
                                saveBtn[0].disabled = scope.nextEnabled;
                            });
                            document.body.scrollTop = document.documentElement.scrollTop = 0;
                        }
                    }); undefined

    Hope this helps the dev guys and gals troubleshoot this. :)

    Regards,

    Adrian

  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭

    Hi Martyn,

    Thanks for clarifying.

    Yea definitely seems to be independent of SCSM 2016.

    Cheers,

    Adrian

  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭

    For interest sake, when you put IE / Chrome in dev mode, do you get the same debug errors as I described above?

    Regards,

    Adrian

  • Martyn_FearnMartyn_Fearn Customer Adept IT Monkey ✭✭

    Hi Adrian,

    Yes we do for the Date/ Time issue.

    We don't have any RO's that go over two pages so I can't test the 'Next' issue.

  • Geoff_RossGeoff_Ross Cireson Consultant O.G.
    edited November 2016 Answer ✓

    Hi everyone,

    In the interim there is a workaround you can manually apply in the app.controls.js:

    
    Line 334
    
    Change:
         var str = "{" + daysOffset + "}";
         var daysValue = JSON.parse(JSON.stringify(eval("(" + str + ")"))).days;
         date.setDate(date.getDate() + parseInt(daysValue));
    
    To:
         date.setDate(date.getDate() + parseInt(daysOffset));
    
    This means removing the first 2 lines and adjusting the third. 

    This means removing the first 2 lines and adjusting the third.

    Kudos to super @carrie_medine and @john_doyle for this one.

    Geoff

  • john_doylejohn_doyle Cireson Support Ninja IT Monkey ✭✭✭✭
    Much as I would like to, I can't take any credit for this one.
  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭
    Thanks Geoff! I will give this a go first thing tomorrow.
    Regards,
    Adrian
  • Tony_CollettTony_Collett Cireson Support Super IT Monkey ✭✭✭✭✭
    Hey @Geoff_Ross

    To clarify, does this fix all the issues that was presented by @Adrian_Paech ?
    • Date fields didn't provide a popup for date selection,
    • The next button didn't work on multi-page request offerings (you just click it and nothing happens)
    • Validation was not working correctly.
    • The "Required" field doesn't appear around fields. (indicating that certain fields are required vs Optional)
    I get the feeling it's not an all in one solution to all these problems
  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭
    I will be testing in about an hour, so will let you know.
    cheers,
    Adrian
  • David_AllenDavid_Allen Partner Advanced IT Monkey ✭✭✭
    I implemented the fix this morning that @Geoff_Ross posted and it resolved all the issues.  The file that needs updating deals with most, if not all, of the page controls, so when there are no errors, everything functions as expected.
  • Adrian_PaechAdrian_Paech Customer Advanced IT Monkey ✭✭✭

    All fixed for me to!

    Thanks so much Geoff for the quick response!

    Much appreciated.

  • Tony_CollettTony_Collett Cireson Support Super IT Monkey ✭✭✭✭✭
    Sounds like it was a cascading issue then. I'm glad that worked for both of you :)
  • john_doylejohn_doyle Cireson Support Ninja IT Monkey ✭✭✭✭
    edited November 2016
    The issue is in the JavaScript library which builds the controls on the form. Once the code hit the error, that process was terminated and the form was left in an incomplete state.
  • Luca_LandiLuca_Landi Customer IT Monkey ✭
    Hey @Geoff_Ross

    To clarify, does this fix all the issues that was presented by @Adrian_Paech ?
    • Date fields didn't provide a popup for date selection,
    • The next button didn't work on multi-page request offerings (you just click it and nothing happens)
    • Validation was not working correctly.
    • The "Required" field doesn't appear around fields. (indicating that certain fields are required vs Optional)
    I get the feeling it's not an all in one solution to all these problems
    I have the same issues in partucular I have the problem of "next Button" on multi-page RO.

    Mi Portal version is 6.0.3.1 with MP ver: 7.5.2000.183 on SCSM 2012R2.

    I do not know if it can be connected, but I also have another problem in RO: When I create a "Query Result" field, the result of which is dynamically linked to an earlier field, "Query Result" is displayed (remains hidden and is seen only the title), and when a user enters something in the related field, the query does not appear.

    Thanks

    Luca Landi


  • Luca_LandiLuca_Landi Customer IT Monkey ✭
    Hi Luca,

    I know exactly what you are describing there. There was a bug in 6.0.2 and 6.0.3 causing exactly this behaviour. All of the issues mentioned on this thread are fixed in v7 so I would recommend an upgrade as soon as possible.

    Geoff
    Thanks, then I organize immediately to upgrade to the latest release.

    Bye

    Luca Landi
  • Luca_LandiLuca_Landi Customer IT Monkey ✭
    Thanks! Now everything works!  :)
  • Geoff_RossGeoff_Ross Cireson Consultant O.G.
    Great news.
Sign In or Register to comment.