Course curriculum

  • 1
    Module 1: Before We Begin
    • About This Course
    • JavaScript Development Training Roadmap
    • A Note About Versions
    • An Introduction to JavaScript
    • Revision History
  • 2
    Module 2: Getting Started
    • Assemble Your Toolbox
    • Install the Sample Entity Solution
    • Creating a New Visual Studio Solution
    • Setting up your Development Environment
    • The Problem with Browser Caching
    • The reality of working with two versions of the Dynamics 365 web interface
    • Solution to Why is the form editor not working correctly?
  • 3
    Module 3: Dynamics 365 JavaScript Object Model
    • Dynamics 365 Object Model (v8.2)
    • Dynamics 365 CE Object Model (v9.x)
    • Common Object Model Methods
    • Understanding Form Field Attributes and Controls
  • 4
    Module 4: Differences in the Dynamics 365 CE v9 Object Model
    • Working with the v9 Object Model
    • Introduction to the Execution Context object
    • Using the executionContext.getFormContext Method
  • 5
    Module 5: Creating a JavaScript Namespace Framework
    • Creating your own object model
  • 6
    Module 6: JavaScript Form Libraries and Event Handlers
    • JavaScript Web Resource Basics
    • Show Me How: Create Your First JavaScript Library
    • Note on Event Handlers
    • Working with the OnLoad, OnSave, and OnChange Event Handlers
    • A quick tour of the Form Library Event Handlers
    • Removing All JavaScript from a Form
    • Test Your Knowledge
  • 7
    Module 7: User Interface Design Elements
    • Introduction to Customizations (webinar replay)
  • 8
    Module 8: Debugging JavaScript
    • DYNAMICS CRM JavaScript Debugging Basics (webinar replay)
  • 9
    Module 9: Working with Data
    • JavaScript code for this lesson
    • Working with Data Methods
    • Getting and Setting Field Values
    • Exercise: Getting and Setting Field Values
    • Show Me How: Getting and Setting Field Values (from Visual Studio)
    • Setting the field requirement level
    • Exercise: Setting the Field Requirement Level
    • Show Me How: Setting the Field Requirement Level
    • Using the setSubmitMode Method
    • getAttributeType and getFormat methods
    • Test Your Knowledge
    • Additional Data Methods
  • 10
    Module 10: Working with Controls
    • Source Code for this Lesson
    • Introduction
    • L1: Working with Controls
    • E1: Setting the visibility of a Field
    • E2: Disable a Field
    • E3: Set a Field's Focus
    • S3: Set a Field's Focus
    • L2: Using the getAttribute Method
    • L3: Using the getControlType Method
    • Working with Control-Level Notifications
    • Show Me How: Working with Control Notifications
    • **** IMPORTANT NOTES ON THIS MODULE ****
    • Q: Test Your Knowledge
  • 11
    Module 11: Working with Tabs
    • Sample code for this lesson
    • Working with Tabs
    • Exercise: Setting the Label of a Tab
    • Show Me How: Setting the Label of a Tab
    • Exercise: Showing a Tab
    • Show Me How: Showing a Tab
    • Exercise: Setting the DisplayState of a tab
    • Show Me How: Setting the DisplayState of a tab
    • Show Me How: Adding a custom entity to a Unifiied Interface Application
    • Show Me How: Running the exercises in the UCI interface
    • Test Your Knowledge
  • 12
    Module 12: Working with Sections
    • Sample code for this lesson
    • Working with Sections
    • Exercise: Showing a Hidden Section
    • Show Me How: Showing a Hidden Section
    • Exercise: Setting the Section Label
    • Show Me How: Setting the Section Label
    • Sample Code: Only allow a single checkbox in a section to be checked
    • Test Your Knowledge
  • 13
    Module 13: Working with OptionSets
    • Sample code for this lesson
    • Introduction to OptionSets and OptionSet Methods
    • Working with OptionSets
    • Exercise 1: Using the getInitialValue Method
    • Show Me How: Using the getInitialValue Method
    • Exercise 2: Using the getOption Method
    • Show Me How: Using the getOption Method
    • Exercise 3: Using the getOptions Method
    • Show Me How: Using the getOptions Method
    • Exercise 4: Using the getSelectedOption Method
    • Show Me How: Using the getSelectedOption Method
    • Exercise 5: Using the getText Method
    • Show Me How: Using the getText Method
    • Exercise 6: Using the clearOptions and addOptions Methods
    • Show Me How: Using the clearOptions and addOptions Methods
    • Exercise 7: Use the removeOption Method
    • Show Me How: Use the removeOption Method
    • Test Your Knowledge
    • Bonus: Show Me How: Creating a Dependent OptionSet - Part 1
    • Bonus: Show Me How: Creating a Dependent Option Set - Part 2
  • 14
    Bonus Module 1: Debugging JavaScript
    • A note about this lesson
    • Debugging JavaScript Solution
    • Introduction to JavaScript Debugging using Chrome and Internet Explorer
    • Exercises: Debugging JavaScript - All Labs
    • Show Me How: Exercise 2
    • Show Me How: Exercise 3
    • Show Me How: Exercise 3
    • Show Me How: Exercise 4
    • Show Me How: Exercise 5
    • Show Me How: Exercise 6
    • Show Me How: Exercise 7
    • Show Me How: Exercise 8
    • Show Me How: Exercise 8
  • 15
    Module 14: Working with Lookups
    • L1: Working with the Lookup Data Type
    • Working with Lookups
    • Test Your Knowledge
    • Show Me How Bonus: Working with addCustomView
    • Sample - addCustomView
  • 16
    Module 15: Working with Collections
    • formContext Collections
    • Working with JavaScript Collections
    • Collections Exercises
    • Show Me How: Build and Display a List of Navigation Items
    • Show Me How: Build and Display a List of Sections
    • Show Me How: Build and Display a List of OptionSet Fields
    • Test Your Knowledge
  • 17
    Module 16: Working with formContext.ui Methods
    • Form Types
    • Exercise: Using the getFormType Method
    • Show Me How: Using the getFormType Method
    • Form Notifications
    • Exercise: Using Form Notifications
    • Show Me How: Using Form Notifications
    • close Method
    • refreshRibbon Method
    • Additional Methods
    • Test Your Knowledge
  • 18
    Module 17: Working with Xrm.Navigation Methods
    • Xrm.Navigation Class Overview
    • Sample code for this module
    • Working with the Xrm.Navigation Methods
    • openAlertDialog Notes
    • Exercise: Using the openAlertDialog Method
    • Show Me How: Using openAlertDialog
    • Exercise: Using the openConfirmDialog Method
    • Show Me How: Using the openConfirmDialog Method
    • Using the openErrorDialog Method
    • Using the openFile Method
    • Exercise: Using the openForm Method
    • Show Me How: Using the openForm Method
    • Exercise: Using the openForm (quick create) method
    • Show Me How: Using the openForm - Quick Create Method
    • Using the openUrl Method
    • Exercise: Using the openUrl Method
    • Show Me How: Using the openUrl Method
    • Using the openWebResource Method
    • Exercise: Using the openWebResource Method
    • Show Me How: Using the openWebResource Method
    • Advanced JavaScript (async and await) Methods and Browser Support
    • Show Me How: Working with Async and Await methods
    • Test Your Knowledge
  • 19
    Module 18: Understanding and Working with the Execution Context
    • Exercise: Using the getEventSource Method
    • Show Me How: Using the getEventSource Method
    • setSharedVariable and getSharedVariable Methods
  • 20
    Module 20: Working with the Save Event
    • Sample Code for this Module
    • getSaveMode Method Return Values
    • Exercise: Working with the getSaveMode Method
    • Show Me How: Working with the getSaveMode Method
    • Exercise: Using the getEventArgs and preventDefault Methods
    • Show Me How: Using the getEventArgs and preventDefault Methods
    • Clean Up Your Exercises
    • Test Your Knowledge
  • 21
    Module 21: Client-Side Events
    • Sample code for this lesson
    • Client-Side Events Overview
    • Exercise: Using the addOnChange Method
    • Show Me How: Using the addOnChange Method
    • Exercise: Using the fireOnChange Method
    • Show Me How: Using the fireOnChange Method
    • Using the removeOnChange Method
    • Using the addOnSave Method
    • Using the removeOnSave Method
    • Using the close Method
    • Using the Xrm.Page.data.entity.save Method
    • Test Your Knowledge
  • 22
    Module 22: Working with the CRM RESTBuilder Tool
    • CRM RESTBuilder Overview
  • 23
    Module 23: Working with Xrm.WebApi methods
    • Additional WebApi Information
    • Sample code for this module
    • Xrm.WebApi Overview (recorded live training)
  • 24
    Module 24: Working with the JavaScript Utility Methods
    • Introduction
    • Working with the getClient, getClientState, and getFormFactor Methods
    • Working with the getAllowedStatusTransitions Method
    • Working with the getEntityMetadata Method
    • Working with the getLearningPathAttributeName Method
    • Working with the getResourceString Method
    • Working with the invokeProcessAction Method
    • Working with the lookupObjects Method
    • Working with the refreshParentGrid Method
    • Working with the showProgressIndicator and closeProgressIndicator Methods
    • Working with the Xrm.Utility.getGlobalContext Object
    • Working with clientContext.client Methods
    • Working with getGlobalContext.organizationSettings
    • Working with getGlobalContext().userSettings
  • 25
    Module 25: Working with Grids
    • Introduction to the Grids API
    • GridControl Methods
    • Grid Methods
    • GridRow methods
    • GetRowData Methods
    • GridEntity Methods
    • GridAttribute Methods
    • GridCell Methods
    • ViewSelector Methods
  • 26
    Module 26: Working with Process Methods
    • Overview
  • 27
    Module 28: Working with the Ribbon and Command Bar
    • Overview
  • 28
    Module 29: Additional Objects and Methods
    • Xrm.Panel Overview
    • Xrm.Encoding Overview
    • Xrm.Device Overview
    • Show Me How: Using Xrm.Device.getPosition
    • Show Me How: Using Xrm.Device.getBarcode
    • Show Me How: Add the entityimage field to the Sample Entity
    • Working with the Form Selector Methods
    • Form Selector Part 1 - Creating a new form
    • Form Selector Part 2 - Switching forms using JavaScript
    • Working with formContext.ui.navigation Methods
  • 29
    Discussion Forum
    • General Discussions
    • Course Suggestions
  • 30
    Meetup Recordings
    • Meetup-2018-12 - Option1
    • Meetup-2018-12 - Option2