logo

NJP

Inside the Barrel - Deciphering Out of the Box with ServiceNow

Import · Apr 14, 2022 · video

welcome to another episode of inside the barrel where john and i talk about consulting life deep diving into service now and trying to answer all the questions that you guys have today we are joined with two guests that i'll let them introduce themselves and while they're introducing themselves i have one of two questions you could answer first one is if you had to dye your hair to charity what color would it be or if you got one of those star trek replicators what's the first thing you would replicate so bryce if you want to take us away oh man uh hey everybody i'm bryce jelanis i'm a i'm a platform engineer with uh servicenow work i specialize in service portal i've been working in service portal uh for since helsinki so however long that's been six or so years maybe more uh and i guess oh man if i had a replicator you know as lazy as this is uh you know my ps5 is awesome but it's downstairs and i want one upstairs [Laughter] solid first choice so maybe that uh yeah that's it for me awesome um zach fanning i'm a certified master architect working at cask and uh i would i thought you were going to go the exact same direction i was going i'm not familiar with the replicator's rules but i would 100 percent replicate myself like would it wouldn't foreign wouldn't work in the star trek realm yeah you you also clearly haven't watched uh oh man what's what's that the magic multiplicity no no the the oh well i'll think of it in a second because if you've seen multiplicity things get bad as you multiply yourself yeah they get progressively less smart okay can 80 me gets fired i mean i just know when the page it's like the rick and morty episode where they like keep pressing the the button to run mr basics from costco or kirkland edition yeah so cool great all right so today's topic is uh really about out of the box um one of our one of the people at cask recently asked john and i like can you do an episode on what out of the box means and i really love this topic because i have different opinions from like most people that i've worked with on what out of the is and i think like even sales people when they say out of the box like it's different than what delivery does when when they implement so um i'd like to go around and if you could give a sentence of what you think out of the box means in the context of servicenow i would love to like you know start that as the conversation and then shift into some other things so john or or bryce you want to hit us with it first now i'll let y'all go first yeah um i i think you know as a portal guy i think out of the box means i don't have to do any and i hesitate to say code changes because css is code but there's a different differentiator there where i don't have to clone a widget or do like um everything but css changes if all i'm doing is throwing a layer of css on top of it that's out of box to me um and the only reason i know that right now is because i'm on a project where it's all out of box and it's all styles and there's some tricky stuff going on i don't and i don't want to touch code you know cool so what about you zach we'll go zach and then you guys sounds good i'd say out of the boxes on servicenow hands medium that's all right like there are there's a lot of things you can do um that are what we're concerned about is like a customization right we want to avoid things that are hard to maintain we want to avoid things that cost technical debt so it's like there's a lot of things you can do there with like configure on the configuration side but as soon as you start writing as soon as you started getting in a bunch of custom code or custom app development i mean obviously any custom app is not out of box it kind of limits where you can go if you're strictly out of box i'd say the way you guys are talking about out of the box sounds like you hate it or sorry talking about customizing sounds like you hate me ninety percent of my job is customizing stuff so maybe maybe i'm in the wrong room no yeah but when you customize it becomes out of box that's the difference maybe a little bit but uh no but to me out of the box you know i think zach kind of touched on this too a little bit it's you know everything it's not even just portal everything service now to some extent is configurable how it comes uh and i think when you're using those configurations you're staying within out of the box um but you know if the need expands or it needs to be focused differently than what's available there then companies and other people can go and configure or change you know add their own configurations or just clone and edit you know functionality as a whole or create their own custom app you know if they want so that's when you kind of step out of the box but as long as you're working within those configurations and things you know wherever you're at in the servicenow platform then in my opinion that's what out of the box means gotcha yeah my my definition of out of the box is whenever my upgrade goes smoothly it means that like if i get skip logs that i actually have to review i've done something that's not out of the box that's my opinion and you know that kind of leads i know zach you mentioned that you went through the cma you know congrats on that i recently went through the cta one as well and there was a slide on defining configuration versus customization versus personalization and i actually have the the knowledge article or the community post that kind of summarizes it it's not exactly to what the slide was but i couldn't find the slide right away so i thought i would show this on screen and we can kind of talk about it and i also just lost where i was looking at it so um wow it's like i guess i'll just spot like this because i can't really see it all right so talks about customization is a feature or extension uh or modification of servicenow feature that requires custom coding right so that kind of makes sense in my mind what's interesting here is some examples they talk about is acls and business rules but like you don't need to write scripts for those so uh i'm a little confused on whether that one falls in configuration or customization um but this question this person mentioned like does it affect future upgrades that totally resonates with me on something that's customization then it's like they go into configuration where you want to change its behavior to address a business need so like groups assignment rules these are just like super basic things that like you pretty much i've never seen a client just want groups all right like you can start using your instance and we just need to configure groups assignment groups and you're done um and then the last one is around personalization which is where john you touched on with like themes or like css styling i think kinda could potentially go into here but this is probably more focused on what they're talking about like user preferences um so any initial thoughts on you know the three of these when when did the um configuration uh business rules come out you know where you could do no code business rules was that for because that post was written four years ago yeah and and maybe i wonder maybe i'm misinterpreting it but the way i read that when i was talking about business rules is more of like you know there are out-of-the-box records and applications and things that have business rules that already exist and you know a customization would be going into one of those existing business rules and changing you know their functionality or something and adding an event that triggers or something like that more than just like compared to you know what you're talking about john i think which is the you know like the almost filter style editor where you you know yeah yeah yeah and you have predetermined actions and things or update a field and stuff yeah but maybe even adding a new one right right add one that deletes my incident every time it gets created that's a pretty big customization but if you didn't write code is it a configuration right like maybe to address the business need you're supposed to delete that incident like but if you add a new one so this is an interesting thing about out of the box and i think the context is what matters out of the box such a large term but in my opinion if you're slapping another business business rule upon you know some a table that already exists and stuff it's not going to get skipped if there's a core update to that application it comes through it's just going to update everything so in my opinion that's not really breaking out of the box necessarily you're just implementing your own it's a configuration in my opinion on top of it compared to a customization okay so here's here's a question then um because i think something's changed recently with servicenow is it used to be that you wouldn't touch out-of-box scripts right you would create a new one and and work with that but now they are they are suggesting that you modify out of box scripts and and instead of creating new ones i i think there's context you know to that i think it depends on the script you're editing and stuff like you know like the first verbal server service portal guys so we're very familiar with the sp entry script that you uh yeah definitely haven't spent hours of my life trying to untangle the heck uh but but yeah you know so so there's stuff like that where you know you you're just gonna have to go in and edit and things so uh but i think there's you know other stuff i i'm curious like do you have a specific example john yourself i i don't have a specific example i just know it's changed i think someone just asked the other day here at cask about it where they were saying you know it used to be that you weren't supposed to touch any uh you know any script that came with servicenow you're supposed to write a new one um but then they kind of changed that and and some of the newer scripts are open and allow you to change them um and so i was just curious you know on the on you guys thoughts about that as far as how that fits in with uh out of box yeah so i was trying to find that article specifically that um and i'll show it on i can't find it exactly but for anyone that doesn't know if you go to your developer.servicenow.com there is like guides and one of the one of the guides is there are a lot of like technical best practices somewhere in one of these guides that i don't remember which one talks about what you're what you're talking about john on like you know use servicenow's uh solution or like scripts or let's say it's a business rule use it and then modify it and then when an upgrade comes you'll get a skip block for me like i don't want that like i don't want any skip blogs i want two weeks after an upgrade to happen like no skip logs and then keep going and so i would normally deactivate a vr rule if it like um is conflicting like just said it's on active don't change anything clone it create a new one make my changes and the main reason brs are a little bit different but the main reason that i like doing that is i don't know if you've ever done an upgrade where you've modified the sp portal and then servicenow comes with something new on the sp portal and now you're looking at row containers you're looking at like instances and like it's like gibberish and you can't even like compare these two x amounts and i spend hours trying to understand what it did yeah yeah well that's from from my point of view i i deal a lot with script includes right i i like the idea of extending extending that's that way safer because now you've just you know you just kind of shimmed in a way to talk to that out of box one and you can extend the functionality outside of it without affecting it and so the change to modifying out of box script seems a little i don't know backwards to me because yeah like you said now you're going to get skip logs um with portal you're going to end up with weird stuff um but yeah yeah so i tell people if you ever need to make changes to the portal like just just clone it clone the portal record clone the pages that you're gonna work from clone the widgets that you're gonna even work on because you don't want to do skip logs for those portals and when you do get a new upgrade and they did make changes to the portal you had a side-by-side easy to view situation if you if you modified it like you have to go to a pdi and like try to figure it out and it doesn't work exactly the way your instance does like oh yeah i think there's i think there's context there too though you know it's not it's not a one-size-fits-all type thing you know i i personally think if you're working in a portal uh obviously i agree with you you should clean the portal and things and stuff but as far as the widgets go if you know if your need fits an out of the box widget by all means i support like you should do that you won't you shouldn't even clone the widget yet because that way when you do get upgrades and stuff you know that that widget will have the latest code uh and then you don't have to do the whole dance of you know recloning remerging all your logic and things and stuff but but that's a downside too because now when you do an upgrade i've seen where servicenow doesn't provide it in release notes so you do an upgrade you get the latest code and now the client's like where did this extra menu come from on the my ticket list which actually happened and so um yeah definitely yeah i mean i mean that's true that's why that's why i say it's context you know it it really depends you know you if you're 100 sure you know you you are happy with the current state of that widget and you know you want to clone it and keep it there and not you know necessarily have to worry about it it's like updating your computer you know if if you don't care about those latest you know things and whatever your latest os is the trade-off is there might be bugs and stuff i'm the kind of person who i always wait you know i feel like half a year before upgrading my os leading edge but but it depends you know that's that's what i'm saying there's context so you know as a developer sometimes that you know os will have something that i really want and then you know it's nice to be able to say yeah i absolutely want to be on the bleeding edge right away next month you know so if that's your your dev pace and what you're expecting you know then maybe you don't want to clunk but otherwise you know you it's hard to go wrong with cloning there's a lot more stuff that could go wrong if you try to not clone then if you do yeah and i i think that that makes sense like what about what about use act anything in the cma that they kind of talk to to you about like cloning or customizations uh so the i'm kind of on the the side of i i want it in the either well so i like the extension points that's that's yeah that's not one thought two is i've always been like always like oh you know inactivate the records make a copy i never really liked that because it leads to like over time in large instances think about it hundreds of script artifacts inactivated and no longer getting updated it leads to craziness where you're like 10 layers of different like dependencies and you can't figure out like hey why doesn't this work and like the nightmare of untangling that just yeah is not like feasible so it's better to bite the bullet and i like to me it's just kind of like best practice right if there's new functionality then you should be updating your code on the release like it's just you have to commit to that and that requires larger teams and investment by you know uh leadership but right but it's like you have a choice right it's like it's a it's a proactive approach versus a reactive in my mind so yeah yeah i guess i guess the the trouble that i've seen when it comes to upgrading is it's not predictable for how many changes you're gonna have to review so like if you have a schedule that says all right we have a window of when we can do the upgrade to minimize the amount of downtime for our constituents like then like if you don't make modifications to those things your upgrades relatively safe because it's all your stuff that is being modified um but if one in san diego's release versus tokyo is released like servicenow has decided to focus on completely different parts of the platform like you may not even have the expertise around or available to review those skip logs because because you made changes in those spaces um uh i think it's it's uh you're right but it kind of is it what it kind of leads to and i think is what maybe there's a better way of phrasing it like it's kicking the can yeah if you don't have the expertise and you're like huh but i've you know i've inactivated it so i have clean upgrades until you don't right it's like until like later and you're like oh my god nothing's working like none of these features happen like and then you're trying to figure out like you know across how many dozens or hundreds of artifacts in order the case may be and you're like oh god now now where do i get the expertise to figure this out or do i just say okay gotta start reverting to out of box or go instead of doing it as like a as it comes solution you're like okay gotta do it all at once now and guess you know go down the list i think anybody who's used any sort of github library or dependency or anything understands that's just the nature of web dev like at some point a library is going to update and you're going to have to go learn more about that library that you were depending on that you didn't necessarily uh care to know at some point but you know i i'm with zach like you know it's just part of it like stuff changes and like it's better to if you do want to be on the bleeding edge it's better to just deal with the incremental changes when you can instead of kicking the can down the road so i think that was well put zach yeah yeah i was i was on a project where i had built a large portal you know five six years ago and it was before a lot of the new stuff in hr had come out and we had done a lot of custom work there and so guess who gets pinged six years later to say hey we haven't we haven't upgraded any of this yeah because we get errors and we need it we need it straightened out and so yeah is that the really nice portal yeah that's a really nice portal but you know i did it it wasn't as bad as i thought it was going to be you know it was just simply just going through and mapping all the script includes and then updating and cutting and pasting quite a bit but you're right it it works until it doesn't right and so the problem was back then it was out of necessity to get what they wanted what the client wanted to happen versus what was available yeah well six years ago service portal uh when the documentation was on github it wasn't even on the uh yeah yeah so definitely there like i i totally understand yeah yeah that's and that's interesting john like so like in my example like six years ago if you did extending script includes you wouldn't you wouldn't have run into that issue because the original script include um would have been upgraded and if you clone the widget it would have been using your script includes versus the the ones that are out of the box so in theory the portal would have continued to work they would have gotten zero new features in six years well and that's what they didn't get they didn't get any features because they didn't upgrade because they'd run into a couple of errors here and there um and really what it was i'm trying to remember exactly how much i had to change to get it updated and it was it was very minimal actually once i mapped it out and figured out where stuff was it wasn't too bad then i was able to get probably 95 of everything back to out of box and so now they can do upgrades there's there's documented okay if when you upgrade you're going to get this kind of error just do just copy this and paste it back in after you accept it and and you're done right so but yeah it was a big undertaking and quite scary when you first look at it and that actually sounds i mean to me that sounds amazing right like you took something that was a nightmare and made it much more manageable it's like establishing process and like you know uh writing down the tribal knowledge and and now it's like i don't know because it seems it just sounds more manageable like instead of oh my god it's so scary to upgrade it's just like oh no no no we have this little playbook and and maybe there'll be some things we have to figure out but it's just not that big a deal well it was scary because they said they just hadn't done the updates for this particular you know for hr in like six years and so it's like wait you haven't done anything yeah this is when i'd plug like uh atf's and things and stuff like uh so having some sort of like playbook or test suite or something that you can refer to as you're upgrading on an application is super important uh and i've seen a lot of companies and stuff that don't necessarily do that because it's a lot of you know work up front but i think it's totally worth it uh and atf's in the last couple of years zack probably knows more about this than me with atf's uh but the little i've used with them they seem to have improved so much then you know when i started using them a couple years ago john and i did a a podcast on that [Laughter] we were we essentially showed how you can actually do code unit tests through hd exactly um and like the deep like at least in san diego it's nice like you can debug you can pause like you put break points like it is definitely evolved um but i will say there's still a learning curve and like i think it's hard to say to an organization that's like hey go spend a few thousand dollars now extra to you know build tests as much as we want to to build them yeah it's an investment i i don't disagree with that but you know so is having to upgrade something that's not been upgraded in six years as far as atf goes uh like i'm in the like it's very easy i think to sell it on the you know do uh test what matters right like like yeah sure you could you know boil the ocean and all that but if you're like hey if this doesn't work i will lose ten thousand dollars a minute okay you'll probably be able to test around that you know just work your way down from there on like you know where's your high roi um i think that resonates with the business more than hey we need to build tests uh because you know that probably i guess that there's where the cma training comes in is i've learned oh when i was communicating before like hey we need tests and uh maybe getting dismissed because i wasn't communicating in the right language uh being able to say hey let's talk dollars and cents let's talk business value like you know what's an outage look like you know what's the impact all of a sudden it feels like you know you get a lot more you're speaking the right language yeah yeah for sure well everything's about the user experience i think at the end of it so you know as developers and stuff it's easy to get all into the technical of like why from a coding philosophy standpoint this is a good thing but you know ultimately all that stuff really boils down to the user experience so i think people want to hear that you know like you can create atf's around you know like if you have a high profile user or client or something making sure that their experience is smooth and all of that uh you know that that is really easy to prove like that's gonna save you guys money because you know you you know how much that user that client or whatever is bringing to your company or your implementation so yeah we're just going to say something dorian and i cut you up no no no it reminds me of i used to work at uh turbo tax for for intuit and yeah and brad smith the old ceo would uh sometimes actually test the product especially around like go live days and if he found something it would instantly get forwarded to like directors and then people would be like how did he find this i'm not sure that's a platform thing as much as a a business thing but yeah yeah totally but it it brings up the like like you just mentioned like the the high profile person going through something like oh yeah yeah if there's some unique use case and maybe their you know ceos taxes are a little bit more complicated that you know there should be you know some tests around those kind of things if it's high profile so so it sounds like i'm being outvoted here and that's totally fine on uh just modify the file except if it's portal uh i think i i heard a little bit about like it's painful to to just compare xmls and portals i don't think it's a problem to compare xml business rules or even in widgets it's probably relatively easy um i think that the downside is just the visual aspect of a portal but it it sounds like use what servicenow has get the skip log you know and then you know uh spend the investment every six months to review skip logs if if they're there and and i don't necessarily think you're wrong and we're right or somebody else is right i think it really there's a lot of nuance in every single implementation of servicenow and no implementation is the same feel free to chime in anybody else but sometimes you just are never going to want to skip and you want to stay completely out of the box and sometimes you need to write a whole custom app for whatever it is that you're doing yeah well i think there's also you know the admin or the whoever's running the instance for that client or that company you know it's whatever their adversion rate is or whatever the word is you know how adverse are they to having to fix things some some people will be like yeah i don't care let's do whatever we need to do and we'll worry about it later and work on it and other people are like i don't want any problems you know i want zero skip logs i want a nice instance every time we upgrade but you just don't get really you lose out on on what i think is the biggest selling point of service now is what you can do with it outside of outside the box you know so yeah i think people think like it's a off-the-shelf or it's a a product that you buy and like it should be smooth like always and you know because it's a platform of platforms or an application platform as a service like there's there's there is you know a lot of nuance there on it's hard to say this follow this rule every time until you don't um well how many companies follow the rule i mean like you know i again i i worked on another project where they their business rules had more exceptions than you could count you know i mean like it was like oh yeah we do it this way except when we don't and then we don't we also don't do it that way always either and you're like well okay that's that's a lot of exceptions that we have to now build in you know and so yeah yeah best practices if you are going to go out of the box are super important so you know there's lots of stuff it's a powerful platform you know it's your great power it comes great responsibility there are lots of stuff you could do to very quickly easily code yourself into a corner and and to that and you know and to that point i think you know a lot of a lot of times i've seen service now get marketed to people as you know it can do everything you can do anything you want which is true but there's also business considerations to take into account for that like you know depending on what you're trying to do it might take a lot of developers to do it or you know maybe it's a quick configuration there's a lot of nuance so it's like really depends yeah but i think that makes sense any other like comments on out of the box or or you know tips or tricks you've seen or instances you ran into that people should keep an eye out on yeah i mean i i think because i've worked a lot uh this projects i'm on right now we're building like you know that kind of core application that you know should be extended upon and things so i'm like i'm a little bit really familiar with you know trying to build something that's intended to be out of the box and i think there's stuff you know you can look for and do and things with service portal widgets i'm a really big fan of uh actually making the html template uh configurable so instead of having a whole html template uh i have a line in it that just uh embeds an angular template and then you can have those angular templates be configurable by by the client if that makes sense if i make sense john so you know they don't have to actually clone or touch the widget they just edit you know the html and stuff and can use the variables and things already applied so you can you know you so often times you have coming in from a widget all the you know the records you want pulling in or you know client script whatever it's just you want to be able to present it differently you don't really want to be able to have to clone the whole widget to do it that way you know without the box widgets you're kind of stuck with that because they have the html right in the html template but you know if you are looking at trying to build your own kind of out of the box stuff with portal i recommend starting to look that route with the html especially for designs yeah that are low code that don't want to have to deal with everything else you can just deal with the html so you're going to say john well i was just going to mention that that's one sticking point with me is that um it it bothers me i can't have global templates you know they're they're per widget don't get me saying because i i would like that makes total sense to me is that to have a configurable template but if i can't use it around the place you know if i have to keep recreating it every time it drives me nuts it's so true and i should really know the answer for sure but i think the templates work by inheritance so if your template is in like a parent widget angular template you can reference it from a child widget and it won't get mad at you uh i i need to look at that again i remember i accidentally discovered some sort of hack around it so you know maybe you can put them all in the header you probably should not do that i've got three thousand templates see what i mean whoever you're watching about coding yourself in a corner really fast and it's really easy to just be like what could go wrong i'm just going to put all those angles [Laughter] but yeah no awesome no i i really appreciated it anything zach john any last words feeling good one thing to mention is like you know i very much agree with john and like you know leverage you pay a lot of money for this platform you should use it you should get what you need out of it you should find ways to deliver the roi and then the the part where i think is just like how do you figure out where where the value is versus the risk and it doesn't need to be overly complicated right you can we talked about this in cma it's like you could set up a little scale right one two three business value low medium high risk low medium high and you don't even need to talk about the things that are obvious yeah something exactly yeah a little little scale here for yeah this is also a service now deck um i think that's what i was trying to get at earlier you know there's a lot of times business considerations to make you know i think that's what zack's getting at like there's gonna be risk uh and it's something that you should definitely talk about before you know you end up neck deep and out of resources and uh stuck with something that you don't necessarily want or know how to continue you know there's a lot of clients that will be like you know i don't know that we have resources on staff that can take what you've given us and keep it alive you know right going back to that big project six years ago um when i got my hands back on it recently i i still don't think they knew how to use it you know i i built this giant portal i made a very easy to use administration uh system on it but i don't think they ever and we had written documentation all around it i just don't think they ever use it because they're like oh yeah we need all these images changed i'm like well you just go here and add an image and you're done but whatever i'll take care of it and so you know it's just one of those things where the company is going to have to look you know you're right the company's going to have to look to see can we can we support these these non-out-of-the-box stuff now or this even the out-of-box stuff because one admin is going to struggle trying to take care of a large corporation's instance that has any sort of customization in it and and then you build on that team and say okay well what what would it take well here's your your business value right that reminds me for my widgets i try to put as much as i can in the options schema because i didn't want to build an admin page and and then i got to the point where they were like how do i change this image i'm like you just go to the option schema and there and they didn't even know like how to use the service portal config page and it was just like i was like oh like maybe we built something too complex for even them to use the out-of-the-box stuff yeah well so mine was mine was all based on back when you know tables were free and so i had oh yeah so there was like a bajillion tables that did all this admin stuff you know and now i'm like i can't build that anymore it has to i have to like tack onto other tables now but yeah option option schemas are fun i mean you can do a lot there but again if your admin team doesn't know how to deal with that or even know that they exist yeah it makes no difference yep yeah you know bryce and i worked on a project back in the day that i remember thinking as we worked on it i was like they are never gonna be able to maintain this oh yeah yeah i i remember that project i think it had to do with a massive uh we were pretty much rewriting the entirety of the change application yes we built a custom change portal and uh [Music] and by the way it was oh sorry you go for it you say zach well actually you want to talk about i was brought in yeah at one point yeah when i when i first showed up it was it was pretty much just me and another a con third-party contractor uh the third-party contractor had built out uh not throw them under the bus but it was a massive it was a widget with probably about a thousand lines of code in the service grip uh and uh and then or and then in the client script it was also massive but all of it was using uh like event emitters there's probably over like 50 to 60 event emitters and they weren't using any uh angular functionality whatsoever uh and it's always tough because you're with your client you're like okay this is this is fixable but we're probably gonna have to you know completely take this apart put it back together uh and i don't know that's about when zach came in and saved our butts uh and that's about the time i really learned about how powerful uh angular services and things and stuff are that was that was super cool that totally i was like oh man we're gonna have to bust this into a million widgets we're gonna have to you know do a ton of complicated stuff and zach was like or you can just build an angular service it's like what are you talking about i remember i came in and i was like oh because i could i could tell bryce knew i was doing i was like this is crazy though right like what are we doing here like what's happening he's like you know well here's where we are yeah and uh we ended up i think we spent like a weekend converting the entire thing from event base to service based and all of a sudden like we'd go from like getting an issue and it'd take hours to oh you'd fix it in minutes you know yeah separation of concerns and all that it was and and not to mention the page itself ran what that was it was night and day faster it was oh my goodness like so much stuff it was it was a really cool app by the end of it you could do some really really cool stuff but uh so it's funny that you guys i'll go ahead oh i was just going to end it with so definitely to john's point that you should know the power of the tool you're working with uh because you know it can really you know save your butt yeah you know you you talk about emitters i have never been a fan of noisy widgets you know and uh so i always i always kind of tap them on to the root scope to say oh you know here i'll just create a new method property on the root scope to handle what i was trying to broadcast and then just recently i came across something servicenow was suggesting in their best practices that the pub sub service and i was like what is this and so now i start toying around with that i'm like ooh this is kind of nifty um because it it hushes things down and it only you know only specific things are talking to each other and it doesn't it doesn't actually affect anything else yeah so it's funny that you bring that up angular services i mean depending what you're trying to do i like them as well too because you can put them in just the widgets that you want to be able to talk to each other kind of gives them a shared global scope without having to go straight to that root scope yeah yeah but there are there are things i found super powerful in the root scope so one thing i've done on a recent project is in the header widget uh of a portal i'll create in the the server script a method for calling an air modal or something i want to be global and just name it like dot air or something out of the root scope and then from any widget you can just be like rootscope.airfunction and then if you want to change that global functionality anywhere you just you change it in the header or whatever and you can make it configurable and lots of stuff you can do so all right john summarize for us what out of the box means after uh i have so many things floating through my head about that because you know from for my i spent you know obviously i spent a lot of time in portal so the projects i work on when they say out of box to me really just means skinning right i shouldn't have to do anything to the widget other than change the look and feel um and now i've been on pre and i and i wanted to bring this up earlier i think a big point to that is it's okay with cass we have a design team that that we work you know as portal guy i work hand in hand with and if the design person that is on the project knows servicenow well enough we mesh really well on what out of boxes we're just skinning and they know enough to know what can be done and so that project works really well when you when you don't have that that cohesiveness on a project things can get a little squirrely because you know designs can be pie in the sky and you're like yeah that's not gonna be i'd have to clone the widget to make that happen or i'm gonna have to customize the widget and so to me again out of box for portal projects specifically is just skin you know just it's just the look and feel i don't have to change anything on a widget and that's an out of box portal project and that and that could include you know if i do have to do some extending insert and script includes that i think that's okay too but i really shouldn't have to do the problem with that though that would necessitate me doing something to the to the widget and so i that's probably not a good area to go down but i again i think the root of it is just skinning widgets and portals and themes you know css really is the the minim or the what you're going to end up doing what about you zach summary of what out of the box means to you now oh that's a good summary [Laughter] where's the spotlight put it on him what it really boils down to is easily maintainable yeah right like because i think you establish principles on like what is out of box like oh we will not uh write some crazy scripts that delete users for no reason like there's a principle like we don't we don't do certain things and we do do certain things because we know they won't be an impact and then i think on the negotiation and the stuff that you have to have conversations about maybe that's what you call all right i'm getting away from out of the box so the stuff you can do without any concern i'd say that keeps you in the box and as soon as you have to start having conversations about it as to like oh is the business value justified you're moving out of the box that's a really good summary too bryce what you got for us yeah i mean i i agree with what both john and zach have said for sure i think uh as a philosophy out of the box you know means adding functionality more than changing functionality so you know using those extensions using those uh configurations and stuff as much as you possibly can is what that means uh it also means really knowing you know whatever application you're using or trying to do so that you are having best practices when you do end up extending stuff uh is super important so a lot of times out of the box is like supposed to be sent as you know it's easy mode you know it's just out of the box it's kind of what you think when you hear it but there's actually a lot you have to know you know to stay within the box it's not as easy as just not doing anything wrong you got to also know how to do things right yeah i think servicenow uses the term baseline sometimes but like you got to know what's in the box in order to determine what's out of the box no i mean that's true that's that's a very good way of putting it yeah yeah cool all right well uh i hope everyone enjoyed this um and if you liked any of this content like or subscribe uh feel free to find bryce or zach on linkedin or you know track him down somehow yeah definitely i love meeting new people and talking to new people and honestly it was awesome being here so i'd love if you guys are doing something again especially anything portal related uh think of me awesome listen so dorian it sounds like he wants to be on again yeah zach doesn't zack's like no no i'm good we'll call it [Applause]

View original source

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