title
Salesforce Developer Training Videos For Beginners | Salesforce Training Videos | Edureka

description
🔥 Salesforce Training (Use Code "𝐘𝐎𝐔𝐓𝐔𝐁𝐄𝟐𝟎"): https://www.edureka.co/salesforce-administrator-and-developer-training This Salesforce developer training video will give you an introduction to the development aspects of Salesforce. You will learn how Visualforce pages are created by Apex programming in this Salesforce developer video. This video covers the following topics: 1. MVC Architecture of Salesforce 2. Creating a Visualforce Page 3. Programming in Apex 4. Triggers, Governor Limits and DMLs 5. Testing And Exception Handling in Apex Subscribe to our channel to get video updates. Hit the subscribe button above. Check our complete Salesforce playlist here: https://goo.gl/pwt3IT #Salesforce #SalesforceTutorial #SalesforceTraining #WhatIsSalesforce How it Works? 1. There will be 14 instructor-led interactive online sessions of 3 hours and 20 sessions of 2 hours for weekend and weekday batches respectively 2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course. 3. You will get Lifetime Access to the recordings in the LMS. 4. At the end of the training you will have to complete the project based on which we will provide you a Verifiable Certificate! - - - - - - - - - - - - - - About the Course Edureka's Salesforce Certification Online Training will make you an expert in all the concepts related to administration and declarative development options. It will introduce you to the advanced developer options like Apex and VisualForce. It will also help you prepare for Salesforce Certification (both SFDC Admin 201 & App Builder Certification) - - - - - - - - - - - - - - Why Learn Salesforce? After the successful completion of the Salesforce Certification Training: Admin 201 & App Builder by edureka, you will be able to understand: Different building blocks of Salesforce The data model The security model The business process automation options The Sales Cloud and Service Cloud modules The reports and dashboard Salesforce1, SalesforceA, Chatter and Social features Introduction to Apex Introduction to VisualForce Introduction to various integration options like SOAP, REST APIs - - - - - - - - - - - - - - Who should go for this course? This Salesforce Certification training at edureka is suitable for all professionals who are passionate about CRM and cloud computing. But typical profiles, but not limited to, who go for salesforce training are: 1. Siebel and other CRM products professionals 2. Experienced professionals who are looking to have an exciting career in the leading Cloud Computing platform 3. Functional consultants who are looking to switch to salesforce 4. Freshers who are looking to get a jump start to their careers in Cloud computing 5. Lateral developers who have worked in Java, mainframe and C# and are looking for a boost to their career from legacy platform For more information, Please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll free). Facebook: https://www.facebook.com/edurekaIN/ Twitter: https://twitter.com/edurekain LinkedIn: https://www.linkedin.com/company/edureka Customer Reviews: Nafeeyu Ahmed, SAP CRM Consultant at Cognizant, says, "I am an SAP CRM Consultant in Cognizant wanting to learn Salesforce as early as possible and complete Certification. Initially when i called edureka regarding my requirement of completing salesforce training i was a bit skeptical to choose between the local center which offers in house training - then i spoke to one of the edureka reps regarding it - First i taught what he was offering i.e Online Class / Support Team / Study Material n al were just a trick to convert me to a sale - But i was Wrong - he took my requirement seriously and gave me a very convincing plan to complete my certification by the date my company had wanted me to complete it - it was a matter of trust that had payed off for me Now i am a Certified Salesforce Administrator - A Big Thanks to Edureka!"

