Building an app template with AES
[Music] so [Music] hello and welcome to live coding happy hour on today friday it's april 1st it's april fool's today we are in trouble uh i don't think we have anything weird planned for the show in terms of april fool's but you never know uh but before we get into anything let's do some intros we will start with chuck hi hi yes it's april fools i just had to do something i'm chuck tomasi senior developer advocate at servicenow been here since mid 2010 was a customer for a couple of years before that doing our wonderful implementation and building cool stuff winning an award from time by fred luddy from servicenow and before that it goes way back into the the dark ages of of computers when you had to flip switches and you know maybe not quite that far back but uh pretty darn close punch cards i'll i'll claim knowledge and ownership of punch cards kylan hi i'm kailyn i'm kylem fullenweider i am an inbound principal product manager on the app engine studio team um mostly focused on the template stuff that we're going to go over today which i'm really excited about um i'm coming up on crazy to hear this coming up on my eight years here at servicenow um i've worked on v4 app engine studio i worked on workspace service portal and then the hi sorry support.servicenow.com i actually come from a customer as well i help roll out servicenow at in it so before servicenow is in it for about 10 years when's your anniversary date may 5th i think early may go look on surf and i'm uh jeff i'm a software engineer at servicenow uh i joined at the beginning of 2020 so right before the pandemic hit i'm really grateful i got to come in the office and meet everyone face to face before everything shut down i work on the template framework team which is sort of the magic that makes aes go and i worked a little bit on aes before it released when the team was a lot smaller and i'm just really happy to be on this team it's a lot of fun working on you know not just code for applications but code for code for applications and that nice level of abstraction awesome and my name is brad tilton i'm a senior developer advocate here with the developer program at servicenow i've been an employee for a little over five years but i've been in the ecosystem since 2008. i'm excited to get into today's show but before we do that we have to introduce our special friends chuck so last week i had the firestone walker brewing company 805 and while this may look like they just reversed the colors on the label this one actually says cerveza and i said honey did they like change the label is that it said no this one's more like a shandy kind of thing they added some lime or something it's a it's a lot lighter the other one's darker i don't you can't really see through the bottle but i can see through the bottle and i'm interested in trying that out so different flavor same company we'll see what happens i really like it i really like 805 i'm gonna have to yeah the standard 805 i like a lot yeah i think we gave it like a three seven five or a four oh last week so this would be curious well i watched the last one and earl had a modern time so i was going to do modern times but after talking to brad i settled on a special edition speedway stout um from ale smith here in san diego this is the vanilla and cinnamon one they release a bunch of like special speedway stouts so we'll see how this goes because this is a 12 um so it'll be fun talking after a while she's not driving today [Laughter] you know that's a big can of 12 too that'll hit you hard uh i've got a peer project here it's the valley of abundance pure project is a another local brewery in san diego and this is cool as a smoothie style beer so check this out it's got a great color it's nice and creamy kind of a trendy beer these days but it's a little early here and you can almost trick yourself into thinking it's healthy it's even in a servicenow glass that looks like it's going to go down way too fast stacked up so don't worry nice how about you brad all right i've got a founder's kbs and it is barrel aged of course um so yeah there's a brewery in michigan called kbc kiwi now brewing company so every time you say kbs i'm like no wait uh [Music] all right well uh let's get into it uh chuck why don't you let us know what we're going to be doing today i know it's going to be aes template related uh because we've got all the all the people here first we're opening a beer there we go mission accomplished that's a success take a drink yeah it's nice okay we'll come back to that as we go so yes as the title implies we're going to be building an aes template or attempting to build a template and with these two here i don't see how we can go wrong unless they've done something seriously wrong because the product's out and it can't i don't right so it's fine what are we blaming the testers at this point uh if anything goes wrong it's probably it's probably on us so not only we're going to try to build a template but we're also going to build an app from that template so that's going to be our acid test it's like can we make an app and i'll be honest i haven't given a whole lot of thought to the use case for the template let alone the app from the template so this is going to be a group ideation thing but i don't think we're going to spend a lot of time getting real detailed on well we need three tables i know many to many and blah blah blah so let's uh just jump right into it i think i've got my screen share up there for you oh that's me that was nice and that's the last i'm going to see in that browser tab so good old launcher page here i'm logged into uh an instance cleverly donated by kyle and whether she knows it or not let's hope i didn't do something strange the instance wait yeah this is when the demo data gets real fun they were just talking about z booting the other one like yes please you know when you have you have app names like asdf you know people are getting tired so we're staying about the asp is that there's actually patterns in like how people type that that linguistics um have people have tracked been able to track trends in nonsense basically so before we get into it i think phil has a good question where we may want to like set the stage on what are templates and why do we even have this functionality well it's a good thing we have some product managers here to explain that to us uh yeah sorry i keep talking at the same time as i don't know if there's a delay or something i'm sorry um but yeah templates are really about moving the start line for uh closer to the goal so that you're starting from a spot where you can build out like that scaffolding from an app or best practices so we know a lot of it developers or app developers are asked to roll out the same um application multiple times with varied configurations and our out-of-box templates are fully built out little applications as you can do that with but what we introduced in the newest release is a custom template where our customers can create their own and set up like a best practice or a learning app for new developers or advanced developers can do the same five things they do every time set up the scaffolding or as jeff said bootstrapping which is a word that we traced where it came from right yeah yeah boots grabbing an application so if you've ever used something like yeoman or facebook's create react app everyone knows that it's easier to like modify something that exists and doesn't quite do what you want to do then build something from the ground up and that's really what templates help a developer you know understand and get into the world of app development on servicenow so this could be if you if your organization like knows hey half the like low code apps that we build we always have a table and a flow and a catalog item and instead of re-creating the wheel every time we're just going to start people from that spot yeah then they can customize it i like that yeah in some ways i think about it is automating the application setup tasks so we don't have to and reducing that repetitive those repetitive steps because you do it once and then templatize it and you can just hit a button and it does it every time how many roles have you ever made in your life [Music] has an admin right yeah roles is a great one because it's also a thing that it's like oh there's roles i should probably like add security to my app you know it's rather than forgetting and then at the end being like oh i probably need some sort of rolls huh tables need details yeah yeah we might want to test it too and document it but that's optional that's always been my stance [Laughter] okay i've gone into app engine studio no no surprise on how i got there hopefully the for the people that are watching you know went into all app engine app engine studio and up comes the other lovely tab so there we are and i scroll down says hi chuck i went hi computer uh we have our templates here that several of them came out of the box but we can see kyle has been creating some of her own i like the 404 with cats and uh in each one of those we can see what are the details of this app which is kind of cool what this app contains yeah and hopefully we can get to that and if we want to use it we can go yes let's use that one but let's back up a sec because we can also get to those from templates and up here let's see if my little cursor pointer is going to play with me today it does we've got create new template and i want that right do we get some tabs in here that i haven't explored much available inactive failed and generating okay hopefully you don't see too much in there very often yeah creating a template is the asynchronous process if you have a very large template or large app it can take a little while um so it can be in generating for a minute or two gotcha gotcha yeah and those tabs only appear the tabs and the buttons are a button is new um and they only appear for the app template author role that we've introduced with custom templates um just people who have access to run the templates will still see the list of available to use templates only active ones well let's create a new one then oh hey we have a choice existing or start from scratch okay um let's start from scratch just for the fun of it let's do it i believe i do have an app that i can use as a template from an existing one but we'll save that to the end as like a challenge exercise you're going to say this this is really this is really helpful in the use case of setting up like a best practices app so instead of documenting your setup for an app you can go in or you can go in and create from scratch one that has your best practices and save it to a template i'm coming up with a use case gap but um the closest thing to me is a beer so i'm going to make a food and drink template what do you think i love it what we're doing i have a i have a random question can you create an app from a template and then add stuff to it and then create another app from or create it sorry create a template from an app and then create a template from that app like if you changed it yes you could go infinite loop on this if you wanted you can go as deep as you want you just can't create a template from a template let's grab an image that's a little too much you're not going to see much when i pick this but um this has what how come i can't pick any of my pngs or anything gotta be an svg it has to be an sgvg for the template interesting well since i don't have any of those on my desktop never mind okay description is mandatory i think that's important i like that so let's tell everyone how much we love this um you have to tab out of there so it recognizes that it's there and i assume it gives you some random graphic if you don't specify one yeah some branding like github okay go to template dashboard well this looks like the same flow as we've had for aes building an app all right this is an application template the video if i learn more it takes me to the docs screen okay so anything go ahead i'm just going to ask in this case are you you're basically just building an app here right and then that's essentially what it is that's what's backing the template okay so let's create a table get started normally i wouldn't be scrolling but i want to make sure my font was big enough so nobody told me make your font bigger you didn't want to get checked not to drink right table label um goodness what are we we're making this generic to a food or a drink or a restaurant or something um what do we call our individual items please not item are these the rating or these are the the actual items i was gonna say um phil says ingredient perfect too granular but we'll see ingredient doesn't matter we're not sending this to production anyway there are two hard problems in programming naming things and off by one or three hard problems in programming meaning things and offers sound like the spanish inquisition for monty python our three biggest problems are of the things i was off by one in my joke making up data naming things and off by one four four our four biggest problems okay let's take a look at this table we're doing this from scratch because i just didn't prepare with a spreadsheet or anything per live coding happy hour guidelines no no good demo deserves preparation okay um name i think name would be a good field right string of 40 display value yep okay active i like putting reference qualifiers in there later no not a string who picked string and where's my here true false i was clicking the wrong thing that's the icelandic way apparently of spelling true false it's a true false fail the default display is true that's an easy one to forget um and then a rating sure why not and the rating would be some kind of number right integer what is a floating point integer that sounds contradictory it's a decimal essentially yeah why do i want a decimal you want to do like the chords right yeah okay got to get granular now my memory is coming back there's a difference between decimal and floating point one of them does not work well in flow designer floating point is more of an approximation um which is why you should never use it for a currency because you'll get rounding errors that's a good that sounds like voice of experience there dude uh yeah yeah i've worked on financial software before and it's uh you'd be surprised okay so an interesting field to add here if we're talking about the app templates would be a reference so on tables we sort of have scoped apps we sort of have two different reference things right we can reference a table that's in the scoped app you're in or you can reference a table that's outside the scope that you're in and so reference is interesting because with the templates we handle that reference so it updates in if it references a table that's in the app because when you run the template it'll create a new table that has a new name and this reference needs to point to that new table yeah so reference is interesting if you if it's outside the app it needs to not be updated because it still will point to this user or something right so if i was going to do reference assist user for example here yeah we should do assist user and then we should create like a lookup table or something also that's wow that had to be an interesting challenge to come overcome one of many yeah and these kind of these kind of uh cases across our metadata is um what we work through as we did are you know working on supporting everything that is in a scope. or available in scoped apps today okay so we've got a fairly simple table now here's another thing i wanted to find out and this probably won't be present in the template but under the access why are we defaulting to open access to other applications when i believe when you create a table through the regular studio it's read only for all application scopes so this is something you we can talk to the table team about table building came about yeah that that seems a bit too open we were just having this discussion earlier today as we were coming up with uh like citizen developer training programs like hey do we ever talk about scopes and i went i wonder how this defaults oh that seems odd okay anyway let's you wanted another table brad yeah let's create a lookup table i'm i'm i'm also just really curious on like if you have a flow and like when you said the reference thing i'm like man there's a lot of different places where you can reference tables where they could be in the app or it could be out of the app like flow designer or from a script somewhere um like is there or do we account for all of that or just like some of it or we do account for most of it if um so it flows are supported so if you reference a table inside the flow it should point to the new table if that table is inside your app um and in scripts we replace there's a set of things that we look for like we'll replace the scope name table names role names um uxf urls like paths that experiences are available at um so so script fields you know it's a wild west out in the script there's a lot of things where a user yeah yeah yeah that'll get you in trouble um but most most of the basic use cases should be supported so let's give it a try and see right all right so we need a uh another table what would reference our ingredient table category i feel like or you want to reference the ingredient table beer yeah oh yeah what was that beer beer beer has ingredients yeah but we we would be using this template to rate a beer or rate yeah you could do a like a burrito how about relationship table that kind of links users with ingredients yeah some sort of grouping or instead of having the rating on the ingredient have the rating on this table and then have that have a reference to a user and a reference to an ingredient and a rating number oh you're changing my data modeling okay i like it it would work you made a homemade many to many yeah what's interesting about if you know a category table or or like an enum table um the tables you're making are not uh metadata tables they're data tables right and the data in those tables does not come over with the app template so if you do have a category table and you add a bunch of categories to it and then create a template out of it the rows of those categories won't be in the new app you'll have to add them after running the template okay so we're going to put that there and then we'll put the rater i was going to call it rating but i don't want a rating on a rating table i don't like naming fields and tables the same thing i like it if you can have the app and the table and the field all the same so yeah shut up snc rating rating rating loaner loner loner now check this out when you're typing user now look what comes up to the top or near top so nice like yes that was a sticking point okay let's go back to our ingredient table and remove the rating and rater so this really just has a name and an active field that's lovely that took longer than i should feel later gone okay so we have our simple ingredient table we have a table that references it and then something else so that'll prove our point that phil wants to see why don't we configure the form a little bit on one of those tables at least all right let's do sure i just really like form builder and hey there you go default form that's interesting what yeah that is the default form right yeah but there's no fields on it you didn't mark any of your fields for display on this one did you yeah i did name it huh name i needed your name huh fire up your book reports did we just find a bug but it's not a bug with that template so i know it creates a default view for the you know for an app all right yeah you know let's do a two column layout hold on where's our layout here i just created an app in aes yesterday in it i think it gave me all my fields on my form components section no i don't want a section no i don't want a formatter how do i go to two column uh click on the like where it says ingredient and then on the right all the way on the right this arrow keep going right keep going right oh there look it says two columns that's nice i knew i saw it somewhere just don't drink and code kids let's do the other one since we know there's no no no form there that's cool look you can do two two at a time i am just digging this now we have our raider yeah whatever two column raider must have missed and we can dot walk look at how easy it is to talk walk these days i love the visual on the dot walking the visual is wonderful that is crazy and i am going to also say you know both of these should be made that's an interesting value i wonder where that came from here's some sample data i think it's just showing us what that could look like right yep yep we got ui policies over here and i love that you know we've got acls and business rules and whatnot here and if you go into acls you are not these this is all the ones that apply but i don't think you can edit these because i don't have security admin turned on right now okay back to where we were save we got a couple tables should we do a flow we should do a flow we should i don't know what what you got an idea for a flow we should run it this is the ingredients rating when somebody gives a rating we could just punt and log something hello i was thinking anybody any beer that gets rated over a certain amount notifies all the users that it's a good beer i like that okay we want it to look up to at least two different tables one in the app and one out of the app i want to see the you could look up you could look up the user who rated it and said this person says this beer is great oh yeah you want to do a i would not walk to that but okay well that's what i'm saying yeah dot walk to the continue i love designing and building at the same time that's the agility of this platform people this instance doesn't want to play agility though oh this is good we could calculate an average rating oh yeah that's a good one oh yeah you need some sort would you put that on uh another table well there's a lot of ways you could do it you could do it with a calculated field but we could just do it for with a flower oh right on the ingredient field you could do you could do an aggregate sure okay anyway when a rating is created oh great we had to pick a table that had something in common with other tables we don't and we could just do the condition here [Music] and the value t u where's my value field there it is is greater than or is 4.0 our action will be what did you say you want to send an email to everybody that doesn't sound like a good idea notify the instance do we have a notify yeah just do a look up records on the user table and send a notification to each user [Laughter] we could send it to the other raiders i mean initially it wouldn't be a whole long table carlene's out i'm i'm going back to logging a message because i don't like they're not enterprise friendly okay top rated okay we need to not walk to the i'm sorry that comment from mark scott is really funny we didn't say what we're reading we forgot our wait we forgot our other reference field we're not referencing the ingredient oops dumbass let's go back to our rating table yeah we're just giving ratings on nothing apparently it's just in a good mood five stars we added two fields what oh yeah so chuck gave this thing of value okay ingredient and this is a reference try that again why you know it didn't use to default the string maybe that's my problem i got used to just clicking and getting that list of data types so congratulations on defaulting to string you saved me a bunch of time but now you're confusing my fingers all change is bad how much do you like your job i use forms and lists i don't know i thought you were gonna say i use pencil and paper can i go back to punch cards okay now i believe i need to save and reload this because it's not going to know what my template my my data table structure is from here it's it's just not it's not it's not tell me it's not yeah ingredient's not on here okay so then caching yeah that's all right oh yeah flow has to reload but i'm not going to reload the whole page because that's going to reload all the tabs okay log top rated record yay ingredient it has a display value so theoretically i can just use the reference has been rated okay do that again not the rater i want the value i yep it's the exciting part kids watching someone do the same thing four times save we don't have any demo data because this isn't a real app how could you test should you activate it and then we could actually put a record in it's a template it's not a real app well oh god i mean i'm sure so if you activate and then go to the table and hit preview i bet you get a form or a list view of the table so okay hold on here you you bring up a good point you should be careful you know especially if you're using like a timer trigger flow or something if you do activate that flow it will run it is the template is being backed by a real app so it's not like this isn't a real flow this flow absolutely is very real it's a real flow but i'm assuming if i start putting in data like this some some actual data records you have a real table you have a real flow okay but it's not going to be it's not going to be part of the template it is not but what the way the template works is it serializes that app into a set of updates essentially okay and then that template can apply those updates to you know whatever instance you're running that template on is there a way to include demo data with the template there is there are some workarounds um that we can talk about uh a template underneath the hood is running a flow and the flow is creating some metadata and what you can do is you can edit that flow that that the template references and after it creates everything in the template you can say okay now we want to populate that template with some data inside the template flow and if you're confused uh yeah upon abstraction it's a flow that creates metadata and some of that metadata flows which creates more data and a lot of that is behind the scenes where um i'm looking at having support for demo data and our app templates uh in the future roadmap like an easier way to do it instead of having to go in and modify the backend so does the flow have to be activated to get copied in the text no it doesn't have to be active okay you would have a template with an inactive flow which may be what you want might be what you want yeah especially if you don't want that flow to run right away you know for timed flows or things that could affect instance performance okay we have two tables and a flow are we done yet we have a we have a template and it's we're 20 minutes to the finish line so did the flow work i didn't see the test yes okay and because it ignored the trigger even though my rating was 3.75 it ignored the trigger and said here i'm going to log this anyway it's one action that confused me like wait it's not above four [Laughter] let's do it let's create a template save template is that what my next action is yes yeah in this flow you sort of um staged the changes you created the app and now you're saving it to the template um there we do a pre-scan uh because like we don't support all the metadata and so the screen you have here is that some of the records will be skipped because they don't make sense in the new in every application that is created from this template so it doesn't make sense to have deleted the the records for the deleted items and table subscriptions are created every time you create a table so those will already be created and these are the ones for the one the tables you already had i'm glad you explained that i panicked when i first saw this other things we skip include uh atf the automated test framework and guided setup and i think what there was like a legacy mobile app template table something there was something from sys sg that was ignored as well the old old mobile ui yeah there's there's um there's a knowledge base for this so we are we did actually make an improvement in um the next uh release to have a little link there that takes you to the docs and tells you more about what that screen what's listed in that screen um but skip is just giving you a warning and you can continue now there are some things that are are there blocking things these are just skipped are there things that will block there are things that will block things that we just outright don't support um like right now like decision tables for example uh as of san diego are not supported for templates okay so if you have a decision table in your app there are some things like like with automated test framework we could slice that off of your app and we still are confident you've got a working app but if we don't bring over a decision table your app is you know hosed maybe like we don't want to to let someone create half of an app now colin what was it that we ran into a few days ago with the dictionary override was that a skip element that was denied so that one that one was a block as well okay so dictionary overrides are a block and we got in trouble for that because somewhere in the form builder someone said i want the number field on my extended task table to be read only which seems odd that it's not by default anyway but and that was a blocker which kind of bothered me is that being looked into dictionary overrides yes that was that is uh number one on my on my list for this upcoming release all right good number one i score number one okay now this is in the inactive list so i need to i can't use it can i it's inactive well as uh as the template author right now you can oh i see what's this service dashnow.com are we still living in 2009 that's our app repo friendly store name by the way that's getting it from a system property is that because we didn't publish the template or did we publish well yeah i thought whether we had to activate it or something but yeah you're saying we can use this uh that's a that's in place so that you know as a template author you might want to test your template before when you make it active it's going to show up for everyone on the instance oh good to know good to know so how do we how do we make it active use template oh uh you might have well hit the three dots in the upper right let's see oh that upper right there you go oh blush no it was it was a few down it was on that that drop down is there a difference between publish here and activate on the drop down oh yes publish will only be publish uses the publish flow for aes um to publish the template because app template is a scoped app behind the scenes and so when you publish if you have the permissions to publish you can publish the template to app repo or um if you have permission to publish it to the store as well um if you don't have permissions that will not be there i just have this instance set up that way activate template is here properties gives you the ability to edit uh that screen that you opened the detail screen right okay so i could put an icon on there if i find an svg here's a here's an idea i don't know if this is on the road map or not but in order to build a library of common use cases why not allow people to publish their templates to the store or share you know have this community of templates that is 100 on the map i believe oh good nice okay so i want to activate this once activated users and groups with the aes will be able to view and use your template well good that's what i want to do templates are metadata it themselves so it is right that template is contained within an app if you went to the sysapp table uh you'd be able to see the the app that houses your template wait okay i want to see that so you could publish that share this tab where he says you could publish your template to the store yeah yeah we have both we we opened up uh both uh publish to app repo and publish to the store so you see those two food and drink rating i have two of them one you do this is where this is where it can get kind of hairy uh one of them is the app that houses your template it's the app that lives inside the other is the app that backs your template that's when when we were just doing all that creation you were creating an app and which we call the source app for the template okay and the way you tell the difference i'm going to guess this is the app itself this looks like this yeah yep and this second one when you look at when you look at these you get these are really interesting it's like all variable payloads variables and payloads so the payloads are like i say are the the serialized records um that make up the template this is this is where it gets really hardcore people this is this is deep into the platform that's a good point though because i i can imagine people doing this and then looking at the app table and and being confused so aes does a lot to kind of obfuscate that from users yeah and make it look like hey you're just editing a template well that's interesting it has a dependency on guided setup legacy curious okay anyway back to aes let's use this sucker let's do it okay so under templates i have available to use there's my food and drink rating use template let's call this yeah this one i can use a jpeg on haha [Laughter] was that a victory do i get a drink you absolutely get to drink for that check done okay go to app home and i get my two tables yay which i could relabel or label and here's where you wanted to see the references right because it's not referencing x underscore blah blah blah table it's got to reference my new scope so hang on a sec this thing has no where's my properties this is now called where do you get the table name in here now got my table table property okay this table is called x under snc beer rating what was the other one called the other was uh food and drink oh that's right yeah food and food in d0 let's test the flow and uh and see if it works the same way brad just likes well we got to get some data in here so let's get an ingredient so preview share this tab new record name uh we're gonna use the same one firestone805 while we're doing this audience if you have any questions now is a good time to be thinking about that what just happened did you stop sharing chuck uh it stopped sharing the tab that i had on there before hold on yeah i can only share a tab at a time and i must have closed the tab chrome tab that was an earl move to put our faces up with no warning we'll share this one okay are we back uh there we go okay let's do a preview on the rating table you want to actually test the flow flow you think it's activated yeah i just want to like if we test the flow do the references still work like i assume that everything works i just well we can say what is radar reference radar points to snc beer rating value is whatever wait did we not save our table before we're missing the ingredient oops well this is interesting we have to go back and change our template we have to delete this application and start over we failed we missed our reference field our template is faulty that's sad right close the tab again sorry hello again ah surprise that's uh my fault driving here i want to share app engine studio tab stream yard has given me headaches today carlos asks does the template need a user role i think that's more of a design question around this template i i would think in general you probably want roles you want to put some security on this thing it's a question to have the user security within the template or to be able to use the template to create an app good question take a few seconds for latency to catch up because they're seeing what we say about 20 seconds later i can't test this brad well i guess i could the flow doesn't care who the user is there's just going to be like this crazy data pill let's go make a rating let's do it okay anyway back to where we were share this tab does it apply to scope namespace pre-reference table name enroll yes it does raider chuck value 4.25 i'm going sunny day first and there's your ingredient i think it just it wasn't on the farm view yeah okay all right here we'll we'll reference our had you firestone missed that you could have gone back to that template to that three dot menu and say edit template and gone back and fixed it and re-ran it or saved it and then we ran it again yep so if you ran it again we had a question at the very beginning can you update an existing app that was created from a template or once the app's created from the template it's done so let's say you know i have a i have a template i've created 10 apps out of it i want to change something i probably have to go change those 10 apps right instead of changing the template right there's no there's no like applying just your changes to the apps that could be dangerous absolutely okay and you wanted to see if the flow ran so we should have a log entry right yes i want so we mentioned that you know all of the reference references get updated uh wherever they are for the most part and so i just want to show that the flow still works and runs correctly yeah okay i think we need uh like flow we need to dot walk to the display value field it doesn't pick up whatever whatever reason it doesn't honor display value on reference fields see this should have said chuck tomasi for the user yeah well it's got a value so that's it's got a value which is good and because we didn't put one into the record when it was created because we don't have the field on the form that's where that problem lies i want to show one other thing and that is let me close that how to i want to try and create a template from an existing app because i do have one of those loaded on here from an exercise we're working on for creatorcon so applications is student permission i made this app on another instance brought it over here in an update set and we're going to see what happens okay so apparently there's some deleted application files uh answers is another one what is that cis wizard or wizard under answer something table surveys catalog people will know about that no it's like your catalog variables okay are your catalog questions and answers yeah it's it's like this has a record producer associated with it let's set up this template let's call this uh permission for students now would this be another good practice is to put template on here so when you see it in the sysunder app table it would stand out from the app itself i think so yeah okay any other best practices you want to throw at us while we were wandering around lost um keep your templates tight tightly focused and small um if you try to build an app with like a ton of bells and whistles and all the latest and greatest metadata systems likely something won't be supported um at least as of san diego but we're trying to expand our metadata support every day well it also it's kind of like actions or or you know script includes or whatever if you keep them specialized you have more reusability if you've got this big honking application that does you know hey here's our complete warehouse management system it's not likely a template at that point right is it so is it fair to say that uh the app templates support about the same metadata as app engine studio supports is that yeah we try to keep in lockstep okay um there's a few things like i said i mentioned decision tables i think yeah mobile is another one that i think we don't support but aes does um there's some things in workspace too um we can do like a really basic workspace or a really basic portal but if you get complex and add like ai search or some of the more complex features we're still working on them i have nightmares about ai search yeah yeah ai search is one that is complicated i guess in other best practices though this particular use case is there's an existing application and maybe somebody has come to i.t and said hey i want the same thing rolled out to me but one of the things if you are thinking about rolling using an app template in order to roll out similar functionality to different departments or teams or customers really look at the overlaps what what jeff said about keeping it simple is good but look at the overlaps look at the things that are consistent and use the put those in your app template um and then you only have to focus on the major changes that's so sort of a similar mentality to doing an extended table you think about what's on task state assigned to priority those are common among any task so if you were making a template you'd have that same mentalities what's common to all these things before you start getting into the weeds on what's specific okay i got a question i created this from an existing app how come i don't need to activate it so because you created it from an existing app and it is basically an exact gonna create copies of that app um it's already active you can deactivate it if you want the other one because you're adding stuff we think the author wants we know that you're copying an existing app and the other one offer is building it and there may be like stages that you want to add stuff we'll try to make it easy here also we like to keep you on your toes [Laughter] see who notices we put stuff in there like that it wouldn't be the first time something's gone why is this different for just me okay i think we've got success on this one i'm gonna stop sharing this time intentionally all right well we've got a few minutes uh so before we jump into announcements any questions on app templates while we have our experts here been playing along yes he's doing good he's very knowledgeable good best practice from lisa that's a good idea not to temporize apps with old technology like dozens of workflows or legacy things we will not let you templatize an app with workflows if it starts with wf underscore you have no way [Laughter] good idea okay all right yeah let's see any other questions yeah no no looks good looks good thank you everybody let's go around and rate our beverages now that i can't talk anymore i guess i'm first you're first uh the firestone 805 cerveza good stuff uh i may have another one of these later we're doing some karaoke and tacos and beer so i'll take one of these unless somebody brings me something else i like better i'm going to give this a four and a quarter i hear an instance logging something somewhere yeah i got an app for that now um i'll go next since i think i went next announcing it um by the way i i made about a little over half so um i think i think it's good to four to be honest i love speedway stout i like the um the regular one the vanilla and cinnamon makes it a little bit uh tacky i don't know if that's a weird thing to say about beer makes it a little sweet i totally get that with the stout yeah and uh for the pure project valley of abundance um i'm going with four and a quarter as well uh i really liked it it's it's really juicy it's it's a bit of a polarizing style the smoothie style beer but i love them and i'll drink them until my end of days how much did you drink is it all gone oh this is all gone i've already started on my next one and i had the uh founders kbs uh barrel aged it's real good i'm gonna give it a 4 5. so all right want to remind everybody creator con is open for registration if you want to take a look at that devlink.sn creatorcon i don't think we had a chance to make a little title that goes on the bottom but you can remember that all right yeah type one in now and we have a lab on custom app templates on exactly this for your company so and i'm working on the guidebook now so uh sign up for it um it'll be awesome now you know our time frame when we work on things for great all right it's that's all right it's all happening right now we've got lots of lab guides that are in progress hands-on labs and in we're going to be in four locations in case you haven't heard this may be news to some of you if you're watching this for the first time creatocon is our developer event inside of our knowledge conference and we've got four knowledge conferences around the world may 11th and 12th is going to be new york and the hague at the same time the hague is in the netherlands and then two weeks later las vegas and sydney so brad and earl will be in the hague and vegas i will be at new york and sydney so you're going to see some form of developer advocacy developer program at these as well as many of our wonderful product managers that help keep this ship afloat and we look forward to seeing you there at one of those if you can make it you can make it i know it's short notice now we're running on a really short runway shorter than usual we're well aware of that and all the challenges it poses for us uh we do have rpa content next week as part of our san diego it's over there's rpa huh what's rpa rpa is robotic process automation we got a whole bunch of new toys from our our acquisition of intellibot and we are going to be building something next week on live coding happy hour believe earl has that content uh it allows you to create automation with applications that don't have integrations that was a lot of words let's say excel okay no real good way there's no apis to like this magical excel website i suppose if you use office 365 you can kind of cheat and go that way but let's take like an old.net application that your company's been using for the last 25 years i won't mention my former company uh it has no api somebody's got to sit at a desk and bang on a keyboard and do a swivel seat thing this allows you to automate those kinds of processes or hey we need as400 to do this thing as part of a flow good luck with that today but now we have our pa hub and we'll be talking about that on creator toolbox and live coding happy hour bringing you more information about that with product managers we also have a podcast with prasad villamuri coming out on wednesday the sixth so watch for that i just uploaded that this morning so we're ready to go blog entry lots of good stuff rpa hub and then following that is what's what's the next week brad mobile it's your week you better know i was like it's my week what's the thing it's mobile we're gonna do mobile that week uh so yeah tune in for the new uh mobile app builder and mobile card builder uh changes uh from the uh march store release uh we'll see that uh back to rpa hub i'm really excited earl is running live coding happy hour next friday i'm i'm kind of excited to see what sort of weird thing he does with rpa because i know it's going to be fun i told him he needs to integrate with this software for reasons beyond our understanding stream yard doesn't have any apis for us yet they said it's on the road map we're going to see what happens but until then maybe we can build this but that's that's my idea it's his show he can drive all right well i think that is uh all we've got today uh thank you so much uh for kylin and jeff joining us uh thanks chuck for driving and uh we will see everybody next week uh for rpa week so all right thanks for having us cheers [Music] you
https://www.youtube.com/watch?v=cRBP0AGWRh8