logo

NJP

ServiceNow GRC/IRM: Full Flow (Part 5: Issues)

Import · Oct 15, 2020 · video

okay good evening and welcome to phil goes deep this is part five of the grc irm full flow series where i am converting the servicenow grc application into flow designer uh part four the previous four parts we covered indicators and issues and the previous two parts i focused in on issues and i've still got more to do there so i will be continuing to convert issues today and i'll give you a brief summary of where we got to very shortly uh just to mention the uh pink ribbon up in the corner and my pink hair is october which means it's breast cancer awareness month and on october the 23rd i will be encouraging everyone to wear pink but until then i'll be wearing pink in my hair and i've got a link in the description if you want to find out a little bit more about that and spread some awareness so without further ado we'll get into the show and let me switch it over don't forget as well to subscribe to the channel like and post any comments i've also got a link to the servicenow community post if you want to get involved in the conversation there and we've also got a live chat available so if you want to join in just give me a shout not a problem this is the approach i'm taking to converting grc and i've added a little bit more there if anyone's been following identify the api calls so looking for anything where where code is currently running in a script include review those apis get the public methods convert them into actions uh when we've got some embedded embedded code that might be within a business rule and then what we'll do is create flows and subflows and then replace all of the calls so effectively deactivate business rules so far we have looked at indicators and i've got some findings in here you can see probably i need to change those blue ones to green once they're done red ones i've highlighted some potential issues so uh things that need to be looked at and considered some things haven't been properly tested and then in issues i've converted let me zoom in a little bit for you uh you can see i've reorganized the tabs as well trying to get a little bit of structure in here yeah these are all the public methods but some of these actions can't really or don't really work because they're getting called from certain places so on the link to the servicenow community you can see some of my findings things that i'm reporting along the way what i'm trying to do here effectively is his answer some of the questions that we've come across with flow designer is well number one for my own benefit how much of grc can be converted to flow designer this should help inform some of the information around when to use flow designer and should everything be converted so question should everything be done in flow designer and can i do it in under 24 hours okay so that's just an arbitrary target um so far i've done four sessions and they have rounded up to five hours and 20 minutes which if you divide by four is an hour and 20 minutes ago so roughly we're going to stick to 80 minute shows moving forward that should mean that i get around um what is it 18 shows or something to tr within 24 hours and see if we can do it in that time so three shows equals four hours anyway let's see how far we can go um oh one more thing on the conversion steps one thing i've noticed is what i have been doing is kind of bypassing the subflow and i think that that might give us a challenging future because subflows can be called from business rules and ui actions and from flows as well so what i am considering is once you've got the action not just going straight in and creating the flow create the action create the sub flow which is a little bit more work but i think that will make it a little bit more modular and reusable where appropriate and then the flow can call that where necessary the flow is going to have things like triggers and schedules so that makes a lot of sense the subflow still has the inputs the ui action will come in and call the subflow and potentially some of the issues we've seen with business rules are things like um before business rules and the previous object etc we can bypass them by still using a business rule and passing the subflow input what i am also trying to do is stick to a like for like solution okay so i'm not trying to do improvements along the way what else was i going to say i'm not sure so let's uh jump into it and if it comes back to me i will tell you so let's just have a look oh james foot good evening how are we doing mate long time uh see the cyber security stuff you've got set up is looking good uh thanks for the like on the hair here breast cancer awareness mate i am just raising raising awareness links in the description mate hope you're doing all right yeah let's see what we can do so i've got a update set set up for grc profiles and for issues i've converted these methods over already this is from issueutils issue grouping um actually i've got oops i've got a point here you know one of my questions is should everything be done in flow designer came across ajax i don't think we're ever going to put ajax into flow designer um so following the conversion methods if i just pick on that first one find existing open issue so i've got an api uh well public method it's been converted to an action but i need to find out where that's getting called from and then start working it backwards so let's go into flow designer and in fact one of the things i've done i was testing every single action based on time and confidence i'm going to start shooting from the hip a little bit more if the action is pretty simple then i'll probably just test it in the flow and any issues i'll debug it from there that's that's where i'm feeling that should save us a bit of time and also let me just think so i've lost my train of thought trying to do too many things so i have got i need to go into studio in fact i need code search on here so what i'm going to do is if i go to the developer site there's a couple of lovely code searches on here now don't forget as well that tomorrow october 15th should we should be seeing new versions of the grc applications coming down from the servicenow store so keep a lookout for that i'm just going to grab a code search function because i just don't want to keep oops i don't want to keep switching scope if anyone's got a recommendation which one of these is the best one but i think i was using ms code search before let me just take a look search utility this one's got more downloads i think this is the one i was using actually right let me just pull that one down because it's just going to save me going into studio switching scope we haven't got time for all that okay i'm just going to do this in the other window okay in fact okay code search there we go this one yeah so we're going to stick to 80 minute shows if possible last time i was saying it to an hour and always ran over but if you average the last four it comes in just under one hour and 20 minutes so that's what we're going with and that should divide 24 hours quite nicely let's just refresh this so i should have a code search no how'd you access this one have i downloaded have i put the wrong one in appears on all cis forms hold on a second i should have done this when i wasn't live ms code search is the one i was using yeah this one all right also if you if you're not sure about share it used to be share.servicenow.com it's moved to the developer site if you go in here and have a look on the um app extensions and grc you see there's a few in there i've got a few quick wins so take a look at those see if they're any good to you and i'm just going to pull this into my instance apologies maybe i'm using the other one wrong the global the global search wrong ms code search i would really ask servicenow somebody please make code search available natively on the platform it doesn't make sense to have to go into the studios and switch scope to just to be able to search for code here we go we're getting somewhere now i just want my browser back how do i send this we're back okay sorry for that little interlude we're going to be firing on all cylinders now code search if i can type yes so oops that's the youtube link so within issues i converted this public method so i want to see all the places that are calling it and then transfer them into a flow but probably like i said i need to do it actually create a subflow first category switch do not switch scope no it does that automatically for us that's nice so this is issues run as user who initiates the session i haven't created a subfloor for a while but i i do think that that approach will mean it's more scalable in future i'll just put the action in here and that should tell us what we want so issues find existing open issue so we need item and this will be a reference to smgrc item that's mandatory drag that into there and then how do you match does anyone i might have gone down this road before yo raf as well we might get the new bcm tool in the sngrc drop tomorrow yeah fingers crossed mate don't forget to save the diagram oh don't worry mate it's all saved are you talking about this it's stored locally though every time i save it because i'm not connected to onedrive it just gives me another download it's a bit painful um right yeah subflow so if i'm trying to build a subflow i've got my outputs listed at the top select an action so how do i get my action my output back up here doesn't make any sense subfloor outputs do i have to create one and does it appear at the bottom okay so that should be issue you can see some of this stuff's not finished oh by the way i'm running on new york i think i did know that yeah new york i'm running on new york i am going to upgrade it to paris and then upgrade the grc applications when they come in so let me just save that because how do i map my output of my action to my output of my subflow that's the bit i got stuck on before there's an issue there there's no way of mapping it how do i tell it what my value is i don't really know so let's grab uh and if i go to an issue and get the last updated one and get that as the control no because i mean i went to i went to audit issues this is the one i want calling via flow action get this control very slow how's the connection yeah okay just my instance make sure when we're running this flow yeah the one i'm looking at created created manually so i'm just going to open that in explore and do a gr dot set value created manually created manually will be false just updated that yeah so now that's going to get picked up or should get picked up when i pass this control in to test my flow designer my flow run test i just don't know if i'm going to get an output run successfully but did see my action had an output but is that available to a flow if i go and create let's rename this as well make it a bit more friendly find existing open issue i have to publish that as a subflow and then create a new flow go back to our codes oh i closed the code search and didn't look sorry let me know if i'm jumping around too quick here or going too slow find existing open issues okay so don't let me close that window i'm going to create a flow here find existing open issue this is going to be what replaces my business rule okay my flow is the thing that actually has a trigger against it what's this value it's this variable value oh is that coming from my step in my flow okay find existing open issue ah it comes from here update or create issue so find existing open issue is only called as part of the script include and it's this one so this is calling it i'm not going to trace it all through now just want to get to a point where i've got a flow that's what we want business rule indicator fairly factor although current breach counter looks like that's coming from pa go to the file yeah that's for pa indicators update or create issue i said when i started this i was going to start with indicators and issues is a big beast okay so just putting that out there as a caveat issues is pretty intense let me start with generate issue okay because generate issue i believe is going to be the main facing one let's just see that if i go generate issue this is the api that you pass in you create an object which the object properties match the field names of the of the issues table and it handles the creation of that issue correctly unless this code search is for some reason being inconsistent let me just compare it it doesn't mean i've got a switch scope remove update or create so if if this isn't working going this route round we'll go in and just look at what happens when a control so we're fails to code search generate issue okay nothing is calling generate issue so i am getting i'm getting a bit lost here let's just call this one from within servicenow studio mockery i'm making a mockery of myself here at the moment mockery is my little mock-up application i didn't click the uh a bit if i just want to mock something up i'll do it in mockery here we are that business rule one business rule i'm confused now i feel like i'm like i'm losing the plot so what happens a control fails by attestation i'll just do it from indicator let's just go back to indicator and see what happens here because there were this is how we got in there close or update issue when result fails so this business rule from indicators takes us into takes us into the issue management okay so close or update issue yeah so that calls remove or close source indicator issue so let's just move this one over then when to run after that's great if it was a before we'd have a problem so remove or close indicator issue i know i've jumped around a little bit i've got a bit lost i feel like these methods do get called from the assessment utils i'm going to put these over here and we're talking about remove or close so this one remove source or close indicator issue remove source or close indicator issue let's just take a look where else that's getting called from so i don't think there's anything wrong with the code search i've never had a problem with that before issue youtube space excellent i'll close studio and switch my scope back to profiles so flow designer we'll create a sub flow for find existing open issue that's not going to be a waste of time but it just didn't take us under on the route we were looking for so remove source or close indicator issue our input in here if we open our action up remove source or close indicator issue indicate a result so we need an input which is indicator result and let's say reference to indicate a result mandatory i don't think there's any output on here nope no output then our action remove source or close indicator issue drag that in there save can i grab that text here and just make that a bit nicer publish this that's what i say shoot from the hip hom i'm not going to test everything i'm just going to test the end result see if we can move forward quicker so now i need a flow that matches my business rule okay i'm just going to close down some windows profile flow so my trigger is insert update indicator result past is true created or updated table is indicator result past is true okay that's a boolean field on the indicator result it's the indicator result that drives all of the kind of decisions beyond you know what happens if my indicator is good or if my indicator is bad past is true i mean to go and close the issue if passed is false going to create the issue run trigger for each unique change i think actually i talked about this before it doesn't really make sense for that business rule to be create or update because you can't update an indicator result out of the box but i am going to match this like for like it just doesn't make sense so trigger only if not currently running or for each unique change i i don't know the benefits of these three things obviously once means it's never going to run again it's going to run once and never again and that should be enough for this it should be enough i shouldn't ever get a change but i don't know if we need another night we need a guru who knows flow designer and knows whether this is going to be better or worse i'm going to leave it on once because that was the default and it's not going to run in the background the indicator runs in the background anyway doesn't it indicate everyone's asynchronously so running this in the background shouldn't make a difference even though that's an after business rule shouldn't make a difference i don't know if you get triggered asynchronously so indicator result created or updated my action no i'm going to call the subflow profiles remove source or close indicator issue indicator result record comes from my trigger pass that in done save so now i need an issue which has got indicator indicator failure i need an indicator result from the control risk no yeah i need to go up to the controller risk down to the indicator which i don't have um i've got a control objective i've got demo data that's letting me down right now it doesn't need to be anything special yes raf what's up mate ping method basic past i'm just going to say if i've got any incidents number no criteria don't use the reference field submit i probably should have set supporting data to one but performance wise it won't actually make any difference now i'll go back down to my control i've got an indicator i need to get an indicator result and that's probably going to end up closing my issue because of the business rule not because of the flow design the flow's not been activated yet so when i get an indicator result which passed because it's got incidents loads of them my issue okay it hasn't passed have i connected this incorrectly let me change my indicator let's file it method file now if i run it go to flow logic assign subflow output what is this flow logic oh is it within flow design i don't know what that means james flow logic right that's failed so i haven't got to the point where i'm actually able i need i need the record to pass into the flow and i don't have the data available so what i've got here i hope is this issue should now have an activity that says yeah test has an indicator failure i've got indicated results so i need this indicator result to pass in now i need one that part i need one that passes but actually it doesn't check the condition i think so i should be able to test this i hope that's the one that passed notice the other one that one then yes but again it doesn't actually matter does it because i pass it in watch the flow and that moved you see it moved the issue source went to ad hoc it removed indicator as the issue source moved it to close complete automatically closed because the indicator ping passed okay so it's working so i activate that flow boom and then i'm going to deactivate my business rule sorry if that was a bit difficult to follow for anyone because basically i didn't have the demo data to hand because the last time i was doing this i was focusing purely on issues um i'm going to deactivate the business rule okay because i was focusing mostly on issues last time i didn't have the indicator data to hand what i really needed was a control with an issue that was caused by an indicator that was then passing grab the indicator result and then pass that in so this one is working nicely and is converted from a business rule what was that called close or update when when result passes so that's gone in okay let's just see what james is saying in action press the plus button and then select flow logic let's just take a look at this because i was asking about this is for subclosure find existing open issue so this is one actually so in action press the plus button on select flow logic assign subflow outputs wow issue obviously that's what you do isn't it so intuitive that right so my action issue is now mapped to my subflow output so you have to define your inputs and outputs up front at the top and then you do your actions so yeah i mean this is the thing actually when you things aren't that obvious to begin with that could make a lot of sense because you might have outputs that build up as you go through the flow so you might have three different outputs three different actions and they come from from here um i guess it just wasn't immediately obvious and to be honest i didn't look so thanks james i appreciate that find existing open issue when i get around to being able to use this sub flow i'll have an output in there hopefully with an issue so that's brilliant thank you did i miss anything on my last action that i was working on i don't think it had any um remove it doesn't return anything in there lots of these methods don't return anything so now i appreciate that james that's brilliant update we might as well do remove source or close attestation issue next hadn't we nowhere else was calling this method i'm just going to favorite that nowhere else was calling this it's quite nice the way that flow pulls up but actually even when you see it in update sets now it's coming through as things like complex objects so it's nice that the code search here is able to access flow design if it doesn't present its work itself very well it just says value there so i think the way it's recorded is quite novel um in update sets it just comes through as a complex object but these are all within flow designer i've got a business rule that's been moved so i think that's done let's go to the next one attestation issue see where this is getting called from are we doing on time 40 minutes so halfway through and we've done a first business rule normally takes a little while to get started remove source or close attestation issue for some reason i think something's not right here if i go to the assessment instance table just look at the con config on that because when an attestation gets completed yeah policy exception update on questionnaire okay now so when an update item update item and assessment complete this is calling grc assessment utils evaluate assessment result why is that not showing up in the search results evaluate assessment results so let's grab that and get to the base i don't think i've got much description set up on this no so evaluate assessment results evaluate risk evaluate control so it's from evaluate control it's a big boy yeah look at that how many lines are we talking here six four five basically a hundred lines in one single function i need to break that out that should be should be less than that but let's see we check is it scored yeah is it hidden get metric definition create attestation issue close attestation issue trace that through create attestation issue issue utils okay so i mean let's update or create but close attestation issue why did that not show up in my search results then that's my question remove source that's what i'm looking for isn't it remove source or close attestation issue that should show up in my my script include oh did i not did i not check i didn't check because i wasn't looking at script include sorry i was looking for business rules well that throws a bit of a spanner in the works for that one doesn't it because i i've converted these methods but nothing outside of a script include is calling those methods so the thing to do i'm not going to rewrite this script include obviously that's out of scope i need to convert this assessment utils let's put it on the backlog grc assessment utils that's a bit frustrating i thought i was going to get a few more of those that's what's happened these things are buried so if i'd have thought about that probably i should have checked them before i converted them i might have spent a whole session converting methods that never get externally cool but because they're public methods that's the approach i took so let's just say here called via grc assessment utils it's not difficult but i just don't want to go start converting that then i've got all these other ones so update or create attestation issue let's see that's going to be coming from the same thing i think we just saw it in that same script include yeah assessment new tools base i'll just put that in the same box i think not an issue you can go over there yeah i've also got the issue grouping as well issue grouping is really interesting to be honest not dug into the actual code of that so i'm sure i'll learn something on there let's just see how much of this code so maybe next time i'll get a list of the public methods check if they're being called externally and only when i say externally from outside of a script include um yeah and only convert those because that's a lesson there that one's getting called only from assessment utils base as well get issue source nothing else this might be good for documentation i'm trying to figure out the best way to fl um to share this as well obviously i've got an update set um once i've kind of done profiles sngrc i can make that update set available probably on the developer site but i don't know if that's the best thing to do or can develop a site sorry the share site can that link to get hardware get lab um i want to share this diagram as well if possible okay this one is good get issue source but it's coming from a ui action right which makes me think is it being used no it's not being used in the condition but it is being coded it doesn't make sense to break that into a flow either it's definitely pays to do the analysis first i would say that's a lesson um current dot can create this is on this is advanced risk anyway so i wouldn't be converting this one anyways out of scope for the current phase right now i'm in profiles focusing on profiles but it calls it here get issue source it wouldn't make sense to pull that into that you know convert that one line to flow and get a response that wouldn't make sense but when you convert in maybe this ui action that ui action would sit as what i would call here in embedded code so within that embedded code you could then make the calls out to the development action so it you know it might pay off that these are going to be sitting there in the library but right now it doesn't make sense what is this doing so this is a new issue so when creating a new issue from it's a many to many table what it thinks is cis ui action it's on the issue table condition it's not related list right it sets it as risk assessment okay same thing happens in risk as well yes okay so i don't know if you just just to touch next we are talking about issues but if you're in a risk um and you create a manual issue from a risk when you're doing the control it comes through as ad hoc but from here you click new and it populates with risk assessment that's not a default value that's getting pushed in from that new button okay that's a custom button on there and it's actually checking the conditions on the ui action so obviously it's doing the same thing for risk event as well in advanced risk um but get issue source is called two ui actions and then otherwise yeah no it gets called private method gets called lots which is fine called within ui actions on risk and risk event so i'm not going to convert those update or create indicator issue okay i'm hoping that we've got something over here that's to convert close my search close these down i didn't close my sights but i have now excellent we've got a business rule now create issue when result fails ah it runs before this is a problem what does this mean is it really a problem or could it be an after okay because the reason before is a problem i've seen it on um it was on indicators was it on issues yeah look up here update or create control test issue now this method expected to be called from a before and there's no update in here okay so when i was testing the action because a control test has an issue field on it and that method there is actually set in the issue field on the control test it never gets the record doesn't get updated through flow designer because it's not before if we look let's go and take a look at this action update or create indicator issue i don't know if that's going to be the same thing so just because it's a before business rule doesn't necessarily preclude us what was i looking for update or create indicator issue update or create indicator issue i haven't named that very nicely let's give it a friendlier name update or create indicator issue okay so an indicator result comes in save that should publish the new version you can't unpublish an action i found that out that was my finding unless yeah can't see it also if you're creating lots of actions and they're going to be quite similar quite similar one input one line of code like this copy action something i discovered a bit too late so issue utils be nice if i could right click there wouldn't it so i'll go to script includes scripts includes and then paste this in for base probably should have just jumped it from here so his indicator result comes in so my glide record is the indicator result i don't think that's going to be a problem i don't think it's going to be doing an update on the indicator result so any update it's doing issue indicator result i did not think about that so take a look at this issue this indicator result indicator results yeah it's got an issue on there so what you could do is still convert the business rule and get the business rule to call the subflow the only real benefit i can see of doing that is for the debugging and the logs and the executions and all of that stuff and the portability of the actions being available and published in your kind of library that you can access them but maybe we should play that out and just see if it if it works because update or create indicator issue i need a subflow i think that's the only we might as well test that theory out we've got a bit of time and i am not making the progress i was hoping for so i'd like to at least learn something so i'll create a sub flow and see how quick we can do this create a sub flow my input is going to be indicator result does it output anything 240. now you see it doesn't return anything so there's no outputs all i'll do in here subflow update or create update or create indicator issue my indicator comes in here save this you can't copy the snippet until it's published when i publish this i'll copy the code snippet i don't need that i just want to try so when i look at that business rule update or create indicator issue passing current indicate result equals current and i am going to execute synchronously even though i don't need an output should i run it it's interesting because it's before i guess it has to be synchronously currency has no outputs defined get rid of some of these comments tidy the code up so does that work if we do it this way round create issue when result fails so we've got an indicator that we ran that was failing um when to run past changes to false but i closed the issue through testing didn't i i i've got another issue on it's a manual issue that will never be manually automatically updated let's just close this no i'll go and remediate it and bring that control back to compliance oh what is going to happen in the latest grc release issue management's getting some love audit management's getting some love audit issues going to have some sort of triage facility functionality in there i wonder are they going to do anything that means that you can have an issue against the control it doesn't affect its compliance so you can kind of from an audit perspective it's like a scale or severity let's find out okay so resolved when i update the issue it's gone to compliance but when i execute the indicator and i said the benefit the only real benefit here i don't know uh is that because it's a before business rule is i'll get visibility of that execution you know and that in itself is there's no kind of small thing i i don't think so if i look at executions against that flow when i execute this indicator it failed last time nothing's changed i set that up to fail in flow designer do i see i don't know if this automatically updates not automatic it's cued okay complete have i got the result i wanted if i go back to that control ah still compliant why is it still compliant didn't the indicator fail yeah no issues indicator fail flow ran says it completed successfully update will create indicator issue indicator result type string set it up wrong indicate result is not a type string passing current okay let's get that indicator result watch the let's watch past false the business i mean it triggered we saw the flow get triggered but it didn't do the thing um i want the name of it then i had the display value here flow designer i'm going to test my sub flow and i can't tell them apart that didn't pass collection date 30 minutes ago so it's going to be the one in the middle is it need a better way to filter on this two minutes ago there we go run test it's a problem with not having outputs right so my control is now non-compliant and got an issue test has an indicator failure so it worked guess it's because it's a before so because it's a before it doesn't exist yet is there a dependency within the code update or create indicator issue so indicator results coming in let's pull this into um code i haven't got my sync set up on this instance all my defaults i'm pretty sure i say that every time line 240 wasn't it 240 yes so indicator result item get i mean it might be failing here yeah it can't dock walks or something that doesn't exist because before business you're shorts being triggered before the indicator result has actually been created okay so that just puts another underline under the problem of before business rules so this is called create issue when result fails and i'm going to revert that back okay because that didn't work that did not work that's a shame i got really excited there that the concept of before business rules we had some kind of solution but i did not think about the dependency on the record for processing dot walk in etc so before again but that was quite nice i did enjoy the conversion like the cooling of the subflow the fact that i had a sub flow and was able to very easily call it from a business rule that worked unfortunately that was there was a bit more to it so update or create issue find existing open issue let me just do the search again and see where this was coming from so we can document it update or create issue business rule oh yeah it's for pa indicators issue utils let's have a look does this hope it's not before if it's a before no it's an after okay let's bat is out of scope because it's a different it's a different scope i need to keep it within the profiles um okay okay let me just record that indicate a failure factor you know i really do want to get into that stuff but indicate a fairy factor in pa find an existing open issue okay so i converted all these methods and some and some of the uh sub flows even and they're not even getting called directly i think just looking at time we've got 10 minutes the next one we can either go into doing issue grouping it would make sense to do issue grouping was there one other thing on indicators close didn't i put that in here close or update issue when result passes create was issue and result fails let's have a look that's done that can't be done okay so every time i save it creates a new copy uh yeah next do we do issue grouping do we do something one that's going to be a big beast definitely big beast grc utils we've seen here assessment new tools but grc utils is huge so i think when i saw this the other day what didn't say grc when i saw this the other day again i was looking at it and i thought wow that is going to be a lot of heavy lifting to convert that over purely based on the number of public methods but actually what we should be doing then is validating first let's just take a quick scroll on this one right check class in uh processing items generating items i mean that is why is this not following the same pattern generate profiles i mean this is going to be a beast issue hierarchy okay why have we got public methods up with code in them why why not follow the same pattern is there any reason for this because i don't see any reason for it all private from here now there's a public one sitting down here another public one doesn't make sense to me to have that consistency i'm just looking for any more public methods but this is going to be you know a beast definitely definitely but it might look worse than it is i don't have a public one handle create on retire items what we'll do before we convert any of these is check where they're getting called from first i think validate first rather than convert them all and then realize like i have done with issue utils that actually all the calls to these although they're public they're coming from other apis they're not coming from the kind of end points business rules ui actions etc so it doesn't give us the same opportunity um just getting a slight error on the on the stream there rj's giving it a like um but i haven't seen him tune in it's a bit late for rj let's shout out jayesh francia out to raph me on [Music] oh upside down andrew sorry guys waiting for the end of the stream to get the shout out out to lisey lee charles pierre rj everyone giving it some likes on linkedin that's a james and raph the warriors um issue group and let's take a quick look at that and we've got five kind of towards the end five minutes to you know issue grouping ajax um that's never gonna someone tell me different i don't think i'm not even gonna bother looking at ajax but issue grouping oh it's a puppy it's only got 300 lines in it how many methods we've got one two three four four five potentially six why are they hiding down here six anymore on six seven reopen parent issue okay so it's just going to issues create one for here i'm not going to start doing it now but i just want to start planning some of this out so for example issue group rule issue based on rule let's put these together has open tasks close child issues some of these just by looking at them i'm kind of predicting are they likely to be getting called from a before business rule are they you know i've got kind of assumptions in my head but closed child issues really that should be getting called from an after business rule group issues should be after insert and actually i think the issue grouping is done asynchronously obviously it gets called from an ajax script so in that case that's asynchronous anyway but when you [Music] once you've submitted the ajax you then kind of turn up an issue and then sit there wait for it to be grouped user experience there is not brilliant but i know why it's done it's for performance purposes um so look these are the methods three minutes on the stream let's just take a quick look at these in the search it doesn't matter if i go a little bit over but i wanted to keep them to 80 minutes like a safety if i do 80 minutes three sessions is four hours so therefore six sessions is eight hours three times six is eighteen look at that get default set default rule so just just set these two up that's a display one rule issue grouping you know i always forget about using the display business rule uh to set default values actually why why would you use a display business rule to set default values over and above the default value field on the on the dictionary curious there so we've got a display i just think for debugging purposes it's sometimes a bit harder where's this default value coming from and the last always the last place you check like when you lose your keys it's a def it's a display business rule so um you know would there be any value in this going off to the script include via flow designer issue grouping i've already gone this just take a quick look at what it's doing passing risk or policy compliance i never checked that's risk management that's out of scope the other one i bet that's out of scope as well if it's coming from policy and compliance yeah we won't get to them yet excellent okay so we've got a little bit of scope set out for uh for next time and made a bit of progress today even if that progress was a little bit of a backwards step um we've converted one business rule and got some organization and we're documenting it as we go we're learning as we go flow designer before business rules do not work that's my that's my take on it just switch the flow up yeah thanks to everyone who's tuned in tonight massive shout out to raph and james for sticking with us although i think james might have dropped now but thank you guys um i will write up a few more findings don't forget to follow the community article is linked up in the description and don't forget to click the link check out the pink mullet on just giving raise awareness get yourselves checked um yeah you know if you want to donate a pound that's entirely up to you but please spread awareness and stay safe thanks everyone and i'll see you next time you

View original source

https://www.youtube.com/watch?v=uB4Cg_XBh9o