Video: Domo Drop Community Webinar | Duration: 3608s | Summary: Domo Drop Community Webinar | Chapters: Welcome and Introduction (5.12s), Surveys and Opportunities (199.64s), Domo Drop Overview (327.915s), JSON Expander Feature (416.545s), Disabling Tiles Feature (1055.765s), PDP Column Masking (1472.0199s), App Studio Enhancements (2543.625s), ABAC Implementation Considerations (3314.445s), Upcoming Demo Preview (3376.36s), PDP Policy Enhancements (3426.91s), Webinar Wrap-Up (3536.175s)
Transcript for "Domo Drop Community Webinar":
We are live. Welcome. Welcome, everybody. Thank you so much for joining us for this amazing Domo Drop community webinar. We are absolutely thrilled and excited to have you all here. We've got some comments in the chat. Where are you tuning in from? We wanna know. We've got, Zachary from Philadelphia. Coleman, my man, from American Fork, Utah. Right across the street from the Domo HQ. We see you every morning. Henry Schein Lund. Welcome, welcome. Theodore from Chicago. Jim from Tuscan. Oh, William from Mexico. Thank you for joining us. My cats are unbothered by this video. Well, I'm glad. I'm glad. John Lee, thanks for making it my friend. Man, we've got lots of people. North Carolina, Sam. Oh, Brazil. We've got folks from Brazil. I mean, I love it. I love it, folks. When we when we've got people from all over the world joining us, it just it makes the Domo community feel so close even though we're so far away. I love it. I love it. Alright. Well, let's get into it, folks. So before we started, I just wanted to acknowledge that I may seem to be an unfamiliar face. And we we we did have a restructuring at Domo, if you weren't aware already. Eddie and Anna from our community team, are no longer at Domo. And we we just have to acknowledge that those shoes are so big, too big to fill, and we're gonna miss them dearly. But that being said, we at Domo still love the community. We still want to make the community a huge priority because you make us a priority. So we're gonna make you a priority. And we wanted to continue doing these webinars. So we thank you to Eddie and Anna for the amazing work that they've done for the community. They will be dearly missed, and we're gonna keep moving forward. We we love you guys, and and we hope to keep making these things happen because it it it's just so much fun. And a few, items of business here. We have a few asks that we would love for you guys to complete. Let's say, you have an amazing story that you would love to share at Domopalooza. Well, we've got call for presenters. We invite you to scan the QR code, sign up, apply for a speaking role, and while you're applying for the speaking role, if you think that you've got it what it takes, you can also apply for the hall of fame. So we would love to highlight your story at Domopalooza. Feel free to apply. We we we we wanna bring as many people together as we can. This is gonna be the biggest Domopalooza yet. So you're not gonna wanna miss out on the opportunity. Plus, if you get a speaking role, you get a free pass to Domopalooza. How about that? Next, the G2 survey. We would love to hear your voice on, what you think of the what you think of Domo. So if you have the time, we'd love for you to take the G2 survey. You will get a $25 gift card for doing that. Not too bad. But even better, if you're really feeling and big ambitious, you can take the Dresner survey for $75. How about that? Take both. Get a $100. Who knows? Yeah. That that could make for a pretty good date night. So take the Dresner survey. One thing with the Dresner survey, when you take it, you need to send me a screenshot of your completion status. Alright? So send my email's up there, grant.stowell@domo.com. Send me a screenshot of the completed page after you're done with the Dresner survey, and we will send you a $75 gift card. So, without further ado, let's get into this. Alright? The the moment you've all been waiting for. So we're gonna start off with a little product release overview from our good friend, Jordan Jensen. They're gonna go into the details of some magic ETL beta updates with Andrea Henderson, our good friend. And then going into some PDP column masking with Dan Brinton and App Studio updates with Chris Wright. After that, you're gonna have the opportunity to to ask some questions, and we'll go over those in, our q and a section. But, feel free to drop as many questions as you want in the chat. We will be answering them throughout the webinar. So please, please, please ask any questions you have. We would love to answer. So without further ado, let's invite Jordan Jensen on stage. How are we doing, Jordan? Doing very well. Thank you. Hello everyone. Good afternoon. Good evening. Good morning. My name is Jordan Jensen. I'm with your friendly Domo product team. Excited to be here with, with you for another Domo drop. First things first, we have a lot of different enhancements, in September to make so make sure, we'll put the links in the chat, but go check out the release notes, and some of the the DomoDrop videos. And so I'm excited to be the hype man. So first, today, you're gonna hear from, as Grant mentioned, Andrea Henderson. She's gonna talk you through, what she calls the continued love letter between, Domo, her engineering team, and all of the Magic ETL users. And knowing Andrea, you're probably gonna get to see some sneaks of what's coming next. Then, Dan Brinton is gonna talk you through some highly anticipated, enhancements around column PDP, which is the latest, improvement to our personalized data permissions, so you can efficiently deliver a secure data experience to a broad set of users. And then last but not least, as Grant mentioned, Chris is gonna talk us through, some recent updates to the App Studio editor, and all intended to improve how you design, create, your content in App Studio. And then we'll, finish with a with a round table. So without further ado, I'll hand it over to, Andrea Henderson. Take it away, Andrea. Thank you, Jordan. So excited to be here today and chat through some of the things that we've got in beta, right now for Magic ETL. So this time around, I was thinking really about how to unlock, data for you, kind of streamline your process of creating data flows and give you more control. And with that, we're going to go through demos for the JSON expander tile, the fixed input tile, and the disabled tiles. Alright. So JSON expander tile, just like it sounds, it gives you the ability to expand JSON data from a column in your dataset into a tabular format of the data that will be more useful to you when you're trying to analyze it through magic. This is done with an easy and intuitive GUI that gives you immediate visual confirmation of the parsing that you're setting up so that you know what you're going to get before you even run a preview on your data. And I'm going to show it to you live. Alright. So here on this Canvas, I have a dataset that contains a column that has some clickstream data in it, which is in a JSON format. If I go here on the left side and I search for a JSON expander and drag that thing out, hook it up, the first thing I'm gonna dismiss this because I want lots of room to work here. The first thing you're gonna see is that it tells me to select a source column. So I'm going to go over here, select what source has my JSON data. When I do that, it will automatically populate the JSON into a beautified format. If you do not have a reference column or if you need to change what's in your reference column, you can do that here in this editor, and you have this ability to beautify the JSON. You can flip it from dark mode to light mode also. So here, as soon as that populated, the right hand side did a first level auto expand for me. So it already went through and took these, and turned them into columns. So I have a column for events. I have a column for, session and for customer ID. And I can see here in this table, that this is dynamically updated. You can toggle on or off any of these three windows at any time if there are ones that you don't want on your screen, and you can resize any of them. So, say, so here under events, I can see that I probably have more that I want to unpack here. So I'm going to just have it do a deep auto expand for me, and then this takes the items in the array and put pulls out the elements into the rows. And I'm getting real time feedback here in my table as to what that will look like, when it is output from this tile. If you want more control, you can absolutely do that. You so if you want more control, let's go get the JSON tile again, do do something different. So, you know, I'm coming in here. I'm getting my click stream data, etcetera, etcetera. And I can go here and do this myself. I can choose to expand the new array into columns. I can add elements, etcetera. And I can do this very manually and get real time feedback for what I'm pulling out of these columns. So I think this will be super useful for those of you who have that JSON type data, embedded in your datasets. Alright. Okay. So I'm seeing some questions here. Let's go back. Okay. So what is the use case of using a JSON with Domo? So some customers may have data that comes through, that is in a JSON format, like, from Clickstream or, just you know, there's a lot of different types of data that could be, in JSON in a column. Previously, the only way to do anything with that data was to do some really gnarly, like, string functions and case statements to try to get out of it what you wanted. Another question came up, clean it up with Python. Yeah. That's an option too. You could definitely do that. Not everyone has the Python skills to do that. So the JSON expander tile should be able to help those who have JSON that they need to use but maybe, need a little bit more help. And then a question, what if the JSON is not in a column but is an API response? So we we are working on the ability to have, an API response come into Magic, and this JSON expander tile is intended to help you be able to parse that, in the future. Alright. So let's move on to the fixed input tile. Alright. So this tile gives you the ability to add data directly to the MagicDTL Canvas. Think of it like a Domo web form, but in Magic and, you know, maybe a bit better a few things that are that are better about it. It gives you the option to copy and paste in data, type data yourself, load small files, or, you know, generate even using AI. So the data is stored as part of the data flow definition, so it doesn't create a separate dataset. It's intended for very small, like, lookup files, sample files, and there are limits around what you can load and submit into this type of tile. So I'm gonna share my screen again. Alright. So if you so I'm gonna get rid of that. The fixed input tile will be here on the left side in the dataset section. If you pull it onto the Canvas, you'll see that you get a table here that you can use to copy and paste data into or type data into, etcetera. You also have this upload option down here. But I'm gonna show this to you in a different area. So this is what it looks like if none of the AI features are turned on in it. I'm gonna show it to you in a different area that has some of the AI features turned on. So here, I've input a bunch of manual data, and, I can add new columns to it. Let's say I wanna, like, add in my rating, etcetera. And this will exist and live on your data flow definition, and you'll be able to join it in with downstream stuff and just include it as part of your data flow. This can be especially helpful if you need to create sample data because you need to be able to mock up a data flow before you have access to all the data that you need. Or if you have a lookup table that you previously were handling by creating a really egregious case statement, like, I'm gonna be honest. We've all done it. Right? But you can use this instead to create that lookup table then do the join rather than create the ridiculous case statement. There's also the ability to load a file. You're limited, in size on that, but I'm gonna load a sample here. It's 10,000 rows or a thousand columns is the limit. So I'm loading here a file. It's 9,999 because I like to live on the edge. Yeah, and that loads it right in. This is not intended to be something that you schedule to load regularly or anything like that. It's meant to be just a onetime load of data that you want to be included as part of the data flow definition. So those things are pretty cool, the ability to type in, copy, paste, load a file. You also have the ability to use AI to generate columns or a whole dataset. So in this case, let's say I know that I'm going to need to get IP addresses in here, but I don't have them yet. I wanna be able to, have realistic formats, though. So I'm gonna ask for the AI to return for me some formatted IP addresses, and it did a pretty good job. I have some realistic formatted IP addresses of different types, that I can then use in my sample data. Even cooler, though, is the ability to generate an entire dataset using AI. So I'm not gonna do it live because it takes couple minutes. Right? But, here you just describe the type of dataset that you want, and it will generate the data. The prompt that I used to generate this one was that I wanted a typical call center dataset that was 10 columns, and it included the caller ID and the resolution status of the ticket. And it did a good job and pulled in a bunch of data for me without me ever having to leave the Domo platform in order to do this. So let's go back to the slides. Let's see if we have questions. Okay. The question there's a question. Is fixed input in open beta, are there size limits on file uploads? So, yes, the fixed input is in open beta. Now you can request it if you're a member of the beta program. And there are size limits on the files. It's 10,000 rows or a thousand columns. So you will need to be careful about that. And I don't think I see any other questions. Okay. Excellent. Now let's talk about disabling tiles. So this has been a request from our user community for a long time. It's something I've dearly wanted for a long time myself. The ability to disable or comment out tiles in the MagicDTL data flow. These tiles are not evaluated during the data flow execution, so it's great when you have testing logic or if you have, like, ad hoc requests that you want to build out and then run once and then, you know, comment out so that you don't have to run it again. And then, it can also be really good if you have, content in your data flows that your that, like, your colleague created during the ice age and you don't think you need it anymore, but you'd feel safer if you're able to keep it around. That can be, the kind of things that make sense for using disabled tiles for. So let me show you how it works. Alright. Let's go back here. So say I want to highlight and disable these actions. I can just highlight them, right click, and disable them, and you'll see that anything that's downstream from them is also disabled because the downstream tiles are reliant on them. So if you wanted to reenable the downstream tiles, you know, you'd need to hook up something valid to the data flow so that you could continue to use those tiles. And then when you want to reenable them, you just copy again, enable them. It'll put them back wired up how they were. You can disable a output data set with this, and that output data set will not run or cost you credits if it's disabled when the data flow runs. So that's really useful if you have a data set that you run, like, once a week or something like that, but you want to run the data flow more frequently. You can disable the the dataset so that it does not run every time you run the data flow. You can also disable these at the tile levels. There's this little toggle here that tells you whether something is enabled or disabled, and you can control it from there. And this also comes with a feature that helps you with this, but also might help you with other things. If you right click on a tile, you'll see that there's the select upstream and select downstream. So if you choose select upstream, it selects everything that's upstream from a given tile, making it easy to disable everything in a in a given stream. Or, likewise, you can do the same thing with select downstream. So stop sharing. Alright. So, let's see if there is any questions. People that are excited. Like, I am excited. Someone's already using it. Awesome. Okay. John Lee is saying, if the tiles are disabled in a previous version and I revert back to that version days later, will the revert contain the disabled tiles again, or do I need to redisble them? It should contain them at that disabled state. That state of them should be served or should be saved on that version. So, let me know if that's not the case, but I think it is the case. Is it recommended not to disable an output if it's already been created? We encountered an issue that as one output was disabled, we duplicated a workflow, and that output seemingly got attached to both workflows. That's an interesting question. That sounds like, something I need to look into more. So, shoot me an email and or post in the beta form, and I would like to look into that for you. My email is andrea.henderson@domo.com. Alright. Okay. Before I hop into sneaks here, I need to, summon, let's see. I need to summon definitely not Andrea so I can hop into sneaks. Okay. We're good to go. Good to go. Alright. So few things upcoming. Add tile from Canvas. So you may have seen it as I've been demoing things because it's turned on in some of our internal instances, but this gives you the ability to add a tile directly from the Canvas. So there'll be, some way to, you know, never have to drag and drop again. Like, instead of dragging out from the left hand side, you can just hit the plus sign. It will populate a menu for you, and you can choose the tile that you want there and and continue on building your data flow. So that is coming. That will be in beta next month. Recover and save changes. This is going to GA next month. If you are building a data flow and you rage quit your browser, but then you think better of it or your cat steps on your keyboard and closes your browser window without you saving, the next time you visit that data flow, it will give you this banner at the top that allows you to choose to recover changes that were not saved before you close that data flow. So no more losing hours of work just because you rage quit or your cat stubbed on your keyboard. And final sneak for today, this is going into beta next month, the ability to use split join and split filter tiles. So the split join tile gives you the ability to not only see what joined in a tile, but also to add other output streams to it that let you see what didn't join from the left table and what didn't join from the right table and various permutations and supersets of those, those joins. Likewise, split filter allows you to do multistream analysis by writing multiple filter rules and being able to have streams of those filters out from a single tile. So no more creating a bunch of different filter tiles in order to do that multistream analysis. Alright. That's it for me. And I will leave you to Grant. Man, that that was the strangest that's the weirdest thing happened. Andrea just disappeared out of nowhere. She she was gone. Oh my gosh. I loved that, by the way. I think we're gonna need to do that every time she joins us on these these things. That was incredible. And and and no pressure, Dan, to follow-up after that, but, we're we're just as excited for what you have to tell us about PDP column masking. So take it away, my friend. Yeah. Thank you. Andrea is, in fact, a tough act to follow. We we joke that we're, like, work siblings. And, I'd be lying if I told you there wasn't a little bit of, sibling rivalry to go along with that. Anyway, we'll do we'll do our best. We'll do our best. Oh, I love it. I love it. Hey. So I'm here to talk to you about PDP column masking. This is a feature that's been in the works for, candidly, I mean, a long time. And anyway, I know that some of you have been using it in data for for quite a long time, and so we're really happy that we were finally able to get it over the over the over the line and get it out in GA, just let's see. Last week or the week before last. And so today, I'm gonna walk you through the functionality, but I wanna start off by kind of framing the use case. So, let's say, you've got a a data set that, you've been using or maybe your team has been using for a while and it's really valuable, and and you are getting what you need out of it, but you realize, oh, it'd be really good if I could share this dataset with this other team because they have some business need for it. But you haven't been able to share it because maybe it contains some PII or other sensitive data that you weren't authorized to share with, with others outside your team. Right? So, that prevented you from from sharing the dataset with those other users in the past. Now, the the workaround that many of you probably have used was, you really wanna share that data set with that other team, but it's got those sensitive columns. And so the again, the work around is to just basically create a nearly identical duplicate of the data set, and just remove the sensitive columns. Right? Problem with that is now you've got two datasets or if there are, you know, various stakeholder groups that should see, you know, some various subsets of these sensitive columns, maybe it's many nearly duplicate datasets with many nearly duplicate cards based on those datasets and it becomes just really just a management nightmare, error prone and it's not efficient and all this kind of thing. Right? So column PDP is designed to address exactly this use case. With with PDP column masking, you can apply a masking policy to a column and, assign that assign rules in that policy to various users and groups within your organization. So you can control as the data owner, how much of the data in a column your stakeholders and other and other teams see. Okay. So, again, that's the use case. And let's let's just dump jump into a demo. We change the screen share here. See. Okay. With any luck, you are seeing a Domo dataset now. Okay. So I've got this this table of sales transactions and it's got kind of the sales transactions type data you'd expect to see. Right? SKUs and purchase amounts and all that stuff. But it's also got a customer name and a customer email. And maybe I, as the data owner, data steward, want to to protect that sensitive information. I don't want everyone in my organization to see those customer email addresses, but it would be great if others in my organization had access to the sales transactions data. Again, historically, I would have created a duplicate of this dataset and maybe removed customer name and customer email. But now with column PDP PDP column policies, we can we can control those columns by policy. So let me show you how to do that. So let's go to the PDP tab on the dataset overview and we'll go to column policies. And the first thing we'll do is create a new policy and I'll call this, redact PII and I will select text as the data type. Wanna talk with you about the anatomy of a policy here. So you can see, these are rules. Okay? So these two rules have been created automatically, and we can add more rules, and I'll show you how to do that here in a minute. These rules indicate, what level of access or how much access or the type of access that specific users or groups have. Okay. So this first rule is the default unmasked rule, and this is simply telling us that, admins and dataset owners have an always have unmasked access to the data. You can see I I can't configure this rule. Okay? The second here, this is the default rule, and this rule applies to everyone with dataset access. And this one is configurable, and so I can specify, for anyone that has access to this data, how much access do I want to give them to the data in a particular column. So there are several masking methods that are available to us. We can create a hash. We can show just the first or the last n characters. We can redact the values entirely. We can leave it unmasked or we can nullify it. So, typically, in fact, almost always, it's probably a use case where this maybe wouldn't be true, almost always. This default rule because it applies to everyone, we're gonna want this to be the most restrictive policy. Okay? Or the most restrictive masking method rather. So I'll choose redact and you'll see I have some options for how I want to redact it, like, what character do I want to to put it in the data's place. So we'll just do, you know, five stars maybe. And we can save that. And let's say okay. So I've now created my policy. Next thing I need to do is I need to map the policy to one or multiple columns. So I'll click add column here and I'll choose customer name and add that redact PII policy that we just created. Save that. Then I'll add another column for customer email and do the same. And last thing I need to do is enable PDP. So, a couple things that I wanna point out here. One is that currently card and dataset alerts can't be used when, when PDP call masking is enabled on a dataset. This is something that we're gonna be working to address here, in in the near to medium term in its current state. We we can talk about more about this in the q and a, if you got questions. Happy to go into it more. For now, let's just say, alerts and column PDP are not compatible. The other thing I wanna point out is that values saved, like, in content definitions or metadata are not controlled by masking and we can go into that, in a bit more detail as well. Point is that the masking applies to the data as it exists in the rows and columns of this dataset. Okay? So I've now enabled column PDP on the dataset. And now let me just show you, what is the what is the end user experience. Right? So I'm gonna switch over to a different, browser. This card is based on that data set we were just looking at and I'm logged in as a separate user. I'm logged in as a non admin, non owner type of person. And so this user should fall into that default rule, and we said the default rule was to completely redact the columns. So when I refresh this page, we will see that these two columns are now redacted for this user. Okay? And this is the view that that anyone with access to the dataset would have, unless they happen to be an owner of the dataset or, like, an admin type user. So great. That's that's great. But what if I decide well, yeah. I wanna protect those columns, but there are some people within the organization that need some level of access. Right? So let me show you how we can do that using these these rules within a policy. So I'll go back, we'll edit edit the policy, we'll create a new rule, and let's give this rule. Let's say that, let's say that the sales ops team, needs a little bit of access to that sensitive data, maybe so that they can troubleshoot or answer questions from the from the sales field or something like that. So, I'm going to assign this new rule I'm creating to the sales ops group, And let's say that we want to be able to show, sales ops the first three characters and then, we'll redact the rest. Okay? Go ahead and save that change. Now, the test user, we'll move over to here in just a minute. That test user is a member of that sales ops group. So when I refresh this page, now we can see, this user can see the first three characters and then the rest are redacted. Okay? Let's say now, maybe one member of the sales ops group comes to us and says, hey, yeah, that's working for the rest of the team, but I, as the whatever, the senior manager of sales ops, have a have a business justified, need to have, completely unmasked access to the data. We can do that here as well. So we'll create another new rule and I'll assign this rule to my test user, Felix, and we'll give Felix unmasked access to the data and save that. And now, when we refresh this view, now we see that Felix has unmasked access to the data. So you can see that with these, combinations of rules, we can really meet the needs of lots of different types of stakeholders, and the the amount of access that they need to the data in a particular column. So I wanna take just another minute here and talk about how these rules work within a policy. So there is not there is not an obvious concept of of sort of most restrictive versus least restrictive masking method. I I would say that generally, you know, redact, that seems like the most restrictive. But hash, that's pretty restrictive also. So the point is there's not a really obvious order of greater to lesser masking. Right? So rather than rather than relying on or trying to force some hierarchy that doesn't naturally exist, the approach we've taken is to, to assign precedence to the rules within a policy. Okay? So these rules are are already these rules exist in their precedence order. Okay? And so if, for any given user, that user receives the top most or the highest priority, highest precedent rule that they are assigned to. So I was telling you, we've got our our user, Felix. Felix is a member of this sales ops group. Felix is also a member of the, like, everyone with dataset access pseudo group. Right? The reason that that Felix has an unmasked experience when he views this dataset is because this is the highest precedent rule highest precedence rule, that Felix is assigned to. Right? He's assigned to these other two, but they are lower precedence. K. So that's that's something that's important to understand as you're thinking about how do I build these policies, to ensure that I'm giving the right amount of access to the right users and groups. Last thing I wanna show you so we've been looking at this table card, which is, you know, not particularly interesting. I guess it it, conveys how this works. Right? But and actually to demonstrate this next thing, let's say, sorry, Felix. You lose this, unmasked access for whatever reason. We can come back here to this table card and refresh. And so the question you might be asking was, can can I use masked data like in other chart types? And you certainly can. So here, I've got another I've got a bar chart based on that same dataset. When I refresh this, Now, Felix sees, the instead of the full name, he sees the partially redacted values. Yeah. I'm trying to think if there's anything else I wanted to cover. Maybe let me check-in and see how we're doing on questions. Let's see. If a user with access to unmasked data creates a view or data flow, does okay. Yeah. Yep. Yep. Yep. So, I can answer that one and I'll type up my answer here in a minute. So as with row PDP, if you, use a a dataset that has PDP column masking as an input to a data flow, in order for that data flow to run, the owner of the data flow needs to have unmasked access to all the columns in the dataset. Meaning, they either need to be part of they either need to have a rule that gives them unmasked access and or they need to be, an owner or an admin type user and or there need to be no, no policies that are actually controlling a column. Right? So point is, in order to use it in a in the input to a data flow, the data flow owner has to have unmasked access to all the columns in the data set. That's something that that Andrea and the data flow teams are are gonna be working on, in the future. Don't have a timeline that we can share at this point, but that is something that we would like to improve upon. The next question was about views. So, column PDP and views work, functionally equivalently to how, row PDP and views work. And that is to say that policies that are created on the dataset that's the the input to a dataset view, the output columns inherit, if you will, inherit the masking policies that are defined on the dataset that is input to the view. And you can also create additional column PDP policies on the view itself. Hopefully, answered that question. Call masking a problem where we merge datasets on PII info matching like email. Jordan, I'm not sure. Let's see. Call masking a problem where we merge datasets on oh, I see. I think I understand what you're saying. I think you're asking, how does it work if I need to join on a column, that I that I want to mask? Yeah. That's a great question. So in its current state in data flows, again, the the data flow owner has to have unmasked access, and so the data flow will execute with unmasked access, and so those joins would happen just fine. Okay. Maybe the other thing I want to mention, there's one other limitation that, that we're gonna be working to improve upon. And that is in its current state, you cannot create new beast mode create or edit beast mode calculations that involve columns that have, PDP column masking applied to them. Again, this is something that we will we will be working to improve upon in the future. But with that and also with alerts, we just felt that it was it was time to get, column PDP into our customer's hands, and we now have the intention to to come back and further enhance upon those couple of things. So, that wraps it up for me. I probably talked way too long already. Just thanks for the, thanks for those of you who are beta testers for column PDP. I hope you're happy with the result. And, if you do have additional feedback, I'd really love to hear it. So, you know, feel free to at mention me in the community or, you can send me an email dan.brinton@domo.com. And again, thanks everybody for being here. Thank you, Dan. Man, that was amazing. You know, just to add a little bit of fuel to the sibling rivalry between you and and Andrea, you know, this this masking is wasn't quite as cool as Andrea's mask, but much more useful, I would say. So Hear that hear that, Andrea? That fuel. Andrea, it's it's function over form with the masks. Wonderful. Thank you so much, Dan. That was amazing. Now we have Chris Wright joining us. A little known fact about Chris, his middle name is always because Chris is always right. Alright? And so that means you have to pay extra close attention here because whatever Chris says is take it as scripture. Alright? Because Chris is always right. Thank you, Chris. Take it away. Thanks, Grant. Appreciate it. Nice, to see everyone. Thanks, John, for, calling that out. Appreciate that, Chris Wright. So super excited to walk through, some of the App Studio updates, especially with, a lot of these new improvements. We've really focused on making the adding experience very seamless and saving users a lot of time. So with it, I'm gonna actually jump straight into the demo, because there's just some great things to go through, and you can quickly see some of the, enhancements there. So first, we do have a design of the new homepage. No huge changes, just stretched out some of the tiles. We've gotten feedback from, many of you that that takes up, some space, and you can't really see each of the tiles and needs more information. So we have, these new tiles, as well, so that you can be able to get a little more space horizontally, and see a little bit more information. So with the new App Studio editing experience, I come in here and I hit create. And then once I do that, I will come into this app here. So here is the new, App Studio editing experience. So we made some changes that really focus on just quality of life and easier to edit, content right inside of App Studio. Currently, you have to jump around quite a bit from analyzer and back and forth. And so now you can be able to just streamline your editing experience in one place, and you can be able to save a lot of time there and just better overall. So what we've done is we now have the editing toolbar here, over on the left. So you have tables, charts, controls. So you can just drag and drop some of these things out, which I'll be doing here. Components is where you have, use existing cards and then also app components as well. This is currently a beta of app components, and then also form, and, custom is a pro code app. And then you have text layouts, so tabs, borders there. And then themes are here, configuration, editing of the pages, styles, report builder, as well, up here. So, and then as far along the top, you now have, oh, wait. Just get back into this. You now can also edit the app just here. So if you wanted to edit the app name, you can do it there. And then, also, as far as just renaming, some of the, pages, you can just do that also in line. So once you, can rename here and then also you can change the icon. You can duplicate, and then you can also create new pages here in line. And then once you set that up, here's the new page, and so you can just drag and drop, components. So really simply this where you can be able to just quickly come in, start changing navigation, adding to it, etcetera there. And then as far as undo and redo, we have undo and redo up here. So I'll be showing some of that, as well. So dropping in a chart, let's go ahead and do that. I dropped in a chart. I'm going to go ahead and select my dataset. Great. So once I've selected the dataset, you'll see over here is now the editing experience. So you have the tabs over here. You have settings. These are all the styles for this chart, and actions. So once I come over here under settings, I can now go through and start editing this chart. So once you select the pill, now you can just use the search, so you can change out different types of, metrics. I'll go ahead and bring in total sales. I wanna change the aggregation. I'll just change it here if I need to. And then as far as the dimension, I'll go ahead and change that to region. Perfect. Now I'll let's do change the date range. I'll change this to last, quarters, last four years, and let's graph by quarter. Perfect. So you can see this changing, right here in the date range. You can quickly add filters. You just hit the plus button, and then the items come up. Let's, focus on footwear. And then once you apply it, there it is. And then if you wanna add more, etcetera, you can, easily do so. So, again, it's very easy to come in, change data, all right here. And then if you wanna be able to change any of the, attributes as far as, different properties on the chart, Just come into styles. I'll go ahead and change the sort. So there, I'm able to do that. We also have conditional formatting. So what in analyzer's color rules, you now have conditional formatting here. So here are all the different options, selecting a column, configuring the rules, etcetera. And then to edit a chart, you just come in, select the pencil. There's how you edit it. And yeah. So that's how you can quickly be able to, edit, create charts. Now I'll just drop in and, actually, once you save it I'll go ahead and save it. Now once you save it, you know, currently, when when you're in App Studio, when you save it, you have to leave. Now you just, drop in, it can stay in place and continue to edit. And then also, we when you drop in a, object, we also have the dataset that's using on this page, available to pick. So you can just select from this page. So select that, and, I'll go ahead and change the style. And here is the drop down, so I'll select regions as my available column. And then we also automatically add in the sort, and then I can just hide the title if I want to. And then here, I'll put in some default text, of choose a region. Perfect. So go ahead and save that. So as you can see, I'm able to now just quickly come in, come into edit mode, drop items in, save them, those type of things. If I want to undo any of that, just select here, come in, hit undo. Changing out some of the sizing, hiding the title, those options. Right now, the undo is focused on one page at a time, so it doesn't encounter all of the apps. So as you save different because you create new pages, the undo works within that, page. We are, planning on adding it for for the full app, but right now it is for the, the page. So, yeah, go ahead and, redo that. Add in some of the, other items. So you have other slicers if you wanna drop in some of those, and the other components, do have some of these, other items. So if you wanted to drop an existing card, that still is the same behavior where once you drop it in, you can now choose add existing card, etcetera, or you can be able to create in here. So this is currently coming out, to beta later this month. So about three weeks, we'll do, the beta kickoff, and then you can also, option in to participate in the beta with there. So this is everything with, the new App Studio, enhancements. So super excited to get feedback and, get everyone to, start trying it out. See any questions. Yeah. We've got a few questions from Coleman. He asked, I might have missed it, but can you show new page from import? Can you show a new page from import? Yeah. As far as just the importing of a page, it's still the same type of experience. So you can also import here from the pages or dashboard or hit a new page from there. And then, you can duplicate, but you don't import here. You import over on the settings there. Amazing. Then Coleman also asked, can you show how to navigate to classic analyzer view within the app? Yeah. So to do that, you can just select this drop down caret, and you can just say select edit in analyzer, and that'll open a new tab, and that'll open that card. So if you wanna use the analyzer, it's really easy. You can just select that as well. K. And then we had one last question. When you add filters in the chart, will it show up in the page after you save it and allow to choose other values if needed? Oh, got it. No. So the filters are only applied to this or to the App Studio, solar panelizer. So when you're adding filters, it's, it's defined just in the App Studio. And so when you go out of, the edit mode, you can add additional ones, but you won't be able to remove those filters that were applied to that, visualization just like it's the same behavior as analyzer today. Great question. Perfect. Alright. Well, Chris, don't go anywhere because we're going to invite Andrea and Dan to come back and start our q and a. We've got a a few minutes left. Now, Andrea and Dan, I'm just gonna have to ask that you play nice. Okay? Okay. Perfect. So if you've got questions, folks, please drop them in the chat. We've got a few minutes left that we can, answer any questions that you have. We are championing it to have have the billings coming out again. To. Love it, Sharon. Yeah. Sorry. What what was that? You want me to take that, Grant? Yes, please. Take it. Yeah. So PDF, definitely hear it loud and clear. That's, definitely on the road map for the next stage for Report Builder. Something that we're planning to start here in the next, upcoming probably, few, two, three months. So definitely hear you coming soon. We did get out where you can download, an App Studio app with, PDF. So everything that shows on the screen, you can do that. That's the first step, but we plan to also bring out the capabilities for landscape portrait mode, and be able to do more with tables with PDF. So that is definitely on the road map coming up here, for development soon. Perfect. Coleman Wilson asks, ABAC or a b a c with a bunch of question marks at the end of that. I don't know what that means, but perhaps one of you do. Yeah. ABAC. That's that's for me. Yeah. Yeah. We would love to do ABAC. There are Coleman, what I'm thinking about is how do we how do we deliver the the so the full ABAC solution, super powerful, and and also just quite a mountain to climb. So one of the things I'm thinking about is how do we how do we break that up into smaller chunks such that we have, like, meaningfully valuable milestones along the way. Right? Yeah. Coleman, feel free to feel free to, you know, let's let's send me a note and be happy to chat chat with you about that more for sure. Perfect. Aaron Trent, will there be a demo of editable and linked tables? Yeah. We wanted to make sure everyone's come back to the next demo drop, so we held that for the upcoming one here, because Grant wants to make sure lots of people are coming up to the next one. So stay tuned for that coming up shortly. It's not on this one, but, we'll be up in the next one. That's right. We gotta keep you guys hanging at least a little bit so that you come back. Translation, Chris has chill. Definitely not Andrea has no chill. That was the Chris wrong right there. I hope the truth's wrong right there. Andrea was ready to put the mask back on so she could tell you. No. No. No. Don't do it. Don't do it. Okay. Good. Okay. One more question from Caitlin. Is there a way to set the same PDP policies for multiple datasets? That's another one for me. That's a great question. I'm I missed who asked it. Oh, Caitlin. Yeah. That's a great question. That is something that we're looking at. My my sense is that it would be valuable for row PDP, but it might be especially valuable for, for column PDP where the creation of the policies is just there's just a few more steps. Right? A bit more complexity there. Yeah. That's definitely something we're looking at. There are a number of enhancements we wanna make, to call on PDP to expand the functionality itself. The ability to, to, filter or, excuse me, mask using, like a like a function statement rather than just having to select from the masking methods that we've created for you. Anyway, there's a number of different things. That's one of them. Thanks for the feedback. And one little follow-up question. Does the policy apply to any datasets created downstream? Yes. So, short answer is no, but with a caveat. So, row row policies and column policies do not sort of persist, if you will, do not persist through a data flow. They they do, they are inherited downstream through dataset views though. So if you have row policies or column policies on a dataset and then you build, a dataset view on top of that dataset, the the output data in the data set view will be masked or filtered by those row and column EDP policies. Hopefully, that answered the question. Amazing. Wow, folks. This was phenomenal. I thank you, Chris, Dan, Andrea, for for joining us and sharing so many cool things about Delvaux. We just love to learn about it, and and it really brings this community together. You You guys are special for us. So we we wanna keep these webinars going. Real quick, if in case you didn't catch it at the beginning, call for presenters. We if you wanna speak at Domo Palooza or join the Hall of Fame Awards, take a a a a application for that. You guys, $25 for a g two survey and $75 for a Dresner survey. $100. You could have that in your pocket. Alright? Dresner survey, send me your screenshot of your completion page so that we can send you the gift card. Otherwise, I can't send it to you. So email me your your screenshot, and we'll get you that gift card. Thank you so much for joining us, And without further ado, we'll see you next time. Ciao. Thank you, everyone.