 Hello everyone. I am Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. So guys, we are back with one more session on Appian. And I have Ankit with me. So welcome Ankit on the channel. And Ankit will be delivering one more session. And I think this session is related to records. So like, I hope if you're following the session, you have gone through all the sessions so far. And this is something new that Ankit will be explaining. Okay, so I just want to share one thing, like if you want to receive timely notification and the bootcamp information. So you can follow Sanjay Gupta Tech School on YouTube, LinkedIn, Instagram and Telegram. And the session tracker link and Ankit's specific Telegram group link you can find in the video's description. So here it is. So over to you, Ankit. Please proceed from here. So if you want to check all the recorded sessions and other information about the Appian, so you can check this, the CodeMestros YouTube channel. And we have the CodeMestros Telegram group as well, where you can find some questions or fun facts about Appian. And if you have any queries, so you can put on this group. In our last sessions, we discussed about Appian process models, interfaces, expression rules and all. Today we will discuss about Appian records. So first, what is record? So like, you know that in our previous sessions, we created process models, we store the data into database, right? So suppose I'm an employee and I'm filling the employee information. So that data is stored into the database. So similarly, suppose there is an employee onboarding that application where each and every employee come and can fill the data from the interface and insert into the database table and there will be multiple rows into the single table. So those rows are stored into the database, but database is not a front-end part, but it is a back-end part. So users cannot go and can directly access the database. So to display the information related to a single entity, we use records, okay? So records, we can save the collection or the presentation or the folder or container, right? To display the information related to a single entity, like employee information or customer information or whatever we are creating. So like how we can create the record in Appian. So similarly, other objects, we have to go to new, okay? And then there is an option record type. So like you know that here also we have this, no prefix of the application that is initials, like AB, that is Appian bootcamp, and then we can give the name. Like suppose I'm creating for customer, okay? Or employee. So I can say, employee. Now, when I click here, so it will automatically create the plural name because in single record type, there can be multiple rows, right? So if I'm talking about employees, so employee can be young, case employer can be Sanjay, employee can be anyone else, okay? So there will be multiple employees under a single record type. That's why it automatically create the plural name, okay? And generally what we do, we do not use this prefix in the plural name because the plural name display in the, to the front end user. And if we display like some initials or anything else, so it might conflict to the user. So we generally use employee zone, okay? But in this case, there is other record with the same name. That's why it was not taken, okay? And it created 80, but you can remove it, you can create, okay? So like this, we, you know, we give the plural name. Description also display to user. So we generally give, like, you can give, like, okay? Now I have to click on create, okay? So we have security configurations similar to other objects, okay? So AB user one is viewer and AB administrator one is administrator that we can change whenever we want, okay? Now you can see here, we have an editor, okay? To create the record. So if you want to change the name at any time, you can go property and you can do, okay? You can change the name, you can change the plural name and the other information like description, okay? That you can change. So first part, in this left side, you can see there are multiple, you know, points, data model, list, filters, view, accents, tempo, performance, okay? So first one is data model. So record as we discussed, you know, the record is to display the information related to entity or, you know, single type of entity or something like employee data, customer data, some type of request, okay? So this data, this type of data will come from somewhere, right? We need some data sources to get the data. It might be database, it may be, like, some integrations where the API is like part of the system from where we have to get the data. We store the data into process instances as well. So we might need to get the data from process instances. So that sources might be different, okay? So for this to get, you know, to select the data source, we have to click on this, tell us about your data. Now you can see here we have four options. First one is database. So if I want to fetch the data from database, table or database view, I have to select the database. If I want to get the data from process instances, because as we discussed in our previous sessions, that in APN we store the data into process instances level as well, right? Like in process variables. So if I want to get the data from process, so I can select this one. If the data into, you know, Salesforce, so we can use the Salesforce. So it is like an integration, okay? If there is any other, you know, third party system from where we want to get the data, we can use this web service, okay? And we can directly give the name of the web service or, you know, the integration or web API and we can get the data. So like this, we have four type of data sources. So in first source that we generally use, that is database, okay? So in this one, I have to select this first one. Then I will click on this next button. Now you can see here we have two button. One is this one, build apps faster with synchronous, okay? Sync. And the second is disabled sync and related features. So what is a sync? So suppose if I'm getting the data from database, so in database, data can be updated at any time, right? So like, you know, that whenever I'm fetching the data, okay, or I'm getting the data from this record, what record does record query on the database table or database view to get the data and display the data to us. So whenever we are loading, whenever we are calling this record, every time it query on record, so it might create problem of performance, right? Because every time it is calling the database or something might be like your own database is not, you know, down or something. So that create an issue, okay? So to improve the performance, we use data sync approach in the record. So in this case, what it does, whenever we are inserting the data into database, okay, or whenever we are updating some data into database using APN, it automatically sync with the record. So whenever we are get, we get the data, we query the data from record, it does not query into the database, but it pairs the data directly from record that is stored in it, okay? So it improve the performance. But if we disable the sync, then every time it pairs the data from database itself, okay? So that's why we use the sync approach. So like if I disable the sync, okay, and click on next, it ask me to select the data store and data store and it, okay? So as we know that in APN, if you want to pair the data from table, we use the data store and it, right? So this is data store that we have for our application, right? So I will click on it and I will select this particular data store and it, okay? Now you can see we have the data from that table. First row, Isangir, John, John, okay? So something like that data we have in that table, right? So it is coming here. Now I will click on things, okay? So once I click on submit or save changes, okay? The data selection will be saved, okay? Now you can see we have type that is data store entity, data store name and entities that we selected, okay? Now here we can see if I want to show the sync reference, okay? So I can directly go from here as well. So it display the data. And if I want to select the other type of, you know, sources, then I have to just go to here and I can change the data store entity. If I want to different data store entity, if I want to change the source completely, like instead of data store entity, if I want to select something else, then I can click on this change sources, okay? And like I want to use the, you know, Salesforce or I want to use any other third party system, click on this change source and it will, I will be able to select different one from here, okay? Now you can see here we have one option that is the default filter, okay? So first I want to show you the list, okay? So in this list, we have these columns, okay? That I can update whenever I want, okay? So this is the list or this is the grid format that we have, okay? If I want to display the records, you know, some of the records to the user, not all of the records, then I can apply some filters, okay? So APN supports two types of filters here. One is default filter and other is user filter, okay? So in default filter, you know, a user does not have control. So suppose I want to show the details to the manager, okay? So suppose I'm the manager and some, you know, the employees are under me. So I can see the data only the employees which are work under me, okay? But not for all of the employees. So in that case, we will use default filter. But suppose I want to, you know, allow user to select something like, you know, that initially I'm showing all of the data, all of the rows to the user, but there is a country filter. So if I want to ask user to, you know, if user want to filter out using the country or department directly, so user can update, okay? So in that case, we use the user filters. So here you can see we have default filter. So in this default filter, if I want to apply, that means I do not want to show some of the data to the user. In this case, we use the default filter, okay? So in this one, I can select any of the filter on which I want to put the condition, like, you know, that if I want to show the users, like if I'm from India and I can only see the records which are in front India, okay? So in that case, I can apply the filter and I can check the country of the logged in user. So suppose I'm the, you know, like in this condition I'm the logged in user and my country is India. So it will fetch the data where country is India. It won't fetch the data where country is other than India. So how like this we use default filter. I can apply multiple default filter also here. If I want to apply the user filters, okay? Then I have to click in this one, user filter, and I can apply like if I want to apply the department user filter, okay? I can apply, I can give the name like department and I have to select the field on which I will filter like department name, okay? I can give, now I can give the option name also here. Like suppose first option is finance, like just an example, okay? And I will compare here like equals to and in the database it's value is finance, okay? So if the particular field value is finance then it will filter out the data. Now if I want to add more options, I can simply click on new option and I can add. So something like that we can add the user filters. If I want to add more user filter, I can add as many as I want. So you know that we just check that once I map that the data source from this, you know, in this record it was showing a list. That list will show some limited information, right? In that great format. But if I want more details for the particular user or particular employee, I can create some views, okay? Like this is the default view, that is some review, okay? So whenever I will click on the link in that grid where username was displayed, so in that case I will be able to see the more details, okay? And to display those more details we create the interface and that interface we can map here, okay? So suppose I'm creating a record for employee and employee have some like major details like employee name, ID, employee ID are employees, you can say department, employee country that we can so in grid, but there might be more details related to employee, right? Employment details, employees address, employees, you know, that other relative details or something that we cannot so in grid, right? Because if we saw everything into grid, then a grid site will increase and the data won't display properly. So we use that, you know, additional view for that and for that we create the interface and that interface we can simply call like this one. So suppose there is AB employee details, something like that, we can directly call from here and we can pass the parameter which is required to display in that view, okay? So that we can do directly from here. And in this one also, this summary view is default, okay? So I cannot apply security on that one, okay? So if I'm able to see particular row in the record, I have, you know, for sure I will be able to see this some review. If I want to change the name of the summary view, I can simply change from here, okay? I can give the name whatever I want. Like that, if I want some additional view, then I can add some other additional views as well from here, okay? So in this one, I can add, I can configure the interface names, suppose I want to show the employment history as well for the employee that I do not want to show on the default view that is the summary view. But I can, for that I want to add the additional view so that I can do here. So as many as, you know, views I want, I can add and views are nothing but the interfaces, okay? And in this, know that summary view, there was no any option to configure the security but in this additional views, we have the option to configure the security. So suppose I want to display this additional view to a, you know, group of people, then I can configure the security also. So those, you know, group of people only will be able to see this. Others won't be able to see this. I can give the record title as well. This is, you know, by default, but yes, we can change this. And like, you know, that we have variable in interface, we create variables in process models. In process model, we call variables, you know, process variables in rule import, you know, rules we have rule import. So similarly, we have RV in record, okay? That is record variable. And that we call all like this, okay? This is record and it, you know, as the particular row and for particular row, we can press the particular column. That is employee name. If I want to use something else, I can use that one as well from here. For this, we simply configure like record type, then record type fields, and I can select any of the fields I'm selecting. Employee name I can select. Okay? If I want to give some background to the particular record view, I can give like, and now we have none. If I want to give the color, I can give the color you can see here. It is coming in gray color that we can change from here. If I want to give the image, I can give the image as well. Okay? Whatever image. So like this, it will display. Similarly, we can add the accents as well. Okay? So accents as we discussed, I think in last session as well, the accents are the, whatever user want to perform. Suppose I want to create an employee. So that is an accent, okay? So in accent, we have process model and interface. So suppose I want to create an employee, or I want to add an employee in our database. So I have to create a process model and one interface that I have to map into the process model. So once I click on that particular button, action button, that process model will initiate and it will show that interface. If we have chaining or if you have, you know that interface into the start form. So it will simply open that interface and I can perform the accents, whatever accents I want, and I can submit that, you know, details. Submit the form, and that those details will be stored into the database. And once the database is, the details are inserted into the database, it will display here in the record, right? Because we are creating the, this particular record with the same table. So the data will be displayed into the record. Now, suppose I am creating one employee, I am adding one employee in my database. And now I want, that employee can update the data, or employee want to updates, and you add some other data into the, his record or his or her record. So for that, we have related accents, okay? So related accents and accents, both are almost similar. Both have process models and interface. In both of the accents user have to perform some, you know, the activities, but in accents user are creating, this entry first time, okay? So suppose there is no any entry for me, as an employee, and I want to create entry first time, then I will create accent. But now I want to update my details from, you know, some of the details, or I want to add some other details related to me, then I will create related accents. So related accents, we can say are contextual accent, that runs against a context, okay? So we can add multiple related accents also here, okay? Similar to accents. So as you know that we checked in the view, we configure the interface, but in accents and related accents, we configure the process model, because whatever, you know, the views are just to check the information, okay? Views are like data on the interface. It's very, I'm not performing anything. I just go and check the data, but in accents and related accents, I have to interact with the interface. I have to put some information. I have to update some information, okay? And I have to perform some activities. So for that, we create the related, you know, the process model, because we have to update the database as well, right? In that case, we have to do some calculations and, you know, some data manipulation as well. So for that, we create the process model, okay? And we configure the process model here. So if I want to show that related accents name as process model name, I can use this one. If I want to give some, you know, static manual name, I can use, if it is dynamic name, so I can use the expression also, okay? So suppose I want to give the related accent name and edit employee details, okay? So I can use like this. And it will create the key automatically. That will be, you know, unique. And description also will be visible to user. So we generally give the name that user can understand, okay? So we can give like click here to update the employee details. And in this one, I have to select the process model that I want to use. Like if I want to use this APM floor data, I can use. And in context, I can give the variables name that I want to pass from here. Like if this is related accent, right? So in related accent, I have to display some data to user so that user can go and can update the data, right? So data will be pre-populated in this case so that user can update that particular data. But if it is accent, so we don't need to pass any parameter because at that time user is updating, you know, creating the entry first time. So there won't be any data, you know, there in the interface first time. User has to create first time data. And here also we can put the security like visibility so that we can, you know, give the security to a particular group of users only to check that. And we have, so support if I'm selecting this one, okay? I can simply click on OK. And you can see where we have, you know, this is first related accent. Similarly, we can have, we can add more related accents and accents also, okay? So if I want to display this to users, okay? Like if I want to display this related accent on this particular view, I have to just go here and I can select this related accent shortcut. So this shortcut will be displayed on the particular view where we have selected this one. And there are three options that you can see, open accents as dialogue books, new tab and same tab. So if I'm clicking or selecting this dialogue books, so it will come like a pop-up window. So whenever I'm clicking, you know, on two particular buttons, related accent button or accent button, it will populate, you know, on top of the, you know, the record screen. If I'm clicking on new tab, then it will open new browser tab, okay? And if I'm clicking on same tab, select same tab, so it will open into the same tab where the record summary was opened. So like that, whatever we need, as per our requirement, we can select. If I want to check the performance of the record, okay, so it can provide the functionality that we can check. Like this record is taking 119 milliseconds, okay? And what this data query and default filters are taking six milliseconds list is, you know, 95 seconds. So like that it displayed to us. So whatever component is taking time, we can check and we can, you know, we reduce, you know, improve the performance for that particular one. So like this, so it, you know, displays the performance on this is a multiple factors that we can check, okay? Okay, so we, you know, we checked about default filter, source filter, you know, user filter, source filter is also default filter. So if I'm, you know, you know, that we selected that we, you know, the disabled the sync up, you know, functionality for the record, right? If we select enable that sync approach, so we can use the source filters, but both use for the same purpose, default filter also filter out the list or at the time of load of the data and source filters also filter out the list. At the same time, there is no any control of user, but in user filters, user have control. In record list, we, you know, checked, there was a grid view where the data was visible into the grid format, okay? But we can use the feed format also where data, you know, visible as a list, but not as a particular grid, okay? So everything will be disabled, you know, visible into the single column, not multiple columns, but generally we use now grid format only. Export to excel the list data. So APN out of the box provide the export to excel, you know, option to export the data into a excel format, okay? So we no need to write any code for that. We have to just, you know, click on a checkbox and we can export the data directly from the record, okay? And the save filter option also APN provide out of the box. So suppose I am selecting the data from India and I have user filter that is country, I'm selecting the data department, technical department. So I have to just select those filters and I have to click on save button. And whenever I will open this record again, it will automatically, you know, pre-select it for me. I do not need to go again and again and select. Record view, we check like, you know, that we can create multiple views for records, okay? One by default that is summary view. For that also we can change the name, but we can create additional record views and we can set the visibility also. We cannot set the visibility of summary view, but for additional view, we can set the security, okay? Record actions that we discussed like actions are the process models or interfaces combination where I am going to create the entry first time, but related actions are like a contextual action where I'm updating the data or I'm creating the data in reference of the particular record, okay? Data sync in record that we discussed like, you know, that if I do not want again to query from database, but I want to get the data right directly from the record that is, you know, in the sync with database, so I can directly get the data from record itself. So this was all about, you know, the records, you can record so that you can practice as you have instances, but if you do not have instance, so you can create the request on this Google Doc form or you can put the request on our, the code mesh tools, you know, that telegram channel as well. So we will get your request and we will, you know, create your account and we'll do the credentials. And if you have any other questions or query, you can put on the telegram channel or the email ID that you can see on the screen. So thanks. Thank you, everyone. And I want to hand over these tools and this. Yeah, thank you. Thank you for sharing all the invites. And I think this email will be helpful for those who wants to have some help from you and telegram group link is already available in the description of the video. Okay. So I think tomorrow we'll be having one more session where you can cover a few more things. Okay. Thank you, everybody. Thank you. Yeah. Thank you. Bye, everyone. See you tomorrow.