detail
{'title': 'Salesforce Developer Training Videos For Beginners | Salesforce Training Videos | Edureka', 'heatmap': [{'end': 899.263, 'start': 696.973, 'weight': 0.901}, {'end': 2397.393, 'start': 2194.806, 'weight': 1}, {'end': 3997.427, 'start': 3889.59, 'weight': 0.718}, {'end': 4789.967, 'start': 4688.215, 'weight': 0.716}], 'summary': 'This salesforce developer training video series for beginners covers concepts like visualforce pages, apex codes, mvc architecture, dml operations, and triggers, emphasizing a minimum code coverage of 75% through test cases.', 'chapters': [{'end': 129.872, 'segs': [{'end': 64.412, 'src': 'embed', 'start': 14.001, 'weight': 0, 'content': [{'end': 21.247, 'text': 'Like what can Salesforce developer do? What is this job description, right? So as a developer in Salesforce, you will be building Visualforce pages.', 'start': 14.001, 'duration': 7.246}, {'end': 25.81, 'text': "And how will you do that? You will be doing that on Apex, right? You'll be writing Apex codes.", 'start': 21.727, 'duration': 4.083}, {'end': 27.392, 'text': "So I'll be talking about all these things.", 'start': 26.03, 'duration': 1.362}, {'end': 29.893, 'text': 'so do stay until the end of the session,', 'start': 28.032, 'duration': 1.861}, {'end': 36.516, 'text': "because there'll be a lot of demonstration here and I'll be showing you how to build your own visual force page, how to get different data in there,", 'start': 29.893, 'duration': 6.623}, {'end': 43.58, 'text': "and I'll show you how to build your own Apex code you know, which supports your visual force pages so that you can perform multiple transactions.", 'start': 36.516, 'duration': 7.064}, {'end': 45.061, 'text': "and I'll be doing all these things.", 'start': 43.58, 'duration': 1.481}, {'end': 51.904, 'text': "so before I get started, let me show you the agenda for today, and in here I will show you the flow that I'll go in today's session.", 'start': 45.061, 'duration': 6.843}, {'end': 55.426, 'text': 'okay, so first I will talk about the MVC architecture of Salesforce.', 'start': 51.904, 'duration': 3.522}, {'end': 58.486, 'text': 'So MBC stands for model view and controller.', 'start': 56.164, 'duration': 2.322}, {'end': 62.45, 'text': 'Now that is the backbone of the whole Visualforce and the Apex component.', 'start': 58.907, 'duration': 3.543}, {'end': 64.412, 'text': "Okay, so that's how Salesforce works.", 'start': 62.61, 'duration': 1.802}], 'summary': 'Salesforce developer role involves building visualforce pages using apex for mvc architecture.', 'duration': 50.411, 'max_score': 14.001, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w14001.jpg'}], 'start': 0.069, 'title': 'Salesforce developer webinar', 'summary': 'Covers the concepts of salesforce development, including building visualforce pages, writing apex codes, and achieving a minimum code coverage of 75% through test cases.', 'chapters': [{'end': 129.872, 'start': 0.069, 'title': 'Salesforce developer webinar', 'summary': 'Covers the concepts of salesforce development, including building visualforce pages, writing apex codes, and achieving a minimum code coverage of 75% through test cases.', 'duration': 129.803, 'highlights': ['The chapter covers the concepts of Salesforce development It includes building Visualforce pages, writing Apex codes, and achieving a minimum code coverage of 75% through test cases.', 'Building Visualforce pages using Apex codes and demonstrating how to get different data The instructor will showcase how to build Visualforce pages, get different data, and build Apex codes to support the pages, allowing for multiple transactions.', 'Explaining the MVC architecture of Salesforce and the importance of model view and controller The session will delve into the MVC architecture, emphasizing the significance of model view controller in Visualforce and Apex components, which form the backbone of Salesforce.']}], 'duration': 129.803, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w69.jpg', 'highlights': ['The chapter covers the concepts of Salesforce development It includes building Visualforce pages, writing Apex codes, and achieving a minimum code coverage of 75% through test cases.', 'Explaining the MVC architecture of Salesforce and the importance of model view and controller The session will delve into the MVC architecture, emphasizing the significance of model view controller in Visualforce and Apex components, which form the backbone of Salesforce.', 'Building Visualforce pages using Apex codes and demonstrating how to get different data The instructor will showcase how to build Visualforce pages, get different data, and build Apex codes to support the pages, allowing for multiple transactions.']}, {'end': 1196.703, 'segs': [{'end': 206.062, 'src': 'embed', 'start': 173.847, 'weight': 0, 'content': [{'end': 177.129, 'text': 'So MVC first of all stands for model, view, and controller.', 'start': 173.847, 'duration': 3.282}, {'end': 183.205, 'text': 'When we say model, view, and controller, the MVC is responsible for controlling what your user sees on his screen.', 'start': 177.89, 'duration': 5.315}, {'end': 188.549, 'text': 'So, how do you control that user interface? By defining your own logic, by defining the various components.', 'start': 183.706, 'duration': 4.843}, {'end': 194.073, 'text': "Now, since it's all gonna get complicated if you all do it all together in one single way.", 'start': 188.929, 'duration': 5.144}, {'end': 195.714, 'text': 'we have a different architecture here.', 'start': 194.073, 'duration': 1.641}, {'end': 198.837, 'text': 'okay?. This architecture is such that you have three different components.', 'start': 195.714, 'duration': 3.123}, {'end': 206.062, 'text': "In one component, you have the view aspect, right? So, whatever the user sees on the webpage or, in our case, it's a Salesforce webpage.", 'start': 199.337, 'duration': 6.725}], 'summary': 'Mvc architecture separates user interface into three components: model, view, and controller.', 'duration': 32.215, 'max_score': 173.847, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w173847.jpg'}, {'end': 318.996, 'src': 'embed', 'start': 291.19, 'weight': 1, 'content': [{'end': 294.553, 'text': 'so based on that logic, the data goes into our database right.', 'start': 291.19, 'duration': 3.363}, {'end': 299.058, 'text': 'so such things need to be controlled, and that is what is controllers role in the MVC architecture.', 'start': 294.553, 'duration': 4.505}, {'end': 301.359, 'text': 'So we have something similar in Salesforce also.', 'start': 299.498, 'duration': 1.861}, {'end': 307.141, 'text': "So Salesforce, it's all about handling a lot of data, right? So as users, you'll be putting in a lot of data into the databases.", 'start': 301.759, 'duration': 5.382}, {'end': 310.062, 'text': "You'll be saving hundreds and thousands of records each and every day.", 'start': 307.161, 'duration': 2.901}, {'end': 316.105, 'text': "So inserting and putting the records and committing them, saving them, it's all controlled by your controller.", 'start': 310.603, 'duration': 5.502}, {'end': 318.996, 'text': 'So that is what is the role of controller.', 'start': 316.954, 'duration': 2.042}], 'summary': 'In salesforce, controllers handle inserting and saving hundreds and thousands of records daily into the databases.', 'duration': 27.806, 'max_score': 291.19, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w291190.jpg'}, {'end': 899.263, 'src': 'heatmap', 'start': 696.973, 'weight': 0.901, 'content': [{'end': 698.473, 'text': "I'm just putting in, okay, the number.", 'start': 696.973, 'duration': 1.5}, {'end': 703.775, 'text': "I'm gonna give it this and let's say the lead status is working, contacted.", 'start': 698.473, 'duration': 5.302}, {'end': 706.817, 'text': "okay, now I'm gonna save this.", 'start': 703.775, 'duration': 3.042}, {'end': 709.429, 'text': "okay, when I do this, There's a new lead created.", 'start': 706.817, 'duration': 2.612}, {'end': 710.691, 'text': "The lead's name is Mike John.", 'start': 709.529, 'duration': 1.162}, {'end': 712.294, 'text': 'The same detail that I created.', 'start': 711.012, 'duration': 1.282}, {'end': 714.858, 'text': "So I'm gonna access the leads tab again.", 'start': 713.095, 'duration': 1.763}, {'end': 717.822, 'text': "So from the tab, you can see there's one record.", 'start': 715.338, 'duration': 2.484}, {'end': 722.209, 'text': 'So his name is your first and last names, the company he works for, and the phone number.', 'start': 718.143, 'duration': 4.066}, {'end': 728.309, 'text': 'And again, these are the areas that I created, and this is how the Salesforce CRM works.', 'start': 723.664, 'duration': 4.645}, {'end': 735.015, 'text': 'Now, as developers, what you would need to do is add records and add multiple such data.', 'start': 728.989, 'duration': 6.026}, {'end': 737.298, 'text': "And it's not gonna be just small data.", 'start': 735.336, 'duration': 1.962}, {'end': 738.879, 'text': "It's gonna be big data right?", 'start': 737.658, 'duration': 1.221}, {'end': 746.785, 'text': "You'll be having to transfer and insert almost 200, 300 records, probably even 10,000 records and 1 million records at a time.", 'start': 738.899, 'duration': 7.886}, {'end': 750.045, 'text': "so for all these things, it's ideal not to do this manually.", 'start': 746.785, 'duration': 3.26}, {'end': 755.066, 'text': 'Okay, so you can, you know, write, write a code, write a program for all these things and get such things automated.', 'start': 750.045, 'duration': 5.021}, {'end': 757.307, 'text': "So that's what we're going to work on right.", 'start': 755.066, 'duration': 2.241}, {'end': 758.647, 'text': 'and how can we work on those things?', 'start': 757.307, 'duration': 1.34}, {'end': 765.188, 'text': 'We can do that by creating our own custom objects, You know, custom fields or even these objects.', 'start': 759.227, 'duration': 5.961}, {'end': 769.629, 'text': 'we can get the data to get inserted automatically by using our code.', 'start': 765.188, 'duration': 4.441}, {'end': 773.93, 'text': 'Okay, to write our code, We can do it through three different ways in Salesforce.', 'start': 769.629, 'duration': 4.301}, {'end': 778.111, 'text': 'Okay one, we can do it through the Salesforce developer console.', 'start': 774.13, 'duration': 3.981}, {'end': 785.353, 'text': 'So to access the developer console, then you should click on your name here and under that you have the option of developer console.', 'start': 778.111, 'duration': 7.242}, {'end': 786.053, 'text': 'So you click on that?', 'start': 785.353, 'duration': 0.7}, {'end': 789.314, 'text': 'Directly the window opens where you can start coding.', 'start': 786.933, 'duration': 2.381}, {'end': 793.375, 'text': 'Okay, so this was the sample program that I created earlier.', 'start': 789.894, 'duration': 3.481}, {'end': 800.337, 'text': "okay, so I'm just going to delete it for now and I can write my code in here and Also I can create a new class.", 'start': 793.375, 'duration': 6.962}, {'end': 807.438, 'text': "or let's say, if I go to new, then I have the options to create new Apex class, Apex trigger, Visualforce page, Visualforce component.", 'start': 801.292, 'duration': 6.146}, {'end': 811.002, 'text': 'So all these things, I will give you a brief about all these things later during the session.', 'start': 807.658, 'duration': 3.344}, {'end': 813.764, 'text': 'For now, I just want to give you an idea about how the interface looks like.', 'start': 811.322, 'duration': 2.442}, {'end': 821.592, 'text': 'So the second way you can build your own Visualforce pages and Apex codes are by going to this notepad.', 'start': 815.286, 'duration': 6.306}, {'end': 823.854, 'text': 'So you have a notepad type option in Salesforce.', 'start': 821.812, 'duration': 2.042}, {'end': 825.756, 'text': 'So that is under develop.', 'start': 824.134, 'duration': 1.622}, {'end': 828.762, 'text': 'And then you can choose any of these options here.', 'start': 827, 'duration': 1.762}, {'end': 831.565, 'text': 'Supposing you want to create an Apex class, then you can click on Apex class.', 'start': 828.782, 'duration': 2.783}, {'end': 833.206, 'text': 'Otherwise, Apex triggers or something else.', 'start': 831.605, 'duration': 1.601}, {'end': 838.512, 'text': 'So when I click on Apex class, I get this one, right? So these are the different classes that I already created.', 'start': 833.747, 'duration': 4.765}, {'end': 841.274, 'text': 'But if I want to create a new one, then I can just click on new.', 'start': 838.892, 'duration': 2.382}, {'end': 843.136, 'text': 'And here we go.', 'start': 842.516, 'duration': 0.62}, {'end': 845.258, 'text': 'So I can start entering my Apex class over here.', 'start': 843.477, 'duration': 1.781}, {'end': 848.341, 'text': 'So I can say public class and all those things.', 'start': 845.459, 'duration': 2.882}, {'end': 850.183, 'text': 'I can start writing my class in here.', 'start': 848.381, 'duration': 1.802}, {'end': 854.201, 'text': 'Okay So this is the second way, this is called the notepad editor.', 'start': 850.744, 'duration': 3.457}, {'end': 858.623, 'text': 'The first one I spoke about was the developer console, the option for which was here.', 'start': 854.581, 'duration': 4.042}, {'end': 864.905, 'text': 'And third part, which is my favorite and on which I would be working on is the inline editor.', 'start': 859.063, 'duration': 5.842}, {'end': 871.587, 'text': 'So the advantage with the inline editor is that you can make changes in real time and see the changes being reflected on the page.', 'start': 865.285, 'duration': 6.302}, {'end': 872.948, 'text': 'How do you do that??', 'start': 872.488, 'duration': 0.46}, {'end': 876.206, 'text': 'by straight away going to the Visualforce page.', 'start': 873.604, 'duration': 2.602}, {'end': 880.309, 'text': 'okay?. To create that Visualforce page and to access that page, then you gotta click on.', 'start': 876.206, 'duration': 4.103}, {'end': 885.313, 'text': 'first you gotta click on home page and from here you need to change the URL, okay?', 'start': 880.309, 'duration': 5.004}, {'end': 888.155, 'text': "So you can see that there's a slash home.jsp.", 'start': 885.353, 'duration': 2.802}, {'end': 895.801, 'text': "right?. So I'm gonna delete this part and say apex, slash whatever your Visualforce page name is, okay?", 'start': 888.155, 'duration': 7.646}, {'end': 899.263, 'text': 'So previously I created a Visualforce page called My App.', 'start': 896.021, 'duration': 3.242}], 'summary': 'Salesforce crm allows developers to automate data insertion and code through developer console, notepad editor, and inline editor, enabling real-time changes in visualforce pages.', 'duration': 202.29, 'max_score': 696.973, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w696973.jpg'}, {'end': 904.55, 'src': 'embed', 'start': 872.488, 'weight': 2, 'content': [{'end': 872.948, 'text': 'How do you do that??', 'start': 872.488, 'duration': 0.46}, {'end': 876.206, 'text': 'by straight away going to the Visualforce page.', 'start': 873.604, 'duration': 2.602}, {'end': 880.309, 'text': 'okay?. To create that Visualforce page and to access that page, then you gotta click on.', 'start': 876.206, 'duration': 4.103}, {'end': 885.313, 'text': 'first you gotta click on home page and from here you need to change the URL, okay?', 'start': 880.309, 'duration': 5.004}, {'end': 888.155, 'text': "So you can see that there's a slash home.jsp.", 'start': 885.353, 'duration': 2.802}, {'end': 895.801, 'text': "right?. So I'm gonna delete this part and say apex, slash whatever your Visualforce page name is, okay?", 'start': 888.155, 'duration': 7.646}, {'end': 899.263, 'text': 'So previously I created a Visualforce page called My App.', 'start': 896.021, 'duration': 3.242}, {'end': 904.55, 'text': "okay?, I'm gonna enter that detail and just show you how the Visualforce page looks like.", 'start': 899.263, 'duration': 5.287}], 'summary': 'Instructions to access visualforce page by modifying url on home page.', 'duration': 32.062, 'max_score': 872.488, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w872488.jpg'}], 'start': 129.872, 'title': 'Mvc architecture and visualforce pages in salesforce', 'summary': "Covers mvc architecture and exception handling, salesforce's mvc architecture and development, and creating/customizing visualforce pages. it discusses components and responsibilities, handling large volumes of data, and options for coding in salesforce.", 'chapters': [{'end': 273.725, 'start': 129.872, 'title': 'Understanding mvc architecture and exception handling', 'summary': 'Covers the mvc architecture, its components (model, view, and controller), and their responsibilities in controlling user interface, handling user actions, and managing data storage, followed by a discussion on exception handling.', 'duration': 143.853, 'highlights': ['The MVC architecture is responsible for controlling the user interface, defining logic, and managing components in a structured manner. The MVC architecture is adopted by multiple technologies and is responsible for controlling what the user sees on the screen, defining logic, and managing components in a structured manner.', 'The controller manages user actions and triggers, including the storage of data in the database, exemplified by the process of signing up on a website. The controller is responsible for managing user actions, triggers, and data storage, such as the process of signing up on a website where the data provided by the user goes into the database.', 'The view aspect of the MVC architecture includes what the user sees on the webpage and the corresponding data fields. The view aspect of the MVC architecture encompasses what the user sees on the webpage and the corresponding data fields, such as course listings and sign-up buttons.', 'Exception handling and showcasing user problems during failed transactions will also be covered in the session. The chapter will also cover exception handling and how exceptions can be used to showcase user problems during failed transactions.']}, {'end': 871.587, 'start': 273.725, 'title': 'Salesforce mvc architecture and development', 'summary': "Introduces the role of controllers and models in salesforce's mvc architecture, emphasizing the handling of large volumes of data, defining standard and custom objects, and the creation of visualforce pages and components. additionally, it highlights the options for coding in salesforce using developer console, notepad editor, and inline editor.", 'duration': 597.862, 'highlights': ["The role of controllers and models in Salesforce's MVC architecture is to handle large volumes of data, defining standard and custom objects, and the creation of Visualforce pages and components. The role of controllers and models in Salesforce's MVC architecture is to handle large volumes of data, defining standard and custom objects, and the creation of Visualforce pages and components.", 'Options for coding in Salesforce include the developer console, notepad editor, and inline editor, enabling developers to create Apex classes, triggers, and Visualforce pages. Options for coding in Salesforce include the developer console, notepad editor, and inline editor, enabling developers to create Apex classes, triggers, and Visualforce pages.', 'The session emphasizes the importance of automating data insertion and manipulation in Salesforce due to the need to handle large volumes of records, reaching up to millions. The session emphasizes the importance of automating data insertion and manipulation in Salesforce due to the need to handle large volumes of records, reaching up to millions.', 'Introduction to standard and custom objects and fields in Salesforce, where standard objects have standard fields and custom objects require custom fields to be defined. Introduction to standard and custom objects and fields in Salesforce, where standard objects have standard fields and custom objects require custom fields to be defined.']}, {'end': 1196.703, 'start': 872.488, 'title': 'Creating and customizing visualforce pages', 'summary': 'Explains how to create and customize visualforce pages on salesforce, including the process of accessing the page, the ability to customize the page with text and images, and the distinction between declarative and programmatic options in salesforce.', 'duration': 324.215, 'highlights': ['Visualforce page creation process The speaker explains the process of creating a Visualforce page by accessing it through the home page and modifying the URL, emphasizing the importance of this step in accessing the Visualforce page.', 'Customization of Visualforce page The chapter emphasizes the ability to customize Visualforce pages with text, images, and form tabs, providing an example of a sign-up tab with fields for name and email, along with the submit and cancel options.', 'Declarative and programmatic aspects of Salesforce The distinction between declarative and programmatic aspects of Salesforce is explained, highlighting the differences in customization options and the importance of understanding both aspects in Salesforce development.', "Workflow and trigger functionality The chapter introduces the concept of workflow and triggers, illustrating how they enable the automation of actions in response to specific events, such as creating a record under the Accounts tab when a lead's details are added."]}], 'duration': 1066.831, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w129872.jpg', 'highlights': ['The MVC architecture is responsible for controlling the user interface, defining logic, and managing components in a structured manner.', "The role of controllers and models in Salesforce's MVC architecture is to handle large volumes of data, defining standard and custom objects, and the creation of Visualforce pages and components.", 'Visualforce page creation process The speaker explains the process of creating a Visualforce page by accessing it through the home page and modifying the URL, emphasizing the importance of this step in accessing the Visualforce page.']}, {'end': 2963.677, 'segs': [{'end': 1312.38, 'src': 'embed', 'start': 1285.673, 'weight': 0, 'content': [{'end': 1290.216, 'text': 'so using the apex triggers, controllers and classes, you can write your programs to achieve the same thing.', 'start': 1285.673, 'duration': 4.543}, {'end': 1298.943, 'text': "so if, through workflow, you're having one guy to become your lead and also you're getting his company name to be added in the accounts object,", 'start': 1290.216, 'duration': 8.727}, {'end': 1299.824, 'text': 'then you can do the same thing.', 'start': 1298.943, 'duration': 0.881}, {'end': 1304.151, 'text': 'where i pick triggers, you can write a code for that, So you can do it in a customized way.', 'start': 1299.824, 'duration': 4.327}, {'end': 1306.674, 'text': 'So that is what is with respect to the business logic.', 'start': 1304.372, 'duration': 2.302}, {'end': 1312.38, 'text': 'And then when it comes to data model, from the declarative options, we have objects, fields, and relationships.', 'start': 1306.994, 'duration': 5.386}], 'summary': 'Using apex, you can customize business logic and data model in salesforce.', 'duration': 26.707, 'max_score': 1285.673, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w1285673.jpg'}, {'end': 1776.192, 'src': 'embed', 'start': 1756.22, 'weight': 1, 'content': [{'end': 1766.669, 'text': 'So the definition is that Visualforce is a framework that allows developers to build a sophisticated custom user interfaces that can be hosted natively on the force.com platform.', 'start': 1756.22, 'duration': 10.449}, {'end': 1768.851, 'text': 'Now this is the same as what I told earlier.', 'start': 1767.53, 'duration': 1.321}, {'end': 1776.192, 'text': 'right. so I told the same thing that in create your own user interfaces, you can customize those things and get them to see what you want them to see.', 'start': 1769.571, 'duration': 6.621}], 'summary': 'Visualforce allows developers to build custom user interfaces hosted on force.com platform.', 'duration': 19.972, 'max_score': 1756.22, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w1756220.jpg'}, {'end': 1927.463, 'src': 'embed', 'start': 1897.262, 'weight': 2, 'content': [{'end': 1900.744, 'text': 'So this is basically a visual force page and this is how the different page blocks are.', 'start': 1897.262, 'duration': 3.482}, {'end': 1903.486, 'text': 'You can have different components on different parts of the page.', 'start': 1901.044, 'duration': 2.442}, {'end': 1906.248, 'text': 'You can also define how big that visual force page is.', 'start': 1904.367, 'duration': 1.881}, {'end': 1913.679, 'text': 'so those things and on top that you see here right, the contacts, opportunities, forecasts, all these things.', 'start': 1906.997, 'duration': 6.682}, {'end': 1917.14, 'text': 'they are objects and they are appearing as tabs.', 'start': 1913.679, 'duration': 3.461}, {'end': 1921.421, 'text': "now, if I'm a developer, then I have an option to disable this tab.", 'start': 1917.14, 'duration': 4.281}, {'end': 1923.742, 'text': 'okay, so this is something called as header.', 'start': 1921.421, 'duration': 2.321}, {'end': 1927.463, 'text': 'so if I set a header to false, then this part will not be visible.', 'start': 1923.742, 'duration': 3.721}], 'summary': 'Visual force page allows customization of page blocks and tab visibility for objects like contacts, opportunities, and forecasts.', 'duration': 30.201, 'max_score': 1897.262, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w1897262.jpg'}, {'end': 1979.075, 'src': 'embed', 'start': 1957.284, 'weight': 3, 'content': [{'end': 1966.409, 'text': "When I say Visualforce markup, I'm referring to the Visualforce tags, the HTML tags, and the JavaScript, or any other web-enabled code.", 'start': 1957.284, 'duration': 9.125}, {'end': 1970.571, 'text': 'And all these things are embedded within the single Apex page tag.', 'start': 1966.729, 'duration': 3.842}, {'end': 1979.075, 'text': "So basically all my data, whatever contacts that I'm defining, whatever rules I'm defining, all those things basically make up my markup.", 'start': 1970.951, 'duration': 8.124}], 'summary': 'Visualforce markup includes visualforce, html, and javascript embedded in a single apex page tag.', 'duration': 21.791, 'max_score': 1957.284, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w1957284.jpg'}, {'end': 2397.393, 'src': 'heatmap', 'start': 2194.806, 'weight': 1, 'content': [{'end': 2198.748, 'text': "So I'm going back to my force.com.", 'start': 2194.806, 'duration': 3.942}, {'end': 2204.911, 'text': 'First of all, let me go to this one.', 'start': 2201.189, 'duration': 3.722}, {'end': 2209.267, 'text': 'Okay, so this is the URL of my homepage.', 'start': 2206.286, 'duration': 2.981}, {'end': 2213.408, 'text': 'So basically, to create my own Visualforce page.', 'start': 2210.987, 'duration': 2.421}, {'end': 2217.429, 'text': 'I can do it by going to setup.', 'start': 2213.408, 'duration': 4.021}, {'end': 2222.01, 'text': 'under build we have develop and under develop I can go to Visualforce pages.', 'start': 2217.429, 'duration': 4.581}, {'end': 2222.851, 'text': "Okay, it's right here.", 'start': 2222.13, 'duration': 0.721}, {'end': 2226.372, 'text': 'So when I click on this, I have the list of my Visualforce pages.', 'start': 2223.271, 'duration': 3.101}, {'end': 2227.852, 'text': 'Okay, this is the one which I showed you earlier.', 'start': 2226.412, 'duration': 1.44}, {'end': 2231.153, 'text': 'And to create a new Visualforce page, I can just click on new here.', 'start': 2228.152, 'duration': 3.001}, {'end': 2236.254, 'text': 'Okay, so I can do something like this, and this is how the coding looks like.', 'start': 2231.792, 'duration': 4.462}, {'end': 2237.435, 'text': 'I can start entering my code.', 'start': 2236.314, 'duration': 1.121}, {'end': 2238.916, 'text': 'You have a default template here, okay?', 'start': 2237.455, 'duration': 1.461}, {'end': 2240.436, 'text': "So that's the good thing, right?", 'start': 2238.936, 'duration': 1.5}, {'end': 2248.421, 'text': 'So this is one way, and alternatively I can also do it via the inline editor that I spoke about, where you can see the changes in real time,', 'start': 2240.757, 'duration': 7.664}, {'end': 2249.421, 'text': 'whatever changes you make to the code.', 'start': 2248.421, 'duration': 1}, {'end': 2252.843, 'text': "Okay, so I'll just cancel this and show you how that is done.", 'start': 2249.881, 'duration': 2.962}, {'end': 2256.868, 'text': "So I'm gonna open the Apex page.", 'start': 2253.587, 'duration': 3.281}, {'end': 2265.872, 'text': "So let's say Apex slash the name of the application or the name I wanna give to my Visualforce page.", 'start': 2257.309, 'duration': 8.563}, {'end': 2271.535, 'text': "Any suggestions, guys from the audience? Any particular name that y'all want me to give to this page?", 'start': 2266.693, 'duration': 4.842}, {'end': 2277.057, 'text': 'Okay, so let me just say demo page.', 'start': 2272.475, 'duration': 4.582}, {'end': 2282.638, 'text': "okay?. So when I say demo page, It initially says there's a visual force error.", 'start': 2277.057, 'duration': 5.581}, {'end': 2284.178, 'text': 'Demo page does not exist.', 'start': 2282.798, 'duration': 1.38}, {'end': 2288.319, 'text': "Haha, so there's a funny comment here from one of our participants.", 'start': 2285.238, 'duration': 3.081}, {'end': 2290.439, 'text': 'It says Ed Raker rocks.', 'start': 2289.119, 'duration': 1.32}, {'end': 2292.14, 'text': 'Yeah, it does rock.', 'start': 2290.819, 'duration': 1.321}, {'end': 2295.561, 'text': "So anyways, let me, I've given the name already.", 'start': 2292.9, 'duration': 2.661}, {'end': 2297.801, 'text': 'So this is gonna be the name of my visual force page.', 'start': 2295.721, 'duration': 2.08}, {'end': 2300.462, 'text': 'And let me just create that page anyways.', 'start': 2298.941, 'duration': 1.521}, {'end': 2303.242, 'text': "So I'm gonna click on this create page demo page.", 'start': 2300.522, 'duration': 2.72}, {'end': 2306.103, 'text': 'When I do this, this is gonna be the name of my visual force page.', 'start': 2303.922, 'duration': 2.181}, {'end': 2308.804, 'text': 'As you can see it says congratulations.', 'start': 2307.164, 'duration': 1.64}, {'end': 2311.405, 'text': 'This is your new page demo page.', 'start': 2308.985, 'duration': 2.42}, {'end': 2315.966, 'text': 'Okay, the page is created already, So I can edit the texture.', 'start': 2311.405, 'duration': 4.561}, {'end': 2319.307, 'text': 'I can do all that by going to my inline editor.', 'start': 2315.966, 'duration': 3.341}, {'end': 2322.788, 'text': 'Okay, so for that you will see an option on the bottom, right over here.', 'start': 2319.307, 'duration': 3.481}, {'end': 2326.428, 'text': 'Okay, so let me just highlight that.', 'start': 2323.108, 'duration': 3.32}, {'end': 2329.829, 'text': "So, as you all can see here, there's this arrow option in the right right?", 'start': 2326.428, 'duration': 3.401}, {'end': 2331.75, 'text': 'If I click on that, the editor will open.', 'start': 2329.869, 'duration': 1.881}, {'end': 2338.926, 'text': "All right, so I I'm gonna click on this part, and when I do that, the place where I have my code, that is written.", 'start': 2332.31, 'duration': 6.616}, {'end': 2342.83, 'text': 'So for this code, this is what is the output.', 'start': 2339.366, 'duration': 3.464}, {'end': 2344.632, 'text': 'Let me increase the font here.', 'start': 2343.371, 'duration': 1.261}, {'end': 2348.076, 'text': "Okay, I hope it's all visible to you all now.", 'start': 2344.652, 'duration': 3.424}, {'end': 2353.868, 'text': 'So as you can see over here, The word congratulations is under the h1 tag.', 'start': 2349.397, 'duration': 4.471}, {'end': 2357.712, 'text': "So that is why it's a little bolded over here.", 'start': 2354.649, 'duration': 3.063}, {'end': 2361.816, 'text': 'The other sentence is not because that is not inside any tags.', 'start': 2357.972, 'duration': 3.844}, {'end': 2363.538, 'text': "It's just x straight away.", 'start': 2362.096, 'duration': 1.442}, {'end': 2367.742, 'text': "So let's play around and let's do something different here.", 'start': 2363.958, 'duration': 3.784}, {'end': 2371.646, 'text': "I'm gonna just remove this part because that's just a random comment.", 'start': 2368.483, 'duration': 3.163}, {'end': 2377.858, 'text': "And you have noticed that there's an Apex page starting tag and the page ending tag is already there.", 'start': 2372.654, 'duration': 5.204}, {'end': 2380.18, 'text': 'I just need to edit details inside.', 'start': 2377.878, 'duration': 2.302}, {'end': 2392.91, 'text': "So I'm gonna say, instead of congratulations, let's say welcome to Edureka webinar on Salesforce developer.", 'start': 2380.54, 'duration': 12.37}, {'end': 2397.393, 'text': "right, so this is more like a real-time example or a real-time page that I'm creating.", 'start': 2392.91, 'duration': 4.483}], 'summary': 'Demonstration of creating a visualforce page with real-time editing and visual output in salesforce.', 'duration': 202.587, 'max_score': 2194.806, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w2194806.jpg'}], 'start': 1196.723, 'title': 'Salesforce development', 'summary': 'Covers data validation, approval process, declarative vs programmatic options in salesforce, visualforce introduction, and creating visualforce pages on apex with specific examples and demonstrations.', 'chapters': [{'end': 1249.372, 'start': 1196.723, 'title': 'Data validation and approval process', 'summary': 'Discusses the concepts of data validation rules and approval process, exemplified through an edureka sign-up page where validation rules ensure the correctness of entered data like email and phone number formats.', 'duration': 52.649, 'highlights': ['Validation rules ensure data correctness by checking if the entered data, such as email and phone number, adheres to the required formats, preventing mismatched or bogus values.', 'The approval process is based on workflow, allowing for systematic authorization of data or actions.']}, {'end': 1896.981, 'start': 1249.713, 'title': 'Salesforce declarative vs programmatic options', 'summary': 'Explains the usage of declarative and programmatic options in salesforce, highlighting the capabilities of apex triggers, controllers, classes, and the creation of objects, fields, and relationships. it also explains the importance of visualforce in creating custom user interfaces and its various applications in email templates, mobile interfaces, pdf generation, and page layout customization.', 'duration': 647.268, 'highlights': ['Apex triggers, controllers, and classes allow the creation of customized programs for automating processes in Salesforce, such as updating values based on user actions. Using Apex triggers, controllers, and classes, programs can be written to automate processes, such as updating values based on user actions on the visual force pages.', 'The importance of understanding both declarative and programmatic ways in Salesforce is emphasized for writing better programs. The understanding of both declarative and programmatic ways in Salesforce is highlighted as essential for writing better programs.', 'Visualforce is a framework that enables the creation of sophisticated custom user interfaces for the force.com platform, with applications in email templates, mobile interfaces, PDF generation, and page layout customization. Visualforce is a framework that allows the creation of sophisticated custom user interfaces for the force.com platform, with applications in email templates, mobile interfaces, PDF generation, and page layout customization.']}, {'end': 2249.421, 'start': 1897.262, 'title': 'Introduction to visualforce', 'summary': 'Introduces visualforce, covering its basic elements like page blocks, components, objects as tabs, the role of visualforce markup and controller, and demonstrates the process of creating a visualforce page on the force.com platform.', 'duration': 352.159, 'highlights': ['Visualforce page consists of page blocks, components, and objects as tabs. Visualforce pages allow the inclusion of different components on different parts of the page and the ability to define the visibility of objects as tabs.', 'Visualforce markup includes Visualforce tags, HTML tags, and JavaScript, while the Visualforce controller controls user interaction and data display. The Visualforce markup comprises Visualforce tags, HTML tags, and JavaScript, defining user interface components, whereas the Visualforce controller specifies user interaction with components and data display.', 'Demonstrates the process of creating a Visualforce page on the force.com platform. The speaker demonstrates the process of creating a Visualforce page on the force.com platform using the developer console and the inline editor.']}, {'end': 2963.677, 'start': 2249.881, 'title': 'Creating visualforce page on apex', 'summary': 'Details the process of creating a visualforce page on apex, including naming the page, adding content, styling, and displaying user-specific information, with a demonstration of adding an image and manipulating its dimensions.', 'duration': 713.796, 'highlights': ["Demonstrates naming and creating a Visualforce page The speaker demonstrates the process of naming and creating a Visualforce page, where the page is named 'demo page' and the success message 'congratulations' is displayed upon creation.", "Styling and formatting content on the Visualforce page The speaker showcases styling elements like bold and underline tags, demonstrates their implementation, and highlights changes made to the content's appearance.", "Displaying user-specific information dynamically The speaker explains how to dynamically display user-specific information like the logged-in user's first name using code, and addresses a query about fetching data from the Salesforce database.", "Adding and adjusting an image on the Visualforce page The speaker demonstrates the process of adding an image to the page using the 'apex:image' tag, and adjusting its dimensions by modifying the URL and styling attributes."]}], 'duration': 1766.954, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w1196723.jpg', 'highlights': ['Apex triggers, controllers, and classes allow the creation of customized programs for automating processes in Salesforce, such as updating values based on user actions.', 'Visualforce is a framework that enables the creation of sophisticated custom user interfaces for the force.com platform, with applications in email templates, mobile interfaces, PDF generation, and page layout customization.', 'Visualforce pages allow the inclusion of different components on different parts of the page and the ability to define the visibility of objects as tabs.', 'The Visualforce markup comprises Visualforce tags, HTML tags, and JavaScript, defining user interface components, whereas the Visualforce controller specifies user interaction with components and data display.']}, {'end': 3507.202, 'segs': [{'end': 3037.083, 'src': 'embed', 'start': 3008.365, 'weight': 0, 'content': [{'end': 3013.868, 'text': "After this, I'll have to cover the Apex aspect, and then I have to talk about the test cases and, you know, exceptions.", 'start': 3008.365, 'duration': 5.503}, {'end': 3017.53, 'text': "So it's gonna be pretty long, but you're gonna have a lot of fun, guys, okay?", 'start': 3014.208, 'duration': 3.322}, {'end': 3025.654, 'text': "So for now, I will close the Visualforce page and I'm gonna save this and I'm gonna let it be and get back to my slides.", 'start': 3018.23, 'duration': 7.424}, {'end': 3031.577, 'text': "Okay, guys? I'm gonna get back to my slides for now, and I'm gonna get started with Apex.", 'start': 3026.874, 'duration': 4.703}, {'end': 3037.083, 'text': 'So APEX, right? APEX is the one in which you can do the coding.', 'start': 3033.16, 'duration': 3.923}], 'summary': 'Covering apex, test cases, and exceptions in the presentation. moving on to apex coding.', 'duration': 28.718, 'max_score': 3008.365, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3008365.jpg'}, {'end': 3077.195, 'src': 'embed', 'start': 3049.274, 'weight': 1, 'content': [{'end': 3051.455, 'text': 'And this is the part where we are gonna concentrate on right now.', 'start': 3049.274, 'duration': 2.181}, {'end': 3056.44, 'text': 'And where do you use APEX, okay? And when to use APEX.', 'start': 3052.376, 'duration': 4.064}, {'end': 3063.03, 'text': 'You can use Apex programming language to add custom logic to your application, like web and email services.', 'start': 3057.168, 'duration': 5.862}, {'end': 3065.991, 'text': 'complex validation transaction logic.', 'start': 3063.03, 'duration': 2.961}, {'end': 3071.513, 'text': 'complex business processes, logic to operations like saving a record and basically everywhere.', 'start': 3065.991, 'duration': 5.522}, {'end': 3077.195, 'text': 'So this Apex is basically the code that controls whatever you want your people to see.', 'start': 3072.293, 'duration': 4.902}], 'summary': 'Use apex for custom logic in web, email services, validation, and business processes.', 'duration': 27.921, 'max_score': 3049.274, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3049274.jpg'}, {'end': 3308.401, 'src': 'embed', 'start': 3282.928, 'weight': 3, 'content': [{'end': 3288.573, 'text': 'So what it means is that from your database you can have such queries and you can basically query your database.', 'start': 3282.928, 'duration': 5.645}, {'end': 3293.257, 'text': 'You can find out, you can retrieve data and you can search that data, all those things.', 'start': 3288.813, 'duration': 4.444}, {'end': 3301.926, 'text': 'So querying will be with respect to the SOQL aspect and searching that data would be with respect to the SOSL part of Salesforce.', 'start': 3293.838, 'duration': 8.088}, {'end': 3303.458, 'text': 'You can do those things.', 'start': 3302.617, 'duration': 0.841}, {'end': 3305.479, 'text': 'Then you have control flow statements.', 'start': 3304.058, 'duration': 1.421}, {'end': 3308.401, 'text': 'So you have an if loop here, right? You have an if condition.', 'start': 3305.959, 'duration': 2.442}], 'summary': 'Salesforce enables querying and searching data, including using soql and sosl, and supports control flow statements like if loops.', 'duration': 25.473, 'max_score': 3282.928, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3282928.jpg'}], 'start': 2964.397, 'title': 'Visualforce and apex in webinars', 'summary': 'Covers visualforce and apex aspects in a webinar, with a longer session on apex, including test cases, exceptions, transactional logic, complex business processes, and sql queries.', 'chapters': [{'end': 3092.386, 'start': 2964.397, 'title': 'Visualforce and apex webinar', 'summary': 'Covers the visualforce and apex aspect of a webinar, highlighting the duration and topics to be discussed, including a longer session covering the apex aspect, test cases, and exceptions.', 'duration': 127.989, 'highlights': ['The session will cover the Visualforce aspect first, followed by the Apex aspect, test cases, and exceptions, with the webinar expected to be longer.', 'The Apex programming language allows the addition of custom logic to applications, including web and email services, complex validation, transaction logic, business processes, and controlling what customers can see.', 'The speaker engages with the audience, asking about doubts and fun, and mentions that the session is expected to be longer.', 'The speaker describes adjusting height and width in the context of a demonstration.']}, {'end': 3507.202, 'start': 3092.767, 'title': 'Apex programming concepts', 'summary': 'Explains transactional logic, complex business processes, and programming concepts in apex, highlighting the power of apex for salesforce development and the use of sql queries and control flow statements.', 'duration': 414.435, 'highlights': ['Transactional logic and complex business processes The concept of transactional logic and complex business processes involves the actions triggered when transactions occur, like adding a lead to create an account and converting a lead to a contact, demonstrating the power of Apex for Salesforce development.', 'Use of SQL queries and control flow statements in Apex Salesforce supports SQL queries (SOQL and SOSL) for retrieving and searching data, along with control flow statements like if conditions and DML statements for data manipulation, providing flexibility and functionality for developers.', 'Power of Apex for Salesforce development Apex programming language offers the ability to define complex business processes, verify data stored in the database, and create logic for specific data scenarios, empowering developers to build advanced and customized functionalities in Salesforce.']}], 'duration': 542.805, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w2964397.jpg', 'highlights': ['The session will cover the Visualforce aspect first, followed by the Apex aspect, test cases, and exceptions, with the webinar expected to be longer.', 'The Apex programming language allows the addition of custom logic to applications, including web and email services, complex validation, transaction logic, business processes, and controlling what customers can see.', 'Transactional logic and complex business processes involve the actions triggered when transactions occur, like adding a lead to create an account and converting a lead to a contact, demonstrating the power of Apex for Salesforce development.', 'Use of SQL queries and control flow statements in Apex Salesforce supports SQL queries (SOQL and SOSL) for retrieving and searching data, along with control flow statements like if conditions and DML statements for data manipulation, providing flexibility and functionality for developers.']}, {'end': 4372.768, 'segs': [{'end': 3568.991, 'src': 'embed', 'start': 3507.823, 'weight': 1, 'content': [{'end': 3510.846, 'text': 'Now moving on, programming in Apex.', 'start': 3507.823, 'duration': 3.023}, {'end': 3512.888, 'text': 'So this is the main topic for today.', 'start': 3511.266, 'duration': 1.622}, {'end': 3520.507, 'text': 'Now, before I show you how Apex codes to show you more functionalities with the Apex code and show you the different languages,', 'start': 3513.621, 'duration': 6.886}, {'end': 3525.171, 'text': "I'm gonna go through these basics which you have in any programming language.", 'start': 3520.507, 'duration': 4.664}, {'end': 3530.315, 'text': "So in Salesforce it's just, I'm gonna brief you about all these things.", 'start': 3525.591, 'duration': 4.724}, {'end': 3534.819, 'text': 'So first of all, let me talk about the primitive data types and variables.', 'start': 3531.416, 'duration': 3.403}, {'end': 3537.821, 'text': 'So Apex supports these data types.', 'start': 3535.519, 'duration': 2.302}, {'end': 3548.56, 'text': 'They are blob, boolean date, date time, decibel, double ID, integer, long object string, time.', 'start': 3538.382, 'duration': 10.178}, {'end': 3549.92, 'text': "so it's all pretty obvious, right?", 'start': 3548.56, 'duration': 1.36}, {'end': 3554.823, 'text': "So it's very simple data types that'll be supported by the other different programming languages, right?", 'start': 3550.001, 'duration': 4.822}, {'end': 3557.665, 'text': "Maybe blob is something one of you don't, doesn't know?", 'start': 3555.163, 'duration': 2.502}, {'end': 3562.667, 'text': 'So blob means, you know, the data will basically be in the form of binary data, right?', 'start': 3557.825, 'duration': 4.842}, {'end': 3565.369, 'text': 'So your binary data will be stored as object.', 'start': 3562.968, 'duration': 2.401}, {'end': 3566.409, 'text': "so that's what blob means.", 'start': 3565.369, 'duration': 1.04}, {'end': 3568.991, 'text': 'And Boolean, you all must know what Boolean is.', 'start': 3566.93, 'duration': 2.061}], 'summary': 'Introduction to apex programming and its supported data types and variables.', 'duration': 61.168, 'max_score': 3507.823, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3507823.jpg'}, {'end': 3631.679, 'src': 'embed', 'start': 3607.974, 'weight': 4, 'content': [{'end': 3617.117, 'text': 'So by default, all the contact IDs or the lead IDs or all those things will have an ID that is associated, right? And that ID will be in this format.', 'start': 3607.974, 'duration': 9.143}, {'end': 3621.854, 'text': 'So, basically all the IDs right which are there in Salesforce.', 'start': 3617.952, 'duration': 3.902}, {'end': 3628.097, 'text': "supposing there's a new lead that's getting created, or there is a new account that's getting created or a new contact,", 'start': 3621.854, 'duration': 6.243}, {'end': 3631.679, 'text': 'then in that object there will be an option of ID, okay?', 'start': 3628.097, 'duration': 3.582}], 'summary': 'Salesforce assigns ids to contacts, leads, and accounts in a specific format.', 'duration': 23.705, 'max_score': 3607.974, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3607974.jpg'}, {'end': 3742.068, 'src': 'embed', 'start': 3714.138, 'weight': 0, 'content': [{'end': 3719.62, 'text': 'so that which I will create is gonna be done by me, so that is referred to as a custom object.', 'start': 3714.138, 'duration': 5.482}, {'end': 3727.643, 'text': 'But when we say S objects, we refer to standard objects, and standard objects are those objects that are standard in Salesforce, okay?', 'start': 3720.24, 'duration': 7.403}, {'end': 3734.345, 'text': 'So the example of S objects are accounts, opportunities, all those things which you see on the tab over there on the top.', 'start': 3727.663, 'duration': 6.682}, {'end': 3738.407, 'text': 'like when I showed you earlier, when I showed you myforce.com, all those tabs that you saw right?', 'start': 3734.745, 'duration': 3.662}, {'end': 3742.068, 'text': 'So S objects refer to those objects which are inbuilt in Salesforce.', 'start': 3738.747, 'duration': 3.321}], 'summary': 'Custom objects are created by users, while s objects are standard in salesforce, such as accounts and opportunities.', 'duration': 27.93, 'max_score': 3714.138, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3714138.jpg'}, {'end': 3997.427, 'src': 'heatmap', 'start': 3889.59, 'weight': 0.718, 'content': [{'end': 3891.693, 'text': 'Okay, I can write my apex code over there.', 'start': 3889.59, 'duration': 2.103}, {'end': 3897.081, 'text': "So my developer console is available here and it's open in a new window.", 'start': 3892.434, 'duration': 4.647}, {'end': 3899.2, 'text': 'and okay.', 'start': 3897.081, 'duration': 2.119}, {'end': 3901.982, 'text': 'so guys, this is the developer console.', 'start': 3899.2, 'duration': 2.782}, {'end': 3908.227, 'text': 'all right, and to create a new class you can just click on file and say new apex class.', 'start': 3901.982, 'duration': 6.245}, {'end': 3911.85, 'text': "okay, then it'll ask you for the class name and then you can give the name of the class.", 'start': 3908.227, 'duration': 3.623}, {'end': 3916.233, 'text': "supposing I'm going to create an application to check the addition of two numbers.", 'start': 3911.85, 'duration': 4.383}, {'end': 3923.458, 'text': "okay, I'm going to say the class name is add, okay, and in fact let me give this as the class name.", 'start': 3916.233, 'duration': 7.225}, {'end': 3927.608, 'text': 'okay, class, add, okay.', 'start': 3924.406, 'duration': 3.202}, {'end': 3933.373, 'text': 'so my new class would be created public class, and this is the name of the class that I had given.', 'start': 3927.608, 'duration': 5.765}, {'end': 3939.177, 'text': 'but before me writing any code inside this, let me show you one more advantage that you have with the developer console.', 'start': 3933.373, 'duration': 5.804}, {'end': 3946.703, 'text': 'okay, so instead of having to get your syntax correct all the time, instead of having to get your code totally perfect all the time,', 'start': 3939.177, 'duration': 7.526}, {'end': 3948.244, 'text': 'you have an option to you know.', 'start': 3946.703, 'duration': 1.541}, {'end': 3950.651, 'text': 'just check your logic, Okay here.', 'start': 3948.244, 'duration': 2.407}, {'end': 3955.873, 'text': "I don't where I don't need to give the class name and stuff Okay, and that logic you can find it over here.", 'start': 3950.731, 'duration': 5.142}, {'end': 3960.715, 'text': 'Okay, under debug you have this option of open, execute anonymous window.', 'start': 3955.973, 'duration': 4.742}, {'end': 3961.335, 'text': 'All right.', 'start': 3960.715, 'duration': 0.62}, {'end': 3963.956, 'text': "so when I click on this, there's a new window that opens.", 'start': 3961.335, 'duration': 2.621}, {'end': 3966.277, 'text': 'so in here I can just check the logic of the code.', 'start': 3963.956, 'duration': 2.321}, {'end': 3967.978, 'text': "Okay, I don't need to enter anything else.", 'start': 3966.277, 'duration': 1.701}, {'end': 3970.879, 'text': "I don't need to enter the class name or the method name and all those things.", 'start': 3967.978, 'duration': 2.901}, {'end': 3977.561, 'text': "I can just check if my actual logic right is where I'm defining the different variables and I'm saying add these two numbers.", 'start': 3970.879, 'duration': 6.682}, {'end': 3979.242, 'text': 'I just need to enter all those things.', 'start': 3978.221, 'duration': 1.021}, {'end': 3981.782, 'text': 'So let me show you an example first, okay?', 'start': 3979.562, 'duration': 2.22}, {'end': 3987.824, 'text': "So I'm gonna define the three variables A, comma B, comma C, semicolon.", 'start': 3982.102, 'duration': 5.722}, {'end': 3997.427, 'text': "and I'm gonna say, let's give the A is equal to 48, and B is equal to four, right?", 'start': 3987.824, 'duration': 9.603}], 'summary': 'Using developer console to create an apex class and check logic for addition of two numbers.', 'duration': 107.837, 'max_score': 3889.59, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3889590.jpg'}], 'start': 3507.823, 'title': 'Apex data types, variables, and s objects in salesforce', 'summary': 'Covers primitive data types and variables in salesforce apex, such as blob, boolean, date, datetime, decimal, double, id, integer, long, object, and string, with examples. it also explains s objects, their significance, creation, and manipulation in salesforce, including standard and custom objects, and demonstrates creating and executing apex code for adding two numbers and testing the logic.', 'chapters': [{'end': 3654.547, 'start': 3507.823, 'title': 'Apex data types and variables', 'summary': 'Covers the primitive data types and variables in salesforce apex, including blob, boolean, date, datetime, decimal, double, id, integer, long, object, and string, with examples and explanations.', 'duration': 146.724, 'highlights': ['Apex supports data types such as blob, boolean, date, datetime, decimal, double, ID, integer, long, object, and string, with examples given for boolean and double data types. The chapter explains the primitive data types supported by Apex, including blob, boolean, date, datetime, decimal, double, ID, integer, long, object, and string. It provides examples for boolean and double data types.', 'Explanation of the specific format of ID data type in Salesforce, and its association with contact IDs, lead IDs, and object creation in Salesforce. Details the specific format of the ID data type in Salesforce, its association with contact IDs, lead IDs, and object creation in Salesforce.', 'Introduction to the blob data type and its storage of binary data, with a simple explanation. Introduces the blob data type and explains its storage of binary data in a simple manner.']}, {'end': 4372.768, 'start': 3654.547, 'title': 'Understanding s objects in salesforce', 'summary': 'Explains the concept of s objects and their significance in salesforce, including the definition, creation, and manipulation of standard and custom objects, along with examples and demonstrations of creating and executing apex code for adding two numbers and testing the logic.', 'duration': 718.221, 'highlights': ['The chapter explains the concept of S objects and their significance in Salesforce The transcript extensively covers the definition and significance of S objects, including the creation and manipulation of standard and custom objects in Salesforce.', 'Demonstrations of creating and executing Apex code for adding two numbers and testing the logic The transcript provides a detailed demonstration of creating and executing Apex code to add two numbers and test the logic, showcasing the practical application of Salesforce development.', "Examples and demonstrations of creating and manipulating standard and custom objects The chapter includes examples and demonstrations of creating and manipulating standard and custom objects in Salesforce, providing practical insights into the platform's functionality."]}], 'duration': 864.945, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w3507823.jpg', 'highlights': ['The chapter explains the concept of S objects and their significance in Salesforce', 'Demonstrations of creating and executing Apex code for adding two numbers and testing the logic', 'Examples and demonstrations of creating and manipulating standard and custom objects', 'Introduction to the blob data type and its storage of binary data, with a simple explanation', 'Explanation of the specific format of ID data type in Salesforce, and its association with contact IDs, lead IDs, and object creation in Salesforce', 'Apex supports data types such as blob, boolean, date, datetime, decimal, double, ID, integer, long, object, and string, with examples given for boolean and double data types']}, {'end': 5725.884, 'segs': [{'end': 4422.175, 'src': 'embed', 'start': 4397.833, 'weight': 1, 'content': [{'end': 4404.759, 'text': 'So Apex basically has these three types of collections, okay? One is list, the other one is set, and the other one is map.', 'start': 4397.833, 'duration': 6.926}, {'end': 4409.564, 'text': 'When we say list, it is something which is very similar to array.', 'start': 4406.06, 'duration': 3.504}, {'end': 4412.146, 'text': 'okay?. You have a number of fields, all right?', 'start': 4409.564, 'duration': 2.582}, {'end': 4415.809, 'text': 'And a set of these fields or a set of these records.', 'start': 4412.466, 'duration': 3.343}, {'end': 4419.272, 'text': 'you just have them indexed, starting from zero, okay?', 'start': 4415.809, 'duration': 3.463}, {'end': 4422.175, 'text': 'And this is the syntax for defining a new list.', 'start': 4419.312, 'duration': 2.863}], 'summary': 'Apex has list, set, and map collections, similar to array, with indexed fields starting from zero.', 'duration': 24.342, 'max_score': 4397.833, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w4397833.jpg'}, {'end': 4789.967, 'src': 'heatmap', 'start': 4688.215, 'weight': 0.716, 'content': [{'end': 4693.517, 'text': "Okay, and when it comes to Rahul from Chennai, there's no entry for Rahul, right?", 'start': 4688.215, 'duration': 5.302}, {'end': 4696.139, 'text': 'So this is a new entry has to be created for this.', 'start': 4694.078, 'duration': 2.061}, {'end': 4698.079, 'text': 'So that would be added here.', 'start': 4696.659, 'duration': 1.42}, {'end': 4705.303, 'text': 'So so this database here will be modified to Rahul comma Chennai, where it should be appended to the existing database.', 'start': 4698.099, 'duration': 7.204}, {'end': 4710.083, 'text': 'So that is about different commands that we have, the different DML operations.', 'start': 4705.303, 'duration': 4.78}, {'end': 4712.185, 'text': 'These are the four primary DML operations.', 'start': 4710.304, 'duration': 1.881}, {'end': 4715.408, 'text': 'But besides these four commands, we have merge and un-delete.', 'start': 4712.606, 'duration': 2.802}, {'end': 4717.93, 'text': 'So we have these two operations too.', 'start': 4716.008, 'duration': 1.922}, {'end': 4723.034, 'text': "But anyways, I'm gonna move on to the next topic now, SOQL and SOSL.", 'start': 4718.47, 'duration': 4.564}, {'end': 4724.716, 'text': 'Earlier I told you what they stand for.', 'start': 4723.375, 'duration': 1.341}, {'end': 4731.662, 'text': 'So SOQL stands for Salesforce Object Query Language and SOSL stands for Salesforce Object Search Language.', 'start': 4724.776, 'duration': 6.886}, {'end': 4736.346, 'text': 'Now the insert, delete, update, and absurd commands.', 'start': 4732.543, 'duration': 3.803}, {'end': 4740.189, 'text': 'So these functions can be performed only if you run some queries initially.', 'start': 4736.566, 'duration': 3.623}, {'end': 4744.212, 'text': 'So you have your database, then you have to retrieve some data from there.', 'start': 4741.169, 'duration': 3.043}, {'end': 4748.355, 'text': 'Only then you can perform any operations like insert, delete, or update.', 'start': 4744.312, 'duration': 4.043}, {'end': 4753.756, 'text': "So for that purpose, I'm gonna give you a brief about these two sets of Salesforce features.", 'start': 4749.235, 'duration': 4.521}, {'end': 4758.918, 'text': 'So these SOQL statements can be basically used to query your database.', 'start': 4754.397, 'duration': 4.521}, {'end': 4763.719, 'text': 'If you wanna retrieve a particular record from your entire database, then you can use the SOQL statements.', 'start': 4759.198, 'duration': 4.521}, {'end': 4770.481, 'text': 'And in case you wanna search the existing database, then with the help of SOQL list, then you can retrieve those database.', 'start': 4764.119, 'duration': 6.362}, {'end': 4772.122, 'text': 'So you have the syntax right here.', 'start': 4770.501, 'duration': 1.621}, {'end': 4777.363, 'text': 'So for SOQL, you give the keyword list and then you can give the object name.', 'start': 4772.962, 'duration': 4.401}, {'end': 4780.982, 'text': 'you have the variable name and then you give the query language right?', 'start': 4778.1, 'duration': 2.882}, {'end': 4789.967, 'text': 'Whatever query you want to do, you want to say select ID and name from the object account where the name is a particular name.', 'start': 4781.522, 'duration': 8.445}], 'summary': 'The training covered dml operations, soql, and sosl for salesforce, including basic syntax and functionality.', 'duration': 101.752, 'max_score': 4688.215, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w4688215.jpg'}, {'end': 4847.96, 'src': 'embed', 'start': 4798.611, 'weight': 0, 'content': [{'end': 4802.894, 'text': 'those records will be retrieved and those records will be retrieved and ID and name will be displayed.', 'start': 4798.611, 'duration': 4.283}, {'end': 4806.027, 'text': 'So similarly, the same thing for SOSL.', 'start': 4803.706, 'duration': 2.321}, {'end': 4811.391, 'text': "But SOSL, what happens here is the data will be searched for and then they'll be retrieved.", 'start': 4806.088, 'duration': 5.303}, {'end': 4819.276, 'text': 'So that is the importance of SOQL and SOSL because any modifications or any updations cannot be done to the database without these.', 'start': 4811.951, 'duration': 7.325}, {'end': 4826.14, 'text': "So whether it's insert or whether you're deleting something, they can be done only after you use your SOQL.", 'start': 4819.936, 'duration': 6.204}, {'end': 4832.774, 'text': "So now that I've given you an introduction to the DML statements, let me go on and show you a demonstration.", 'start': 4827.992, 'duration': 4.782}, {'end': 4836.355, 'text': 'So let me open the developer console.', 'start': 4833.994, 'duration': 2.361}, {'end': 4840.237, 'text': 'So basically let me show you how these queries can be performed.', 'start': 4837.576, 'duration': 2.661}, {'end': 4847.96, 'text': "So let's say I wanna first add a particular record to my contacts object.", 'start': 4842.858, 'duration': 5.102}], 'summary': 'Introduction to soql and sosl, essential for database modifications and queries.', 'duration': 49.349, 'max_score': 4798.611, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w4798611.jpg'}, {'end': 5040.026, 'src': 'embed', 'start': 5013.838, 'weight': 7, 'content': [{'end': 5020.439, 'text': 'I can go back to my force.com Salesforce org and check if I have actually got an updated contact with that name.', 'start': 5013.838, 'duration': 6.601}, {'end': 5023.86, 'text': "Okay, so I'm going back to my objects in contacts.", 'start': 5021.239, 'duration': 2.621}, {'end': 5030.441, 'text': "As you can see, there's a new contact which was recently added, right? And his name is Michael Oliver.", 'start': 5025.06, 'duration': 5.381}, {'end': 5035.422, 'text': 'And I had given the email address as mo.gmail.com and this was added.', 'start': 5031.421, 'duration': 4.001}, {'end': 5040.026, 'text': "Correct? So that's how insertions work, guys.", 'start': 5036.425, 'duration': 3.601}], 'summary': 'A new contact named michael oliver with the email mo@gmail.com was recently added to the salesforce org, demonstrating insertions.', 'duration': 26.188, 'max_score': 5013.838, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5013838.jpg'}, {'end': 5150.448, 'src': 'embed', 'start': 5126.699, 'weight': 8, 'content': [{'end': 5134.161, 'text': "Now I'm gonna show you a demonstration of those lists, how to create a list, how to add different records to that list and those things.", 'start': 5126.699, 'duration': 7.462}, {'end': 5145.667, 'text': 'So for declaring a list, what you gotta do is you gotta specify list and the data type and whatever variable name you wanna give.', 'start': 5135.285, 'duration': 10.382}, {'end': 5150.448, 'text': "So I'll give colors, okay, because I'm gonna show you an example of adding colors to here.", 'start': 5145.767, 'duration': 4.681}], 'summary': 'Demonstration of creating and adding records to lists.', 'duration': 23.749, 'max_score': 5126.699, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5126699.jpg'}, {'end': 5479.763, 'src': 'embed', 'start': 5414.199, 'weight': 9, 'content': [{'end': 5417.961, 'text': 'it says that the list size is only two and the coordinates are only blue and red.', 'start': 5414.199, 'duration': 3.762}, {'end': 5420.743, 'text': 'That is because the duplicated value was not considered at all.', 'start': 5418.121, 'duration': 2.622}, {'end': 5423.765, 'text': 'So that is what happens with set.', 'start': 5421.404, 'duration': 2.361}, {'end': 5427.648, 'text': "So the difference between list and set is what I've told you now.", 'start': 5424.746, 'duration': 2.902}, {'end': 5433.492, 'text': 'It is that the duplicated value will not be inserted, and you will just be shown the output straight away.', 'start': 5428.368, 'duration': 5.124}, {'end': 5438.105, 'text': 'So maps on the other hand, they work with a key value pair.', 'start': 5434.522, 'duration': 3.583}, {'end': 5443.229, 'text': 'And these key value pairs, they can be either string or they can be integer or they can be anything.', 'start': 5438.265, 'duration': 4.964}, {'end': 5451.736, 'text': 'So that is what is map and to add details to a map, then you can either use map.add or map.put.', 'start': 5443.85, 'duration': 7.886}, {'end': 5455.68, 'text': 'So when you use any of these, then you can get your value into that map.', 'start': 5451.816, 'duration': 3.864}, {'end': 5460.555, 'text': 'So, guys, that was with respect to how records are added to the list, okay?', 'start': 5456.673, 'duration': 3.882}, {'end': 5468.78, 'text': 'So we tried inserting them and I also showed you how to add details to other maps and how to add records to set right?', 'start': 5460.695, 'duration': 8.085}, {'end': 5472.482, 'text': "So now what I'm gonna do is I'm gonna show you how to query them.", 'start': 5468.92, 'duration': 3.562}, {'end': 5477.561, 'text': 'Supposing I want to extract some records from the existing object.', 'start': 5473.518, 'duration': 4.043}, {'end': 5478.222, 'text': 'how do I do that??', 'start': 5477.561, 'duration': 0.661}, {'end': 5479.763, 'text': 'What command do I run?', 'start': 5478.682, 'duration': 1.081}], 'summary': "Lists and sets don't allow duplicates, maps use key-value pairs for adding records.", 'duration': 65.564, 'max_score': 5414.199, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5414199.jpg'}, {'end': 5626.015, 'src': 'embed', 'start': 5599.608, 'weight': 12, 'content': [{'end': 5609.55, 'text': 'what I can do is I can run a for loop such that for contact f, colon, con, And inside.', 'start': 5599.608, 'duration': 9.942}, {'end': 5615.532, 'text': "here let me display each and every record as and when it's being generated.", 'start': 5609.55, 'duration': 5.982}, {'end': 5623.294, 'text': 'So if there are around 100 contacts inside that contact object, then by creating one for loop,', 'start': 5615.872, 'duration': 7.422}, {'end': 5626.015, 'text': "I'd write a code such that it prints the contact number.", 'start': 5623.294, 'duration': 2.721}], 'summary': "A for loop can display 100 contacts' numbers from a contact object.", 'duration': 26.407, 'max_score': 5599.608, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5599608.jpg'}], 'start': 4373.128, 'title': 'Salesforce development fundamentals', 'summary': 'Covers apex code basics, three types of collections in apex, salesforce dml operations, query languages, data manipulation, and salesforce development examples, including inserting new contacts, working with maps, and querying records.', 'chapters': [{'end': 4517.525, 'start': 4373.128, 'title': 'Apex code and collections', 'summary': 'Explains the basics of writing apex code and introduces the three types of collections in apex: list, set, and map, highlighting their differences and syntax.', 'duration': 144.397, 'highlights': ['Apex has three types of collections: list, set, and map, each with different functionalities and syntax.', 'Lists in Apex are similar to arrays, allowing indexed storage of fields or records.', 'Sets in Apex allow direct storage of data without indexing, differing from lists.', 'Maps in Apex use key-value pairs for storage, providing a value for each key without indexing.']}, {'end': 4981.744, 'start': 4517.525, 'title': 'Salesforce dml operations and query languages', 'summary': 'Provides an overview of salesforce dml operations, covering insert, update, delete, and absurd commands, along with the importance of soql and sosl in querying and searching the database, enabling data operations, and a demonstration of adding a record using the developer console.', 'duration': 464.219, 'highlights': ['The importance of SOQL and SOSL as they enable data operations like insert, delete, or update to the database only after running queries initially. SOQL and SOSL are essential for enabling data operations like insert, delete, or update to the database, as these functions can be performed only after running some queries initially.', 'Overview of Salesforce DML operations, covering insert, update, delete, and absurd commands. An overview of Salesforce DML operations, including insert, update, delete, and absurd commands, with examples of adding and updating records in the database.', 'Demonstration of adding a record to the contacts object using the developer console, including setting the first name, last name, email, and performing an insert operation. A demonstration of adding a record to the contacts object using the developer console, setting the first name, last name, email, and performing an insert operation, followed by displaying the unique ID of the newly added record.']}, {'end': 5433.492, 'start': 4982.544, 'title': 'Salesforce development examples', 'summary': 'Demonstrates the process of inserting new contacts into a salesforce org, validating insertions, creating and manipulating lists, highlighting the differences between lists and sets, and how duplicates are handled in sets.', 'duration': 450.948, 'highlights': ["The chapter demonstrates the process of inserting new contacts into a Salesforce org and validating insertions. The speaker adds code to execute and demonstrates the insertion of a new contact with the name 'Michael Oliver' and email 'mo@gmail.com', highlighting the successful insertion process.", 'The chapter showcases the creation and manipulation of lists, including adding and displaying records. The speaker declares a list of colors, adds different records (yellow, blue, red) to the list, and displays the list size and contents, showcasing the process of creating and manipulating lists in Salesforce development.', 'The chapter highlights the differences between lists and sets, emphasizing how duplicates are handled in sets. The speaker demonstrates adding duplicate values to a set and explains how the set only retains unique values, showcasing the difference in handling duplicates between lists and sets in Salesforce development.']}, {'end': 5725.884, 'start': 5434.522, 'title': 'Working with maps and querying records in salesforce', 'summary': 'Covers the basics of working with maps in salesforce, including adding details to maps and querying records from existing objects, with a demonstration of querying contact records using a for loop, resulting in the successful retrieval and display of records.', 'duration': 291.362, 'highlights': ['The chapter covers the basics of working with maps in Salesforce, including adding details to maps and querying records from existing objects, with a demonstration of querying contact records using a for loop, resulting in the successful retrieval and display of records.', 'The speaker explains the concept of maps in Salesforce, emphasizing that maps work with key-value pairs and can accommodate strings, integers, or other data types, and details the process of adding records to a map using map.add or map.put.', 'The speaker demonstrates the process of querying contact records in Salesforce using a for loop, highlighting the retrieval of contact records and the successful display of contact details, such as first name, last name, and phone number, through the use of system.debug command.']}], 'duration': 1352.756, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w4373128.jpg', 'highlights': ['Covers apex code basics, three types of collections in apex, salesforce dml operations, query languages, data manipulation, and salesforce development examples, including inserting new contacts, working with maps, and querying records.', 'Lists in Apex are similar to arrays, allowing indexed storage of fields or records.', 'Sets in Apex allow direct storage of data without indexing, differing from lists.', 'Maps in Apex use key-value pairs for storage, providing a value for each key without indexing.', 'The importance of SOQL and SOSL as they enable data operations like insert, delete, or update to the database only after running queries initially.', 'Overview of Salesforce DML operations, covering insert, update, delete, and absurd commands.', 'Demonstration of adding a record to the contacts object using the developer console, including setting the first name, last name, email, and performing an insert operation.', 'The chapter demonstrates the process of inserting new contacts into a Salesforce org and validating insertions.', 'The chapter showcases the creation and manipulation of lists, including adding and displaying records.', 'The chapter highlights the differences between lists and sets, emphasizing how duplicates are handled in sets.', 'The chapter covers the basics of working with maps in Salesforce, including adding details to maps and querying records from existing objects.', 'The speaker explains the concept of maps in Salesforce, emphasizing that maps work with key-value pairs and can accommodate strings, integers, or other data types.', 'The speaker demonstrates the process of querying contact records in Salesforce using a for loop, highlighting the retrieval of contact records and the successful display of contact details, such as first name, last name, and phone number, through the use of system.debug command.']}, {'end': 6371.296, 'segs': [{'end': 5957.304, 'src': 'embed', 'start': 5935.416, 'weight': 1, 'content': [{'end': 5945.039, 'text': "because this is the point when you would have finished entering details into either your validation pages or your registration pages and you'll have to insert triggers.", 'start': 5935.416, 'duration': 9.623}, {'end': 5948.001, 'text': 'So you either insert triggers before this point or after this point.', 'start': 5945.079, 'duration': 2.922}, {'end': 5953.903, 'text': "If it's before this point, you'll have a set of triggers which will run and it will do some system validation rules.", 'start': 5948.641, 'duration': 5.262}, {'end': 5957.304, 'text': "So, like I said, it'll check for the different email address fields.", 'start': 5954.283, 'duration': 3.021}], 'summary': 'Insert triggers before or after entering details for system validation rules.', 'duration': 21.888, 'max_score': 5935.416, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5935416.jpg'}, {'end': 6116.73, 'src': 'embed', 'start': 6086.489, 'weight': 2, 'content': [{'end': 6089.87, 'text': 'Now, let me quickly go to my developer console and show you a quick demonstration.', 'start': 6086.489, 'duration': 3.381}, {'end': 6093.031, 'text': "Okay, I'll show you how triggers are created and how we can execute them.", 'start': 6090.01, 'duration': 3.021}, {'end': 6095.252, 'text': "In fact, I'll not be going to my developer console.", 'start': 6093.651, 'duration': 1.601}, {'end': 6098.032, 'text': "I'll actually be doing it from in my force.com.", 'start': 6095.852, 'duration': 2.18}, {'end': 6102.273, 'text': "Okay, so because it's easier to just create triggers over there and implement them.", 'start': 6098.172, 'duration': 4.101}, {'end': 6102.774, 'text': 'All right.', 'start': 6102.554, 'duration': 0.22}, {'end': 6109.816, 'text': "So if you want to create a new trigger, then once you're in your force.com, what you got to do is scroll down under the build option.", 'start': 6103.114, 'duration': 6.702}, {'end': 6116.73, 'text': 'You have customized, right? So, under customize, you can choose any of the objects on which you want to create the trigger for.', 'start': 6109.856, 'duration': 6.874}], 'summary': 'Demonstration of creating triggers in force.com for customized objects.', 'duration': 30.241, 'max_score': 6086.489, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6086489.jpg'}, {'end': 6256.221, 'src': 'embed', 'start': 6230.435, 'weight': 0, 'content': [{'end': 6237.756, 'text': 'I was telling you about the different triggers right? The before insert after insert, before delete, after delete, before update after update,', 'start': 6230.435, 'duration': 7.321}, {'end': 6239.417, 'text': 'and there was one more after undelete.', 'start': 6237.756, 'duration': 1.661}, {'end': 6245.838, 'text': 'So those events are what you need to enter over here, because when any of those actions are performed on the database,', 'start': 6239.617, 'duration': 6.221}, {'end': 6249.138, 'text': 'then you have this kind of trigger that runs okay?', 'start': 6245.838, 'duration': 3.3}, {'end': 6256.221, 'text': "So here for my trigger, let's say I am gonna give before insert and before update, okay?", 'start': 6249.418, 'duration': 6.803}], 'summary': 'Different triggers like before insert, after insert, before delete, after delete, before update, after update, and after undelete are used to define actions in the database. the speaker plans to use before insert and before update triggers for their specific case.', 'duration': 25.786, 'max_score': 6230.435, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6230435.jpg'}], 'start': 5727.466, 'title': 'Using dml commands and triggers', 'summary': 'Covers the basics of dml operations and soql commands, as well as an in-depth explanation of triggers, governor limits, and dmls, including their types and order of execution. it also discusses the order of execution of triggers, demonstrating the creation and execution of triggers in force.com, and focusing on the usage of before insert and before update events with a specific example of validating opportunity amount.', 'chapters': [{'end': 6067.241, 'start': 5727.466, 'title': 'Dml commands and triggers overview', 'summary': 'Covers the basics of retrieving and inserting details from the database using dml operations and soql commands, as well as an in-depth explanation of triggers, governor limits, and dmls, including their types and order of execution.', 'duration': 339.775, 'highlights': ['Triggers are code that can be executed before or after a particular action is performed on the database, such as verifying and validating details, and are useful for workflows and process automations. Triggers serve the purpose of verifying and validating details, and can be executed before or after actions like insert, update, delete, or undelete.', 'Different types of triggers include before insert, after insert, before update, after update, before delete, after delete, and after undelete, with examples of usage and purpose provided. Triggers encompass various types, such as before and after insert, update, delete, and undelete, each serving specific purposes in the database operations.', 'The order of execution of triggers involves system validation rules before the record is saved, followed by after triggers for actions like assignment rules and auto response rules. Triggers are executed in a specific order, with system validation rules invoked before the record is saved, followed by after triggers for actions like assignment rules and auto response rules.']}, {'end': 6371.296, 'start': 6067.462, 'title': 'Order of execution of triggers', 'summary': 'Discusses the order of execution of triggers, demonstrating the creation and execution of triggers in force.com, focusing on creating a basic level trigger and explaining the usage of before insert and before update events with a specific example of validating opportunity amount.', 'duration': 303.834, 'highlights': ['The chapter discusses the order of execution of triggers, emphasizing the creation and execution of triggers in force.com, focusing on creating a basic level trigger and explaining the usage of before insert and before update events with a specific example of validating opportunity amount.', 'Demonstrating the creation and execution of triggers in force.com, focusing on creating a basic level trigger and explaining the usage of before insert and before update events with a specific example of validating opportunity amount.', 'Explaining the usage of before insert and before update events with a specific example of validating opportunity amount.', 'Emphasizing the creation and execution of triggers in force.com, focusing on creating a basic level trigger.']}], 'duration': 643.83, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w5727466.jpg', 'highlights': ['Triggers encompass various types, such as before and after insert, update, delete, and undelete, each serving specific purposes in the database operations.', 'The order of execution of triggers involves system validation rules before the record is saved, followed by after triggers for actions like assignment rules and auto response rules.', 'Demonstrating the creation and execution of triggers in force.com, focusing on creating a basic level trigger and explaining the usage of before insert and before update events with a specific example of validating opportunity amount.']}, {'end': 7138.237, 'segs': [{'end': 6443.158, 'src': 'embed', 'start': 6414.854, 'weight': 0, 'content': [{'end': 6417.396, 'text': 'Now, this is where my trigger will come into picture.', 'start': 6414.854, 'duration': 2.542}, {'end': 6422.741, 'text': "Supposing I did not want Such a record to be saved because you know there's a very less amount.", 'start': 6417.576, 'duration': 5.165}, {'end': 6427.585, 'text': 'if I did not want this record to be saved, in that case, then I can write a trigger such that this transaction would fail,', 'start': 6422.741, 'duration': 4.844}, {'end': 6434.11, 'text': 'such that an error appears saying Sorry, you will have to enter a different value or you have to enter a greater amount.', 'start': 6427.585, 'duration': 6.525}, {'end': 6435.251, 'text': 'So something like that.', 'start': 6434.21, 'duration': 1.041}, {'end': 6437.193, 'text': "Okay, I'm gonna write such a trigger.", 'start': 6435.251, 'duration': 1.942}, {'end': 6443.158, 'text': "So let me go back to my trigger program and here what I'm gonna write is I'm gonna write a for loop first of all.", 'start': 6437.193, 'duration': 5.965}], 'summary': 'A trigger can be created to prevent saving records with low amounts by causing the transaction to fail and prompting for a different or greater value.', 'duration': 28.304, 'max_score': 6414.854, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6414854.jpg'}, {'end': 6493.865, 'src': 'embed', 'start': 6462.527, 'weight': 1, 'content': [{'end': 6468.714, 'text': 'One is a trigger.new and then there is a trigger.old.', 'start': 6462.527, 'duration': 6.187}, {'end': 6473.499, 'text': "Let me just put this in comments so that you don't get confused.", 'start': 6470.555, 'duration': 2.944}, {'end': 6479.488, 'text': "So see, these are two different functions that you gotta call when you're performing, creating a trigger program.", 'start': 6474.12, 'duration': 5.368}, {'end': 6484.735, 'text': "Let's say, instead of saying reason, I'm actually using this for creating a for loop.", 'start': 6480.289, 'duration': 4.446}, {'end': 6493.865, 'text': "Now what I'm doing is, When I say trigger.new, it means that basically when a new record is being added to the database, it will check those records.", 'start': 6485.035, 'duration': 8.83}], 'summary': 'Using trigger.new and trigger.old to manage new records in a database.', 'duration': 31.338, 'max_score': 6462.527, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6462527.jpg'}, {'end': 6621.136, 'src': 'embed', 'start': 6586.818, 'weight': 2, 'content': [{'end': 6590.581, 'text': "So for that purpose I'll try adding the same details again and show you that it won't happen.", 'start': 6586.818, 'duration': 3.763}, {'end': 6591.942, 'text': "That's because of a trigger.", 'start': 6591.201, 'duration': 0.741}, {'end': 6599.208, 'text': "So for that I'm gonna write my code such that I'm gonna say if the amount is less than 501, then it should throw an error.", 'start': 6592.322, 'duration': 6.886}, {'end': 6610.728, 'text': 'okay?. So the error that will be thrown is amount value should be greater than 500.', 'start': 6599.208, 'duration': 11.52}, {'end': 6611.731, 'text': 'okay, guys.', 'start': 6610.728, 'duration': 1.003}, {'end': 6621.136, 'text': "Now so I have that inside my for loop and I have an if statement which will check the amount that's being added.", 'start': 6614.83, 'duration': 6.306}], 'summary': 'Code will throw error if amount is less than 501.', 'duration': 34.318, 'max_score': 6586.818, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6586818.jpg'}, {'end': 6774.086, 'src': 'embed', 'start': 6747.156, 'weight': 3, 'content': [{'end': 6751.157, 'text': "what I'm gonna do here is because I want it to be a little advanced.", 'start': 6747.156, 'duration': 4.001}, {'end': 6759.339, 'text': "I'm gonna make sure that when I create a new contact or when I create a new opportunity, a contact is also triggered.", 'start': 6751.157, 'duration': 8.182}, {'end': 6766.421, 'text': "I'm gonna write a trigger such that when one record is being added to my contact or my opportunity, object.", 'start': 6759.359, 'duration': 7.062}, {'end': 6774.086, 'text': 'Okay so at that time this trigger will be invoked such that a particular new record is added to even my contacts object.', 'start': 6767.205, 'duration': 6.881}], 'summary': 'Create a trigger to link new contacts with opportunities upon creation.', 'duration': 26.93, 'max_score': 6747.156, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6747156.jpg'}], 'start': 6371.296, 'title': 'Salesforce trigger programs and examples', 'summary': 'Delves into the creation of trigger programs in salesforce to prevent record insertion with a specified amount, using trigger.new and trigger.old functions, and presents examples including enforcing a business rule and automatically creating a contact record.', 'chapters': [{'end': 6559.499, 'start': 6371.296, 'title': 'Salesforce trigger program explanation', 'summary': 'Explains the process of creating a trigger program in salesforce to prevent the insertion of records with a specified amount and clarifies the use of trigger.new and trigger.old functions with examples.', 'duration': 188.203, 'highlights': ['The chapter explains the process of creating a trigger program in Salesforce to prevent the insertion of records with a specified amount. Creation of a trigger program to prevent insertion of records with a specified amount, such as $500, into the Salesforce database.', 'The use of trigger.new and trigger.old functions is clarified with examples, demonstrating their roles in identifying new and existing records during database transactions. Explanation of trigger.new and trigger.old functions in identifying new and existing records during database transactions, with examples provided for clarity.']}, {'end': 7138.237, 'start': 6560.019, 'title': 'Salesforce trigger example', 'summary': 'Explains the process of creating a trigger in salesforce to enforce a business rule of not allowing opportunities with an amount less than 501, and then demonstrates an advanced trigger that automatically creates a contact record when a new opportunity is added, with a detailed explanation of the code and its execution.', 'duration': 578.218, 'highlights': ['Demonstrating the creation of a trigger to enforce a business rule in Salesforce by not allowing opportunities with an amount less than 501, leading to an error message and failure of record saving when the condition is not met, and successful addition when the condition is met. amount less than 501, amount of 500, amount of 500, amount of 500, amount of 500, amount of 5,000', "Explaining the process of creating an advanced trigger in Salesforce that automatically creates a contact record when a new opportunity is added, detailing the code logic of associating the opportunity's account ID with the contact and inserting the new contact record. creation of a contact record, new opportunity, new account created, new opportunity with a specific account name", "Describing the step-by-step process of writing the code for the advanced trigger, including the logic of associating the opportunity's account ID with the contact, providing specific details for the contact record, and resolving an error in the code. code logic, account ID association, specific details for contact record"]}], 'duration': 766.941, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w6371296.jpg', 'highlights': ['Creation of a trigger program to prevent insertion of records with a specified amount, such as $500, into the Salesforce database.', 'Explanation of trigger.new and trigger.old functions in identifying new and existing records during database transactions, with examples provided for clarity.', 'Demonstrating the creation of a trigger to enforce a business rule in Salesforce by not allowing opportunities with an amount less than 501, leading to an error message and failure of record saving when the condition is not met, and successful addition when the condition is met.', "Explaining the process of creating an advanced trigger in Salesforce that automatically creates a contact record when a new opportunity is added, detailing the code logic of associating the opportunity's account ID with the contact and inserting the new contact record.", "Describing the step-by-step process of writing the code for the advanced trigger, including the logic of associating the opportunity's account ID with the contact, providing specific details for the contact record, and resolving an error in the code."]}, {'end': 9968.637, 'segs': [{'end': 7185.406, 'src': 'embed', 'start': 7138.437, 'weight': 0, 'content': [{'end': 7146.341, 'text': "So I'm gonna give the amount to be 4,000 and then I'm gonna close the date and that's gonna be this.", 'start': 7138.437, 'duration': 7.904}, {'end': 7149.602, 'text': 'The stage as negotiation or review.', 'start': 7147.141, 'duration': 2.461}, {'end': 7152.684, 'text': "So once I'm done with these things, I'm gonna save it.", 'start': 7150.043, 'duration': 2.641}, {'end': 7156.434, 'text': "Okay, so, now that it's saved now,", 'start': 7154.113, 'duration': 2.321}, {'end': 7161.976, 'text': "what I can do is I can go back to this particular account and show you that there's been a new object that's created for that.", 'start': 7156.434, 'duration': 5.542}, {'end': 7165.277, 'text': 'So this was the new contact that I created right?', 'start': 7162.716, 'duration': 2.561}, {'end': 7168.958, 'text': 'Through the opportunity I created this TCS account correct?', 'start': 7165.497, 'duration': 3.461}, {'end': 7176.08, 'text': 'So when I, basically, when I added edureka, underscore, customer three to the opportunity object,', 'start': 7169.778, 'duration': 6.302}, {'end': 7183.723, 'text': 'that time I wrote a trigger such that the contact name, Steve Jobs, gets added to this particular object, to the accounts object.', 'start': 7176.08, 'duration': 7.643}, {'end': 7185.406, 'text': "So that's how we are.", 'start': 7184.085, 'duration': 1.321}], 'summary': 'Amount set at 4,000, new contact and trigger added to tcs account.', 'duration': 46.969, 'max_score': 7138.437, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w7138437.jpg'}, {'end': 7515.611, 'src': 'embed', 'start': 7484.592, 'weight': 3, 'content': [{'end': 7487.014, 'text': 'you know they associate with a lot of problems.', 'start': 7484.592, 'duration': 2.422}, {'end': 7490.337, 'text': "so it's important that your code adheres to the governor limits.", 'start': 7487.014, 'duration': 3.323}, {'end': 7497.345, 'text': "alright. so that is about the governor limits, And in the next slide I'm gonna give you an example of that.", 'start': 7490.337, 'duration': 7.008}, {'end': 7502.847, 'text': "So I told you that there's a limit on the number of commits that you can do to your database right?", 'start': 7497.685, 'duration': 5.162}, {'end': 7505.668, 'text': "Supposing you have one or two commits, then it's fine.", 'start': 7503.147, 'duration': 2.521}, {'end': 7510.91, 'text': "You know, you will have a single row and then you'll be committing that one particular record to the database, that'll be successful.", 'start': 7505.868, 'duration': 5.042}, {'end': 7515.611, 'text': "There'll be record number two, you commit that, that is also successful.", 'start': 7510.93, 'duration': 4.681}], 'summary': 'Adhere to governor limits to avoid problems. example: limit on database commits.', 'duration': 31.019, 'max_score': 7484.592, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w7484592.jpg'}, {'end': 7639.433, 'src': 'embed', 'start': 7607.24, 'weight': 2, 'content': [{'end': 7609.641, 'text': 'So those things are what are controlled by controllers.', 'start': 7607.24, 'duration': 2.401}, {'end': 7615.322, 'text': 'So I did not show you a demonstration of this that time, because it would be a little too much,', 'start': 7610.521, 'duration': 4.801}, {'end': 7618.383, 'text': "but I think it's time now for me to go back to my Visualforce page.", 'start': 7615.322, 'duration': 3.061}, {'end': 7625.665, 'text': 'show you how the Visualforce page creation is done and how to add controllers to it, and how to create page blocks,', 'start': 7618.383, 'duration': 7.282}, {'end': 7626.906, 'text': 'page sections and all those things.', 'start': 7625.665, 'duration': 1.241}, {'end': 7639.433, 'text': "So I'm gonna go back to my Visualforce page So my Visualforce page, I can access it from here.", 'start': 7627.946, 'duration': 11.487}], 'summary': 'The speaker will demonstrate visualforce page creation and adding controllers, page blocks, and sections.', 'duration': 32.193, 'max_score': 7607.24, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w7607240.jpg'}, {'end': 8779.136, 'src': 'embed', 'start': 8755.854, 'weight': 4, 'content': [{'end': 8765.122, 'text': "For those of you who don't understand exception and what that is with respect to Apex, to give you an idea in general, in programming concepts itself,", 'start': 8755.854, 'duration': 9.268}, {'end': 8772.969, 'text': 'if you have an error in your program and if you want to catch that error, and if you want to let the user know what the error is,', 'start': 8765.122, 'duration': 7.847}, {'end': 8776.052, 'text': 'then you can do it by using exception handling.', 'start': 8772.969, 'duration': 3.083}, {'end': 8779.136, 'text': 'So you can do that by using the method try and catches.', 'start': 8776.152, 'duration': 2.984}], 'summary': 'Exception handling in apex uses try and catch method to catch and inform users of errors.', 'duration': 23.282, 'max_score': 8755.854, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w8755854.jpg'}, {'end': 9001.823, 'src': 'embed', 'start': 8974.029, 'weight': 5, 'content': [{'end': 8980.171, 'text': 'So now you should be able to understand because earlier I just told you that you will get an error when you create this.', 'start': 8974.029, 'duration': 6.142}, {'end': 8982.812, 'text': 'But how will you handle that error?', 'start': 8980.872, 'duration': 1.94}, {'end': 8984.573, 'text': "Even though you know there's an error that's gonna come?", 'start': 8983.172, 'duration': 1.401}, {'end': 8985.872, 'text': 'How will you handle that?', 'start': 8985.131, 'duration': 0.741}, {'end': 8988.754, 'text': 'That can be done with the help of this try and catch block.', 'start': 8986.312, 'duration': 2.442}, {'end': 8991.535, 'text': 'So that is what try does.', 'start': 8989.474, 'duration': 2.061}, {'end': 9001.823, 'text': 'So in whatever code is there under the try method, all those errors will be caught by defining the catch method.', 'start': 8992.516, 'duration': 9.307}], 'summary': 'Handling errors using try and catch blocks in code.', 'duration': 27.794, 'max_score': 8974.029, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w8974029.jpg'}, {'end': 9343.754, 'src': 'embed', 'start': 9295.455, 'weight': 6, 'content': [{'end': 9299.576, 'text': 'But the thing with Apex is that testing is taken even more seriously.', 'start': 9295.455, 'duration': 4.121}, {'end': 9305.657, 'text': 'So what Salesforce have done is they have said that whatever code you write for any program in that code,', 'start': 9299.996, 'duration': 5.661}, {'end': 9312.059, 'text': 'at least 75% of that code should come under the test coverage, so that you will know exactly where the problem is in your software.', 'start': 9305.657, 'duration': 6.402}, {'end': 9317.459, 'text': 'So what it means is that, let me open my developer console for a minute.', 'start': 9312.697, 'duration': 4.762}, {'end': 9320.601, 'text': 'And test classes.', 'start': 9318.74, 'duration': 1.861}, {'end': 9322.121, 'text': "I'll write it as an Apex class.", 'start': 9320.601, 'duration': 1.52}, {'end': 9322.422, 'text': 'all right?', 'start': 9322.121, 'duration': 0.301}, {'end': 9325.663, 'text': 'So I cannot do it on my anonymous window.', 'start': 9322.762, 'duration': 2.901}, {'end': 9330.926, 'text': "so I'm gonna create a new Apex class and let me start off by giving the name first.", 'start': 9325.663, 'duration': 5.263}, {'end': 9335.428, 'text': "okay?. I'm gonna give testcal as the name of the Apex class, okay?", 'start': 9330.926, 'duration': 4.502}, {'end': 9339.37, 'text': "Okay, so there's a duplicate.", 'start': 9337.309, 'duration': 2.061}, {'end': 9343.754, 'text': "So what I'll do is I'll just create class with a different name.", 'start': 9339.85, 'duration': 3.904}], 'summary': 'Salesforce requires 75% test coverage for apex code to locate software problems.', 'duration': 48.299, 'max_score': 9295.455, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w9295455.jpg'}], 'start': 7138.437, 'title': 'Salesforce essentials', 'summary': 'Covers creating a $4,000 sales opportunity, governor limits including 6 mb heap memory, 150 statements per dml transaction, and email limits of around 1,000 per day, visualforce page creation, exception handling using try-catch, and the importance of at least 75% code coverage for testing in salesforce.', 'chapters': [{'end': 7210.225, 'start': 7138.437, 'title': 'Sales opportunity creation and trigger demonstration', 'summary': "Demonstrates the creation of a sales opportunity with a $4,000 amount, the addition of a new contact 'steve jobs' to the account, and the implementation of a trigger, followed by a brief mention of governor limits.", 'duration': 71.788, 'highlights': ['The creation of a sales opportunity with a $4,000 amount and the stage set as negotiation or review.', "The addition of a new contact 'Steve Jobs' to the account through a trigger implementation.", 'Brief mention of governor limits in the context of the demonstration.']}, {'end': 7566.895, 'start': 7210.225, 'title': 'Salesforce governor limits overview', 'summary': 'Explains salesforce governor limits, including the enforcement of limits to prevent monopolization of shared resources, with examples such as 10% or 1% database allocation, and specific limits like 6 mb heap memory, 150 statements per dml transaction, and email limits of around 1,000 per day.', 'duration': 356.67, 'highlights': ["There's a limit because one particular database will be shared by multiple clients. Explains the reason for the existence of limits due to shared database, highlighting the need to prevent monopolization of resources.", 'Specific limits like 6 MB heap memory, 150 statements per DML transaction, and email limits of around 1,000 per day. Provides specific examples of governor limits, including heap memory size, DML transaction statements, and email sending limits, showcasing the quantifiable constraints developers need to adhere to.', 'The chapter emphasizes the importance of adhering to governor limits due to their association with a lot of problems for developers. Stresses the significance of adhering to governor limits and the challenges associated with violating these limits for developers.']}, {'end': 8840.861, 'start': 7566.895, 'title': 'Visualforce and apex: custom controllers and exception handling', 'summary': 'Covers creating visualforce pages with custom controllers, adding page blocks and sections, inserting data into the database using visualforce and apex, and demonstrating exception handling using try-catch in apex.', 'duration': 1273.966, 'highlights': ['Creating Visualforce pages with custom controllers The speaker explains the process of creating Visualforce pages with custom controllers and demonstrates adding a standard controller tag to control the behavior of the Visualforce page, specifying the object for the controller, and creating a form with fields to capture user input.', 'Adding page blocks and sections The speaker guides the audience through the process of adding page blocks and sections to the Visualforce page, demonstrating how to organize and structure the page with headers, titles, and multiple columns for displaying and labeling form fields.', 'Inserting data into the database using Visualforce and Apex The speaker demonstrates the process of inserting data into the database using Visualforce and Apex, showcasing the use of Apex command buttons for submitting and canceling data, and illustrating how user-entered details are transferred to the database.', 'Demonstrating exception handling using try-catch in Apex The speaker provides an introduction to exception handling, explaining the concept of exceptions in programming, unhandled exceptions, and the use of try, catch, and finally constructs for catching exceptions in Apex, and then proceeds to demonstrate exception handling using try-catch.']}, {'end': 9253.423, 'start': 8841.661, 'title': 'Handling errors with try-catch in salesforce', 'summary': "Explains the use of try-catch blocks to handle errors in salesforce, demonstrating how to capture and display errors without stopping the program's execution flow, ultimately ensuring effective error handling.", 'duration': 411.762, 'highlights': ['The code demonstrates an error scenario where the last name is missing, resulting in a required field error when trying to insert the details. The code demonstrates an error scenario where the last name is missing, resulting in a required field error when trying to insert the details.', "The use of try-catch blocks is explained as a method to handle errors effectively, ensuring that the program's execution flow is not interrupted, and errors are captured and displayed as error messages. The use of try-catch blocks is explained as a method to handle errors effectively, ensuring that the program's execution flow is not interrupted, and errors are captured and displayed as error messages.", 'The example illustrates how the DML exception can be used to capture and display the specific error message when handling compulsory fields, thereby avoiding the need to specify the error message each time. The example illustrates how the DML exception can be used to capture and display the specific error message when handling compulsory fields, thereby avoiding the need to specify the error message each time.']}, {'end': 9968.637, 'start': 9254.584, 'title': 'Salesforce exception handling and testing', 'summary': 'Discusses the importance of exception handling and testing in salesforce, emphasizing the requirement of at least 75% code coverage for testing, and demonstrates the process of creating and executing test classes in apex, including the use of assertions and understanding test results.', 'duration': 714.053, 'highlights': ['Importance of at least 75% code coverage for testing Salesforce requires at least 75% of code to come under test coverage, ensuring thorough testing and identification of software problems.', 'Process of creating and executing test classes in Apex Demonstrates the process of creating and executing test classes in Apex, including annotating the class with @isTest, creating test methods, using assertions like System.assertEquals, and understanding the test results.', 'Use of assertions like System.assertEquals for comparing expected and actual values Explains the use of assertions like System.assertEquals to compare expected and actual values, enabling the identification of errors and bugs in the code during testing.']}], 'duration': 2830.2, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/5oRQfO6MQ_w/pics/5oRQfO6MQ_w7138437.jpg', 'highlights': ['Creating a sales opportunity with a $4,000 amount and the stage set as negotiation or review', "Adding a new contact 'Steve Jobs' to the account through a trigger implementation", 'Demonstrating the process of creating Visualforce pages with custom controllers', 'Emphasizing the importance of adhering to governor limits due to their association with a lot of problems for developers', 'Demonstrating exception handling using try-catch in Apex', 'Explaining the use of try-catch blocks as a method to handle errors effectively', 'Illustrating the importance of at least 75% code coverage for testing in Salesforce', 'Demonstrating the process of creating and executing test classes in Apex']}], 'highlights': ['The chapter covers the concepts of Salesforce development It includes building Visualforce pages, writing Apex codes, and achieving a minimum code coverage of 75% through test cases.', 'Apex triggers, controllers, and classes allow the creation of customized programs for automating processes in Salesforce, such as updating values based on user actions.', 'The session will cover the Visualforce aspect first, followed by the Apex aspect, test cases, and exceptions, with the webinar expected to be longer.', 'Covers apex code basics, three types of collections in apex, salesforce dml operations, query languages, data manipulation, and salesforce development examples, including inserting new contacts, working with maps, and querying records.', 'Triggers encompass various types, such as before and after insert, update, delete, and undelete, each serving specific purposes in the database operations.', 'Creation of a trigger program to prevent insertion of records with a specified amount, such as $500, into the Salesforce database.', 'Creating a sales opportunity with a $4,000 amount and the stage set as negotiation or review', 'Emphasizing the importance of adhering to governor limits due to their association with a lot of problems for developers', 'Illustrating the importance of at least 75% code coverage for testing in Salesforce']}