Author: Amjad Izhar

  • React.js Fundamentals: Concepts, Architecture, and Applications

    React.js Fundamentals: Concepts, Architecture, and Applications

    These resources offer a comprehensive introduction to React JS, covering its fundamental concepts like component architecture, JSX, virtual DOM, state management (including Redux), props, and event handling. They also discuss React Router for navigation, the use of hooks, and performance optimization techniques. Furthermore, the material outlines React’s lifecycle methods, conditional rendering, debugging, testing, and provides guidance on becoming a React developer, including prerequisites and common interview questions. The advantages and applications of React, alongside comparisons with Angular and React Native, are also explored.

    React Fundamentals Study Guide

    Quiz

    1. Explain the concept of state in React components. How is it initialized and updated?
    2. What are props in React? How are they different from state, and how are they passed between components?
    3. Describe the purpose of event handlers in React. Provide an example of how an event handler is defined and used.
    4. What is JSX? Why is it used in React, and how does it relate to JavaScript and HTML?
    5. Explain the concept of components in React. What are the two main types of components, and what are their key differences?
    6. What is conditional rendering in React? Describe two common methods for implementing it.
    7. Explain the component lifecycle in React. Briefly describe the purpose of componentDidMount and componentWillUnmount.
    8. What are keys in React lists? Why are they important, and what happens if they are not used correctly?
    9. Define the term “props” in React. What is this.props.children, and what are its possible values?
    10. Describe the purpose of setState in React. Why should you not directly modify the state object?

    Answer Key

    1. State in React components is a way to manage data that can change over time and affects the component’s rendering. It is initialized within the component’s constructor using this.state = { /* initial values */ }. State is updated asynchronously using the this.setState() method, which triggers a re-render of the component.
    2. Props (short for properties) are read-only data passed from a parent component to its child components. They are different from state because state is managed within the component itself and can be changed by the component, while props are external data passed down. Props are passed by including attributes with values on the child component when it is rendered in the parent.
    3. Event handlers in React are functions that are called in response to user interactions or other events, such as clicks, form submissions, or mouse movements. An event handler is typically defined as a method within a component and then passed as a prop to a JSX element. For example: <button onClick={this.handleClick}>Click Me</button>.
    4. JSX (JavaScript XML) is a syntax extension for JavaScript that allows you to write HTML-like structures directly within your JavaScript code. It is used in React to describe the user interface of components in a declarative way, making the code easier to read and understand. JSX is transformed into regular JavaScript function calls by tools like Babel.
    5. Components in React are reusable and independent pieces of UI logic. The two main types are functional components (plain JavaScript functions that return JSX) and class components (ES6 classes that extend React.Component and can have state and lifecycle methods). Functional components are simpler and often used for presentational purposes, while class components are more feature-rich and can manage stateful logic.
    6. Conditional rendering in React is the process of displaying different elements or components based on certain conditions. Two common methods are using if/else statements or ternary operators (condition ? <ComponentA /> : <ComponentB />) within the render method, or using short-circuit evaluation (condition && <ComponentA />).
    7. The component lifecycle in React refers to the series of events that occur from the moment a component is created and mounted onto the DOM to when it is unmounted and removed from the DOM. componentDidMount is a lifecycle method that is invoked immediately after a component is mounted (inserted into the tree). It is often used for tasks like fetching data or setting up subscriptions. componentWillUnmount is invoked immediately before a component is unmounted and destroyed. It is used for cleanup tasks like canceling network requests or removing event listeners.
    8. Keys in React lists are special string attributes that should be included when mapping over an array to create a list of elements. They are important because they help React identify which items in the list have changed, been added, or been removed. Without unique keys, React may not be able to efficiently update the DOM, potentially leading to performance issues and incorrect component state.
    9. Props in React are a mechanism for passing data from a parent component to its child components. this.props.children refers to any elements or components that are passed as children within the opening and closing tags of a component when it is rendered in its parent. Its possible values can be a single React element, an array of React elements, or undefined if no children are passed.
    10. setState in React is a method used in class components to update the component’s state. It accepts an object or a function that returns an object and schedules an update to the component’s state, eventually triggering a re-render. You should not directly modify the state object (e.g., this.state.count = 5) because React may not recognize the change and not re-render the component correctly. setState ensures that the component and its children are re-rendered with the updated state.

    Essay Format Questions

    1. Discuss the benefits of using a component-based architecture like React for building user interfaces. Explain how components promote reusability, maintainability, and scalability in web development.
    2. Compare and contrast state management in functional components using hooks (like useState and useReducer) with state management in class components using this.state and this.setState. When might you choose one approach over the other?
    3. Explain the flow of data in a typical React application that utilizes props and state. Describe how data originates, how it is passed down through the component tree, and how user interactions can lead to data changes.
    4. Discuss the role and importance of lifecycle methods in class components. Choose three lifecycle methods (e.g., componentDidMount, componentDidUpdate, componentWillUnmount) and explain the common use cases for each.
    5. Analyze the different approaches to conditional rendering in React (if/else, ternary operators, short-circuit evaluation, element variables). Provide scenarios where each approach might be most suitable and discuss their advantages and disadvantages.

    Glossary of Key Terms

    • Component: A reusable and independent building block of a React user interface, encapsulating its own logic and rendering.
    • State: A JavaScript object that holds data local to a component and controls its behavior and rendering over time. It is mutable and managed within the component.
    • Props (Properties): Data passed from a parent component to a child component. They are immutable from the child’s perspective.
    • JSX (JavaScript XML): A syntax extension for JavaScript that allows embedding HTML-like structures within JavaScript code, used in React to describe UI.
    • Event Handler: A function that is executed in response to a specific event (e.g., user interaction) occurring on a React element.
    • Conditional Rendering: The process of displaying different UI elements or components based on certain conditions in a React application.
    • Lifecycle Methods: Special methods in class components that are invoked at different stages of a component’s existence (mounting, updating, unmounting).
    • Keys: Special string attributes assigned to elements in a list rendered by React, used to uniquely identify each item for efficient updates.
    • setState(): A method used in class components to update the component’s state and trigger a re-render of the component and its children.
    • Functional Component: A simpler type of React component that is essentially a JavaScript function that accepts props as arguments and returns JSX.
    • Class Component: A more feature-rich type of React component that is an ES6 class, can have state and lifecycle methods, and uses a render() method to return JSX.
    • this.props.children: A special prop that refers to any content (JSX elements, other components) passed between the opening and closing tags of a component.
    • componentDidMount(): A lifecycle method invoked immediately after a component has been mounted to the DOM.
    • componentWillUnmount(): A lifecycle method invoked immediately before a component is unmounted and destroyed.
    • Hook: A special function in React that lets you “hook into” React state and lifecycle features from functional components. Examples include useState and useEffect.

    Briefing Document: React Fundamentals and Mario Game Development

    This document provides a detailed review of the main themes and important ideas presented in the provided sources, which cover fundamental concepts of React.js and a practical example of building a Mario game using React.

    Part 1: React Fundamentals

    This section outlines the core concepts of React.js as explained in the first source.

    Main Themes:

    • Ease of Learning: React is presented as easier to learn compared to other JavaScript frameworks like Angular.
    • “learning react is easier than learning other JavaScript Frameworks”
    • React’s simplicity is attributed to its component-based architecture, simpler file structure, flexible component model, and shorter dependency list.
    • Core Concepts: The source emphasizes several fundamental building blocks of React applications.
    • Components: The UI is built by composing reusable and independent pieces of code called components. Examples given include app.js, counter.js, and index.js.
    • “all the files that you can see inside the source are components of the real so app.js is one component counter. GS is one component index.js is one company”
    • JSX (JavaScript XML): React uses a syntax extension that allows writing HTML-like structures within JavaScript code.
    • “this right here the code that we are able to see is basically jsx syntax so basically this is a JavaScript code but we have written HTML inside the Javascript file so this is called GSX”
    • Props (Properties): Props are used to pass data from parent components to child components. They are read-only from the child’s perspective.
    • “react uses props to pass attributes from parent components to child components”
    • State: State allows creating dynamic and interactive components. It is private to a component and can be updated to trigger re-renders.
    • “UST state zero initializes account State variable with the initial value of zero and after that count holds the current count and set count is a function that updates the value so state in react is persistent across renders meaning count will retain the value until it’s updated by set count”
    • Event Handlers: These are functions that respond to user interactions (e.g., clicks) and can update the component’s state. Examples include increment, decrement, and reset functions.
    • “these functions are used to update the count State based on the user actions first of all we have the increment so it increases the count by five each time it is called”
    • Styling: CSS is used to style React components. The example mentions style.css and various CSS properties and techniques like font family, display, justify content, alignment, height, background color, hover effects, animations, keyframes, and media queries.
    • Component Lifecycle: React components have a lifecycle with different phases (initial, update, unmount), and lifecycle methods are called at specific points.
    • Conditional Rendering: React allows rendering different components or parts of the UI based on certain conditions. Methods include if/else statements, element variables, ternary operators, and short-circuit operators.
    • “conditional rendering is nothing but if a given statement is true then the if statement executes or else the L statement will execute”
    • Preventing Rendering: Components can prevent rendering by returning null from their render method.
    • “to do this return null instead of its render output”
    • Refs (References): Refs provide a way to access DOM elements or component instances directly.
    • Keys: Keys are used to uniquely identify elements in lists, helping React optimize rendering.
    • React Router: A library for adding navigation and routing to React applications, keeping the UI in sync with the URL. Different types include BrowserRouter and HashRouter.
    • Context API: A way to share state between components without explicitly passing props through every level of the component tree. Hooks like useContext are used to consume context values.
    • useReducer Hook: An alternative to useState for more complex state management within functional components, similar to Redux in concept.
    • useEffect Hook: Used for performing side effects in functional components (e.g., data fetching, subscriptions). It includes a cleanup function.
    • useLayoutEffect Hook: Similar to useEffect but runs synchronously after all DOM mutations. Should be used cautiously to avoid performance issues.
    • Redux: A pattern and library for managing and updating application state in a predictable way, especially for complex applications with global state. Key components include Store, Actions, Reducers, and Dispatcher. Unidirectional data flow is a core principle.
    • Testing: React applications can be tested using frameworks like Jest and Enzyme. Different types of testing include component testing (snapshot testing), integration testing, and end-to-end testing.
    • Version Control with Git: Git is used to track changes in code and collaborate with other developers. Common Git commands like init, add, commit, push, pull, branch, and checkout are mentioned.

    Important Ideas and Facts:

    • React is a library focused on the view layer of an application.
    • Components are the fundamental building blocks of React UIs.
    • JSX makes it easier to write and understand UI structures within JavaScript.
    • Props are immutable from the child component’s perspective.
    • State changes trigger re-renders of the component and its children.
    • Lifecycle methods allow performing actions at specific stages of a component’s existence.
    • Conditional rendering enables dynamic UIs based on application logic.
    • Refs provide a way to interact directly with the DOM or component instances when necessary.
    • Keys are crucial for efficient rendering of dynamic lists.
    • React Router enables building single-page applications with navigation.
    • Context API offers a way to avoid prop drilling for shared state.
    • useReducer is suitable for managing complex state logic.
    • useEffect is the primary hook for handling side effects.
    • useLayoutEffect should be used for DOM measurements or synchronous layout adjustments.
    • Redux provides a centralized store for managing global application state.
    • Testing is essential for ensuring the reliability of React applications.
    • Git is a widely used version control system for collaborative development.

    Quotes:

    • (Regarding state persistence): “state in react is persistent across renders meaning count will retain the value until it’s updated by set count”
    • (Regarding the purpose of event handlers): “these functions are used to update the count State based on the user actions”
    • (Defining components): “all the files that you can see inside the source are components of the real so app.js is one component counter. GS is one component index.js is one company”
    • (Defining JSX): “this right here the code that we are able to see is basically jsx syntax so basically this is a JavaScript code but we have written HTML inside the Javascript file so this is called GSX”
    • (Purpose of props): “react uses props to pass attributes from parent components to child components”
    • (Purpose of conditional rendering): “conditional rendering is nothing but if a given statement is true then the if statement executes or else the L statement will execute”
    • (Preventing rendering): “to do this return null instead of its render output”
    • (Flux as data flow management): “flux is a pattern for managing the data flow in your application”
    • (Unidirectional data flow in React): “data flows only in One Direction”
    • (Keys for unique identification): “keys are the elements which helps react to identify the components uniquely”
    • (Redux for global state): “Redux helps you manage Global state that is actually the state that is needed across many parts of your application”
    • (Jest as a testing framework): “zest is a fast testing framework it act as a test Runner assert library and moing library”
    • (Enzyme for React testing): “enzyme is a JavaScript test utility for react that make it easier to assert manipulate and derse your react component output”
    • (Git for version control): “Version Control is one that record changes for document computer program large website and other collection of information over time it allow multiple user to manage multiple revision of same unit of information”

    Part 2: Mario Game Development with React

    This section details the structure and implementation of a Mario game built using React, as described in the second source.

    Main Themes:

    • Component-Based Architecture in Practice: The game is built using a modular approach with numerous components organized into atoms and molecules directories within the components folder.
    • atoms: Basic building blocks like Birds, Bricks, Clouds, KeyMessage, Obstacle, and Sun.
    • molecules: Compositions of atoms or other molecules, representing more complex UI elements like Footer, LoadingScreen, Mario, Corrector (likely character controller), MobileControls, Title, and Score.
    • Asset Management: The game utilizes an asset directory to store audio files, fonts, and images (including GIFs for animation).
    • “in this there is a section named esset in this we have included the audio font and the images that we are going to use”
    • State Management (Likely with Redux): The Obstacle component explicitly imports and uses Redux hooks (useDispatch, useSelector), suggesting that Redux is used for managing the game state (e.g., game running status, speed, object positions).
    • “It also Imports Redux Hook from the state management so after that dis patch is used to send actions to the Redux store is playay and speed are selected from the Redux state”
    • Animation Techniques: Components like Birds, Bricks, and Clouds use CSS animations (defined with @keyframes and potentially triggered by state changes using class names like bird animate, brick animate). The Obstacle component dynamically adjusts animation duration based on game speed.
    • “if is ready is true it adds the class bird animate which likely triggers an animation”
    • “The style props adjust the animation duration based on the speed making the animation faster or slower depending upon the game’s current speed”
    • Event Handling for User Interaction: The KeyMessage component indicates that the “Enter key” starts the game and the “space key” is used for jumping, implying the use of event listeners to capture keyboard input and trigger game actions (likely managed within the Mario or a game controller component).
    • “inside this we have basically created one press container and we have given two paragraphs including Enter key and space key so here Enter key is for starting the game and space key is for jump”
    • Audio Integration: The Mario component imports and likely uses audio files for jump, death sounds, and background music, managed using the useMemo hook for optimization.
    • “audio files for jump death sound and various hooks from the react and reds so after that this used dispatch hook allows dispatching actions to the redex store several State values are selected from the redex store to manage the game State such as whether Mario is dead the game is loading or the Mario’s position and the Dimensions”
    • “for this we are using use memo hook to create audio objects for jump die and background music this ensure that these objects are only created once optimizing the performance”
    • Collision Detection: The Mario component retrieves the position and dimensions of obstacles from the Redux store to implement collision detection logic.
    • “these selectors retrieve the position and dimension of two obstacles allowing for the Collision detection”
    • Scorekeeping: The Score component manages the current score, last score, and high score, potentially using localStorage for persistence. It uses useEffect with a timer to increment the score while the game is playing.
    • “the score shows the current score from the RCT store and the last score shows the last score recorded and the play is basically a Boolean indicating if the game is currently being played die is basically a Boolean indicating if the game is over and dispatch is a function that is used to dispatch the action of the Redux store”
    • “this basically initializes the state variable high score it retrieves the high score from local storage passing it as an integer or defaults to zero if the high score is not found”
    • “this use effect runs whenever the dependencies change that means incrementing the score if the game is being played or not over it sets the time out to increment the score by one to every milliseconds and then updating the last score and the high score”
    • Loading Screen: A LoadingScreen component suggests that the game handles loading states, potentially waiting for assets to load before starting.
    • Mobile Controls: The inclusion of a MobileControls component indicates support for touch-based input on mobile devices.

    Important Ideas and Facts:

    • The game demonstrates a real-world application of React’s component-based architecture for organizing a complex UI and game logic.
    • The separation of components into atoms and molecules promotes reusability and maintainability.
    • The use of Redux for state management suggests a need to manage global game state across multiple components.
    • CSS animations and dynamic styling based on game state create visual effects and responsiveness.
    • Event listeners are crucial for making the game interactive.
    • Audio feedback enhances the user experience.
    • Collision detection is a fundamental aspect of gameplay.
    • Scorekeeping provides a way to track player progress.
    • Handling loading states ensures a smoother user experience.
    • Mobile controls extend the game’s reach to different platforms.
    • The index.js files within the components, atoms, and molecules directories serve as central export points for the components within those folders.

    Quotes:

    • (Component organization): “inside this components we have one section that is atoms in this we have included all the components that are being used in this game for example we are using Birds bricks clouds key message obstacle sun and all so after this we have this molecules in this we have included the footer the loading screen Mario the corrector and the mobile controls again we have included the title and the score”
    • (Asset inclusion): “in this there is a section named esset in this we have included the audio font and the images that we are going to use”
    • (Redux usage in Obstacle): “It also Imports Redux Hook from the state management so after that dis patch is used to send actions to the Redux store is playay and speed are selected from the Redux state”
    • (Animation in Birds): “if is ready is true it adds the class bird animate which likely triggers an animation”
    • (Key bindings in KeyMessage): “Enter key is for starting the game and space key is for jump”
    • (Audio in Mario): “audio objects for jump die and background music this ensure that these objects are only created once optimizing the performance”
    • (Score and localStorage): “it retrieves the high score from local storage passing it as an integer or defaults to zero if the high score is not found”
    • (Component export in components/index.js): “each Line Imports the component of specific file path for example bird component is imported from the birds file the imported components are presumbly react components that will be used in the application to render the different parts of the UI and after that this line exports all the imported components into single object by doing this it allows other modules to import any of these components easily from one Central File instead of importing each of them individually from their respective files”

    This detailed briefing document summarizes the key concepts and practical application of React.js as presented in the provided sources. It highlights the fundamental principles of React development and showcases how these principles are applied in the creation of an interactive game.

    React Core Concepts and Mario Game Structure

    1. What are the core concepts of React demonstrated in the counter app example?

    The counter app demonstrates three core concepts of React:

    • State: State is data that can change over time and affects the component’s behavior and rendering. In the counter app, the count variable, initialized to zero, represents the component’s state. The setCount function is used to update this state. React state is persistent across renders, meaning the count value is retained until explicitly updated.
    • Properties (Props): Although not explicitly manipulated within the counter app itself, the explanation mentions that components can receive data from parent components through props. Props are read-only and are used to pass data down the component tree.
    • Event Listeners: Event listeners are functions that respond to user interactions or other events. The counter app defines event handlers like increment, decrement, and reset. These functions use setCount to update the component’s state in response to button clicks, making the component interactive.

    2. What is JSX and why is it a core concept in React?

    JSX (JavaScript XML) is a syntax extension for JavaScript that allows developers to write HTML-like structures directly within their JavaScript code. In React, JSX is used to describe the user interface of components. It is a core concept because:

    • Declarative UI: JSX makes it easier to visualize and describe the desired UI structure, as it closely resembles HTML.
    • Component Composition: JSX is used within the render method of React components to define what they should output. This facilitates the composition of complex UIs from smaller, reusable components.
    • Embedding JavaScript: JSX allows embedding JavaScript expressions within the HTML-like syntax using curly braces {}. This enables dynamic rendering based on component state and props.
    • Compilation: JSX code is not directly understood by browsers. It is transformed into standard JavaScript code (specifically, calls to React.createElement) by a build tool like Babel.

    3. How does React handle styling of components?

    React can handle styling through CSS. The example project includes a style.css file where styles are defined for various HTML elements and React components. These styles are then applied by importing the CSS file into the corresponding JavaScript component files. The example demonstrates styling for the body, app, counter, and button elements, including hover effects. React also supports inline styles (applied directly to elements using a JavaScript object) and CSS-in-JS libraries, although these are not shown in this basic example. Media queries can also be used within the CSS files to create responsive designs.

    4. What is the role of components in React, according to the sources?

    According to the sources, components are the fundamental building blocks of React applications.

    • Modularity: React applications are structured as a collection of independent and reusable components. Each file within the src directory (like app.js and counter.js) represents a component.
    • Reusability: Components can be used multiple times throughout the application, promoting code reuse and maintainability.
    • UI Decomposition: Components allow developers to break down complex user interfaces into smaller, manageable pieces. This makes it easier to develop, test, and understand the application’s structure.
    • Data Management: Components manage their own state (data that can change) and receive data from parent components via props. They define how data is rendered and how user interactions are handled.

    5. Can you describe the structure of the Mario game project in terms of components and assets?

    The Mario game project is structured into two main sections within the src directory:

    • assets: This section contains the static resources used by the game, including:
    • audio: Sound files for game events.
    • font: Custom fonts for text elements.
    • images: Sprite sheets and individual images for characters, backgrounds, and other game elements.
    • components: This section is further divided into:
    • atoms: These are the smallest, indivisible UI elements used in the game. Examples include:
    • Birds: Renders and animates birds in the background.
    • Bricks: Renders and potentially animates brick elements.
    • Clouds: Renders and animates clouds in the sky.
    • KeyMessage: Displays instructions for game controls (Enter to start, Space to jump).
    • Obstacle: Renders and manages the movement and collision detection of game obstacles.
    • Sun: Renders the sun in the game’s background.
    • molecules: These are compositions of one or more atoms, forming more complex UI elements or game entities. Examples include:
    • Footer: Displays copyright information.
    • LoadingScreen: Shows a loading animation.
    • Mario: Represents and handles the logic and rendering of the Mario character, including movement, jumping, and collision detection.
    • TheCorrector: Likely related to game logic or interactions.
    • MobileControls: Provides on-screen buttons for mobile users to control Mario.
    • Title: Displays the game’s title and logo.
    • Score: Manages and displays the player’s score and high score.

    The project also has index.js files within both atoms and molecules directories, which serve to import and then export all the components within those respective folders, providing a convenient way to import them elsewhere in the application.

    6. How does the Mario game handle animation and movement of game elements like birds and obstacles?

    The Mario game handles animation and movement using a combination of CSS animations and JavaScript logic within the React components:

    • CSS Animations: Components like Birds, Bricks, and Clouds utilize CSS animations defined in their respective .css files. The JavaScript components (Birds.js, Bricks.js, Clouds.js) use React’s useState and useEffect hooks to conditionally apply CSS classes (e.g., bird animate, brick animate, cloud animate) to the elements. These classes trigger the animations defined using @keyframes in the CSS. The useEffect hook often listens for the document’s load event to ensure animations start after the page is fully loaded.
    • JavaScript-based Movement and Updates: The Obstacle component uses JavaScript and React’s useEffect hook, along with Redux for state management, to handle the movement and positioning of obstacles. An interval (set to every 100 milliseconds) is used to periodically:
    • Access the current dimensions and positions of the obstacle elements in the DOM using useRef and getBoundingClientRect().
    • Dispatch actions to the Redux store to update the obstacles’ state (height, left, top, width).
    • The animation speed of the obstacles is controlled by the speed value from the Redux store. The Obstacle.css file likely defines CSS animations (obstacle1-move, obstacle2-move), and the animation-duration style is dynamically adjusted based on the speed prop.
    • Mario’s Movement and Collision: The Mario component also uses state, event listeners (for keyboard input), and likely Redux to manage its movement (jumping) and collision detection with obstacles. Key presses trigger state updates, which in turn affect Mario’s position and animations (potentially through CSS classes or inline styles). Collision detection is performed by comparing the positions and dimensions of Mario and the obstacles (retrieved from the Redux store).

    7. What role does Redux play in the Mario game project, based on the excerpt?

    Based on the excerpt, Redux plays a significant role in managing the global state of the Mario game:

    • Centralized State Management: Redux provides a centralized store to hold the application’s state, making it accessible to different components without the need for prop drilling through multiple levels.
    • Game State: The Obstacle and Mario components both interact with the Redux store. The Obstacle component selects isPlay (indicating if the game is running) and speed from the store and dispatches actions to update the obstacles’ dimensions and positions. The Mario component also uses Redux hooks like useDispatch and useSelector to manage its state, such as whether Mario is dead (isDead), the game’s loading status (isLoading), and Mario’s position and dimensions.
    • Collision Detection: The Mario component uses selectors to retrieve the position and dimensions of the obstacles from the Redux store, enabling collision detection logic.
    • Score Management: The Score component also interacts with the Redux store. It selects the current score, lastScore, play status, and die status. It also dispatches actions to update the Redux store with the score and potentially the high score.

    In summary, Redux in this project facilitates communication and data sharing between various game components (like Obstacle, Mario, and Score) by providing a single source of truth for the game’s state.

    8. What are some advantages of using React, as highlighted in the introductory and concluding sections of “01.pdf”?

    The introductory and concluding sections of “01.pdf” highlight several advantages of using React:

    • Easy to Learn: React is presented as being easier to learn compared to other JavaScript frameworks like Angular. Its core concepts are relatively straightforward, focusing on components, JSX, props, state, and event listeners.
    • Efficient, Declarative, and Flexible: React is described as efficient, allowing for optimized updates to the DOM. Its declarative nature means developers describe the desired UI state, and React handles the rendering. It also offers flexibility in how developers structure their applications.
    • Component-Based Architecture: React’s component-based approach promotes modularity and reusability of code, making it easier to build and maintain complex UIs.
    • Simpler File Structure and Component Model: React generally has a simpler file tree and a flexible component model, reducing the cognitive load on developers.
    • Shorter Dependency List: Compared to some other frameworks, React tends to have fewer dependencies, simplifying project setup and management.
    • Large and Active Community: While not explicitly stated in these excerpts, the popularity of React implies a large and active community, providing ample resources, support, and third-party libraries.
    • Suitable for Businesses: Due to its simplicity and efficiency, businesses are increasingly inclined to use React for their web application development.
    • Performance: React’s efficient rendering mechanisms (like the virtual DOM, though not detailed here) contribute to better application performance.

    React JS: A Comprehensive Overview

    React JS is a popular open-source JavaScript library developed by Facebook for building dynamic and interactive user interfaces. It is widely used for creating single-page applications where seamless performance and efficient UI updates are crucial. Known for its component-based architecture, React JS allows developers to build reusable UI elements, making development faster and more organized. It is considered an essential tool in today’s web ecosystem due to its flexibility and efficiency, powering many dynamic and interactive web applications.

    Key aspects and features of React JS discussed in the sources include:

    • Component-Based Architecture: UI is broken down into reusable, self-contained components, each with its own structure and behavior, allowing for independent functionality. Applications built with React are essentially trees of components.
    • Virtual DOM: React uses a lightweight copy of the actual DOM. Instead of directly updating the real DOM, React updates the virtual DOM first, calculates the changes, and then updates only the necessary parts of the real DOM. This significantly improves performance by reducing the overhead of direct DOM manipulation. The virtual DOM works in three steps: rendering the entire UI in the virtual DOM, calculating the difference compared to the previous state, and then updating only the changed elements in the real DOM.
    • JSX (JavaScript XML): It is an XML or HTML-like syntax used by React that extends ECMAScript, allowing HTML-like text to coexist with JavaScript code. JSX is transformed into standard JavaScript objects by pre-processors like Babel. It makes HTML codes easier to understand and can boost JavaScript’s performance. Browsers cannot read JSX directly and require transformation into JavaScript.
    • One-way Data Binding (Unidirectional Data Flow): Unlike some frameworks with two-way data binding, React follows a single direction of data flow from parent to child components. This makes the code more stable, easier to debug, and predictable, ultimately improving application performance. Flux is an architectural pattern used by Facebook with React that enforces this unidirectional data flow, involving a dispatcher, store, actions, and views. Redux is a popular library for state management in React applications that also follows these principles with a single store, actions, and reducers.
    • Server-Side Rendering (SSR): React allows for pre-rendering the initial state of components on the server. The server sends a fully rendered HTML page to the browser, leading to faster initial page load times and improved SEO.
    • Component Lifecycle: React components have lifecycle methods that allow developers to control component behavior during different phases, such as mounting (initial rendering), updating (due to state or prop changes), and unmounting (removal from the DOM). Examples include componentDidMount and componentWillUnmount.
    • React Hooks: Introduced in React 16.8, hooks are functions that allow developers to use state and other React features in functional components. They make it easier to share stateful logic between components and work with functional components without needing classes. Commonly used hooks include useState, useEffect, and useContext. Custom hooks can also be created for reusable logic.
    • Props (Properties): These are read-only components that are passed down from parent to child components to supply data. Props must be kept pure (immutable), maintaining the unidirectional data flow.
    • State: State is the heart of React components, representing the source of data that determines how a component renders and behaves. Unlike props, state is mutable and can create dynamic and interactive components. State is managed within the component itself using this.state and updated using this.setState(). Direct modification of state is discouraged.
    • Keys: Keys provide a unique identity to components, especially when rendering lists of elements. They help React efficiently update and reorder elements in the DOM.
    • Reusability: React promotes the creation of reusable UI components, which speeds up development and makes applications easier to maintain. The “write once, use it anywhere” principle applies to React components.

    Reasons to Learn React JS highlighted in the sources:

    • Component-based architecture for building dynamic and efficient applications.
    • Virtual DOM for faster UI updates and improved performance.
    • Increased job opportunities: There is a high demand for React JS developers globally, with a significant increase in job openings.
    • Attractive pay scale: React developers generally command competitive salaries.
    • Easy migration: React facilitates migration from other technologies and older versions of React with features like deprecation warnings and codemod scripts.
    • Reusability of code: Components can be reused across the application, reducing development time and effort.
    • One-way data binding: Makes code more stable and easier to debug.
    • Flexibility: React can be integrated with other libraries and frameworks and is suitable for large and complex web development projects.
    • Strong Community Support: Being an open-source library, React has a large and active community, providing extensive documentation, resources, and support through platforms like GitHub and Stack Overflow.
    • Testability: React views can be treated as functions of the state, making applications easier to test and debug.

    Prerequisites for learning React JS:

    • HTML: Standard markup language for creating web pages.
    • CSS: Technology for styling web pages.
    • JavaScript: Lightweight, interpreted programming language for adding interactivity to web pages. Familiarity with ES6 (ECMAScript 2015) standards, including its syntax and features, is also important.
    • npm (Node Package Manager): Default package manager for Node.js, used for managing JavaScript packages and modules.
    • Code Editors/IDEs: Platforms like Sublime Text, Atom, and Visual Studio Code for writing React code.
    • Basic understanding of the DOM (Document Object Model).

    React Architecture:

    React is often described as the “V” (View) in the MVC (Model-View-Controller) architecture, although it’s more aligned with a component-based approach. For the “M” (Model) architecture, patterns like Flux and Redux are commonly used to enforce unidirectional data flow and manage application state. A React application is composed of a set of nested components, with data flowing through props and state.

    Learning Curve:

    React is considered to have a shallow learning curve compared to some other frameworks like Angular, making it suitable for beginners. The ES6 syntax is generally easier to manage, especially for smaller applications.

    Community Support:

    React has a strong and active community. It is one of the top-rated repositories on GitHub with a large number of stars and a vast ecosystem of libraries and tools. The official documentation is easily accessible, and platforms like Stack Overflow have a massive number of React JS related questions with accepted answers, indicating a highly responsive community.

    Market Trends and Job Opportunities:

    There is a significant demand for React JS developers in the job market. Numerous job opportunities are available across various platforms, and the demand has seen substantial growth in recent years. React developers’ salaries are generally attractive and depend on factors like experience, skills, and location. Top companies like Reddit, BBC, Netflix, Facebook, PayPal, Instagram, Uber Eats, Airbnb, and Twitter use React.

    Testing in React:

    Testing is a crucial aspect of React application development. React’s architecture and one-way data flow make applications highly testable. Unit testing, functional testing, and integration testing are important types of testing. Tools like Jest and Enzyme are popular for React testing.

    Real-Time Projects:

    The sources mention several real-time project ideas that can be built using React, including:

    • E-commerce App
    • Chat App
    • Social Media App
    • Video Sharing App
    • URL Shortener
    • Music Streaming App

    These projects demonstrate the versatility of React in building various types of interactive web applications.

    Becoming a React JS Developer:

    The path to becoming a React JS developer involves learning the fundamental concepts, gaining hands-on experience through projects, and staying updated with the latest advancements. Engaging with the developer community and practicing for interviews are also important steps. Employers often look for skills in JavaScript, HTML, CSS, React core concepts (JSX, components, state, props, hooks), state management libraries (like Redux), build tools (like Babel, Webpack, npm), RESTful APIs, and version control systems (like Git).

    In conclusion, React JS is a powerful and widely adopted JavaScript library for building modern web applications. Its component-based architecture, efficient rendering through the Virtual DOM, unidirectional data flow, and strong community support make it a valuable skill for front-end developers. The demand for React developers continues to grow, offering numerous career opportunities with competitive salaries.

    React JS: Component-Based Architecture Explained

    Let’s delve into the component-based architecture of React JS. As highlighted in the sources, this is a fundamental principle that makes React a popular and efficient library for building user interfaces.

    What is Component-Based Architecture?

    In React, the user interface (UI) is broken down into reusable, self-contained components. Think of it like building with Lego blocks, where each block (component) has its own structure and function, and they can be combined to create a larger structure (the application). Each component manages its own structure and behavior independently.

    Key Characteristics of Components:

    • Reusability: One of the primary benefits is that these components can be reused throughout the application and even in other projects. This “write once, use it anywhere” principle saves development time and effort.
    • Self-Containment: Each component is self-contained, meaning it encapsulates its own logic (how it behaves) and its own view (how it looks). This makes it easier to manage and understand individual parts of the application without affecting others.
    • Independent Functionality: Components can function independently. This allows developers to focus on building and styling one section of the application at a time without breaking other parts.
    • Building Blocks: React applications are essentially trees of components, where smaller components are composed together to form larger ones. There is often a root component at the top, with child and sub-child components forming the rest of the UI hierarchy.
    • Logic and View Separation: Component-based architecture enables the separation of logic and view. This makes the codebase more organized and easier to maintain.

    How Components Work:

    • Rendering: Each component has a render method that returns a React element, which describes what should appear on the screen. This often involves JSX, an HTML-like syntax that gets transformed into JavaScript.
    • Data Flow: Components interact with each other through props (properties) and state.
    • Props are like arguments passed to a function; they are read-only and flow downwards from parent to child components. They allow parent components to configure and control their child components.
    • State is data that is managed within a component and can change over time, triggering re-renders of the component and its children. Only class components can have their own state.
    • Composition: Complex UIs are built by composing smaller, simpler components together. Parent components can embed and manage child components.

    Advantages of Component-Based Architecture:

    • Faster Development: Reusability and independent functionality allow developers to build applications more quickly. Developers can focus on individual components without worrying about the entire codebase.
    • Improved Organization: Breaking the UI into smaller, manageable pieces leads to a more organized codebase that is easier to understand, navigate, and maintain.
    • Increased Reusability: As mentioned earlier, components can be reused across different parts of the application, reducing code duplication and development effort.
    • Enhanced Performance: While the virtual DOM is the primary driver of performance, component-based architecture facilitates targeted updates. When a component’s state or props change, only that component and its relevant children need to be re-rendered.
    • Easier Testing: Individual components can be tested in isolation, making it easier to write unit tests and ensuring the reliability of different parts of the application.
    • Better Collaboration: Teams of developers can work on different components simultaneously without interfering with each other’s code.

    In summary, the component-based architecture in React JS is a powerful paradigm that promotes reusability, maintainability, and efficiency in building dynamic user interfaces. By breaking down complex UIs into smaller, self-contained components, developers can create applications that are easier to develop, understand, test, and scale.

    React’s Virtual DOM: Concepts and Advantages

    Let’s discuss the Virtual DOM in React JS in detail, drawing on the information from the sources.

    The Virtual DOM is a central concept in React that plays a crucial role in its efficiency and performance.

    What is the Virtual DOM?

    • The Virtual DOM is essentially a lightweight copy of the actual DOM (Document Object Model).
    • You can think of it as a tree data structure of plain JavaScript objects.
    • Like the actual DOM, a Virtual DOM is a node tree that lists the elements and their attributes and content as objects and their properties.
    • React’s render function creates a node tree out of the React components.

    The Problem it Solves:

    • Direct DOM manipulation is slower compared to most JavaScript operations. Browsers have to perform several costly steps when the real DOM is updated, including parsing HTML, recalculating CSS, updating layout, and re-rendering the tree.
    • Many JavaScript frameworks update the DOM more than necessary, leading to inefficient updates and performance issues. For instance, updating one item in a list might cause the entire list to be rebuilt.

    How the Virtual DOM Works:

    React utilizes a process called reconciliation to efficiently update the actual DOM. This process generally involves three main steps:

    1. Update in Virtual DOM: Whenever the underlying data in a React component changes (due to state or props updates), the entire UI is re-rendered in the Virtual DOM representation.
    2. Diffing Process: React then compares the new Virtual DOM with the previous snapshot of the Virtual DOM. It figures out the differences between the two versions, identifying which Virtual DOM objects have changed. This process of finding the differences is often referred to as “diffing”.
    3. Patching the Real DOM: Once React has identified the changes, it updates only the necessary parts of the real DOM to reflect those changes. This means instead of re-rendering the entire UI in the browser, React applies a “patch” containing only the modifications.

    Analogy:

    The process of using the Virtual DOM can be likened to editing a blueprint of a house (Virtual DOM) before making changes to the actual house (Real DOM). It’s faster to modify the blueprint than to physically move rooms. Once the blueprint is finalized, you then make only the necessary adjustments to the real structure.

    Advantages of Using the Virtual DOM:

    • Faster Rendering: By minimizing direct manipulation of the real DOM, React achieves faster rendering and improves application performance.
    • Enhanced Performance: The Virtual DOM leads to better performance of React applications, especially for complex and dynamic UIs with frequent updates.
    • Reduced Load Times: Faster rendering has a massive impact on reducing load times and quickly adapting performance based on user traffic.
    • Improved User Experience: By ensuring faster and more efficient updates, the Virtual DOM contributes to a smoother and more responsive user experience.
    • SEO Friendly: While not directly a benefit of the Virtual DOM, React’s ability to perform server-side rendering (SSR), often facilitated by the Virtual DOM concept, can improve SEO. SSR allows the initial rendering of React components on the server, sending a fully rendered HTML page to the browser, which search engines can easily crawl.
    • Cross-Browser Compatibility: The Virtual DOM is not browser-specific and helps in abstracting away browser-specific DOM implementations, leading to more consistent behavior across different browsers.
    • Lightweight: The Virtual DOM itself is lightweight as it’s just a set of JavaScript objects.

    Virtual DOM vs. Real DOM (Source):

    FeatureReal DOMVirtual DOMUpdate SpeedSlowerFasterDirect UpdatesDirectly updates HTMLCannot directly update HTML; updates the Virtual DOM firstElement UpdatesCreates a new DOM if an element updatesUpdates the JSX if an element updatesManipulationMore expensiveEasierMemory UsageCan lead to memory wastageResults in no memory wastageIn conclusion, the Virtual DOM is a key innovation in React that significantly optimizes UI updates by acting as an intermediary between the developer’s desired UI state and the browser’s rendering engine. This abstraction allows React to efficiently manage and apply changes to the real DOM, resulting in faster, more performant, and user-friendly web applications.

    React State Management: Concepts and Techniques

    Let’s discuss State Management in React JS, drawing on the information from the sources and our previous conversations about component-based architecture and the Virtual DOM.

    What is State in React?

    In React, state is a way for a component to hold and manage data that can change over time. It is essentially an object that determines a component’s rendering and behavior. Unlike props, which are passed down from parent components and are immutable within the receiving component, state is local to a component and is mutable.

    • Components can have an initial state defined within their constructor using this.state.
    • State can be updated over time in response to user interactions, network requests, or other events.
    • When a component’s state changes, it triggers a re-rendering of the component and its child components, allowing the UI to reflect the updated data.

    Stateful vs. Stateless Components:

    • React components can be categorized as either stateful or stateless.
    • Stateful components (class components) have the ability to maintain their own state and manage changes to it over time. They inherit from React.Component. As per ES6 standards, class components are the primary way to manage state.
    • Stateless components (functional components), on the other hand, do not have their own state. They primarily receive data as props from their parent components and render UI based on those props. They are essentially pure JavaScript functions. However, with the introduction of React Hooks, functional components can now also manage state.

    Updating State with setState():

    • To update the state of a class component, you should always use the this.setState() method.
    • setState() merges the new state with the old state. This means that if your state object has multiple properties, you only need to provide the properties that you want to update.
    • It’s crucial not to modify the state directly (e.g., this.state.property = newValue) because React may not recognize the change and won’t re-render the component. Direct modification also prevents React from correctly managing state transitions.
    • State updates through setState() may be asynchronous, meaning there’s no guarantee that the state will change immediately. React might batch multiple setState() calls into a single update for performance reasons. Therefore, when calculating the next state, you should not rely on the current values of this.props or this.state immediately after calling setState().

    State and Component-Based Architecture:

    • In a component-based architecture, state is often managed in parent components and then passed down to child components as props. This facilitates the flow of data through the application hierarchy.
    • Child components can then trigger state updates in their parent components through callback functions that are also passed down as props.

    Unidirectional Data Flow and Flux:

    • React follows a unidirectional flow of data or one-way data binding. This means that data flows in a single direction throughout the application, which provides better control over the data.
    • Flux is an architectural pattern introduced by Facebook for managing data flow in React applications. It emphasizes unidirectional data flow through four main components:
    • Actions: Objects that represent events or changes that should occur in the application. They have a type field.
    • Dispatcher: A central hub that receives actions and dispatches them to registered stores. There should be only one dispatcher per application.
    • Stores: Containers for application state and logic. They register with the dispatcher and update their state based on received actions. When a store’s data changes, it emits a change event. Flux can have multiple stores.
    • Views (React Components): Display data retrieved from stores and can initiate actions based on user interactions. Views subscribe to change events from the stores they depend on.

    Redux:

    • Redux is a popular open-source JavaScript library for managing application state, often used with React. It implements the principles of Flux but with some key differences.
    • Key Principles of Redux:Single Source of Truth (Store): The entire application state is stored in a single store.
    • State is Read-Only: The only way to change the state is by dispatching actions.
    • Changes are Made with Pure Functions (Reducers): Reducers are pure functions that take the previous state and an action, and return a new state. They determine how the state should change based on the action type.
    • Redux provides a more structured approach to state management, especially for complex applications.

    React Hooks for State Management:

    • Introduced in React 16.8, Hooks allow you to use state and other React features in functional components.
    • useState is a fundamental Hook that enables functional components to have their own state variables. It returns an array with the current state value and a function to update it.
    • useReducer is another Hook used for more complex state management, similar to how Redux manages state. It takes a reducer function and an initial state, and returns the current state and a dispatch function to trigger state updates.

    Context API:

    • The Context API is a React feature that provides a way to share values like themes, user authentication status, etc., between components without explicitly passing props through every level of the component tree (prop drilling).
    • You can create a Context object using React.createContext() and then provide values to consuming components using a Context.Provider. Components can then access these values using the useContext Hook or a Context.Consumer.

    State Management and the Virtual DOM:

    • When the state of a component changes and a re-render occurs, React creates a new Virtual DOM tree.
    • The diffing process then compares this new Virtual DOM with the previous one to identify the minimal changes needed to update the actual DOM.
    • Efficient state management ensures that only the necessary components re-render when their relevant state changes, which optimizes the performance benefits of the Virtual DOM. Techniques like state collocation (keeping state close to where it’s needed) can further enhance performance by reducing unnecessary re-renders.

    In summary, state management in React is a critical aspect of building dynamic and interactive user interfaces. React provides built-in mechanisms like the state property and the setState() method in class components, and Hooks like useState and useReducer in functional components. For more complex applications, state management libraries like Redux, or the Context API for global data sharing, offer more structured solutions while still leveraging React’s component-based architecture and the efficiency of the Virtual DOM.

    React Router Navigation in Single-Page Applications

    Let’s delve into React Router navigation, drawing upon the information from the sources, particularly sections of “01.pdf”.

    What is React Router?

    React Router is a powerful standard library system built on top of React. It is used to create routing in React applications. Its primary purpose is to enable navigation among different views or components in a single-page web application (SPA). Without React Router, displaying multiple views and updating the browser URL accordingly in an SPA would be challenging. React Router keeps the browser URL in sync with the data being displayed on the web page.

    Key Components of React Router:

    React Router provides several essential components that facilitate navigation:

    • BrowserRouter (or aliased as Router): This is a router implementation that utilizes the HTML5 history API (pushState, replaceState, and popState events) to keep the UI synchronized with the URL. It’s the parent component that typically wraps your application and makes the routing functionality available to its descendants. In the provided example, BrowserRouter is imported and aliased as router: import { BrowserRouter as router, Route, Link, Switch } from ‘react-router-dom’;.
    • Route: This component is conditionally shown. It renders a specific user interface (component) when its path prop matches the current URL. The exact prop can be used to ensure that the route only matches when the path exactly matches the URL. For instance, <Route exact path=”/” component={Home} /> will only render the Home component when the URL is exactly /.
    • Link: This component is used to create links to different routes within your application. It functions similarly to the HTML <a> tag but prevents a full page reload, providing a smoother navigation experience in an SPA. The to prop of the Link component specifies the path to navigate to. For example, <Link to=”/about”>About Us</Link> creates a link that, when clicked, will update the URL to /about and potentially render the component associated with that route.
    • Switch: This component is used to render only the first Route that matches the current URL, rather than rendering all matching routes. This is useful when you have multiple routes that might partially match the same URL, and you want only the most specific one to be rendered. All Route components are typically wrapped inside a Switch component.

    How Navigation Works with React Router:

    1. You wrap your application’s main component with a router component like BrowserRouter.
    2. You define different routes using the <Route> component, associating a specific path with a React component that should be rendered when that path is matched.
    3. You use the <Link> component to create navigational links within your application. When a <Link> is clicked, React Router intercepts the click event and updates the browser URL without causing a full page reload.
    4. The router then compares the updated URL with the defined routes.
    5. If a match is found, the component associated with that Route is rendered within the application. The <Switch> component ensures that only the first matching route is rendered.

    Types of React Routers:

    React Router provides different types of routers to suit various needs:

    • BrowserRouter: Recommended for most web applications. It uses the HTML5 history API for clean URLs (e.g., /about).
    • HashRouter: Uses the hash portion of the URL (e.g., /#/about). It’s often used for supporting legacy browsers or when you don’t have control over the server configuration to handle regular URL routing.
    • MemoryRouter: Keeps the URL changes in memory, not in the browser’s address bar. It’s useful for testing and non-browser environments like React Native.

    Advantages of Using React Router:

    • Provides a synchronous URL in the browser with the data displayed on the web page.
    • Maintains a standard structure and behavior for navigation within the application.
    • Essential for developing single-page web applications where content updates dynamically without full page reloads.
    • Enables navigation among views of various components in a React application.
    • Allows changing the browser URL and keeps the UI in sync with the URL.
    • Uses the <Link> component for internal navigation, similar to the HTML <a> tag but without page reloads.
    • The Switch component helps in rendering only one matching route.
    • It’s not necessary to manually set the browser history.

    In the example provided, a basic navigation structure is implemented using BrowserRouter (aliased as router), <Link> components for “Home”, “About Us”, and “Contact Us”, and <Route> components within a <Switch> to render the corresponding components (Home, About, Contact) when their respective paths are matched. This demonstrates the fundamental principles of React Router navigation in action.

    ReactJS Full Course10 Hours [2025] | Learn React js | React.js Training for beginners | Edureka Live

    The Original Text

    hello everyone and welcome to this comprehensive full course on react GS react GS is a popular JavaScript library developed by Facebook for building Dynamic and interactive user interfaces it is widely used for creating single page applications where seamless performance and efficient UI updates are crucial so known for its component based architecture reactjs allows Developers to build reusable UI elements making development faster and more organized so whether you are a beginner stepping into web development or an experienced developer looking to expand your skills reactjs is an essential tool in today’s web ecosystem known for its flexibility and efficiency reactjs Powers some of the most dynamic and interactive web applications today so in this course we will guide you through the fundamentals of react GS its key features and the skills required to become a proficient react GS developer with that said let’s outline the agenda for this react GS full course so first we will start by exploring introduction to react GS where we will understand what react GS is what its purpose and why it’s widely used in modern web development next we will dive into reasons to learn reactjs where we will discover why reactjs is valuable skill and how it can boost your career followed by the features and prerequisites and then we will will explore aspects and advantages of react GS where we will understand the unique benefits that react GS brings to web development moving on we will cover reactjs fundamentals to learn about components jsx and The Core Concepts that form the foundation of reactjs next we will discuss conditional rendering in react GS in this section we will understand how to render content conditional based on different states after that we will dive into react components and react life cycle where we will explore component structures and life cycle methods for better app control then we will move on to react router where we will learn how to manage navigation and routing in react applications next we will explore react hooks understand the power of hooks for managing State and side effects we will continue with reactjs Redux to master State Management in react application using RS next we will compare react versus react n to explore the key differences between react Gus for web and react native for mobile development then react versus angular where we will understand how react GS Compares with angular in terms of performance and structure then we will move on to react GS projects where we will get hands-on experience with practical reactjs projects next we will explore testing in react in this section we will learn how to write and run effective test for your react applications and finally we will conclude with how to become a reactjs developer to discover the road map skills and resources you need to Kickstart your career as a reactjs developer followed by the react GS interview questions where we will prepare for frequently Asked interview questions to boost your confidence and secure job opportunities but before we begin please like share and subscribe to our YouTube channel and hit the Bell icon to stay updated on the latest content from edu Rea also edu rea’s reactjs training course equips you with the skills needed for professional web development roles focusing on improving uiux using this powerful JavaScript library this course covers key react fundamentals including jsx props State events reducers actions and the state tree master these Concepts to build modern web applications confidently so check out the course and enroll today also check out edureka’s full stack development course with certification this course is designed to take you from the basics to Advanced web development covering everything from HTML CSS and JavaScript to powerful Frameworks like react nodejs and express along with API integration and MySQL for database management so check out the course Link in the description box below now let’s get started with our first topic that is Introduction to reactjs Let’s dive into the three major reasons to make react so useful so the first one is component based architecture in react component based AR architecture UI is broken down into reusable self-contained components each component has its own structure and behavior in this layout the page is divided into different parts a navigation bar at top a side bar at right and the main display area in react we build each of these sections as individual components meaning each one can function independently so the next one is virtual Dom the virtual Dom is essentially a lightweight copy of actual Dom instead of directly making changes to the real dor every time something updates react Updates this virtual dor First Once react has figured out what has changed it then updates only the necessary parts of the real Dom and after that we have the development speed react component structure allows us to quickly build into small parts of the app individually since each component is separate we can focus on building and styling one section at a time without breaking other parts of the page this saves the time and help us to build application faster so in short react component structure development speed and virtual Dom help us to create Dynamic efficient and userfriendly applications so now let us move on to what is react first of all react is a open- source JavaScript library react is maintained by developers worldwide and is focused on building user interfaces making it highly adaptable and Community Driven the next one is react makes develop vment fast scalable and simple react component based architecture allows developers to break uis into reusable Parts speeding up the development and making the large application easier to manage next is react is used for building user interfaces mainly single page applications react is perfect for single page applications where content updates dynamically without reloading the entire page offering a smooth user experience and the last one is rea react enables data changes without reloading the page with features like virtual Dom react efficiently updates the data in real time allowing the web applications to respond quickly without full page reloads now let us have a look on trending Frameworks so here is the data from stack Overflow and here we can see that reactjs is most trending framework currently so react is the popular choice for developers nowadays now that we have a clear understanding of of what react actually is let us explore why it is a such popular choice among the developers so the first one is virtual dor reacts virtual nor updates changes efficiently without refreshing the whole page making apps fast and responsive the second one is development speed with the reusable components and large community of pre-build libraries react helps developers to build applications quickly next one is stability RAC uses oneway data flow which means change in child component won’t affect the parent component this keeps the app stable and easy to manage the next one is interactive interface react makes it easy to build highly interactive uis which means user can get smoother and more engaging experience the next one is component based architecture react divides the uis into components allowing us to build update and use part independently saving a lot of time and effort the next one is server site rendering rea supports serers side rendering which can improve page load speed and SEO by rendering the content on the server before sending it to the user the next one is simple to use reapp Simple syntax and clear structure make it beginner friendly letting new developers start creating apps quickly the next one is flexible development react flexibility allows it to be used in a variety of projects from small apps to large scale Enterprise applications so now that we have covered the key components of rea let’s move on to setting up your development environment where we are going to download vs code and then we will install nodejs for running react on our systems now to download visual studio code we need to visit the official website of Visual Studio code we are just going to click on this website and then we are going to just click on the download if you’re using Windows you just need to click here in case you’re using Mac you need to click here so I’m using Windows I need to click here so now after the download process you’ll see something like this you just need to click on I accept the agreement next just check these boxes create desktop icon open with code and open with code click on next and finally click on install so that will install Visual Studio code into your system so now after installing vs code into our system we are going to install nodejs and to download nodejs just visit this website nodejs.org and you just need to click on this download the LTS version so now after clicking on the download node GS LTS version you’ll be able to download the exe file so after completing the download process you will see this interface you just need to click on next and I already have node installed in my PC so I’m getting these options otherwise you’ll just get a next option let us say I want to change it and then again you will click on next next and and then you will just get a finish option here so that will start the installation of nodejs so after successfully installing the nodejs what we are going to do is we are going to open our Command Prompt to cross check whether nodejs has been successfully installed into our system or not so for that we need to write one command so the first command is node hyphen V so this right here is telling the version of our nodejs so the next command is npm hyphen V so this is also telling the version npm version that we have installed so by this we know that not GS and npm has been successfully installed into our terminal so what is the next step so next step is to open our vs code and then in vs code we are going to check whether node and npm are working or not so here I am on my visual studio code so I’m going to open my terminal here and here is my terminal so inside terminal I’m going to repeat the commands so the first one was node V that’s it it is showing the version of node and it is successfully working in my visual studio code and then it is npm V so now npm is also working in my visual studio code so now we have successfully installed the vs code and nodejs into our system and now we are ready to create one project so now that react is installed let’s move on to creating our first react app so to create our first react app we are going to open Visual Studio code inside this we are going to open one folder so here I’m going to create one new folder and I’m going to name it as react Dev we’ll just select this folder and now we have access to this folder inside this folder we are going to open the terminal and inside the terminal we are going to create the app so to create the app we are going to use this command that is npx create react app and after this you can provide any name which you want to provide to your app let’s say I’ll provide it as react and then enter and the installation of the dependences will start just write y here and enter so now this will create the react app and add the dependences into my react tab so we need to choose the different project name I’ll just choose npx create react app and let’s say counter that’s it now it should create my project and now this is installing the packages into my folder right here we can see the counter app has been created and the package.json has been added inside it now let us wait till the react app is getting created now here we can see that our first react app has been successfully created the node modules has been added the source components has been added and we can see the package Json and everything is added in our folder so this is how you create your react app and now what we are going to do is we are going to run our react app so for that we can just use CD and the app name that is counter and enter and after this we’ll just start our reaction tab that’s it we are going to launch our react tab so here we can see this is our first react app so by default when you are going to install the react app you are going to see these things so now we are going to make some changes in our react app and then we are going to write the code for hello world so there are some useless files that you need to delete first so inside the SRC you are just going to keep the index.js and app.js rest you can delete and that’s it I’m going to remove the logo also now we are going to make some changes in our app.js so first of all we are going to remove these and then we are going to remove the code inside the return statement and we are going to write one heading here that will be hello world that’s it we are going to save it and we’ll move on to index.js inside index.js first of all we’ll remove all this and then we are going to [Music] remove this and this so now we have going to just save our file and just look at the output so this is the output the code we have written inside the return statement is hello world so this is our first react app we have successfully written our first code in react that is hello world so now what we are going to do is we are going to learn some coree concepts of react and then we will be creating one counter app so now that our first react app is up and running let’s dive into the Core Concepts of react that make building application so powerful and efficient so the core components of react includes components components are the building blocks of react tab each part of your UI is component which can be reused to make development faster and cleaner they help us to break down the complex uis into manageable pieces next on we have jsx jsx is a syntax that looks like HTML but works inside the JavaScript it makes it easier to write the structure of your react component j6 allows you to combine HTML like code with JavaScript functionality in one place next on we have is virtual Dom the virtual Dom is lightweight copy of the actual Dom react uses it to update the UI efficiently by only changing what’s necessary making the app faster this reduces unnecessary operations and improves the performance next on we have a state management state refers to the data that changes in your app react lets you to manage State inside the components so when the state changes your UI automatically Updates this is essential for handling Dynamic data like form inputs or user interactions next on we have props props is basically short for properties these are used to pass data from one component to another helping you make your component Dynamic and reusable they allow you to customize component based on the data that they receive next on we have is event handlers event handlers in react are functions that handles user interactions like click form submissions and more allowing your app to respond to user actions they provide a way to trigger changes in your app based on the user input so now that we have covered the code concepts of react let’s switch to vs code and apply these Concepts in real project we will see how everything works together with Hands-On coding so the first thing again I’m going to do is I’m going to open one folder inside my visual studio code so I’ll just create one more folder naming naming counter I’ll just select this folder and again we are going to create this app so inside our terminal again we are going to write npx create react app counter that’s it so our app has been created now what we are going to do is we are going to move into the app by CD counter that’s it now again we are going to delete the unnecessary things that includes index. CSS logo and these two files we are also going to delete this app. CSS so now we are going to create one more file inside it which will be counter dogs that’s it we are going to work on these three files and again one more file we should create for our styling so it should be style. CSS and that’s it so first of all we will start with counter do GS so by creating this counter. GS we are going to understand the concepts of State props and event handling so what we are going to create is we are going to create an app in which we will increment or decrement the numbers and by creating that we will be understanding the concepts of State Management and properties and event handling so first of all we are going to import the react to use the GSX syntax and Define the react component so it will be import react from react now here we are defining the properties that we are going to use which includes count increment and decrement and along with that one reset so these are the properties that we are passing so basically counter is a functional component that takes the four props which includes count increment decrement and reset these props are passed down from the app component enabling counter to display and manipulate the count value based on the user interaction now the counter component returns GSX that renders diff element with class counter inside this div section the current count value is displayed inside H1 element as a counter count and then we have created these three buttons including increment decrement and reset the increment button triggers the increment function from the properties to increase the count when clicked and after that we have this decrement button so this triggers the decrement function from the properties to decrease the count when clicked and then on we have this reset button this reset button triggers the reset function from the properties to reset the count to zero when clicked now here we can see that each of the button uses onclick attribute to call the function when clicked since increment decrement and reset functions are passed as props from the app component clicking these buttons triggers the respective functions in the app that we are going to write so for example the increment button is clicked the increment is called which increases the count in the app component State this triggers a rerender of counter updating the displayed count so that’s it for the counter. JS and now we are going to create the app.js now here we are on the app.js section so let us have a look on the app.js so for imports we are importing use state from react this hook manages state within the component and after that comes the counter so counter component from counter that we have created this child component will display the counter and the button from the user interaction now again we are importing this style. CSS from the Style app that we have created after this comes the app components so inside the app component UST state zero initializes account State variable with the initial value of zero and after that count holds the current count and set count is a function that updates the value so state in react is persistent across renders meaning count will retain the value until it’s updated by set count and after that comes the event handlers these functions are used to update the count State based on the user actions first of all we have the increment so it increases the count by five each time it is called by executing set count count plus five and then on we have is decrement a decreases the count by one each time it is called and then we have this reset so reset sets count back to zero by calling the set count zero so by defining these functions the component becomes interactive allowing user to modify the state and see the changes reflected in the real time so that’s it for the app.js we’ll just save this file we’ll just save the counter. JS and after that let us move on to the style. CSS so after writing counter. JS app.js and we are just going to keep the index.js as it is we have just excluded the codes those were not necessary so we have already seen those in the first counter app that we created for hello world so now we’ll just save the index.js and for styling. CSS first of all we have just styled the body using the font family display justify content alignment of items height and the background color after that we have styled the app using these styling techniques and then we have styled the counter after that we have styled the button and that’s it we have made the button hover so that’s it for the styling now we have created the counter app here we learned about three concepts the properties the state and the event listeners so these are the three core components that we have learned and now we’ll just save this project and we’ll run our project so here is the counter app that we have created so when we are clicking on increment the count is incrementing by five when we are clicking on decrement it is decrementing by one and after clicking the reset button it is being reset to zero so this is the simple app that we have created using props States and event listeners so now that we have a proper idea about prop State and event listeners we’ll now move on further and we’ll just create our Mario game so before that as we have now understanding about the prop State and event listener so basically what are components so all the files that you can see inside the source are components of the real so app.js is one component counter. GS is one component index.js is one company so again the other core concept of react was GSX so this right here the code that we are able to see is basically jsx syntax so basically this is a JavaScript code but we have written HTML inside the Javascript file so this is called GSX so now we have clarity about the Core Concepts of react first of all the components here are the components then the GSX these are the GSX and after that we have properties these are the properties and then these are the event handlers and we have also seen the State Management so after that we have this styling so that’s it about the increment project and I hope you are clear with the concept of prop St and event handlers so now that we have clear understanding of the concepts of react we’ll be starting our Mario game so let us now understand how we created this Mario game using react so first of all we’ll start with the sources in this there is a section named esset in this we have included the audio font and the images that we are going to use so after this we are going on the section of components so in inside this components we have one section that is atoms in this we have included all the components that are being used in this game for example we are using Birds bricks clouds key message obstacle sun and all so after this we have this molecules in this we have included the footer the loading screen Mario the corrector and the mobile controls again we have included the title and the score so now one by one we are going to have a look on this codes so first of all let us start with birds so inside Birds there is a section of bird dogs so first of all we are importing the use effect and the use state from the react and after that we are importing the bird. CSS from the stylesheet file so first of all here is ready is a piece of state that starts as a false it will later be said to True when the document is fully loaded and after this the use effect hook runs after the component mounts it defines a function set load that sets is ready to true so after that this part checks if the document is ready to fully load it if it is it calls the set load immediately if not it adds the event listener for the load event which will call set load once the page finishes loading the cleanup function removes the event listener if the component unmounts or if the effect runs again at last we have the return statement the component return a diff containing another diff for the birds the class name of the inner diff changes based on the is ready state if is ready is true it adds the class bird animate which likely triggers an animation so that’s it about the bird. GS now let us look at the bird. CSS so for that first of all we have provided this GF and then we have included the background repeat as no repeat background size height right width position top and left then we have provided the bird animation and after that we have provided the key frames and media queries so that we are already familiar with what are key frames and media queries so now after bird. JS we have bricks. Js so again in bricks. JS the component Imports the use effect and use state from react to handle the state and a life cycle events so it also Imports the CSS file . CSS to style the components and after that we have this const is ready so here is ready is a piece of state initialized to false the state will eventually determine whether the animation of the brick is active or not after that we have is use effect the use effect hook runs when the component mounts it defines the function set load that sets is ready to true and after that we have this LL statement this part checks if the document is fully loaded and if it is document. ready state is complete it immediately calls set load if the document is not loaded yet it adds an event listener for the load event which will call set load once the page finishes loading the cleanup function removes the event listener if the component unmounts or if the effect runs again and after that we have this return statement the component returns are div with a class bricks container inside it there is another diff for the bricks the class name of this inner diff changes based on the is ready state if is ready is true it adds a class brick animate which likely triggers the animation so after this brick. JS we move on to brick. CSS so again in brick. CSS we have given this background image and The Styling that we have included is background repeat background size height width position bottom and lift next on we have brick animate these are the animation that we have provided and after that the key frames and the media queries so now after birds and Bricks let us move on to the clouds so again in cloud. Gs we have included all these functions just like brick. JS and cloud. JS so you can just pause this and go through the code again it is basically the same function we are just importing the cloud. CSS and we have changed this return statement so after this again we have cloud. CSS we have included the background image background repeat background size height width position top and left again we have included the Cloud’s animation and key frames and media queries you can just pause this video and go through the code once and if you have any doubt you can just comment in the comment section after that we have this key message JS inside this key. JS for first we have imported the key message. CSS for The Styling so inside this we have basically created one press container and we have given two paragraphs including Enter key and space key so here Enter key is for starting the game and space key is for jump so after that we have included obstacles so now let us look at the obstacle dogs code so inside this obstacle. JS first of all the component Imports the CSS styling images for the obstacle and necessary hooks from the react it also Imports Redux Hook from the state management so after that dis patch is used to send actions to the Redux store is playay and speed are selected from the Redux state where is playay indicates if the game is running and the speed represents the current speed of the game so now after that we have this use effect that sets up the interval that runs every 100 milliseconds it dispatches action to update the redu store from the current dimensions and positions of the both obstacles by accessing their boundaries rectangles through the Rifts each property height left top width are getting updated from the both obstacle so after that we have one more use effect so this use effect runs whenever the speed value changes if the speed is non- negative it sets the time out to adjust the speed to the small value after 1 second this could be used to ensure that the game continue to run smoothly so after that we have this return statement the component returns a container of the obstacles each obstacle is represented as a image this class name changes based on the isplay state adding moments classes if the game is active the style props adjust the animation duration based on the speed making the animation faster or slower depending upon the game’s current speed so that’s it about the obstacle dogs now we’ll move on to the obstacle. CSS so here we have provided some basic styling techniques to obstacle container obstacle 1 2 and then we have separately styled the obstacle one and two and then obstacle one move then obstacle two move then we have provided some key frames and media queries so again if you have any doubt you can just comment down in the comment section and rest you can pause the video and look at the code so after this all we are left with the Sun so we are importing the sun. CSS for The Styling and we have included one class container Sun container and then we have given the class name as Sun so again inside the CSS we have provided the background image of the sun which is a gif form and then we have provided The Styling that includes background repeat background size height width position top and right and again we have included some media queries into it so that’s it about the atom section now we’ll move on to the molecules so inside molecules what we have done we have created footer loading screen Mario the corrector score and the title so now we’ll just quickly look to the every molecule so before moving on to the molecules we have just imported everything that we have created Birds bricks clouds key messages obstacles and Sun so before moving on to the molecules here we have imported all of these things so each Line Imports the component of specific file path for example bird component is imported from the birds file the imported components are presumbly react components that will be used in the application to render the different parts of the UI and after that this line exports all the imported components into single object by doing this it allows other modules to import any of these components easily from one Central File instead of importing each of them individually from their respective files so now first of all let us look at the Mario character development so here the component Imports style images or the Mario character audio files for jump death sound and various hooks from the react and reds so after that this used dispatch hook allows dispatching actions to the redex store several State values are selected from the redex store to manage the game State such as whether Mario is dead the game is loading or the Mario’s position and the Dimensions now after that these selectors retrieve the position and dimension of two obstacles allowing for the Collision detection now after that we have this audio handling for this we are using use memo hook to create audio objects for jump die and background music this ensure that these objects are only created once optimizing the performance now after that this handle key function listens for the key presses if the enter key is pressed the G is isn’t playing it dispatches an action to set the game as ready and if the space key is pressed while Mario is not jumping that triggers the jump and plays the jump sound after 400 milliseconds it stops the jump sound and resets its playback time so after this right here you can just pause and have a look at the code 1 by one and if you have any doubt you can just comment in the comment section below so after this we have again used this use effect that mon the Mario’s position and checks the collision with the both obstacle so now if the Collision is detected it dispatches the action to set Mario as dead and plays the dead sound it also repeats the game score after the short delay so that’s it about the Mario character and you can just go through the code line by line this code just shows the use of use effect and how we are controlling the Mario and when the Collision is happening to change the state of the Mario and everything so now let us quickly look at the CSS of Mario so here for Mario we have given the styling technique which includes width height position bottom and left then we have animated the jump and then we have added the key frame and then we have added the animation if Mario dies and key frame again for that and we have added some media queries so now after the Mario character development let us quickly look at the footer section so this component Imports the CSS file for styling which would typically Define how the footer looks and after that this defines the functional component named footer functional components are simpler way to create the components in the react and after that we have this return statement inside this div it displays the text copyright followed by the current year which is dynamically obtained from the new date get full year this ensures that the copyright year is always up to the date without the manual change it also includes the anchor tag that links the placeholder the target blank attribute makes the link open in the new tab and then R adds the security feature to prevent the new page from the accessing the previous ones and that’s it for the footer section now this line basically exports the footer component as a default export of the module making it available for import in the other files so that’s it for the fooo section JS now this is the pH section CSS we have just styled the copyright button and the copyright link so now after the foter design let us look at the loading screen so inside the loading screen first of all we have added the import statements this Imports necessary hooks use effect and use state from the react the Mario character image CSS for styling and Redux function set loading screen and use dispatch so now after this we have added this this basically declares the functional component named as loading screen so now after that we have used is ready so is ready is the state variable initialized to false if it will set to True after the specified delay indicating that the loading is complete so again dispatch is a function from Redux that allows the component to dispatch actions to the store and after that we have use the use effect this use effect runs once when the component mounts due to the empty dependency array it sets the timer for 5 seconds after which it updates is ready to True indicating the loading is completed and then at last we have the return statement the component renders a div with the class loading screen container it displays the Mario character image using the image tag while is ready is false it shows an H1 element with the text loading once is ready is true it displays the enter button when the button is clicked it dispatches the set loading screen false action likely to update the global Redux state to hide the loading screen and then at last we have this export default loading screen so that’s it for the loading screen now let us look at the CSS of the loading screen so inside the loading screen CSS we have provided width height position top left bottom right background color color display Flex Direction justify content alignment of items Gap and Z index then we have styled the Mario loading then the loading title and then the enter button after that we have provided this hover effect to the enter button so that’s it you can go through the code line by line and again that is it for the loading screen so now let us move on to the mobile controls again we have added the Imports here and after that we have added this mobile controls this defines the functional component that is named as mobile controls and after after that we have added this is play Mario jump is die so this indicates if the game is currently being played Mario jump indicates whether the Mario is currently jumping is die indicates if the game is over and dispatch is used to send the action to the Redux store after that we have used use memo to create an audio object for the jump sound this ensures that the audio is only created once for the performance efficiency and after that this function is triggered when the start button is clicked it checks if the game is not already playing and if it is not over if the both conditions are met it dispatches an action to set the game to ready and after that we have created this function this function is called when the jump button is clicked it checks if the Mario is not already jumping and if he isn’t it dispatches an action to set him as jumping plays the jump sound after 400 milliseconds it stops the sound and resets the playback time and at last we have this return statement so in this the component renders the div with the class mobile controls container it conditionally renders the start button when the game is not playing or not over again the over button when the game is over the jump button when the game is playing and at last again we have this export statement and now again we have the styling of mobile controls so here is the media query and then the mobile controls container and after that we have styled the start button jump button and control button again we have styled these button by applying the filters and we have given the background color and then we have given the background color to the control jump button so that’s it for the CSS of mobile controls and the JS off mobile controls you can go through the code line by line and again comment down if there is any doubt now at last we’ll move on to the calculation of the score so now we are at the score. JS again we have added the import statements that Imports the necessary hooks from react Redux function and CSS file so after that we have this declaration this defines the functional component named as score and after that we have used this query selectors for score last score play die and dispatch so the score shows the current score from the RCT store and the last score shows the last score recorded and the play is basically a Boolean indicating if the game is currently being played die is basically a Boolean indicating if the game is over and dispatch is a function that is used to dispatch the action of the Redux store and after that we have included this high score this basically initializes the state variable high score it retrieves the high score from local storage passing it as an integer or defaults to zero if the high score is not found so after that we have used this use effect this use effect runs whenever the dependencies change that means incrementing the score if the game is being played or not over it sets the time out to increment the score by one to every milliseconds and then updating the last score and the high score and after that we have the return statement so this component basically renders the div with the class score container if the game is currently being played it displays the current score if the game is over it displays the last score it always displays the high score along with that and at last we again have the export statement so that’s it for the score. GS and we’ll move on to the score. CSS so for score. CSS we have just applied these styling techniques including the media query and the styling of high score so after that last one we have is title so inside this title. JS first of all the component Imports the CSS file for styling ensuring that the component has desired looks so again after that we have this cons title this basically defines the functional component named as title and after that we have this return statement so the component Returns the div with a class name title container which acts as a wrapper for the title elements inside this div an image element displays the Mario logo it uses the imported Mario image as a source and it has the class Mario logo for styling and H1 element contains the text Mario jump styled with the class title this serves as the main title of the game and again we have the export default title so here is the styling so first of all here we have styled the container then we have styled the Mario logo then title and then we have added the media queries so that’s it for the title now let us quickly go through this index.js file so here each Line Imports the specific component from the corresponding directories so footer displays the copyright information loading screen shows the loading animation and enter button Mario represents the character and mobile controls provide the button for the mobile users score displays the current last and the high score title basically displays the game title and after that this line of code exports all the imported components as named export this means that when importing from this module elsewhere you can access each component by its name so again in the other index .js file we have exported the atoms and the molecules so that’s it we have covered all the atoms and the molecules that we have made for the Mario game so now what we are going to do is we are going to run our project so for running our project we are just going to add the command and then we’ll be able to run our project so here we are going to add the command to run our project so we are just going to write that’s it we are going to give the command as npm start and it will start our project so here is our game here is the output of our Mario game it is the landing page we can just click on enter and it is basically the screen here we have the enter key we have to press the enter key to start the game and then we have to press the space key to jump here we calculate the score the high score we have added these GIS deps of birds clouds sun and the bricks and here we have the Mario character so here is the footer basically we have designed the copyright and this is the title so this is the whole project that we have created using the react so I’ll just quickly enter key and now I can see the game has been started so again I can jump using the space key and my score is being calculated here my current score and the high is being calculated here so this is the final project that we have created using [Music] react starting with the first reason to learn react which is react is easy to learn most developers love react because it is efficient declarative and flexible what is even more important and exciting is that learning react is easier than learning other JavaScript Frameworks if we compare react with angular on learning basis react is a library and a complete solution that is built around one main concept which is to give you more freedom in how you use the library to compose and organize your own component based architecture while angular in turn is more like Constructor or a tree of components so you need to understand how its elements behave work and combine together nevertheless react’s relative Simplicity does not not purely depend on its file structure and component model but also making the code easier to understand and launch of course react doesn’t burden developers with too many things to be mentally Managed IT generally does have a simpler file tree and flexible component model but also that’s a significant benefit react tends to have a substantially shorter dependency list while angular’s dependencies from a dising set that’s problematic to track react aims to make develop life easier by considerably shortening the equivalent lists the more difficult a technology is to learn the longer it takes to start the development process therefore a steep learning curve is one of the main reasons why react has gained so much traction in such a short time given react Simplicity businesses today are more inclined to use it thus building their projects faster now moving towards the second reason to learn react that is increased job opportunities there are thousands of jobs in the world which demand react GS skills there are more than 43,000 jobs available on LinkedIn alone in India for react as compared to 2019 there has been 184% of increase in the openings for rad GS developers in the year 2020 according to India Today a quest report States after cid9 reactjs developer is one of the top digital skilled jobs in demand this quite a huge number of job opportunities makes react one of the skills most of the application developers want to learn and secure a good job third reason to learn react could be attractive pay scale of course salary is important today react has the best pay scale on most of the job suggesting websites like LinkedIn glass door Etc talking about the salary Trends in India the current average salary for roles of react domain is 735 5K which includes the average salary of 597k for frontend developer or engineer the average salary of 654k for software engineer and the average salary of 1 million for senior software engineer now this could be a major reason to learn react because money actually matters in professional career the next reason to learn react is easy migration most of the communities that were not aware of reactjs are now migrating to the reactjs as it is very easy to understand and Implement they have started rewriting the code on react some top companies like Reddit BBC Netflix Facebook as PayPal instacart Uber Eats Airbnb Twitter OK Cupid Netflix Etc are using react this increases the job requirement of react skills in the world a lot of successful and big organizations dare to migrate on react because react provides the facilities which help in Migra ation easily as mentioned in react documentation when react deprecates a pattern they study its internal usage at Facebook and add deprecation warnings which let them assess the impact of the change sometimes they back out if they see that it is too early and they need to think more strategically about getting the code bases to the point where people are ready for the change if they are confident that the change is not too disruptive and the migration strategy is viable for all cases they release a deprecation warning to the open-source Community they are closely in touch with many users of react outside of Facebook and they monitor popular open-source projects and guide them in fixing those deprecations given the sheare size of the Facebook react code base successful internal migration is often a good indicator that other companies won’t have problems either nevertheless sometimes people point out additional use cases they haven’t thought of and they add Escape hatches for them or rethink their approach react not only cares for the migration from other technology but also from older version of react itself to the newer version of react they don’t deprecate anything without a good reason they recognize that sometimes deprecations warnings cause frustration but they add them because deprecations clean up the road for the improvements and new features that they and many people in the community consider valuable for example a warning about unknown Dom props in react 15.2.2 was added many projects were affected by this however fixing this warning is important so that they can introduce the support for custom attributes to react there is a reason like this behind every deprecation that react adds when they add a deprecation warning they keep it for the rest of the current major version and change the behavior in the next major version if there is a lot of repe manual work involved they release a Cod Mod script that automates most of the changes code mods enable us to move forward without stagnation in a massive code base and they encourage you to use them as well so that’s how react helps in migration the next reason to learn react is reusability which is a boon for developers react doesn’t require big lines of quotes to program an application in react we say that everything is a component a user writes small codes called components and combines them to form another component simply any app made with react is a tree of components react follows write ones use it anywhere principle for example if we are building an Instagram app using react Jus we will have many components like a separate component for navigation another one for the story section also for news feed then for profile and all other section of the application components are basically like functions the word has seen a big jump in the increment of the number of developers switching to react JS for which reusability of code plays a vital role moving to sixth reason to learn react which is data binding data binding is the process of synchronizing data between the model and view there are two basic implementations of data binding one directional and twood directional react uses oneway data binding which doesn’t allow child elements to affect the parent elements when they are updated this makes code more stable and easier to debug this also makes the code predictable and ultimately improves the performance of the application if we compare react data binding approach with any other JavaScript framework let’s take angular angular uses two-way data binding to connect the Dom values to the model data this makes it simpler to work with but also has a negative impact on performance it makes it slower when the application deals with lots of data requests it also makes debugging difficult and results in less predictability another reason why you should use react is its flexibility that manifests itself in a number of ways flexibility is especially visible when it comes to the use of react for web development web development projects tend to grow into bulky systems that may be difficult to fix or enhance first when we talk about reacts flexibility we refer to the libraries innate modularity as we know reacts architecture allows bundling front-end code into custom components this providing a solid foundation for the overall development process optimization the react’s position on the scale of opness is a stable the library neither locks nor guides you into their way of doing things on the one hand it dictates how you should create reusable components on the other hand it gives a free hand to decide how to handle routing and testing our organized dependencies and more this degree of Freedom can turn out confusing for newcomers initially but with time working in a react development environment becomes a pure delight for developers this way react allows you to write clean modular code breaking the project into separate components as a result when code is modular it gets easy to maintain and scale second react is super flexible in the sense that it can be integrated with other third party libraries and MVC Frameworks you can choose to create a react project from scratch or gradually introduce react to your existing literacy code base creating a new react app is not too difficult embedding react components one by one into your code written using other Technologies is not a problem as well and vice versa it’s really relatively easy to integrate third party libraries into react applications so using react for front end is a great choice besides while we are on the topic of flexibility it should be noted that another significant advantage in the ease of transfer and support of react native apps react native is actually a framework for building native apps using react so if you know how to develop applications using react you are already well on your way to getting well worsed in react n to they are conceptually similar most of the react Concepts transfer to react native thus you can waste no time learn react native and start developing mobile applications for IOS and Android with a native look and feel if we compare react and angular on this as I have discussed just now react gives us the freedom to choose the tools architecture and libraries for developing an application on the other hand angular offers a limited amount of freedom and flexibility now let’s see the E reason to learn react that is fast rendering react is a client side JavaScript library that uses server side rendering why is it a benefit enhanced support for serers side rendering tones react into a robust performance oriented solution for creating content focused applications be it a web application or native rendered applications for Android and iOS react has everything for a brilliant performance faster rendering has massive impact on reducing load times and quickly adapting the performance in real time based on user traffic flow it’s common knowledge that the faster the page load is speed the more users won’t leave the website and will use your service or purchase your product this is crucial for online business and after covid-19 online businesses have seen a new Milestone react’s virtual Dom is basically the prime cause of faster rendering and better performance of react apps first of all the react virtual Dom that is virtual document object model can be understood as a tree data structure of plain JavaScript objects accordingly react’s advantage over other Frameworks is that it creates virtual Dom as a copy of the real Dom and whenever the state change in a react component happens it reenders the virtual Dom first compares the old version to the new one and eventually only the required minimum is changed in the real Dom instead of re-rendering the entire UI reacts virtual Dom serves as a layer between how things are supposed to look and the actual processes happening to render all of these things onto the page now let’s move to the ninth reason to learn react that is easy debugging when something goes wrong it is important that we have breadcrumbs to trace the mistake to its source in the code base in react props and state are those breadcrumbs if you see something wrong on the screen you can open react da tools find the component responsible for rendering and then see if the props and state are correct if they are you know that the problem is in the component render function or some function that is called by render function the problem is isolated if the state is wrong you know that the problem is caused by one of the set State function calls in this file this two is relatively simple to locate and fix because usually there are only a few set State function calls in a single file if the props are wrong you can Traverse the tree up in the inspector looking for the component that first Poison the Well by passing bad props down this ability to trace any UI to the data that produced it in the form of current props and state is very important to react it is an explicit design goal that state is not trapped in closures and combinators and is available to react directly while the UI is dynamic we believe that synchronous render functions of props and state turn debugging from Guess work into a finite procedure we would like to preserve this constraint and react even though it makes some use cases like complex animations harder react results in not only easily debuggable code but also highly testable applications react itself makes it easier to create a clean architecture that is friendly to testing if you are working with react we don’t have to do any extra configuration of UI tests instead we can use justest that is basically Facebook’s JavaScript test Runner that is configured right out of the box and works seamlessly with reactjs applications if we choose to develop a new application using Create react app just will go with it by default so we will be able to execute tests rapidly just as a node based Runner therefore while testing a reactjs application a developer can run unit tests in a node environment not in real browser by mocking components under test traditional UI test execution tends to be slow but with react UI tests are run quite faster UI tests often end up being brittle however by separately testing single react components in a node environment we can avoid flakiness and ensure test results reliability this is because in such a way we will be in the position I to test pure functions which unlike with traditional endtoend UI tests is much less time consuming both in terms of writing and maintenance if we are running unit tests using react we can be sure that it won’t be a big challenge to write these tests quickly and update them easily now here strong documentation and community support for react becomes the final 10th reason to learn react being an open-source Library reactjs has what it takes to keep attracting more and more newcomers to its Community which makes it stronger over time the feeling of belonging to a community is a solid base that a software developer can rely on when learning new technology or working on a complex project as react developer you will definitely get this feeling the react library has once gotten into the growth Loop and seems to intend to remain there as long as possible as of today reactjs is one of the five top rated repositories on GitHub with over 170k stars and over 5 million applications publicly admitting to using it react has a rich ecosystem to benefit from or contribute to besides finding one’s way around all this information won’t be a big challenge as the react documentation can be easily found on the official website the community is active so you can get rapid feedback or response to your inquiry once you feel stuck currently on stack Overflow there are over 14 million questions tagged react JS that have at least one accepted answer that’s incredible how responsive the community is so once you encounter a problem chances are someone has already had the same problem and there is a solution to it so that you will only have to copy paste it from the corresponding discussion thread with this I have covered top 10 reasons to Lear nonreact last but not the least I want to say traditionally open-source projects get along without full-time developers and are being improved through the work of independent contributors who are committed to the project to a certain degree but reacts contributors commitment is much deeper than that which has a direct positive impact on react developers coding [Music] experience Js X jsx stands for JavaScript XML it’s an XML or HTML like syntax used by react it extends the ecma script so that XML and HTML like text can coexist along with JavaScript react code this syntax is used by the pre-processors like Babel to transform HTML like text found in JavaScript files into standard JavaScript objects with jsx we can go a step further by again embedding the HTML code inside the JavaScript this makes HTML codes easy to understand and boosts javascript’s performance while making our application robust a virtual dor like an actual dor a virtual dor is also a note tree that lists the elements and their attributes and content as objects and their properties react’s render function creates a not tree out of the react components it then Updates this tree in response to the mutations in data model caused by various actions done either by the user or by the system itself the virtual Dom basically Works in three steps first whenever any of the underlying data changes the entire UI is rendered in the virtual Dom representation then the difference between the previous domor representation and the new one is calculated once the calculations are completed the real Dom will be updated with only those changes that have actually been made you can think of this as a patch in a virtual dorm the changes are applied only to those Elements which have actually changed or updated this will not just make our application faster but also there is no memory vage testability react views can be used as functions of the state here state is basically an object which determines how a component will render and behave thus we can easily manipulate with the state of the components which we pass to The reactjs View and take a look at the output and triggered actions events functions Etc this makes react applications quite easy to test and debug server side rendering or SSR server side rendering allows you to pre-render the initial state of your react components at the server side itself with SSR the server’s response to the browser becomes only the HTML of the page which is now ready to be rendered thus the browser can now start rendering without having to wait for all the Java script to be loaded and executed as a result the web page loads faster here the user will be able to see the web page in spite of react still downloading the JavaScript creating the virtual domor linking events Etc at the back end oneway data binding unlike other Frameworks reactjs follows the unidirectional data flow or one-way data binding A major advantage of one-way data binding is that throughout the application the data flows in a single single Direction which gives you better control over it because of this application state is contained in specific stores and as a result rest of the components remain Loosely coupled this makes our application more flexible leading to increased efficiency Simplicity the use of jsx files makes the application really simple easy to code and understand as well even though you can use plain JavaScript over here using jsx is much easier react’s component based approach along with the distinct lifestyle methods also makes it very much simple to learn so that was about the features of react okay so now that you’ve understood the features of react let’s move on and take a look at the prerequisites that are required in order to learn react the first and foremost prerequisite is HTML HTML stands for hypertext markup language and it is the standard markup language for creating web pages and web applications a markup language is a computer language that is used to apply layout and formatting conventions to a text document markup languages make the text more interactive and dynamic it can also turn text into images tables links Etc the next prerequisite that you will need to know is CSS CSS basically stands for cascading style sheets CSS is a technology that is proposed and developed by the worldwide Web Consortium or the w3c for short it was released to help free web developers from the tedious process of inline styling and make styling a separate entity in itself next up is Javascript JavaScript is a lightweight interpreted programming language with objectoriented capabilities that allows you to build interactivity into otherwise static HTML Pages the general purpose core of this language has been embedded in Netscape Internet Explorer and almost all of the web

    browsers following JavaScript is npm npm stands for node packet manager it is the default packet manager of node.js that is completely written in JavaScript it was developed by ISAC zutter it was released in 2010 and since then it is responsible for managing all the nodejs packages and modules npm is the world’s largest software registry which is completely free and open- sourced developers all over the world make use of npm for sharing software code editors or Ides code editors and Ides are integrated development environments are platforms where programmers write their code and produce their final products some examples are Sublime Text atom Visual Studio code Etc so basically if you want to write your react code you will need to make use of any of the code editors or IDs okay so now moving on towards the next topic which is the react architecture as mentioned earlier react is the v in the MVC architecture the M or model architecture is provided by flux plux is an architectural pattern that enforces a unidirectional data flow it controls derived data and enables the communication between multiple components using a central store which has authority over all the data any update in data throughout the application must occur here itself plux provides stability to the application and reduces time errors so now let’s take a look at some of the important Concepts in react the first thing that you should be aware of is components in reactjs everything is a component if you guys remember I’ve already given the one Lego House application example earlier on in this session just like the Lego blocks are combined together to make a single structure components and react are integrated together to build one bigger and dynamic application so therefore in react the entire application can be modeled as a set of independent components these components basically serve different purposes components also enable us to keep the logic and the view separate in react multiple components are rendered simultaneously State and props state is the heart of react components they are basically the source of data and must be kept as simple as possible basically states are the objects which determine the component rendering and behavior they are mutable and can create Dynamic and interactive components States in react are accessed via this state function states also have something called as state life cycle so basically we need to initialize resources to components according to the requirements this is called as mounting in react it is critical to clear these resources taken by components whenever they are destroyed this is done in order to manage the performance and is called as unmounting in react it is not essential to use State life cycle methods but you can use them if you wish to control the complete resource allocation and retrieval process props props is the Shand for properties in react they are readon components that must be kept Pure or immutable props are always passed down from the parent to the child components throughout the application so therefore all the user needs to do is change the parent component State while the changes are passed down to the child component through props on the other hand a child component can never send a prop back to the parent component this helps in maintaining the unidirectional data flow and is generally used to render the dynamically generated data keys keys in react provide identity to components keys are the means by which react identifies components uniquely while working with individual components we do not require key as react takes care of key assignment according to their rendering order however we need a strategy to differentiate between thousands of elements in a list so this is where Keys come into picture if we need to access the last component in a list using keys it saves us from traversing the entire list sequentially Keys Also Serve to keep a track of which items have been manipulated they should be given elements inside the array to give elements a stable identity debugging in react now there will be a point when a developer goes through a roadblock it could be as simple as a missing bucket or as tricky as segmentation Falls in any case the earlier the exception is caught the Lesser is the cost overhead react uses compile time debugging and detects errors at an early stage this ensures that errors don’t silently turn up at the run time Facebook’s unidirectional data flow allows clean and smooth debugging fewer stack traces lesser clutter and an organized flux architecture for bigger applications event handling and manipulation of State whenever an event such as a button click or a mouseover occurs we need to handle these events and perform the appropriate actions this is done using event handlers so those were some of the important concepts of react that you should know when you’re learning react so now talking about the learning curve of react react unlike angular has a shallow learning curve and it is very much suitable for beginners the es6 syntax is easier to manage especially for smaller to-do applications in react you code in the JavaScript Bay giving you the freedom to choose your tool depending upon your need on the other hand angular expects you to learn one additional tool that is typescript which can be viewed as the angular way of doing things in angular you need to learn the entire framework if you’re just building a simple UI application now let’s move on so once you’re done with learning the basic concepts of react you’ll have to adopt the project-oriented learning approach this is because whenever you create a project you will have a 360° learning this is because when you create a project you will have to do everything by yourself therefore you’ll make use of all the programming Concepts resulting in better understanding and implementation remember that you do not have to master the world in your first project itself so start off by choosing a very simple one complete it by yourself and try your best not to copy anything from anywhere else as you proceed you can take a bigger applications and work on them it is sure that you will face difficulties while making your applications however it comes with a reward of learning if you are stuck at some point in your project try to break down your problem into minor parts and then work on each of them one at a time now once you’ve decided to learn react remember that you’re not alone there are a number of developer communities that will help you along the road in this session I’m going to be discussing about GitHub stack Overflow and edura Community GitHub as many of you would be aware of is the world’s leading software platform that brings together developers from all over the world it allows you to build your programs share your work or discover what you are looking for you can also engage with other programmers by asking them your doubts Etc stack overflow stack Overflow is another open community that entertains anyone who wants to code it will provide you with some of the best answers for even the most trickiest questions and errors and will also help you share your knowledge with others using stack Overflow not to forget if you have any doubts or queries regarding any of the Technologies you guys can also check out the edura community website and get all your queries answered by experts also make a note that a key to remember what you learn is to share so make sure you share what you learn with others last but not the least stay updated technology sees New Heights every day the version that you learn today will get modified in the upcoming days so make sure you keep yourself updated with all the latest react versions and update your projects [Music] accordingly now aspects of react JS there are three important aspects of reactjs we will talk about first is the virtual domor second is the data binding and third is the server s side rendering but before that if I talk about the architecture of a reactjs application any reactjs application is composed of a set of components so it includes n number of components and the inputs to these components are the properties which are referred to as props and estate and this complete architecture of components props and estate we will be talking about in the later slides so let’s talk about what are the different aspects of react chairs now there are few things you should know in advance before you start playing around with react so if you have never used JavaScript or the Dom at all before for example so I will suggest that please get familiar with those Concepts before trying to tackle or play around with reactjs so if I say what are the prerequisites to play around with reactjs so you should have familiarity with HTML and CSS you should have basic knowledge of JavaScript and programming you should have basic understanding of Dom Dom stands for document object model then you should have familiarity with es6 standards which we talked about so you have to know ESX syntax semantics and features and then finally you have to know what is nodejs and how npm is installed globally so these are some of the prerequisites I talked about to start with reactjs so let’s talk about virtual Dom now this is the first aspect we want to know about reactjs so let’s talk about the problem first what is the problem so Dam manipulation is the heart of modern interactive app but unfortunately it is also a lot slower than most JavaScript operation so when you write in JavaScript document. getet element by ID this is the ID of the element do inner HTML equal to some value now what happens actually behind the scenes what happens is that browser need to pass this HTML it removes the child element updates the Dom value with the new value then there is a complete recalculation of the CSS for the parent and child for the complete tree and then the layout gets updated so that is each element exact coordinate on the screen and then finally there is a complete traversal of the tree or the render tree and then it gets displayed on the browser now what happens as you can see on the point number four this is very much heavy that is recalculating of the CSS and change layouts because they uses a complex algorithm they affect and finally they affect the performance of the application and as well as updating the Dom properties it’s very complex now here we are talking about only one range now let’s say suppose if you want to update the Dom document object model 10 times directly then all the above six steps which I have talked about they will run one by one and they will update the Dom algorithms which will take whole lot of time to update all the Dom values that is why we say that real Dom is always lower than the virtual Dom please remember virtual Dom is a aspect or you can say concept which is introduced by reactjs now this slowness of the application can be made worse by the fact that most JavaScript Frameworks update the Dom much more than they have to for example let’s say that you have a list that contains 10 items for example so you check off the first item now most of the JavaScript framework would rebuild the entire list that is the complete 10 list that’s 10 times more work than necessary so only one item is changed but the remaining nine gets rebuilt again and again exactly how they were before so rebuilding a list is no big deal to a web browser but modern websites can use huge amount of Dom manipulation inefficient updating has become now a serious problem so what happens when you try to update the Dom in react the reconation process so what happens is that the entire virtual Dom gets updated the virtual Dom gets compared to what it looked like before and now you have updated it so react figures out the difference or which objects have changed only those change objects get updated on the real Dom and then the changes on the real Dom they cause the screen to change so I can say that in react for every Dom object there is a corresponding virtual Dom object so like any actual Dom virtual Dom you can say it’s a note tree that lists the elements and their attributes and content as objects and their property to directly change what is there on the screen manipulating the Dom is a slow process but manipulating the virtual domor is a very fast process or you can say it’s much faster because nothing gets drawn on screen it’s just like a manipulating the virtual domor as editing a blueprint as opposed to moving the rooms in an actual house if you can see that on the screen in the given tree the red one are the ones which have been changed and they have only been patched to the real domor instead of the complete tree so that is the power of a real Dom you can say now the important thing that how does react uses virtual Dom it’s very important so as I said that in react every UI piece is a component and each component has a state so react follows the observable pattern and listens for State changes and whenever there is a change it has been updated in the virtual Dom which gets reflected to the real Dom so in summary what I can say that what happens when you try to update the Dom in react so what happens that the complete virtual Dom gets updated the virtual Dom gets compared to what it looked like before you updated it and then it reflects the changes on the real domor which causes the screen to change that is the concept of a virtual domor now let’s talk about another aspect of reactjs which is data binding so reactjs follows very important to learn that reactjs follows unidirectional flow of data or one-way data binding as comp comp to other Frameworks which supports two-way data binding so in reactjs throughout the application the data flows in a single Direction which gives us a better control over the application so as you can see here that data flows from view to action from action it flows to dispatcher on dispatcher multiple actions can work and from dispatcher it goes to a store so react apps are organized as a series of nested components these components are functional in nature that is they receive information through arguments now if I talk about this oneway data binding or unidirectional data flow so flux I want to talk about little bit about here that flux is a new kind of architecture that Facebook uses when it works with react flux is more of a pattern than a framework and it has four main components you can see on the screen the one component is dispatcher now what dispatcher is doing that it receiving the actions and and it broadcast its payloads to the registered callbacks or to the store the second one is the store so a store is acting like a container for application State and Logic the real work in the application is done in the store the store you can say is registered to listen into the actions of the dispatcher and it will work accordingly and it will update the view so if I talk about view or more specifically the controller views so react comp components they grab the state from the store they grab the state from the store and then they pass it to pass it down to the child components so that is how data binding Works in reactjs it’s a oneway data binding or you can say unidirectional data flow now another concept of reactjs that is server side rendering so let’s talk about server side rendering now so server side rendering allows you to pre-render the initial state of your react components at the server side only so server side rendering which is also called as SSR in abbreviated form it is called SSR it is the you can say ability of a JavaScript application to render on the server rather than on the browser this is the exact definition of server side rendering I repeat this definition serers side rendering is the ability of a JavaScript application to render on the server rather than in the browser now there could be a question in your mind that why would you be ever want to do so so now I will list down some of the advantages that why you want to do so because it allows your site to have a faster page load time which is the key to a good user experience it helps in the SEO that is search engine optimization because what will happen that without server site rendering all your server ships is an HTML page with no body so just some script tags that are then used by the browser to render the application so in nutshell what is the difference between client side rendering and server side rendering so in client side rendering your browser downloads a minimal HTML page it renders the JavaScript and fills the content into it this is client side rendering and what is server side rendering on the other hand serers side rendering it renders the react components on the server and what is the output the output is the HTML content so that is the use of server side rendering so we talked about three important aspects of reactjs that is virtual Dom data binding and server side rendering now let’s talk about virtual Dom in detail so if I talk about virtual Dom as you can see on the screen that model gives data to view which in turn creates a Dom for it so here a model so model had information for the user ID and location it has been given this data has been given to the view which in turn has created the Dom the model gives data to the view which in turns create the Dom but you can see over here that if I change the user if I change the user from Len to Max that is the only change which has happened in terms of three properties as compared to three property only one property has been changed and that property only be reflected on the real domor that is the power of a virtual dor so as I talked about that what is a virtual domor right so virtual dor only give updates to the real Dom it not only gives the updates so that the complete page or the complete HTML or css does not get loaded again and again on the screen so now here see if location is changed if location is changed okay if I talk about the previous location the previous location was us it was compared and then you can see in the real Dom the location is changed to UK because virtual Dom it has not put heavy load on The View and makes our processing also very much faster so with reactjs when model gives data to the view if the Dom is empty react will create a Dom for it that is also a beauty or you can say advantage of a virtual Dom now as you can see here that with reactjs when model has given the data to The View and if the Dom is empty react will create a Dom for it but at the same time it is checking with the previous values and if it has found previous value is Ln and the new value is Max the user property has been changed to Max in the real term so let’s talk about the advantages of reactjs now what are the various advantages of reactjs the first one application performance is increased so which means that the creating the dynamic web applications now it has become very easier and reactjs is very much easier to learn now how the application performance is increased we have already talked about that it uses a concept called virtual Dom so enhancement of performance has been done or you can say application performance is increased because of the concept of virtual Dom it is used on the client side as well as on the server side reactjs can be used both on client side and server side and it also known to be a SEO friendly you can say library readability is improved this is one of the greatest advantage of reactj is that the readability of the code or the readability of the application has been improved a lot another is that it can be easily integrated or used with other Frameworks like angularjs or meteor or VI JS even with knockoutjs or emberjs another advantages of reactjs I want to talk about here is that the reusable components so reactjs focuses on the concept of reusability so react UI as we know that it is declared inside the components so if I talk about a component here at this stage so component is like a function that accepts the props as inputs and outputs the declared interface the U should be composed of as many as components as possible to maximize the reusability so the concept says that you should decompose into multiple components your reactjs application at the same time reactjs is a very much famous Library so there are very much great developer tools available out there for you can say Chrome and Firefox there are browser extensions for react available in Chrome and Firefox browsers so these extensions you can say allows you to inspect the react component hierarchies in the virtual Dom so you can select individual components and examine and edit their current properties and state so these are some of the advantages of reactjs reactjs is very much popular nowadays and is used by almost all the developers across the globe now applications of reactjs so there are uh these famous applications which are using reactjs in their uh application or maybe browser application and some are using in their mobile apps so some are also using react native instead of react along with the reactjs in fact so some of the famous applications one of them is obviously Facebook Yahoo Uber Netflix Twitter Instagram Dropbox and New York Times so these are some of the very big or famous applications which are using reactjs or react native in their website or in their mobile mile [Music] apps so first of all we have the jsx so we have under jsx now there are multiple components under rat that makes the entire infrastructure as flexible as possible so like we have jsx then we have riat components then we have props then we have States life cycle events references key and then we have available rout so the are multiple references that we have that we are going to discuss now the core important component first of all is components so let’s discuss on the component on the structure for components first so components are what if you have web page so if you want to update different content if you want to handle different content you can say section separately then instead of refreshing the entire page what we can do we can declare we can add different sections at as different components so that we can Define different Logic for different sections we can have different separate views and then we can render multiple components in the same page where it can all have their own separate Behavior defined right so first of all we have components so components as we discussed in application can be modeled as a set of independent components and different components are used to serve different purposes this enables us to keep a logic and view separate so react renders multiple components simultaneously and components can be either stateful or it can be stateless so before we start creating components we need to include a few import statements so we have to define the import Rea and then only we can import start importing the components and then we can Define the individual functionality for these different components one by one for example here we have this one declared as component we can have the left side bar declared as a component and so on so everything in reat is a component and each component returns a Dom object it spills the entire UI into independent reusable pieces each independent piece is processed separately and it can refer other components in output and it can be further split into smaller components so valid re component accepts a single props object argument to produce a react element and these are called functional as they literally are JavaScript functions so here we can define a button where we can define a prop as on click and then we can link this to any of the other components suppose if this if you talk about the simplest way of defining a component is through JavaScript where we can Define function and then we can Define the entire components and components can Rea can be in two different forms it can be stateful or it can be stateless it can be stateful or it can be States now stateful remembers everything again we can it has its own memory where State doesn’t remember anything it does so as soon as the entire statements are executed it simply clears out this entire memory so core which stores information about components in memory and it can change change States it contains knowledge of past current and possible future State changes it receives information from the stateless components if State change is required it calculates States internal we can say internal state of components and it never changes the state contains no knowledge of past current and possible future State changes and it provides a referential transparency that is for some for same input it will produce same output as well as a part of stateless components then we have props so Props are read only components so whether components are declared as functions or class it must never change a change its props such components are called Pure functions so all component must act like pure functions with respect to the props as what we are going to Define all right now for example let’s say if we want to create any component here we want to define the props as well then we can create a components and then we can create separate props for example if you want to create a component in react then here it’s always advisable to go to source and under Source we can create a separate folder so here we can find folder name as components and then under components we can create the component file for example here we can create a component file as suppose C mp1 suppose here we have suppose header header. JS so if we have one component defined as header. JS we can Define header. JS and first of all we have to when we creating component we can import the react Dom element we we can Define react Tom from react Dom element that we have to that from in which this is currently present so we can Define react Tom then we can declare a simple constant where we can Define con con Conant such as my component we can write any component here suppose here we can Define my component now here we can make use of a simple Lambda function now in here we can create a function we where we can Define okay we want to return and then what exactly we are looking to return here we can Define that those parameters let’s suppose here we want to return as simple S2 as we have I can say component example we can define a simple component example here we can close the H2 element and then we can now once once we have closed it we can close the statements that we have currently opened up and then we can use react dom. render so that this particular my component that we have created this can be rendered this entire component can be rendered here and then we can Define okay in which so here we are going to use document get element by ID and suppose here we want to render this where we want render this in the root ID that we Define in index oral so in in ID we have defined as root let’s change the same thing under index as well so here we can Define this to be root right so here we Define the entire root element here and then once we add we can close IND statements so we can save this and now if you want to include this back in our own statement then we can easily do that right so here we can simply Define our own application we can Define the own index whever and however we want this to be vendored and then for creating a props so Props as we know all that in simple am terms if you say props is basically a shorthand for the properties so react uses props to pass attributes from parent components to child components and props are the argument based to the function or component which is ultimately processed by react so here we can Define multiple properties for it and then we can have it rended depending upon what kind of property we are going to create here so for example here instead of using the return statement here let’s do one thing let’s see here we create a simple function so here we can Define function so okay let’s return the statement here not a problem so after this we can create a simple function let’s create a function here by the name of app so here we can define a function for app and in here we can specify return now under return we can define suppose here we want to return a division and then under division for example we have multiple message that we want to save here so here we can Define message as username for example here we are going to save multiple username then here we can Define message as suppose we have John here we have again another message that means another usern that we want to Define here suppose here we have SEL and here we have another message this can be multiple components we can save suppose here we have mik this can be multiple username that we are going to Simply render here and then when we when we are rendering the element here we can Define the in function right so now instead of Define the the even earlier instead of defining the entire my component we can Define the function and under function we can create a function for message that we have specified here so here we can Define message function and under message we are going to Define this as props with the properties that we have defined all right so here we can Define the entire properties as in how or well we want to render these as a part of the props and components and then we have other properties such as we have state so States basically allow us to create components that are Dynamic and interactive so state is basically private it must not be manipulated from the outside also it is important to know when to use state so it is generally used with data that is bounded to a change for example when we click our toggle button it changes from inactive to active state that you may have noticed and state is used only when needed and we have to to make sure that it is used in render property that we have refined in in our JS otherwise it won’t include in the state and we do not use state with static components the state can be all the state can only be set inside the Constructor alog together so we can include some code Snippets into see a small example so for example we can come back to our editor so let’s say here we can create a new file all together let’s say we name it as state 1. JS now here we can import react from react and then we can also work on importing react Dom from react now basically when we are working on the elements we have to make sure that we import the elements one by one so here we have to import react re Dom now here we can start now for the State Property let’s say here we can Define class for toggle where we want this to be extended not extend react. component that we have imported or we can also or now to work on this one here we also have to import Rea component as well so here we can also import uh if you want to import component then from the same re here we can Define the component as well if we looking to import multiple things and here we can Define react and component both from from the library where we have defined it all right so here we can define a simple class as sole as re component here we can Define us Constructor where we can specify a value for Constructor and then we can Define value such as here we can define a super where we can a super object for having the value and then we can use this dot state so here we can store the state value as this do state and here we can Define is toggle here we can Define is toggle on if it is now here we can Define the property to be true then we can Define this. handle click should be set to using this pointer this handle click dot bind so here we can bind this to the this point that we have selected so as a part of the state now here we can also if you want we can bind this a state here and then we can Define multiple States as in when this when this should be on when this should be off and then we can alter M multiple states by Define the state life cycle as well one by one so we can Define if state is again one then again how we have to switch different states from one state to the other that is something that we are going to look at as soon as we proceed further with the entire module step by step then we have life cycle so Rea provides various methods which notifies when certain stage of life cycle occurs called life cycle methods so these are spatial event handlers that called at various points in components life so code can be added to them to perform various task and they are invoked in a predictable order and entire life cycle is divided into four different phases we have the initial phase where we have get default props get initial State then we have component will Mount render and component did Mount then in the updation phase here we have have should component update component will update render and component did update then in the props change phase we have components will receive props should component update component will update render and component did update and then in impound simply is going to Define component with unmount so component is going to be unmounted after a specific value based on the condition whatever we have defined and events are basically triggered at reactions to specific actions like Mouse over Mouse click key press we can set any kind of event parameters and then we can Define it easily we can do that now as soon as any event is triggered this is going to Simply trigger the vat event and event passes the event arguments to the event handler so whenever any event is specified in GSX the synthetic event is generated and this synthetic event wraps up the browser native event and I pass as argument to the event handler that’s how it is structured and then we we have references so references stand for again and references are basically used to return references to a particular element or component returned by render so when we are rendering any element here then we can use references to specify a particular element now basically this is mostly used for managing Focus text selection or media playback and then we can also be used for triggering imperative animations or we can easily use this with third party Dom libraries as well we can do that these are the main features available in Rat and again we also have the component for rat router as well so reat router is basically a powerful routing Library built on top of reat framework so it helps in adding new screens and flows to the application very quickly so it keeps the entire URL in sync with data that is being displayed on the web browsers so in router we can have an easy understanding of the application views it can restore any state and view with simple URL it handles the entire nested views and resolutions States can be restored by the user by moving backward and forward it can help us in maintain a standardized structure and behavior while navigating it to the implicit CSS transitions we can easily do [Music] that what is conditional rendering in react J okay let’s see the definition in react you can create distinct component that encapsulate Behavior you need then you can render only some of them depending on the state of your application so when you are building some react applications we might often need to show or hide some HTML on some certain conditions right so in simple words what is conditional rendering conditional rendering is nothing but if a given statement is true then the if statement executes or else the L statement will execute so we have an example here for a better clarification now let’s imagine a person is appearing for an exam and the candidate must score 50% so this is the condition here so if the candidate scores 50% then only he will pass this exam or else he will fail so this might be considered as a simple real life conditionally rendering statement or an IFL statement and also I have an interesting fact here conditional rendering in react works the same way the conditions Works in JavaScript okay next we have different methods in rendering so let’s see what are all they first is IFL statement then element variables turn operators and finally short circuit operators let’s see each of it in a detail form here first we have IFL statement and IFL statement will execute the action contained in the if block when the condition is satisfied otherwise it will execute the actions contained in the else block so now let’s check this in a simple syntax and see here we have a condition which is to be evaluated and we have a statement inside the if block so this will execute when the condition there will satisfy or else the statement in the else block will be executed now let’s see this in a practical way now I am using visual studio code as a code editor okay now you can see I have have a user.js file opened here and we have app.js here I have included user here and also imported the user file here okay now let’s start coding now first and foremost we have a scenario here so let’s imagine there are two person one person from the edura team and another person is not a edura team person now now the person from edura if he sign in or if he log in to the this page and he must see a welcome page and if the non edura person signs in here he must see a please sign in page before he signs in so that is what we are going to design today with an simple IFL statement first and we will see the other conditionally rendered methods also so we will start coding here so first we will import react here I have the export default user so this helps me to import the user here so we have to Define it here for better practice now I have imported react here then I am declaring a class user extend react do component and also I am constructing a prop and I’m creating a super class and here I am giving the condition this dot St logged in false here I I’m giving false because the user will not be a member first then after he signs in he will become a member so I’m default keeping here as a false okay then I am rendering this const is logged in this state is log 10 okay here I am returning the condition and return the statement now I’m writing the else part return please sign in for happy learning in Ador yeah now here you can see as I have kept the state as false so default the react will work in local host 3000 so here you can see the output please sign in for happy learning Ura has I have kept this state as false now here I will give the styles for a visible changes you can see in the website so I am giving the Style part okay yeah this is image and I have given a simple Style part here so now if I keep the state as true then this welcome to edura page with an image should be executed so let’s see yeah you can see here welcome to edura with a Eda page image background and if I do false false then yeah you can see please sign in for happy learning in edor okay and also the thing is the IFL statement does not work inside the GSX because IFL statement is not a valid syntax inside the react JS now you might be thinking what is GSX GSX is Javascript XML it makes the code easier to write and add HTML into the react yes now let’s see what is element variables element variables are simple to approach to extract the conditional render into a function element variables are variables that holds jsx elements you can conditionally assign elements or components to these variables outside the jsx and only render the variables within jsx now we use JavaScript variables to store elements right so this will also Al help us conditionally render a entire component or only a part of component while the rest of the output does not change here so this is one of the benefit also it holds js6 element inside this so this is an advantage so let’s see the syntax here we have a variable and the same IFL statement with the variables assigned to the statements so let’s see here this variable is a memory for the values or it is the value will be stored in this variables and this is the same as the condition which is to be evaluated and we have a statement so this statement is assigned to this variable whether the condition is true then this statement will be executed to the user or else the else part will be executed to the user now we will see the Practical example in the visual studio code now you can see I’m editing in the same code I’m not changing anything here I’m just eliminating the F statement from here okay and now we have import and here we are using a variable so I’m using a variable button for that I have created a button here as a login button and a log out button here as well okay now I want to import this two buttons into my user.js file so let’s do that I will import log out button here and import login button okay now here these both are the child components of greetings so I want this greeting to be imported in user.js as well so let’s do that import greeting yeah now you can see right now I want this to be returned so I will return Dev greeting is loged in okay which is equals to okay this is the state F now we are using button right so I am declaring here the button okay now let’s write the main syntax let button then I’m writing if statement if is logged in button is equal to log out button on click so we are giving a event here that is on click this dot handle log out click okay now you might think where this handle came from I’ll explain now let’s give else part also copy pasting this but here log in okay we have here handle log out and login click so we have to give here also so we are giving this dot handle loging click is equal to this dot hand login click dot bind this okay so this is the event hand law dot bind this okay and also we have to give this state handle login this dot set state so I’m setting the state here as is logged in true okay now same thing for log out button false okay now this should work you can see a login button here which didn’t have previously for a statement and you can see the changes here now I am not a user of edura then I should get this page once I log in then I should get welcome back to edura page okay so this is what the element variable statement here I am assigning the values to this button if I click the button over there then the handle login click should give me true value and log out click should give me false value okay I hope you all understood the ifls and element variables next in our list is Turner operators let’s see the conditional tary operator is the only JavaScript operator that takes three operant this operator is frequently used as a shortcut for IFL statement okay now let’s see the syntax here we have a condition over here this is the condition is to be evaluated with a question mark So this question mark means if the condition is true or false if it is true then this statement will be executed if false then this statement will be executed so here the colon is the else part is the difference between true and false part now let’s check this also in terms of practical way this is the simple way of writing any conditional rendering here we have the same thing as the element variable here we have to just change the if and you can see here I’m giving the question mark here and I’m taking off this else I’m just assigning the column yeah with only this two changes here the code will be working I’m setting this to true for changing so you can see welcome back to eding with just three changes we are getting the same output here okay see log out so I’m getting this page if I log in I should get this page okay next we have a interesting operator that is short circuit operator short circuit evaluation is a technique used to ensure that there are no side effects during the valuation of the operant in an expression The Logical and operation helps you specify that an action should be taken only on one condition otherwise it would be ignored entirely here the approach is a specific case of this jary operator that we just learned now when we want to render something or nothing then we use short circuit operator now let us see the syntax yes this is the syntax now here the expression is first evaluated from the left hand side of the operant okay and if it is true then it is evaluated see the condition is to be evaluated and this is The Logical operator and this is the expression if the condition is true then this expression will be evaluated if the condition is false you will not get any kind of output here so this is the beauty of short circuit operator then we’ll see in the practical way here I have the same code just I have taken the buttons here I don’t want that button so here I am writing the syntax return this state logged in and and operation and I’m giving the style and welcome back to edor okay yes here we have the value as true so let’s check the output yeah welcome to edua and I will change here welcome back to Eda see we come back to Ed now if I change this to false so let’s see what see there is no output so that is what I mentioned you before if the condition is true then this output will be executed if false you will return nothing so this is the end of the conditional rendering now we will learn how to prevent component from rendering in rare case you might want a component to hide itself right even though it was rendered by another component to do this return null instead of its render output so returning null from a component renders method does not affect the firing of the component life cycle method so now I’m taking you through the online compiler I’m using GS pable this is a converter of the JavaScript now here we have a function called warning banner and we have props and I returning null here okay so we are writing a warning sign um let me change here I will write danger okay you can see the Visible Changes here itself danger okay here we have a phage extension and I’m giving this true here we have handle toggle click and I am giving has hide and show now if we click on hide so the message will be here hidden from rendering now I want to show this message then we can show here from returning null if we hide then you will not get any of the output here so this is also a kind of short circut operator and but here you will not get any of the side effects by giving the return as null now we’ll talk about components in detail so first thing first that in react everything is considered as a component so I will say in react everything is a component so on the screen you can see that there are multiple components 1 2 4 3 and five and on the web browser we need to add them just like components so they have been added just like a Widgets or sections or web parts or specifically components and all these components are integrated together in react to build one react application so in react what I can say is that components lets you split the UI into you can say independent reusable pieces of code and you can think about each piece in isolation and that is where the concept of reusability comes into picture that each component can be reusable at a later point of time but conceptually components are like JavaScript functions you can say like that they accept some arbitrary inputs so the inputs to a react component is called props and the return react elements describing what should appear on the screen we can easily update or change any of these components without disturbing the rest of the application so as you can see that if I want to update or change any of the feature of this component one I can update it without disturbing the rest of the application or you can say without disturbing the other components on my application now how components are split internally so single view of UI is divided into logical pieces so on the left you can see that it’s a single view or you can say react based application but how it is divided internally into logical pieces so the concept in of component in reactjs always says that you should have a parent component and then you can have child components or sub components and it behaves like a tree so at the top you will have parent component or you can say base component and then there will be some branches or some branches beneath it so the starting components becomes the root it’s called The Root component and the rest of all other becomes you can say the branches and the sub branches so in this diagram you can see the component one is the root of the UI tree two and three are the children of one and four and five are the Sub sub branches of the second component so that is how you can split the complete UI in reactjs components now each component returns one Dom element so as I mentioned that in every component you should have a render method and a return statement so each component in reactjs it returns one Dom element and how it is returned that there is a API called react Dom and it has a method called render so react dom. render will allows you to render the different components on your application so the jsx elements must be wrapped in an enclosing tag so always please remember that if you have to embed the jsx elements inside a return statement or a render method you have to wrap it in a enclosing tag so here I am creating a es6 standard component class component 3 so 1 2 2 4 and 53 is here which is written like this that hello world welcome to edura and react dom. render I am calling the component component one because component one is my root component and where I want to show you is the ID of that div element that is document. getet element by ID content now if I talk about props and state so react components are basically controlled either by props or you can say by state so we will talk about them now but before that what are just a summary of the components that everything in react is a component each component returns a Dom object as I mentioned that component divides your UI or splits your UI into independent reusable pieces and then each independent piece is processed separately a component can be divided into a root component and into the child components and then we can further split into smaller components compon now this is very important to understand that how you render a component so when react sees an element representing a user defined component it passes the GSS attributes to this component as a single object and those are called specifically props so you see here this is a function welcome which is just like a component having some props as a parameter so we call here react. render with the welcome name welcome name let’s say name is the prop over here having the value with and react calls this welcome component with the name vipul as the prop so this becomes name equal to vipul is the props welcome is a component which returns H1 tag and then react Dom efficiently updates the Dom to match this H1 tag that is how a component is rendered in reactjs now the other fundamental the most again a very important you can say fundamental of reactjs are the props now what are props so prop helps components to converse with each other or to communicate with each other this is I can compare it with you can say arguments or parameters of a function so if in this example class body extends react. component return header and footer now in header name equal to Bob and name equal to Alex so how can I return this property to this class component by using this do props do name so what this doprs do will return this doprs do name then it comes to header it will return Bob and this. props do name for the footer component it will return me Alex so how you can access props in reactjs if you want to access props in reactjs the syntax is this doprs do name so using props we can configure the components so now I have another header and footer components and I’m passing a different value name equal to Miller and name equal to CI so in the header component if I write this this doprs do name in the previous example also I wrote this doprs do name but the value was something different and in this case the footer component will return me this doprs do the value will be Cod so Props are basically used with components they revolve around the components they help in the conversation of different components via props we can do the conversation or communication between the different components in reactjs and how to access those props the props are accessed using this doprs do name or you can say this doprs do the attribute name or attribute value so if I talk about props they work similar to HTML attributes data flows from downwards from the parent component so as we are talking about a UI tree a parent child relationship so in terms of props it’s a unidirectional flow of data props are immutable that is they are pure here we are talking about pure functions or pure components so Props are immutable so as compared to which is mutable which we’ll talk later but props please remember are immutable so they are pure in nature they can set default props so we can set some default properties around the props now let’s talk about what is pure and impure here we are talking about so whether you declare a component as a function or a class so as we talked about components can be of two types a function component or a class component but it must never modify its own props so Props are always read only they are immutable in nature so it is very well said that all react component must act like pure function with respect to their props so let’s talk about what is this pure function and what is this impure function here we are talking about so for example there is a function called sum having parameters A and B and it is returning a plus b so in this particular example this is called a pure function why they are called Pure because they are not attempting to change the input values they will always return the same result for the same input so by that what I mean is that I’m not altering the value of a or b inside the function definition that’s why this is called a pure function but when I talk about a impure function because the function is impure so it changes its own input so for this particular function the input was account and amount and you can see there that I’m changing the value of account so it becomes a impure function and that is not allowed when it comes to components and props because all react component must act like pure function so Props are read only or you can say props are immutable in nature now components and props we talked about that there are two types of components you can create in reactjs because components allow you to split the UI into independent reusable pieces and you can think about each piece in isolation they are basically just like JavaScript functions but there are two types of components which you can create based on es5 or es6 is standard so if it comes to es5 is standard you can create a functional components but the recommended way and I will recommend that you always create a class component so how you will create a function component normally just like we create a function so function welcome having some props or the parameters but if you want to create a class component so you have to use the keyword class the component name which extends from react. component and it should have always have a render method and a return statement so that is the these two are the different types of components which we can create but from a react point of view they are always equivalent these two forms of component are always equivalent now another fundamental is state but before moving to the state or you can say another fundamental let’s get deep dive into some of the examples so that the three basic fundamentals which we talked about jsx components and props you can have better understanding about these okay so let’s get started so I’m just opening the nodejs command prompt so I have opened the prompt so I’m moving to the D drive and I’m moving to a specified location and then I’m am opening the code in a editor called Visual Studio code so let’s talk about the basic example that how you can render the jsx in react JS a very basic and simple example we will talk about that how you can render jsx in reactjs okay so what we have done over here is that we have a react Library the reference of a react Library okay and then reference of a react dom. library and then reference of The BJs in the script tag I have called reactdom do render and in that react dom. render because we want to render the jsx okay and please remember that you have to use script type equal to text Babel to indicate the jsx code in JavaScript of jQuery we refer script type equal to text/javascript but when we are working with jsx you have to use script type equal to text /b to indicate the jsx code and include b. min.js this is very important and this b. min.js this is a browser script tag in react dom. render in the H1 tag so please please remember that this render method takes two parameters always the first is your jsx element and another is your placeholder okay let’s move to the another demo where we will see that how we can use the JavaScript in jsx so as we know that we can also use JavaScript in jsx it takes the angle brackets as the beginning of the HTML syntax and cly Brees as the beginning of the JavaScript syntax okay so here you can see that I have created an array name equal to some names and in the react dom. render I using a JavaScript names on the names array I using the map method which is calling on the name and on the index key that is a key value payer and in this I’m returning the key equal to index hello and the name now you see here this name is represented in the cly bra as a attribute because names if I don’t put it in the C braces will be considered as a simple text so let me save this file and run this so you see here hello Lis hello Emil and hello Kate the reason being why this output because I have written here is hello and passing the parameter as a jsx so I’m using the JavaScript in the jsx and looping around the values in an array using the map function or map method which is inbuilt method of the array collection so that is why this particular output is shown hello Ellis hello Emil and hello Kate because these are the three values which are there in my array okay now let’s move to another example again a very simple one that I have created an array having the key values as 1 and two now in the react dom. render I am calling this array now what will happen that in my output it will represent that hello world react is awesome now in the next in this example what I’m doing is I’m I am defining a component so we talked about props we talked about jsx we talked about components right so in this particular example I’m defining a component so what is a Syntax for defining the component class then the component name which extends from react. component then it creates a component class and it implements a render method please remember that the class components or the function components always should have a render method class components always implements a render method to return a component instance of the class so if I talk about before version 16 of react chairs it uses react. create class to create a component class now it has been deprecated and we are using the es6 standard okay now components can have attribute and you can use this. props do some attribute to access them just like in this case I’m using this doprs do name so what what I’m doing is that in react dom. render as I mentioned you have to call the parent component or you can have to call the root element in this case there is a component called Hello message okay now in the Hello message component I am passing a prop with the attribute name let’s say equal to name and its value is John now what will happen in the Hello message it is returning hello this doprs do name as I mentioned while talking about the props that how you can access the prop okay how you can access the prop so how you can access the prop you can access the prop is this doprs do attribute name please remember how you can access it this do props do attribute name this is very important to understand and now let’s see the output of this I’m opening it in the browser it is showing me the output hello John okay now let’s talk about this doprs doch now what is the use of this doprs doch so react uses this doprs doch to access component children notes or you can say child notes so you can see here this doprs doch so please remember that the value of this. props doch it could have three possibilities in fact so if the component has no note then the value will be undefined then the second possibility could be that if can it can have a single child node let’s say an object and if multiple General nodes then it will become an array I repeat that there are three possibilities while using this doprs doch so component can have no children node then the value will be undefined in that case if it has single children node then it will be an object and if it has multiple children nodes then it will be an array so react gives us the utility called react. this is react. this is a utility given by by react for dealing with this doprs doch data structure so we could have used react. children. map to iterate into the childrens of the component without worrying its data type being undefined or object so what I’m doing over here is that I’ve created a notes list component that is a class component so class notes list extends react. component it implements a render method and it Returns the instance of this particular class since we are accessing the children of the particular component so we can use react. children. map in this I’m calling this. crops. children and it could have three possibilities but in this case since we have a children so our output would be hello world in this case the output will be hello world in a li structure so that is how you can use or you can access the children components also of a particular component let’s move to another example so types components can have specific attributes which are called props in react and can be of

    any types it can be of any type so here you can say prop types. string. is required so what happens is that sometimes you need a way to validate the props so you don’t want users to have the freedom to input anything into your component so react has a solution for it and it is called prop type so what we are doing is that we are saying that prop types is of type string and it is required this is kind of a validation we are doing so what is done in this particular example is that the my title my title is a component has a props of title prop type tells react that the title is required it is required and its value should be of type string now if we give let’s say for example title a number value so where data equal to let’s say 1 2 3 for example okay then it will result in an error which means the props does not pass the validation and the console will show you an error message something like let’s say failed prop type so what I’m doing over here is my title I’m calling the component and there is a title where I’m passing the data and data is 1 to three okay so that is how you can Implement some kind of validations or you can apply some kind of rules where you don’t want to give the user a freedom to write anything in your component so the these are some of the basic examples we talked about for jsx for props and for components now let’s move to another set of examples so let me close this very quickly okay so these are again some of the small examples which allows you to work with jsx props and components but before starting this let me tell you one thing very quickly that as I told you that this is the nodejs website from where you can install the latest node.js version and once you install so there is a GitHub project provided by Microsoft open source project which is called create react tab so you have to write the command like this npm create npm install create react Tab and once you press the enter so a project will be created for you a complete react based project will be created for you which will allow you to have the complete solution structure in terms of index.js index.css app.js and app.css so you will have a SRC folder and a public folder so these two folders are very important and we will talk about this in detail so what happens once you create a Project based on create react App application a solution a builted solution is given to you which allows you to write the code or to test your different functionalities so it has two folders one is the public folder where we have a one HTML file called index.html where we have defined a root element in a div with the ID as root if I go to the source folder the starting file is the index.js in the index.js we have react. render now as you can see at the top that we have imported react we have imported react Dom imported the index from the solution structure now react dom. render calls the parent component which is the app app is the name of my parent component so if I go to app.js there is a parent component class app extends component you can either write component or you can also write react. component that’s not a problem at all every component as I mentioned should Implement a render method and there is a return statement which Returns the instance of that particular class now I can write the jsx inside the component in the return statement simple HTML and the JS structure the div I have given the div class name equal to app now there is a header in this header I have implemented a image with a class name app logo alt equal to logo and H1 equal to class name app title now this header tag is closed here now you see the important thing over here in the main component as I said that the basic principle of reactjs that you have to compose your or decompose your complete application into multiple subc components so at the top there will be a parent component and there will be sub branches or branches of that particular component so the first component the parent component is app inside it I have called three different components one is the demo class another is author and another is CMP style so first this demo class subcomponent will be called with this this subcomponent a prop is defined a prop or you can say parameter is defined with the value react classes the value of this particular you can say prop it will be used in the definition of the demo class component so if I go to the demo class since it’s a class component it should Implement a render method and a return statement so how you can use the props you can use the props by using this do props so that is how it is used over here this do props and what is the attribute name the attribute name is the demo class the second subcomponent which is called is the author now author again has a attribute called author name which is used in this component class author extends component render implementation and then a return statement this. props do author name which means that whatever attribute to Define over here can be used in the component by using the syntax this doprs do attribute name now the third component is a little bit different the attribute name is a student name but here what I’ve have done is that in the render method I have applied a custom CSS just to show you that how you can use the attributes within the jsx in a cly bracket so where my style some styling has been given and in the return statement style equal to my style now this my style is put in a cly bracket which becomes a jsx statement after that I have done some calculations you can see here calculation 4 – 2 equal to it is in bracket then only this value will be shown okay now to run this create react application if I go to package.json file so what is package.json so package.json you can say is the introduction of any react based application or you can say the basic information of that react based application so it gives me about the name about the version about the private dependencies and the scripts so there are some default scripts at the same time you can create some custom script of yours so there is a script called start so if I have to run this complete project or application how I have to write it so in the nodejs command prompt I have to write npm start so I have clicked enter and this will open the browser on the local host on the port number 3,000 so now you can see here the output that there was a header in the header there was a image a text and this is react classes by wej and you can see the calculation has been done because we place the attribute the complete jsx or you can say JavaScript expression in the cly bracket so this is the output of this particular code which I showed you in app.js now the beauty of this particular application is that whenever you will change the code whenever you make some changes you don’t have to run the npm start again and again the changes will be reflected on the browser instantaneously so you can say that this particular application is very much reactive in nature so whenever you change the code or update any code it will directly get reflected on the browser okay so let’s go to index.js and start making some changes in the code so I’ll start with again basic jsx elements so that you can understand how we can write jsx this is a very simple example again react dom. render H1 hello world so if I go on the screen I have not saved it if I save this file and if I go to the screen it shows me hello world I have not refreshed the screen it’s very much reactive in nature okay now let’s talk about some more examples we’ll quickly see some more examples jsx I’m just showing you as of now jsx props and components examples once this will be completed then we will talk talk about State life cycle events and the remaining concepts of reactjs so in this particular example how you can add your jsx in the previous example if you have seen that in the react dom. render I have added the complete element as the first argument for react dom. render but there is one more practice which you can follow that instead of writing the complete jsx or HTML expression in the react dom. render first parameter what you can do is that you can create a element outside the reactdom do render and then pass that element in the react dom. render method so what I’ve done is that I’ve created a dummy text and created a const element in that I have created a div structure in that div structure what I’m doing is that I’m creating a button class name equal to button the text is button and then a sample text will be displayed once this constant element or you can say AJ expression is created I can pass this to react. render like this so let’s save this file and see the output you can see the output that there is a button and some sample text shown on the screen so this is the best practice you can say to write the jsx expressions or jsx elements because your jsx elements can go bigger and bigger if it is a single line jsx expression or jsx statement you can very well write it in react. render but if it is very big or going to become very very big then you can put it outside react dom. render in a constant element and then you can pass the react dom. render that element just like shown on the screen now we will see the example how you can render the elements using jsx now how you can render the elements using jsx now in this particular example please remember that every react application it should start from react. render so how the data flow goes It goes from react dom. render so first we will see what is passed over here the element which is passed is const element now in this const element what we are passing is in H1 hello format name and we have passed props as user now what is format name you can see that format name is used as a function component the parameter passed is user and for this user the properties using the arrow function here the arrow function is used the properties for this user user. first name and user. last name is used as in the arrow function which are passed to this particular function as the properties so return user. first name and return user. last name and in the react dom. render I’m calling this element so let’s save this file and what output it will give me it will give me the hello user hello format name format name is calling a user so user is whle Jen so hello vle Jen because whle is the first name and Jen is the last name so let’s close this quickly now let’s talk about some other example that how you can render the elements in reactjs now we’ll start with reactdom do render in reactdom do render there is a parent component which is clock now what is happening in this clock is that this clock is declared as you can say class component so class clock extends react. component a Constructor a super is defined and we are setting the state this do state please remember state is always set the initial state is always set by using this do state and in this do state we are passing date as a new date in the component did Mount and component will Mount we’ll talk about this later because these are life cycle methods in this just we are calling different different methods and we are setting the state in the tick method tick function we are setting this with the date new now what will happen that in the render method there is a H1 hello whle and in the H2 how we set the state please remember that we set the props using this. props do attribute attribute name and this likewise we set the state this. state. attribute so here what I’m doing this do set state. date. to local string which will show me the current date or time so hello whle it is 10:36 p.m. that is how we can set the initial State and final state in reactjs now components and props now let’s talk about what are the components and props so we already saw that in react n. render we can pass the element but in the element again instead of passing the complete jsx statement we can pass it as a component so you can see over here const element in the previous example I showed you that in the element there was a jsx expression having some div some P tag some H1 tag but in this particular example I’m passing a component to the constant element the component name is welcome having some attribute called last name now in the definition of this particular component which is function welcome I’m returning H1 hello props do last name now what is last name gen so let’s save this and let’s check the output you can see here hello last name this is my last name that is how you can render the components and props in reactjs it’s very simple very straight forward in nature now this is just an interesting one having some null value so how you can conditionally render a react component this is very important to understand that in element I have a component called message having attribute message having the value as null now in the react. render I’m passing this element and calling the message component so let’s save this file and see the output so there is no output you can see on the screen because I’m passing a null value so you can also conditionally render a react component so let’s move to another example that how you can style the react component very very important to understand that how you can do The Styling in the react component because please remember just like in Native JavaScript and jQuery we ed class class equal to some name to let’s say style any tag or component in JavaScript of jQuery but in react we use the class name this is a keyword so instead of class class we use class name so this class name I have defined in index.css so if I save this and see so you see here this is the CSS which is defined and the text rendered is Whipple box because the text is given over here is Whipple boox so this is a box small you can say a class which is defined so if I go to in index.css this is the Box small class which is defined so defining the class in CSS it’s pretty same by the dot by the dot operator you have to define the class but for calling that class instead of class keyword you have to use the class name keyword this is very very important to understand in reactjs now I will show you a very good example of reactjs that how you can Implement a multiple choice question kind of functionality in reactjs very important to understand so let me close this so for stopping this npm start you can press contrl C on your keyboard it will ask that you want to terminate the bad job you can press yes and then press enter I’m just opening another example let’s close everything just open this in Visual Studio code a very good example we will see that again the same example uh index.js I have app.js defined and index.js in index.js I’m calling react. render in this the parent component will be called the parent component is app and here in app.js this parent component is written as a function component you can see here that it is written as a function component right so let’s run this code first of all to see it running so for running any react base create create react App application you have to use the command npm start so I have just entered the command npm start and pressed enter so it will open up in the browser so meanwhile we will see the code what is written in this function component in app.js so in index.js I have written react. render this is the parent component and document. getet element by ID where I want to display or render the output okay so let’s go to app.js so in this app.js since this is a function component I have a return statement over here in this return statement I have written some basic HTML so header tag is there so in this header tag what I’ve have done is that specified the class name because you have to specify it with the class name some image will be there and then in the anchor tag I have returned some static text so it’s running as of now it’s starting the server npm server no problem we’ll move to the code again okay now in this particular example what I want to show you is a multiple choice kind of functionality multiple choice question quiz you can say so let me just do the uncommenting and let me comment this react dom. render else there will be multiple reang dom. render I don’t want that okay so so this is the application which we want to create now the question here is that how we can create this type of application now this is a multiple choice question application which is created in reactjs now as you can see this is the output which I’m showing you now as you can see on the screen that there is a section called correct and incorrect so this is my score area you can say that this is called a score area below is is my question area now these are the two high level areas or components I have talked about but at the same time I can split this complete UI into sub components so when I say this is the score area okay or let’s say the outer complete boundary is the quiz then I have a score area in this score area I have two subcomponents the correct answer and the incorrect answer and in the question area I can have two subcomponents the question and the choices so if you see it it ask me that what is 8 into 1 if I click on 8 see the answers goes is correct and the state is changed to correct equal to 1 right so I just want to show you in this particular example that how you can decompose your UI or decompose your react application into subcomponents or you can say you can create a parent child kind of hierarchy although some advanced concepts are used to build this particular application which I’m not going to tell you as of now but I just want to show you that how you can decompose an application if it is given as a requirement or problem to you then how you can decompose it into different components so let’s go back to the code and let’s directly go to react. render now in this react. render the first component or you can say the root or the parent component which is called is the quiz component now let’s go to the quiz component where is the quiz component so this is the quiz component now this is a class-based quiz component following the es6 standard class quiz extends react. component having a Constructor super and a data set is defined with the correct answer now once this data set is defined okay now we are setting the state initial state that is this dot State and binding some click events or you can say functions to it but the most important part is the render method or which implements this component implements a render method so in this render method method in the return statement I have two subcomponents which I was telling you about that this particular quiz can be divided into sub components two subcomponents one is the quiz area and another is the score area so you can see here one is the score area which will have the correct answers and the incorrect answers and another is the quiz area now if I go to let’s say the score area score area component so if I go to let me show you the score area component this is the score area component as I told you that this again score area component can be divided into two subcomponents one is for the correct answers and one is for the incorrect answers so you can see over here that there are two other sub components total correct and total incorrect right so these are the two subc components which are called in the score area component at the top now if I show you the other one which is the question area so in the main one we have the quiz area in the quiz area I can have two subcomponents one is the question and one is the answer list so you can see this is my question and this is the complete answer list so if I say this question and if I click on let’s say wrong answer so it becomes a incorrect answer right so that is how you can divide a react application or decompose a react applications into components or subcomponents so in this particular example let me repeat one again very quickly that this particular application divided into two main components that is the question and the score area again the score area is divided into the correct answer and the incorrect answer those can be considered as two subcomponents of the score area component and then this quiz area is divided into the question and the answer list so you can see over here that this quiz area is divided into question subcomponent and the answer answer list subcomponent so these are the three important aspects and then we’ll move forward to the other reactjs fundamental which starts with States okay so till now we talked about the fundamentals of reactjs wherein we talked about es5 and es6 refactoring we talked about what are the advantages of reactjs and we also talk about some of the fundamentals like jsx components and props so we talked about these in detail that what are the various types of components we can create we can create functional components and we can create class components but going forward please remember that es6 standard says that you have to create class components only because now we are going to talk about States so what are states in reactjs so just like we have props we talked about props in reactjs which is used for data management in reactjs so in addition to props react component have another way of holding the data and which is called a state so what is the state so components can change so to keep track of the various changes or the updates happening in the component over the time we use the concept of state so in this example as you can see let’s say there is ice State changes event has happened on this particular eyes and because of this change of event State changes so what is the state or the event which is changed over here let’s say we have increased the temperature and because of this increase in temperature the ice has been converted to water so what we can say is that the previous state of this particular object was ice and when some event has happened on a component which is in this case is increase in temperature the final state has become water so for State we can say that unlike props component states are mutable because in props we talked about that react props are immutable in nature which means they talk about pure functions or they talk about that you cannot change the value of the props inside a component but unlike props the component states are mutable so as I mentioned that react components have another way to hold the data and which is called State now objects which control the components rendering and behavior so states are the one which handle or control the components rendering and behavior and you can say this is the core of any react component as you can see on the screen that component is Central to any tree and around it revolves the props and the state but the important thing is that estate should be kept simple as much as possible because we know what are props how can you compare the props and state so Props are the values which is passed in by a component parent so you can see here that the props these are the value passed in by a component parent so this value is passed to another component as a prop and the value is again passed to another compon component as a prop its state is local mutable data that can be created and modified within the component this is the definition of State you can say so state is local it should be very simple in nature and mutable data which can be created and modified within the component now what is the use of having the local data or you can say local state having local data that can change within a component increases complexity and limits the composability of the component so when we talk about props we have local data which flows from one component to another component but the problem with this is that it can change within the component and can increase the complexity and also limits the composability of any component so when we talk about state in reactjs please remember that to use state in reactjs you have to use a class component there will be no more function components in our projects if you want to use a state and in the class Constructor since we are talking about class components so there will be a default Constructor over there we will initialize the component state to a sensible default value so just to repeat once again what is a state state is just another way of holding the data in reactjs now this is something very important that components in reactjs can be in two forms you can create again two types of component one is stateless component and another is State full component now what is the difference between these two state less and state full because we talked about components components can be created by two ways now when I say State less stateless means it does not remember anything it does it does not keep track of any state and what is a stateful it remembers everything it does it keeps track of every change on an event or any update in the event now let’s talk about stateless and stateful first of all what is a stateless so as we talked about stateless means it does not remember anything it does and stateful is it remembers everything it does which means if there is any change in the state it keeps track of that particular thing or particular change or particular update because of an event now stateless it calculates the state internal state of components and what is a stateful it is the core or heart of reactjs you can say which is stores the information about the component state in memory the stateless components they never change the state but stateful components as I talked about that they can change the state because there will be a initial State and there will be a final state so they can change the states the stateless components they contains no knowledge of the past so for example if there was initial state which you have set using this do state and you want to change or update that state using this do set state but stateless components they don’t contain any knowledge of the past events only the the current and possible future State changes can be tracked and stateless components when we talk about stateful they have knowledge of the past current and possible future State changes values so that’s why they are called stateful because they keep track of the previous state also stateless components you can say they provide referential transparency that is for small inputs it will produce the same output so if you give different different inputs small small inputs same inputs you can get the same output in stateful component it receives information from the stateless components if State changes required so these are some of the basic differences between a stateless and a stateful component now this is just again a summary for this stateless and stateful reactjs components so as we talked about what is a stateless so all function-based components can be considered as stateless reactjs component but here we are talking about that when we are talking about state in detail we’ll talk about State and we’ll see many examples so we will talk about only class based components and not the function based components so that’s why we are saying over here that function based components can be considered as stateless reactjs components so stateless reactjs components so which means they are pure JavaScript functions so we don’t need to have state over there in stateless reactjs components but as per the future Trend and the latest Technologies we are using stateful reactjs components which keep track of your previous state your current state and probably all the future States so all class-based components can be considered as stateful reactjs components and stateful react J components inherits from a particular class called react. component so estate also getting inherited from parent to the child so this was the brief about the state and what are the different types of component based on the stateless component and the stateful component in react JS before going to the demo I will talk about something called set state so as we are saying that there are stateful reactjs components what does it mean so you have to set your initial State and then you will set the final state so that is the you can say current state and the future state so there is a method called set State now what does it do so you can set the initial state by using this do state but if you want to set the future state or you want to update the state you have to use a method called this do set State Now set State method it merges the new state with the old state so for example your new state value is one and the previous state value was zero or maybe false and true the latest value will become the combination of the new state with the old state so all the previous state will remain unless it is overwritten so if you are not overriding or overwriting the previous state it will remain in the memory so for example consider a state object with properties A and B having values for example 1 and two so a is equal to 1 and B equal to 2 respectively now calling set State what will happen so calling set state with the property Bal 3 and C = 4 so it will produce a new object where B will become three and C is equal to 4 but the previous value of B was two so that is how the property of a remains unchanged the property B in this case is overwritten by the new state and in this object of the State Property C is newly added so in addition to changing the state of the component set State please remember set State method is very important it also causes the component to be rendered eventually and for performance reason you can say set State calls a batch method and there is no guarantee that the state can change immediately so by this we mean that there is a method called set state by which we can set the final state of any react JS component a class component now let’s move to some demo that how we can implement this kind of functionality so let’s see this so this is your index.html a simple HTML file where I am calling a script called like button.js by using the script tag and in this like button.js script I’m using the class component and the concept of state so this is my first example or you can say first demo a very simple one to uh let you understand that how we can work with reactjs State feature or you can say aspect because react thinks of a component as State machine and you can use this. state to hold the component state so let’s write this code what I want to do is that in react. render I’m calling a component let’s say called app now I will go to app.js where I would be writing this component so this is a function component I don’t want any function component anymore I’m just commenting it and I have commented this and I’m also commenting this now what I’m going to do is that I’m going to write a component with the name let’s say app how I will write it I will write class app it will extends from a parent class called react. component and in this react. component you have to specify a Constructor which will have the parameter as props and in this Constructor you have to call Super which will return again the props to the class instance and then you have to set the initial State this is very important that how you can set the initial state by using this dot State this is the initial state which I’m setting over here and this do state I’m setting is let’s say for example light is my property and initial value is false and then you have uh event for example uh this dot handle click is equal to I’m binding this event to the class this dot handle click do bind to this that’s it so we have set the initial State and what we have done is that we have binded a event handler to this particular class now we already know that every class component will have a render method so we will implement the render method over here now in this render method what I’m going to do is that I will have a return statement so before that I’m just writing a uh variable called where text where I’m checking the state so this do state do like I will check this using a tary operator if it is true then it will show me like else it will show me that I have not liked it that’s it I just created a variable and then I will have a return statement now what I’m going to to write in this return statement I’m just writing a simple jsx over here a very simple jsx I’m going to write a P tag I’m just passing this text as an attribute in the parenthesis I’m just writing a demi text now what we are going to do is that we have method handle click which we are going to Define now so handle click based on a event and in this event what I’m saying is that I’m going to set the state now so in this particular example what you have seen is that I have created a class component which extends from react. component it should have this dot State reason being I’m setting the initial state it has a onclick event you can say which is binded to this particular class then there will be a render method which is required in this render method there will be a return statement and in this return statement I am checking the on click so on click event I’m checking over here and what I will call I will call this dot my event name what is my event name handle click now on the click of the let’s say P tag what I want to call I want to call this handle click so in this handle click what I’m going to do is that I’m going to set the state because my initial state is liked equal to false now I want to set the final State now final state is set by as I mentioned this do set state now let’s define the property over here what was our property the property name is light and what I want to Define is this dot state. like value that’s it so what’s going to happen is that I have mentioned the not so it will automatically become true because initial value like value is false so this completes my code over here let me repeat once again I’m using the create react App application in this create react App application we can change maybe the component name also so this component name needs to be called in index.js and just save it so what we are doing over here is that in the react dom. render I’m calling a component this component is defined in your app.js now in this app.js what I’m doing is that this is the like button now like button is a class based component you can see here that it is defined as class now let’s define this export default like button and this is used over here in index.js like button correct now what will happen that you have set the initial State using this do state equal to like false and in the handle click whenever that P tag on click event will be called this handle click event will be called which will set the final state of this particular P tag so what we are saying is that my initial state is false and whenever a button Buton or any control will be clicked I am changing it to true so I am changing the state of that particular control now let’s see the output of this particular application what I’m going to do is that I’m opening it in the browser now you can see that this is a static text and when I’m clicking this particular uh button like it is saying me the message that you like this just like we wrote over here you like this so it is showing me the message that you like this so that is how you can set the initial State and final state of any react component now just to repeat once again that what we are saying is that for setting the initial State you have to use this dot State and for setting the final State you have to use this do set State method just as you can see on the screen okay now we are talking about State here let me tell you that state is similar to props but only thing is that it is mutable and and fully controlled by the component because what is happening that right now we are storing our all the data in an array in a variable for example but that is a good way to start with reactjs but later on if you want some more operations or more frequent flow of data in reactjs you can think of a state so you can think of a state as any data that should be saved and modified without necessarily being added to a database so you can say state is a place from where the data comes from and we should always try to make our state as simple as possible and minimize the number of stateful components so for example if we have let’s say 10 components that need data from the state so we should create one container component that will keep the state for all of them we should not create 10 components we should create one component as a parent component and then the other could be the child components okay now let’s see more examples based on the state so what I’m going to do is I will create more State examples or state demos to show you the concept of State in detail I’m going to create a class component so class app which extends from react. component I’m using a create react app getup project Facebook project you can say and in the react dom. render I have to call this app component so let’s call first this in index.js this particular component app and then in app.js what I’m going to do is that I’m going to create a class component with the name app so first thing first first we have to create the Constructor which is passing the props and then in Constructor what you are going to do you are going to set the super keyword this is the first and most important thing to do in the Constructor and then what we are going to do in the Constructor as I mentioned that the best place to set your initial state in reactjs is is the Constructor okay so I’m going to write this dot state I’m setting the initial State over here please remember that if you have to set the initial State you have to do it with this do state in this do state you can Define n number of properties any properties you want you can Define in this so let’s define over here for example two properties one property I have let’s say for example header this is just a property I can write it text for it let’s say header from State any text you can write this is just setting the initial State and then I have one more property let’s say for example content this is my second property in my initial State and any text I can write which I can write as content from state so what I have done is that I have set the initial state with the two properties header and content this we are creating a class component now every class component you already know it should Implement a method which is called render and every render statement should have a return state so I’m saying render and then I’m saying return in this return what I’m going to do is that I’m going to Define my some custom you can say jsx so let’s define in return so for example I have a Dev I want to write a Dev in this Dev I have H1 tag in this H1 tag I will Define my one property called header and and then again I have a h2 tag where I will Define another property called content so let’s save this file now how you set the state now even you can set the state in jsx so just like this if you want to set the state in jsx you have to place this cly braces and what will be the state you want to become so it should become this do state DOT value is header because header is a property which we have already defined and here I want to say this do state dot for example content in the previous example you might remember that I used this do props do attribute name similarly in state also while using the state we can use for setting the value or showing the value passing the value to the component by using this do state so here I have two properties header and content so I can use it like this. state. header and this. state. content so let see the output of this particular example for this example what we can do is that here I am defining a div and in this div what I’m doing is that I’m doing class component or you can say creating a class component and in this what we have done in index.js that in index.js I have called this component this is my component which is a class based component please remember that while using the state always you have to create a class component and and just like we use props in this doprs do attribute name the same way you can use State just like this do state do your attribute name in this case your attribute name was header and content now let’s move to another example where we can see that how you can use State and props in one single example it’s not always the case that you have to use only state it’s not necessary you can use State and props together also so we will create this example only or we can extend this example only so what we are going to do is that I have a return statement over here where I’m writing let’s say two more subcomponents what I’m going to do is that in this div I have a div over here I’m going to Define two more sub components so my parent component will be app and then I have two subcomponents for example let’s say header and the content so instead of this H1 tag and h2 tag which I have cre created what we can do what I’m saying is that when you create a parent component so parent component will remain the same that is app I can have some child components also where I can pass the attributes or the values as props which will Define that you can use props and you can use at the same time state in one example so let’s do that so what I’m going to do is that I’m going to create two sub you can say components so let’s say one name is header this this is my one of the component and this is the prop value the attribute which I can pass like this dot state do header and then I can close this component and another component I can create is let’s say component name will be content and I have a prop I can pass it as a prop and then I can write here this dot state do content what is the change we have done over here what we have done is that we have created a class component that will be the parent component in the render method in the return statement it has two child components so we have to Define these child components now so what we are going to do is that we are going to Define these two components now so let’s define these so what I’m going to write is that I’m going to write class my component subc component name is header again it will be a class component so it is going to extends from react. component and the same component I have to create for Content so this content component needs to be defined so I have two subcomponents now one subcomponent is the header which is having the prop value as this. state. header and another prop value as this.state do content so let’s define this every component should implement a method called render in render there needs to be a return statement now in this return statement just like we Define H1 tag I’m going to Define this in a Dev here so I will say Dev and then I will say H1 now in this H1 what I want to pass is although the value is coming from a state but the value which I want to pass over here is in the form of a prop so what I want is that I will say this Dot props dot in the header props what is the name of the prop it’s header header prop similarly what we are going to do is that in the content sub component again we will have a render method and then there will be a return statement in this return statement what I want is that I want to define a h2 tag let’s take it in a container that container is let’s say Dev I want to take it in container and in this H2 I want to pass the props so what is the name of the prop attribute that is content prop so what I will say this do props dot content prop okay so what we have done over here is that in the previous example if you remember that what we did was that we didn’t Define two subcomponents okay so in place of this let me copy this somewhere and then can show you so in place of this earlier what we did we didn’t Define the two subc components what we defined was a container which was a div and in this div we had one H1 tag in this H1 tag what we were defining we were directly using the state value how we were using state. header and then in a h2 tag what we were doing we were using the content value so we were saying this.state do content now let’s see the output of this particular example first what we have implemented without using the props so let’s save this file and let’s go to the browser so now what it is saying that header from State and content from State I have already run the npm start command for this create react application so you can see the output in local host on the port 3,000 header from State and content from State why this output is coming because the header value is header from State and content value is content from State this was the direct way without using the props how we have used the props by using the sub component concept so let’s implement this subc component yeah now what we are doing is that we have defined two subcomponents which is header and content these are the two subc components class based components and we have passed the value as props now you can see this. state. header header value will come and let’s say we can write some updated value new header from State and new container from state for example and you can see the value over here new header from State and new container from State this is the output basically what we have done here is that I have showed you both the ways of using the state in reactjs which means that you can use it without props and you can use it with props also so there are you can say two ways of using state in reactjs but I will prefer I will recommend that you can use state with props and if whenever required or whenever you can say apply the props Just go with it it’s not always necessary that you have to implement every time only with the state you can very well use props and state together in the same application now just a few tips of using State and reactjs just a couple of tips from my side that do not modify the state directly don’t even try to modify the state directly you always use the set State method and the only place where you can assign this do state is the Constructor these are the two main things so what I’m saying over here is that if you have to specify this do state where you can specify this do state you can specify this do state in the Constructor only this is the first you can say right way to use the state now what is the other thing that State updates may be asynchronous in nature so react May batch multiple set State calls into a single update for performance because this. props as we use here this. State and here we use this. props so this dot props and this do state may be updated sometimes asynchronously so you should not rely on their value for calculating the next state so if you want to set the value of the next state don’t rely on the value of this do props or this do state and the third thing which I want to tell you about state is that State updates are merged when you call set state so what happens is that react merges the object you provide into the current state so these are some of the tips you can say from my side for using State and reactjs so let’s come back to this PPT and let’s talk about the another aspect of reactjs which is life cycle now what is life cycle in reactjs or what is the use of adding life cycle method to a class component in reactjs react provides various methods which notifies when certain stage of life cycle occurs called life cycle methods so there are many methods in uh reactjs which notifies when any stage of a life cycle occurs now what are the different phases of that life cycle so it start with initial phase then it comes to updating phase and then props change phase and finally the unmounting phase where you can can free out some of the resources so what we are saying is that there are four phases in which you can Define the life cycle of a particular reactjs application so what happens is that it’s very important in the application with many components let’s say there are 10 components in a reactjs application it becomes very important to free up the resources taken by the components when they are destroyed so for example a component is destroyed so it becomes very crucial very important to free up the resources which are taken by that component because once it is destroyed so the resources which has it consumed should get freed so that’s why we can declare some special methods over the component itself or you can say we can decare some special methods on the component class to run some code when a component mounts or when a component Dismount so these methods are basically called the life cycle methods Let me Give an example comp component did Mount this is a life cycle method example it runs after the component output has been rendered to the Dom so let’s talk about these different different life cycle methods in detail now so the first phase in the life cycle of any reactjs application is the initial phase now what are the different methods available out here because in this phase component is about to make its way towards the DOR it has not yet reached the DOR it is just creating its way or about to make its way to the dwn this phase you can say consist of the following methods which are invoked in a predefined order so the first method is get default props get the initial State component will Mount render method we talk about and the component did Mount and as I mentioned that component did mounted method runs after the component output has been rendered to the Dom so different methods they have their different you can say usage in any life cycle of a reactjs application now if I talk about the second phase that is you can say the updating phase when it phase comes into picture so once the component is added to the D because in the previous phase that was the initial phase so we what we said that we talked about that the component is making its way or it’s on its way towards the Dom but now since it has reached the Dom it is added to the Dom they can update and render only when a state change occurs so basically in the updating phase once the component is added to the Dom they can update and rerender only when a state change occurs so this phase consist of the methods for example should component update component will update render and component did update so please remember render is a common method in almost all the phases or the life cycle of a reactjs application so we have talked about here the initial phase we have talked about the updating phase so please remember that neither parent nor the child components can know if a certain component is stateful or stateless and they should not care whether it is defined as a function or a class but the most important thing is that when we are dealing with State our component should be of a class type it should not be of a function type so that is why you can say state is often called as local or encapsulated so it is not accessible to any component other than the one that owns and sets it a component may choose to pass a state down as props to its child components just now we saw the example of the state and props now let’s talk about the third phase that is props change phase so we talked about the initial phase we talked about the updating phase now what happens that after the component has been rendered into the Dom so in the initial phase what it was doing it was making its way towards the Dom in the initial phase in the updating phase what it was doing that it has been rendered on the Dom the component has been rendered on the D now the third phase is props change phase after the component has been rendered into the Dom the only other time the component will update apart from the state change is its props value changes so please remember that through State we can change the value or through props also we can change the value just like we saw that this do props do attribute name for example this doprs do name just like that we can say that this do state. attribute value just like we saw in the previous example so what we are saying over here is that this do props do attribute name can change can make the changes in the component and this. state can also make the changes in the component now what are the various methods which get invoked in this particular phase in a predefined order component will receive props should component update component will update and component did update of course render is a common method in every phase of the life cycle of a react application last phase in the life cycle of a react application is the unmounting phase this is the last phase of the component life cycle in which the component is destroyed and removed from the Dom this is called unmounting so we were talking about the mounting and the unmounting mounting means when the component is added to the Dom and unmounting means when the component is removed completely from the Dom and this phase only consist of one method no render method over here the only method which is there in the unmounting phase of a reactjs application is component will unmount now let’s see how the life cycle goes in a reactjs application so we talked about the initial phase we talked about the updating phase we talked about the props change phase and then we talked about the unmounting phase so these are some of the methods which are mentioned over here so it started with the initial phase where we had the method called get default props then get initial state will be called component will Mount will be called and then render will be called and then component de amount will be called as I mentioned that all these methods always called are called in a predefined order so please remember that if you write a method let’s say for example get default props and component will Mount so you should understand that in which order it will be called so first of all get default props will be called and then component will Mount will be called now you can see on the screen that once this initial phase is done what we have the other phase that the props can change the state phase and then we have the update phase we are different methods could be called so what are the different methods that component will receive props should component update component will update render and component did update so these are the different methods in the update phase now if I talk about the last phase which is the unmounting phase so what happens that reactdom do unmount we call the component will unmount method for the unmounting phase for completely removing the component from the Dom that is the last phase or there is one method which is called over there which is the component will unmount once the component is completely unmounted or destroyed from the domor again the life cycle start from react dom. render and again the get default props methods is called so that is how this complete life cycle again goes on and on now this is the description of these life cycle methods which we talked about so so we talked about component will Mount component did Mount and so on so what happens with component will Mount is that it is fired once before initial rendering offers and it is a very good place to wire up your message listeners please remember that this do set state does not work here the other method in the life cycle is component did amount it is again only fired once in any reactjs application after initial rendering occurs it can use this. getd node so what is happening over here is that component will Mount will always be called before the rendering occurs and component did Mount is fired after the initial rendering workers so there is you can see very a minute difference between component will Mount and component did Mount will means uncertainty so it is going to render or the initial rendering has started but it has not been yet rendered on the Dom and component did Mount means it has rendered on the browser or on the Dom it will be fired once the initial rendering on the Dom occurs the third method is component will update it is fired after the component updates are made to the Dom you can use this.g Dom node for updates over here the other method is component did update now what happens with this method is that it invoke immediately after the component updates are flushed to the Dom so any change any update is there in the component it gets flushed to the Dom then you can call component did update and this method is not called for the initial rendering please remember this is very important that for initial rendering of the reactjs component component de update method is not used you can use this as an opportunity to operate on the Dom when the component has been updated so for example it has been updated using the props or using the state then only you can use component did update component will unmount we already talked about this that this is a single method which is called in the unmounting phase of the life cycle of a reactjs application it is fired immediately before a component is unmounted from the Dom and it’s a very good place to remove message listeners or you can say General cleanup or Garbage Collection kind of activities you can do in component unmount method another is component will receive props it is fired when a component is receiving the new props you might want to use this. set State depending on the props just like we saw that we can use both props and state in a single application the other is that should component update now this is pretty interesting that this is fired before rendering when new props or state are received received it will return false if you know an update is not needed so you can check on any of the component based on the state and the props that if any update is required or not and accordingly you can return false and true based on this method which is should component update now this is very much interesting Constructor we talked about Constructor that whenever we are using the class component in react JS you have to use the Constructor you have to pass the props and then you have to use a super keyword now what what is this Constructor in props that if you don’t initialize the state and you don’t bind the methods you don’t need to implement a Constructor for your react component and ultimately we already talked about this will be converted into function based component but here we are talking about state so our focus is for class components please remember if you are not binding anything in your component if you are not using any state then you don’t need a Constructor in your class the Constructor for a react component is called before it is mounted when implementing the Constructor for a react component subclass you should call the super keyword before any other statement because if you will not call the super what will happen that this props will become undefined in the Constructor which can lead to errors or exceptions or bugs in your application so that is why it is said that the super keyword should be called before any statement in your reactjs application so first you have to call the Constructor and then you have to call the super keyword so that this do props should not become undefined so what we are saying is that typically in react class based react component you can say Constructors are only used for two purposes specifically it is used for you can say initializing the local state or you can say initializing the initial state by assigning an object to this dot State and then what we are saying is that for binding the various events or binding the event handler methods to an instance of the class you need the Constructor please remember these are the two basic purpose of using Constructor so if you want to set the initial state that will be done in the Constructor if you want to you can say bind even Handler methods to the class instance that will be done in the Constructor of the class now this is just uh you can say pictorial representation of the different phases now if I talk about the life cycle of any react application it revolves around the three important phases mounting updating and unmounting so what we are saying that first you add the component to the Dom you do some changes or updates and then finally you unmount it so what are the different methods which are shown on the screen you can see that what are the different methods we generally use while mounting updating and unmounting so in the mounting we place the Constructor we can call the method called component did Mount and then when it comes to updating phase we can use three different types of methods new props for get derived state from props or should comp update we can use this. set State and we can use dis. force update and the different methods which we can use in the updating phases component did update and finally in the unmounting phase there is only one method which we can use which is component will unmount so this is just a representation you can say summarized way of representation of the life cycle of a react component so we talked about till here jsx we talked about components props States and life cycle now another important aspect you can say a very important fundamental of reactjs is events so what are events events are the you can say triggered reactions to specific actions so for example we can have onclick event we can have Mouse click we can have Mouse hover key press all these are called events and react CHS so for example there is an action so some action happened on the react component and then we have a react application which is called event now some event has happened on the react component and it becomes a reaction so that is a definition of events now first we talk about that how the concept of event work in other uis as compared to reactjs and then we will talk about that how events work in react GS let’s say I have a control let’s say three controls or many controls button type control now what happens that in other uis on every control you have to implement a event listener as a corresponding event handler this is very much required which decreases the performance of the application on the Dom because what is happening over here is that for different controls just like

    shown over here that you have a different controls different buttons or maybe another controls you have to implement the event listener on every control and when a event listener is implemented a corresponding event handler will be required so that is how the different uis or other uis work when it comes to events now let’s talk about events in react how react manages events in react so what happens is that if you have different controls then you will have only one event listener and one event handler attached to it so which increases ultimately the performance of reactjs application please remember that react events are named using camel casing rather than uh lower case so you have to Define events or you can handle the events with camel case only and with jsx you can pass a function as the event handler rather than a string so we will see that in the demo so before moving to reps now the other fundamental of reactjs let’s see some of the demo of handling events in reactjs so for that I’m going to show you a example we have talked about State we have talked about props and jsx and all that stuff so this is just uh you can say playground which I generally use to work with reactj which is called pen.io so in this particular example what I’ve done is that I’m using a conditional rendering based on my click or you can say based on my event so we’ll start from react doom. render so this is the react doom. render which is calling a parent component which is login control now if I go to login control which is a component now in the login control it is a class based component which is extending from react. component now every class component if it is binding something or setting the state it should have a Constructor it should have a super keyword so that this do prop should not become undefined now here you can see that I have defined two event handlers for binding in the Constructor of the class one is handle login click and handle logout click I’m binding it over there and setting the initial state that is logged in is false so initial state is is logged in is false that the user is not logged in as of now now that is why you can see that it is saying in the output that please sign up and showing me the button of login what is happening in handle login click and handle log out click we’ll see later first we will see the render render method implementation in the render method I have declared a constant is logged in equal to this do state do is logged in now what will be the value in this because it is initially set to true you can see here initially set to it is false and then in the events what I’m doing is I’m setting it true or false so first of all it will take the initial value I’m taking a let button and if is logged in if it is true then this button will be called where I’m calling a component called logout button and if it is false then I’m calling another component which is again login button if it is true then log out button if it is false it is login button now you see over here on click this is called event in react js on click is a event this event l listener is bounded to a event handler so this is binded to a event handler which is handle logout click and this is on click event is binded to a event handler which is called handle login click so we’ll see what is happening in handle login click and handle logout click in handle login click we are setting the state and we are setting it to true and in the handle log out again the user will be logged out so we are saying that is loged in is false so let’s see the implementation so what is happening that if I click on login it is showing me the message welcome back you can see on the screen so function user greeting is called welcome back and when I’m clicking on the button again log out it is saying me please sign in you can see over here please sign up so what is happening is that in the login button and log out button so I have two function components login button and log out button so what I’m doing is that I’m again calling the event that is on click equal to props do on click and in the greeting method what I’m checking is that if it is logged in then it will return another component user greeting which is again a function component and then if it is logged out then it will say guest greeting again which is a function component so that is how you can use events in reactjs now let’s see another example of using events in reactjs so what we can do is that we have to start from react. render in the react dom. render what we are doing that we are calling a component which is tole so this will become my parent component now in this strle what I’m doing is that I’m writing the Constructor that is very much required for a class component because I’m setting the state then there is a super keyword in the this. state I’m defining a property is loged down true so is toggle on is tole on property is always true and I’m binding a event this do hand click so this. handle click. bind to this particular class and in this handle click event what I’m doing is because I have used a button on the button I calling an event now what is the event onclick on click event what I’m doing this do handle click and in this what I’m saying is does this do state. Isle on what will be the text of the button so when I will click if it is true it will be on if it is false the text will be off so let’s see the output if I click on this button the text becomes off if I again click on it the text becomes on so this is just a text of the particular button which we are changing based on the state so this. state do Isle on so what we have done is that we have set the initial State first of all initial state is true so whenever it will be true this do state. is struggle on whenever it will be true the text shown is on once I click on it now the this do state. is struggle on becomes false and whenever it becomes false the text is shown as off so that is how we can work with the basic all the fundamentals we can apply in one application it’s not like that in reactjs that you have to come up with only jsx based application or component based application it’s not like that all the react fundamentals which we talked about over here should be used every time in combination then only you can learn reactjs in detail so what I’m saying is that you can apply jsx components props State and then life cycle methods and some kind of events for example onclick events just we saw all these things you can combine in one react application so let’s see more examples of events so what I’m doing here is let me remove everything from here okay so let’s create a parent component app for a very simple example of the events so what I’m writing over here is that class app extend re. component I have to define a Constructor The Constructor I have to Define props I have to use the super keyword so that this do props does not become undefined so what I want to do is that I want to set the initial state with this do state and then I want to use I can use here this Dot update State also so update state will be my Handler and I can Define the update state so what I’m doing is that this dot update state do bind and I want to bind this to this particular class uh let’s remove all this okay so let me copy this particular toggle example from here what I want to do is so in this particular index.js let me Define this toggle so what we have done is that we have defined the same component toggle over here and in this toggle what we have done is that we have implemented a Constructor as I told you okay and then in the Constructor what we have done that we have binded a event and initial value of the toggle is true and then the final value on the click of the you can say button I’m setting the state as this do set state where I’m changing the value called is stral on from True to false now let’s talk about child events what is the concept of child event in reactjs so when we need to update the state of the parent component from its child so generally what we have learned till here is that you can update the child even from the parent but there could be some situ situations when you need to update the state of the parent component from below that is from the child so we can create a event handler for example let’s say update state in the parent component and you can pass it as a prop to the child component where we can just call it so let’s do that so what I’m going to do is let’s index.js go back to index.js and let’s define a component with the name called app and in the app.js what I’m going to do is that I’m going to define a class component with the name app which extends from react. component so this is my class component which I have defined now in this I have to define the Constructor with the props and in this Constructor I have to define the super keyword so that this do props should become undefined now in this super we have to let’s say uh Define for example I have to Define initial state so what I’m going to do is that I’m going to say this do state is equal to so I have to define a property property could be let’s say data and I have to Define some data over here let’s say I say it to initial data this is my initial data so my Constructor is done now I can write here let’s say for example end of class this is just my hand of Constructor so that you can understand well now let’s bind a method to this Constructor if you want to bind a method you have to bind it inside the Constructor please remember so let’s say I want to call update State this is just a method name you can use anyone of your choice any name this dot update State how you bind it you bind it using the keyword bind and this so by this statement what you say because you have to Define this inside the Constructor by this you are binding a method which is called update State and we are defining now the update State this is a method we are defining and in this update State what we can do we can set the state now what state you have to set so you are going to set the value of let’s say data because that is the property you defined and let’s say what we want to do is the data for example updated from the child component something like that could be of any text no problem at all so this is the end of the update State method now you have to implement always a render method now once you have implemented a render method it should have a return statement so we are using a return statement over here so this is my end of render method and this is let’s say end of return statement okay now in this return what I want to do is that let’s say create a container so my container is div and in this particular thing what I want to do is I want to define a sub component because in this particular uh demo what I’m going to show you that how you can update the state of the parent component from a child component so I need to have a child component over here so I’m going to define a child component which is let’s say name is content and I’m just taking a prop value over here with the attribute my data prop and I’m saying value of the initial value of the state is this do state my attribute name is data and then what I’m seeing is another prop I’m using is update this is the another prop you can use multip M props multiple attributes and I’m saying is this do update state so what I have done is that I want to update the state of the parent component my parent component in this case is app and I want to update the state from a child component which is the content so this class is over here and then I want to define a sub component a child component because we have not defined it yet yet so I will write class content my component name child component name is content so I have to Define over here so I’m saying class content extends react. component and what I’m going to Define here is uh Implement a render method and in this render method I will have a return statement that’s it now in this return statement what I want is let’s say I have a container a div again and uh for example let’s say I want to add a button and button will have let’s say on click event and on the on click event I want to call the props so what is the props attribute I want to call this dot props dot the update State prop update State prop I want to call this button is closed and let’s say the name of the button is as of now give it click now one more HTML tag let’s add one more HTML tag to use the another prop attribute and that is this dot props do my data Pro that’s it let me tell you that what we have done in this that in reactjs when we need to update the state of the parent component from the child component so here you can see on the screen that I have created here two components one is the parent component which is the app component and another another is the child component now what happens is that what you can do is that you can update the state of a parent component from its child generally what happens in a general scenario that a parent component updates the state of a child component but in this particular example what I’m going to show you that how you can update the state of a parent component from a child component so what I have done is that I have created a event handler update state in the parent component you can see that this particular event handler this is created in the parent component but it is passed as a prop to the child component you can see over here this particular event handler is passed as a prop to the child component so let’s see the output of this I’m saving this I’m just clicking and when I clicked it the button was there in my child component you can see the state has been changed and it is saying that the data has been updated from the child component you can see over here which means that the event handler which we created in the parent component can be passed as a prop so one good learning from this particular example we can get that the event handler which you are creating can also be passed as a prop and that prop can be used in another subc component or child component now another thing which I want to tell you that how you can prevent component from rendering for example there could be cases where you don’t want to render a component or you don’t want to hide a component all these are rare cases but in rare cases you might want a component to hide itself even though it was rendered by some another component so for that what we do generally is that we return null instead of its rendered output that is the only trick by which we can prevent a component to render on the Dom that you can return null instead of its rendered output now what we will do is that we can see the component events that how events are created in components so this I have already shown you let’s go back to the slide now and let’s talk about some other fundamentals so refs now we will talk about refs what is a ref in reactjs so ref stands for references you can say ref provide a way to access Dom nodes or react elements created in the render method this is the definition of refs so what I’m saying is that ref stands for references and they are used to return the references to a particular element or you can say component returned by the render so if I have a react element having a render method I have to place some reference in my component so by using the ref keyword I can place a reference to that particular component in reactjs so what happens that in the typical react data flow props are the only way that parent component interact with their children so what we have seen is that in reactjs probably if you want to pass the data or you want to flow the data from parent to the child props are the only way to modify a child you rerender it with new props however there are few cases where you need to you can say imperatively modify a child outside of the typical data flow so the child to be modified could be an instance of the react component or it could be a Dom element so for both these cases react provides an escape hch you can say and which are called refs now the important thing is that when to use refs so there are particular cases you can say few good use cases for using refs those are you can manage the focus you can manage the text selection or you want to apply a media playback there you can apply the refs you can apply the refs in application where you triggering imperative animations or you are integrating with third party Dom libraries probably there you can use very well reps so important thing is that avoid using Reps for anything that can be done declaratively now how you create the Reps reps are created using react. Create ref method and they are attached to a react element via the ref attribute so ref is a attribute refs are commonly assigned to an instance property when a component is constructed so they can be referenced throughout the component so this is very much important about react ra now if I show you that how you can use the refs so let me go back to the same example now ref is used to return a reference to the element this we have already known now what are the react WS although I will recommend that refs should be avoided in most of the cases however they can be useful when we need Dome measurements or to add methods to the components so we will see now that how you can use revs in this example I’m going to show you that how you can use revs to clear the input field okay so let’s remove everything we have a Constructor props this. State let’s remove this method and let’s remove this render remve this class okay so we are using the same app component what we are going to do is that we have a Constructor with a props keyword and the super keyword with props we have the initial State called this do state having let’s say for example some blank data in this case and then you have this. update State equal to this. updat State dobine and let’s have one more you can say Handler event handler which says this do clear input equal to this do clear input. bind this this Constructor is closed over here let me save this file and then I’m going to Define this update state update State event handler we have to Define so I’m writing here update State let pass argument to it and then I’m setting the state as so this do set State what is the value of the property value of the property I have to Define over here okay the value of the property is data and in this data what I’m doing is data value should be e do Target do value so we have defined the update State also that whatever value will be the input will become the set State value now we have to Define another method that another method is clear input so let’s copy and paste over here I have to define the clear input method now in this what I’m saying is this dot again I have to set the state so I’m setting the state same value I have to use and that is data so I am making it again Plank and after that I’m finding the Dom so how you can find the Dom reactjs is react Dom dot you have a method or you can say function called find Dom node so I want to find the Dom node and how can I find the Dom node I can find it using ref so what I’m saying is this dot refs I’m just taking a input value that is my input text box which I’m going to Define in the render method what I will do that I will use the focus method for this this is my clear input function and finally we have the render method Implement for the class and in this render method you have to apply the return statement the return statement we are going to write some HTML or jsx so I’m creating first of all the container my container is div I’m taking an input type value equal to this. state. data so that will be the blank value initial value this do state. data I’m taking a event over here on change so whenever there will be a change in the text box this method or this event will be called and in this I’m calling this dot update State and I’m also defining the ref which is very important ref is which I have defined here my input so on my input the ref will work so this input is defined so this text box is defined and now I will have uh button control where on click event needs to be defined so I’m defining the onclick event the name of the button is clear so on click what I want to do is that I want to call a binded method which is this do clear input and after that simply I want to place a H4 tag in this H4 tag I will show the final State value by using this dot final value how can I show that this do state do data so this completes my explanation of the Ws where what we have done is that we have created a component called app in this particular component what we are doing is that we are setting the initial state with a blank value and I have called two event handlers you can say this do update State and this do clear input now in the update state I’m setting the value what is taken as an input from the user in a you can say text box and then in the clear input what I’m doing is that whenever this clear input will be called I’m setting again the value to be planed but in this case what I’m doing is that I’m making a focus by using the ra on that particular textbox control or you can say input control now in the return statement in the render method I have taken a text box or you can say input control which is have some value then there will be a button so let’s see the output of this particular application so if I write let’s say vull and I click on clear you can see it has been completely cleared from here so that is how you can uh use ref in reactjs okay now we’ll talk about example or you can say a demo a project where the concept which we have studied till now are let me repeat one thing jsx we talked about components props State life cycle events and Reps so out of this eight important fundamentals of reactjs we have already talked about the seven important aspects but before moving to the last reactjs fundamental that is keys that how you can use keys in reactjs let me walk you through a very good example or you can say a small project so the project requirement starts with this particular you can say example so in this example what you can see is that you have to implement a search functionality where users can search from this particular text box and whatever they are going to search it it will be visible on the screen with that search result or that search keyword now what should be the approach of yours to implement this kind of reactjs application now what is the step one my recommendation is that you break the UI into different components or you can say component hierarchy when I say component hierarchy what does it mean that you break the comp complete UI because reactjs is all about UI so you break the complete hierarchy into components component hierarchy which means that there will be a parent component there could be child or subcomponents and there could be Sub sub components so first thing first what you want to do that you will want to do is to draw boxes around every component so in this particular example what I’ve done is that I have created different colored boxes around every component and sub component component and I have given them some names also but the problem is that how do you know what should be its own component okay so by coloring this particular example we can see that there are five components in this very simple application it’s a very simple application where there could be five components so one component you can see this outer boundary of orange color so let’s say I call this as filterable product table which contains the ENT ity of the example now there is a search bar this could be my second component in the blue color the blue boundary you can see it receives the user input now there is a product table you can see the Green Boundary this is my third component this is called let’s say the product table which displays and filters the data collection based on user input now another is product category row you can see here the San color sporting goods and electronics this is my product category row which displays a heading for the each category this is my fourth component and the final component is the product row which is in the red color which displays a row for each product so now we have identified the components in this particular example now if I want to arrange them into hierarchy because components that appear within the another component should appear as a child in this particular hierarchy so what should be my hierarchy the hierarchy to break this component the particular UI is at the top I will have a filterable product table then there will be two subcomponents search bar and the product table and in the product table I have product category row and the product row so that is how we can build any reactjs application now let’s build a static version of this in react okay by creating you can say uh different different components so just want to add one thing that if if you want to make your UI very much interactive you need to able to trigger changes to your underlying data model and we are going to use it because this particular application can be made easy with the help of State what is our state the search text the user has entered this is the state and the value of this checkbox because I have added a checkbox also over here so let’s create this particular example in reactjs application so before creating this I have a sample dat dat you can say a mo data which can be used for this particular example so let’s start creating this particular application in reactjs so I’m just removing all these stuff from here let’s create this example and see how it works while using in reactjs so let me close this and I’m going to open a new instance so I’m going to open it in visual Studio code or else what we can do is we can try this example over here okay so what we are going to do is now that we are going to see that search example in this particular demo so in this particular example we talked about that we will divide the complete UI or complete example into five different components so let write those components in the create react App application so for that I have a dummy data in this dummy data what I’m going to do is first I have to create a class component the outermost that is the orange one for example let’s say filterable product with the name filterable product and I’m writing extand react do component so this will be my parent component out of the five components this will be my parent component so I’m just writing the Constructor for this class please remember all the initial State and binding of the methods needs to be done always in the Constructor only so once this is done I’m initializing or setting the initial state by using this. State you can always use this. State and can apply the properties so what are the properties I want to use the properties which I want to use is for example let’s say filter text having initial value let’s say blank and another property which I want to use is in stock only I want to check whether the products are there in the stock or not initial value let’s say false now what are the different methods which I want to bind the methods which I want to bind is for example let’s say this dot handle filter text change this is just a you can say name of the event I have to bind it to the class so I will say this dot handle filter text change dot b to this and after that what I will say this dot handle another event handler I want to bind to this particular class please remember all this needs to be done inside the Constructor only I don’t want handle filter exchange I want this time handle stock change and I want to bind it that’s it so we have defined the Constructor we have defined two or you can say we have binded two methods now it’s time to Define them so first one is handle filter text change and another is handle in stock change so these are the two methods which we are going to Define now and after that once these are defined the final thing is that you have to implement a render method for this particular class so first set the final state in this so This dot set State and there will be this dot set state so in the handle filter text change so whenever there will be a text change I want to set the final state so handle filter text change I’m going to pass text property and then I’m going to set the state so with which value I will say that filter text will be whatever be the value of the filter text now the second method which I want to bind is handle in stock change so I will have another property for it that is inst stock only and in the this. set State what I want to do is I want to set the final value of this particular property which is in stock only so I will say in stock only the property will be what whatever we passed to it that’s it so I’m done with binding the events in the Constructor setting the initial State and setting the final state in the two event handlers now the final thing is to implement the render method so in the render method I will have return statement so let’s close this return and in this return what I’m going to do is that I’m going to Define first of all a container let’s say I have defined a container now the important thing in this container what I’m going to do is as I mentioned that that I have total five components in this particular search example I have five components to be defined and this is the first component on which I working so what will be the other subcomponents other subcomponents let’s say is the search bar and another component would be the product table so you can see on the image that there is a blue boundary for the search bar component and there is a Green Boundary for the product component so let’s create those or call those components so search bar I’m saying that filter text what will be my filter text it will be this dot state do filter text now I can Define more you can say Properties or the values which are available in the initial State what are those values which are available in the initial State I have let’s say inst stock only I can Define the instock only over here what I will say I will say this dot state do instock only and then on filter exchange what I can do is that I can call my Handler what is my Handler my Handler is this. handle filter textchange and on on instock change I can again call a Handler which is this. handle instock change so that is how you can define a search bar component so this is one of the component which is defined or you can say the sub component which is defined over here the another component which I want to Define is product table so another component which I want to Define is product table now why product table if you see in this particular example this green one is the product table component and the blue one is the search component so what we have done is let me repeat once again that I have divided this complete application this complete project into five components so the first component is the first one that is filterable product table the second one is the search bar and the another one is the product table so we are as of now just calling the product table component sub component so let me Define some properties for it for example let’s say products what will be my products so I will say this do props which I’m going to Define this doprs do products so I have to Define much more values for it one is products so another let’s say I want to Define what is the filter text in this case filter text will be again same this will be this do state. filter text and then I want to Define one more property for this component that is inst stock only what will be the value of this inst stock only the value of this inst stock only will be this dot state do instock only so that is how we have defined our another sub component which is product table now as you can see how we are modularizing this particular code so first of all we are calling this filter product table in this filter product table this is the main component we are calling two sub components which is search bar and the product table so this is the main component and let’s define the main calling that is react [Music] dom. render and this in this rea dom. render what we are going to say we are going to say that we are calling the parent component what is the name of my parent component it’s filterable product table I’m going to call it and I’m going to call it on a prop what is my prop now prop is the values the Json data which I’ve already defined my prop value will be equal to products so I will say react dom. render prop value products equal to product so just I have to close this first and in fact I can close it with closing tag and then I will say document. getet element by ID the ID which I have to Define where I want to render my output that’s it so we have called the parent component by using re. render here we are passing the props as products which is my sample Json data this is the sample Json data the category of the product the name of the product and what is its price so filterable product table is the first component which we have created which is our base component or you can say parent component now the other components which we are going to create is the search bar which is the sub component and the product table component so let’s start creating those components as well so what we are going to say is class name of the component is search bar so the name of the component is search bar which extends from react. component so this is my another component and one more component which I will have which is again a sub components you can see which we have created is a product table so we can just write here class product table extends from react do component so you can see we have also created these two subcomponent which is the search bar and the product table now let’s focus on the search bar that how we are going to implement the search bar component so in the search bar component the same thing we are going to first write the Constructor and in this Constructor I’m going to define the props once this is done I’m going to call the super keyword which will have again props so this we have done now multiple times and if you want to bind some some event over here in the search bar then you can bind it over here itself so what I’m saying let’s say I want to bind couple of events over here so I will say handle filter textchange handle filter textchange so let’s say this dot handle filter exchange do bind to this and I want to have one more event handler which is handle and stock I want to check whether there it’s in stock or not so I will say this dot handle in stock do bind and this so that is how I have defined the Constructor once I Define The Constructor I have to write the definition of these events which I have written so first of all handle filter textchange this is the handle filter textchange and the another one is I want to have handle in stock change so let’s write handle in stock change now in the handle filter textchange what I want is this dot because I have the props so on filter textchange I want to pass the value which is written by the user in the text box so e do Target do value this is the value which is written by the user in the search and in the handle inst stock change what I will say that this dot DRS dot on in stock change what I’m going to write is that e do Target whether we will check that checkbox is checked or not now once this is done we will implement the render method for this particular component so I will say render and then I will have a return statement which will allow me to write the jsx for this particular class so let’s say I use a form element of HTML and then I want to implement a textbox kind of functionality so for implementing this textbox kind of functionality I’m using input input type type will be equal to text placeholder placeholder for this input let’s say equal to search just a custom text you can say now what will be the value this is something very important that what value we want so this do props what is the text which user has written this do filter text and what I want as an event I want an event on change whenever the value will change what I want to call so I want to call this do handle filter text change that’s it so my input is defined I want to Let’s Take A P tag for example in this P tag what I’m going to do is again I’m to take a input type now this time it will be of type checkbox because in this example you see I have a requirement of implementing a text box and then I want to implement a checkbox okay so I will say that this is is of type checkbox checked I will check whether it is checked or not so I will say checked equal to this do DRS do in stock only whether it is in stock or not and on change if there will be a change even on change I want to call this dot handle in stock change so that’s it and once this is done I want to let’s say for example give some space and I want to write some text that only show products in stock just after the check box just like in this example in this particular example you can see in the requirement that I want to show some static text that only show products in the stock so I have written only show products in the stock so that is how it completes the search bar component so we have written the two components as of now and now I’m going to write the product table component now this component is again very important because in this component we are going to Define two sub components more so this is our third component which I’m going to write and after that in this particular component I’m going to call two small small sub components so let me Define those components very quickly what will happen you will understand what we are doing so what I’m doing is that I will Define a very small components for example let’s say product category R so I will say product category row extends from react do component this will be my one sub component for this product table component and another would be class product row this will be again a component so extends from react do component that’s it so we have to Define these three components and our example or this complete project reactjs application will be over so what I’m going to do is first I will Define this product table so render method which is implementation of the class and in this render method what I’m going to do is that I will say Define some constants so what is the filter text filter text is this do props do filter text and I’m going to define the stock value with inst stock only which will be this do props do in stock only once this is done I’m going to Define an array of the rows so array of the rows for example I will Define with cons rows equal to an array I’ve defined an array and let’s say want Define the last category so that I have that how many categories are there let’s define it null as of now now what I’m saying that this do props dot products because products I’m passing it as a prop and it is can say Jason array so I can apply for each over here what I’m saying for each because on a array you can apply the for each so in this case I’m applying the for each and I’m on which quantity I want to apply the for each I want to apply on a variable let’s say for example product and want to apply a arrow function that’s it and I will write some conditions over here that index of filter text whether it’s in stock or not and so on I will write some of the values over here I will create a structure and before that what I can do is that I can Define this product category row so let’s define this product category row so I’m saying render now in this render method I’m defining a constant that is category is equal to this do props do category and there will be a return statement for this now in this return statement I’m just using a TR structure for example and this TR I’m defining a header with a th and let’s say some call span I can give some call span yes I can define a call span and what I’m saying is that in this th that is the table head I want to define the category so you can see here that this category is defined as a sporting goods or Electronics so I want to Define n as header that kind of functionality I I want to implement so this product category we have already defined where we are displaying the category now comes the product row now in this product row what we are going to Define so in this product row what all I want is that I want the product maybe the product name whether the product stocked or not at the same time I want the price the product price so what I will say that I want the product name I want the product price okay so let me do this and let me show you the example now so we have defined the product category and product row now you can see over here the product table we were writing the product table where product. name. index of elex equal to equal to minus one we are just comparing whether it is in the stock or not if it is there in the stock we are pushing it to the rows array so you can see here different different rows so we are pushing the values in the rows and then we are are declaring two subcomponents product category row and product Row in which we have defined the category which will be the category header and then we have Define the product row individual where we are saying that we are using the product name and then we are also displaying the product price as you can see in this example that you have to define the product name and you have to define the product price okay so this completes our demo of using the search example let me save this and open it on this screen okay npm start is this is running so just a minute the app.js I have nothing in the index.js I have the search example and in the react dom. render I’m calling this root everything is in place should show up now me refresh it okay now it is showing up so this is the output of this particular example we have implemented the five components as shown in this particular example so let’s check the output now let’s say if I want to search for football it is giving me the result for football only correct and now if I want to remove this football from the search component it is showing me all the results or you can say all the products with their prices if I check this checkbox which is only show products in stock and the products which are in trade are not in stock so it will hide those products which are not in stock for me and if I uncheck this cheick box it is showing me all the products whether they are in stock or not so this is you can say a demo which I have shown you of the complete reactjs fundamentals where you have used state where we have used props we have created the components five components we have created so for example let’s search Nexus 7 which is in another category it is giving me the result of Nexus 7 along with the product name and the product price so that is how we can create a very beautiful applications in reactjs by decomposing the complete UI into different different components this is the beauty of reactjs you can say okay so now we will finally talk about the final reactjs fundamental that is keys so what are keys in reactjs so let’s talk about the keys now so if I talk about keys keys are the elements you can say which helps react to identify the components uniquely so for example if I I have a ordered list where I have some allies I have a unordered list UL where I have some of the Allies so I can Define the keys on them so that those react elements can be identified very much uniquely so basically I can say that keys are the elements which helps react to identify the components uniquely so on the screen you can see that I have two react Elements which is having two render methods but they uniquely identified by different different keys so for one of them I am using the key as 101 um for another I am using the key as 102 so you can say that keys are the basically things which helps us to identify the components uniquely now you can see here that if any of the key is changed again I can check which key has been changed so Keys again I’ll repeat that these are the elements only which are applied on react elements specifically and they help react to identify the components uniquely okay so we’ll see the example of keys now that how we can use keys in react applications this is a example where I have used the concept of keys just to let you understand that how we can use the keys in reactjs and how they help us to uniquely identify the components and react J so in this particular example you can see that there is an array I have created const numbers uh number array with five values 1 2 3 4 5 starting from the index zero obviously because it’s an array now react dom. render this is the first method which is called in this a component is called which is the number list so number list is a component and then there are props which is used called numbers and this numbers will have this array values and then document. get element by ID now let’s talk about this number list component now this is a function based component so function number list now as you can see over here that I don’t need any state I don’t need any Constructor that’s why I have no event which is getting binded that’s why no Constructor no super keyword is used so in the function component that is number list this props is passed so numbers is props do numbers because this numbers will be taken in the props Now list items numbers do map again map is a very important you can say function when it comes to array or to iterate on the array values please remember you can use the map function this is a predefined function in jQuery and JavaScript used for arrays where you can I trate through the different value of the arrays so numbers. map number is just a key you can say now list item Now list item is again a subcomponent here I am using the key which is number. two string so I will have the key as 1 2 3 4 or five and value equal to number now in the function list item what I want to return is I want to return a list of allies having the props do value so whatever will be the value in the number that will be shown as Li but all these will be identified uniquely so if I go to inspect element I’m just showing you that how you can see here so this is a ul and this is the Ali structure which you can see over here so all these Alli structure is defined or you can say identified uniquely with this key value so what will be the key value in this case that key value will be 1 2 3 4 or five okay so that is how we can Define the key on the component or in fact you can also Define the keys directly on you can say the HTML tag for example lii so one more example if you’ll see for the keys the same example which I have shown but in this case just is a very important thing to understand that when you are returning you are returning a ul and and then you are returning the list items from the list item component this is very important to understand over here that how you are returning this ul and Alli structure in the output on the right hand side you can see the output the important thing is that we have created here two function components two function components are one is the number list which is the main component called from react dom. render and in this number list I am calling another sub child or sub component which is again a function component called function list item so function list item I’m passing the props I’m returning the Ali structure from here and I’m also returning a UL structure from where the list items will be shown so what are the list item will be shown whatever the number which are there in my array which is 1 2 3 4 and 5 so all these numbers will be shown on the screen as 1 2 3 4 5 so let’s come back to the PPT again so we talked about keys so basically we have talked about now all the reactjs fundamentals I will just again repeat very quickly for you that what all fundamentals we have talked about we talked about jsx components props State life cycle events refs and finally we talked about keys so these are all the basic fundamentals of reactjs and we have seen very good demos based on these topics one last example or you can say final demo based on these Concepts and specifically on life cycle methods which I want to show you I’m going to show you that and then we’ll start with the advanced concept of reactjs that is flux and Redux so I’ll talk about what is flux and what is Redux in detail but before that let me show you a very good example where we will be using the life cycle methods and I will show you how we can use a life cycle methods while working with reactjs so again I’ve have came back to the same example okay so what I’m doing here is I’m just commenting this particular code so that there is no confusion let’s check the output it should show us nothing now okay that’s great it’s blank because we have not return anything we have commented the complete code okay great so let’s write a fresh code now so what I’m going to do is that I’m going to show you a clock example which will completely show you the date and time but here I’m going to use the life cycle methods which I’ve shown you in the different phases so one of those methods I’m going to use is component did Mount and component will Mount okay so let’s get started I’m creating a component so I’m writing class clock extends from react. component just like we are writing every time but before completing this class component I want to write which is going to rendered on the browser or on the Dom so react dom. render what I want to show I’m I want to show this clock component so component should be always in the cly braces and then I have document. get element by ID where I want to render the output so this is done so we are sure that the first component or the parent component which will be called is the clock component that’s why I haveed the react dom. render in the first place so first thing first so since this is a class component I need to have a Constructor and then in the Constructor I want to define the super keyword so that this do props does not become undefined and then if I want to set the initial state so I have to set it in the Constructor itself so I’m saying this. State this is my initial state which I’m setting so I’m saying what is the date so I’m saying it let’s say new date so I’ve defined the Constructor now outside the Constructor what I’m going to do is that I’m going to Define a method called let’s say tick which is going to work as a ticker nothing else so in this tick I’m going to set the state so I will say this dot set State and what I’m going to set the same state of the same property date with the new date so I have set the state now in the Teck method we’ll call the Teck method later and now I’m going to Define two life cycle methods first of them is component did Mount so intellisense is helping me over here component did Mount and next I want to call is component will unmount so again intelligence I can use the intelligence great so in the component did Mount what we are going to do is that we will Define a property let’s say this dot for example timer ID equal to I’m going to define a predefined method called set interval in this set interval what I want to set is I want to Define Arrow function and that Arrow function is let’s say this dot take and I have to define the range for set interval now in component will unmount since I have to unmount the component I have to destroy the component from the dop I will write clear interval again a predefined one and in this I’m going to to pass this do timer ID so that is how we can Define the life cycle methods now once these life cycle methods have been defined what I’m going to do is default method which needs to be implemented as a part of the class is render in this render I will implement this return statement okay now in this return statement what I’m going to write is that let’s say let’s have a container so Dev is my container I will write some H1 statement example let’s say edura reactjs full course by the chin and then in H2 h2 tag another tag I want to take in the h2 tag what I will write that it is maybe with the time probably I want to say this dot state do date maybe I want to convert it probably to local time string so I and convert it to local time string and I can Place full stop also over here so you can see the output that it is showing the output adura reactjs full course by VJ it is 1129 and 50 p.m. so that is how you can use the life cycle methods in reactjs application and we have set the interval with 1 second so that’s why every time you can say the seconds value are getting changed so I will again repeat this that what I have done in this what I have done in this is that I have set the clock component in the clock component this is my parent component and since this is the parent component what I have done is that I have set the initial State and in the tech method I have set the final State now in the component did Mount and component will Mount methods there are two methods which I have defined component will unmount and component did Mount in these two methods I have said the interval that every second it should show me the the time interval what is the current time interval and in the render method in the return statement I have placed this H1 and H2 tags so now let’s come to the another concept which is flux what is flux in reactjs so let’s talk about something called flux now so till here let me repeat once again that we have completed all the eight reactjs fundamentals which includes jsx props component State and so on we have also talked about some life cycle methods how to use refs how to use keys in reactjs now what is flux now the question which will be coming in your mind is that what is flux so flux is a pattern for managing the data flow in your application as simple as that so what I can say is that there are data patterns through which you can manage the data flow in your application flux is one of them so the most important concept of reactjs or you can say in data flow that in reactjs the data flow is unidirectional by that what I mean is that data flow only in One Direction so that is the use of flux before Deep dive into this flux I want to show you one website from where you can study if you want to go deep dive into flux this is a Facebook site facebook. github.io flux this is a very good site to learn flux starting from the basics to the advanced part so I will recommend that you go through this site facebook. github.io flux this is official site from the Facebook on the GitHub okay so again coming to the PPT so we talked about flux flux is a pattern for managing data flows in your application and the most important concept is that data flows only in One Direction now what are the different parts or what are the different components in flux so flux has basically four main components one is the dispatcher another is a store another is action and the view so we will see this in detail but before that this diagram is very important this is a representation of a data flow in any reactjs application it starts from view you can see the view over here now what view is doing that view sends action to the dispatcher now dispatcher can have n number of actions n number of actions can work on a single dispatcher now the dispatcher sends actions to every store so what happens that once actions are given to the dispatcher from the view now dispatcher sends these actions to the store and then again store sends data to the view so you can see that this is a unidirectional flow of data in reactjs which starts from view through actions it goes to dispatcher and from dispatcher it again goes to store and from store the output again goes to view and that is how it works in a unidirectional fashion now we will talk about all these different components of a flux data flow one by one now what is dispatcher now as you can see in this diagram that dispatcher is getting acted upon by the actions so view is sending a action to the dispatcher so dispatcher receives action and dispatches them to stores that have registered with the dispatcher now every store will receive an action there should be only one Singleton dispatcher in each application this is very important that in any reactjs application there should be only one single dispatcher let me explain you through an example so for example user types in a title for a to-do and hits enter so we are talking about a to-do application over here implemented in flux and Redux for example now what happens is that user types in title for too and then press enter what happens next The View captures this event and dispatches and add Todo action containing the title of the too so in the title you must must have written some too that I have to Dost this task this task and this task that becomes the title of the Todo so what happens is that the view which is there in your unidirectional data flow it captures this event and dispatches a to-do action or any kind of action containing the title of the too and then when it dispatches any action it is received by a store so every store will then receive this action please remember I’m saying here every store and this will come out as a basic difference between the flux and Redux so when we will talk about Redux then we will see that Redux always have a single store but in case of flux flux can have many stores so that is why it is written on the screen that every store will then receive this action so there could be multiple store in a flux base application now what is a store we are talking about store and store so what is a store all about so store is is the place what it holds the data of an application this is the most important thing of any Redux based application in reactjs the store will register within application dispatcher so the store is getting the dispatched action from the dispatcher as an input or you can say the action is received as an input now the data in a store must only be mutated by responding to an action there should not be any public Setters on a store only Getters so action store is getting an action via a dispatcher and then store decides what actions they want to respond to every time I store data changes it must emit a change event so store then do some processing and then it decide that which actions needs to be responded to and every time a store data changes it must emit a change event there could be or there should be many stores in any application when it comes to flux but when we will study Redux please remember there is only a single source of Truth in Redux application so there should be only one store when it comes to Redux and then we can see the same example which we were talking about a to-do application so a store receives a to-do action via dispatcher now it decided it is relevant and adds the to-do to the list of things that needs to be done today and then the store update its data and then emits a change event now what are actions in any flux application we are talking about actions actions are given to store via a dispatcher dispatcher dispatches the action to the store now what are actions so basically action defines the internal API of your application what action needs to be taken they capture the way in which anything might interact with your application they are the simple objects that have a type field and some data but when it comes to action it’s very important to understand that action should be semantic and descriptive when it is taking place they should not describe the implementation detail of that action so I will say that use delete user rather than breaking it up into delete user ID clear user data and so on so remember that all the store will receive the action and they can know that they need to clear the data or refresh credential by handling the same delete user action so instead of longing the names of the action you can be very precise while giving any action to the store now this is just a action example so when a user clicks let’s say delete on a comp completed to-do a single delete to-do action is dispatched because in a to-do application some of the tasks could be completed and some are pending so when you click or when any user clicks the delete on a completed to-do a single delete to-do action is dispatched to the store now what are views so we talked about dispatcher we talked about store we talked about actions now the last thing which we want to talk about is the flux in the flux is views so this is the last component you can say of any flux data flow data from the store is displayed in views so views are the thing which is displayed on or render on the browser on the Dom views can use whatever framework you want in most example we are using the react so when a view uses data from a store it must also subscribe to change events from that store so if you remember the diagram which I showed you from view via action it goes to dispatcher from dispatcher it goes to store and from store it again goes to view so when a view uses the data from a store because in a store something has been updated something has been modified so when a view uses the data from a store it must also subscribe to change events from that store this is very important and then when the store emits a change the view can get the new data and rerender it because it has become the updated data now or the processed data so that’s why we are calling that now from from the store when the data will flow it will be the new data and which is going to be rendered so if a component ever uses a store and does not subscribe to it then there is likely a sub bug waiting to be found actions are typically dispatched from views as the user interacts with the parts of the application interface so please remember whenever there is a user interaction on The View so some actions will go to dispatcher which are dispatched to store and there will be some processing happening some changes happening in the store which is again mve to The View and the views will have then the new data which they can reenter on the browser okay so now we will talk about what is Redux in reactjs because we have already talked about that what is the flux and what are its basic concepts so let’s talk about Redux now so why we have to use Redux with reactjs as we know that react is only a view part in uh MVC model kind of application so to control the data flow we use Redux as a data flow architecture so on the left hand side you can see that there is a application having multiple components which we talked

    about and if we want to flow the data in this particular application we want Redux this is the basic use of Redux you can [Music] say so routing is the ability to move different parts of an application when a user enters a URL or clicks an element like link button icon image Etc within the application routing is basically required in transitioning from one view to another in an application in simple words I can say routing is a process in which a user is directed to different pages based on their action or request now we are good to go to understand react router react router is a standard library system built on top of the react and used to create routing in the react application using react router package it provides the synchronous URL on the browser with data that will be displayed on the web page it maintains the standard structure and behavior of the application and mainly used for developing single page web applications it enables the navigation among views of various components in a react application allows changing the browser URL and keeps a UI in sync with the URL reactjs router is mainly used for veloping single page web applications and it is used to define multiple roots in the application when a user types a specific URL into the browser and if this URL path matches any route inside the router file the user will be redirected to that particular room react router plays an important role to display multiple views in a single page application and without react router it is not possible to display multiple views in react applications most of the social media websites like Facebook Instagram Twitter Airbnb Etc uses react router for rendering multiple views to make use of react router we have something called as react router Dom what is this react router Dom which is actually the react router data object model it contains the Dom bindings for react routers in other words the router components for our websites and if we talk about react router native it contains the react native bindings for react router now moving ahead let’s see the advantages of react router because of which we are using react router so in react router it is not necessary to set the browser history manually and Link is used to navigate the internal links in the application it is similar to the Anchor tag which we know is very simple as we have learned in HTML it uses switch feature for entering and the router needs only a single child element so no complexity at all and in react router every component is specified in now talking about the installation part so what we can do is we can just go to our nodes official website and we can just download the nodejs whatever the configurations of your windows are we can just download it and once we have set up our nodejs on our PC what we’ll do is we will just install create react app okay that will be very helpful while creating the application the demo which I’m going to show you in the later part of the video in that it will be very helpful the command to install create react app is npm install hyphen G then create hyphen react hyphen app I’ll just click on this and this is how it is going to install create react app it will take quite some time but I already have it installed so I do not need it so I’ll just stop this thing over here and after that when we will start off with our demo part we will execute one more command that will be npx create react app and we’ll give the application name that we will see in later part part of the video and we’ll start off with the demo part while creating the application itself so this is what you have to do then you will have to go to the directory where you have created the application the folders so with this we have successfully installed our create react application which will help you to directly create and react application we can just add the components to that we can change the code and we can just modify it and we’ll be good to go now let’s discuss the components of a react router so there are four major components of react router which are frequently or always used whenever we are working with the react router so the first one is browser router then we have root then we have link and then we have switch so talking about browser router browser router is a router implementation that uses the HTML 5 history API which includes push State replace State and the pop State event to keep our UI in sync with the URL and it is the parent component that is used to store all of the the other components moving to root so root is the conditionally shown component that renders some user interface when its path matches the current URL talking about the link so link component is used to create links to different roots and Implement navigation around the application and it works like html’s enor tag and talking about the switch so switch component is used to render only the first route that matches the location rather than rendering all matching roots although there is no defining functionality of switch tag in our application because none of the link parts are ever going to coincide but let’s say we have a root that there is no exact in here and then all the root tags are going to be processed with which is start with slashes this is where we need switch a statement to process only one of the statements so this we will see by a demo so now I’ll just open my vs code the editor which I am using you can use whichever editor you want to use and then we’ll see how to include these components of react router on the basis of the part of URL that the router will use to track the content that the user is trying to view react router provides three different kinds of routers now we will see the types of react routers so they are namely memory router browser router and hash router talking about the memory router memory router keeps the URL changes in memory not in the user browsers keeps the history of the URL in memory and does not read or write to the address bar so the user cannot use the browser’s back button Buton as well as the forward button it doesn’t change the url in our browser it is very useful for testing and non-browser environments like react native talking about browser router it uses HTML 5 history API which includes push a state replace State and pop state apis to keep our UI in sync with the URL and Roots as normal URL in the browser and assumes that the server is handling all the request URL and points to root index.html it accepts Force refresh props to support Legacy browsers which doesn’t support HTML 5 push State apis and talking about this hash router so hash router uses client side hash routing it uses the hash portion of the URL that is window. location. to keep our UI in sync with the URL and hash portion of the URL won’t be handled by the server the server will always send the index.html for every request and ignore the hash value it doesn’t need any configuration in the server to handle roots and it is used to support Legacy browsers which usually don’t support HTML push State API and it is very useful for the Legacy browsers or we don’t have a server logic to handle the client s and this route isn’t recommended to be used by the react router dting and the Syntax for these kinds of router we will see just in the import statements we just have to change it and we will elas it as router let me just show you now what we will do is we will set up our react application so we’ll create a react application using Create react app and for that let me just go to my command prompt there let me just go to the desktop so I’ll change the directory over here I’ll move to desktop and then I’ll run this command npx create hyphen react hyphen app and let me call this app as edira routing now this command will create so now here you can see is we cannot create a project name _ routing because of the npm naming restrictions name can no longer contain capital letters so we’ll just give it as Eda routing now here you can see creating a new react app in this folder okay inside the desktop we’ll be getting folder for react application that will be known as Eda routing and it will take some time it will actually take sometime like around 2 3 minutes and once this will be done then what we’ll do we’ll move to our this application folder that is AA routing and then we will install our react router Dom which I had explained you it contains the Dom bindings for react application we’ll make use of npm and we’ll install react router Dom and then we’ll start adding the components I’m using the visual code Visual Studio code AS editor you can make use of any other editors as well now as you can see the dependencies have been installed and you can see over here as well like some 29 packages have been added so with this create react app we can simply create our react application and we can just add the codes we can add the components and we’ll have our react application created with this we have successfully created our react application and the name of our react application we have given as a Rea routing okay as we are going to learn routing with this so with this you can see over here happy hacking and now we are good to go now what I will do is first we will move to the project directory or the application directory which we have created right now we’ll give CD and edore routing and now what we’ll do is we will install the react router Dom for our this application so we’ll give npm install react router D okay router D and we will give a space and hyen save this command we have to give all right this will install our react router Dom for our existing application which we have just now created with the help of create react app it will also take some time but less than the previous one and yes with this we have successfully installed our react router Dom for our our Eda routing application now what we’ll do is now we will start creating or adding the components to the application now what we’ll do is I’ll just close this up and in my vs code I’ll open the folder which has my application so in this yeah in desktop you can see Eda routing is there I will just open this one now here you can see our application or the main folder is edore routing then here we have node modules all these libraries and the pendencies are here like you can see Babel and all for es6 and all we have just for testing so all these are available they have been automatically added with the help of create react app and then here in this public we can see here is the index.html so if we want to change the title or the HTML part of our application we can just make changes over here or we can just create the new one we can just create a whole new code as well so I’m not going to all this HTML and CSS part majorly because we are here to learn about routing first what we’ll do is we’ll go to our SRC folder and here you can see we have app.js file so this component this is actually where we will be using routers react routers we are going to make use of them over here in this application so that we’ll provide the links and the switch and everything which will be linking to the other components so what we’ll do is first of all let me just remove whole code because this is a default one this create react app is for the default one it is like reacts default application which has been created now we have to create the components add them with the help of routers and all now first what we’ll do is we’ll import our router so what we’ll do is we’ll write import so as we have learned about the routers so we’ll give browser router as we have seen this is the first component of react router so we’ll give browser router and we’ll alas as router then we have the other component that is root then we have link and then we have switch and this we have to get from react router Dom now here be clear with the thing that here this browser router is elas as router now to use react router what we’ll do is we’ll create some components in this react application so what we’ll do is inside our this SRC folder what we’ll do is we will create one more folder and that we will make it as comp component so we have one more folder inside the SRC that is component now here in this we’ll create other files other JS files which are actually the components so let me just add one file as home.js then we will create one more about. JS and then we have contact. Js so these three components I have added now let’s add some code to this so that will be available on the screen whenever we will be executing our application so let me just go to home and let’s add some code like first thing is we have to import react from react and then we will write the function or the reducer we know function home which return heading we’ll write like welcome to Eda and that’s it and then we’ll close this function and we’ll write this export default app default we’ll just save it and then next is our about component so in this will’ll simply let me just copy it from here we’ll just paste it and we’ll make the changes over here here is about now let me write let me write something about Eda so Eda is in e-learning platform and let me give you some more thing like like know more about Eda here now here we I’ll make use of the anchor tag and I’ll give the link [Music] http://www.ed now here we have the link and I want to display this as well so what I’ll do is I’ll just type it over here as well and with this we have closed our anchor tag now when we have created this one and the anchor tag is closed over here now one more thing is we have to return something so here in return I’ll put all this inside a div so this one is also ready and here I’ll have to give this about the function which we have just now created let’s save it and now moving to our contact component so again let me just copy this thing and we’ll put it here now here what I’ll write is like for queries contact here now no link I don’t want to give any link over here now let’s just put the number let me just put this over here and one more thing see and if I want to put it in the next line and all so I can just give the BR tag as we know in HTML and no need to give it like this let me give one more yeah now in this about what we’ll give is we’ll give the in place of about we’ll give contact me just remove this anchor tag now let’s make a little change over here let me just put it inside the address so that it will be like a single element over here and let’s just remove this heading tag all right and we’ll just give it up so we have created three components and we have added them the home component then the about component then we have our contact component now in this app.js what we’ll do is we will make use of our react router and then we will link these components now what we will do is we will start adding the components to our app.js the components of react router over here now as we have already added this browser router as router now let me just create class app extend component and then we’ll give it as render we’ll make use of render function then we’ll return router and inside a div we provide the class name let’s give it as app and then we have closing tag for rter now moving ahead what we have to do is inside the div we have to put the links as well link is also one of the component of react router before moving ahead we can just see let me explain you the components which we have created especially talking about the props associated with the root component we’ll see over here as you can see the exact right this this is used to match the exact value with the URL for example here we have given exact and then the path that to home component and this will only render the component if it exactly matches the path if we remove exact from the syntax then UI will still be rendered even if the structure is like slash and home like that and then we have something called as path over here so this specifies a path name we assigned to our component the path name which we have assigned like contact home about like that and then we have something called as component it refers to the component which will render on matching the path these components which we already have contact home about out all these and as we have seen in this we have switch as well this switch will be used to render a single component wrap all the roots inside the switch component so we have just wrapped it around and this link we have used to create the links to our components it uses the two prop to describe the location where the link should navigate so here you can see this two prop this two prop has been used by this link component now let’s see the output of this application or this code which we have written now we will see the UI of our application it’s taking a little time so it will get executed browser will be launched here so you can see over here on Local Host 3,000 it will be launched here it comes now this is the page okay now whenever I’ll click on home now we have moved to our homepage this is happening with the help of our router the components which we have used the link component we had made use of browser router and the switch now when I click on about us here you can see the URL is also changing and with this if I’ll click on this link so this is the normal HTML link part with the help of anchor tag I have just redirected to our Eda homepage let’s just go back and then on contact us you can find it over here so whatever we wanted to display in our application that’s been displayed in the different pages and we are redirecting to these pages with the help of react router and here is the URL and the application name is like react app we can make change in that also let me just go to this one and in the index.html we can just change the name of the title like we can change the title let me just give it so here I’ve just made it as Eda let me just save it and then it will automatically be reloaded here you can see now the name of the application is your Ed over here so this is the output which we are getting so this is how finally we have successfully implemented the navigation in our react app application using the react router now as earlier we have talked about the types of react router so let me just show you here so as you can see in this app.js we had made use of browser router so we have hash router and memory router what we have to do is just in place of this browser router we can just simply put memory router and everything else will be same and we can just elas it as router similarly for hash router we just have to make change in hash in place of memory I have kept it as hash now it became hash router and the functionalities which are supported by hash router memory router and the browser router will automatically be implemented so no need to change anything else we just have to import that type of router and we will elas it as router itself and we have already discussed what are the functionalities and how these routers are implemented according to their [Music] types now let us go and explore all about reacts hooks starting from what is reactjs hooks reactjs hooks are functions that allow you to use the state and other react features in functional components they were actually introduced in react 16.8 has a way to make it easier to share the stateful logic between the components and also to make it easier to work with the functional components here the most commonly used hooks are the use State use effect and use content so these are considered more important or most useful hooks so other than this we will also explore some of the additional hooks too for example use reducer use memo use call back and use layout effect so these are the hooks that we will be exploring in this session we will see each of it in a detail form right now before that we will see what actually the hooks are now let us go back and see before react h hooks so before react hooks if you wanted to use the state or other features in the component then you had to use a class component here the class component are more complex than the functional components and can make it difficult to reuse the stateful logic here with the react hook you can use the state and other features in the functional component which makes it easier to share the state full logic between the components and also it makes it easy iier to work with the functional components here the react hooks differ from the traditional react class component because in that they allow you to use the state and other features in the functional components instead of having to use the class components and additionally you must keep this in mind here the react hooks do not require the use of this keyword which makes them less verbos and easier to understand and why do we say here the class component is more difficult so here the class component in react are based on this JavaScript class syntax which can make them difficult to understand for the developers who are new to the react or who are more familiar with the functional programming additionally these class components often include the boiler plate code such as the Constructor functions and binding the methods to the correct context which can can add unnecessary complexity and make the code harder to maintain and the most important feature of this react Hook is it allows the creation of custom hooks which are reusable functions that can hold the state or the logic that can be shared between the multiple components here this makes it easy to extract and reuse the logic that is used in the multiple components so at the end this can make the code base more maintainable and easier to understand one of the main advantages of react Hook is that they make it easier to share the stateful logic between the components as I said in the previous statement so this is because the state and the logic can be extracted into a single hook and it can be reused in multiple components rather than having to duplicate the logic in multiple class components react hook also make it easier to test the functional components since they do not relay on this keyword and the life cycle methods now let us see the types of hooks we have in this session here we have three major hooks that is use State use effect and use context so these are considered to be basic Hooks and more important hooks or commonly used Hooks and additionally we will also look into use reducer use memo use call back and finally use layout effect so these are the hooks which we will be covering in this session other than this we also have many other hooks so if you want to learn more about hooks or more about react years you can enroll to our edura react years certification training course where we will be providing you with an Hands-On and a live demo sessions so here we will get started with our first hook that is use state so let us see what is use State and how does it work in our course code and I will give some of the tips that how can you use the use State inside the code now according to the definition use state is a hook in react that allows you to add the state to the functional component state is a way of storing and managing the data that can change over time and can affect the components behavior and rendering though I will explain it in a detail form here this U state is a hook in react that allows you to manage the state in the functional component prior to the introduction of HS the State Management in react was only possible in class-based components so with this use of use State you can now manage the state in the functional component as well and also the U state is a function that takes a single argument so which is the initial state after that it returns an array with two elements that is current state and a set a function for updating the state the current state is a value of the state and the setup function is used to update the state so here I will explain this in a detail form with an example so I’m using visual studio code so here I will show you a small demo for that I will jump into Visual Studio code now as you can see I have already created a app called counter app so you can see here the counter app and here I have created a counter. GSX inside the source folder and inside the components folder now let us write a small react hook example first I will import the react component from react for that write just import react from react okay after that I will import UST State Hook from the react package after this line for that you just need to write Import in the bracket U state so you will have some of the recommendations over here and you need to find U State over here so State and you can notice that I’m writing in a camel case statement here the react GS takes the input in a camel case after this now that we have imported the component and use state from react at the same time we need to export this file file to the index.js right so that the output will be shown in the browser so that don’t forget to export this file to the index.js so I will export so just type export default counter because my file name is counter so I’m writing counter and you just need to go inside the index.js and include the counter file inside the react strict mode now let us get back to the counter. JS file so now let us declare a new state variable so let us call this as count here the U State returns a pair of value that is the current state and the function that updates it as I said in the explanation so that we will just write a function called counter inside that just write const and pass the values that that is the current state and the function that updates it right so here the current state is this count and then we will set the count so this will be the function that updates it and in our component we use the U State Hook by invoking it and passing the initial value for our state variable which is zero so I’ll use that so I’m using the use state so I’m passing the value as Z zero okay now let us return this so I’m wrapping this with a div tag now here we use the count variable to display the current number of Clicks in the page and in the button tag here we use this onclick property to specify a function that will be called when the button is Click right now for that I will write a paragraph to indicate the numbers so I’m writing you click here I’m calling the count and this count will be indicated in numbers so you have clicked this many times so right so so I will give the button to click so on click so I’ll set I’m calling this set function so that is set count this s should be in the small here the function that we pass to on click is an arrow function that calls the set count and passes in the new value of the count so which is the current value + one so let us write the count that is the current value and + one so whenever the button is clicked here the count will be incremented like the current value + one so the count will be incremented to one so I’ll close the button by telling click okay so let us run this by typing npm start and you can see the server has started you can see that we have written you clicked this many times right so let us click this button and check so here you can see the number is incrementing so if I click on this the number is changed the value to two so that the current value is right now is two so if I click the button once again the number will be incremented + one so that the current value + one will be incremented so here as you can see the count this is the current value and plus one so every time the button is clicked this function will be called and the state variable count will be updated and here the component will be rerender to reflect the new value so I hope you understood now I will give you some of the tips to use the use State here we have some of the limitations for example keep State update simple here you need to avoid the complex Logics or the calculations when updating the state instead use a call back function to update the state based on its current value and next so you need to keep in mind that you need to use the use State when it is only necessary here use props or the context when possible instead of creating the state for every piece of data after that you need to use the use effect hook for the side effects keep the state top level that means you need to keep the state at the top level of your component hierarchy as opposed to bury deeply in class component this make it easier to understand and debug the code easier and you need to keep in mind that you need to test your component always you need to test your component to make sure that they work correctly and the State updates are behaving as expected with that we will move on to the next hope that is use effect now let us explore about use effect here this use effect is a hook in react that allows you to synchronize a components with an external system also it will allow you to tell that react to run a piece of code after rendering in order to update the system or the side effects of the component so this is done by specifying a call back function that contains the code to run and an array of dependencies which are variable La that components uses and that react will watch for changes now when the component is first rendered the call back function passes to the use effect will be run this is similar to the component did Mount life cycle method in the class component if any of the dependencies specified in the dependency array change react will rerun the effect now this is also similar to the component did update life cycle method in the class component so as I said before here we have class did Mount class did update and class did unmount so these life cycle methods are used in the class component so here the next life cycle I’ll be explaining is component will unmount here when the component is unmount the cleanup function pass to the use effect when it will be run this is for cancelling Network request or cleaning up any other side effects that we created now that we will understand this use effect hook with a small example so I’ll go back to the visual studio code I will clean up the use State I will keep the react component and the export has default now we need to use the use State and use effect from the react so for that we will import use effect along with the use state from the react react package after the react component line so that I will just import inside the curly braces right use F and use state right in our component we declare a state variable data using this new state and and the initial value is an empty array so for that we will just write a function for that counter so for that I will be setting the constant values here and I’ll pass both width and the set width as I said the current value and the function that will be updated so here withd is the current value and I’ll set the state so now what does this line mean so here I have written this line right now this means that I’m taking the windows inner width so let us see for example I want the inner width of the browser and I need to design a web page where my grid needs to match it so I need to know the width of my system or the browser so that I’m taking the inner width of the browser now let us fetch the use effect I’m taking the function handle resize so we need to know the size of our window right so that is why we are using this function function handle now I will set the WID for window inner width here the set with function update this date when the browser window is resized now let us set the window uh event listener here use effect Hook is used to add an event listener to the window that is listens for a resize event and when the resize event is triggered the handle resize function is called for that we are writing a code here so for that window dot add event listener and I’m specifying here resize here as I said when the resize is triggered the handle resize will be called to update the width of the state in the new value of the windows inner R now here let us clean up the function to remove the event listener here now I will return here I will return the remove event listener here I’m specifying this window do remove event listener here the empty array at the end of the use effect is the dependencies it means this effect only runs once on the component mode right so here now I will return this also so I’m WR the windows width will be so I’m calling this width function here here the component returns a Dev that displays the current width of the browser right now let us check out the results here the window width is 614 now let us resize this here here as you can see if I resize the windows WID changed to 335 so if I again resize so it will change according to that so it will not change the height so as if we have just set only for the width the total window width of my system is 614 so if I resize so it will change according to the size we moveed to so I hope hope you understood the example with the use effect here some of the tips to practice this use case in a best way for that you need to First understand the purpose of the use case of the use effect hook here it is used to handle the side effects so as I said in the example such as the data fetching in a functional component and always you need to include a dependency array as the second argument to the use effect and this array should include any variables or state that the effect depends on here if a variable is not included in the dependency array that the effect will run on every render and you should be mindful of the order in which effect runs here this effects are executed in the order that they defined so it is important to consider that the order of your effects if they are dependent on each other and you should use the cleanup function provided by the use effect to remove any side effects before the component is unmount so this is especially important for the data fetching and subscriptions to prevent the memory leaks so as I did here in the example I did the cleanup function to remove the event listener right so like that and also you should keep in mind that the excessive use of use effect can lead to unnecessary re vendors and it can be slowed down your applications and also you can use the use context who instead of use effect when possible here the use context is a simpler and more efficient way to manage the shade State across the multiple components that is what we are looking next we will look into the use context here now let us see what is use context it is a kind of H that is used to consume the context in a functional component it is an alternate to the context type property or the consumer component that we used in the class component here when a component needs to access the context it can use the use contact hoop to describe to the context and retrive its current value the hoop takes the context object has it argument and Returns the current value of the context the component can then use this value to update its state or props the use context hook allows a component to subscribe to changes in context so that it can rerender when the context value changes so this is done without the need to pass props down manually through every level of the componentry which makes the code more efficient and maintainable here when a context value changes the react will re render all the components that are using that context this means that the component using use context hook will be rendered to which is how the component will get updated with the new context value now if I summarize the use context the use context hooks allows the functional component to access the context and the subscribe to changes in context it also eliminates the need to pass the property through the multiple levels of the component Tre eventually which leads to more efficient and maintainable code now let us see a small example so let us go to visual studio code and I will just remove from the function so default let us keep import Rea component from Rea here in import we will just import the create context with use context okay so now let us create a context with a default value for that I’m writing the const and theme context here we use this create context to create a new context called this theme context okay with the default value of light so I’ll keep the default value as light which is equal to create context to light right fine now let us create a function counter now let us use the context to access the current theme right so that I’m specifying the cons now the theme is is we are using the use context in theme context here in our example component we use the use context hook to access the current value of the theme context right so here we have light so we need to access this light in this theme context here we will return the div so let us specify the class name as uh theme right and let me write something like the current so we need to get the uh output from this theme so when the value changes here the value here will be also changed accordingly now here let me write a function called app and return the theme context dot provider value is dark so I’m specifying the counter over here inside the theme context right now let us see the output here as you can see the current theme is light right we access the value of the context in this case here the theme and we use it to set the class name of the div element and in the app component we wrap the element component with the theme context provider and set the value to the dark okay here now whether the value is provided to the context will be available to all the components that are wrapped inside the team context provider and all of them will be able to access the current value of the context by calling the use context and theme context okay now here some of the tips to practice the use context here to keep the context value minimal Only Store the values that are necessary for the components that are consuming the context and you need to avoid the storing unnecessary data as it can lead to unnecessary rerenders and performance issue and also you need to use the default values always provide the default values for the context when creating it in case that consuming the component does not have access to the context now you should use the use context for Global state so that it is shared across the multiple components such as the users authenticated status or the selected theme also you need to avoid using context for local state here use State hooks for local state that is specific to single component rather than using the context only update context when necessary you should only update the context when the value has changed to avoid the unnecessary rerenders and performance issues here you need to use the use effect hop to update the context the next we have the test context test the context value and update to ensure that they are working correctly here we use the test context to test the value that were updated correctly and whether it is working correctly now then we have the use multiple context so here if you have m multiple pieces of global State and that need to be shared here we need to consider using the multiple context to keep the state organized and easy to manage with that we will move on to use reducer who here the use reducer is a hook in react that allows for managing the state within a functional component here it is similar to use state but it is typically used for more complex State Management and the state red rer hook takes two argument a reducer function and a initial State here the reducer function is a pure function that takes the current state and an action and it Returns the next state the initial state is the starting state of the component State a component can call the dispatch function returned by the use reducer to send an action to the reducer here the reducer that updates the state based on the action and the current state and also the component reenders with the new state the use reducer is considered more powerful than us State because it allows for more complex State management such as handling the asynchronous actions and managing the multiple pieces of State at once in short the use reducer is a hook that allows you to manage the state within a functional component in a way that it is similar to how you would manage the state in a Redux store it takes two arguments a reducer function and an initial State as I said initially and Returns the current state and a dispatch function that can be used to update the state now with that let us look into a small example so let me remove from the import again let us import the use reducer package from react after that we create a reducer function that takes in two arguments that is State and action here which are the current state and the action that is being dispatched respectively okay so that let’s write const so initially I’m setting the value to count zero so initial state is count zero fine after that the function the function reducer State action after that I have switch case in that I will write switch I’ll write action type if that is the case then the case should be in increment then I will return the count to the state count + one if the case is in the decrement then I will return count State minus one then default I will return the state first let me write the code and I will be explaining you each and every statement here right so that first here I’ll write the function here as you know the use reducer hook returns a pair of values the currenty State and a function that updates it in our case we use the destructuring assignment to assign the state and dispatch right here we use the state count to display the current count in the page and in the button tag here for that I will specify the page and the button tag here for that I’m returning a statement so return here I’m writing in the count here count and the state count now let us specify the button for increment as well as the decrement here on click let us write the dispatch so this type will be in increment fine now for the same I will give for decrement right see here here I am giving the decrement so after that the div is closed so here the function that passes in the on click property to specify a function that will be called when the button is clicked so I’ll be showing that in the output page here the function that we have passed to on click is an arrow that function calls dispatch and it passes in the object that describes the action that should be performed here in this case the action type is either increment or decrement right so when the component is rendered it was initially the number is zero the count is zero so when the button is click in the increment so it will call the dispatch function with the type increment and the reducer function will receive the action and the state so that it will update the state and increment by one so see for example if I go to the output so if the button is clicked in the increment so the count will be two for example if I increment one so the count will be + one right so when the minus button or the decrement button is clicked so it will call the dispatch function to the decrement then the reducer function will receive the action and the state so it will update the state and decrease by the count one and the component will rerender and it will show us the output as minus1 so count minus1 so here keep your state and the action simple now let me give you some of the tips here you need to keep your state and action simple the use reducer is designed to handle the complex State and actions but it is important to keep them as simple as possible to avoid the confusions and make it easier to debug and also you should use the initial State correctly make sure to provide an initial state that is the same type and shape as the state in your reducer function and the use actions to change the state you need to use the actions to change the state in your reducer so do not modify the state directly as this can lead to unexpected Behavior also you need to keep your reducer function pure so what that your reducer function should be pure means it should not have any side effects and should not relay on any external state or variables so with that we will move on to the use memo use memo is a hoop that allows you to optimize the performance of your react component by only recalculating a value when one of its dependencies has changed now it is similar to the use effect hoop in that it allows you to perform a side effect but instead of updating the component state or props it returns a value that can be used by the component here the use memo hook takes two argument as previous hook sticks the first one is a function that returns the value you want to store and the second one is a array of dependencies the function is only called when one of the dependencies has changed if none of the dependencies have changed the previous value is returned instead of recalculating the value for example if you have an component that displays a list of items and the list is passed in as a prop you can use the use memo to only read ref filter the list when the search item changes instead of ref filtering the list on every render now let us see a small example so now let us go to visual studio code I just have import react component from react and I have exported the counter now let me import the hooks from the react so I’m importing use State and use memo right now let us just Define a functional component called counter okay so function counter now let us create the state variable for first name last name and H so that constant first is our first name then I will set the first name here I will use the use State same thing for last name and H I am giving a empty parameter over here so that it is dynamically updated when the user enters the first name last name and the H okay right now let us calculate the user object over here so now let us see this function will uh run only if the first name last name or the a state variable have changed so I’m giving the uh user also so const user by using the use memo so let us return turn the full name the full name consist of the first name and the last name and finally AG right in the array I’m just giving the first name last name and age return inside the diff I’m just giving the input value for the first name last name and the H here the component also uses the use memo here right so this hook can create a memorized object called the user so that is why we have specified the user over here and that combines the first name last name and the age the state variable into a single object with properties that is first name and the age the components then renders input field that allows the user to update the state variables and display the user object so that is what so here I will be giving the input values over here here first one is the first name on change so if the value is changed then the output should be rendered here in the age we have to type the number so the input value will be in the form of number right then let me give a paragraph inside saying the full name and the h now let us see the output so if I show you the output here I can type my name so here in the full name you will get uh the first name and this is the last name so for example I’ll type V so as you can see the full name I have written in the first name as T and the last name has v so in the code here here it should return in the name of full name is the first name plus the last name and the age right so here if you see uh in the place of first name I have typed only my first name and in the last name and in the place of H since I given in the input has numbers so it will tell you to increment or decrement or else you can even type the number so in place of age you have the number over here right for example 46 yeah and you can increment or decrement as you need so in this code the react functional component is called the counter right so it uses the react hook called use State and use memo to manage and update the component State and to perform a calculation based on the state here the component has three state variabl that is the first name last name and H so which are initialized using the U State now these State variables are used to control the values of three input field rendered in the component jsx that is these three input Fields here the component also has a user variable so here you can see the the user variable right here the function concatenates the first name and the last name the state variable to create the full name the property of the user object and the user age that state variable as the state property the second argument of the use memo is array of dependencies which is used to determine when the calculation should be rerun in this case the calculation will re run only if the first name last name or AG State variable has changed the component reenders and input field from each state variable and displays the full name and age property of the user object right with that we will move on to the tips for use memo use the hook called use memo when you need to compute a value that depends on or state but not change often always pass a function that runs the value you want to memorize has the first argument the function should take the props or state that the value depends on an argument and the use mve with the second argument an array of dependencies to tell that react which values the memorized value depends on so this will ensure that the memorized value is only recalculated when one of the dependency changes avoid using use memo in render functions as it can lead to poor performances instead you can use it in the component functions that are called before the component rerenders also you need to use the use memo with the caution when working with the large data set or the complex computations as it can cause performance issues if not used correctly and avoid using the use memo to store functions as they cannot memorize instead you can use the use callback hook for this purpose now let us see use callback hook use callback is nothing but it is also a react hook that allows you to optimize the performance of your react component by only recreating a callback function when one of its dependencies has changed it is similar to use memo but that allows you to store a value and only update it when the dependencies has changed but instead of storing a computed value it stores a call back function here the call back hook takes two arguments the first one is a call back function that you want to store and the second is a array of dependencies here the function is only recreated when one of the dependencies has changed changed if none of the dependency have changed the previous call back is returned instead of creating a new one for example if you have a component that displays a list of items and the list is passed in as a prop you can use the use call back to only recreate the function that handles the recreating the function on every render but it is important to note that the use call back is often used in the conjunction with the use memo when the dependencies are object or the function to prevent unnecessary rerenders and recalculations as use memo only recalculates the value when the reference to the object or functions changes now let us see a small example for use call back hook and import the hook packages from react that is I’m using the use state and use call back from react now the function called counter let us initialize the count and the increment value here right so that for here I’m writing the const so I’m I’m setting the count as well by use keys by use US state and the next one is increment I’m using the use call back function over here let’s set the count to count + one because we are incrementing it right so right now let us return with a Dev tag inside that I’m writing H1 tag so I’m telling the count value then I’m specifying the child increment after this we have the child increment over here as you can see right so that I’m creating a function over here called child inside that I’m just passing an argument call increment by returning a button with a onclick function increment right now in this example the parent component has a state variable that is count so as you can see here we have count this is the parent component and the call back function is the increment that increments by one so here the count plus one so as you can see this is the parent component plus incrementing by one here the child component receives the increment function as a prop and renders a button when click and it calls the increment function over here the use call back Hook is used to memorize the increment function passing in the count as a dependency this means that the increment function will only be recreated if the count State variables change so this can help to prevent the unnecessary rerenders of the child components when you run the code the output will be a increment button and a H1 tag saying the count is zero so when you click on the button the count will be increasing by one and the H1 tag will be displaying the updated count right so if you can see I’m clicking on increment and the number changes to two by increment + 1 so 1 + 1 is 2 okay so right now let us see some of the tips so here use the use call back when you need to pass a call back function as a prop to a child component and you want to avoid the unnecessary rerenders always you need to provide the dependency array has the second argument to use the call back this tells the react which variables the call back depends on and when it should recreate the call back and also you need to keep in mind that the dependencies you include in the array if you include too much or unnecessary dependencies it can cause the unnecessary rerenders and negatively impact performance and you need to avoid the use call back inside the loops or conditions as it can lead to unexpected behavior and hard to debug the issues and always you need to check if the call back function is the same using the reference equality operator before passing it to a prop so this will prevent the unnecessary rerenders of the parent component you need to be careful while using the use call back function with this the state or prop that are objects or array because these are passed by references not by values so if the call back depends on such variables it will be recreated every time the parent component reenders and you need to be aware that the use call back does not work with async functions because it cannot memorize the results of asynchronized operations always test your component with and without use call back to check that if it works has expected and that the performance improves you expect as visible right okay now let’s move on to the last hook in this session that is use layout effect now what is use layout effect use layout effect is a react ho that allows you to synchronize all layout changes to a component here it is similar to the use effect but it runs synchronously after all Dom mutations now this can be useful when you need to measure a Dom node or read its layout before making changes that affects its size or position also it should be used with caution as it can cause visual inconsistencies if not used correctly and also it is recommended to use use effect unless you have a specific use case that requires the synchronous behavior of use layout effect so you need to be careful while using the used layout effect and also importantly to note that the used layout effect should be used only for updates that are critical to the visual appearances of the component and that cannot wait until the next frame for all other updates it is generally recommended to use the use effect instead with the run asynchronously and does not block the main thread and also so it is important to remember that if you need to perform any side effects that involves the Dom such as adding or removing the event listeners you should do so inside the use layout effect instead of use effect this is because the use effect runs after the browser has painted and may cause unnecessary layer thrashing if it updates the layout of your component okay with that let us move on to the example now this code is a simple react functional component that uses the use layout effect and the use state so here it uses these both hooks to measure the width of an element and display it in the screen okay the first code Imports that the layout effect and the use State and the use ref from the react Library right here the U state is a hook that allows you to add the state to a functional component in this case it is being used to create a state variable called WID and that will store the width of the element here the UST State hook also returns a set width so that can be used to update the value of the width State variable here now the use ref is a hook that allows you to create a reference to a Dom node so in this case it is being used to create a reference to a div element that will be used to measure the width of the element over here here the used layout effect is a hook that allows you to synchronize and apply the layout changes to the component so it is similar to the use effect as I mentioned earlier but it runs synchronized after all Dom mutations so this can be useful when you need to measure a Dom node or read its layout before making changes that affects its size or the position so this component start with the div element with the ID my element and within the WID State variable is displayed and use layout effect is then invoked so inside the hook the code first gets a ref reference to the element with the ID called my element using the document. get element by ID inside the my ID this used layout effect Hook is then invoked inside the hook the code first gets a reference to the element using the ref variable called ref do current you can see here this ref dot current then it uses the get bounding light ring right this method to measure that the width of the element and assign it to the variable width after that the set width function is invoked with the width variable as an argument so which updates the state variable with the width of the element here the used layout effect hook also accepts a cleanup function which is a function that runs when the component is unmounted or the effect is being rerun so this is that function okay so the cleanup function will also display the cleanup in console so when you inspect in the console then you will get to know about it right and also you need to keep in mind that uh it is important to note that the used layout effect hook should be used with the coction as I mentioned so as it can cause the visual inconsistencies if not used correctly so it is recommended to you to use the use effect unless you have a specific use case that requires the synchronized behavior of the use layout effect and it is important that if you don’t provide a dependency array the effect will run on every render so which could lead to a performance issue so it is better to provide a dependency array with the values that the effect rely on so that it only runs when those values changes okay so it should not run whenever the small changes happens the whole program will run so right in this example an empty dependency array so this is the empty dependency array so it is passed to a use layout effect ho so which means that it will only run the code once when the component is first rendered so in this example instead of using the document. getet element by ID to find the element it is passed to a reference to the element as it uses the ref dot current dot here the ref dot current dot get bounding client R so to get the width of the element so let us see the output over here so we have to run so after that so as you can see the width of the element is around 613 Point 44 okay so let us inspect this here you can see as I mentioned you will get a console here we have console right as you can see here the cleaning up function as I said in the program right here you will get the clean up function here so inside the console you will get the cleaning up [Music] we should know why to use Redux react is one of the most popular JavaScript libraries which is used for front-end development it has made the application development easier and faster as it follows the component based approach where the data flows through the components basically react follows unidirectional data flow that is data always flows from parent to child component where child component can never pass data back up to the parent component as you can see on the screen the colored circles are representing the components where the upper component is the parent while lower ones are the child or subcomponents the view cannot interrupt in the data flow so data Flows In unidirectional fashion here data flows from parent to child react does not provide any way for direct component to component communication although react has features to support this approach but it is considered to be a poor practice as it is prone to errors as you can see on the screen a child component can never pass data back up to the parent component and here is the catch so the question comes is how can two non-parent components pass data to each other this is where Redux comes into the picture as you can see in the picture a store is a place where you can store all your application State together now the components can dispatch State changes to the store and not directly to the other components then the components that need the updates about the state changes can subscribe to the store so we can sum up into the points as produx offers a solution of storing all your application state in one place called a store components then dispatch State changes to the store not directly to other components and then the components that need to be aware of State changes can subscribe to the store Redux helps you manage Global state that is actually the state that is needed across many parts of your application Redux separates the application data and business logic into its own container in order to let react manage just the view react gives only the view in MVC model where MVC stands for model view and controller so we can say react is just the view and to control the data flow we use Redux as a data flow architecture as you can see on the screen react is responsible for the view that is the web application on the browser and Redux controls the data flow now let’s understand understand what is Redux Redux is a pattern and library for managing and updating application State using events called

    actions Redux separates the application data and business logic into its own container in order to let react manage just the view it’s an application dataflow architecture Redux was created by den abov and Andrew Clark around June 2015 it was inspired by Facebook’s flux and influenced by functional programming language Elm it got popular very quickly because of its Simplicity small size as of 2 KBS and great documentation this is the basic idea behind Redux that a single centralized place to contain the global state in your application and specific patterns to follow when updating that state to make the code predictable so basically the patterns and tools provided by Redux make it easier to understand when where why and how the state in your application is being updated and how your application logic will behave when those changes occur Redux guides you towards writing code that is predictable and testable which helps to give you confidence that your application will work as expected now let’s look at the principles of Redux Redux follows three fundamental principles where the first one is single store or we can say single source of Truth the second principle is state is always read only and the third one is changes are made with pure functions or reducers now let’s understand these principles in detail starting with the first principle that is single store so when I say single store it means that all my applications state are stored in a single immutable store as with only react unidirectional data flow direct communication between components is not allowed now the state of the entire application is stored in an object or state tree within a single store components state is stored in the store and they receive updates from the store itself so components dispatch something to the store and then the other components when they get to know that something has been updated they subscribe to store now let’s move to the second principle that is the state is read only which means the only way to mutate the state is to emit an action which describes the user’s intent hereby muted I mean is to update so we can say that we can change the state by triggering an action which is an object describing what has happened as you can see on the screen here the action is no action and when the action is switch on the bulb is getting lighter now let’s talk about the third principle that is change using only pure functions in Redux pure functions are called as reducers the reducers are used to indicate how the state has been transformed by action the reducers or pure functions take two parameters as input which are the previous state and the action so when it takes the previous state it gives us the new state as you can you can see in the picture the previous state is that the bulb was not on and then it has been worked upon by the reducers and then we get the new state that is the bulb is on now I’m going to talk about the components of Redux Redux has four components action reducer store and view so let’s understand these components in detail starting with the action action of the plain JavaScript objects which are payloads of information for the store so basically the only way to change the state content is by emitting an action as we have already talked about it so here action means plain JavaScript object which are the main source of the information which we use to send data and data could be user interaction internal event like API call or form submission we can send these from the application to the store and then the store receives this information only from the actions and then we have to send the actions to the store by using store. dispatch for example here as you can see we Define the type as ADD too and then we can Define the parameters as Text Now actions are created by action creators some of the points to be considered in actions are that it must have type property that indicates the type of action being performed they must be defined as a string constant and you can add more properties to it now talking about the action Creator action creators are the functions which create actions and they takes in the message converts it into into system understandable format and returns a formatted action object action creators are the normal functions that return the function and to call this action anywhere in the application we can simply use the dispatch function where we can Define dispatch and then we can Define it to do add to do text as a part of dispatch method so here we can add dispatch after action we have reducers basically actions describe the fact that something happened but they don’t specify how the applic State changes in response so here comes the job of reducers reducers are pure functions which specify how the application State changes in response to an action it is based on the error reduced method where it accepts a call back a reducer and let us get a single value out of multiple values so we can Define reducers as pure functions which specify how the application State changes in response to an action some pointers to be considered for reducers are they do not change the value of the input parameter they determine what sort of update needs to be done based on type of the action and returns new values it Returns the previous state if no work needs to be done the root reducer slices up the state based on the state object keys and passes them to their respective specialized reducers reducers don’t manipulate the original state passed to them but make their own copies and then updates them now let’s understand the reducers with the help of a simple example here we have defined whole function reducer with the arguments initial State and action then we can use Simple switch action type in the case at Todo we are returning the object assigned to State and then here we have a to-do list then in text we are going to work on the action. text and then completed should be false that uh is what we are going to return the state itself so here we are taking help of previous state action and new state as part of reducer component we should avoid the following things inside a reducer that mutating its arguments that we should not change the arguments inside a reducer we should not perform side effects like API calls and routing Transitions and we should not call non-pure functions like date. now or math. random now moving on to the star component of Redux that is store store can be defined as an object which brings all the components to work together it calculates the state changes and then notifies the root red us about it so basically store can hold the application State and provide some helper methods to access the state dispatch actions and register listeners so the entire State object tree of an application is saved in a single store here we can pass the middleware to the store to handle processing of data and to keep a log of various actions which can change the state of the source and all the actions return a new state by the reducers here in the example taken we have created a store from Redux where we can import to-do app from the users that we are going to create and then we are going to use the store component as a part of a stores with a store the data State can be synchronized from the server level to the client layer without much difficulty this makes the development of large applications easier and faster store is responsible for holding applications State allowing access to State via get State method registering listeners via subscribed listener allowing the states to be updated via dispatch action and also it handles unregistering of listeners VI the function returned by subscribe listener now let’s talk about the last component view view is nothing but the thing which is displayed on the screen and in formal terms we can say view displays the data provided by the store as you can see in the picture the store provides the data which is displayed as view on the browser screen smart and dump components together build up the view smart components are the managers who are are in charge of the actions and pass down a function via the props to the dump components and dump components provide information to the smart components if any action is required they receive them as props and use them as call back now let’s understand how the components in Redux are set up first of all we have to get the store ready then we have to set up the communication amongst the components and then we have to prepare the action callbacks let’s understand it with an example so here we have action Creator producers views store provider and root reducer component so these can be called as the various roles involved in setting up the components and then ultimately in the data flow now let’s see how the communication will happen among these components so first step is to get the store ready here in the example the store has been hired and the reducer team has been asked to help the store out so here in the example the store has been hired and the Reger team has been asked to help the store out then in the next step that is setting up the communication between the store and other components we can see the example where the root component says to the provider that this store is hired and now the provider has to set up the network to keep the components updated and here’s the view part so view will get connected to the latest updates to display the user now the final step is to prepare the action callbacks so here the view part has to make it easy for dumb components to understand it has to bind the action Creator and the dispatcher so that the dumb component can just call the call back as we know if something has to be updated as a store is immutable an action has to be triggered which can be done by action. Dispatch method now let’s understand the data flow that is how data will flow among all these components of Redux so Redux architecture is concentrated on a strict unidirectional data flow in an application all the data follows the same life cycle pattern making the logic of your app more predictable and easier to understand it also encourages data normalization to ensure consistency the picture represents the flow diagram of the Redux application which contains all the components which we have discussed now let’s understand the data flow with the help of this example step by step starting from here where the name is John we want to update it with something else so it will start from action Creator start starting with the step one so the action type is name update value is John this is available on The View and to change it an action has to be triggered now the Second Step where the store will get informed by the action store has the current state tree and now it will be passed to the reducer to calculate how the new state Tre should look like so in the third step the reducers which are the pure functions will get the previous state or previous State pre and action as input and will provide the new state now in the fourth step the root reducer will provide the sliced state tree to other reducers in the fifth step the other reducers will copy the sliced data and will update it and it will show the root reducer that how the sliced state tree will look like and in sixth step the store will be updated and then store will inform the provider with the new state tree or the new state which will complete the step seven and step eight and finally in the step nine the view the new state tree will be updated which we can reender as the component tree so I would sum up the entire process in the following brief steps starting with initial step a Redux store is created using a root reducer function the store calls the root reducer once and saves the return value as its initial State when the UI is first rendered UI components access the current state of the Redux store and use that data to decide what to render they also subscribe to any future Store updates so they can know if the state has changed talking about the updates something happens in the app such as a user clicking a button the app code dispatches an action to the Redux store like dispatch and the type could be counter or increment the store runs the reducer function again with the previous state and the current action and saves the return value as a new state the store notifies all parts of the UI that are subscribed that the store has been updated each UI component that needs data from the store checks to see if the parts of the state the niche have changed each component that sees its data has changed forces a reender with the new data so it can update what’s shown on the screen now we will see how to use react with Redux so to install this stable version using npm we can use the command npm install Redux and to yarn we can use the command yarn add Redux react bindings are not included in Redux by default so you need to install them explicitly using the command npm install hyphen hyphen save react hyphen reduct you have to add these dependencies along with Babel react and webpack now I will show you a small demo of using react with Redux so let’s start with a demo and this let’s uh first see the structure of the whole project so we have created these folders actions components containers reducers and the main file index.js so these all are the components which we have seen while understanding this reactjs and Redux so starting with this main file so index.js is always the first or the main file of a react Redux application of project so in this we are using a special react Redux component called provider as you can see here so this one is the special component and it makes the store available to all the container components in the application without passing it explicitly so we need to use it once when to render the root component so here you can see we are rendering the root component with the name app so here we are using provider so we have to use it once while rendering the root component now we have created this file by importing all the dependencies required you can see here with the help of import statement we are importing all the dependencies which are required it could be like Redux react Redux or the components or the reducers and all the these things now as you can see here all the dependencies react react Dom and here this react Dom that is actually the data object model which you would have learned in JavaScript so in this file we are calling the utility called as provider to call Root component and now let’s start with the components so here you can see the folder components so these all are the different components which we have created so these components could be presentational components as well as container components so most of the time we use presentational components but sometimes we generate container components as well to connect to the redu store so first of all we’ll see the presentational components so here we have to-do list.js too. JS link doj foo.js and app.js and here this app.js is the root component okay so starting with the to-do list.js so this Todo list.js component or the file contains the to-do list which is showing the visible todos okay and basically these todos are the arrays as you can see here these todos are nothing but the arrays which have been created using three properties you can see here ID completed and text and here on click you can see here on click is an event or a function which is taking ID okay here is taking ID as a number which is a call back to invoke when a to-do is clicked now talking about the other file that is too. JS here it shows a single to-do item here is a property you can see here property types okay so it has a property type which has the event on click and completed and text which shows the completed todos now we have one more component that is link. CHS so it has a link and it will show all the completed todos now then we have the footer. JS here you can see they have different links which are used for the filter as you can see with the help of filter link it allows the user to change the currently visible toos when we will see the output of this application then we will see how we can change the to-do list items with the help of this filter link now talking about our root component that is app.js it is calling all the other JS files which we have created as presentational components you can see here like this add to-do visible to-do list and footer so you can see this footer is also one of the presentational component over here so it is calling this as well and you can see these visible to-do list and add to-do all these are the container components so this root component will call both the components presentational as well as container so as you can see here import as well as the export method okay so initially we have imported presentational component like footer and the container components like add too and visible Todo list now you can see here when you will just over your mouse over here you can see from where these components are coming so you can see from the SRC folder and the container folder we are getting this visible to-do list it is a container component and here for footer you can see it is coming from the components folder this foo.js so this is a presentational component now here we know we require the container components to connect presentational components to Redux so let’s see the container components now here inside the container folder we can see the container components present so these are the visible to-do list.js filter link. JS and add too. JS so starting with the visible to-do list.js which we have created here you can see this file is required by too. JS file which is a presentational component so here we have too. Js which is a presentational component it will require this container component that is visible to-do list.js this is the basic idea and it helps to subscribe to the Redux store wherein we have map state to props here you can see this map state to props which is a special function available in this import connect from react Redux here you can see in this connect function this map state two props is present so it is a special function which will help to subscribe to the Redux store now one thing to pay attention is to import connect function here as you can see while importing we have imported a connect function as well from react and Redux Library what it does is it provides the optimization which avoids unnecessary reentering of the application here we are calling the function with the help of get visible to-do utility so we have a switch case in which we have three cases all these three cases are actually the ACs which are show all then show completed and then we have show activ these are actually the todos the action is to show all to-do items then show all completed to-do items and then show all the active to-do items now talking about this filter link. JS here it is a container component which is rendering the links by dispatching an action as you can see over here with the help of dis map dispatch to props utility which we have got from this connect function which we have imported from react Redux Library it is rendering the links by dispatching the action and now talking about this add too. JS here this is returning the HTML part of the application as you can see here we have input value we have the button submit button so when we will see the output there you can see the HTML part which will be visible on the screen so that part comes from this add too. JS file which is actually one of the container components now talking about the actions now you can see here the actions here action is also one of the major component of our Redux application so here in this actions index.js the actions are add too then set visibility filter and toggle to- do now let’s talk about the reducers after actions we’ll move to the reducers and in the reducers we have different reducers present over here index.js too. Js too. spc. Js and visibility filter now in this index.js we are making use of combined reducers utility and we are combining all the other reducers present as we have seen in the example earlier that we have a reducers team where multiple reducers are the part of that team and they together work so here with the help of this combined reducers utility which we have imported from this Redux library with the help of import statement we are combining in the other reducer functions now as we know these reducers are basically the pure functions so other reducers as you can see over here these reducers are nothing but the pure functions which are returning something based on the action so here you can see they are taking the action with the help of the ID and then they are returning something with the help of the case so they are returning the states as we have understood earlier from the examples and we will make use of of all these reducers here by combining them now let’s talk about the output of this application I hope this structure of our Redux application is clear to you all you can create any of the applications on Redux and now talking about the output so here in the output you can see we have a text box and then the submit button and the other buttons also we will see how they will be used now the basic idea of this application is to create a Todo list okay so here we will add some items which will be treated as the items of to-do list so we can add multiple items in this to-do list and then we can categorize them with the help of clicking on those items that whether they are active or they are completed right now we don’t have any item in this list so let’s insert something so for example we are entering to subscribe the adura channel so when we will click on ADD to-do this item has been added in the to-do list for example we can insert like the video one more and for example we’ll write like writing so all these three items I have entered in this to-do list when we have clicked on all so we can see all the items of to-do list when we will click on the active so we have all the active to-do list items and in completed we have nothing because we have not completed any of these to complete it we’ll just click on any of these so to subscribe I have just clicked on it so this item has been completed now when we will see in active items we have only two and in completed we have the one which we have already completed by clicking on it so this was the output for this application which we have [Music] created so the first factor that we’re going to talk about is the application types or the usage react is used to develop web applications whereas react native is used for mobile application development some examples of web applications created using react are Facebook Netflix New York Times Yahoo mail Etc on the other hand react native is used in mobile applications such as Instagram Facebook ads manager Bloomberg Airbnb Uber Eats Etc setup and bundling react native is a framework of JavaScript and it comes with all the essentials that you will need to set up and for the development of your application react on the hand is just a library of JavaScript therefore when you use react you will need various other tools for setup and development live reload live reload or hot reload as mentioned earlier is a feature that allows you to code as well as see the modifications in your application simultaneously react native supports live reload whereas react does not template rendering both react and react native use jsx for the development of views or the templates but react is much better better when it comes to styling your application’s UI using CSS react native on the other hand makes use of native platform apis learning curve even though react is not very difficult to learn react native is much easier this is because you can make use of readymade components and react native while for react you will have to quote them yourself so we’ve done a head-to-head comparison between react and react native the answer to which one is better among the two depends on the type project that you’re creating if you are focusing on creating the UI for a web application then react is what you need but if your project is going to be a mobile application then you can go with react [Music] native angular was developed by Google and its first release dates back to 2010 the first version of angular was also known as angularjs on the other hand react was developed by Facebook in the year 20 13 so coming towards the architecture of these Frameworks angular and react both are component based Frameworks but angular makes use of typescript and HTML whereas react which is a user interface Library makes use of JavaScript and jsx jsx is nothing but a syntax extension for JavaScript the latest version of angular that is angular 9 was released on the 7th of February 2020 one of the core features of this major release is the angular IV to know more about the angular IV you can check out the angular 9 video and blog from Eda whose link is mentioned in the description box below talking about react the latest major version of react is react version 16 the rendering process angular performs client side rendering however it can be rendered on the server side as well using nodejs on the other hand rendering is done on the server side in case of react websites built using these Frameworks YouTube as we all know is the world’s largest video sharing platform owned by Google and this is built on angular another very popular online payments application website PayPal also runs on angular other popular websites that use angular are Walmart which is a multinational retail Corporation and gmail which as we all know is an email service platform I’m sure after listening to this many of you would have felt wow angular is amazing but let me tell you guys that react is nowhere behind Facebook is the developer of react and yes Facebook makes use of react as well other popular applications such as Instagram which is a photos sharing platform and WhatsApp which is a crossplatform messaging app Airbnb where you can book your stairs for your vacation are also built on react so moving on towards the licensing of these two Frameworks both angular 9 and react 16 come under the MIT license MIT or the Massachusetts Institute of of Technology license is an open-source license sometimes it’s also called as the BSD style license and it has minimal software redistribution requirements the DM or the document object model angular makes use of real DM while react uses virtual dor the real dor updates the entire tree structure for HTML tags it does not make much difference in a simple application but if you’re dealing with a large amount of data requests on the same page it affects the performance as well as the user experience hence real dorm actually offers low performance with complex and dynamic applications at times real domor becomes extremely difficult to handle because the whole tree data structure is updated even if a minor change has been made virtual dor on the other hand has its components attached this gives the comfort of navigation within a website virtual Dom is also a node tree that lists out elements and their attributes as objects reacts vender function creates a node tree out of the react components then it Updates this tree in response to the mutations in the data model caused by various actions done either by the user or by the system virtual dor is not browser specific and it is lightweight it is provided in react package for free and eliminates the issues of slow performance of real dor having said this I’m sure you would have understood that virtual dor is better than real dor data binding angular uses two-way data binding event binding and property binding in event data binding angular allows you to bind events along with the methods property binding of angular will allow you to pass data from the component class and set the value to given element at the user end property binding also allows you to control elements property two-way data binding is a very important feature of angular with this angular allows you to make changes from the views to the models and from the models to the Views react unlike angular allows one-way data binding here the UI elements can be changed only after changing the model State the developers however cannot alter the UI elements without updating the corresponding models a great advantage of using the one-way data binding is that throughout the application the data flows in a single Direction which gives you better control over it this makes our application more flexible and leads to increased efficiency so talking about the latest features of angular 9 and react 16 angular 9 has a number of new features which are compilation of application with IV is default in angular 9 your angular 9 application is compiled ahead of time this means the angular’s aot compiler will compile all the HTML and typescript present in your code into JavaScript before your browser downloads and runs it this conversion takes place during the buildt process itself and it also also includes type checking angular 9 requires typescript 3.7 any lower versions are not supported TS lip or the typescript runtime library has also been made a pure dependency rather than a direct one earlier this library was installed automatically but now you will have to explicitly add this using npn or Yan react version 16 allows you to build great user experience models with concurrent mode and suspense concurrent mode is a feature that helps in binding apps faster with great user experiences that can help developers achieve their goals suspense is also a powerful tool for carefully organizing An Elegant loading sequence with a few well-defined states that progressively reveal the content the next very important feature is that react allows you to easily create Dynamic web applications and mobile applications react also provides support for custom Dom attributes instead of ignoring unrecognized HTML and SVG attributes react will now pass them through to the Dome this has the added benefit of allowing us to get rid of most of react’s attribute white list and it helps in reduction of the size of the application react as I’ve already mentioned earlier has a single way data flow that offers a better and streamlined data overview in react version 16 there is an increase in productivity that helps in maintenance of the react project reusing components is the major advantage of react you can start with the usual components like checkbox button Etc once this is done you can move to rer components which is comprised of internal logic which makes it easier to manipulate and Define objects that are used this also ensures the consistency of application and facilitates the code maintenance react version 16 also provides better server side rendering and error handling in this version the server is completely Rewritten and it is very fast it also supports streamlining so you can start sending bytes to the client faster so now moving on towards the next comparison factor which is the speed and productivity talking in terms of angular earlier angular was heavier and a little slower compared to react but now thanks to the angular CLI that the app size of angular has been drastically reduced and offers enhance development experience the angular CLI empar in creating a workspace and Design functioning applications quickly it also empaths in producing components and services with on line commands angular CLI ensures the clean coding feature of typescript before I start the discussion over react let me just tell you what is reduxx rux is an open-source JavaScript library for managing the state of the application it is most commonly used with react for building user interfaces so coming towards react the development speed and productivity slightly get affected due to the involvement of thirdparty libraries like reduxx however react is easier lighter and faster to code when it comes to small projects but for large projects typescript is preferable as it contains numerous features and components therefore angular has an edge over react when it comes to speed and productivity deployment earlier it was complicated to deploy an angular app but now thanks to angular Firebase angular 9 has officially added support to Firebase and angular apps and therefore angular apps are now easier to deploy to Firebase react as I’ve already mentioned earlier is lighter and the size of the application is smaller therefore it becomes easy to deploy the applications created using react these applications are usually deployed using node.js the learning curve learning curve in angular is quite steep as angular provides numerous features options and components for react the learning curve is easy as react is relatively small library and has fewer Concepts to learn when compared to angular and for those who want to learn web development quickly and the project requirement is not too large can go along with react so now coming towards something very important and interesting which is the market Trend the numbers that you see on the screen are taken from Tech Trends website according to Tech Trends there is a close competition in the job market for both these Frameworks however angular holds a slight upper hand overall moving on towards the final factor of comparison which is community support according to the 2019 stack Overflow survey it is clearly shown that react has stopped among the web Frameworks making react the most loved and supported framework by developers however angular is not far behind as it has good developer support by Google both these Frameworks have very good Community Support [Music] now let’s start with the realtime projects which we are going to discuss in this session so as you can see on the screen as well we are going to discuss this pick it up an e-commerce app chatted chit that a chat app fabook a social media app show it off a video sharing app short it out a URL shortener and groov on a music streaming app so let’s just start with this starting with pick it up an e-commerce application I think most of us are very much familiar to e-commerce apps as we know an e-commerce app allows users to add or remove items from a shopping cart view the card and check out using different payment methods so for inspiration you can check out some simpler storefronts like a Shopify storefront as well as massive retailers like Amazon or Walmart now you might have question that how to build this so to build this you can start with creating the app with create react app and add the stripe npm package plus use shopping cart to easily handle payments directly with strip checkout build a node API to handle creating sessions with a strive and then you can deploy it the back end to Heroku front end to ntif fly or you can deploy both on Heroku as well now moving on to the chat app that is chitted and chat that so whether it’s a mobile application like WhatsApp or Viber or a productivity tool like slack or Discord all of these use some kind of realtime chat app it could also be part of a chat widget within a website where customers can directly talk with the site owners now as we know all chat apps allow users to send messages to others in real time react to messages show when they are online or offline for example you can check out slack messenger Discord crisp chat Etc now answering the question of how to build this app so we can start with creating the project with create react app then use a service like Firebase or graphql subscriptions to create and get realtime messages then we can add reactions to message with Emoji using the npm package Emoji M then we can deploy to the web using Firebase tools now moving on to favebook a social media app the app you’re likely most familiar with is a social media application in many ways it’s similar to a chat app but expanded to a larger community of users these users can interact with each other in different ways so a social media app allows users in such a way that they can follow one another to receive their posts add media like images and videos to share with others and interact with post such as liking or commenting on them for inspiration you can check out some real-time examples like Facebook Twitter Instagram Etc now answering the question of how to build this so we can start creating the front end with create react app and creating the back end using a node API then we can use a database like postre SQL or mongodb along with an OM like Prisma of postre SQL or of mongod TV then we can use social authentication with Google Facebook or Twitter using OD zero react or passport.js then finally we can deploy it deploy the backend to Hoku and front end to nlii now let’s move on to show it off a video sharing app a video sharing app is probably the most Broad category as video is used across so many different apps and in many different ways you have video sharing apps like YouTube which allows you to search any browser and look for any video that you could imagine that users have created also Snapchat give us the ability to watch videos from other users that are recorded in a much shorter and more accessible format and they are more oriented around interactions such as likes and Views now let’s see how to build it so we can create the app with create react app and then we can create the back end with node or Express then we can use cloudinary for image and video uploads to the cloudinary API then we can use a database like postre or mongod DB along with an or like Prisma of postra or of mongod then finally we can deploy the back end to Hoku and front end to netlify or we can deploy both on Hoku as well now let’s move on to short it out a URL shortener a URL shortener is basically a simple tool that takes a long URL or the link and turns it into a short URL as we know or you might also not know that URL shortener with support for custom domains allows users to shorten the URLs manage the links and view the click rate statistics for inspiration you can check out some real word examples like cut bitly Etc now let’s see the steps to build this application so create the app with create react app then create the back end with node or Express and you can use a database like postre SQL or mongodb and then we can deploy this to the web using Firebase tools now let’s see groov on a music streaming app just as react applications are perfect for serving video content they are also great for streaming media like music music apps have a similar structure to video sharing apps and may or may not allow users to upload their own music but they do allow users to listen to music like songs comment on songs or even purchase the music even music streaming app can combine elements of a video sharing app as well as an e-commerce application for inspiration you can check out the regular music apps to which many of us switch to almost daily like Spotify SoundCloud Pandora Etc now let me give you an idea how to build it so create the app with create react app then create the back end with node or Express and use cloud for image and video uploads to the cloud API then we can use a databases like post SQL or mongodb and then we can deploy it to the web using Firebase tools now we have discussed about some interesting and full-fledged projects of reactjs now let’s see some small projects which could be a very good good source of enhancing the Practical knowledge of reactjs for beginners there are many example projects created by the react Community now we will see some of the projects that use react without third-party State Management libraries so starting with the calculator it is implementation of the iOS calculator built in react in this you just have to create an UI which can perform mathematical calculations talking about Emoji search react app for searching Emoji so everyone in daily life uses some or the other chatting app where we can do without appropriate emojis or the emoticons so you can just create that emoji search feature using reactjs talking about snapshot a photo gallery with search we can search particular picture with Associated keywords or tags and that’s we need to do in a snapshot using react talking about the image compressor and offline image compressor built with react and browser image compression many of times we need to compress out images to upload somewhere or for storage and every time going for online tools not a good idea right so just create an offline tool with the help of react CHS so these were some small projects which can be created using react JS now let me just summarize it so react GS developers have a bright future ahead as the technology is in Ed in several Industries in fact as opposed to other web development Technologies the react developers are now paying the most with react one can function both on the client side and the server side it facilitates the development of larger applications with its portion and data patterns that improve readability thanks to its versatility increased performance and improved usability features it is an outstanding front-end development program which can be used to create as many many Innovative projects as possible this testing is a very important part of your application because when the application goes live we always have to test our application to make sure it’s working fine because if something got break at the end of the deployment on real time it is very difficult so we have to make sure everything run very good so here software testing is a process to evaluate the functionality of software application with an intent to find whether the developed software met the specific requirement or not and produce of bug free products it’s very important part why should you perform testing cost of fixing the bug is larger if testing is not done at early stage once the application deployed it become very difficult to handle so we have to make sure that we should get it on the early stage only we try to fix that to produce good quality product to make software application defect free to check if the behavior of application is same so the testing also do one more thing that testing help us to verify that the thing we expect is same as it’s there or not to check if the behavior of application is same in development and production environment the type of testing unit testing functional testing and integration testing unit testing unit testing is used to test a small piece of independent code unconcerned with how they are wrapped in your application to prevent regression easy to pinpoint and fix the problem if take longer to execute it likely the code under test is much more complex it should be popular tool to perform react testing is just an enzyme so basically unit testing is more like the way the piece of a code that you right you want to test that code is basically come under your unit testing functional tests are made against combination of many units they use any number of external object or system like database UI security as it testing that how as a product is behaving take longer time to execute the unit test functional test represent major release whereas unit test represent only minor change due to which they’re expected to change less often than a unit test when user entered username and a password and click on send that user will be logged in we can easily see that this function group will compromise for many unit test one for validating username and one for handling a button and so on and an integ testing we ensure system application working correctly it can execute only with the realistic involvment like real database server and other system which like to Target production envirment it is used in case you need to test separate system like database and application it is lower than test say other test and is complex to write a functional test May successful test and ability to idle system to open help dialog box but with integration testing with a new browser or other runtime it found that expected functionality is not achieved test application using zest and enzyme so what is zest zest is a fast testing framework it act as a test Runner assert library and moing library and whereas enzyme is a JavaScript test utility for react that make it easier to assert manipulate and derse your react component output so enzyme provide additional utility methods for rendering a component finding element and interacting with element so basically the component testing or the snapshot testing the one we are talking about is actually achieve using enzyme also on the other side if I talk about create react application setup come with bundle with zist generally what happen when we start writing a test cases we look for a testing but basically your react script package that you have created or the sca folding that you have created is actually come with the zest package inbuilt so you don’t have to install a zest but apart from that we have to install certain other things so now we have to a test with the say snapshot integration with reducer so let’s perform that this is our application that we are working in the Redux on this application I’m going to do some testing first of all I’ll open that in vs code let’s go there now particularly in the vs code so I’ll open our folder and we have to install certain packages for this although as we know zest is by default in built but apart from zest we’ll install certain packages so first of all let me open our folder our application is already running so I’ll stop that and let me install some package there with my command prom I’ll open that I’ll stop it manually and first of all you have to install npmi react test renderer and we need enzyme adapter react so I’ll write enzyme adapter react 16 apart from that as zest is by default there we just need one more enzyme so we need three package one is enzyme one is enzyme adapter react 16 and one is react test render so we install that now while it’s installing we’ll proceed with our next part now it install so we can go back to our application here whenever we have WR any test case so in the SRC folder we have one test folder I’ll do one thing I’ll delete this test folder and write a fresh test folder for us and the test folder should be name as underscore uncore testore uncore now here first of all let’s do a oneof a component testing so if we go back to our component we have one footer component let’s test this component we’ll verify that is that component is as expected or not what we’ll do we’ll make a one Json tree for that and then with that Json tree we’re going to use it it should be a part of our test folder component. test.js so remember one thing your file name should always add with means have test between that and see the color difference also there because it detected that’s a test code now you have to import react here import react from react then you have to import footer first of all from dot slash at least should be do do slash it’s a twofold route component slash footer then we’ll import create that is coming from react test renderer now what we’ll do is we’ll let have one describe keyword so we’ll describe what this test Cas is all about I’ll say it’s a snapshot test for footer now after that we’ll call that function Arrow curly braces we WR test it should be test and we’ll write testing footer anything you can say here it’s a name by which we test what this test case all about after that bracket Arrow curly braces we’ll say let tree equal to create so create footer we’ll make our one Json of footer then after that what is expectation my expectation is 3.2 Json to match snapshot if it match snapshot test case pass else test case fail to match snapshot like this now how to run it just go back to a command prompt and simple run a command npm run test if the test case pass it will show you pass else it fail if the test case pass it is see automatically pick that now spelling mistake is there see it automatically able to pick my test file now it’s running test case pass and your snapshot created in case if I go back and make change in a footer say urea n anything now the test case will fail because it’s not matching the required criteria if I go back and make it back it will work suppose your requirement is that suppose requirement got changed now I want to update my test case because it’s once created it keep on failing so what you can do is as you have this test you can add the update test like this test update upate react script test and update snapshot the second way that you can do now here I’ll add one more test case I’ll say one we did for our component test now we’ll do reducer so I’ll pick that test case and I’ll walk you through how exactly it work now I have a more test for reducer in this I import reducer first of all see what reducer is returning we have to run a test case according to that right now my reducer is returning article and gallery and I test case expectation is same it’s say initial State should be article and gallery later on when we actually pass that particular I’ll say action it should return array so how exactly we can do that so this is where are two test case One initial State one when we pass the action if I go back and I run this see this time three test case and all three pass as it returning me object initially after calling action we got array so now we’re going to talk about maintaining code using G see what happen when n number of developer are working in the application everybody have to sync their code because it’s not possible like one day we give one folder to someone and then they will update that folder they give us back it’s not possible the reason for that is till what extent you keep on doing like this you always have to work in the way that you always upload the code somewhere and those who need the code they will download the code and the code should be keep on in syn now to achieve this functionality we use the GitHub so with the GitHub it become in the way that we can share our code very easily so Version Control is one that record changes for document computer program large website and other collection of information over time it allow multiple user to manage multiple revision of same unit of information it is used to maintain the record of different versions of code the most popular tool used as Version Control control is git why should we use git git is a open source distribution control system for tracking change in source code during software developer snapshot get change made to file rather than itself that mean if file is not changed it is not stored again distribution every user have his own copy which store data locally basically what happen we have a data locally and from there we push fast operation almost every operation on a gate is local hence the speed off by get is lightning fast compared to other tools Branch handling every collaborator work directly in the separate Branch basically if I have something to push I’ll push in my own separate Branch rust nearly every task in get is recorded and hence hard to lose any data the git workflow is like that use git flow to manage your project efficiently work with set of guidelines increase G consistency and popularity if I talk about one by one that Repository is a server where all the collaborator upload change made to the file then local repositor is a copy of database the user all the data file locally through push then working copy is a space where user active directory the user modify existing file and create new file in the space then staging area is a place where all the modified file are marked to be committed our place commit command commit all the file in the staging area to local Repository and push command move all the data in the local repository to remote repository when we do fetch fetch collect the change in remote repository and copy them to Local repository whereas a pull pull the latest change in the code so let me show you how exactly we can push pull the code in the GitHub now for doing that what we’ll do is so let’s go here so this is my GitHub if I want to make any new repository where I can push the code what I’ll do is I’ll go here click on the icon and say Eda like that after that I’ll create one repo now one repository by name of edria created it give me this five commands so now what I’ll do is on my local system I’ll make one folder from where I want to push any code suppose it’s my local system it don’t have anything suppose I’ll take few files here three files I pick I’ll move these three files here now I want to push for a Windows system you need to have a g bash which is already there in this machine right click G bash here we write one by one command the very first command is git in it basically we initialize the git in this folder sorry let me minimize it first of all we minimize the code in this folder like say I’ll say git in it this will initialize the git in this folder I say your hidden folder will be created once you do like that your hidden folder will be created in the gate so let me actually close this one and if I go to view know and I say hidden files item see one get folder created right then you have to add all the code a get add then you write get commit it will commit all the code in a local repository write some command so it say that you’re pushing it first time so you have to set your Global username and password so how we’ll do is we’ll say get config the very first time you’re doing from system you do like this get config hyphen hyphen Global we’ll say user . email so I’ll add my email ID here you have to give the email ID by which you have signed up on the G I’ll add that email ID here it’s wrong email id id you will not take it then then I write here my username of this that is aash developer get config minus minus Global and then I have to say user.name and that is Akash developer like this and now it’s set now you try to commit the code it say still something is missing although we have already done that so it’s actually helped to set a global username first of all let make sure we’ll say get config Hy Global user. email now it is done and then user.name now see it’s committed after that in whichever Rao you want to push you have to pick that path of the trpo like this so I’ll go back and particularly paste it and enter at that and we’ll say get push minus U origin Master like that now this will push the code to this repo tomorrow if anything new want to push just three command get add get commit and get push ask my username and a password I’ll enter that so guys means first time you push like this next time when you want to push you just write get add get commit and get push that’s it now it’s done so see it’s pushing that code if you go back to get your code is pushed next time also get add get commit get push now suppose I open any file and some edit there I write here aast developer or I write something different say developer funnel like that anything I can write here now once I write and I commit the code so suppose some other developer already pushed some code there now what you have to do in your G you will write get pull so the latest commit what whoever made is pulled see creating a remote repository we have already seen how exactly we add the code to the G so we already in the last demo we have created that repo we have given a name and we created that now to push the code we need to have our get bash after that we did get in it then we config that after that we added the remote where you want to push and then we committed that code once it commit it goes to the master Branch after that that suppose if I have to take some different branches like so remove the code we’ll say get RM and the file name get cache or the error showed up if you try to delete the stage file you can force delete by adding minus F to that I’ll show one more thing here suppose I want the two developer are working we can make a branch also we’ll say get checkout minus B checkout now what this will do it make an separate Branch for that I’ll say new feature any name I can give like this now if I add add some file in the folder suppose I’ll create one new file in the folder random file now when I push this s I’ll say get add get commit then get push in that Branch get push minus U origin and the branch name that is new feature that Branch name enter wrong and plus get command was wrong so I have to correct that both the things now this time it’s going to push in separate branch and see on the git we get something in terms of like pull request so what we do in real time we say compare pull request if everything’s look good we can add the reviewer and create that once you read the pull request your reviewer will review the code if they find everything fine they merch so what happened once they confirm merch your both the branches got merch but you’ll see two Branch [Music] here so starting with answering who is a react JS developer reactjs developers design and Implement user interface components for JavaScript based web and mobile applications using the react open-source Library ecosystem these skilled front-end developers are involved in all stages of interface component design from conception to final testing from conception to testing a topnotch react developer can help build interactive components for websites or web applications using the react development Concepts today more and more Enterprises benefit from reactjs a testament to its bouring popularity in software development some of the high traffic websites that use react are Instagram Uber Facebook Twitter Reddit Etc along with the upswing in react usage is the surge in demand for a reactjs developer a highly skilled react developer is involved in the entire stages in the development and maintenance of user interface components a react developer is responsible for Designing and implementing UI components for JavaScript based web applications and mobile applications with the use of open-source Library infrastructure these developers are a part of the entire process starting from conception to the major testing process and follow popular reacts workflows like flux and Redux reactjs developers are front-end developers who build modern-day UI components to improvise applications performance they leverage their knowledge about JavaScript HTML CSS and work closely with testers designers web designers and project managers to create a robust and effective application so I can sum up as reactjs developers are also known as front-end developers who design and Implement user interface components for JavaScript based web and mobile applications using the react open-source Library ecosystem now moving ahead I’m going to discuss the job opportunities for a react GS developer there are thousands of jobs in the world which demand reactjs skills talking about the numbers there are more than 43,000 jobs available on LinkedIn alone in India for react as compared to 2019 there has been 184% of increase in the openings for react GS developers in the year 2020 according to India Today a quest report States after covid-19 that is in 2021 reactjs developer is one of the top digital skilled jobs in demand this quite a huge number of job opportunities makes react one of the skills most of the application developers want to learn and secure a good job moving ahead let me discuss the salary trends of a reactjs developer of course of course salary is important today react has the best pay scale on most of the job suggesting websites like LinkedIn glass store pay scale Etc reactjs developers salary depends on multiple factors like years of experience different roles held over time level of expertise special skills training and certifications and also the geographic locations the average salary for a reactjs developer in India is 79,81 92340 now as I’ve told the average salary for a reactj developer in India is [Music] 79,80 K for frontend developer or engineer the average salary of 650 4K for software engineer and the average salary of 1 million for senior software engineer now moving ahead let me show you the job description which have been posted on different job suggesting portals by top organizations so first for example we have Tech Mahindra the designation is react developer and the locations are Bengaluru Hyderabad and Chennai in their job description they have mentioned the skills required for the candidate it includes btech is a must mte or MCA with relevant experience so they are talking about the graduation and the degree which is required talking about the react skills so as you can see they need a react developer with front-end technology with Redux or d3.js experience they need a candidate which has strong Proficiency in JavaScript including Dom manipulation and the JavaScript object model the candidate should have thorough understanding of react GS and its core principles and experience with popular react GS workflows like flux or ruxx the candidate should be familiar with newer specifications of ecma script which are known as like es6 es7 es10 Etc and restful apis the candidate should be familiar with modern frontend built pipelines and tools and should have the experience with common frontend development tools such as Babel webpack npm Etc the candidate should have the ability to understand business requirements and translate them into technical requirements and familiarity with code versioning tools such as git SVN Mercurial and similar and the candidate should have a knack for benchmarking and optimization if your skill set is matching to this job description you are good to go now let’s see one more job description from EX censure where their designation is reactjs application developer and the location is Bengaluru they require be or preferably certified as technical architect associate they need a full stat developer who has worked with react spring boot or Java microservices the candidate should have an experience of one year on most of react GS bootstrap engin Docker weback J or JavaScript and for backend the candidate should have minimum one year of experience on nodejs python AWS Lambda darker just unit test or P test and the candidate should be a developer with one to two years of experience and a passion for Quality good design and

    clean code so if you are matching this criteria you are good to go for this job so as you have seen some of the job descriptions from different companies now I think you have an idea how to prepare for the jobs for reactjs developer now moving ahead I’m going to discuss the skills required to become a reactjs developer as we have seen in the job descriptions as well so I’m going to explain those skills now starting with basic programming and development skills which include HTML CSS JavaScript reactjs G HTTP protocol and terminal talking about HTML and CS no front-end developer is a stranger to HTML and CSS the ability to work with and craft user interfaces is necessary to every organization at a high level react developers should be able to work with and write centic HTML tags work with and write CSS selectors Implement a CSS reset understand the Box model and how to reset to border box understand Flex box and work with an implement responsive web principles including the proper use of media queries talking about the JavaScript fundamentals including es6 you can’t rock react without a firm understanding of the fundamental concepts that the JavaScript language provides but these es6 skills are also essential which include variables and scoping arrays and objects array methods functions and arrow functions in react every single component you build is a function in one way or another remember that classes are just Constructor functions under the hood regardless of the syntax you are using when building functional components or class components you are using some form of a function and then comes the react this is the main deal you got to learn react and learn it well to become a react developer while learning react you should focus on the topics like routing GSX Etc talking about GSX in react you never really touch HTML proper you work with a syntax extension that is truly one of the most remarkable part of the react ecosystem that is jsx jsx looks so much like HTML you may think of it as HTML flavored JavaScript what’s cool about jsx is that if you know HTML and CSS you intuitively know how to work with jsx jsx is an abstraction on top of the react. create element API one re reason it is vital to the library and why the react team chose to go with it in the first place is that the API would be too cumbersome to use in terms of scaling one potentially could use react. create element to build out an entire application however this wouldn’t be any more efficient than just using HTML proper it may feel at first that we have taken a step backward by adding our markup into our template logic however a few quick minutes with GSX and you will be hooked on the style and now we have new jsx transform as well so you can explore that as well in react you should learn Dom manipulation and event handlers the disc keyword higher order functions and call back functions prototypal inheritance and object creation and the class keyword it doesn’t matter whether you are a front-end developer or a backend developer or even a full stack software engineer you must absolutely know get in 2021 try creating a few repositories on GitHub share your code with other people and learn how to download code from GitHub on your favorite ID git is essential to every developer toolkit for storing projects on Solutions like GitHub bitbucket and gitlab and the skills that should just be part of your day-to-day include tracking changes with ADD commit push and pull branching and merging strategies and handling merge conflicts you should know https protocols like if you want to become a web developer then it’s an absolute must to know HTTP and know it well I’m not asking you to read the specification but you should at least be familiar with common HTTP request methods like get post put patch delete options and how HTTP and https Works in general and you should learn the terminal as well though it’s not mandatory for a frontend developer to learn Linux or terminal I strongly suggest you to get familiar with the terminal configure your shell which includes bash zsh CSH Etc while I’m talking about the skills so you should also be familiar with the build and State Management tools which include node node may be a surprise to many like why would you need to know how to work with node in order to be a client side react developer so the answer is high server load using node with react makes sense when you web application needs handling of multiple requests and maintaining server load balance and react developers need to have a solid understanding of the npm registry this is the place where software developers can go to get software to help them build software sounds funny but truly that’s all the npm is a cloud storage for packages we call dependencies and as you can see on the screen I have mentioned npm or yarn so Yar is a package manager that is built to utilize the npm registry Yan actually optimizes your npm workflows Yar and npm somewhat compete today but the mission of Yar has been to solve a lot of problems that are accepted in the node npm ecosystem npm has been doing everything it can to follow the patterns and practices that yarn presents then comes create react app so it is like a quick start to create a react application you can just install create react app and you can just start with the default application you can add the components in that you can make the changes and you can get your react application ready then comes the web pack and Redux so react has built in State Management and many developers have been bored along the way by discovering the asynchronicity of State updates and how react handles them for that reason and for scalability Redux Wass born Redux is a state management library and more it’s not a framework but an opiniated way of working with data the principles behind Redux are along the lines of functional programming and immutability but it’s not a one- siiz fits all solution mastering the concepts of fundamental react programming prior to diving into Redux is key then comes Redux tongue which is a middleware and comes the flux so flux is also a workflow like Redux so you can choose whether to use Redux or flux depending on the requirement now talking about other utilities like API clients server side rendering tools and testing libraries so in today’s world you will rarely build an isolated GUI that is graphical user interface instead there is more chance that you will build something which communicates with other application using apis like rest and graphql thankfully there are many API clients available for react developers which include rest rest API actually in that we have fetch super agent Etc then we have graphql which includes Apollo relay urql Etc then talking about the server side rendering tools you might be thinking what is the difference between server side rendering and client side rendering let’s clear that before talking about the library which supports server side rendering with react well in client side rendering your browser downloads a minimal HTML page it then renders the JavaScript and fills the content into it while in the case of serers side rendering react components are rendered on server and output HTML content is delivered to the client or browser for server side rendering you can learn next.js or after. JS or roll but I suggest learning just next.js should be enough and testing is one of the important skill for react developers which is often overlooked but if you want to stay ahead from your competition then you should focus on learning libraries which will help you in testing for unit testing you can go for just enzyme sonon moocha Ava tape Etc and for end to end testing you can go for selenium web driver cucumber. JS Etc and for integration testing you can go for karma you can learn the library you want but gist and enzyme are recommended and I want to add up one more thing for virtual reality if you are interested in building virtual reality based application then also you have some framework like react 360 which allows you to exciting 360 and VR experiences using react so if you are interested in that area you can further explore react 360 now comes the soft skills so to become a reactjs developer or any software developer be it front end or backend some of the soft skills are always required by the companies which include competence to translate business needs into technical requirements time management project management communication and interpersonal skills capability to write crisp and clear code problem solving and troubleshooting skills creativity and accountability open-minded team player willing to accept feedback and offer suggestions Etc and you should be having willingness to learn modern-day tools and processes as everything updates very quickly in today’s world and then as you can see on the screen I have mentioned UI and ux so as a frontend developer you must be familiar with the UI and the ux part of the application now I’m moving ahead with the road map to become a react GS developer so to become a reactjs developer you should follow a road map in which you should be familiar with the programming and in programming the skills which I’ve already mentioned you should learn those and then comes a reactjs which is the basic or the main thing which you should be familiar with then you should be completing some of the projects and you should be familiar with tools and utilities which are supporting reactjs and you must have graduation degree and accordingly you can go for the certifications as well which are mentioned in the job description in the particular company for which you are going to apply and also if you are not a fresher you should have the relevant experience as well and to to become a reactjs developer you should set some of the timeline or some deadline within which you will complete all the learning you will attain the required skill set to become a react GS developer the skills which I have mentioned you can go for that so you can attain strong Proficiency in JavaScript object model Dom manipulation and event handlers data structures algorithms jsx and Babel then you can go for understanding reactjs and it’s Main fundamentals like jsx virtual Tom component life cycle Etc you should be proceeding experience with reactjs workflows like flux Redux create react app data structure libraries Etc you should understand the restful apis or graphql HTML CSS es6 code versioning tools like git SVN Etc then popular frontend development tools cicd tools devops performance testing Frameworks like moocha just then you can go for node plus npm and you should have preferred degree in computer science information technology or similar and to help you out to attain all these skills in a proper manner I have some suggestions like you can go for eda’s reactjs certification training course so in this training course you will be trained to build efficient react applications by mastering the concept CS of react Redux and react native as well in this react course you will learn how to build simple components and integrate them into more complex design components and after completing this react online training you will be able to build the applications using react Concepts such as jsx Redux asynchronous programming using Redux Saga middleware fetch data using graph ql perform testing using chest successively deploy applications using ngx and Docker plus build mobile applications using react native and also you can go for react documentation whenever you have any doubt or whenever you are stucking somewhere and you can go for GitHub there so many projects are available which you can clone or take help to build your own and if you have any doubts for which you need some answers you can go for GitHub as well now moving ahead let me discuss the roles and responsibilities of a reactjs developer a skilled react developer makes it painless to create high quality web applications with elegant uis using the react Library reactjs developers bridge the gap between the visual aspect and the server s side component they take a proactive role in streamlining the look and functionality of the applications as an efficient reactjs developer he or she is supposed to perform certain defined roles and follow respons responsibilities to get the best of results here are the major ones that any reactjs developer is supposed to follow Leverage The inbuilt react toolkit create data visualization tools libraries and reusable code for prospects integrate designs and wireframes within the application code monitor interaction of users and convert them into insightful information write application interface code with JavaScript enhance application performance with constant monitoring translate wireframes and design into good quality code optimize components to work seamlessly across different browsers and devices good understanding of CSS libraries git Sigma Adobe XT Etc proper user information authentication and develop responsive web- based UI and if I talk about non-technical roles and responsibilities so it includes constant interaction with other developer teams and design team to discuss UI ideas a thorough review of applications needs and interfacing elements and follow proper documentation for changes in application and further updates now let me discuss why is reactjs in demand reactjs being a multi-layered library has been a key Delight for developers and organizations alike reactjs developers Have Been instrumental in assisting business owners to to focus on their Core Business areas without having to bother about other it related activities this has helped big time in enhancing client satisfaction some of the features of reactjs which have increased the demand of reactjs are flexibility reusability strong documentation and Community Support fast rendering single page loading and easy debugging so when I talk about flexibility it is especially visible when it comes to the use of react for web development when we talk about react’s flexibility we refer to the libraries innate modularity as we know react’s architecture allows bundling frontend code into custom components this providing a solid foundation for the overall development process optimization reactjs allows you to write clean modular code breaking the project into separate components as a result when code is modular it gets easy to maintain and scale react is super flexible in the sense that it can be integrated with other third-party libraries and MVC Frameworks you can choose to create a react project from scratch or gradually introduce react to your existing code base and when I say reusability react doesn’t require big lines of codes to program an application in react we say that everything is a component a user writes small codes called components and combines them to form another component simply any app made with react is a tree of component so react follows right once and use it anywhere principle then comes strong documentation and Community Support being an open source Library react has what it takes to keep attracting more and more New Comers to its Community which makes it only stronger over time as of today react is one of the five top rated repositories on giab with over 170k stars and over 5 million applications publicly admitting to using it react has a rich ecosystem to benefit from or contribute to besides finding one’s way around all this information won’t be a big challenge as the react documentation can be easily found on the official website the community is active so you can get rapid feedback or response to your inquiry once you feel stuck currently on stack Overflow there are over 14 million questions tagged react GS that have at least one accepted answer so once you encounter a problem chances are someone has already had same problem and there is a solution to it so that you will only have to copy paste it from the corresponding discussion thread talking about the fast rendering so react is a client side JavaScript library that uses server side rendering react’s virtual Dom is basically the prime cause of faster rendering and the better performance of react apps and this react virtual D serves as a layer between how things are supposed to look and the actual processes happening to render all of those things onto the page and the single page loading so due to the single page loading with the help of virtual term this fast rendering is achieved and then we can talk about the easy debugging in react props and estate are the bread crumbs like when something goes wrong it is important that we have breadcrumbs to trace the mistake take to its source in the code base and if you see something wrong on the screen you can open react div tools and find the component responsible for rendering and then see if the props and states are correct if they are you know that the problem is in the component’s render function or some function that is called by render function the problem is isolated if the state is wrong you know that the problem is caused by one of the set State calls in this file this two is relatively simple to locate and fix because usually there are only a few set ofate calls in a single file and react results in not only easy debuggable code but also highly testable applications with the help of chest or enzyme Etc now let me discuss the future of react GS developers reactjs developers surely have a promising future since reactjs is showing no chances of turning back as you must have seen the requirement for reactjs developers on different jobs suggesting portals and on LinkedIn itself we have 43,000 and more jobs for reactjs developers we have 170k stars on GitHub so many requests for the applications and more than 90,000 live websites are using reactjs and a lot of organizations have started migrating to react so they definitely need more and more RS developers now as compared to other peer comp competitors react CH developers are being paid heavily and are in demand Facebook and the entire Community have been trying hard to keep enhancing the effectiveness and speed of reactjs hence it is imperative that reactjs will keep fighting the competition hard and come out as a winner newer updates and ways of rendering are expected soon the way it is growing the demand for reactjs developers is exponentially higher to sum up I would say the word is unquestionably changing in Rapid and dramatic ways and the demand for reactjs developers is going to keep increasing for sure now after discussing a lot of things and addressing a lot of questions I hope you have got the idea how to become a reactjs developer from where to start how to start what skills are required why those skills are required Etc all these questions have been addressed [Music] I will discuss the questions on four topics of react which are being frequently Asked in react interviews the topics covered today are react GS Basics or the general react then reactjs components then we have reactjs Redux and reactjs router now starting with the general react questions so the first or the basic question on react is what is reactjs to answer this question I would say reactjs is an open-source frontend JavaScript library which is used to build user interfaces and handle view layer for web and mobile applications it follows a component based approach the react package contains only the functionality necessary to Define react components and it is typically used together with a react renderer like react Dom for the web or react native for the native environment now here when I talk about component based approach so everything in reactjs is a component so what happens is these components can be reused they can be placed wherever required so we can just write it once and use it anywhere and any time now even though react was open sourced only in 2015 it has one of the largest communities supporting it moving to the second question that is what are the features of reactjs to answer this question I would say the major three features of reacts JS because of which reactjs is known are virtual Dom server side rendering and unidirectional data flow or data binding it’s talking about the virtual Dom that is actually the virtual data object model a virtual Dom is a lightweight JavaScript object which originally is just a copy of the real Dom it is a node tree that lists the elements their attributes and content as objects and their properties reacts render function creates a not tree out of the react components it then updates this tree in response to the mutations in the data model which is caused by various actions done by the user or by the system talking about the serers side rendering when I say serers side rendering which means using a server to generate HTML from JS modules in response to a URL request that’s in contrast to client side rendering which uses the browser to create HTML using the Dom server side rendering with JS or react Works similarly to other server side languages now when I say unit directional data flow data binding so in react data flows in a single direction that is from parent components to child components which helps in data binding and it makes the application and the code predictable and more debuggable moving ahead with the next question which asks list some of the major advantages of react talking about the advantages of react so it increases the application’s performance it can be conveniently used on the client as well as server side because of jsx cod’s readability increases and react is easy to integrate with other Frameworks like meteor angular Etc and using react writing UI test cases becomes extremely easy now let’s move ahead to the next question which asks what are the limitations of react talking about the limitations of react react is just a library not a full-blown framework and its library is very large and takes time to understand it can be a little difficult for the Novis programmers to understand and coding gets a little complex as it uses inline templating and jsx now the next question is what is jsx so jsx is basically shorthand for JavaScript XML this is a type of file used by react which utilizes the expressiveness of JavaScript along with HTML like template syntax this makes the HTML file really easy to understand and this file makes applications robust and boost boost its performance now let’s see the next question which is what do you understand by virtual dor explain its working so as we have discussed in a previous question also about virtual domor a virtual domor is a lightweight JavaScript object which is just the copy of the real Dom it is a notary that lists the elements their attributes and content as objects and their properties react’s render function creates a not Tre out of the react components it then Updates this tree in respon responds to the mutations in the data model which is caused by various actions done by user or by the system and this virtual Dom Works in three simple steps which are whenever any underlying data changes the entire UI is rendered in Virtual Dom representation then the difference between the previous Dom representation and the new one is calculated and once the calculations are done the real Dom will be updated only with the things that have actually changed so here a kind of patch work is done as you can see in the picture also moving ahead with the next question that is differentiate between real Dom and virtual Dom when we compare real Dom and virtual Dom we find the differences like real Dom updates slow while virtual Dom updates faster real Dom can directly update HTML while virtual Dom can’t directly update HTML real Dom creates a new Dom if element updates while virtual Dom updates the GSX if element updates so that’s why real Dom is comparatively slower than the virtual Dom because in real Dom every time any element gets updated a new Dom is created while with react which uses virtual Dom whenever any element gets updated only the js6 part gets updated now the next difference is Dom manipulation is very expensive in real Dom because every time you have to create the new Dom while Dom manipulation in react that is virtual Dom is very easy and real Dom results into too much of memory wastage while virtual Dom results in no memory wastage at all the reason we know because every time new Dom is created whenever any element gets updated while with the help of virtual Dom in react only the GSX part gets updated with the update in any element now moving to the next question which asks why can’t browsers read GSX browsers can only read JavaScript objects but jsx is not a regular JavaScript object thus to enable a browser to read jsx first we need to transform jsx file into a JavaScript object using jsx Transformers like Babel and then pass it to the browser now let’s move ahead with the next question that is what is jsx transform as browsers don’t support GSX the compilers like Babel or typescript are used to transform GSX into regular Javas script object which is understood by the browsers as we have seen in the previous question now jsx transform automatically compiles the jsx source code without having to rely upon the typical compilers with the new transform jsx can be used without importing react and according to the setup its compiled output slightly improves the bundle size as well now let’s see the answer for the next question which is how react syntax changed from es5 to es6 so as you can see on the screen the code snipp it for es5 and es6 so in es5 we use react. create class and which we initialize in a variable for example here we have taken my component but in es6 we just make use of classes and we make use of extend keyword and the syntax is class the name of the component my component or the class my component extends react. component so the major difference between es6 and es5 is in es5 we make use of create class while in es6 we make use of react. component now let’s move ahead with the next question that is how errors are handled in react so talking about the error handling in react the most distinctive and react specific type of error handling is what is known as error boundaries so error boundaries are react components that catch JavaScript errors anywhere in their child component tree log those errors and display a fallback UI instead of the component tree that crashed error boundaries catch errors during rendering in life cycle methods and in Constructors of the whole tree below them now let’s see the next question that is what are the limitations of error boundaries in react so talking about the limitations of error boundaries error boundaries do not catch errors for event handlers asynchronous code that is set a timeout or request anim frame callbacks for server side rendering and errors thrown in the error boundary itself rather than its children now let’s see the next question that is what are the features introduced in es7 so ecma is script 2016 or es7 introduced two new features that are array.prototype do includes function and the second one is exponentiation operator talking about array.prototype do includes function so it checks the array for the value passed as an argument it returns true if the array contains the value otherwise it returns false earlier we needed to use array. prototype. index of function to check if the given array contains an element or not talking about exponentiation operator so ecma script 2016 or es7 introduced the exponentiation operator that is double Aster it has the same purpose as math. power function it Returns the first argument raised to the power of the second argument moving to the next question which asks list some of the features of es10 so this is the latest version of ecma script so the features introduced in es10 include optional cach binding object. from entries array. flat function array. flat map function Dynamic import Global this object now the next question is how is react different from angular so talking about the differences between react and angular we see on the basis of architecture react is only the view of MVC that is model view controller while angular is complete framework for MVC that is model view and controller talking about the rendering so react supports server side rendering while angular supports client side rendering talking about the Dom that is data object model so as we have seen earlier also react uses virtual D and we have seen the advantages of using virtual Dom while angular uses the real Dom talking about the data binding react uses oneway data binding or the unidirectional data flow while angular has two-way data binding or the bir directional data flow talking about the debugging react supports compile time debugging while angular supports runtime debugging and talking about the author or who owns react and angular so react is owned by Facebook while the author of angular is Google with this we have seen some of the frequently asked questions and answers based on General react now moving ahead let’s see the questions based on react GS components so starting with the first question based on reacts components what do you understand from in react everything is a component to answer this question I would say components are the building blocks of a react application UI so everything in react is a component and these components split up the entire UI into small independent and reusable pieces then it renders each of these components independent of each other without affecting the rest of the UI and these components can be JavaScript functions which takes in arbitrary inputs and returns HTML representation now let’s see the next question which asks what is the purpose of render function in react or explain the purp purpose of render function in react to answer this question I would say each react component must have a render function mandatorily it returns a single react element which is the representation of the Native Dom component if more than one HTML element needs to be rendered then they must be grouped together inside one enclosing tag such as form group div Etc this function must be kept pure that is it must return the same result each time it is invoked moving to the next question that is how can you embed two components into one so as you can see on the screen we have one code snippet we have embedded two components with the help of class then the component name or the class name then using the keyword extends and we made the use of react. component with this syntax as you can see on the screen we are embedding two components into one so there are two components the my component and header component moving to the next question that asks what are props in react so Props is basically the Shand for properties in react they are readon components which must be kept pure that is immutable and they are always passed down from the parent to the child components throughout the application a child component can never send a prop back to the parent component and this helps in maintaining the unidirectional data flow or the data binding and are generally used to render the dynamically generated data moving to the next question what is a state in react and how it is used talking about the states so states are the heart of react components states are the source of data and must be kept as simple as possible basically states are the objects which determine components rendering and behavior they are mutable unlike the props and create Dynamic and interactive components and they are accessed via this do state function moving to the next question which is differentiate between State and props so while comparing State and props we find the differences like in state and prop both receive initial value from parent component while in state parent component cannot change value while with the help of prop parent component can change the value and we can set default values inside the components both in state as well as in props in state we can make changes inside the component but with props we cannot make the changes inside the component and we can set initial values for child components in both state as well as in props but changes inside the child components cannot be made in state while in prop we can make the changes inside child components now moving to the next question which asks how can you update state of a component now here you can see a code snippet so basically the answer for this question is we can change the state or we can update the state of a component by making the use of this do set State function and as you can see on the code snippet as well earlier here name was Max and ID was 101 then again in render function we’ll make use of set State basically this do set State function and inside that we can change the value or we can update the state of the component so here we are making the change in the value as you can see over here we are updating it to jaha and id2 triple2 now moving to the next question that is should we update the state directly so to answer this question we should not update the state directly and why we should not update the state directly because if we update the state directly calling the set State function afterward we just replace the update we made made and when we directly update the state it does not change this do state immediately instead it creates a pending State transition and accessing it after calling this method will only return the present value and we will lose control of the state across all the components so that’s why we should not update the state directly moving to the next question that is what is Arrow function and how it is used Arrow functions are more of brief Syntax for writing that function expression they are also called fat Arrow the functions it is symbolized with equal to and greater than symbol now these functions allow to bind the context of the components properly since in es6 Auto binding is not available by default and arrow functions are mostly useful while working with the higher order functions or HFS as you can see in the picture as well without Arrow function and with arrow function without Arrow function we were making use of this do handle change. bind while with aror function we have just made use of this symbol that is equal to and greater than and then we made use of this dot handle on change no need for bind and all now moving to the next question that is how do you reference a Dom element it is a pretty simple question and answer to this question is also very simple and crisp that is an object this do refs that is this do RFS which is found as an instance inside the component can be used to access Dom elements in reactjs now moving to the next question that is what is the use of e do persist function answer of this question is nothing e persist function does nothing because e do persist function was used in event pooling but with react 17 event pooling has been completely removed but this e do persist function is still available on the react event object but now it doesn’t do anything now moving to the next question which asks what do you mean by event pooling as we have seen in the previous question that event pooling has been removed from react 17 but we should know what is event pooling because this question has been frequently Asked in interviews so the synthetic event objects were pulled this means that the synthetic event object would be reused and all properties would be nullified after the event handler has been called now for example you can see the code Snippets available here so earlier when event pulling was supported in react the first snippet as you can see over here this would not work because the event object gets reused but with the help of e do persist function this code works because it prevents react from resetting its properties but this is the case before react 17 now event pooling is not supported by react now moving to the next question what are react hooks so react hooks are functions that let us hook into react State and life cycle features from a functional component so what is this hook into actually these functions let us use the react State and life cycle features from a functional component and react hooks Cann not be used in class components they let us write components without the class now moving to the next question question when and why hooks were introduced in react react hooks were introduced in the 16.8 version of react or react 16.8 earlier functional components were called stateless components and only class components were used for State Management and life cycle methods the need to change a functional component to a class component whenever State Management or life cycle methods were to be used led to the development of hooks now moving to to the next question that is do you know any of the techniques to optimize react app performance so there are many techniques to optimize react app performance but some of them are using use memo function using react. pure component and maintaining state collocation so when I say using use memo function so it is a react hook that is used for caching CPU expensive functions sometimes in a react app a CPU expensive function gets called repeatedly due to reenders of a component which can lead to slow rendering now this use memo function who can be used to cat such functions by using use memo the CPU expensive function gets called only when it is needed talking about using react. pure component so it is a base component class that checks the state and props of a component to know whether the component should be updated instead of using the simple react. component we can use react. pure component to reduce the reenders of a component unnecessarily and ultimately it optimizes the application performance and when I say maintaining state collocation so this is the process of moving the state as close to where we need it as possible sometimes in react application we have a lot of unnecessary States inside the parent component which makes the code less readable and harder to maintain not to forget having many states inside a single comp component leads to unnecessary reenders for the component and it is better to shift states which are less valuable to the parent component to a separate component now moving to the next question what is lazy loading lazy loading is the feature introduced in react version 16.6 which allows for some components to load later than the other components this way we can load the components which are fast like text earlier and the components which load later like images later it is also Al referred to as code splitting and data fetching moving to the next question what is a fragment in react a common pattern in react is for a component to return multiple elements but fragments let us group a list of children without adding extra nodes to the Dom while rendering multiple elements will require a div tag around the content as the render method will only render a single root node inside it at a time so in react 16.2 fragment were introduced and we use them instead of extra div tags and all so as you can see in the code snippet available on the screen in place of using div tag we are just making use of react. fragment and inside this you can see this child a child B CH see these are basically the elements now moving to the next question which asks what is set State function so set State function allows us to change state in a react class component as we have seen in a previous this question we were making use of this do set State function right and the set State function enqs change to the component State and tell react that this component and its children need to be rendered with the updated State this is the primary method you should use to update the UI and set a state does not always update the component immediately instead it may defer the update until later for better performance and the Syntax for this function as we have seen in the previous question also here set State and in the braces we can give the updator or the call back we can pass it as the argument moving to the next question that is what is use State function so the use State function is a react hook that allows to have a state variables in functional components the use State Hook is a special function that takes the initial State as an argument and returns an array of two entries moving to the next question what do you mean by Contex in react so the react context API is a way for a react app to effectively produce Global variables that can be passed around this is the alternative to prop drilling or moving props from grandparent to child to parent and so on a new type of context can be created using react. Create context API and this context API is added in version 16.3 of react that allows one to share state across the entire application or part of it lightly with ease moving to the next question what do you mean by prop drilling so prop drilling can be defined as a process and react application where props are passed from one part of a tree to another by going through other parts that do not need the data but only help in passing it through the tree and it is also known as prop threading now I give it over to Mr asho to take you through the more questions on react components react Redux and react router what are the differences between State full and stateless components this table is showing the differences so stateful components are those which stores information about component State change in memory stess they calculates the internal state of the components stateful components they have authority to change the state as the name suggest stateless components cannot have authority they do not have authority to change the state if I talk about stateful component they contains the knowledge of past current and possible future changes in state stateless components they contains no knowledge of past current and possible future State changes stateless components notifies them about the requirement of the state change then they send down the props to them stateless component if I talk about they receive the props from the stateful components and treat them as call back functions so this table is very important it’s a very general question again asked nowadays in reactjs interviews that what is the difference between stateful and stateless components what are the different phases of react component life cycle in a very interesting one so as we all know that there are four phases so here I’m defecting the three phases and initial phase which are mostly used the updating phase one is the mounting phase and another one is the unmounting phase we can amalgamate the two in one so now it becomes three so initial phase updating phasee and unmounting phase as you can see on the screen every phase is having their own methods which are working in a particular order or this particular priorities so initial phase is having the function as get default props get initial State component will Mount render and component did Mount if I talk about updating phase these are the methods or functions available in the updating phase again it is had render if I talk about the unmounting phase so unmounting phase has a function called components will unmount so these are the various life cycle methods I will say these are called the life cycle methods in reactjs which we need to have so that whatever props or components we are using they gets mounted and unmounted accordingly explain the life cycle methods of react components in detail if I talk about the life cycle methods which we just saw in the previous slide that what are the life cycle methods in react so these are the various methods which we generally use component will mount it gets executed just before the rendering both on client and server side component did Mount it is executed after first render only on the client side the other one is component will receive props it is invoked as soon as the props are received from parent class before another render is called the other method or the life cycle method is should component update it returns true or false value based on certain conditions if you want your component to update return true else return false by default its value is false component will update it is called just before rendering takes place component did update and the other one is component will unmount this is called after the component is unmounted from the top it is used to clear up the memory spaces so all these are the life cycle methods which are used in react JS now what is a event in react events are triggered reactions or I will say actions to specific actions like Mouse over Mouse click key press Etc react events are similar to HTML JavaScript events so for example in this example or in this diagram as you can see this is a bulb is there is an action called switch on if someone clicks on on the bulb is getting on so this is kind of a event which is getting triggered which are reactions to specific actions how we can create events in react JS so as you can see here this is a render function class display extends react. component in es6 class standard of writing the code here I’m using a render function which is returning a TI and on click is the event that is how we can create the events in react CHS this. show click me what are synthetic events in react CH synthetic events are uh the cross browser wrappers around the browser’s native event system they combines the browser Behavior into one API and they’re done to ensure events have consistent properties across different browsers so if we want to have a react JS application running on different browsers we will use synthetic events in react JS what do you understand by reps which are references in react JS so reps stands for references so they are used to return references to a particular element or component returned by render they are basically useful when we need Dom measurements or to add methods to the components list some of the cases when you should use reps so first of all they are used to manage Focus text selection or media playback for triggering imperative animations just like as you can see on the screen if you want to display this kind of Animation imperative animation we will use reps in reactjs and if you want to integrate with third party Dom libraries that is also where we use reps in react JS how do you modularize code in react so we can modelize code uh by using the export and import standard or by using export and import properties we can write the component separately in different files so for one file we will use the export property and for another file we can use the import property that is how you can modelize the reactjs code and as you can see on the screen the two code is snippits for or two files I’ll say for export and import properties how forms are created in react this is again a very basic question questions with interview question with respect to react so HTML form elements maintain their own State and regular Dom and update themselves based on user input in reactjs state is contained in the state property of the component and uh it gets only updated bya set State as we all know so JavaScript function is used for handling the form submission what do you know about controlled and uncontrolled components so as I mentioned earlier components are of two type presentational components and container comp components again there are two other types of components which are controlled and uncontrolled so controlled components are those which do not maintain their own State the state is not maintained in control components data is controlled by parent component not by the child components the control components takes in current value through props and notifies changes via call packs I talk about uncontrolled components they maintain their own State data is controlled by Dom and reps are used to get their current value so if you want to use rest we need to have uncontrolled components now what are H when I say h these are high order components so these are the custom components I will say which we develop while doing programming in reactjs so these are the custom components which wraps another component they accept dynamically provided child components then they do not modify the input component they do not copy any behavior from the input component and I’ll say that these are the pure functions basically they are the custom components which are developed to addon functionality to some other components these are called H’s so what can you do with h h means high order components can uh reuse the code logic and bootst step abstraction using H’s we can render High checking State abstraction manipulations and also we can also do state and props manipulations with h high order components now what are pure components pure components are the simplest fastest components which we can right these are very fast they can replace any component that only has render answers the Simplicity and performance of the application these are the pure components as you can see here there is a code snippet react dom. render H1 hello document. get element by ID content so these are the two parameter which needs to be passed to the render function and this is the simple component I will say simplest component or I can say the pure components which we can write in reactjs and Hance the performance and it I will it is the fastest in react CHS now what is the significance of keys in react chairs or what is the significance of keys in react it is used to identify unique virtual Dom elements with their corresponding data driving the UI so as we all know there is a key value pair combination always in every programming language just like that we have keys and reactj which is used to identify the virtual Dom elements and what are the virtual Dom elements with respect to their driving UI this we can know using keys in react CHS they must be unique number or a string they helps react to optimize rendering by recycling existing Dom elements so instead of rendering with keys react just reorders the element so if you don’t want to reender your UI or if you don’t want to reender your components you can just reorder the elements using keys in react CHS and obviously with all these T the performance of the application gets optimized and highly increased in react ch so that was all about the second section of the react interview question let’s move forward and now I will talk about the interview questions related to react Redux this is a combination of react and Redux technology so what were the major problem with MVC framework see we all know it’s a model view controller so what is the major problem so Dom manipulation is very expensive because MVC framework is completely based on Dom and not on Virtual Dom just like in react CHS is slow and inefficient there is lot of memory wastage in MVC framework because of circular dependency complicated model was created around model and Views so these are some of the drawbacks or problems with MVC framework now flux before Redux there was a technology called flux which was introduced by Facebook so what was flux architectural pattern that enforces unidirectional data flow so on the screen as you can see there is a action then dispatcher store and view so architectural pattern that enforces unidirectional data flow controls derive data and enables communication between multiple components now as you can see there is a central store which has Authority for all the data any update in data must occur here only so store is the central or the heart for all react Redux or flux application it provides stability to the application and it reduces runtime errors what is Redux Redux is one of the hottest Library I will say for frontend development it is very very famous you can also check how much it is famous and its popularity on GitHub sites that it has more number of stars and more number of watches as compared to flux it’s aable state container for JavaScript apps it is mostly used for State Management applications where State needs to be managed uh applications developed with Redux are easy to test and it helps to write applications that behave consistently and can run in different envir en Ms what are the three principles that Redux follows first is a single source of truth that is the store single source of Truth and when I say I’m talking about here the single store there is only one store in a Redux or react Redux application state is read only in Redux the changes are made with pure functions you can make changes only with the pure functions in Redux libraries what do you understand by single source of truth when I say single source of Truth it is the store which I’m talking about in Redux application Redux uses a store for storing all the application State at one place whatever the state happening or state changes happening in a react Redux application it will be notified to store or will happen uh in conjunction with a store so component state is stored in the store and they receive updates from the store itself so whatever the components so these are the various components so the state of all these components will be stored in a single place which is called store and any update needs to happen or needs to be there that will be received from the store itself the single state tree makes it easier because it’s a single state tree makes it easier to keep track of the changes over time and debug or inspect the application what are the various components of Redux first one is the action which is an object that describe what happen happened reducer it is a place to determine how the state will change or I will say the reducers are the pure functions which ISS how it needs to be done as I said action that what needs to be done reducer how it needs to be done is given by the reducers because these are the pure functions store as you saw just now in the previous slide that store is a single source of truth then need to be a single store which is used for State Management of all the components so a state object of the entire application is saved in the store view is to Simply displays the data provided by the store so how the data flows through Redux again a very interesting question that how we should know that how data is flowing through Redux so as you can see here that these are the container components which is passing data as the props they are passing the data to actions action is passing the data to reducer so the input for the store is the reducer and reducer is again giving the data to the provider component or you can say the view part of it so that is how the data Flows In Redux applications how actions are defined in Redux always remember that action should have a type property that indicates the type of action which needs to be performed so type is very important for every action so let’s say in this code is snip it as you can see on the screen there is a function called add to which is taking the input parameter as text is what it is returning is it is a type and this what type of action it is act to do so they must be defined as a string constant and we can add more properties to it that is not a problem with the action you can add as many properties as you want but the most mandatory part or the most important part for an action is it needs to have a type property and actions are created using functions called action creators the other question which we have is what is the role of reducers reducers are the pure functions which specify how the application State changes in response to an action it takes in the previous state and then action and Returns the new state so what is the work of a reducer basically it takes the previous state make the changes and it Returns the new state it determine what sort of update needs to be done based on the type of action and Returns the new values it Returns the previous state if no work needs to be done if there are no changes in the state or if there are no updates of obviously it will return the previous state which it takes as a input and as output it returns a new state with the changed parameters what is the significance of a store in Redux store as we all know now that store is the single source of Truth a JavaScript object holds the application state it maintains the application or I can say it maintains the state tree of the particular application that is the store provides a helper methods to access the state dispatch ction and register listeners with store the data State can be synchronized from the server level to the client CER without much hle and since it’s a single store it’s a single source of truth it’s a single place to maintain the state tree of the application it makes the development of the large application very easy and fast how Redux is different from flux so these are the basic differences between flux and Redux I talk about flux the store contains State and change log has multiple stores flat disconnected stores inlux all the stores are disconnected single turn dispatcher react component subscribed to the store in flux state is mutable so you can change the state in flux if I talk about Redux store and change logic are separate we have a single store in Redux single store with hierarchical reducers you can have multiple reduc ERS in Redux but the store needs to be single in react Redux application so if I talk about the container components they utilize connect and state is immutable this is again very important that the state is immutable in react Redux application what are the advantages of reduct so I’ve list down some of the advantages of Redux predictability maintainability the application will be very fast it will be optimized we have many developer tools the testing and debugging part will be easy and huge open source Community for Redux is available out there on internet and precise organization of course because there is only one store which is maintaining the state complete state of the application so these are some of the advantages of Redux which makes react Redux application very famous and very popular and the next question in react Redux is what is Redux tun so Redux tun is a middleware that lets call Action ction creators that return a function instead of an action object that function receives a stores dispatch method which is then used to dispatch regular synchronous actions inside the body of the function once the asynchronous operations have completed and the tongue can be used to delay the dispatch of an action or to dispatch only if a certain condition is met and basically it sits between action Creator and reducer in the react Redux flow now moving to the last part of the last section of this webinar that is the react router interview questions what is react router it’s a very powerful routing Library I’ll say it helps in adding new screens and flows to the application it keeps the URL in sync with data that is being displayed on the web page and it is a very simple API the react router API are very simple to use why switch keyword is used in react router version 4 the switch keyword is used when you want to display only a single route to be rendered among several defined routs so as you can see here if I want to have multiple defined Roots but I want to display only a single root then I use the switch statement why do we need a router in react so router helps in defining multiple routs inside the router with each route leading to a unique view as you can see on the screen there are multiple react routers for example these are the three router and each router is leading or representing I will say a unique view so that is why we need a router in react list down the advantages of react router so there are various advantage of react router the API is very simple and the API is all about component the API is component based the router apis it can be visualized the single root component no need to manually set history value it has separate packages for web and Native platforms that’s very famous how react router is different from conventional routing of data so again there’s a table of the differences based on the various topics Pages involved each view corresponds to a new file in react router only single HTML page is involved in conventional routing we used to have multiple PES involved in application if I talk about the URL changes in conventional routing HTP request is sent to the server and corresponding HTML page is received in react router only the history attribute is changed this is a very drastic change in the uh request response terminologies if I talk about the look and feel user actually navigates across different pages for each view in conventional routing but for react router user is duped thinking he’s navigating across different pages but it is actually not the case now the next question is why is switch keyword used in react router V5 or version 5 although a div tag is used to encapsulate multiple Roots inside the router the switch keyword is used when we want to display only a single route to be rendered amongst the several defined Roots the switch tab when in use matches the typed URL with the defined roots in sequential order when the first match is found it renders the specified value and thereby bypassing the remaining Roots as we have seen some of the frequently asked questions and answers in react interviews now let’s have a look on the requirements or the skills required to become a reactjs developer so to become a reactjs developer you should have the following skills which include fundamentals of HTML CSS and JavaScript fundamentals of reactjs which includes jsx es6 hooks node plus npm and Redux and with this we come to an end to this react GS full course and if you enjoyed listening to this full course please be kind enough to like it and you can comment on any of your doubts and queries we will reply to them at the earliest do look up for more videos and playlist And subscribe to the ureas YouTube channel to learn more thank you for watching and happy learning

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Russian Language Learning Courses

    Russian Language Learning Courses

    YouTube Video Links

    Learn Russian the easy way: The COMPLETE Russian course for beginners (9 hours)
    2000 Words Every Russian Beginner Must Know

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • QuickBooks Online: Mastering Accounts Receivable Workflows

    QuickBooks Online: Mastering Accounts Receivable Workflows

    This video explains how to manage accounts receivable in QuickBooks Online. It covers the workflow from creating estimates to invoicing customers and receiving payments, including handling partial payments and using undeposited funds. The video also demonstrates creating invoices directly without estimates and managing overdue invoices with credit memos. Furthermore, it explores recording customer payments received via various methods, such as cash and credit cards, addressing bank fees, and utilizing the bank feed for matching transactions. Finally, the video illustrates managing billable time and expenses, utilizing delayed charges and credits, and generating customer statements for tracking transaction history.

    QuickBooks Online Accounts Receivable Workflow Study Guide

    Quiz

    1. What does “accounts receivable” mean in the context of QuickBooks Online?
    2. Briefly describe the pre-sale cycle in QuickBooks Online using the accounts receivable workflow.
    3. What is the purpose of converting an estimate to an invoice in QuickBooks Online?
    4. Explain two different ways to create an invoice in QuickBooks Online.
    5. Describe the purpose of the “Receive Payment” function in QuickBooks Online and where it can be accessed.
    6. What is “undeposited funds” and why might a business use this account when receiving payments?
    7. Explain the purpose and process of creating and applying a credit memo in QuickBooks Online.
    8. Describe how to record a partial payment from a customer in QuickBooks Online.
    9. How can bank feeds in QuickBooks Online be used to manage accounts receivable, and how are fees typically recorded in this process?
    10. What are delayed charges and delayed credits in QuickBooks Online, and when might a business use them?

    Quiz Answer Key

    1. Accounts receivable in QuickBooks Online refers to the process of recognizing a sale when a customer agrees to buy something, with the expectation of receiving payment at a later date. This workflow is used when payment is not received at the same time as the sale.
    2. The pre-sale cycle begins when a customer expresses interest in purchasing a product or service. The business then creates an estimate (or quote) outlining the offer. If the customer accepts, the estimate is later converted into an invoice.
    3. Converting an accepted estimate to an invoice formally documents the sale and creates a bill that the customer owes. This initiates the accounts receivable process, allowing the business to track outstanding payments.
    4. An invoice can be created by clicking the “New” button and selecting “Invoice,” which allows for direct invoice creation. Alternatively, an accepted estimate can be converted into an invoice, carrying over all the details from the estimate.
    5. The “Receive Payment” function in QuickBooks Online is used to record when a customer pays an outstanding invoice. It can be accessed by clicking the “New” button and selecting “Receive Payment,” directly from an open invoice, or from the “Receive Payment” button next to an invoice in the sales tab.
    6. “Undeposited funds” (or “payments to deposit”) is a temporary holding account for customer payments that have been received but not yet deposited into the bank. Businesses use this account when they receive multiple payments that will be deposited together as a single lump sum, making bank reconciliation easier.
    7. A credit memo is used to reduce the amount a customer owes, often due to a mistake or allowance. It is created by clicking “New” and then “Credit Memo,” selecting the customer and the amount of the credit. To apply it, you go to “Receive Payment,” select the customer, and ensure both the invoice and the credit memo are checked.
    8. To record a partial payment, navigate to “Receive Payment,” select the customer and the relevant invoice, and then enter the actual amount received in the “Amount received” field. QuickBooks will then show the remaining balance due on the invoice.
    9. Bank feeds allow users to match downloaded bank transactions with existing invoices in QuickBooks Online. Instead of manually recording payments and deposits, users can find matching invoices for deposits or resolve differences by adding bank fees as negative amounts within the bank feed screen.
    10. Delayed charges are records of services or products provided to a customer that you intend to invoice later. Delayed credits are similar but represent amounts you intend to credit the customer in a future invoice. Businesses use them to track billable activities or credits without immediately creating invoices.

    Essay Format Questions

    1. Discuss the complete accounts receivable workflow in QuickBooks Online, from the initial customer inquiry to the final payment and deposit, highlighting the key steps and their importance.
    2. Explain the different methods for receiving customer payments in QuickBooks Online, including the use of undeposited funds and direct bank deposits, and analyze the advantages and disadvantages of each method for different business scenarios.
    3. Describe how QuickBooks Online facilitates the management of overdue invoices and customer balances, including the use of credit memos and journal entries for adjustments.
    4. Analyze the integration of bank feeds with the accounts receivable workflow in QuickBooks Online, explaining how matching transactions and recording bank fees directly within the bank feed can streamline the accounting process.
    5. Evaluate the features in QuickBooks Online that allow businesses to track and invoice for billable time and expenses, and discuss how these features can improve accuracy and efficiency in the billing process.

    Glossary of Key Terms

    • Accounts Receivable (A/R): The balance of money due to a company for goods or services delivered or used but not yet paid for by customers.
    • Estimate: A non-binding quote provided to a potential customer outlining the cost of proposed goods or services.
    • Invoice: A formal bill issued to a customer for goods or services provided, indicating the amount due and payment terms.
    • Sales Tab: A section in QuickBooks Online that provides an overview of sales transactions, including invoices, payments, and customers.
    • Receive Payment: A QuickBooks Online function used to record payments received from customers against outstanding invoices.
    • Undeposited Funds: A temporary holding account in QuickBooks Online used to store customer payments before they are deposited into a bank account.
    • Bank Deposit: A QuickBooks Online function used to record the transfer of funds from the undeposited funds account or directly from a received payment into a specified bank account.
    • Credit Memo: A document issued to a customer to reduce the amount they owe, often due to returns, allowances, or errors.
    • Bank Feed: A feature in QuickBooks Online that automatically imports transaction data from linked bank and credit card accounts.
    • Find Match: Within the bank feed, this option allows users to link downloaded bank transactions to existing transactions (like invoices and payments) already recorded in QuickBooks Online.
    • Resolve Difference: Within the bank feed matching process, this feature allows users to account for discrepancies between the downloaded bank amount and the matched QuickBooks transactions, often used for recording bank fees.
    • Billable Time: Time tracked by employees or contractors that will be charged to a specific customer.
    • Billable Expenses: Costs incurred by the business that will be passed on and invoiced to a specific customer.
    • Delayed Charge: A record in QuickBooks Online of a service or product provided to a customer that will be added to an invoice at a later date.
    • Delayed Credit: A record in QuickBooks Online of an amount that will be credited to a customer on a future invoice.
    • Journal Entry: A manual accounting entry used to record financial transactions that are not easily captured through standard forms, often used for adjustments like writing off bad debt.
    • Customer Statement: A summary document showing a customer’s outstanding balance, including invoices, payments, and credits over a specific period.

    QuickBooks Online Accounts Receivable Workflow Briefing Document

    Date: October 26, 2023 (Based on the context of the provided text referencing December 2023 and February 2024) Source: Excerpts from “Pasted Text” (Video Transcription on QuickBooks Online Accounts Receivable)

    Overview:

    This briefing document summarizes the main themes, concepts, and procedures for managing accounts receivable (AR) and recognizing income in QuickBooks Online (QBO) as described in the provided video transcription. The video focuses on the end-to-end AR workflow, starting from the pre-sale stage to receiving payments and handling various scenarios like credit memos, billable time, billable expenses, and adjustments. It also touches upon utilizing bank feeds for transaction matching and generating customer statements.

    Main Themes and Important Ideas:

    1. Accounts Receivable Workflow: The core concept is that income is recognized when a sale agreement is made with a customer, potentially leading to a future payment. This necessitates the use of the accounts receivable workflow in QBO.
    • Quote: “accounts receivable simply means that you’re going to recognize a sale whenever the customer agrees to buy something from the business and then possibly you will get a payment on that in the future.”
    • The video emphasizes that if payment is received simultaneously with the sale, the AR workflow can be skipped (covered in another video).
    1. Pre-Sale Cycle and Estimates: The process often begins with an estimate provided to a potential customer.
    • Creating an estimate in QBO involves selecting the customer, detailing products or services with quantities and prices, and saving the estimate.
    • Estimates initially have a “pending” status and can be changed to “accepted” upon customer agreement.
    • Quote: “the first thing you’re going to do is you’re going to give them an estimate essentially you’ll recognize that uh you’re going to make them an offer and then the customer will at some point email you back or call you back and say I’m ready to accept the offer let’s move forward and then we turn that into an invoice later on.”
    1. Invoicing: Once an estimate is accepted, it can be converted into an invoice. Alternatively, invoices can be created directly without an initial estimate.
    • Converting an estimate to an invoice copies all the information, which can then be further edited.
    • Invoices require selecting a customer, specifying products or services, quantities, prices, invoice date, and due date based on payment terms.
    • Quote: “when it gets converted from pending to accepted a link to convert to invoice shows immediately essentially guiding you to the process that you should at this point invoice your client so they can pay you.”
    • QBO tracks invoices, allowing users to filter by all invoices or unpaid invoices.
    1. Receiving Payments: There are multiple ways to record customer payments in QBO.
    • Directly from the “Receive Payment” screen: Accessed via the “+” “New” button, this requires selecting the customer and then choosing the invoice(s) being paid.
    • From the Invoice Screen: Opening an invoice provides an “Actions” button with a “Receive Payment” option, which pre-selects the customer and the invoice.
    • From the Sales > Invoices List: A “Receive Payment” button next to each unpaid invoice allows quick access.
    • From the Sales > Customers List: Within a customer’s details, options include receiving payment.
    1. Undeposited Funds: This is a crucial temporary holding account for customer payments before they are deposited into the bank.
    • It’s recommended when receiving multiple payments that will be deposited together as a lump sum, ensuring bank reconciliation is easier.
    • Quote: “on depositor funds or payments to deposit should be a current asset account designed to hold your customer payments until you make the deposit.”
    1. Recording Bank Deposits: When payments held in “Undeposited Funds” are actually deposited into the bank, a “Bank Deposit” transaction needs to be created.
    • This screen shows all payments in “Undeposited Funds,” allowing users to select the payments included in a specific deposit, choose the bank account, and enter the deposit date.
    • Quote: “essentially what you see here which is this group of transactions that are sitting here under the select the payments included in this deposit these are your undeposited funds and essentially you click on one then the other you see how it adds up…”
    1. Credit Memos: Used to recognize a reduction in the amount a customer owes, without directly editing a previously issued invoice (especially for prior periods).
    • Created via the “+” “New” button, a credit memo is linked to a specific customer and details the reason and amount of the credit.
    • Credit memos don’t automatically apply to invoices; they need to be linked through the “Receive Payment” screen by checking the credit memo for the relevant customer.
    • Quote: “instead of going back and editing the invoice which is generally not suggested especially when it’s from previous periods what you want to do is you want to recognize a reduction of that account’s receivable a reduction of the money the customer owes you by creating a credit memo.”
    1. Petty Cash: Payments can be recorded as being received into a petty cash account instead of a bank account or undeposited funds, useful for tracking cash on hand.
    • Funds can later be transferred from petty cash to a bank account if needed.
    1. Handling Credit Card Fees: When a customer pays by credit card, the deposited amount in the bank might be less than the invoice amount due to transaction fees.
    • The full payment is initially recorded (often to Undeposited Funds).
    • During the bank deposit recording, the fee is entered as a negative amount, allocated to a “Merchant fees” or similar expense account, to reconcile the deposit with the bank statement.
    • Quote: “that difference is a fee so if I take $1,000 minus 97131 I get a amount of 28.6 and that’s the amount that the bank took from you to be able to receive uh a payment through a credit card now that’s going to be a negative amount so that’s a really important piece…”
    1. Matching Bank Feed Transactions: QBO’s bank feed allows matching downloaded bank transactions to existing invoices and payments, streamlining reconciliation.
    • Instead of manually recording payments and deposits, users can “Find Match” for a bank deposit and select the corresponding invoices.
    • For credit card deposits with fees, the “Resolve the difference” option in the “Find Match” screen allows entering the fee as a negative amount linked to a merchant fees expense account.
    1. Billable Time: In QBO Essentials and above, time spent on customer projects can be tracked and marked as billable.
    • Time activities are entered, linked to a customer, and marked as billable with a specific rate.
    • When creating an invoice for that customer, QBO displays any pending billable time that can be added to the invoice.
    • Quote: “keep in mind that this doesn’t automatically invoice your customer it just keeps it pending for you to be able to invoice them later in the future when it’s time to invoice them.”
    1. Delayed Charges and Credits: Available in QBO Essentials and above, these features allow recording services provided or overcharges without immediately creating an invoice or credit memo.
    • Delayed charges serve as reminders to invoice for specific services later.
    • Delayed credits track amounts to be credited to a customer in the future.
    • When invoicing, delayed charges and credits for a customer can be added to the invoice.
    1. Billable Expenses: In QBO Plus and above, expenses can be assigned to a specific customer and marked as billable.
    • When creating an invoice for that customer, the billable expense can be added to the invoice, allowing for reimbursement.
    • Quote: “with QuickBooks Online plus you’re able to assign an expense to a specific customer so then when we Mark that expense billable uh you’ll be able to create an invoice with that specific line item.”
    1. Adjusting Old Accounts Receivable with Journal Entries: An advanced technique, typically used by accounting professionals, to write off uncollectible balances.
    • A journal entry is created to credit the Accounts Receivable account (reducing the balance) and debit an expense account like “Bad Debt” or a sales-related contra-account.
    • This journal entry then needs to be applied to the old invoice using the “Receive Payment” screen with a zero amount received.
    1. Customer Statements: QBO allows generating statements to provide customers with a summary of their invoices, payments, and outstanding balances.
    • Different types of statements are available:
    • Balance Forward: Shows the opening balance, new charges, payments, and the closing balance.
    • Transaction Statement: Lists all transactions within a specified date range.
    • Open Item Statement: Shows only the unpaid invoices.
    • Users should explore each type to determine the most suitable one for their needs and their customers’ understanding.

    Key Takeaways:

    • QuickBooks Online offers a comprehensive suite of tools for managing accounts receivable, from initial customer engagement to final payment.
    • Understanding the different stages of the AR workflow (estimate, invoice, payment) is crucial for accurate income recognition.
    • Utilizing features like “Undeposited Funds” and bank feed matching can significantly improve efficiency and accuracy in reconciling payments.
    • Credit memos and journal entries provide mechanisms for adjusting customer balances when necessary.
    • Billable time and expenses allow for accurate invoicing of services and costs incurred on behalf of customers.
    • Customer statements are essential for communicating account status and history to clients.

    Next Steps:

    • Review the full video for detailed visual guidance on performing these actions in QuickBooks Online.
    • Consult additional resources mentioned in the video description for related topics like recording income without using the AR workflow, managing accounts payable, and deeper dives into bank feeds and reports.
    • Consider practicing these workflows in a QBO test environment to gain hands-on experience.
    • If using advanced techniques like journal entries for AR adjustments, ensure a thorough understanding of accounting principles or consult with an accounting professional.

    Frequently Asked Questions: Managing Income with QuickBooks Online Accounts Receivable Workflow

    1. What is the accounts receivable workflow in QuickBooks Online, and when should I use it?

    The accounts receivable (A/R) workflow in QuickBooks Online is used to manage income recognition when you make a sale to a customer who agrees to buy now and potentially pay later. This involves several steps, starting with a pre-sale cycle (like creating an estimate), followed by invoicing the customer for the goods or services provided, and finally recording the payment when it is received. You should use this workflow when you don’t receive payment at the exact time of the sale. If you receive payment immediately, you can use a simpler method of recording income directly as a sales receipt or within the bank feed.

    2. What is the typical pre-sale cycle within the accounts receivable workflow in QuickBooks Online?

    The pre-sale cycle often begins when a customer expresses interest in purchasing something from your business. The first step is usually to create an estimate (or quote) outlining the proposed products or services, their quantities, and prices. If the customer accepts the estimate, you then convert the estimate into an invoice, which is the official bill you send to the customer requesting payment.

    3. How do I create and manage invoices in QuickBooks Online?

    You can create an invoice in QuickBooks Online by clicking the “New” button and selecting “Invoice.” You’ll then choose an existing customer or add a new one, specify the products or services being sold (including descriptions, quantities, and rates), and set the invoice date and due date based on your payment terms. You can customize the invoice and then save it, save and send it to the customer, or print it. Once created, you can track your invoices in the “Sales” tab under “Invoices,” where you can filter by all invoices or just unpaid ones to manage your accounts receivable.

    4. What are the different ways to record customer payments in QuickBooks Online, and what is “undeposited funds”?

    There are several ways to record customer payments:

    • By clicking “New” and then “Receive Payment,” which allows you to select the customer, payment date, payment method, and the invoices being paid.
    • Directly from an invoice by clicking the “Receive Payment” option within the invoice actions.
    • From the “Sales” tab under “All Sales” or “Customers,” where you can find invoices and related payment options.

    Undeposited funds (or sometimes “Payments to deposit”) is a temporary holding account for customer payments that you’ve received but haven’t yet deposited into your bank account. This is particularly useful if you receive multiple payments that you deposit together as a single sum. By using undeposited funds, you can then record a single bank deposit in QuickBooks that matches your bank statement, making reconciliation easier.

    5. How do I handle situations where a customer is due a credit or when an invoice needs adjustment after it has been issued?

    For situations where you need to reduce the amount a customer owes without directly editing a previously issued invoice (especially from a prior accounting period), you can create a credit memo. A credit memo reduces the customer’s outstanding balance. To apply a credit memo to an invoice, you typically go to “New,” then “Receive Payment,” select the customer, and ensure both the invoice and the credit memo are checked. QuickBooks will then link the credit memo to the invoice, reducing the outstanding balance.

    6. How can I account for bank fees or transaction fees when customers pay via credit card in QuickBooks Online?

    When you receive a credit card payment, the amount deposited into your bank might be less than the invoice total due to transaction fees charged by the bank or payment processor. To accurately record this, you can initially record the full payment received into “undeposited funds.” When you then record the bank deposit (“New” > “Bank Deposit”), you’ll enter the actual amount deposited. The difference can be accounted for by adding a line item to the deposit screen with a negative amount, categorized to an expense account such as “Merchant Fees” or “Transaction Fees.” You can optionally specify the payment processor (e.g., Stripe) as the “Payee.”

    7. How can I link billable time and expenses to customer invoices in QuickBooks Online?

    QuickBooks Online (Essentials and Plus versions) allows you to track billable time and expenses. You can enter billable time through “New” > “Single time activity,” associating the time with a specific customer, service, and billable rate. When you later create an invoice for that customer, QuickBooks will show a drawer on the right side listing any pending billable time that can be added to the invoice. Similarly, in QuickBooks Online Plus, you can mark expenses as billable when entering them (“New” > “Expense”) by checking the “Billable” box and assigning the expense to a customer. These billable expenses will also appear as items to add when creating an invoice for that customer.

    8. What are delayed charges and delayed credits, and how can they be used for invoicing?

    Delayed charges and delayed credits (available in QuickBooks Online Essentials and above) are non-posting transactions used to track services or credits that you want to invoice to a customer at a later date. A delayed charge records work or services provided without immediately creating an invoice. A delayed credit records an amount you intend to credit to a customer’s future invoice. You can enter these through the “New” button. When you’re ready to invoice the customer, you can create a new invoice, and QuickBooks will display any outstanding delayed charges and credits for that customer, allowing you to add them to the invoice. This is useful for consolidating multiple charges or credits into a single invoice, often done at the end of a month or project.

    QuickBooks Online: Managing Income Recognition

    Based on the video transcript you provided, QuickBooks Online offers a comprehensive system for managing income recognition through the accounts receivable workflow. This workflow is particularly useful when a sale is recognized before payment is received.

    Here’s a breakdown of the key aspects of using QuickBooks Online for this purpose, as described in the video:

    • Pre-Sale Activity: Estimates:
    • The process often begins with creating an estimate for a customer who expresses interest in buying a product or service.
    • You can create estimates by selecting the customer from a drop-down menu or adding a new customer on the fly, including details like name, address, phone number, and email.
    • Estimates can include a billing and a separate shipping address.
    • QuickBooks automatically assigns estimate numbers, but you can customize this sequence.
    • You can specify the products or services being quoted, including quantity, rate, and description.
    • For QuickBooks Online Plus users, inventory items can also be added to estimates.
    • Estimates initially have a pending status. Once the customer accepts, the status can be changed to accepted, which then provides a direct link to convert the estimate into an invoice.
    • Creating Invoices:
    • Invoices can be created directly or by converting an accepted estimate. Converting an estimate automatically copies over all the information.
    • You can still edit an invoice after it’s created from an estimate. Linked transactions are highlighted, showing the origin of the invoice.
    • When creating an invoice, you can select the invoice date and set a due date based on payment terms (e.g., net 15, 30, 60 days), which is fundamental to accounts receivable management.
    • You can add products and services to the invoice, specifying descriptions, rates, and quantities.
    • Sales tax can be enabled and calculated on taxable items (though this video focuses on non-taxable examples).
    • Invoices can be saved, saved and closed, or reviewed and sent directly to the customer via email or printed and mailed. Sending an invoice officially means the customer owes you money.
    • Managing Invoices:
    • All created invoices can be found under the Sales tab, in the Invoices section.
    • You can filter the invoice list to view all invoices or only unpaid invoices, which represent your accounts receivable.
    • The system displays the total amount due and indicates if any invoices are overdue based on the set terms.
    • Receiving Payments:
    • There are several ways to record customer payments in QuickBooks Online.
    • You can use the New button and select Receive Payment to open a blank payment screen where you choose the customer and then see their outstanding invoices.
    • You can also initiate payment recording directly from the invoice screen via an Actions button or from the Sales > All Invoices list using a Receive Payment button next to the invoice.
    • Another method is through the Customers list, where you can find an invoice and select Receive Payment from the options.
    • When recording a payment, you specify the payment date and payment method (e.g., check, credit card). You can customize the list of payment methods.
    • If you have QuickBooks Payments enabled, payments made online by customers can be automatically recorded.
    • For checks, you can record the customer’s check number.
    • You can record partial payments if a customer underpays.
    • A crucial decision when receiving payment is where to deposit the funds:
    • Directly to a bank account if you deposit individual payments immediately.
    • To Undeposited Funds (or Payments to Deposit) if you receive multiple payments and deposit them together as a lump sum. This helps in bank reconciliation.
    • Recording Bank Deposits:
    • If you use the Undeposited Funds account, the next step is to record the bank deposit by clicking New > Bank Deposit.
    • QuickBooks will display all payments held in Undeposited Funds.
    • You select the payments included in a specific deposit and the date the deposit was made to the bank, as well as the bank account it went into. This allows you to match your QuickBooks records with your bank statements when reconciling.
    • Handling Credit Memos:
    • If you need to issue a credit to a customer (e.g., for a mistake), you can create a credit memo. This reduces the amount the customer owes.
    • Credit memos are created via the New button > Credit Memo and are linked to a specific customer and the product/service for which the credit is being issued.
    • Credit memos do not automatically apply to invoices. You need to go to New > Receive Payment, select the customer, and then ensure the credit memo is checked to apply it to the relevant invoice. The “amount received” in this case might be zero, as you’re just matching the credit to the debt.
    • Managing Cash Payments with Petty Cash:
    • If a customer pays in cash and the cash is not immediately deposited, you can record the payment into a petty cash account (which you might need to create) instead of a bank account or Undeposited Funds.
    • Later, when the cash is deposited into the bank, you can record a transfer from the petty cash account to the bank account.
    • Handling Credit Card Fees:
    • When receiving credit card payments, banks often charge a transaction fee, resulting in a net deposit amount that is less than the invoice total.
    • You can record the full payment initially to Undeposited Funds.
    • Then, when recording the bank deposit (New > Bank Deposit), you select the credit card payment and enter the actual amount received from the bank.
    • The difference is the bank fee, which you record as a negative amount on an additional line in the bank deposit screen.
    • You categorize this negative amount to an appropriate expense account, such as Merchant Fees, Transaction Fees, or Credit Card Fees. You can optionally specify the bank or payment processor (e.g., Stripe) as the vendor.
    • Utilizing Bank Feeds:
    • QuickBooks Online allows you to connect to your bank accounts and download transactions via bank feeds.
    • Instead of manually recording payments and deposits, you can match bank feed deposits with existing invoices. By clicking on a deposit transaction in the bank feed, you can select Find Match and then choose the invoices that correspond to that deposit.
    • When a bank feed deposit reflects a credit card payment with a fee, you can match the gross payment to the invoices and then use the Resolve Difference option to add a negative amount for the fee, categorizing it to the merchant fees expense account.
    • Working with Billable Time and Expenses:
    • Billable Time (requires QuickBooks Online Essentials or higher): You can track time spent on a customer’s work and mark it as billable. This time can then be easily added to an invoice for that customer.
    • Delayed Charges and Credits (requires QuickBooks Online Essentials or higher): You can record services or charges incurred for a customer without immediately invoicing them using delayed charges. Similarly, you can record delayed credits. These can be compiled and added to an invoice at a later date.
    • Billable Expenses (requires QuickBooks Online Plus or higher): You can assign expenses (e.g., shipping costs) to a specific customer and mark them as billable. These expenses can then be added to the customer’s invoice for reimbursement.
    • Adjusting Accounts Receivable with Journal Entries:
    • For advanced users (like accounting professionals), journal entries can be used to directly adjust accounts receivable balances, for example, to write off old, uncollectible debts. This involves debiting a bad debt expense (or similar) account and crediting the accounts receivable account for the customer.
    • After creating the journal entry, you still need to go to New > Receive Payment, select the customer, and match the journal entry to the outstanding invoice to clear it from the accounts receivable aging report.
    • Creating Customer Statements:
    • QuickBooks Online allows you to generate customer statements that show the history of invoices and payments for a specific customer.
    • You can choose from different types of statements, such as Balance Forward, Transaction Statement, and Open Item Statement, each presenting the information in a slightly different way. You should review each type to determine which best suits your needs and your customers’ understanding.

    In summary, QuickBooks Online, as described in the video, provides a robust set of tools for managing the entire accounts receivable cycle, from creating initial estimates to receiving and recording payments, handling various payment scenarios, and generating customer statements. It also includes features for handling more complex situations like credit memos, petty cash, credit card fees, billable time and expenses, and adjustments via journal entries. The integration with bank feeds further streamlines the process of matching payments to invoices.

    QuickBooks Online Accounts Receivable Management

    Based on the video transcript and our previous discussion, Accounts Receivable (AR), as described in the context of QuickBooks Online, is the process of recognizing income when a sale is made (i.e., when a customer agrees to buy something) and managing the money owed by customers who will pay in the future. It’s a crucial aspect of business operations when payment is not received at the time of the sale.

    Here are the key concepts related to Accounts Receivable as discussed in the source:

    • Triggering Accounts Receivable: The AR process begins when a sale is recognized, often documented through an estimate provided to the customer. Once the customer accepts the offer, the estimate is converted into an invoice. The act of sending an invoice officially signifies that the customer owes the business money.
    • Managing Outstanding Invoices: QuickBooks Online provides tools to keep track of all outstanding invoices. The Sales tab allows users to view a list of all invoices, filter them by status (e.g., unpaid), and see the total amount due. The system also tracks due dates based on the payment terms set on the invoices.
    • Receiving Payments: A significant part of AR management is recording payments from customers. QuickBooks Online offers multiple ways to do this, ensuring that the payment is correctly applied to the outstanding invoice.
    • Payments can be recorded as going directly to a bank account or to an interim account called Undeposited Funds (or Payments to Deposit). The latter is recommended when multiple payments are deposited together.
    • QuickBooks Payments, if enabled, can automate the recording of online payments.
    • Applying Payments to Invoices: When recording a payment, QuickBooks allows you to select the specific invoice(s) the payment is for, including the option for partial payments.
    • Handling Overpayments/Underpayments: While not explicitly detailed, the ability to record partial payments suggests the system can handle situations where the payment doesn’t exactly match the invoice amount. Credit memos, discussed below, can address overpayments or billing errors indirectly.
    • Credit Memos: When a business needs to reduce the amount a customer owes after an invoice has been issued (e.g., due to a mistake), a credit memo is created. Importantly, credit memos need to be manually applied to the relevant invoice through the receive payment screen.
    • Adjusting Accounts Receivable: In more advanced scenarios, such as writing off old, uncollectible debts, journal entries can be used to directly adjust the accounts receivable balance. These adjustments then need to be applied to the corresponding invoices using the receive payment function.
    • Reporting and Review: QuickBooks Online provides reports like the Accounts Receivable Aging report to help businesses understand how long invoices have been outstanding. Additionally, customer statements can be generated to show customers their outstanding balances and payment history.
    • Integration with Bank Feeds: QuickBooks Online allows for the matching of bank deposits with outstanding invoices recorded in the system, streamlining the AR process by reducing the need for manual payment recording in some cases. This also includes handling bank fees associated with credit card payments.
    • Billable Time and Expenses: For service-based businesses, QuickBooks allows the tracking of billable time and expenses, which are then converted into invoices, effectively managing these aspects within the AR framework.
    • Delayed Charges and Credits: These features allow for the recording of services or credits that will be invoiced to the customer at a later date, ensuring that all billable activities are captured within the AR cycle.

    In essence, Accounts Receivable management within QuickBooks Online, as described in the source, is a systematic approach to tracking sales made on credit, ensuring timely invoicing, diligently recording customer payments, and managing any necessary adjustments or credits to maintain accurate financial records. The various workflows and features aim to streamline this process, providing businesses with a clear overview of the money owed to them.

    QuickBooks Online: Invoicing Customers

    Based on the video transcript, invoicing customers is a central part of the accounts receivable workflow in QuickBooks Online. It’s the process of formally billing a customer for goods sold or services rendered, thereby establishing the amount they owe to the business.

    Here’s a breakdown of how invoicing customers is discussed in the source:

    • Creating an Invoice:
    • An invoice can be created directly or by converting an existing estimate that has been accepted by the customer.
    • To create a new invoice directly, you can click on the “New” button and then select “Invoice”.
    • You can select an existing customer from a drop-down menu or add a new customer on the fly by providing their name and other details like address, phone number, and email.
    • Each invoice has an invoice number, which QuickBooks automatically sequences but can be customized.
    • You can set the invoice date to reflect when the service was provided or the product was delivered.
    • The due date for payment can be selected based on predefined net terms (e.g., 15, 30, or 60 days from the invoice date), which QuickBooks will calculate.
    • Adding Products and Services:
    • On the invoice screen, you select the specific products or services being sold to the customer.
    • You can specify the quantity and rate for each item.
    • A description of the product or service can be added to provide clarity for the customer.
    • QuickBooks Online Plus allows for the inclusion of inventory products on invoices.
    • The system automatically calculates the total amount due based on the quantities and rates of the items.
    • Saving and Sending Invoices:
    • Once the invoice is complete, you have several options:
    • “Save”: This saves the invoice within QuickBooks Online without sending it.
    • “Save and Close”: This saves the invoice and closes the invoice window.
    • “Review and Send” or “Save and Send”: These options allow you to email the invoice directly to the customer or print it for mailing.
    • Link to Estimates:
    • When an invoice is created from an estimate, QuickBooks copies over all the information from the estimate, including products, services, descriptions, and prices.
    • The invoice maintains a link back to the original estimate, creating a transaction history for tracking.
    • Creating Invoices Without Estimates:
    • It’s important to note that creating an estimate is not a mandatory step in the invoicing process. You can create invoices directly without any prior estimate.
    • Managing Invoices:
    • After invoices are created, they can be found in the “Sales” tab under “Invoices”.
    • You can view a list of all invoices or filter them to see only unpaid invoices, which represent the amounts in accounts receivable.
    • Invoicing Billable Time and Expenses:
    • QuickBooks Online (Essentials and above) allows you to track billable time and then add these time entries to a customer’s invoice.
    • Similarly, in QuickBooks Online Plus, you can mark expenses as billable to a specific customer and then include these expenses on their invoice for reimbursement.
    • Delayed charges and delayed credits can be used to record services or credits that will be added to a customer’s invoice at a later date. When you create an invoice for that customer, these delayed items will appear as potential additions.

    In summary, the source emphasizes that invoicing is the formal step in the accounts receivable process where a business communicates to its customers the details of a sale and the amount due. QuickBooks Online offers various features to create, customize, send, and manage these invoices, ensuring that businesses can effectively track and collect the money owed to them.

    QuickBooks Online: Receiving Customer Payments

    Based on the video transcript, receiving payments is a crucial step in the accounts receivable workflow in QuickBooks Online. The source outlines several ways to record customer payments and important considerations during this process.

    Here’s a detailed discussion of receiving payments as described in the source:

    • Multiple Ways to Initiate Receiving a Payment:
    • You can click the “New” button and then select “Receive Payment” under the “Invoice” section. This opens a blank “Receive Payment” screen where you need to select the customer.
    • You can go to the “Sales” tab, then “Invoices”, and click the “Receive Payment” button located next to the specific invoice you want to record a payment for. This method automatically populates the customer and the invoice details.
    • While viewing an invoice, you can click the “Actions” button and then select “Receive Payment”. This also automatically selects the customer and the invoice.
    • From the “Customers” list (under the “Sales” tab), you can select a customer, find the specific invoice, and choose “Receive Payment” from the available options.
    • Recording Payment Details on the “Receive Payment” Screen:
    • You need to select the customer who made the payment. QuickBooks will then display all outstanding invoices for that customer.
    • Enter the date on which you received the payment.
    • Choose the payment method from a pre-built list or create your own (e.g., check, cash, credit card). This is primarily for internal tracking.
    • If the payment was made by check, you can record the customer’s check number.
    • Handling Full and Partial Payments:
    • In the “Amount Received” field, you can enter the total amount the customer paid.
    • If the customer made a partial payment, you enter the partial amount and then select the invoice(s) you want to apply the payment to, specifying the amount for each if necessary.
    • If the customer paid the full amount, ensure that the amount entered matches the total due on the selected invoice(s).
    • The Importance of the “Deposit To” Account:
    • Before saving the payment, you need to decide where the funds are initially recorded.
    • Directly to a Bank Account: If you deposit the payment directly into your bank account as a single transaction, you can select your bank account in the “Deposit To” field.
    • Undeposited Funds (or Payments to Deposit): If you receive multiple payments that will be deposited together as a lump sum, you should select “Undeposited Funds” (or “Payments to Deposit”) as the “Deposit To” account. This is a temporary holding account. Using this method helps ensure that your QuickBooks records match your bank statements when you make the actual deposit. To record the deposit of these funds into your bank account, you’ll later use the “Bank Deposit” function under the “New” button.
    • QuickBooks Payments: If you have QuickBooks Payments enabled, the system can automatically record payments received online or through credit card charges processed within QuickBooks.
    • Applying Payments to Invoices: When you select a customer on the “Receive Payment” screen, QuickBooks will list their outstanding invoices. You need to check the box next to the invoice(s) being paid. The amount of the payment will be automatically applied to the selected invoices, but you can adjust these amounts if it’s a partial payment.
    • Receiving Cash Payments and Using a Petty Cash Account: If you receive a cash payment that is not immediately deposited into the bank, you can create a “Petty Cash” account (or another similar account) and select that as the “Deposit To” account. Funds in this account can later be transferred to the bank or used for business expenses (although managing petty cash involves a separate workflow).
    • Handling Credit Card Payments and Bank Fees:
    • When a customer pays with a credit card, you might receive a net amount in your bank account after the bank deducts a transaction fee.
    • The source recommends recording the full payment amount as received (and potentially depositing it to “Undeposited Funds”).
    • The bank fee is then recorded as a separate transaction during the “Bank Deposit” process. When making the bank deposit for the credit card payment, you’ll enter the actual amount received from the bank and then add a negative line item for the merchant fees (or transaction fees), specifying the appropriate expense account (e.g., “Merchant Account Fees”) and optionally the vendor (e.g., Stripe).
    • Matching Bank Feed Transactions: QuickBooks allows you to connect to your bank accounts and use the bank feed to match downloaded transactions with entries in QuickBooks.
    • If a deposit in the bank feed corresponds to one or more invoices, you can use the “Find Match” option to select the relevant invoices instead of categorizing the deposit.
    • When the total of the matched invoices doesn’t equal the bank deposit amount (due to fees), you can use the “Resolve the Difference” option to add a line for the fee, similar to the bank deposit process for credit card payments.
    • Applying Credit Memos: Even though you’re not receiving a cash payment, you use the “Receive Payment” screen to apply a credit memo to an outstanding invoice. By selecting the customer and ensuring both the invoice and the credit memo are checked, QuickBooks will match them, reducing the outstanding balance.
    • Applying Journal Entries: Similarly, to clear an old outstanding balance using a journal entry (which directly reduces the accounts receivable balance), you use the “Receive Payment” screen. Select the customer, and with both the old invoice and the journal entry checked, QuickBooks will apply the journal entry, resulting in a zero amount received but effectively closing the invoice.
    • Saving the Payment: Once all the necessary information is entered and the payment is correctly applied, click “Save and Close” or “Save and New” to record the payment.

    The source emphasizes the importance of choosing the correct “Deposit To” account to ensure accurate bank reconciliation. It also highlights that while there are multiple workflows to initiate receiving a payment, they all lead to the same “Receive Payment” screen for recording the details.

    QuickBooks Online: Recording Bank Deposits

    Based on the video transcript, bank deposits are a critical part of the accounts receivable workflow in QuickBooks Online, representing the final step where customer payments are recorded as entering your bank account. The source details several scenarios and methods for handling bank deposits.

    Here’s a breakdown of how bank deposits are discussed:

    • Depositing Payments Directly to the Bank Account:
    • If you receive a single payment and deposit it directly into your bank account as one transaction, you can select your bank account in the “Deposit To” field on the “Receive Payment” screen. In this scenario, the payment record in QuickBooks directly reflects the deposit in your bank.
    • Using Undeposited Funds for Later Deposits:
    • The source strongly recommends using the “Undeposited Funds” (or sometimes “Payments to Deposit”) account when you receive multiple customer payments that will be deposited together as a single lump sum at the bank. This is a temporary holding account.
    • The rationale is to ensure that your QuickBooks records accurately match your bank statements. When you look at your bank statement, you’ll see one total deposit, and recording individual payments directly to the bank would not reflect this consolidated deposit.
    • Recording the Actual Bank Deposit from Undeposited Funds:
    • To record the consolidated deposit in QuickBooks after using “Undeposited Funds,” you click on the “New” button and then select “Bank Deposit” under the “Other” section.
    • The “Bank Deposit” screen will display all the payments you have previously recorded into the “Undeposited Funds” account.
    • You then select the individual payments that were included in the actual bank deposit. QuickBooks will show the total amount of the selected payments.
    • You need to enter the date of the actual deposit into your bank account and choose the bank account where the funds were deposited.
    • Finally, you click “Save and Close” to record the bank deposit. This process moves the money from the temporary “Undeposited Funds” account to your designated bank account in QuickBooks, matching your bank records.
    • Handling Credit Card Payments and Bank Fees During Deposit:
    • When you receive credit card payments, the funds deposited into your bank account might be less than the total amount charged to customers due to bank transaction fees.
    • The suggested workflow is to initially record the full credit card payment as received (potentially to “Undeposited Funds”).
    • When you go to record the “Bank Deposit” for these credit card payments, you will enter the actual net amount that was deposited by the bank.
    • To account for the difference (the bank fee), you add a negative line item on the “Bank Deposit” screen.
    • For this negative entry, you need to select the appropriate expense account for merchant fees or transaction fees (e.g., “Merchant Account Fees”). You can optionally specify the bank or payment processor (e.g., Stripe) as the payee (entered as a vendor).
    • The negative amount of the fee will reduce the total deposit amount in QuickBooks to match the actual amount deposited in the bank.
    • Matching Bank Feed Transactions to Invoices (Skipping Manual Deposit Recording):
    • QuickBooks Online allows you to connect to your bank account and use the bank feed to download transactions.
    • If a deposit appears in the bank feed that corresponds to one or more customer payments (and you haven’t manually recorded the “Receive Payment” and “Bank Deposit” steps), you can use the “Find Match” option.
    • This allows you to select the open invoices that the deposit is intended to pay. By matching the deposit to the invoices, you effectively record the payment and the deposit simultaneously.
    • If a bank feed deposit for credit card payments is for a lesser amount than the total of the matched invoices, you can use the “Resolve the Difference” feature to add a negative entry for the merchant fees, similar to the manual bank deposit process.
    • Transferring Funds from Other Accounts to the Bank:
    • The source briefly mentions transferring funds into the bank from other accounts, such as a petty cash account. This is done using the “Transfer” function under the “New” button, specifying the source account (e.g., Petty Cash) and the destination bank account, along with the amount and date of the transfer.

    In summary, the video highlights that accurately recording bank deposits is essential for maintaining correct financial records in QuickBooks Online and for successful bank reconciliation. It emphasizes the importance of using “Undeposited Funds” for batched payments and correctly accounting for bank fees associated with credit card transactions, either through the manual “Bank Deposit” function or by utilizing the “Find Match” and “Resolve the Difference” features within the bank feed.

    QuickBooks Online: Recording Income/Invoices (Accounts Receivable)

    The Original Text

    in this video we’re going to talk about how to recognize income in QuickBooks Online using the accounts receivable workflow accounts receivable simply means that you’re going to recognize a sale whenever the customer agrees to buy something from the business and then possibly you will get a payment on that in the future if you were recognizing a sale at the same time that you’re getting paid then there would be no need for you to use the accounts receivable workflow and you want to check out another video that I have focused on recognizing income or recording income in QuickBooks by skipping everything we’re going to talk about in this video so check that video out the link should be on description we’re going to get started in QuickBooks online and we’re going to start with sort of the pre-sale cycle so a customer calls you and says hey I want to buy something from you a product or a service and the first thing you’re going to do is you’re going to give them an estimate essentially you’ll recognize that uh you’re going to make them an offer and then the customer will at some point email you back or call you back and say I’m ready to accept the offer let’s move forward and then we turn that into an invoice later on so let’s start by creating an estimate I’m just going to click on the drop- down menu select the customer I want to send the estimate to I could click on add new and create the customer on the fly so if I have a new customer and her name is Mary S Smith and I can add her address her phone number email all that information and then I click on Save and then that customer gets loaded into my database in QuickBooks you can have a build to address and also a ship to address so if you’re shipping products or delivering services on site you can use that shipping address to identify that then the estimate number is going to follow a natural sequence QuickBooks will start when one01 but you can create your own sequence if you want to when you’re first getting started so I’m going to do 4,000 501 and that would be the first one then every time I do an estimate then the next one will follow soon then I’m going to click on the drop- down menu to confirm the estimate date and then we’re going to scroll down onto products and services and then we pick the specific product and service that we are estimating or quoting this customer I’m going to pick Services here and I’m going to do two two quantity2 $75 and then on the description I’m going to put $75 per hour for support okay whatever service you’re providing you just put there the description of what you’re what you’re want to sell that customer you can add any additional notes any additional lines if you want to if you’re working with QuickBooks Online plus you can even add inventory that you’re selling them you can actually sell inventory products and then at the end simply we have an estimate for $150 I’m going to go ahead and click on Save and now the estimate has been saved into the system now by default estimates start in pending status so hopefully your customer will say yes agree to buying this service from you and essentially the best thing to do is to switch the estimate from pending down to accepted now notice that when it gets converted from pending to accepted a link to convert to invoice shows immediately essentially guiding you to the process that you should at this point invoice your client so they can pay you so I’m going to click on convert to invoice and then QuickBooks will take the same estimate that we just created and essentially create the invoice for you copy over all the information like the products and the services that you’re selling including descriptions prices all that stuff you actually allowed to change uh an invoice after the estimate so let’s say this actually took three hours and at two hours you can make that change now you do have a um a connected transaction next to it you see that is highlighted green letting you know that that’s a link transaction and if I screw up to the top it says link transactions as well I can actually click on that and it’ll open the estimate for me so it creates this history so you know exactly that this invoice came from an estimate originally then we can accept uh the invoice number where it is we can change the invoice date to whenever you actually provided that service or deliver that product you can select the due date uh based on your net terms so if it’s you know 15 days QuickBooks will calculate 15 days from the invoice date if you select 30 or 60 it will calculate the due date from that invoice date and that’s the essence of account receivable management which is you’re generating a bunch of invoices and you’re keeping track of the customers that owe you money and eventually they need to pay you so once we’re done we can either click save or we can click on review and send if you want to actually email the invoice to our customer so we’re going to go ahead and send the invoice to a customer or print it and mail it to them and that’s it now that customer officially owes us money now I want to create an invoice without regard of the estimate so you can see that that workflow flow you actually don’t need to create the estimate prior that was just an example for those that need to do that so I’m going to click on the new button on the top left and then click on invoice and that can take me straight into the invoice screen no linkages or workflow from an estimate if I click on the drop down menu I can pick a customer from the existing list or maybe a different customer let me pick customer a and then I’m going to scroll down and then select the products and services that I want to sell that customer so let’s say I want to sell this customer customer services I’m going to put um hourly support and I’m going to put here level two Tech and let’s say that we have for our level two technician we actually charge uh $100 an hour so I’m going to put here three hours for $100 an hour and you see that the total adds up to 300 now if I also have uh maybe a product that I’m selling them where there’s inventory or not you can add that additional line and we can put here miscellaneous cables and let’s say say this is a charge for $25 now if you have sales tax enabled and I have an entirely different video that focuses on sales tax I’ll put the link in the description whichever item you mark As taxable QuickBooks will calculate tax for that item I’m going to go ahead and uncheck both the items because we’re going to make the assumption that these items are not taxable or the sale is not taxable here at the right hand side you have some information about billable time we’re actually going to go back to that so now we have a total down here of $325 for the invoice again we can save it we can do save and close or we can save and send to our customers let me click on Save and close and now we have officially created uh two invoices now once you create your invoices you can actually go into the sales tab on the left hand side and then click on where it says invoices and then you’re going to get a list of all the invoices that you have in the system you can actually filter by all invoices including every invoice you ever created and you’ve been paid for already or just invoices are unpaid which are the ones that are currently in accounts receivable you see up here that there’s a $550 due it says not yet that means they’re not overdue yet and if you see down here in the bottom you get to see both amounts 225 and 325 we just created notice that there’s a status here in terms of due date based on what terms we use to create those invoices so that’s that was the first step just essentially just creating an invoice the Second Step would be to receive payments so there’s a couple of ways to receive payments we can simply go into the new button on the left hand side and then under invoice there is a button that says receive payment we can start the process from there if we start the process from there we’re going to go into a blank receive payment screen and then I have to click from the drop- down menu which customer paid me so I’m going to go ahead and select Mary Smith and then once I select the customer QuickBooks will show show me all the outstanding invoices are for this specific customer I’m going to pick the date in which the customer the date that I actually received the payment the payment method and there’s a pre-built set of payment methods you can create your own this is just for internal tracking so let’s say I’m going to put check and note if you have payments enabled in QuickBooks Online which is an additional service you can actually get a credit card number from your customer and charge it electronically through here or you can send the invoice to the customer they can pay you and if you use that service the payment gets automatically recorded in your behalf so you actually don’t have to go into this extra step and record the payment because QuickBooks is smart enough to know that if the customer paid you through their system they might as well create the payment for you now when you receive the payment and let’s say for example it’s a check I can put here the check number that the customer gave me so their check number I can put in here and there where it says amount received I can either select a part partial amount so if your customer underpay you you can put let’s say if they only pay you $100 you receive a partial amount and then you select the invoice that you want to apply the $100 to and then you select um the amount that you’re going to apply to that specific invoice if the customer pay you in full just type there the full amount and the full amount here in the top should um calculate for you as well so make sure that if they did pay you in full that you have both the full amount in the top and then the full amount up apply to the specific invoice you want to apply to now before we click save and close and accept this payment it’s really important to make the decision and this this is based on what’s happening with your business on whether or not this specific payment is going to go straight into the bank one to one so you’re going to have one payment and you’re going to make one deposit with a single payment or if you often receive multiple payments through the week and maybe once or twice a week you take a bunch of payments and make one single deposit now maybe you do electronic deposits with your with with your phone or with a scanner but essentially if you lump all the deposits together uh into a single deposit and then when you look at the bank statement you don’t see each individual payment you see one lump sum deposit then what you want to use instead of using the bank account as a deposit to account you want to use this account called undeposited funds so I’m going to do an example of that for now I’m just going to put it here in this Chase payroll account and we’re just going to have that to 25 bucks itself go in there and then when we do the other example it’s going to make sense when we show you that and then I click on Save and close and then essentially that completes the account’s receivable workflow when we go from in this case from estimate to invoice and then for to payment straight into the bank now let’s create one more invoice I’m going to go to new invoice and then I’m going to select a different customer click on the drop down menu and click customer B I’m going to select my services item and then put here here 5 hours at $75 an hour and we’ll put here hourly support again and then we’ll click on Save and close so now we have uh two outstanding invoices as if we go back into this screen here I’m going to refresh the all invoices screen now we have two outstanding invoices the one for customer a and one for customer B and I’m going to receive payments for each of these invoices but now I’m going to use this on dep positive funds account because I’m actually going to make one sum deposit for the whole 700 and I want that to match my bank whenever I go reconcile my bank so I’m going to receive the payments uh for these invoices but instead of going into new receive payment I’m going to use a different technique which is I’m going to open the invoice directly and then while I’m looking at the invoice on the screen I’m actually going to click on receive payment so I’m going to click on the actions button and then click on receive payment when I do that the payment screen opens but then one more step happens in your behalf which is it automatically selects the customer for you so you don’t have to go out there and select the customer again and it also automatically applies the invoice for you implying that this is exactly what you’re trying to do because you open the invoice in the first place and then clicked on receive payment so it just saves you a step because contextually that’s what you were trying to do now because I’m going to lump suum this deposit together with a different payment I don’t want to put this deposit in the bank on this screen I want to put it in this account called undeposited funds sometimes that’s called payments to deposit depending on how your QuickBooks file is set up but on depositor funds or payments to deposit should be a current asset account designed to hold your customer payments until you make the deposit we’re going to show you what that workflow looks like so let’s say they paid me with a check and we’ll put here the check number from the customer and then we’ll click on Save and close now I’m going to show you one more different workflow for receiving that payment I’m going to go into sales and click on all invoices and then notice that next to the invoice there’s a button that says receive payment so you can basically click on that and it will take you into the receive payment screen but I’m going to show you one more workflow I’m going to ex out of that going to uh sales and then under customers and let’s say I’m looking at the specific customer in the customer details window and then I’m looking looking at the specific invoice and then from here I can actually click on receive payment with within the options that it gives you notice it gives you tons of options but receive payment is one of the options so we’re going to go ahead and click on that so whichever way you decide to do it it’s going to end end you up at the exact same screen on the received payment screen then I’m going to select check let’s say this customer also pay me with a check and then we also have to make the decision to put this either on the bank account or in the undeposited funds or pay P to deposit account because again we want to choose this option that way we can do one more transaction which is Lum suum those payments together so I’m going to go ahead and click on Save and close and now I have both of those payments received and they’re sitting there in undeposited funds waiting for me to make or record that deposit so the next step to record the deposit is to click on new and then we’re going to go here where it says other we’re going to click on bank deposit once we click on bank deposit it you will notice that QuickBooks actually keeps track of every single payment you have received that you put into this account called on deposited funds essentially what you see here which is this group of transactions that are sitting here under the select the payments included in this deposit these are your undeposited funds and essentially you click on one then the other you see how it adds up to $700 here on the top right and essentially you’re going to say okay I got both of those payments on Monday but I didn’t make it into the bank until maybe Wednesday the 7th that’s the day that both of these Depo payments are going to be deposited into a single deposit and then we select the bank account that we’re going to deposit it into and then we click on Save and close so that’s how you do that workflow where you receive the payments into undeposited funds and deposit them together okay we’re going to talk about a little bit of more advanced technique which is working with credit memos so I’m going to go into the new button and create another invoice I’m going to click on new invoice and then I’ll select my customer we’ll select customer a one more time and then we’ll select any product or service and we’ll put we’ll put an amount here we’ll just put 1,000 now I’m going to backdate this invoice a couple of months ago we’ll put this back in December of 2023 and then we’ll click on Save and close and now there’s a $1,000 invoice outstanding now I’m going to click on sales and invoices and then click on unpaid so we can see the totality of our open invoices notice that this invoice is overdue $1,000 because it’s way past the payment deadline now let’s say that during this process I don’t want to edit or change an invoice from the prior year but I want to recognize that we maybe made a mistake on the job and we’re going to give this customer a $300 credit for example so instead of going back and editing the invoice which is generally not suggested especially when it’s from previous periods what you want to do is you want to recognize a reduction of that account’s receivable a reduction of the money the customer owes you by creating a credit memo so we’re going to click on the new button and then click on credit memo and then we’re going to select the customer that we’re giving the credit memo to click on the drop down menu and click on customer a then we’re going to select which product or service essentially we are refunding them it’s not really a refund because we’re not giving them cash we’re just adjusting their uh their open invoice but it’s technically a refund from a sales perspective because we had a sale in 2023 but now we’re refunding it in 2024 so it’s technically a an income refund but there’s no cash being exchanged we’re just going to receive the balance of the payment when the customer gets to gets to pay us so we’re going to select the product or service that we’re adjusting we’ll put here $300 and we can put uh recognizing our mistake for late delivery or something like that okay now depending on exactly whatever the circumstances are you want to make sure that that memo and that description it’s uh is well understood by any user in QuickBooks so we’ll go ahead and click on Save and close and now the credit memo is um entered automatically now this invoice if I open this invoice it still shows as it having an outstanding $11,000 and the reason for that is because credit memos don’t always automatic Ally apply to the invoice you actually have to take the credit memo and apply to the invoice by using the payments screen so I’m going to go into new and click on receive payment even though I’m actually not receiving a cash payment all I’m doing is I’m going to match that credit memo to that invoice so I’m going to select customer a and then I’m just going to make sure that this credit memo is checked so a quick books starts the process for you notice that you put a check mark on it and as long as you see that credit memo check box they’re being applied to the invoice and then here where it says amount received is nothing because essentially you’re not actually receiving the payment QuickBooks will through this transaction as long as you save it now match that credit memo to the invoice now you could put in the in the memo down here at the bottom you can put applying uh credit memo or something like that you really don’t need to do it it should be pretty self-explanatory but that’s essentially what this does it takes that that credit memo that was was sitting by itself unapplied and applies it to the invoice so then when I click on Save and close now I go back into this screen I can click on refresh and now this invoice should show up as an open balance of 700 uh no longer an open balance of uh 1,000 so I just click on the invoice and notice here that says balance du 700 Now by default in this screen it shows you the original amount of the invoice if I actually click on this little gear button on the right hand site where it says action I can actually click on the little checkbox for balance and I can actually see both the $1,000 that are from the original invoice amount and the actual open balance from the invoice it gives you a little bit better visual so let’s say that now the customer is ready to pay you and they’re going to pay you the $700 so I’m going to click on new receive payment and I’m going to add one more wrench into this whole thing just to give you a new example is I’m going to go ahead and select the customer but this time around my C your customer is paying you in cash but the cash is not even being deposited so I’m going to instead of putting it on deposited funds I’m actually going to put it into something called a petty cash account so I’m going to go into add new and then I’m going to create an account called petty cash click on Save and close and then I’m recognizing that I received $700 in cash to pay off the invoice but the money is not even going into the bank I’m going to put it in the petty cash and I as the invoice is being applied here you have it going into petty cash then you click on Save and close so perfect you have no more invoice open if I refresh on the screen it should show that we have zero amount due for invoices now once it comes time to put the cash from the petty cash account into the bank you can simply just do a transfer so we’re going to go to the new button and then click on transfer and let’s say that you know something happened with that cash it was maybe used for some business purpose purposes and I’ll do an entirely different video about managing petty cash cuz that’s a whole another world but let’s say that the the cash that was in the petty cash account that ended up uh that came from the customer but ended up making it into the bank was maybe $500 and not $200 then you end up doing the transfer here you can put in the memo saying you know uh customer a payment and then put uh $200 where used for gas or something like that but you actually need to go back into that Payday Cash account and record those expenses again that’s an entirely different video entirely different workflow but I think it is important to understand that sometimes you will get payments are in cash now I’m going to show you one more interesting workflow which is when you receive payment with a credit card and then when you deposit money into the bank you actually don’t get the entire invoice amount in the bank the bank actually charges you a transaction fee for being able to use a credit card to receive the money so I’m going to go to the new button and create a new invoice I’ll select one of these customers again pick a product or service I’m going to choose $1,000 one more time and then I’m going to click on Save and close and let’s say now that the money for that in customer payment came into the bank it actually came in for $971 31 right because the bank took a percent as a fee so we’re going to go into new receive payment we’re actually going to receive the payment uh as a whole so we’re not going to record in the receive payment screen the fee and we’re going to select here a credit card let’s say American Express deposit to we are going to send it on deposited funds just like when you get a bunch of checks and deposit them together same thing happens with credit cards where a multiple people pay you with a credit card and essentially the whole amount settles with the fee so we’ll go ahead and click on Save and close so now that payment is sitting in on deposited funds and you can have maybe multiple invoices with payments in undeposited funds and you’re going to do one more step which is going to go into new bank deposit and then we’re going to select the the the the payment but you’re not going to receive $1,000 you’re going to receive 97131 as I mentioned earlier so that difference is a fee so if I take $11,000 minus 97131 I get a amount of 28.6 and that’s the amount that the bank took from you to be able to receive uh a payment through a credit card now that’s going to be a negative amount so that’s a really important piece because once you put that into negative you notice in the top the total is 97131 now the most important thing is to put the account that this belongs to so normally it would be an account called Merchant fees or transaction fees or something like that uh in my particular chart of accounts is called merchant account fees so as long as you have an account called again Merchant fees credit card fees transaction fees stripe fees PayPal fees uh whatever account you create that’s represents that you put that in there now on the receive from you actually don’t need to put anything here if you want to you can put the actual bank’s name the bank that is taking the money away so let’s say this is a stripe or something like that we can actually create stripe uh in there as a vendor I typically like to do that as a vendor not a customer and that way you know okay that’s a fee that we’re paying to stripe so it becomes uh very clear so that’s up to you you actually don’t need to put U the receipt from vendor’s name there I know it’s a little confusing because you’re not really receiving anything they’re actually taking money away which is why is a negative amount so it’s like a negative receiving right it means that they’re taking away but essentially that illustrates it you can have multiple invoice payments in here that are going to be paid in full because the customer from their side they’re paying you 100% essentially the bank is the one that’s taking a fee at the very end which is why you’re receiving a lesser amount at the end so that little piece here that’s really important some people actually will break it up so if you have like three payments they’ll go inad and break up for the first invoice it was this amount for second invoice is this amount for third invoice is this amount if you want to keep that level of detail normally I just add all the fees for that one deposit and put it in there so we’ll click on Save and close and that completes that process now we’re going to shift gears to a slightly different workflow which is when you uh create re invoices and you manage accounts receivable but when you go record the deposits you actually don’t use the new record deposit screen you actually use the bank feed screen so I’m going to go into transactions and go into bank transactions and let’s say for example that you’re going to want to match your uh transactions from whatever you’re seeing in the bank feed screen so for example we see a teller deposit for $5,000 and then we see a stripe deposit for $96.89 so I’m going to recreate the type of transactions that you would basically match into your bank feed so I’m going to start with a couple of uh invoices that add up to the 5,000 so I’m going to go to new go to invoice go to customer a and then quickly create an invoice let’s say for $2,000 and then I’m going to click on uh save and new and I’ll create the other invoice that adds up to $3,000 so let’s go in here and we’ll make this one $33,000 and then we’ll do save and new again so now we have a $5,000 deposit that’s coming in through the bank feed and now we need to match the two invoices that add up to the5 ,000 so I’m going to click on the 5,000 transaction that’s in there and instead of selecting categorize I’m going to click on where it says find match then when I click on find match I’m going to get a list of all my open invoices and all the payments that I have received and then QuickBooks will attempt to try to match the two invoices for you now if QuickBooks doesn’t match them you can manually go and select the combination of invoices that would match that deposit and of course you need to verify with your records if that’s actually the customers are paying you not just because the dollar amounts match you have to make sure it’s the correct one because if you end up telling the wrong customer that they owe you money when they actually did pay you because you confused a different customer’s invoice that had the same dollar amount that’s going to be pretty embarrassing but that it’s a pretty simple workflow you just selected to invoices that match that amount and you click on Save and essentially you didn’t have to click on receive payment and you didn’t have to click on record deposit because the money was already downloaded as a transaction through the bank feed you can simply just match at that payment with outstanding invoices I’m going to do the exact same thing with this 9689 but instead I’m going to create two transactions that add up to $100 and I show you how to record the fee with uh within the bank feed so I’m going to go to new and go to invoice and then let’s say we have an invoice for customer a in this case for $60 and then we’ll do save a new and do an invoice for customer B now for $40 and the addition of those two should add up to 100 so it should be pretty simple and then we can save and close perfect now going back into the bank feed there’s my $96.89 I’m going to click on that I’m not going to click on ADD and I’m not going to click on categorize I’m actually going to click on where it says find match we’ll click on find match we’ll select the two invoices that add up to $100 now you will notice that QuickBooks automatically assumes that one of the invoices is being short paid so you have to be very careful about this particular step here you actually have to click on that amount and put 40 and then once I click tab to recalculate QuickBook is actually telling you there’s a difference for $311 so now you have to do what’s called resolve the difference which means add the fee so we’re going to click on resolve the difference and additional line adds in the bottom we’re going to come down here and put – 3.11 and essentially it gives you now a difference of zero and then under category this is where we’re going to put that merchant account fees account or whatever is called in your chart of accounts we’re going to select that and then the pay in this case is stripe or whatever that’s optional and then we click on save so essentially you want to make sure that the the all the invoices are being marked as 100% paid and then that the difference it’s a negative amount which is your credit card fee that you click on Save and then essentially you finish that workflow completely I’m going to show you one more workflow which is to take your billable time billable expenses and convert them into an invoice so I’m going to click on the gear menu and click on subscriptions and billing because I’m currently in The Simple Start version of QuickBooks Online which doesn’t support this specific feature I actually need to be at least on I need to be at least on Essentials and above to be able to do this piece so I’m going to click on change plans so let’s start by going into the new button and then clicking on single time activity so I’m going to create a time sheet item or enter a time activity that I want to Mark billable to the customer so I’m going to select my employee or my contractor that I’m using their time to then create into into a billable invoice I’m going to select let’s say salary item and then under customer I’ll pick customer B and then under service I’ll put here services and then I’ll put here that they worked let’s say 8 hours and 45 minutes and then on the description I can put a support on their issue or something like that you can also click on start start and end times so if you want to put put the times that they actually worked and then have QuickBooks calculate the hours based on that you can you can do that as well so that’s really up to you and how you want to do it and then on under here where it says billable here you put the rate that you want to invoice your client for so in here it tells you hey that was 2 hours and 15 minutes and based on that you’re going to be able to invoice your customer $918 with. 75 keep in mind that this doesn’t automatically invoice your customer it just keeps it pending for you to be able to invoice them later in the future when it’s time to invoice them so I’m going to click on Save and close and then I’m going to go create an invoice for this customer B so I’m going to go to new invoice I’m going to select customer B from the drop- down menu I notice that immediately on the right hand side there’s a drawer that tells me all of the potential transactions I can add to the invoice based on previous billable time so I’m going to click on ADD and essentially once I click on ADD automatically that billable time translates over to the invoice including the description the quantity and the rate so I don’t have to enter it again so that’s how you take billable time and add it to the invoices now notice that there’s a little uh link button here that says linked to a billable time because if you click on that you can actually see the time entry uh by itself so that’s what that’s for so you can actually inspect the transaction or even edit the transaction by itself so let’s go back into the invoice here and then we’re going to click on Save and close now I’m going to show you a really neat feature that you can only have in QuickBooks Online Essentials or up which is called delayed charges or delayed credits so I’m going to start by clicking on the new button and then I’m going to click on a delayed charge so a delay charge is when you want to sort of remind yourself to invoice that customer maybe at the end of the month for a particular service that you provided but you don’t want to create invoice just yet so let’s say for example back in February 1st for customer a we did some work so I’m going to put here under Services I’m going to put 2 hours for $75 an hour and that happened back in February 1st so I’m going to click on save a new and let’s say the next day on February 2nd we did more work for that customer B and we did uh Services let’s say this time around we did 3 hours and 40 3.45 hours at $75 an hour and then we’re going to click on Save and new and let’s say then on Monday the 5th we did some more work for this customer B and we did let’s say only 75 hours uh times $75 an hour and again the purpose of this is that you’re not creating an invoice each time you’re just entering a record in the system that you want to invoice this customer eventually for all of this work okay then I’m going to click on Save and close then let’s say I realize that I’ve overcharged them an hour for whatever reason I can go into to new and do a delayed credit which would be like the opposite of a charge and then I come back into customer B and let’s say I recognize that on the six and I can put uh uh recognizing we overcharged one hour for whatever reason right so we’re going to put quantity one 75 we don’t need to put a negative or anything like that I mean the but by default uh QuickBooks understands that we uh that we’re doing that then we’re going to go ahead and click on save and close and we’re done so now let’s say it’s the end of the month and we want to invoice our customer for all those charges and even the credits against those charges we’re going to go into the new button that we’re going to click on invoice then we’re going to select our customer customer B and then we’re going to notice on the right hand side that we see both the delayed credits delayed charges and also maybe some additional billable time that we did in another exercise so I can click on the filter button and say you know what only show me delayed charges okay and then I click on apply filter and then I can inspect each of these by clicking on the little link if I want to and I can click on ADD and then add and then basically you add each of the lines from the previously entered delay charges I can ex out this filter and then maybe only show the credits and then click on apply filter and then click on ADD and then in this case we didn’t put a negative on the credit transaction itself but quick books enters this one as a negative because that’s what a delayed credit is so then at the end of the day the math is the customer now also $24 and let’s say this happened right at the end of the month February 29th and then we click on save save and close save and send and then we’re done using our delayed credit and delayed charges now I going show you one more thing which is a billable expense I’m going to click on the gear menu and click on subscriptions and Billings and I’m going to upgrade to now the plus Edition I need to be at least in plus to be able to do this specific part which is the uh billable expenses so with QuickBooks Online plus you’re able to assign an expense to a specific customer so then when we Mark that expense billable uh you’ll be able to create an invoice with that specific line item so for example I’m going to go to new and click on expense and let’s say I went to H FedEx so we’ll put here FedEx I’ll create a new vendor and we Shi some documents for a customer that we weren’t supposed to pay for we did it for them anyway but we’re going to ask them to pay us back so under category I’m going to put here uh shipping or something like that if I have any sort of uh shipping account then on the description we’re going to put here overnighted uh documents as per customer let’s say we paid $27.96 and then here’s the key we’re going to click under the check boox that says billable basically uh reminding us that we have to invoice our customer for that and then most importantly we have to select our customer in here so we’re going to select our customer Mary Smith and essentially we’re going to put uh zero markup now you can actually mark up your billable expenses and make some profit in the process but if you don’t intend to market up or make additional income from that all you really need to know do is leave the mark up at zero then we’re going to click on Save and close and then when we go invoice our customer I’m going to click on the new button and then invoice I’m going to select from the drop- down menu go back to my new customer Mary Smith and then down here in the in the right we’re going to see billable expense we click on ADD and as we scroll down we see that the specific text that we had on the description comes in the amount comes in on the drop down menu you’re going to see that bank and that’s kind of on purpose is because this is actually reversing an expense and there’s no product or Services tied to that so this will be the only situation in which you will see uh nothing selected under products and services because this is in fact a billable expense and then that’s it then you you can maybe add some additional services to this if you want to let’s say I’m going to also charge them $75 for like going to FedEx and shipping the document or whatever um you you can add additional services on top of the billable expenses that you’re getting reimbursed for and then you click on Save and close and that finishes that workflow I’m going show you one more thing which is using a journal entry to adjust like an old accounts receivable sort of just to clean up your old accounts receivable now this is more of an advanced technique and maybe only an accounting professional that understands debits credits and what a journal entry is quite frankly are the ones that should be doing this but I’m goingon to show show you regardless because it is part of account receivable Management in one way shape or form so I’m going to go into reports and I’m going to look for the accounts receivable um aging report I’m going to go into accounts receivable aging and then I’m going to notice that I have maybe an old customer here with a $5,000 balance that’s really really old and I want to just make an adjustment and get rid of that $5,000 balance or maybe I want to get rid of half of it or whatever it happens to be so I want to use a journal entry to adjust that balance so the way that will work is we go in the new button then we click on journal entry and as I mentioned again this is more of an advanced technique I’m going to go in the first account and click accounts receivable and accounts receivable is going to be reduced by $5,000 which will be a credit and again this is more of a something accountants would do and then we can put uh writing off old balance or something like that so we come in here and put our our comment writing off all balance and under name we’re going to put our customer’s name we’re going to find our customer here called Old customer and then generally when you write off the old balance you’re going to go against a sales account and income account or if you have something called returns or refunds or something like that you can also do like a income refunds account or sometimes there will be an account called Bat debt or something like that so that that could also be the account so depends how your account is set up it could be a sales account a refunds account a returns account or or a bad debt account those are typically the accounts that we use to write off all balances so we use a journal entry we use the power of debits and credits and double entry accounting to reduce our accounts receivable and at the same time to uh record the expense or the reduction of income which is to reduce um an open invoice so then we click on Save and close and that essentially writes off the balance notice that now old customer has a net balance of zero but now I need to apply that journal entry into that old invoice simply by clicking on the new button and then clicking on uh receive payment it’s a little bit counterintuitive cuz you really never got paid for that but we’re going to use receive payment then we’re going to select our old customer here and then as long as again our invoice is checked and our journal entry is checked and notice this is like an old invoice from 2022 as long as those two things are checked and at the end the amount received is zero so there’s actually no new money coming into the bank we click on Save and close and that will apply that uh journal entry to adjust your account receivable make the open invoice disappear and you essentially will be done with that the very last thing I’ll show you is uh how to create a customer statement that shows you the history of all the invoices and payments you ever had for that specific customer so I’m going to click on the new button then I’m going to go into statement it’s under other so interesting enough it’s not under customer is under other I’m going to go to statement and then I’m going to select which customer I want to see uh sort of a history of statement for so I’m going to select which is the one that I want to uh select then I’m going to click on print or preview that way I get to see the history and then QuickBooks will show me all of the transactions that are open that essentially add up to the $918 so you get to see all the positives and all the negatives that carry over a balance to eventually show you what the ending balance for that customer is if I excit that and I go from instead of clicking on balance forward I click on transaction statement and then click on apply and then I’m going to just select customer B and click on print preview you’re going to see that the statement looks slightly different so depending on what type of statement you want to see you’re going to have a transaction statement statement you’re going to have an open item statement or you’re going to have a balance forward statement and you want to play with each one of these to see which is the one that makes the most sense to you and the one that your customer will understand probably the best you want to uh go through and try all the different type of statements that you have before you make a decision in terms of what’s the actual statement that you want to send to your clients so anyway I hope you enjoy this video on the accounts receivable workflow and how to record income using these workflows make sure you check the description below there’s tons of other videos that talk about other things accounts payable workflow deeper into bank feeds deeper into reports and how to record income without accounts receivable there’s a separate video that explains that in there which skips invoices skips payments it just goes straight into deposits or Bank feeds anyway I hope you enjoyed it and I see you in the next one

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Microsoft 365: SharePoint Online Fundamentals

    Microsoft 365: SharePoint Online Fundamentals

    These resources offer a comprehensive introduction to Microsoft SharePoint Online and its integration within the Microsoft 365 ecosystem. They guide users through accessing SharePoint, understanding different site types like team and communication sites, and navigating their features. The materials also explain how to manage and customize SharePoint sites, including navigation, appearance, and the application of site templates. Furthermore, they cover collaboration tools such as Microsoft 365 Groups, file management with OneDrive for Business, and methods for discovering and managing content and user profiles within the platform. Finally, the resources touch upon site administration, including site creation, deletion, and restoration.

    Microsoft SharePoint Online Study Guide

    Quiz

    1. Explain the primary purpose of Microsoft SharePoint Online in 2-3 sentences.
    2. Describe two different roles a user might have when interacting with a SharePoint Online site.
    3. What is Microsoft 365 (formerly Office 365), and how does it relate to accessing SharePoint Online?
    4. Outline the steps a user would typically take to access their SharePoint Online account.
    5. Identify and briefly describe the function of the “app launcher” in the Microsoft 365 environment.
    6. Explain the difference between the online/web-based versions of Microsoft applications and their desktop counterparts within the context of a Microsoft 365 subscription.
    7. Describe the search functionality within the Microsoft 365 home page and highlight one of its key features.
    8. What is a Microsoft 365 group, and what are two benefits it provides for collaboration?
    9. Briefly explain the purpose of OneDrive for Business and how it can be accessed.
    10. What is the SharePoint start page, and what are two things a user can do from this page?

    Quiz Answer Key

    1. Microsoft SharePoint Online is a web-based platform and cloud service designed to help organizations manage and share content and knowledge effectively. It empowers teamwork by facilitating quick information retrieval and creating seamless collaboration through the web.
    2. A typical user in a SharePoint site might primarily view and interact with content, such as reading documents or viewing web pages. A site owner, on the other hand, has administrative responsibilities, including managing site content, permissions, and overall structure.
    3. Microsoft 365 is a subscription-based service that includes web-based versions of Microsoft Office applications and other online services, including SharePoint Online. It serves as a common gateway through which users can access various Microsoft cloud platforms, including SharePoint.
    4. To access SharePoint Online, a user typically starts by going to office.com or microsoft365.com in a web browser and signing in with their organizational email address and password. Once logged in to the Microsoft 365 home page, they can then locate and click on the SharePoint icon (often a stylized “S”) in the app launcher or navigation pane.
    5. The app launcher, often symbolized by nine dots or a “waffle” icon in the top left corner of the Microsoft 365 interface, is a menu that provides quick access to all the Microsoft 365 applications available to the user, including Outlook, OneDrive, Word, Excel, PowerPoint, Teams, and SharePoint.
    6. Online or web-based versions of Microsoft applications are accessed through a web browser and are part of the Microsoft 365 subscription, allowing users to work from any device with internet access. Desktop applications, in contrast, are installed directly onto a computer’s hard drive and typically require the user to be on that specific machine to access the software.
    7. The search functionality within the Microsoft 365 home page offers a powerful way to find content across various applications and services, including file contents, site names, people, news, and conversations. A key feature is its ability to search not only file titles but also the content within the files and even text within images.
    8. A Microsoft 365 group is a service that connects different Microsoft 365 tools, allowing a defined set of people to collaborate effectively. Two benefits include a shared inbox and calendar for streamlined communication and scheduling, as well as a shared document library for centralized file storage and collaboration.
    9. OneDrive for Business is a personal cloud storage space associated with a user’s work or school Microsoft 365 account, allowing them to store, protect, and share their files. It can be accessed by clicking the blue cloud icon labeled “OneDrive” on the Microsoft 365 home page or through the app launcher.
    10. The SharePoint start page is the initial screen users see when they access SharePoint Online. From this page, users can view news and updates from across their organization, see and navigate to SharePoint sites they frequently visit or follow, and use a global search to find content, sites, and people within their Microsoft 365 environment.

    Essay Format Questions

    1. Discuss the key differences between a SharePoint Online team site and a communication site, highlighting their respective purposes and typical use cases within an organization.
    2. Explain the strategic considerations involved in planning the structure and navigation of a new SharePoint Online site, emphasizing the importance of user experience and site maintainability.
    3. Describe the evolution of site organization in SharePoint Online, contrasting the use of subsites with the modern approach utilizing team sites, communication sites, and hub sites. Analyze the benefits and drawbacks of each method.
    4. Outline the various ways a site owner can customize the look and feel of a SharePoint Online site, including the use of themes, headers, and navigation settings, and discuss the impact of branding on user engagement and site recognition.
    5. Discuss the administrative responsibilities associated with managing SharePoint Online sites, including site creation, deletion, restoration, and the importance of understanding user permissions and site governance policies.

    Glossary of Key Terms

    • App Launcher: A menu (often a nine-dot grid or “waffle” icon) in the Microsoft 365 interface that provides access to all available Microsoft 365 applications and services.
    • Cloud-based Service: A service, such as software or data storage, that is hosted on remote servers and accessed over the internet, rather than being installed or stored locally on a user’s device.
    • Communication Site: A type of SharePoint site designed primarily for broadcasting information, news, and updates to a large audience in a visually appealing format.
    • Document Library: A specific type of list in SharePoint used for storing, organizing, and managing files and documents. It offers features like version control and metadata.
    • Microsoft 365 (formerly Office 365): A subscription service offered by Microsoft that includes a suite of web-based applications (like Word, Excel, PowerPoint, Outlook) and cloud services such as SharePoint Online and OneDrive.
    • Microsoft 365 Group: A service within Microsoft 365 that allows a group of people to collaborate more effectively by sharing resources like a common inbox, calendar, and SharePoint site.
    • OneDrive for Business: A personal cloud storage service associated with a user’s work or school Microsoft 365 account, used for storing, syncing, and sharing files.
    • SharePoint Online: A cloud-based platform and service from Microsoft that enables organizations to share and manage content, collaborate on projects, and build internal websites and portals.
    • SharePoint Start Page: The initial landing page in SharePoint Online that provides users with access to news, frequently visited sites, followed sites, and a search bar for finding content.
    • Site Owner: A user with administrative permissions over a specific SharePoint site, responsible for managing its content, settings, user access, and overall structure.
    • Team Site: A type of SharePoint site designed for collaboration among a team of people, providing a shared space for files, communication, and project management tools.
    • Tenant: A dedicated instance of the Microsoft 365 service provisioned for an organization. It includes all the organization’s users, data, and configurations within the Microsoft cloud.
    • URL (Uniform Resource Locator): The web address of a resource on the internet, such as a SharePoint site or page. Understanding the components of a SharePoint URL can provide insights into the site’s structure.

    Briefing Document: Microsoft SharePoint Online Fundamentals

    Date: October 26, 2023 Prepared For: Individuals seeking to understand and utilize Microsoft SharePoint Online. Sources: Excerpts from “Pasted Text” (a transcript of a Microsoft SharePoint Online introductory course).

    Executive Summary

    This document summarizes the key themes and concepts introduced in the initial modules of a Microsoft SharePoint Online course. The course aims to equip new users and prospective site owners with the foundational knowledge to manage and share content, create engaging web pages, and understand the roles and potential of the SharePoint Online platform within the Microsoft 365 ecosystem. The primary focus is on accessing SharePoint Online through Microsoft 365, navigating its environment, understanding different site types (Team and Communication), and basic site management principles.

    Main Themes and Important Ideas/Facts

    1. Introduction to SharePoint Online

    • Definition: SharePoint Online is a web-based, cloud-based platform from Microsoft designed to help organizations share and manage content and knowledge, empower teamwork, facilitate information discovery, and enable seamless collaboration.
    • Quote: “SharePoint online is a cloud-based service some organizations use it in conjunction with Microsoft 365 and some of them use it as a standalone web-based application or platform but the great thing about SharePoint online is that it really helps organizations to share and manage content and knowledge by empowering teamwork quickly helping them to find information and creating seamless collaboration through the web.”
    • Target Audience: The course is designed for individuals new to SharePoint and those looking to create and manage their own SharePoint sites or become new site owners.
    • Quote: “This class is designed for someone who is new to SharePoint in this course we’re going to explore how to access SharePoint online through office 365.”
    • Potential: SharePoint Online offers significant potential for both site owners and end users in managing and sharing content and creating engaging web pages.
    • Quote: “You’ll be amazed at the great potential that SharePoint online has for both the site owner and the end user.”

    2. Accessing SharePoint Online through Microsoft 365

    • The Gateway: SharePoint Online is primarily accessed through Microsoft Office 365 (now Microsoft 365), a subscription-based suite of web-based services.
    • Quote: “The first thing we need to do to access SharePoint online is actually go into another Microsoft platform called Microsoft Office 365 or Microsoft 365.”
    • Login Process: Users can access Microsoft 365 by navigating to office.com in a web browser (e.g., Microsoft Edge, Google Chrome) and signing in with their organizational email address and password.
    • Quote: “To do that we’re going to be logging into the office.com site… right here I need to click on sign in and then of course I’m going to paste in my email address… and then I’m going to click on next I’ll need to provide my organizational email address because I will be logging into a work Office 365 account.”
    • Homepage Overview: The Microsoft 365 homepage provides access to various online applications and recently accessed files. Key elements include the app launcher (waffle/Rubik’s Cube icon), organization name, and the online versions of Office applications.
    • Quote: “Number one top left hand corner I have the app launcher next to it I might see my organization’s name and then that I’m in office but this is the online version of office so again this will be our jumping point to get into SharePoint online.”
    • Cloud-Based Nature: Microsoft 365 and SharePoint Online are cloud-based applications, requiring only a computer, web browser, and internet connection to access.
    • Quote: “When we’re talking about Microsoft 365 we’re talking about web-based applications these are cloud-based applications meaning that all you need for them to run is actually your computer a web browser and the internet.”

    3. Navigating the Microsoft 365 Environment

    • App Launcher: The app launcher provides access to all available Microsoft 365 applications, including SharePoint. Users can pin frequently used apps to the launcher for easier access.
    • Quote: “This is called the app launcher sometimes people give it other names like the Rubik’s Cube or the waffle but the correct term is app launcher and from anywhere where you are in Microsoft 365 this allows you to see a list of all your M365 applications.”
    • Creating New Content: From the Microsoft 365 homepage, users can create new online versions of Word documents, Excel workbooks, and PowerPoint presentations directly in their web browser. These are automatically saved to OneDrive for Business.
    • Quote: “Over on the left hand side in my navigation pane I have the ability to create new content using Microsoft 365. when I click on this create button you’re going to see that it gives me options to create new Word documents PowerPoint presentations even Excel files using the online versions of the Microsoft applications.”
    • Search Functionality: Microsoft 365 offers a powerful search capability that searches through file titles, content, SharePoint sites, people, news, conversations (Outlook, Teams), and even text within images.
    • Quote: “When you do a search on your Microsoft Office 365 home page it’s not only going to be searching through the titles of files it searches through their contents.”
    • Customization: Users can customize their Microsoft 365 environment by changing the theme, switching to dark mode, and pinning/unpinning apps from the app launcher. These settings can be accessed via the settings gear icon.
    • Quote: “If I go to the top right hand corner of my Microsoft 365 home page you’re going to see a little white gear this is something that you will see throughout Office 365 web-based applications this represents the way to basically get into your defaults for your Microsoft 365 account.”

    4. Understanding Microsoft 365 Groups

    • Definition: Microsoft 365 Groups are a service within Microsoft 365 that connect different collaboration tools. They allow a group of people to share documents, create spreadsheets, work on project plans, schedule meetings, and send emails to the group.
    • Quote: “Microsoft 365 group now groups are a service that work inside Microsoft 365. they help you really to connect different tools that you need to collaborate with a Microsoft 365 group you can take a group of people and actually write documents create spreadsheets work on project plans even schedule meetings or send email to that group of people.”
    • Accessing Groups: Groups can be accessed primarily through Microsoft Outlook (online and desktop). In Outlook online, groups are found at the bottom of the folder pane. In Outlook desktop, they are listed in the folder pane as well.
    • Quote (Outlook Online): “Inside of Outlook online to access my groups I’m going to come over to my folder pane… then to access your groups you’re going to want to scroll all the way down to the bottom you’ll see that groups are also something that can be expanded and collapsed so make sure that you have them open so that you can see them.”
    • Quote (Outlook Desktop): “Inside Outlook desktop and I want to access my groups notice over here that I have my folder task pane open and if I come down towards the bottom I’m going to see the groups that I’m part of inside my organization.”
    • Collaboration Tools within Groups: Each Microsoft 365 Group comes with a shared inbox, shared files (stored in a SharePoint document library), a shared calendar, a shared OneNote notebook, and often an associated Planner for task management and a SharePoint Team Site.
    • Quote (Shared Files): “To access that area and come directly to this little piece of paper button this is actually way to go to the shared files that this group has in common when I click on it it takes me to what’s called a document Library this is actually part of a SharePoint site but we’re able to access it here from inside the Outlook web application.”
    • Quote (Shared Calendar): “I’m going to come up now again and click on the shared calendar button this takes me into another browser tab for the calendar web application and it’s going to take me specifically to the group calendar that’s been set up.”
    • Quote (Planner): “Planner is a task application that’s part of your Microsoft 365 platform and when you click on planner it opens up the Microsoft planner application inside of a browser tab… for viewing tasks inside of what are called buckets.”
    • Quote (SharePoint Site): “When I click on site I’m going to see another browser tab open this is taking me to a SharePoint site it’s actually what we call a team site it’s a site that’s been created to allow my Microsoft group to have a place to collaborate within a website.”
    • Creating and Managing Groups: Users can create new Microsoft 365 Groups through Outlook (online). When creating a group, users can define the name, description, privacy settings (public or private), and whether members receive notifications. Owners can manage group membership.
    • Quote (Creating): “To make a new group of my own I’m going to select new group this is going to take me into where I can give my new group a name as I do this it’s going to create an email account for my group I can update this by just changing this name up here I’m also going to include a description this would help other people if they were discovering my group to know what my group is about.”
    • Quote (Managing): “For this I have a manage groups option when I click here it’s going to take me and show me the different groups that I’m currently part of in fact it refreshes and opens up the People application because this is where my group membership is managed from.”

    5. Understanding Delve (Microsoft 365 Profile)

    • Purpose: Delve is an application within Microsoft 365 that helps users discover and organize information based on their activity and connections within the organization. It tracks files worked on and people collaborated with.
    • Quote: “With your profile Microsoft keeps track of where you go files that you work on even people that you work with inside your organization now this might sound scary but it’s not they use an application called Dell to help you manage this information and it’s really made to help you discover and organize the info.”
    • Permissions: Delve respects existing permissions, so users will only see documents they already have access to. Private documents remain private.
    • Quote: “Delve is never going to change any permissions you’ll only see documents that you already have access to and other people will never see your private documents.”
    • Accessing Delve: Delve can be accessed from the user’s profile picture or initials on the Microsoft 365 homepage or by searching for “Delve” in the search bar or app launcher.
    • Quote: “From my home page I’m going to come to the top right hand corner to my picture or initials and click and down here I’ll see a hyperlink that will give me access to my office profile when I click on this it’s going to take me to an application called Dell.”
    • Features: Delve displays recent documents, people users work with, and a home screen showing recent documents their colleagues are working on. Users can favorite documents and navigate to colleagues’ profile pages.
    • Quote (Home Screen): “When I go to my home screen I’m going to see recent documents that co-workers have worked on they’re going to appear on little cards that are called content cards and the idea is that it tells me the type of file when it was last updated and also where it’s stored.”
    • Safety and Privacy: Delve does not store files; it’s a tool to access them. It does not change permissions, and only users can see their private documents within Delve.
    • Quote: “Yes your documents are safe inside of delve delve will never change permissions for your documents and only you can see your private documents in delve and also your files aren’t actually stored in Dell delve is just the tool to help you access the files.”

    6. Understanding OneDrive for Business

    • Definition: OneDrive for Business is cloud storage within a user’s Microsoft 365 account for storing, protecting, and sharing work or school files. It can be accessed from any device.
    • Quote: “OneDrive for business it’s also sometimes called OneDrive for work or school so what is OneDrive OneDrive is really the cloud storage that is part of your Office 365 account just for you it lets you store and protect your files and share them with others and get them from any device.”
    • Storage Space: Users typically get over one terabyte of storage space.
    • Quote: “With Microsoft 365 you can get over one terabyte of space for storing your files.”
    • Accessing OneDrive: OneDrive for Business can be accessed from the Microsoft 365 homepage via the app launcher or by searching for it.
    • Quote: “I can also come over to my app launcher and I’ll see OneDrive there as well.”
    • Interface: The OneDrive for Business interface includes a command bar at the top and a navigation pane on the left, with views for “My files,” “Recent,” “Shared,” and the “Recycle bin.”
    • Quote: “A few common interface settings is that you’ll see a command bar at the top also on the left you’re going to see a navigation pane the default view in OneDrive for business is called my files this is exactly what we’re seeing here.”
    • File Management: Users can create new folders and files, drag and drop files into folders, and upload files and folders from their local computer or network drive.
    • Quote (Creating Folders): “Up in the command bar I’m going to see options to help me manage content one of them is that I can create new folders and files using office 365. I’m going to create a new folder I can name it and then I can take my files and store them inside the folder.”
    • Quote (Uploading): “For this I’m going to use my upload button with my upload button I can upload files and folders.”
    • Synchronization: OneDrive files can be synchronized with a user’s local computer using the OneDrive sync client, allowing access through File Explorer. Changes made locally are automatically synced to the cloud.
    • Quote: “The other thing that some people will do is synchronize their OneDrive files synchronizing can be important if you don’t want to have to come to this site to be able to access your OneDrive files it actually allows you after we’ve synchronized to access your files from your file explorer.”
    • Sharing Files: Users can share files with colleagues by generating a link (internal or sometimes external to the organization) and granting either view-only or editing permissions. Shared files are indicated in the OneDrive view.
    • Quote: “Up in the command bar you’ll see a share button also if you come to the ellipses next to the file’s name you’ll have another option to share now remember sharing is not like emailing a file that’s attached through email because when we email file attachments it recreates a copy of the file… when I share a file through OneDrive I’m giving my co-worker or the person I’m sharing the file with a link to the file it’s not creating copies of it.”

    7. Introduction to SharePoint Online Sites

    • Accessing SharePoint: Users can access SharePoint Online from the Microsoft 365 homepage via the app launcher or by searching for “SharePoint.” This leads to the SharePoint start page.
    • Quote: “From my Microsoft 365 home page I’m going to come up to the search bar and type in SharePoint… as I come to SharePoint we’re going to see that I’m still in Office 365 so I can see the app launcher… and also that I’m now inside of SharePoint.”
    • SharePoint Start Page: This page displays content cards for news updates and SharePoint sites the user has permission to access. Users can favorite sites to follow them.
    • Quote: “This area that I’m in right now is called the SharePoint start page instead of seeing a specific SharePoint site what I’m seeing are content cards that allow me to see different news updates or sites that are part of my organization it’s a great way to explore what kinds of sites your organization has.”
    • Searching within SharePoint: The search bar on the SharePoint start page allows for a global search across SharePoint, OneDrive, and other Microsoft 365 content, with pre-filtered results for files, sites, people, news, images, and Power BI reports.
    • Quote: “If I come up here and do a search and it can be for people it can be for Content it can be for anything it’s a very very Global search because not only am I searching through SharePoint I’m searching through my OneDrive I’m searching through anything that’s stored within my Microsoft 365 account.”
    • Navigating a SharePoint Site: Once on a SharePoint site (e.g., a Team Site), users will see common elements like the site title, navigation (often on the left or top), search bar (scoped to the site by default), and user login information.
    • Quote: “I’m now on a SharePoint site this is what we call a SharePoint team site now a couple of common features that you’ll see in a SharePoint site we’re still inside of Office 365 so I see the app launcher also notice right now the search bar tells me that if I do a search it will default to just search the site that I’m in.”
    • Common Site Content: SharePoint sites often contain document libraries (for storing files) and SharePoint lists (for tracking tabular data like product lists or contacts).
    • Quote (Document Library): “I’d like to do is take you to a really common piece of content called a document Library when I click on documents it’s going to take me to a list of folders and files that this department has stored inside their SharePoint site.”
    • Quote (SharePoint List): “For this I’m going to come over to my site navigation and go to product list this is an example of a SharePoint list with products here I’m going to see information that would normally be stored in a spreadsheet but here it’s just right inside of my SharePoint site.”

    8. Types of SharePoint Sites: Communication Sites

    • Purpose: Communication sites are designed to share news, reports, status updates, and other information visually with a broad audience. They are primarily for broadcasting information.
    • Quote: “What exactly is a communication site in Microsoft 365 a communication site is a way to share news reports and status and other information in a visually compelling way a Communications site is really made to broadcast information to a broad audience.”
    • Membership: Typically have a small number of content contributors and a much larger audience of information consumers.
    • Quote: “Usually a communication site only has a small set of members that contribute content but then that content is consumed by a much larger audience.”
    • Microsoft 365 Group Association: Do not automatically create a Microsoft 365 Group.
    • Quote: “When you create a communication site a Microsoft 365 group is not created.”
    • Common Features: Often include news releases, links to resources, calendars of events, and sometimes integration with platforms like Yammer for leadership communication.

    9. Types of SharePoint Sites: Team Sites

    • Purpose: Team sites are designed to connect teams, allowing them to share resources, collaborate on files, and create and manage lists of information. They are focused on collaboration.
    • Quote: “Team sites allow you to connect you and your team together to share resources and content team sites are a great place to store and collaborate on files and even create and manage lists of information.”
    • Membership: Team sites have a defined set of members (team owners and members) who typically have permissions to edit content at different levels.
    • Quote: “If you go to the top right hand corner you’re going to see a list of team members when you click on this list you’re going to see that some of them are team owners and some of them are members but both a team owner and a team member have permission to edit content on this site at different levels.”
    • Microsoft 365 Group Association: Often associated with a Microsoft 365 Group, which helps manage membership and provides additional tools like a team calendar, shared OneNote notebook, and Planner.
    • Quote (Team Calendar): “Often team sites are going to be regulated by an Office 365 group that is helping to manage the membership of your team this calendar will take me to exchange online and let me see a calendar that’s been created for my Mark 8 project team.”
    • Quote (OneNote Notebook): “When a team site is created for a group of people an empty OneNote notebook is created that can be accessed from the team site.”
    • Quote (Planner): “These planners are created again when the site is created this particular one when we open it up will open in planner this is of course a task management application that’s part of The Office 365 experience.”
    • Common Features: Include left-hand navigation, recycle bin, document library, team calendar, OneNote notebook, and Planner app.

    10. Planning and Creating SharePoint Sites

    • Importance of Planning: Before creating a site, it’s crucial to plan the site’s organization, including navigation, lists, libraries, and pages, to ensure ease of maintenance and user productivity.
    • Quote: “When a site’s content is logically organized and easy to find it’s going to be easier to maintain and manage it also helps your site users to be more productive so as a site owner you need to plan out your site and there needs to be some strategy involved before you get started.”
    • Site Collections: SharePoint sites and their associated content (pages, libraries, apps) form a site collection.
    • Quote: “With SharePoint online you will have what’s called a site collection which means the different pages that make up your site the document libraries the different applications all come together in a collection that is your SharePoint site.”
    • Permissions to Create: Typically, only users with specific permissions granted by a SharePoint or M365 administrator can create new SharePoint sites.
    • Quote: “Keep in mind that to create a SharePoint site you have to have permission to do so in a lot of organizations normal users cannot create SharePoint sites and there is a request process that you need to go through and your site will be created for you a SharePoint admin or an M365 Global admin can give you the ability to create sites through permissioning.”
    • Creating a Team Site: From the SharePoint start page, users with permission can click “Create site” and choose “Team site.” They need to provide a site name (which also creates an Office 365 Group and calendar), a site description, privacy settings (private or public), and add members and owners. The site URL is created based on the site name and is not easily changed later.
    • Quote: “I’m going to click on create site on the right hand side a panel opens up asking me the type of site I want to create… we’re going to do a team site now I need to name my site after my site’s named I’m also going to see that underneath it’s creating an Office 365 group and also a calendar… this group and calendar are important because they’re going to help me manage calendar events and also communicate with the different users of my site using email the other thing that’s really critical here that’s created is your site URL this is something that cannot be changed very easily after the site is created your site name can always be updated later on.”
    • Adding Members and Owners: When creating a team site, users can add colleagues as site members (with editing permissions) or site owners (with more administrative control). The site creator is automatically a site owner.
    • Quote: “At this point I need to start typing in the names of my co-workers who will be able to access this site as I type these co-workers names in they’re actually populating from my company address list or my active directory this makes it really easy for me to go in and quickly start creating the members of my site these are again the people who will be able to access and edit content on my site… I can actually at this point before I’m even done creating the site allocate either my different site members to be owners or site members… because Megan’s creating the site she will also automatically be assigned the role of a site owner.”

    11. Managing the Look and Feel of SharePoint Sites

    • Site Templates: After site creation (and accessible via Site Settings), users can apply pre-designed site templates provided by Microsoft or their organization to quickly add content and structure based on common scenarios (e.g., event planning, project management). Templates update the site’s content, color, and add web parts.
    • Quote: “Here in my training opportunities team site that I just created I’d like to go ahead and apply one of the site templates to this site to do that I’m going to go to my site settings site settings are located in the top right hand corner of SharePoint online directly from your SharePoint site… about fourth from the bottom in the top menu I’ll see apply a site template when I click on this it will open up the site templates.”
    • Site Settings: A central place to manage various aspects of a SharePoint site, accessed via the gear icon in the top right corner.
    • Quote: “To do that I’m going to go to my site settings site settings are located in the top right hand corner of SharePoint online directly from your SharePoint site so they’re really easy to get to so I’m going to come up and click on this white gear located in the top right hand corner of my screen.”
    • Subsites (Discouraged in Modern SharePoint): While it’s still possible to create subsites (sites within a site), modern SharePoint in Microsoft 365 recommends a flat site architecture using team sites, communication sites, and hub sites for better manageability and migration. Subsites can be created via Site Contents.
    • Quote: “However with modern SharePoint in M365 we really want to steer clear of subsites one of the reasons is that if you already have subsites and you’re migrating to SharePoint online and M365 it makes the migration process a lot more difficult what SharePoint online recommends instead is that you try to keep the architecture of your site flat instead of using subsites we want you to utilize team sites communication sites and what’s called a hub site to help keep the structure of your SharePoint site very flat.”
    • SharePoint Online URLs: The anatomy of a SharePoint Online URL provides information about the protocol (HTTPS), tenant name, SharePoint platform (sharepoint.com), site location (/sites/ or /teams/), and the specific site and content (e.g., document library – /Shared Documents/, list – /Lists/).
    • Quote: “If we come up here in this site I’m in the sales and marketing team site of this organization I’m in a Microsoft environment so the URL is a little bit weird but we can still refer to it to help us understand the anatomy of a SharePoint site the first thing you’re going to notice is that it’s an https site this lets us know that it’s a modern site… the next thing I’m going to see is the company name… and also this is the URL of your tenant now the next thing I’m going to see is I go over to the right it’s going to tell me that I’m in and SharePoint you’ll see that it says sharepointon.com this lets me know that I’m using SharePoint online… the next thing I’m going to see is that I’m in a site this means that I’m in one of the sites that is part of this company’s collection of SharePoint sites then I finally see my site name.”
    • Modern vs. Classic SharePoint: Microsoft introduced the modern SharePoint Online experience in 2016, designed to be more compelling, flexible, and mobile-friendly compared to the classic experience. The classic experience has some functionalities not available in modern SharePoint.
    • Quote: “In 2016 Microsoft introduced the modern SharePoint online experience previous to this time a lot of companies were using what they call SharePoint online classic now the modern experience was designed to be more compelling flexible and even available on mobile devices easier to use it was available in SharePoint online and also SharePoint server 2019 with some limitations but there are still organizations that are using the classic experience.”

    12. Hub Sites

    • Purpose: Hub sites connect different SharePoint sites with common navigation and branding, making it easier for users to navigate between related sites. They help create a flat site architecture.
    • Quote: “Hub sites which is a way to connect certain sites with common navigation and branding to make it really easy for users to navigate between them but now what we want to do is look at how you can manage Hub sites on your own especially if you’re a site owner.”
    • Creation and Association: Hub sites need to be created by a SharePoint administrator or a global admin. Site owners with permission can associate their sites with an existing hub site via Site Information in Site Settings.
    • Quote: “A hub site needs to be created for you buy one of your SharePoint admins or a global m a global admin in M365 so keep that in mind if you need a hub site and you want to assign some sites to it you’ll probably need to ask your SharePoint admin to enable The Hub site for you… From my Us sales site I’m going to come in and go to my site settings gear… then I’m going to come down to site information now this is going to take me in and let me see things like the title of my site also the privacy settings and more importantly what we’re looking for is Hub site Association right now it says None So to allow me to associate this with a hub site I’d have to have permission to do so which I do and I need to know know the name of the Hub site for me it’s Global sales I’m going to select that and then I’m going to click on Save.”
    • Hub Site Navigation: Site owners of the hub site can edit the global navigation bar that appears at the top of all associated sites to include links to relevant sites within the hub. This is done via an “Edit” button on the hub site’s navigation.
    • Quote: “From here if I am a site owner of this Hub site I will see that on the navigation bar I have an edit button on the far right hand side of the site navigation and keep in mind this is not just within this site this is connecting these sites together I’m going to edit this now you’ll see what’s interesting is that the editing is not horizontal it turns it vertically but once I’m done editing then it will be horizontal now I want to add that site to the site navigation so I’m going to come to the bottom of the current edit Hub navigation and I’ll see this little plus sign in a circle this is of course where I can add new content to the navigation bar at the top I need to type or choose what it is that I’m adding I’m going to be adding a link and then in the address bar I’m going to paste in the address of my US Cell Site.”
    • Branding Consistency: Sites associated with a hub site typically inherit the hub site’s theme and branding.

    13. Updating Site Navigation and Appearance

    • Site Navigation Options: Site owners can modify the site navigation (left-hand or horizontal) via “Change the look” in Site Settings. They can turn it off, switch between vertical and horizontal orientation, and edit the links (reorder, rename, remove, add new).
    • Quote (Turning Off/Changing Orientation): “I’m going to go to the top right hand corner to the white gear and Microsoft has done a great job at putting some of these overall site navigation and look tools right here in this menu if you come down to the bottom we have an option that says change the look now this will give me three different primary areas that I can update in my site we want to start with the bottom one which is navigation how are people accessing content on my site now first of all I can turn my site navigation off completely… I’m going to turn the navigation back on but I’m going to change the orientation to being horizontal.”
    • Quote (Editing Links): “We’re going to come to the bottom of the navigation bar this is really easy to find there’s an edit button this will unlock the site navigation so that I can make changes to it notice how each item has an ellipses on the right hand side hopefully you know what these are for right when you click on them it gives you additional options to manage that specific item for me the first thing I want to do is remove the OneNote that’s associated with this site… also you’ll see here that I can click on the ellipses and use it to move items up in the site navigation… I want to go to the documents area and I’d like to edit that content first of all we’re seeing that it’s a link in the site navigation and we’re seeing the URL to the site I just want to update the name rather than saying documents I’m going to update it to be team files.”
    • Themes: Site owners can change the overall color scheme of their site by selecting a theme under “Change the look” in Site Settings. Organizations may have custom branded themes available.
    • Quote: “For that I need to go again to my site settings so from the site I’m going to come up to the white gear in the top right hand corner click on it and come down to change the look under change the look this time we’re going to head to the top to theme think of PowerPoints when you do this these are the different themes or color palettes that you can apply inside of a SharePoint site and as you click on them you can actually preview them.”
    • Site Header: The header at the top of a SharePoint site (below the Microsoft 365 taskbar) can be customized in terms of layout (minimal, compact, standard, extended), background color (based on the theme), and site logo. This is done under the “Header” option in “Change the look.”
    • Quote: “For that I need to go again to my site settings so from the site I’m going to come up to the white gear in the top right hand corner click on it and come down to change the look this time we’re going to head into the header portion now in the header there are four different layouts minimal which is very thin compact which is a little bit taller standard and finally extended… under the layouts I’ve got based on the theme that I’ve picked for my site the ability to customize the color applied at the top… below that you can actually turn your site title off maybe you only want to see the theme and notice this just takes the title off now speaking of title on every SharePoint page you’ll see that next to the title there is a logo… as I come down it’s going to ask me for two different logos one is a thumbnail and one is a site logo… I’m going to click on change I have already downloaded my logo locally to my computer… and we’ll see it get added now final thing I can do here is click on Save.”
    • Updating Site Logo (Alternative Method): The site logo can also be updated via “Site information” in Site Settings.
    • Quote: “I’m gonna head back to the settings gear again… from here what I want to do is come down to site information now site information is where you can do things like associate Hub sites also customize your site description and update the title of your site… in this case at the very top you’re going to see a location where you can update and change your site logo so I’m going to click on change navigate to the folder where my updated logo is located and then I’ll click on Save.”

    14. Deleting and Restoring SharePoint Sites

    • Deleting a Site: Site owners can delete a SharePoint site via “Site information” in Site Settings. It’s crucial to understand that this action deletes all site content, including files, lists, and associated Office 365 Groups. A confirmation prompt and warning are displayed before deletion.
    • Quote: “To do that I need to be a site owner also I’ve already done this I’m going to click on my site settings gear now before you delete a site do you have permission to delete it and what’s going to happen to all the stuff in that site… what I’m going to do from here is come up to my site settings gear and go down to site information this is where we’re going to see things like the name of the site it’s description also it’s privacy settings but notice at the bottom above the save button I have a delete site option before you delete a site Microsoft SharePoint online is always going to remind you about what you’re doing notice it’s telling me this will delete all the resources including the site the files the conversations do you want that to happen it’s asking me to back that content up now in this organization there actually is a backup that’s going on behind the scenes but you don’t know that’s going to happen for sure in your organization so please be sure before you delete anything you make triple sure that stuff is backed up yes I’m going to delete all the associated resources and the group… I’m going to click on delete and suddenly I don’t see the side anymore it takes me back to my SharePoint start page.”
    • Restoring a Deleted Site (Admin Function): SharePoint administrators or global Office 365 admins can restore a deleted SharePoint site from the SharePoint admin center within a retention period (typically 93 days). Restoring the site also restores any associated Office 365 Group and its content.
    • Quote: “However if you’re a SharePoint admin or a global Office 365 admin you can help there is something there that can help restore a deleted SharePoint site the first thing we need to do is get into the admin portal for Office 365… over here on the left hand side you’re going to see again my my navigation bar I am an admin a global admin actually so I can access my Office 365 admin tools I’m going to click on admin it opens up a new browser Tab and takes me to my M365 admin Center… right here if I expand this lower section of the navigation pane I’m going to see that in the admin portal there’s a section called admin centers and some of the applications which are really more platforms have their own separate admin section SharePoint happens to be that way so I’m going to click on SharePoint another browser tab opens taking me to my SharePoint admin center… one of the very first things you’ll see when you come in here is that for SharePoint I have sites I have active sites these are the sites that are currently being used in the organization and then I have deleted sites… my SharePoint admin can come in select the site and notice up here there’s a restore button… currently we’ll see that sites are retained for 93 days… I’ve selected my site I’m going to click on restore notice this tells me this site is connected to an Office 365 group restoring the site will also restore the group… it’s no longer here under deleted sites if I come back into active sites scroll down and look for event planning it’s back where it was before.”

    15. Version History for Site Pages

    • Purpose: SharePoint Online automatically maintains a version history for site pages (and other content like document libraries). This allows site owners to view previous versions of a page and revert back to an earlier state if unwanted changes have been made.
    • Quote: “Built into M365 and also your SharePoint sites you have a tool called version history every time a user goes into a site and makes a change or an update it saves those changes under that user as a version and you can actually go in and revert back to a previous version if someone’s made a change that you don’t approve of.”
    • Accessing Version History: To access the version history for a site page, navigate to Site Contents, find the Site Pages library, click the ellipses next to the page name, and select “Version history.”
    • Quote: “The first thing I need to do is access my site pages to do this I need to go into a place of SharePoint in my site called site contents it’s kind of like going to the basement or the utility room of your site… in the site contents list I’m going to see that I have contents and subsites and the different elements of my site are listed here including site Pages this would show me the individual pages of my site now right here I have my home page this was the page that I updated… next to the name of the page I’ll see a vertical ellipses… I’m going to click on it and then I’m going to come down and go to version history.”
    • Restoring a Previous Version: In the version history, users can view details of each version (date, time, editor), and choose to restore a previous version, replacing the current version with the selected one.
    • Quote: “Every time someone has been in the site… it shows me the date and time and then also the user… what I’m going to do is go back to Lynn’s version click on the ellipses or in this case the arrow next to the date and time that particular version was created I can view properties of that version restore it or delete it in my case what I want to do is restore it so I’m going to click on the restore button notice what it tells me I’m about to replace the current version with the selected version I’m going to click on ok now I’m in a 2.1 version I’m going to go ahead and close out and then I’m going to leave my site contents view by just clicking on my site logo that’ll take me to the top of my site I’m going to see that when I come to it it’s reverted back to the previous version.”

    Conclusion

    The initial modules of this Microsoft SharePoint Online course provide a comprehensive introduction to the platform, covering essential aspects from accessing the service through Microsoft 365 to understanding different site types, managing their look and feel, and basic administrative tasks like site deletion and restoration. The emphasis on planning, understanding site terminology, and leveraging collaboration tools like Microsoft 365 Groups lays a solid foundation for new users and aspiring site owners to effectively utilize SharePoint Online within their organizations. The course encourages hands-on exploration of the platform’s features to solidify understanding.

    Frequently Asked Questions about Microsoft SharePoint Online

    • What is Microsoft SharePoint Online and why should I use it? Microsoft SharePoint Online is a cloud-based platform designed to help organizations manage and share content, facilitate teamwork, enable quick access to information, and create engaging web pages. It allows users to store, organize, share, and collaborate on files and information from anywhere with an internet connection, promoting seamless collaboration within teams and across the organization.
    • How do I access Microsoft SharePoint Online? You typically access SharePoint Online through Microsoft 365 (formerly Office 365). First, navigate to office.com in a web browser and sign in using your organizational email address and password. Once logged in to your Microsoft 365 home page, you can find SharePoint Online through the app launcher (the “waffle” icon in the top left corner) or by clicking on the SharePoint tile in your list of apps.
    • What are the different roles of users in accessing SharePoint Online? There are typically two main roles discussed: the typical user and the site owner. A typical user can access SharePoint sites they have permission to, view content, collaborate on documents, and participate in site activities. A site owner has more administrative privileges, including the ability to create and manage sites, control site settings, manage user permissions, and customize the site’s appearance and functionality.
    • What are Microsoft 365 Groups and how do they relate to SharePoint Online? Microsoft 365 Groups are a service within Microsoft 365 that connect different tools for collaboration. A Microsoft 365 Group can include a group of people with shared resources like an inbox, calendar, file storage (which is often a SharePoint document library), and more. They are often associated with SharePoint team sites, Microsoft Teams, and Planner, providing a unified membership and set of resources for team collaboration.
    • What are the different types of SharePoint sites commonly used? The two main types of SharePoint sites highlighted are:
    • Team Sites: Designed for collaboration within teams, allowing members to share files, work on projects, manage lists, and communicate. They are typically connected to a Microsoft 365 Group.
    • Communication Sites: Intended for broadcasting information to a broad audience, such as news, announcements, and reports. They are visually focused and usually have a smaller number of content contributors.
    • What is OneDrive for Business and how does it work with SharePoint Online? OneDrive for Business is your personal cloud storage within your organization’s Microsoft 365 account. It’s like your personal online filing cabinet for work or school files. While OneDrive is for individual file storage and sharing, SharePoint Online is for team and organizational content management and collaboration. You can easily share files stored in OneDrive with others, and often, the backend storage for files associated with Microsoft 365 Groups (and thus some SharePoint team sites) utilizes SharePoint document libraries.
    • What is the SharePoint Online start page and how can I use it effectively? The SharePoint Online start page is the initial screen you see when you access SharePoint Online. It displays content cards showing news updates and sites within your organization that you have permission to access. You can “follow” frequently visited sites by clicking the star icon, which adds them to a “followed” list for quick access. The start page also includes a powerful global search that searches across SharePoint sites, OneDrive, and other Microsoft 365 content.
    • How can I customize the look and feel of a SharePoint Online site? As a site owner, you have several options to customize the appearance of your SharePoint Online site. You can apply site templates to quickly add pre-designed content and layouts. You can also modify the site’s theme (color palette), header (including logo and layout), and navigation (placement and links) through the “Change the look” settings accessible from the site settings gear in the top right corner of the site.

    Microsoft SharePoint Online: Capabilities and Features

    Microsoft SharePoint Online is a cloud-based service from Microsoft designed to help organizations manage and share content, knowledge, and applications. It enables the creation of engaging web pages and facilitates seamless collaboration through the web. SharePoint Online is a key part of the Microsoft 365 ecosystem.

    Here’s a breakdown of important aspects of SharePoint Online based on the sources:

    Accessing SharePoint Online:

    • You typically access SharePoint Online through Microsoft Office 365 (now Microsoft 365).
    • One way to access it is by going to the office.com site and signing in with your organizational email address.
    • Once logged into your Microsoft 365 account, you can use the app launcher (sometimes called the Rubik’s Cube or the waffle) in the top left corner to find and access SharePoint.
    • You can also search for “SharePoint” in the search bar on the Microsoft 365 home page.
    • The SharePoint start page displays content cards showing news updates or sites you have permission to access.

    Key Capabilities and Features:

    • Content Management and Sharing: SharePoint Online helps organizations share and manage content effectively. It provides a platform for teams to store and collaborate on files.
    • Teamwork and Collaboration: It empowers teamwork by helping users find information and create seamless collaboration. Microsoft 365 groups play a crucial role in connecting different collaboration tools, including SharePoint team sites.
    • Web Page Creation: The platform allows users to create engaging web pages.
    • Document Libraries: These are like file folders within SharePoint sites where users can store and manage files.
    • SharePoint Lists: These are similar to spreadsheets within SharePoint, allowing you to organize information in rows and columns.
    • Search Functionality: Microsoft 365, including SharePoint Online, has a powerful search capacity that searches through file titles and contents, as well as sites, people, news, conversations (from Outlook and Teams), and even text within images.
    • Customization: Users can customize their Microsoft 365 environment, including the app launcher. SharePoint site owners can also customize the look and feel of their sites.

    Roles in SharePoint Online:

    • Typical User: Can access and interact with content within SharePoint sites based on their permissions.
    • Site Owner: Has the ability to create and manage SharePoint sites, update site content, manage permissions, and customize the site’s appearance and navigation.

    Integration with Microsoft 365:

    • OneDrive for Business: This is your personal cloud storage within Microsoft 365, allowing you to store, protect, and share your files. SharePoint document libraries can sometimes be accessed from within OneDrive for Business. Files created in Microsoft 365 applications are often automatically saved to OneDrive.
    • Microsoft 365 Groups: These groups connect various Microsoft 365 tools, including SharePoint team sites, Outlook, Planner, and Teams, allowing teams to collaborate effectively with shared inboxes, calendars, files, and task management.
    • Microsoft Teams: Team sites are often associated with Microsoft Teams, providing a website for team collaboration.
    • Microsoft Outlook: You can access and manage Microsoft 365 groups from within Outlook Online and the Outlook desktop application.
    • Microsoft Planner: This task management application is often integrated with Microsoft 365 groups and can be accessed from SharePoint team sites.
    • Delve: This application helps you manage your Microsoft 365 profile and discover and organize information and people within your organization. It respects existing permissions, so you’ll only see documents you already have access to.

    Types of SharePoint Sites:

    • Team Sites: Designed for collaboration within a team, allowing members to share resources and content, store files, and manage lists. They are often associated with a Microsoft 365 group.
    • Communication Sites: Intended for sharing news, reports, and other information with a broad audience in a visually compelling way. They typically have a small number of content contributors and a larger audience of consumers and are not connected to a Microsoft 365 group by default.

    Managing SharePoint Sites:

    • Site Templates: Pre-designed layouts and content that can be applied to a site to quickly set up its structure and appearance. Organizations can also create their own site templates.
    • Site Navigation: Site owners can customize the navigation of their sites, choosing between horizontal or left-hand navigation and editing the links.
    • Branding: You can update the look of your site by applying themes, customizing the header with a logo and title, and choosing different header layouts.
    • Subsites: While they were common in older versions of SharePoint, Microsoft recommends a flatter site architecture using team sites, communication sites, and hub sites instead. However, creating subsites is still possible.
    • Site Collections and Hub Sites: In older SharePoint versions, site collections were used to group websites with the same owner and administrative settings. In SharePoint Online, hub sites are recommended for unifying related SharePoint sites with common branding and navigation, enhancing content discovery. You need specific permissions to associate a site with a hub site and to manage the hub site navigation.
    • Deleting Sites: Site owners can delete sites, but it’s crucial to understand the implications, as this will delete all site content and associated resources, including the Microsoft 365 group if one exists.
    • Restoring Deleted Sites: SharePoint administrators or global Office 365 administrators can restore deleted SharePoint sites and their associated Microsoft 365 groups from the SharePoint admin center within a retention period (typically 93 days).
    • Version History: SharePoint Online automatically saves versions of site pages and documents, allowing site owners to revert back to previous versions if unwanted changes are made.

    Modern vs. Classic SharePoint Experience:

    • Microsoft introduced the modern SharePoint online experience in 2016, designed to be more compelling, flexible, and mobile-friendly compared to the classic experience. The modern experience generally offers easier editing and a more user-friendly interface.

    In summary, SharePoint Online is a powerful and versatile platform within Microsoft 365 that enables organizations to effectively manage information, collaborate on projects, and communicate with their users through customizable websites and integrated tools.

    Microsoft 365: Web-Based Productivity and Collaboration

    Based on the sources and our previous discussion, Microsoft 365 is a line of subscription web-based services offered by Microsoft. It encompasses a rich amount of tools, features, and functionalities accessible directly from a web browser. Formerly known as Office 365, the suite was renamed to Microsoft 365 in 2017.

    Here’s a breakdown of key aspects of Microsoft 365, drawing on the sources and our conversation:

    • Web-Based and Cloud-Based Applications: Microsoft 365 provides access to online or web-based versions of familiar Microsoft applications like Word, Excel, PowerPoint, and Outlook. These are cloud-based applications, meaning they run on the internet and can be accessed with just a computer, a web browser, and an internet connection. This allows for accessibility from various devices without needing to be on a specific computer where the software is installed locally.
    • Integration of Services: Microsoft 365 integrates various services and platforms to enhance productivity and collaboration. Our discussion has heavily featured SharePoint Online, which is a core component used for managing and sharing content, and creating engaging web pages.
    • Accessing Microsoft 365: You can access your Microsoft 365 account by going to office.com in a web browser and signing in with your organizational email address. Once logged in, you’ll typically see a home page with access to different applications. Your browser may remember your login for easier access in the future.
    • Home Page Features: The Microsoft 365 home page offers several common elements, including:
    • The app launcher (also known as the Rubik’s Cube or waffle), which provides access to all your Microsoft 365 applications. You can pin apps to the launcher for quick access and unpin them as needed.
    • Your organization’s name (potentially) and an indication that you are using the online version of Office.
    • Your profile picture or initials in the top right corner.
    • Quick access to recently opened or updated files.
    • A list of files you might need to access.
    • Options to view all your content.
    • Potentially an option to install Office desktop applications, depending on your organization’s setup.
    • A navigation pane on the left side with a list of application tiles (e.g., Word, Excel, PowerPoint, Outlook) that serve as doorways to the online versions.
    • A “Create” button that allows you to start new documents, presentations, and spreadsheets using the online applications. These files are automatically saved to your OneDrive for Business.
    • A powerful search bar that searches across your entire Microsoft 365 account, including file content, SharePoint sites, people, news, conversations (from Outlook and Teams), and even text within images.
    • Customization of the Environment: You can customize your Microsoft 365 environment through the settings gear in the top right corner. This allows you to change the theme, enable dark mode, and potentially update your password (though some settings might be controlled by your IT department). You can also access your account information and Delve (your Office 365 profile) from your profile picture or initials.
    • Integration with Desktop Applications: Microsoft 365 works in conjunction with your Microsoft Office desktop applications that are installed locally on your computer. When you open a file stored online (e.g., in OneDrive or SharePoint) in a desktop app, auto-save is typically turned on, and changes are automatically saved back to the online location. This provides the flexibility to use both web-based and desktop versions of applications.
    • Microsoft 365 Groups: These are a service within Microsoft 365 that help you connect different tools for collaboration. With a group, you can bring together a group of people to share documents, create spreadsheets, work on project plans, schedule meetings, and send emails. They are also important for Microsoft Teams, SharePoint team sites, and Planner. You can access and manage groups through Outlook Online and the Outlook desktop application.
    • OneDrive for Business: As mentioned previously, this is your personal cloud storage within your Microsoft 365 account for work or school. It allows you to store, protect, and share your files and access them from any device. It’s often the default save location for content created in the online Microsoft 365 applications.
    • Delve (Microsoft 365 Profile): This application helps you manage your profile, discover documents you have access to, and find information about and connect with people within your organization. It never changes permissions, so you only see content you already have access to.

    In essence, Microsoft 365 is a comprehensive suite of online services and applications designed to enhance productivity, communication, and collaboration within organizations, with SharePoint Online being a central platform for content management and teamwork.

    Managing SharePoint Online Sites

    Based on the sources, managing SharePoint Online sites involves several key aspects, ranging from initial planning and creation to ongoing maintenance and even deletion when a site is no longer needed. Here’s a discussion of site management drawing on the provided text:

    Planning Your Site

    Before creating a SharePoint site, strategic planning is crucial for maintainability and user productivity. This involves considering:

    • Navigation: Deciding where the site navigation should be (top or left) for easy access.
    • Content: Determining the types of lists (for tabular data like contacts or tasks) and libraries (for file storage) needed. Document libraries allow users to store and collaborate on files.
    • Pages: Planning the individual pages for displaying content within the site. Each page in a SharePoint Online site is considered a site page.
    • Apps: Considering which applications or features, beyond lists and libraries, will support users in their tasks. This can include news feeds and calendars.

    Creating a Site

    To create a SharePoint site, you typically need the necessary permissions, which are often granted by a SharePoint administrator or an M365 Global administrator. From the SharePoint start page, you can choose to create a site, selecting between a team site (for collaboration and file sharing among a team) or a communication site (for broadcasting information to a broad audience).

    When creating a site, you’ll need to:

    • Name your site, which will also generate an Office 365 group and a site URL. The site URL cannot be easily changed after creation.
    • Provide a site description to inform others about the site’s purpose.
    • Configure the privacy settings (private for invited members only, or public for anyone in the organization to view).
    • Add site members (who can access and edit content) and designate site owners (who have more control, including managing membership). The creator of the site is automatically a site owner.

    Utilizing Site Templates

    SharePoint Online offers site templates that provide pre-built content and layouts for various purposes (e.g., event planning, project management). Applying a template can quickly add structure and features to your site, though it won’t delete existing content. You can access site templates through the site settings (gear icon) and “Apply a site template”. There are templates provided by Microsoft and potentially templates created by your own organization.

    Understanding Site Structure

    • Subsites: While historically common in older SharePoint versions, modern SharePoint Online recommends avoiding subsites in favor of a flat site architecture using team sites, communication sites, and hub sites. Subsites can complicate migrations and management. If needed, subsites can still be created under “Site contents” in site settings, but they often rely on the classic experience.
    • Site Collections vs. Hub Sites: In the past, a site collection was a group of websites with the same owner and administrative settings, often using subsites. Modern SharePoint Online utilizes hub sites to achieve similar unifying goals (common branding and navigation) without the complexities of subsites. A hub site connects related SharePoint sites, providing common navigation and branding, and allowing content to roll up into a centralized display. Hub sites need to be created by a SharePoint administrator. Site owners with permission can associate their sites with a hub site through the site information settings. They can also add their site to the hub site’s navigation if they are owners of the hub site.
    • Site URLs: Understanding the structure of a SharePoint Online URL helps in navigating and understanding where you are within the organizational SharePoint environment. A typical URL includes https://<yourcompanyname&gt;.sharepoint.com/sites/<yoursitename>/<optional_subfolder_or_list>.

    Managing the Site Look and Feel

    • Themes: You can change the overall color palette of your site by applying a theme through site settings > Change the look > Theme.
    • Header: The site header can be customized in terms of layout (minimal, compact, standard, extended), background color, and logo through site settings > Change the look > Header. You can upload a site logo (both a thumbnail and a larger version) to brand your site. If no logo is provided, SharePoint may use the first letters of the site name. The site title can also be turned off in the header settings. Another way to update the site logo is via site settings > Site information.
    • Navigation: The site navigation (typically on the left) can be turned on or off and its orientation can be changed to horizontal via site settings > Change the look > Navigation. As a site owner, you can edit the navigation to add, remove, rename, and reorder links.

    Maintaining Your Site

    • Version History: SharePoint Online automatically keeps track of changes made to site pages and documents through version history. This allows you to revert back to a previous version if unwanted changes occur. You can access the version history for a page via site contents > Site Pages > (select page) > ellipses (…) > Version history.

    Site End-of-Life Management

    • Deleting Sites: Site owners with the necessary permissions can delete a SharePoint site via site settings > Site information > Delete site. Deleting a site removes all its content, including files, lists, and any associated Office 365 group. It’s crucial to ensure content is backed up if needed before deletion.
    • Restoring Deleted Sites: If a SharePoint site is accidentally deleted, a SharePoint administrator or Global Office 365 admin can restore it from the SharePoint admin center within a certain retention period (e.g., 93 days). Restoring a site also restores its associated Office 365 group.

    By understanding and utilizing these site management features, site owners can create effective, well-organized, and easily navigable SharePoint Online environments for their teams and organizations.

    Understanding SharePoint Team Sites

    Based on the sources, a SharePoint team site is designed to connect you and your team together to share resources and content. It serves as a central place for teams to store and collaborate on files, and to create and manage lists of information. Team sites are a key component of the Microsoft 365 ecosystem and are closely integrated with other Microsoft services.

    Here’s a more detailed discussion of team sites based on the provided information:

    • Purpose and Functionality: The primary goal of a team site is to facilitate teamwork. It provides a platform where team members can work together on projects, share documents, manage tasks, and stay informed. Team sites are intended for collaboration within a specific group, where members typically have permission to contribute and edit content.
    • Integration with Microsoft 365 Groups: Team sites are often regulated by an Office 365 group, which helps to manage the membership of the team and provides shared resources like a group calendar and potentially a shared inbox. When you create a team site, an Office 365 group and a calendar are typically created along with it to help manage events and communication.
    • Identifying a Team Site: When you navigate to a SharePoint site, you can often identify it as a team site by several common features:
    • The title of the site is usually visible in the top left corner.
    • You will still be within the Office 365 ecosystem, indicated by the presence of the app launcher in the top left.
    • The search bar at the top typically defaults to searching within the specific site you are currently on.
    • In the top right corner, you can often see a list of team members, including team owners and members, indicating who has access to the site. Both owners and members typically have permission to edit content at different levels.
    • The site usually has a left-hand side navigation menu to access different areas of the site.
    • Common Elements within a Team Site: Team sites typically include various components to support collaboration:
    • Document Library: This is a file storage area (like a “walk-in closet” for the group) where team members can store, share, and collaborate on files. It consists of folders and various types of files, not necessarily just Microsoft-related. Members often have permission to co-author documents within the document library.
    • SharePoint Lists: These are used to organize information in a tabular format (rows and columns), similar to a spreadsheet. Lists can be used for various purposes, such as tracking tasks, contacts, or product information, and authorized users can often update the content.
    • Recycle Bin: Similar to a deleted items folder, the recycle bin stores deleted content from the site, allowing for potential recovery within a defined retention policy.
    • Team Calendar: Often linked to the associated Office 365 group, the team calendar allows members to view and manage shared calendar events for the team. This calendar is usually accessed through Exchange Online.
    • OneNote Notebook: When a team site is created with an Office 365 group, an empty OneNote notebook is also created for the team to collaborate on notes, meeting minutes, FAQs, etc.. It is accessible from the team site and opens in OneNote Online.
    • Planner: Team sites often have an integrated Planner app, which is a task management tool that allows team members to view, assign, and manage tasks within a shared plan.
    • Site Pages: These are the individual web pages within the team site where content is displayed.
    • Creation of Team Sites: If you have the necessary permissions, you can create a team site from the SharePoint start page by clicking “Create site” and selecting “Team site”. You will then need to name the site, configure settings (like privacy), and add members and owners. The site will be created with an associated Office 365 group.
    • Modern Experience: Modern SharePoint Online, introduced in 2016, aims to provide a more compelling, flexible, and user-friendly experience for team sites, with features like easier drag-and-drop functionality and optimized views for lists and libraries.

    In summary, SharePoint team sites are powerful platforms designed to foster collaboration and information sharing within teams in an organization utilizing Microsoft 365. They provide a range of integrated tools and features accessible through a web browser, making it easier for teams to work together effectively.

    SharePoint Communication Sites: Purpose and Features

    Based on the sources, a SharePoint communication site is designed to share news, reports, status updates, and other information in a visually compelling way with a broad audience. It serves as a portal for broadcasting information across a large group of people within an organization. Many organizations utilize communication sites as their intranet sites.

    Here’s a more detailed discussion of communication sites based on the provided information:

    • Purpose and Audience: The primary purpose of a communication site is to disseminate information. Unlike team sites focused on collaboration within a specific group, communication sites are intended for one-way communication, where a smaller set of contributors creates content that is then consumed by a much larger audience.
    • Key Characteristics:
    • Visual Appeal: Communication sites emphasize a visually compelling presentation of information.
    • Broad Reach: They are designed to broadcast information to a wide audience within the organization.
    • Limited Contributors: Typically, a small number of members have permissions to contribute and manage content on a communication site.
    • Top Navigation: The navigation on a communication site is commonly located along the top of the page.
    • Absence of Member List: Unlike team sites, communication sites typically do not display a visible list of site members in the top right corner, reflecting their focus on information sharing rather than team collaboration.
    • Distinction from Team Sites: A key difference between communication sites and team sites lies in their primary function and associated features:
    • Collaboration vs. Information Sharing: Team sites are designed for collaboration, allowing team members to jointly work on files and manage tasks. In contrast, communication sites are primarily for sharing information with a wider audience.
    • Microsoft 365 Group Association: When you create a team site, an Office 365 group is typically created to manage membership and provide shared resources like a calendar. However, when you create a communication site, a Microsoft 365 group is not created. This reinforces the communication site’s focus on broadcasting information rather than group-based collaboration features like a shared inbox and calendar directly associated with the site’s membership.
    • Common Elements within a Communication Site: While the specific content can vary, communication sites often include elements that facilitate information sharing:
    • News Releases: These sections provide updates on important events and recent happenings within the organization.
    • Links to Resources: Communication sites often include links to essential resources that employees or the intended audience might need.
    • Calendars of Events: Displaying organizational or relevant events in a calendar format is a common feature.
    • Opportunities for Engagement: Some communication sites may include features to allow audience interaction, such as chat panes (potentially powered by platforms like Yammer) for Q&A sessions or discussions with leadership.

    In summary, SharePoint communication sites are powerful tools for organizations to effectively share information with a broad audience in a visually appealing manner. Their design and features prioritize the broadcast of news, updates, and resources over the collaborative functionalities found in team sites, and they are distinct in their lack of an associated Microsoft 365 group.

    SharePoint Online Basics Tutorial

    The Original Text

    hey everyone welcome to Microsoft SharePoint online during this series of modules or courses we’re going to learn all about SharePoint online and how you can manage and share content and also create really engaging web pages using this amazing platform we’re going to discuss what it’s like to be a typical user in a SharePoint site and also a site owner this is a great course to go through if you’re looking to create your own SharePoint sites and manage them also if you’re going to become a new SharePoint site owner you’ll be amazed at the great potential that SharePoint online has for both the site owner and the end user so join us on our journey through SharePoint online hi everyone Welcome to our first module in our Microsoft SharePoint online Series this class is designed for someone who is new to SharePoint in this course we’re going to explore how to access SharePoint online through office 365. after completing this course you should be able to understand why to use SharePoint online the different roles in accessing SharePoint how to log into Office 365 and also successfully navigate in a SharePoint online site as always if there are any exercise files that go at this course you’ll find them in the video description so join us on our SharePoint online Journey hi everyone Welcome to our module one of SharePoint online now the first thing we need to do to access SharePoint online is actually go into another Microsoft platform called Microsoft Office 365 or Microsoft 365. in 2017 Microsoft introduced a line of subscription web-based Services through Microsoft that also includes Microsoft Office and they called it office 365. it’s been recently renamed to Microsoft 365 but one of the doorways to SharePoint online is to go through office 365. now the other thing we’ll be doing is accessing SharePoint and just a reminder of what SharePoint online is there are previous versions of SharePoint that have been created by Microsoft over the years but now we’re looking at a web-based platform called Microsoft SharePoint online SharePoint online is also a cloud-based service some organizations use it in conjunction with Microsoft 365 and some of them use it as a standalone web-based application or platform but the great thing about SharePoint online is that it really helps organizations to share and manage content and knowledge by empowering teamwork quickly helping them to find information and creating seamless collaboration through the web so the first thing we need to do is access office 365. to do that we’re going to be logging into the office.com site in my training environment I’m going to be using Microsoft Edge this is a Microsoft training platform but you could really use any browser you prefer for example Microsoft Edge or even Google Chrome now I’m going to go ahead and click right here and go into my browser now as I do this I’m going to come up to my address bar and type in office.com this is going to take you directly to the login page for M365 or Microsoft 365. right here I need to click on sign in and then of course I’m going to paste in my email address I’m playing the lovely Megan today and then I’m going to click on next I’ll need to provide my organizational email address because I will be logging into a work Office 365 account it’ll also ask me about reducing the number of times I have to sign in this is a great thing to do and I do suggest checking this box because if you sign into different applications that are part of Office 365 this will help you not have to log into each one separately now we’re going to be going to my home base or my Office 365 home page so let’s just really briefly look at a few common elements of this home page number one top left hand corner I have the app launcher next to it I might see my organization’s name and then that I’m in office but this is the online version of office so again this will be our jumping point to get into SharePoint online hi everyone welcome back now if you’ve already logged into your Microsoft 365 account it’s really easy to get back using your default browser because your computer is going to remember that you’ve already logged in using your company password and also your email account so I’m going to click back here again on my browser of choice which is Microsoft Edge and this is going to take me into my browser then to access again my Office 365 account I’m going to come up here and just type in office.com this time it’s going to remember that I’ve already logged in and not require me to log in again let’s look at some more common elements that you’re going to see when you log into Microsoft Office 365. in the top right hand corner you’re either going to see your profile picture or your initials I’m playing Megan Bowen right now so we’re seeing cute smiley Megan up there not every company will put your profile picture in there but some of your companies will allow you to do that it’s also important to remember that I’ve logged into a work or school account that’s why sometimes people call Office 365 their Microsoft for work or their Microsoft for school but it’s also important to remember that when we’re talking about Microsoft 365 we’re talking about web-based applications these are cloud-based applications meaning that all you need for them to run is actually your computer a web browser and the internet and this is one of the really powerful things about the cloud Revolution that’s begun happening is we don’t have to be actually logged into the same computer all the time our information can be accessible through a website now another thing we’re going to see that’s very common in the Office 365 home page is it gives me access to things that I use all the time so notice for example here I’m seeing files that I’ve recently opened or updated also if I come down I’m going to see basically a list of files that I might need to access and you’ll see here that it’s telling me I recently accessed these files and have worked with them so it’s basically giving me a jumping board to get back to them again if I scroll down towards the bottom I’m also going to see options where I can go in and see all my content this is really kind of a jumping board like you’ve heard me talk about to get to files I work with a lot and also the online versions of the Microsoft applications now speaking of those let’s scroll back up to the top and notice that in my case I have an option here to install office now chances are this has already been done for you on your computer but the idea is that with Microsoft 365 the way that my organization has it set up I also get access to Outlook OneDrive for business word excel and other Microsoft applications so Microsoft 365 Works in conjunction with my Microsoft Office desktop applications remember when we say the word desktop we’re talking about the Microsoft applications that install locally on your computer’s hard drive or a network and they would require you to be on that specific computer to access the soft software now again this is a great opportunity to check Office 365 out so go into your own computer and if you have an Office 365 account try logging in to office.com and spend a little bit of time exploring this home page and see all the great things that are packed in it hey everyone when it comes to Microsoft 365 it’s amazing how much you get so the Microsoft 365 applications include a rich amount of tools and features and functionalities that help you do so many things just from your web browser one great way to see some of the different applications that are part of the Microsoft 365 family is to come over to the left hand side to what we call the navigation pane of your Office 365 home page you’ll see over here on the left that I see a list of application tiles and some of these are familiar Microsoft Word Excel PowerPoint and Outlook but the thing to remember is that from The Office 365 homepage these are doorways to the online or web-based applications there are also going to be desktop applications that install locally on your computer but this isn’t all there are actually more apps if I come right here to the apps tile at the bottom and click on it it will actually show me additional applications that I don’t currently see in my navigation pane also if I go to the very top left hand corner we’re going to see a very familiar feature of Microsoft 365. this is called the app launcher sometimes people give it other names like the Rubik’s Cube or the waffle but the correct term is app launcher and from anywhere where you are in Microsoft 365 this allows you to see a list of all your M365 applications if I come down to the very bottom I’m going to see it say all apps and this is a list of the different applications that are part of my organization’s Microsoft 365 environment some of these I use all the time and some of them I don’t use as often now when I come back and look at this list I’m not going to see all of them on the list when I go to all apps I see everything I could potentially use if there’s something in this list that I’d like to add to the main menu I can actually come to the item the app and the app tile in this case and I’ll see a vertical ellipses on the side of it this is going to take me into a menu for options to manage this particular app tile if I select pin to launcher what this does when I return back to the main menu is it takes that particular app tile and it pins it in this case I’ve actually pinned the lists application which is a great way to create lists to put in SharePoint sites by the way and I’ve pinned it to my app launcher so the next time I need to go in and access it all I have to do is click on it and it will be there in addition if you’ve pinned something and then decide you don’t need it you can actually come to the tile click on the three dots at the side and say unpin from launcher this is not going to remove it from your all apps list notice if I go back I will still see good old Yammer down here at the bottom but from my main app launcher list I won’t see it there anymore so you can control which apps you see on the app launcher and which ones you don’t and again it’s a great way to really customize your Office 365 environment go in and check it out in your own account hi everybody now I know that this is a SharePoint course but we want to spend just a tiny bit more time helping you understand how amazing The Office 365 home page is over on the left hand side in my navigation pane I have the ability to create new content using Microsoft 365. when I click on this create button you’re going to see that it gives me options to create new Word documents PowerPoint presentations even Excel files using the online versions of the Microsoft applications so for example if I need a new spreadsheet I can click right here on workbook it’s going to open up a new browser tab notice here that I still have my Microsoft Office 365 homepage browser tab open but now Microsoft Excel online has also opened in a browser tab of its own I’m in a blank workbook and I’m ready to start working now for example if I want to start typing in this particular cell all I have to do is click and start typing now a few things that are unique about working in the Microsoft 365 applications you’re in a web browser but you can still type and create new content this content is automatically being saved to my OneDrive for business which is again my own personal work storage for files also I don’t have to worry about saving things because we’re working in a web browser so everything saves in the background automatically now how can I know that’s going on well notice if I come in and add some additional information to the spreadsheet in short increments what I’m going to see it do up here is say saving it happens so fast though sometimes it’s really difficult to notice that it’s occurring but everything is saving for me in the background as I do it and as I mentioned the default save location is OneDrive for business that we’re going to talk about in just a few minutes by the way now if I’d like to give my spreadsheet an updated name because right now it’s defaulting to call it book one I can actually click right here where it says the name and I can just come in and type in the name that I want and as soon as I hit enter it’s going to update the name because by default it’s going to give my new spreadsheets the same name as a new blank workbook and now you can see that on the browser tab I see the updated name so again as far as Office 365 goes it’s just like creating a spreadsheet on your normal computer but you’re doing it through a web browser application and you don’t have to worry about saving things and again this is something that you can try out yourself go into Office 365 and try using one of the Microsoft Office 365 applications it’s a great way to get familiar with the platform all right what if you need to find something in your Office 365 homepage well Microsoft has you covered it has one of the most powerful search capacities of any website I’ve ever used when you do a search on your Microsoft Office 365 home page it’s not only going to be searching through the titles of files it searches through their contents let me show you what I mean up here at the top of my Microsoft 365 homepage I have a search button when I click on it I’m going to type in the name of a contract that I’ve been working on in this company you’ll see that it already starts looking for search results for me but I want to delve even further into these search results so I’m going to come right here and select show more results it’s going to take me to a comprehensive list of search results and it actually filters them for me so convenient the first tab is all the content and notice I could come in actually right here and filter even by PDFs and photo types if you come down you’ll see other options as well but if you’d rather just use the tabs you can actually work your way to the right the first tab is for any files that have that word Northwind either in their title or within their contents so we won’t see it actually in all the titles because in some places it actually appears within the content and you’ll see here where it shows me a little quick quip or a little shot of where the word is occurring within the content of the file then I have sites these would be SharePoint sites where this word is located within the site I actually don’t have any when I go to people these would be people that are involved with the Northwind project and it includes both their email address and a phone number news are going to be news postings on SharePoint sites and you can see here how the word Northwind is actually occurring within the text of that particular news posting conversations is an interesting one you’ll see this includes content from Outlook and also from Microsoft teams and this is where the word Northwind has been included in either email content or within a team’s chat or a posting within a channel you might be saying that’s not part of Microsoft 365 but believe it or not it actually is especially if you’re off your company is using Exchange online all of your outlook information is now housed online and is part of your Office 365 account this is my favorite one images you’re going to see here a ping or a screenshot of what we call a dashboard but in this screenshot again this is just a picture we see the word Northwind actually inside and so it comes up in the search results Isn’t that cool it’s actually looking through not only the words but it’s looking through images and finding words in the images now the final thing I want to show you here is power bi this is a dashboard report building tool that’s part of Office 365 and I actually don’t have any North winds inside any of my current dashboards or reports but if I did they’d come up in my search results now if I want to actually go back and open one of these files up notice I can come in I can search based on file type I can also come in and filter based on the last time the file was modified and based on that information that will help me to refine my search results and if I see something that I want to open up all I have to do is come in click on it and it opens and again the browser-based version of the application so in this case it’s Excel online that’s opened and I’m able to access the content because you’ll never see something surfaced in the search results of Office 365 that you don’t have permission to access when I’m done all I have to do is click on the browser tab for Excel online to close the search results go back to my office 365 home page if I actually just come back over to the left hand side and click on the home button that’s right underneath my app launcher it’ll clear my search but the big takeaway from this is that searching in Office 365 is global through your entire Office 365 account and we can do this right through a web browser so it’s super cool if you have access to Office 365 go into your own account and try it out and and see how powerful the search can be hi everyone now with Office 365 what can you do to customize the environment and get to your stuff this is a great question first of all if I go to the top right hand corner of my Microsoft 365 home page you’re going to see a little white gear this is something that you will see throughout Office 365 web-based applications this represents the way to basically get into your defaults for your Microsoft 365 account when you click on it you’re going to see it open up a settings task pane when I come in I can do things like update for example the theme of my Microsoft 365 account you can see how it’s added it here in the background also I can go from the default color scheme of Microsoft 365 to dark mode this is actually really good for people that might be visually impaired or colorblind so there’s a reason for it and believe it or not it’s supposed to be easier on your eyes when you’re staring at a screen all day I’m going to keep mine on the default which is the white on white background you’ll also see some other options like change your password but keep in mind some of these settings may be controlled by your it Department to keep things secure and safe when I’m done making these changes I can come up to the X in the top right hand corner and click on it and the settings pane will close now another place that you can go to get information about your Microsoft 365 account is by going up to your initials or your profile picture that are directly to the right of the settings gear this will let you know whose account you’re logged into and if you want to see for example your account information if you click on view account it will open it up and actually take you in so that you can see your account information inside of Microsoft 365. this all opens in its own separate browser Tab and that’s the thing we’ve got to remember about Microsoft 365. it’s a browser-based application so everything runs inside the web browser we’re going to close that Tab and go back to our home page now another great thing they’ve added recently is the my content folder tile this is over in the navigation pane I love this because when I click on it it’s going to take me to a list of recent files that I’ve used in different areas of Microsoft 365 that I’ve accessed so any file from any application that I’ve opened using Office 365 I’ll see on this list and it’s a great way to quickly jump to the file or to the location all I have to do is come in and click on it and it’s going to open of course it will use the Microsoft 365 version of the application to open so this particular word document opened in word online in its own browser tab because that’s what it will default to we are using a web-based platform so it’s going to default to the web-based applications the other thing that’s really powerful about this platform is that it will interface with your desktop applications and I just want to show you that briefly so you can have ease of mind that you’re not going to lose the ability to get to them I’m going to open this PowerPoint presentation and of course it’s going to open in good old PowerPoint web application or powerpoint online but if I would prefer to edit this presentation in the desktop version of PowerPoint as long as powerpoint’s installed on my computer notice that next to the ribbons of powerpoint online I have an editing button this lets me choose how I will have this file be edited so right now I’m in editing within the browser-based version of PowerPoint but I can also come down and select open in desktop app what will happen is my computer will actually launch Microsoft PowerPoint it’s not open right now so it can take a few moments for it to open but the other great thing about this is then the same PowerPoint presentation that was just opened in powerpoint online will actually open on my desktop so notice down here I see good old PowerPoints open and it’s the exact same PowerPoint presentation a few unique things happen when you do this when you open something that’s been stored from an online Source now in a desktop app your auto save button will be turned on to let you know that if you make any changes for example if I come in and add some content it will automatically save this back to wherever this particular PowerPoint file is stored online if I close it everything’s still going to be saved and it will take me back to powerpoint online if I say continue here it will refresh and what we’ll see is any changes I made to the file in the desktop platform are still being added to the file here because it doesn’t matter if the file is open in powerpoint online or in PowerPoint desktop it’s both saving back to the internet and to my Microsoft 365 account it’s really powerful because you get the best of both worlds you can use powerpoint online you can use PowerPoint desktop it doesn’t matter and you can choose which one you utilize to update your files check it out welcome back everyone I want to show you one of my favorite tools that’s part of the Microsoft 365 ecosystem and it’s also important to Microsoft SharePoint online it’s actually called a Microsoft 365 group now groups are a service that work inside Microsoft 365. they help you really to connect different tools that you need to collaborate with a Microsoft 365 group you can take a group of people and actually write documents create spreadsheets work on project plans even schedule meetings or send email to that group of people so it’s more than just a glorified inbox for a group of people because it allows you to do many more things also know that Office 365 groups are actually really important in things like Microsoft teams SharePoint team sites and even inside of the planner application when you want to share a plan with co-workers so first of all where some of the doorways to access a Microsoft 365 group one of the really common places is through Microsoft Outlook now we’re going to start by using Outlook online so I’m actually going to come over to my navigation bar in Office 365 I’m on my home page and I’m going to click on the Outlook tile this is in a separate browser tab is going to take me into outlook on the web or Outlook online this is of course all the great utility of Outlook but from a web browser now inside of Outlook online to access my groups I’m going to come over to my folder pane remember that this is going to be next to your navigation bar and it’s not uncommon for it to be minimized so make sure it’s Again full so that you can see the folder task pane then to access your groups you’re going to want to scroll all the way down to the bottom you’ll see that groups are also something that can be expanded and collapsed so make sure that you have them open so that you can see them now what exactly are these groups well first of all they have a name and in most cases they are a group of people inside an organization that need a way to collaborate doing things like sending email to each other having a shared calendar and even using other tools like a plan inside of Microsoft planner now can I include guests in my groups I can if that’s been turned on by your Office 365 admin but let’s just take a minute and look at some of these groups and the tools that you get with them the first thing I want to do to access my group is click on its name now when I do that I leave my inbox and I actually come to an inbox specific to my group notice it has the same name as my group now some people might look at this and say oh great another glorified distribution list or email group Office 365 or Microsoft groups are actually a lot more than that the first thing though that you can do is send emails so if I come right here and click on the send email button it’ll actually allow me to send an email to everyone who’s part of my group notice how my group has an email right here that’s specific to them and anyone who’s part of this group will get this email there are a lot of additional great tools that you can get with groups so we’re going to explore that that in a future lesson so make sure you come back and if you have access to Outlook on the web try going in and seeing if you have any groups hi everyone while we’re exploring Microsoft 365 groups I want to show you some of the great collaboration tools that come with this service so right now I’m in Microsoft on the web or Outlook online and I’m going to access my groups by going over to my folder Pane and scrolling down towards the bottom where I see the different groups that I have access to the group that I want to go to is called my market project team group this is actually a group created for this company internally to help a group of people manage a project that they’re working on I see some great information at the group up at the top of the group name I’m going to see that it’s a public group this means that it’s discoverable to other people inside my organization using tools like the delve application it also shows me how many team members I have inside my group now Beyond sending group email like we’ve already explored another great thing that a group can do is give me a shared repository for files that this group needs to work on their project to access that area and come directly to this little piece of paper button this is actually way to go to the shared files that this group has in common when I click on it it takes me to what’s called a document Library this is actually part of a SharePoint site but we’re able to access it here from inside the Outlook web application which really helps to streamline things because if I’m sending an email and think about one of the files I need to work with with this group I can automatically get to it the top I’m going to see recent files that different group members have worked on recently and then down below I’m going to see the files and folders that the group has shared in common as part of this group experience another great tool is a shared calendar so I’m going to come up now again and click on the shared calendar button this takes me into another browser tab for the calendar web application and it’s going to take me specifically to the group calendar that’s been set up notice over here on the left that my market project team group calendar is checked off and I can see all the different calendar events that again are viewable and editable to any member of our group if I close the tab it will take me back to Outlook on the web now I have some additional really awesome tools here that I want to show you that are part of the collaboration that a Microsoft 365 group provides I’m going to come again up to those same buttons that allowed me to access the group calendar and the email and I will see an ellipses we see these all over in Office 365 they help us get to other great tools when I click another one of the tools that a group will have in common is an empty OneNote notebook this is created when the group is created and it allows them to have a notebook where they can do things like add meeting minutes store FAQs and again it’s part of the group experience and every member of the group has permission to access this notebook you’ll see right here the name of the notebook is always part of the group name and again it’s a great way for the group to have collaboration to exit out of the notebook all I’m going to do is just click on the browser Tab and I’ll go back to Outlook on the web we’d love to have you try this out so please go into to your outlook online and see if you have any current groups that you’re part of and explore hi everyone we’re back in Outlook online exploring Microsoft 365 groups there’s still just a couple more great collaboration features inside a group that I want you to see so from the Outlook online or web application I’m going to come to my folder Pane and again travel down to the bottom where I can see the different groups that I’m part of in the Mark 8 project team group we’ve already explored that groups allow you to have a shared inbox for every member of your group also shared files and even assured calendar and if we come to the ellipses under the group name we’re also going to see a thing called planner now planner is a task application that’s part of your Microsoft 365 platform and when you click on planner it opens up the Microsoft planner application inside of a browser tab now planner is a great application for viewing tasks inside of what are called buckets so here I’m seeing a plan that’s already been created for my Microsoft group and it allows every member of the group to be able to access the plan go into the different tasks that are part of this plan and edit the tasks and work on them together when I’m done viewing my plan I’m going to click back on the little X to close the planner app and go back to Microsoft again and Outlook online from here the next item that you have access to from an Office 365 group when you click on the ellipses is a site and notice the letter s next to this this is actually our SharePoint Online logo that we’re going to see as we start exploring SharePoint online in more detail when I click on site I’m going to see another browser tab open this is taking me to a SharePoint site it’s actually what we call a team site it’s a site that’s been created to allow my Microsoft group to have a place to collaborate within a website and right here I’m actually seeing the plan that I was just in inside of the Microsoft group so another again element or collaboration function of a group is a SharePoint site now to go out of the SharePoint site I’m just going to click on the X on the tab and it will take me back to Microsoft again and back to the Microsoft Outlook web application what we’re going to explore next is how to create groups so again try going into Outlook online and see if you are part of any groups welcome back everyone we want to now look at how easy it is to create your own Microsoft 365 group for this I’m an Outlook online or outlook on the web and I’m going to come over to the folder Pane and scroll down to the bottom to access the different groups that I’m already part of down towards the bottom I’m going to see that there are options to allow me to create a new group discover groups or manage groups that I’m part of to make a new group of my own I’m going to select new group this is going to take me into where I can give my new group a name as I do this it’s going to create an email account for my group I can update this by just changing this name up here I’m also going to include a description this would help other people if they were discovering my group to know what my group is about now before I’m done I also want to come in and edit the default settings of my group this has to do with the privacy of my group so when I click on edit we’re going to see that I have two choices for the privacy setting private would mean only members of the group can see what’s going on inside public would allow other people to view what’s going on inside of the group both of these settings will allow people to request or join the group I’m going to keep my group private because I’d like more control and I only want people who are part of the group to know what’s going on inside the final setting is do you want members of your group to receive notifications in their inboxes when there are group conversations or events going on I’m going to turn that off because it can add a lot of traffic to my inbox and to my also to my group members and boxes and I’m going to click on create now I’m not done because the next thing I need to do is invite again co-workers and others to join my group now this right here is a list of people who are already part of groups that I’m in and I can just double click on their names and it will automatically add them but then I can also come in and just start typing in the first few letters of a co-worker’s name and it will also allow me from my company address list or active directory to add people to my group this way I can always come back in later and edit this group membership after the group’s already been created it’s really easy to do let me quick and just add a few more people to my group now if someone is outside my organization and my company allows for guests to be added to my group I can type in their email address up here and it will allow me to add them when I’m done adding everyone to my group The One Last Choice I need to make is if I want some additional owners notice next to each group member’s name they can either be a member or an owner I’m going to make both Lydia and Patty owners now what’s the difference between a member and an owner a member can fully participate in all the group’s great functionality but an owner is actually someone who can edit the membership of the group so owners have a little bit more ability to do things also if you create the group you’ll automatically be again an owner of the group now I’m going to click on ADD we’re going to see that when I’m done my group is going to be created in fact it takes me directly to my group notice right here we can see again my group over here on the left if I click on it also if I want to access that group all I have to do is come in here click on the three dots at the side side and come down to settings settings allows me to go in and again decide how those if you notice right here how I decide how notifications will be sent for the group and also if I want to come in and edit the group itself I can also come right here and edit its name now we’d love to have you try this out so go ahead and try creating a group of your own inside of Microsoft 365 and start using some of the Great functionalities welcome back everybody I want to show you how to manage Microsoft 365 groups so from Outlook online I’m going to come over to the groups that I’m already part of in my folder pane now what I have here is the ability to discover groups these are going to be groups that I’m not currently part of right here I’ve already come in and I’m going to type in the name of a group that I’d like to join I’ve just typed in us and then I’m going to come down and you’ll see here there is a group that I’m not currently part of that it’s giving me an option to request to join it’s even showing me a contact card so I can see who’s currently part of this group when I click on request to join I can include a message that will allow me to become part of that group and then one of the owners of the group will have to give me permission to join to leave a group what I need to do is come into the settings of the group so I’m actually going to come down to one of the groups that I no longer need to access and click on the group now at the top I’m again going to see the name of the group whether it’s public or private but also the ellipses that allows me to get into the settings for the group I’m going to come down to the settings gear and on the right I’ll see my group settings task pane Open Notice down here at the bottom it gives me an option to leave this group this would mean that I would no longer see this group over in the list of groups that I’m part of on the left hand side in my folder pane of Outlook online now finally what about just managing all the different groups that I’m part of for this I have a manage groups option when I click here it’s going to take me and show me the different groups that I’m currently part of in fact it refreshes and opens up the People application because this is where my group membership is managed from as I come in and look at the different groups that I’m part of if I’m an owner of a group I’ll see that so when I come here I can see that there is again a list of the group members and if I expand it out it actually takes me in so that I can see each individual member and if they’re an owner or a member remember you can also have guests depending on the security inside of your organization’s Office 365 or Microsoft 365. so right here I could actually come in and take one of my current members of my group and make them an owner and remember owners are people who can manage the settings of the group when I’m done all I have to do to access my group is Just Close My People app it will update all those settings and allow me to come back in and in normal Outlook online I can start managing my groups from there so remember groups are a tool to help you collaborate the reason we’re showing you how to get to groups from Outlook is because we use outlooks for so many things already it’s a great place for all the different collaboration options of groups to come into play because you’re already in the Outlook online web application and try it out on your own create some groups and start using them to help you manage products or I should say projects within your organization hi everyone we’ve been exploring Microsoft 365 groups and we’ve been doing it from Outlook online but another great Doorway to your Office 365 groups is from inside Outlook desktop because we know a lot of organizations use Outlook desktop because it gives you all the great tools that we’re used to in an email platform now I’m inside Outlook desktop and I want to access my groups notice over here that I have my folder task pane open and if I come down towards the bottom I’m going to see the groups that I’m part of inside my organization now from here all I need to do to access a given group is actually just click on its name and we’ll see that specific groups inbox open so again this is the shared inbox where we can receive mail through our group and then up on the top I’ll see the home ribbon tab is going to customize because I’m now in a group I’ll see buttons that allow me to access the shared calendar that’s part of my group experience it will open its own separate window so we’re seeing all the calendar events that are specific to my market project team the group that I have selected I also have a doorway to the shared files that are available through or complement some SharePoint online and when I click on this it will actually take me to my SharePoint site associated with my group and into the files and folders that this particular group has in common and this will of course take me online now the other option I have is to get to my OneNote notebook that’s part of my group experience this will take me to OneNote online so this is the online version of the OneNote application and I haven’t yet put any content in my notebook so it’s empty and last but not least the other doorway I have is to the group settings that you’ll see here these allow me to go in and add members to my group edit my group settings and again really decide how I will get notifications about the group now is there a way to discover new groups while you’re inside Outlook desktop there is I’m going to go back to my inbox and up to my home ribbon Tab and come over to the far right hand side to the ellipses we can’t escape it right from the ellipses you’ll see that there is a browse groups option this is going to take me to groups inside my organization that I might or already be part of or are again public groups where I could either request to join these could also be private groups I need to say or I can just automatically join them so for example if I want to join the All company group I can click on join and it will automatically add me to the group if there’s a group that I need to request before I can join it I will have to again type a little message but again we’re seeing that you can access all great utilities of groups for the most part from Outlook desktop if you’d like to use this as your Doorway to get to them but again everything is really happening because of office 365. so please go in and try accessing groups creating some groups of your own there are great collaboration tool hey everyone welcome back now part of your Microsoft 365 account is called your Office 365 profile or Microsoft 365 profile with your profile Microsoft keeps track of where you go files that you work on even people that you work with inside your organization now this might sound scary but it’s not they use an application called Dell to help you manage this information and it’s really made to help you discover and organize the info the other thing to know is that delve is never going to change any permissions you’ll only see documents that you already have access to and other people will never see your private documents now how do we access the delve or the Microsoft 365 profile inside of office 365. well from my home page I’m going to come to the top right hand corner to my picture or initials and click and down here I’ll see a hyperlink that will give me access to my office profile when I click on this it’s going to take me to an application called Dell now the screen that I’m on right now is all about the person I’m playing who is Megan Bowen so we’re gonna see that it shows us her email address her contact information and if I’d like to update any of this content I can click right here on update profile and it will take me in so that I can see the different information that Megan’s provided and if I want to add to it I can keep in mind that depending on the info that you provide some of it might be discoverable to your co-workers now if I’m done updating this information I can come right here and click back on my name and it will take me back to the main me screen from here I’m going to see great information like recent documents I’ve worked on and also below people that I’ve recently worked with and you’ll also see here that if I hover over one of these people and click it will actually take me to an informational page about that person so delve is also about helping me find people that I work with and contact them it’s not about surfacing anything I don’t have permission to see now there’s one more view in delve called the home screen when I go to my home screen I’m going to see recent documents that co-workers have worked on they’re going to appear on little cards that are called content cards and the idea is that it tells me the type of file when it was last updated and also where it’s stored you’re going to see that at the bottom of these files I have options to add these files to my favorites over here on the left you’ll see my favorites view if it’s something that I would like to go back in and work on later also you’ll see here that I can actually create my own cards through boards and if I see a file that I would like for example to send a link to someone too it gives me that ability if there’s something here that I would like to open I can actually come to the file name click on the file and in this case using powerpoint online the file is going to open up it will only let me open files that I have permission to open when I’m done viewing the file I can click on the X and the file will close so delve is all about helping me to manage my information within Microsoft 365 and also discover other people and files that other co-workers might be working on as well hi everyone I want to show you how to access the delve application from your Office 365 home page so I have several different options number one I can come up to the search bar and type in delve there or I can go over to my app launcher and I can come down to all apps and it will of course be in my list if it’s an app that I’m going to access a lot I can always of course make sure that it’s pinned to my launcher which it is when Delph opens it’s going to open in its own browser tab when I come in I will always start on my home screen this is where I’ll see content cards showing popular documents that co-workers have recently worked on and one thing I want to mention if you’re ever feeling nervous that delve is going to surface content that doesn’t belong to you or you don’t want people to see right down here they actually have a little article telling you about how delve works this is just to help reiterate that yes your documents are safe inside of delve delve will never change permissions for your documents and only you can see your private documents in delve and also your files aren’t actually stored in Dell delve is just the tool to help you access the files I’m going to go ahead and close that because one of the things I can also do through delve is discover files that might be helpful to me I’m going to come here to the top left hand corner and do a search and this could be for any topic that someone that I’ve worked with or that I might be working on and notice it’s even making suggestions as I’m typing it in if I come down and ask Dell to show all its results I’m going to see that it’s showing me both people that may have worked with the Northwind project it’s also showing me documents and if I keep scrolling down I can see it’s all kinds of files with any of these files I can come in and bookmark the file to add it to my favorites I can also come up and hover over a person and when I click on their profile picture it will actually take me to their profile page inside of delve so delve is a great way for me to not only discover files but also people and any of those files that I favorite I can actually come right here and click on favorites and it will take me in and show me those files that I’ve favorited and I’m never going to see a file that I don’t have permission to see and access this is also going to tell me where the file is stored and if I want to open it all I have to do is just click on the file’s name and using the online version of the application it’s going to open up so delve is not about again discovering anything that you shouldn’t see it’s about discovering things that you should see and again locating people who might be subject matter experts that can help you get things accomplished more quickly and again when I’m finished I can close the file and I can even close delve and go back to my office 365 homepage if your organization does use the delve application go in and try playing with it and see what you can Discover it can be really exciting hey everyone learning about SharePoint online would not work if you don’t understand another application that is part of your Microsoft 365 account called OneDrive for business it’s also sometimes called OneDrive for work or school so what is OneDrive OneDrive is really the cloud storage that is part of your Office 365 account just for you it lets you store and protect your files and share them with others and get them from any device when you use OneDrive for school or work it’s associated with your school or work email now it’s important to know that with Microsoft 365 you can get over one terabyte of space for storing your files if your OneDrive library is hosted on a SharePoint server then your organization’s administrators determine how much space you have but for many of us we have a terabyte of space I like to tell people OneDrive for business is like having your own personal filing cabinet where you go it goes because it’s stored in the cloud so how do we access OneDrive for business from our Office 365 home page well I of course can come right here and I can search for OneDrive we’re already going to see that OneDrive is represented by a blue cloud which stands for cloud storage I can also come over to my app launcher and I’ll see OneDrive there as well for me OneDrive is really the heart of your Microsoft 365 account because this is where you store your stuff it’s the most personalized part of the platform when I come into my Microsoft 365 application you’re going to see that it opens in a browser Tab and a few common interface settings is that you’ll see a command bar at the top also on the left you’re going to see a navigation pane the default view in OneDrive for business is called my files this is exactly what we’re seeing here we’re seeing my files for work or school that are stored right here inside of this cloud storage you’re also going to see access to recent files that you’ve worked on files that you may have shared with a co-worker or have been shared with you and a recycle bin now it’s also not uncommon under this to have other SharePoint document libraries that you also have permission to access again these may not be turned on in your organization but when you come into OneDrive for business if you see additional areas below your recycle bin it’s just because your organization also uses SharePoint and it’s giving you again a way to get to your SharePoint sites from inside OneDrive for business now as always we’d love to have you try OneDrive for business out yourself so go to your organizational Office 365 Microsoft 365 home page and try finding OneDrive and accessing it hey welcome back everybody we’ve been looking at OneDrive for business as we get ready to explore SharePoint online now I’m currently in my OneDrive for business account this is a OneDrive for work account and I’m seeing the different files that are again stored here one of the great things you can do is manage your files from your OneDrive and we’re going to spend a little bit of time doing that so up in the command bar I’m going to see options to help me manage content one of them is that I can create new folders and files using office 365. I’m going to create a new folder I can name it and then I can take my files and store them inside the folder now one of the ways I can do this is to drag and drop the applicable files in I don’t want to click on the file name because it will open it’s a hyperlink instead I’m going to come to the left hand side and you’ll see that I get a circle with a white check mark inside of it this is my way of selecting these files without actually having them open once they’re selected I can hover over any of the file names hold down my left Mouse button and drag the files up over the top of the new folder I’ve created release my left Mouse button and it will move the files into that folder you can see here in the top right hand corner it’s telling me that’s what I’ve just done to open the folder up I can click and I’ll see the folder open and the files inside of it so we can actually organize content using our OneDrive for business web application to go back out of the folder I’m just going to come at the top and click on my files because that’s the view I’m in now what about bringing content that’s stored locally on my hard drive or a network drive into my OneDrive for this I’m going to use my upload button with my upload button I can upload files and folders one warning with folders if they’re really large you’ll be using upload speed which can really slow down your internet speed so I would suggest uploading large folders when your computer is not busy doing things like attending a training or a meeting we’re going to click on files and come in and I’m going to locate the files that I’d like to upload I have a couple of PowerPoint presentations I’m going to use my shift key to select three of them and then click on open here in the top right hand corner we’re going to see it’s telling me it’s uploading three files into that again into my OneDrive when I upload I am copying them so the originals will still be back on my computer’s hard drive so at best practice would probably be to either delete those files or archive them so I always make sure I’m not getting confused at which ones I’m working with now the other thing that some people will do is synchronize their OneDrive files synchronizing can be important if you don’t want to have to come to this site to be able to access your OneDrive files it actually allows you after we’ve synchronized to access your files from your file explorer you only have to synchronize once on the device that you want to access them from it takes a few moments you’re seeing me go through the process right now and it may ask you to type in your password but what it’s going to do is actually take these files and make it so I can access them from my own file explorer in my computer and it can save a great deal of time the first time you do it like I said it takes a few moments but once you’re synchronized it can save time when I’m done synchronizing Office 365 will tell me that I’m finished it even waves goodbye then to access these synchronized files I’m going to actually go into my file explorer when I open up file explorer what I’m going to see is a new directory over here on the left in my folder pane I now see it says OneDrive Dash contoso it will be the name of your school or your organization that you work for and what’s exciting is the files that we were just looking at through the OneDrive web application I can now see all those files and folders right here from my file explorer if I want to open one of the files up all I have to do is double click on it the other exciting thing that happens is rather than opening in word online for example the files will default to open in the desktop client the auto save will be turned on because again the file is actually stored online in OneDrive for business but this allows me The Best of Both Worlds cloud storage and also the ability to utilize my desktop applications if for any reason I do make some changes to the file I’ll see that it will automatically start Auto saving to my OneDrive because again it’s open from cloud storage and when I’m done all I have to do is close the file without having to worry about saving so synchronizing is a really powerful way to access OneDrive files without actually having to be in your OneDrive for business web application hey everybody back in OneDrive for business I want to show you how to quickly and easily share a file with a co-worker to share a file from the OneDrive for business web application which I have open I need to select the file so I’m going to come to the left hand side I have a PowerPoint presentation that I want to share with a co-worker there are multiple ways to share but up in the command bar you’ll see a share button also if you come to the ellipses next to the file’s name you’ll have another option to share now remember sharing is not like emailing a file that’s attached through email because when we email file attachments it recreates a copy of the file once that person downloads it to open it when I share a file through OneDrive I’m giving my co-worker or the person I’m sharing the file with a link to the file it’s not creating copies of it up here notice I have to decide the type of link and a lot of organizations the only kind of link you can create is one that’s internal to your org that means only people inside your company or school could open that file up down here another exciting option is that you can allow people to edit your file or by unchecking this box you can make it so they can’t edit the file you can also turn on the ability to block downloading the file after I set those settings I need to type in the name of the person I’m sharing the file with this is a co-worker so I’m accessing their name through my company address list also the strikethrough on the pencil means that it will be a view only link that I’m providing to them I can also type a message because they’re going to get an email and in that email they’ll get a link to my file and then I’m going to click on send after the file has been shared we’re going to see that in my OneDrive one thing that changes and I’m refreshing it just so you can see this is that when we look at the file name rather than saying private it will say shared and that’s because any file in your OneDrive you own that file as an employee or student of your school when you share the file you still own the file but you’re giving a co-worker or fellow student access to it another place you can go to see files that you’ve shared or have been shared with you is the shared view over in your navigation pane when you come here there are two tabs the first one is shared with you these are files that you do not own co-workers or fellow students own but they’ve given you permission to access their files either through an editable link or a view only link shared by you these are the files that you own and we’re seeing that PowerPoint that I just shared right here in this list and this again is letting me see a list of all the files that I’ve either given co-workers permission to add edit or View and this is what makes again OneDrive for business such a great platform because not only can you store your work files and school files but you can also give co-workers and fellow students access to them so open OneDrive for business up in your own OneDrive for business account through Microsoft 365 and try sharing a file with a co-worker hey everyone with all the different parts of Microsoft 365 that we’ve explored we’re finally ready to actually explore SharePoint so from my Microsoft 365 home page I’m going to come up to the search bar and type in SharePoint now it’s important to know that the version of SharePoint we’re using here is SharePoint online as we’ve already managed and remember SharePoint online is a cloud-based service that helps your organization to share manage content knowledge and applications and it’s in my opinion the most powerful application that is in the Microsoft 365 ecosystem now as I come to SharePoint we’re going to see that I’m still in Office 365 so I can see the app launcher it’s very common to see the name of your organization in the top left-hand corner and also that I’m now inside of SharePoint and if I look at my search bar I’m going to see here that it also tells me that I’m in SharePoint now this area that I’m in right now is called the SharePoint start page instead of seeing a specific SharePoint site what I’m seeing are content cards that allow me to see different news updates or sites that are part of my organization it’s a great way to explore what kinds of sites your organization has when you first start using SharePoint each of these cards represents a different site and I’d never see a SharePoint site here that I don’t have permission to access to go into a specific site all I do is click on the card and that specific site will open some additional features that you have here are the ability to go to the top right hand corner of a frequent site click on the star and this will favorite that site and add it to the list of sites that you are following so I can actually use this as a way to create my own list of common sites and make it very easy for me to access them by coming to this followed list additionally another thing I can do from this SharePoint start page is a search if I come up here and do a search and it can be for people it can be for Content it can be for anything it’s a very very Global search because not only am I searching through SharePoint I’m searching through my OneDrive I’m searching through anything that’s stored within my Microsoft 365 account when I type in the word up here and I come to the results page you’re going to see that they are pre-filtered there’s an all Tab and then a tab that shows me any files any SharePoint sites that have that word with them any people that have been associated with that word any news feeds or updates any images that have that word inside of them on text and any power bi reports are dashboards this is one of the most powerful searches inside of Microsoft 365. when I come to files for example I can further refine my search results by picking a specific file type applying that and even going further by picking seeing files that have been recently modified if I want to open one of these files I can click on it and it’s going to open up right for me using whatever online application is applicable in this case word online so doing a search from the SharePoint start page is very powerful to get back all I’m going to do is come right here and click on SharePoint and it will take me back to my SharePoint start page welcome back everyone I’m ready to actually go to a SharePoint site and explore it so up on my search bar I’m just going to type in SharePoint this will take me to the SharePoint platform and to my SharePoint start page from here I’m going to see any sites that I frequently visit and also it’s not uncommon down here to even have my it Department suggest sites I might want to access now I have a few sites that I’ve favorited up here at the top to access one of them I’m going to click on it and that site will open up and again the same browser tab as my SharePoint start page I’m now on a SharePoint site this is what we call a SharePoint team site now a couple of common features that you’ll see in a SharePoint site we’re still inside of Office 365 so I see the app launcher also notice right now the search bar tells me that if I do a search it will default to just search the site that I’m in SharePoint is really good with keeping up with where you are and searching that area finally in the top right hand corner I’m going to see who I’m logged in as and then below that we’re going to see some additional important information this is a public group so it’s what we call a public SharePoint site which means other people in my organization can Discover it and request to become members of the site I’m also seeing how many members there are for this SharePoint site which is something that we’ll Explore More in some future lessons if you come over I’m going to see the title for the site and the letter T next to it it’s not uncommon in a SharePoint site for to have it attributed with a Microsoft team this just gives the team a website to go with their team also my navigation is on the left hand side and if I want to access any of the additional parts of this site I can click and it will actually take me to that particular area of my site I’ve just gone into the documents area of this site which is a document Library I’ll also see that there’s a recycle bin this allows me to delete content and then access it a lot like your deleted items folder inside of excel so when you click on the recycle bin that’s sort would take you to any of those deleted items this particular site doesn’t have any right now but if I deleted something I would see it there what we’re seeing with a SharePoint site is that it’s just like navigating in any website we’re just doing it in a website that’s specific to our organization to go back to the top of my site I’m just going to come up and actually click on the logo for the site and I’ll go back to the top of my SharePoint site so again we’d love to have you try this out in your own organization go to Office 365 access SharePoint and explore some of the different SharePoint sites that you have permission to access in your organization hey everyone thanks so much for joining us in this first module of our SharePoint online series we have spent time exploring office 365. we’ve spent time accessing the different applications that are part of our Office 365 account and even spending time looking at how we can customize the app launcher we’ve also spent time looking at the OneDrive for business web application and also delve and again we’re seeing that with Microsoft 365 you have an entire ecosystem of applications that you can access from inside a web browser we finalized our journey by actually going to a SharePoint page and looking at how easy it is from the SharePoint start page to actually navigate two different sites that you have permission to access inside your organization and we spend a little bit of time exploring how easy it is to navigate a SharePoint site because really it’s just a website and now we’re seeing how powerful SharePoint online can be for helping organizations to bring users together and give them a platform where they can both customize and collaborate please join us for the next module where we’re going to actually learn how to build SharePoint sites hi everyone Welcome to our Microsoft SharePoint online module 2. whether you’re managing existing SharePoint sites or you’re getting ready to become a site owner this course will complement your current situation in this course we’re going to help you understand how existing sites can be managed we’re also going to look at how you can plan out your own new SharePoint sites we want to help you get familiar with SharePoint online terminology and also how you can create your own site navigation we’re going to be looking at creating subsites and even being able to delete and update site content after completing this module we want you to be able to understand site templates and also how you can use site collections to help you really create sites that are powerful we also want to look at how to update site navigation and even delete and restore sites now as always if there are any course files they will be below in the video description so join us for this course hey everyone welcome to SharePoint online now there is a lot of terminology associated with the SharePoint online platform and as we’re getting started exploring the platform in more detail I want to help you have this again common terminology available to you in our practice files you will find a PowerPoint that has several of these terms in it and I just want to share a few of them with you as we’re getting started one of them you’ll see is the second bullet on this slide it’s a communication site this is a really common type of SharePoint site that’s made to share information with large groups of people we’re actually going to build a SharePoint communication site during this module another really common element that we’ll see in SharePoint sites is called a library or a document Library it’s basically a file folder full of files but it can also have files inside of it the great thing about document libraries is they give a place for SharePoint users to store all the content that they need as they work together another really common element is called a SharePoint list I like to tell people that lists are like the spreadsheets of SharePoint online lists are anything that can normally be stored in a table so in rows or columns you can put into a list so lists can include everything from contacts to task lists to even lists of products now in addition to these terms you’re also going to learn about things like a site a site is a website in SharePoint online and anytime you go to a different page that’s called a site page so all of these terms are available in this PowerPoint in our practice files also you’re going to see a link to the Microsoft glossary list for all of SharePoint and it’s much more detailed but before I bore you with any more terms let’s actually get in and explore SharePoint some more hey everyone welcome back to SharePoint we want to spend some time getting familiar with some really common types of content in a SharePoint site so from my Office 365 home page I’m going to come up and actually search for the SharePoint application I’m going to click on it it will take me to my SharePoint start page from here I can go to any sites that I have permission to access inside of SharePoint I have a few sites to the left that I’ve followed and I’m going to select one of those sites this sales and marketing site is a site that’s been created for the sales and marketing department of my organization and I want to point out some really common pieces of content on this site that we’re going to learn to create during this module now first of all you’re going to see the title of the site up in the top left corner this helps me to know that I’m in the right place also every SharePoint site has a URL this is again the website address remember when you’re in SharePoint you are in a web-based platform but I’d have to be logged into my office or 365 account to access this site now on the left I’m going to have my navigation this is how I get to the different parts of my site and what I’d like to do is take you to a really common piece of content called a document Library when I click on documents it’s going to take me to a list of folders and files that this department has stored inside their SharePoint site this is great because it’s cloud storage notice it’s made up of folders and also all different kinds of files these files do not have to be Microsoft related but it allows everyone who is in this department to have a website for all their stuff I like to call it a walk-in closet for the group that uses the site another really common element that we’re going to see in SharePoint sites is called a SharePoint list for this I’m going to come over to my site navigation and go to product list this is an example of a SharePoint list with products here I’m going to see information that would normally be stored in a spreadsheet but here it’s just right inside of my SharePoint site you can see that it’s a list of products but everything is organized into rows and columns it’s a great way to give people who use the site quick access to the different products that this organization works with and depending on their permission they can also update this content which means everyone else can also get to it now a few other common elements in a SharePoint site notice in the top left hand corner we still see the app launcher so we’re still in Office 365 because this organization uses SharePoint online in conjunction with their office 365. also it tells me I’m in SharePoint and don’t forget the search bar at the top this is a great way to look for Content final thing to remember is that in the very top left you’re going to see the settings gear we’re going to use this a lot when we start to explore kind of the back side of our sites as a site owner this will give you access to allow you to update and edit the contents of your site so get into Office 365 navigate to a SharePoint site and start looking for some of these these common site elements so that you can get used to them and we’re going to start making some SharePoint sites hey everybody we’re ready to explore two of the most common types of SharePoint sites the first one is a communication site I actually have a communication site up on my shared screen right now now what exactly is a communication site in Microsoft 365 a communication site is a way to share news reports and status and other information in a visually compelling way a Communications site is really made to broadcast information to a broad audience usually a communication site only has a small set of members that contribute content but then that content is consumed by a much larger audience a lot of intranet sites for organizations are actually made into communication site when you create a communication site a Microsoft 365 group is not created so it’s a great way for again an organization to convey information let’s look at a couple of common things you’re going to see in a communication site when you come to this communication site we can see the title in the top left hand corner and again that we’re still in the Office 365 ecosystem with the app launcher and that it’s still part of the SharePoint platform my navigation is here along the top you’re also going to notice that if I come over to the right hand side I don’t see a list of members of this site because again this site is made to convey information it’s not as much made for collaboration it’s very common in communication sites as you scroll down to see things like news releases notice these allow me to get updates on the important things that have recently happened in this organization other common pieces of communication sites are going to be including links to things that I might need as an employee of this organization also if I scroll down a little bit I’m going to see it’s pretty common to have for example a calendar of things that are happening within my organization and also I’ll see here even an opportunity for example to meet with leadership through in this case a chat pane to find out about what’s going on and sometimes this will be hosted by platforms like Yammer but again the communication site is about sharing information it’s not about collaboration so go into your own organization’s SharePoint and see if you can find any communication site howdy everybody welcome back to SharePoint we want to explore a common type of SharePoint site called a team site now just a reminder to get to any of your SharePoint sites you can use your M365 home page I can either search for SharePoint here in my search bar or look for it over here in my navigation pane now once I find SharePoint I’m going to see different sites in my organization that I have permission to access here in the SharePoint start page I’ve actually favorited a couple of these sites and a few of these are what we call a team site I want to go into this team site called The Mark 8 project team now what exactly is the reason for a team site team sites allow you to connect you and your team together to share resources and content team sites are a great place to store and collaborate on files and even create and manage lists of information so we’re going to see some of these functionalities in this team site now a reminder we’re still in of course the M365 ecosystem I can see that because up here I have the app launcher the name of my organization and then of course a reminder that we’re still in the SharePoint online platform but under that I’m going to see the name of my site this particular site has been created for a project group inside the contoso electronics organization they’re going to use this site to help them get things done now a few common features in a team site are a left hand side navigation also when it comes to who can use this site if you go to the top right hand corner you’re going to see a list of team members when you click on this list you’re going to see that some of them are team owners and some of them are members but both a team owner and a team member have permission to edit content on this site at different levels this makes it really easy for me to come in and see who they are right here from the very top page of the site now what are some other common again functionalities in a team site over here on the left hand side in my site navigation we’re also going to see that it’s very common to have a recycle bin in a team site this is where deleted content goes right now my again recycle bin is empty but if I delete something it will be stored in my recycle bin it’s important to know what the retention policy is for the recycle bin in your organization so make sure you check with your it team on that fact another common functionality in a team site is a team calendar part of this is because often team sites are going to be regulated by an Office 365 group that is helping to manage the membership of your team this calendar will take me to exchange online and let me see a calendar that’s been created for my Mark 8 project team where I can actually have calendar events that have been created for the team in common another common element you’re going to see is a document Library team sites a really important part of what they do is to help the group of people using the site to manage the content there so here we’re actually seeing the different folders and files that this again cite have in common every member of the team site and owner has access and permission to use these files they can also co-author inside of them another common component in a team site is going to be a OneNote notebook when a team site is created for a group of people an empty OneNote notebook is created that can be accessed from the team site and here we’ll see it open up it’s empty right now and it opens in OneNote online but the idea is that this empty notebook is available for the team members to use from their site to put whatever kinds of information they would like and here we’re just viewing the notebook before it’s been used but it’s here part of the site ready for everyone to utilize and access very quickly from inside the again SharePoint site another common area that you’ll see inside of a team site as well are going to be planner apps now these planners are created again when the site is created this particular one when we open it up will open in planner this is of course a task management application that’s part of The Office 365 experience once you’re inside you’ll see that if there is a plan attributed to this group I can either create a new plan or I can actually go into a plan that might already be part of that SharePoint experience and this is what the plan looks like and think about it when a group of people are working together to get something done it’s very common for them to need to know who’s doing what and that’s exactly what the planner app helps them to keep track of from their SharePoint site so again we’re seeing that right from the SharePoint team site there are multiple tools allowing this group of people to come together collaborate on files communicate about tasks again and get stuff accomplished and that’s the main reason for a team hi everybody welcome back now if you’re ready to start creating some SharePoint online sites there’s some strategy that you want to go through before you begin that process when a site’s content is logically organized and easy to find it’s going to be easier to maintain and manage it also helps your site users to be more productive so as a site owner you need to plan out your site and there needs to be some strategy involved before you get started we’re going to explore a couple of sites and look at some of the different components that have been used in the site’s design to help make it easier for it to be maintained and also for users to be productive in the site right here we’re going to look at a site from the SharePoint starting page called The Landing this is actually the intranet site for this organization but it’s SharePoint online one of the things the designer of this particular site has done is put the navigation at the top across the very top now this is again a choice that can be made you’ll notice that in other sites the navigation will be along the left hand side like the sales and marketing site that’s been created for a sales and marketing department putting the navigation in an easy to see place will help your users be able to get to what they need more quickly other questions you should ask yourself as you create a site are what kinds of lists libraries or Pages you want to create libraries can be used to store documents and files lists can be used to track issues or tasks and pages are going to be the individual items within the site where you can display content you’ll see here that this particular site has a document library to help the members of the sales and marketing team to get to the files that they need to use another question to ask yourself is what kinds of apps you may want to include in your site apps help to support the users in the site and get things done apps do include document libraries and lists but they can also include things like news feeds to help keep users up to date with events that are happening inside an organization or department or even calendar events for upcoming events that might be occurring all of these are topics that you need to explore and decide the best placement for such elements within your site before it’s created remember with SharePoint online you will have what’s called a site collection which means the different pages that make up your site the document libraries the different applications all come together in a collection that is your SharePoint site hi everybody you are ready to create your first SharePoint site now keep in mind that to create a SharePoint site you have to have permission to do so in a lot of organizations normal users cannot create SharePoint sites and there is a request process that you need to go through and your site will be created for you a SharePoint admin or an M365 Global admin can give you the ability to create sites through permissioning now right now I’m on my SharePoint start page and in the top left hand corner I see two options one to create a site and one to create a News Post so in this particular company I do have permission to create SharePoint sites also please remember before you create your SharePoint site that you’ve planned the kind of content and the type of site that you need so I’m going to click on create site on the right hand side a panel opens up asking me the type of site I want to create now we’ve already explored these two again types of sites but just a quick review team sites are about a site that’s created for teams of people to collaborate together share files and basically get things done a communication site is a portal to share information make sure you pick the right one we’re going to do a team site now I need to name my site after my site’s named I’m also going to see that underneath it’s creating an Office 365 group and also a calendar this group and calendar are important because they’re going to help me manage calendar events and also communicate with the different users of my site using email the other thing that’s really critical here that’s created is your site URL this is something that cannot be changed very easily after the site is created your site name can always be updated later on it’s always a good idea to tell people about what your site is going to be doing so I suggest filling in the site description even though it’s extra then the privacy settings this is where you select how your site will be advertised to other people inside your company if it’s private only members people that you invite can access your site if it’s public anyone in the organization can see the site and access it they won’t be able to change content but it will be viewable to others we’re going to keep it private because I want to be able to control who has access to my team site also a default language then I’m going to click on next now remember I picked a team site so at this point I need to start typing in the names of my co-workers who will be able to access this site as I type these co-workers names in they’re actually populating from my company address list or my active directory this makes it really easy for me to go in and quickly start creating the members of my site these are again the people who will be able to access and edit content on my site now notice as I’m typing these names in that underneath their names it’s telling me that they are a site member I can actually at this point before I’m even done creating the site allocate either my different site members to be owners or site members now I’m playing Megan right now we can see her picture in the top right hand corner but what I want you to remember is that because Megan’s creating the site she will also automatically be assigned the role of a site owner and in this case I’ve also selected Patty after the site’s made can I edit this list of site owners and members absolutely and it’s really easy to do I’m going to click on finish and voila my site will be made now at this point if I close the different panels that are opening up we can see my new training opportunities site it’s already up and running and I already also have six members including myself and Patty as owners and my site is already ready to rock and roll so if you can create sites go in and try create creating your own team site hey everyone when you have a new SharePoint site you may want to update the way it looks one of the ways that you can do this is to apply a site template now after your site’s created the site templates box will pop up but also you can access it on your own in your new site so here in my training opportunities team site that I just created I’d like to go ahead and apply one of the site templates to this site to do that I’m going to go to my site settings site settings are located in the top right hand corner of SharePoint online directly from your SharePoint site so they’re really easy to get to so I’m going to come up and click on this white gear located in the top right hand corner of my screen and when I do I’ll see a menu of different tools to help me manage my site about fourth from the bottom in the top menu I’ll see apply a site template when I click on this it will open up the site templates now remember this is for my entire site so if I select one of these templates it’s going to update all the content of my my site there aren’t a whole ton you’ll see that there are two tabs at the top one are templates that are provided by Microsoft these templates are built around different core capabilities like event planning project management retail management team store collaboration team collaboration training and development and training in courses now to select one of these you just click on it you’ll see a details button this will take you into where you get a little blurb helping to describe what the site does also a preview of what it looks like and then in the bottom right corner you can click on the purple use template button and it will actually update your site to this template now remember if you’ve already added content to your site the template will not delete anything but it will update the color and add new content to your site and you’ll see that they come with a lot of pre-built content including web Parts which we haven’t explored yet but we will that can save you a tremendous amount of time now after I use one template but if I’d like to try a different one I just go through those same steps go to the top right hand corner click on the settings gear come back down to apply site template the Box will pop open and now I can pick a different site template and apply it so you can actually go through and try a few different ones until you find one that which you feel is applicable do you have to use site templates absolutely not but one real benefit of site templates is they help to add a lot of content to your site very quickly and then you can go in and customize the different content that is here one last thing to mention about the site templates when we go up to again the settings gear and go back down to the site templates options is that when you’re in the site templates box there’s also a tab for from your organization these are going to include templates that your own organization has created for SharePoint sites this particular company hasn’t made any yet and it’s because they’re so new to SharePoint on line but this is something that eventually an organization might build out so again we want you to try this go into a SharePoint site that you’ve created and check out the site templates and try applying one of them to your site to look at all the great content and updates that it can make all right welcome back to SharePoint we need to talk about sub sites now in older versions of SharePoint it was very common to have a sub site which is basically a site within a site especially when you’re looking at SharePoint server 2010 2013 2016 2019 subsites were very popular for the overall layout of a site however with modern SharePoint in M365 we really want to steer clear of subsites one of the reasons is that if you already have subsites and you’re migrating to SharePoint online and M365 it makes the migration process a lot more difficult what SharePoint online recommends instead is that you try to keep the architecture of your site flat instead of using subsites we want you to utilize team sites communication sites and what’s called a hub site to help keep the structure of your SharePoint site very flat now that being said if you need a subsite you can still do that so for example in my training opportunities site I’m a site owner so I can create sub sites also I need to create a subsite for a specific group of people who would like to manage content separately but within this site to do that I’m going to need to go into my site settings so to do that we’re going to come into the site and go to the top right hand corner to the settings gear and then I’m going to access an area called site contents now site contents is a great place to go to really see all the pages document libraries and different apps that are part of your site you’ll see when I come in that I’m looking at a list of the different components that make up my new SharePoint team site at the top there is a new button this new button will let me do things like add lists Pages document libraries apps and yes the unmatchinable the subsite we’re going to select subsite and when I do this I actually go into a view of SharePoint that’s a little bit different but this is where I can create my new sub site right here I’m going to go ahead and type in the name of this site notice I can include a description again the description’s arbitrary but it can help other people know what this site is for the other thing that’s a little bit different here it’s more manual I need to add everything in of course I can copy and paste but I even need to make sure that I come in and type in the rest of the URL I’m going to pick the language that my site will be in Additionally the template it’s based on notice here it can be a team site with no M365 group or it can be a team site based on having again an M365 group associated with it and then down below is it going to have the same permissions as the parent site and finally a create button so this will create my subsite for me so when it’s finished creating the site I will see that I’m no longer in the parent site but now I’ll be in my new sub site that I’ve made but again we’ve got to keep in mind that Microsoft does not really suggest doing subsites the other thing you’ll notice about this new site that it’s based on the classic experience because I based it on the classic template when I create created it so subsites are something you can do but we don’t recommend it all right everyone we need to take a minute and talk about SharePoint online URLs now just like a doctor has to know the anatomy of a body with a SharePoint site you’ve got to understand the makeup of your website address or your url now if we come up here in this site I’m in the sales and marketing team site of this organization I’m in a Microsoft environment so the URL is a little bit weird but we can still refer to it to help us understand the anatomy of a SharePoint site the first thing you’re going to notice is that it’s an https site this lets us know that it’s a modern site and it’s going to need the latest version of most browsers to run the next thing I’m going to see is the company name for me this is the m365x17718-452 it’s quite the number but normally this would be your company name and also this is the URL of your tenant now the next thing I’m going to see is I go over to the right it’s going to tell me that I’m in and SharePoint you’ll see that it says sharepointon.com this lets me know that I’m using SharePoint online some companies use SharePoint but not M365 this organization uses both the next thing I’m going to see is that I’m in a site this means that I’m in one of the sites that is part of this company’s collection of SharePoint sites then I finally see my site name which is sales and marketing now within that site if I come in and go for example to a document Library which I’m going to do what we’re going to notice is that my SharePoint online URL gets additional information at the end I’m still in the sales and marketing site but if I keep going over to the right we’ll see that it’s telling me I’m in shared documents this is letting me know that I’m in a document Library which I am if I go for example to a SharePoint list within that site again we’re going to see that now I’m still in the sales and marketing site but I’m looking at a list and specifically the product list so these SharePoint online site URLs give us a lot of information about where we are in the site the company that we’re in and also the SharePoint platform that we’re using and if you explore them you get pretty familiar with again what they tell you about where you are in your SharePoint ecosystem within your organization hey everybody welcome back in 2016 Microsoft introduced the modern SharePoint online experience previous to this time a lot of companies were using what they call SharePoint online classic now the modern experience was designed to be more compelling flexible and even available on mobile devices easier to use it was available in SharePoint online and also SharePoint server 2019 with some limitations but there are still organizations that are using the classic experience on my screen right now you’re seeing a document Library as viewed in the classic experience some of the biggest differences are that in the classic experience things are a little bit more tricky to edit and also the experience has a few functionalities that the modern experience doesn’t for example the modern experience doesn’t include some of the column types and customizations that you can make in the modern experience now if you view a modern document Library we’re going to see that it looks more like what we’re used to seeing in a SharePoint site things are easier to drag and drop and it’s also going to be an experience that’s a lot easier for users to come in and automatically start utilizing with the classic experience it required a little bit more time to get up to speed with how to make the sites work it’s not uncommon for some organizations to have some sites that continue to have the classic experience and then other sites that are already migrated to the modern experience become familiar so that you can know how to utilize both but count on for the most part sites being migrated to the modern SharePoint online experience because again with the modern online experience you’re going to have views document libraries and also lists that are optimized to make it really easy to pin filter and also sort which the classic experience it was a little bit more difficult hey SharePoint welcome back we want to talk about site collections now in previous versions of SharePoint like 2013 2016 2019 where SharePoint server was involved the architecture of a SharePoint site was to be a site collection now site collection was a group of websites that had the same owner and same administrative settings so that would mean things like permissions and quotas were all the same site collections were created in a web application like SharePoint and they would have a top level site that was automatically created and then all the other sites would be called sub sites well as we’ve already talked about we’re trying to get away from subsites in SharePoint online instead what Microsoft is recommending when you have a group of sites that are in common and managed by the same group or individual then is set up a site collection you create what’s called a hub site so our Hub site’s the new site collection no because they’re two different things but they accomplish publish a similar thing so what exactly is a hub site a hub site is where you unify your SharePoint site with common branding common navigation and everything can roll up into a centralized display also hubs help to enhance content Discovery by tying sites together with easy browsing so I want to actually take you to a hub site so you can see what it looks like I’m going to come over here and go to my Global sales site this is a site that I go to once in a while and it is a hub site so first of all how do I know I’m in a hub site notice right below again my SharePoint bar at the top that includes my search bar I see an additional navigation bar this is again an indicator that you’re probably in a hub site this is the global sales Hub site you’ll see to the right that it gives me navigation to sites that are all common to each other another element of a hub site is when you go to one of the sites that’s part of the Hub they all have the same branding this can include again the navigation bar at the top and then also the same theme so when I go to any of the sites that are part of the Hub I’m going to see that they all have a very similar look so that I know that I’m still in the hub experience even though I’m navigating to different sites within the Hub and again it’s very easy for me to go to the different sites of the Hub and then when I get to a different site like when I go back to my sales and marketing site again I’ll see that in addition to my navigation for the Hub at the top this site has its own internal navigation that will allow me to go to the different parts of the site but I can always get back out to the hub by coming to the top and again all of the sites within the Hub have the same theme and branding so that I know that I’m still within that Hub experience so this is kind of the next phase getting away from site Collections and again this is also part of the idea that we want to keep our SharePoint sites very flat and avoid doing site collections that include a lot of sub sites because it makes it a lot harder to manage and update content one more thing about Hub sites a hub site needs to be created for you buy one of your SharePoint admins or a global m a global admin in M365 so keep that in mind if you need a hub site and you want to assign some sites to it you’ll probably need to ask your SharePoint admin to enable The Hub site for you hey everyone we have explored a tool called a hub site which is a way to connect certain sites with common navigation and branding to make it really easy for users to navigate between them but now what we want to do is look at how you can manage Hub sites on your own especially if you’re a site owner so in my environment I’m playing Megan by the way I have a new site that was recently created to help manage sales for the Us sales team but they also use several other sites in common with other groups in their organization now currently these sites are all organized into a hub site called Global sales let’s take a look at it we’re going to see here how at the top you have the common horizontal navigation representing the Hub site and all the sites that are included in the hub site collection and notice when I click on any of them they still keep that hubsite navigation at the top and then they have the same theme to help me know that they’re all part of the hubsite experience but my U.S sales site that’s new is not currently part of that experience so I want to get it added so it’s going to make it easier for my users to get between those different sites when I go to my Us sales site right now it’s a standalone site so how do I get it added to that Hub well you have to be a site owner and you also have to have permission to do so if you’re not a site owner or you don’t have permission to do this ask your SharePoint admin they can set your site up to make it part of a hub site I have permission to do this so from my Us sales site I’m going to come in and go to my site settings gear we’ve spent a lot of time here hopefully you’re getting the idea of how many important options there are under this menu then I’m going to come down to site information now this is going to take me in and let me see things like the title of my site also the privacy settings and more importantly what we’re looking for is Hub site Association right now it says None So to allow me to associate this with a hub site I’d have to have permission to do so which I do and I need to know know the name of the Hub site for me it’s Global sales I’m going to select that and then I’m going to click on Save now one warning here sometimes when you set up a hubsite Association you will not see the Hub site Association come up as quickly as you want this is something that we tell people sometimes takes a little while to bake because there can be many sites that are being associated with a hub so when you first do this if you notice it doesn’t quite take effect as quickly as mine did it’s okay refresh the site maybe log in and out a couple of times it can take several hours for the hubsite association to connect but in our case it happened really quickly so it’s nice we’re gonna see again now the USL site has that common site navigation at the top and the same branding as the other sites so we’re moving a step forward and helping make it easier for those that use the Us sales site to also use the other sites that are part of the Hub site as always we want you to try this out so if you do use SharePoint go and look for some Hub sites in your own organization hey welcome back SharePoint fans here we are talking about Hub sites now this USL site that you see on my screen right now I recently added to the global sales Hub site collection we can see it here but there is one critical issue currently the U.S sales site is not part of the Hub site collection navigation so I need to take this USL site and add it to the global sales Hub site again I have to be a site owner of the Hub site for me to be able to do this Megan happens to be but if you are not request it from your SharePoint admin or the site owner of the Hub site now first of all I’m going to go up and take a look at the URL for my U.S sales site I’m going to copy it because I’ll need this URL when I go in to actually add it to the hubsite navigation quick ways to copy select it do control C right click and copy any of those are going to work they’ll all get that URL on your clipboard now I’m going to navigate to the hub site I’m going to do that by coming to the far left side where it says Global sales this will take me to the top of the site now from here if I am a site owner of this Hub site I will see that on the navigation bar I have an edit button on the far right hand side of the site navigation and keep in mind this is not just within this site this is connecting these sites together I’m going to edit this now you’ll see what’s interesting is that the editing is not horizontal it turns it vertically but once I’m done editing then it will be horizontal now I want to add that site to the site navigation so I’m going to come to the bottom of the current edit Hub navigation and I’ll see this little plus sign in a circle this is of course where I can add new content to the navigation bar at the top I need to type or choose what it is that I’m adding I’m going to be adding a link and then in the address bar I’m going to paste in the address of my US Cell Site I need to replace the HTTP so make sure you delete it out and then paste your url over the top I also need to include text to be the link in the actual navigation bar so I’m going to type in the name of the site then I’ll click on ok now I’m done I can see it here if I would like to move it further up I can either left drag it or I can come in and click on this ellipses on the right hand side and say move up or move down and of course this is the order that the sites will appear in from over from the left to the right I’m going to click on Save now I see if I look up here and I refresh my U.S sales is here now it didn’t quite move it over enough so I’m going to come back in again and say move up a couple of times because I thought I did but it looks like the change I made didn’t save so we’ll move it up with the move up button and then I’ll save that now it’s updated if I click on Us sales it takes me to the USL site which has the same branding and also that common navigation at the top and if I go to any of the other sites the users that use those sites can in turn get back to the Us sales site notice the navigation isn’t quite updating yet and that’s just because it takes a little bit of time for everything to connect but if I refresh those other sites once I go to them eventually the site navigation will be the same on all of them which puts us sales here in the middle so again try out some Hub sites see what they’re like play with them because again this is the updated way to do a site collection inside of SharePoint online hey everybody I want to be able to update some of the different facets of my site starting with the site navigation do I really want this navigation bar over here at the left hand side of my team site do I even want it on these are some of the questions you can ask when you start updating the look of a SharePoint site so where can I go to quickly make some of these changes well a great doorway is of course site settings so I’m going to go to the top right hand corner to the white gear and Microsoft is done a great job at putting some of these overall site navigation and look tools right here in this menu if you come down to the bottom we have an option that says change the look now this will give me three different primary areas that I can update in my site we want to start with the bottom one which is navigation how are people accessing content on my site now first of all I can turn my site navigation off completely notice right here I can say off save it and now my site has no left hand side navigation and sometimes people will do this because they want to keep the navigation within the content of the site if we go back to site settings again and come back down to change the look at the very bottom this time when I look at navigation I’m going to turn the navigation back on but I’m going to change the orientation to being horizontal now when I do this I get a few different styles of menus that I can pick from but these mostly work with again when you have drop downs within drop downs which I don’t but notice what’s happened now my navigation is along the top now are there benefits to this absolutely if my navigations along the top this might be something that the people I work with are more comfortable using they’re used to seeing the navigation up there so that’s where I’m going to keep the site navigation but remember you can always go in under change the look in site settings and you can again very quickly update where your site navigation is either Horizon horizontal or down the left hand side try it out in your own sights alright I want to update my site navigation a little bit more and just a reminder that to do many of these things that we’re talking about with updating the look of a site you need to be a site owner and how can you tell if you’re a site owner because you’ve heard me say that quite a bit you need to go in your team site because that’s what we’re looking at here to your site membership I’m going to come to the top right hand corner to where I see a list of everyone who’s either a site member or a site owner when I click on this menu I’m going to see all the different site owners and members and as I look through this menu I’m looking for myself I’m playing Megan and as I look through this list I can see Megan and under her name it tells me she is a site owner so this is important because sometimes you may go into a SharePoint site and try to do different things and it won’t allow you it’s because of your permissions in the site so we’ve ascertained that Megan’s a site owner and she wants to edit again her navigation bar first of all we’re going to come to the bottom of the navigation bar this is really easy to find there’s an edit button this will unlock the site navigation so that I can make changes to it notice how each item has an ellipses on the right hand side hopefully you know what these are for right when you click on them it gives you additional options to manage that specific item for me the first thing I want to do is remove the OneNote that’s associated with this site when I click on the ellipses towards the bottom of the menu I’ll see a remove option this does not delete the OneNote from my site it just removes the link to it from the navigation also you’ll see here that I can click on the ellipses and use it to move items up in the site navigation and sometimes the things are at the top it’s easier for people to find finally when I come to my site navigation I want to go to the documents area and I’d like to edit that content first of all we’re seeing that it’s a link in the site navigation and we’re seeing the URL to the site I just want to update the name rather than saying documents I’m going to update it to be team files because this is what my team refers to when they’re dealing with these again document storage for this site we can see how it’s been updated I’ll click on Save and now I’ll see that the navigation bar is back ready to be used and for example the updated team file still takes me to my site’s document Library it hasn’t changed any of the navigation it’s just again allowing me to personalize it to the people who use my site as always we want you to try this out so if you’re a site owner go into your site try modifying your site hi everyone what if I want to take my SharePoint site and really update the way it looks things like the color the logo you know give it a little bit more Pizzazz for that I need to go again to my site settings so from the site I’m going to come up to the white gear in the top right hand corner click on it and come down to change the look under change the look this time we’re going to head to the top to theme think of PowerPoints when you do this these are the different themes or color palettes that you can apply inside of a SharePoint site and as you click on them you can actually preview them this is also a place in some organizations where the organization will actually create branded themed colors so you come to this area and you might see some of them are very different but remember it’s what looks good according to your site and also company branding once I’m done picking my updated look I will click on OK or save I should say at the bottom and we’ll see that the new theme will be applied to the site keep in mind sometimes if someone goes to the site and they haven’t refreshed it they may not see the new theme applied so make sure people refresh the site and then we’ll see the updated theme inside the sites hey everybody welcome back to SharePoint nothing really recognizes a site more than its header so what is the header of a SharePoint site it’s the area at the top of your site that’s recognizable to the site and page it is below the SharePoint taskbar at the top but you’ll notice it has a logo it has a title and other important information to help me understand the site we want this to be branded we want it to be visually appealing so how can we help update the logo of our SharePoint site we’re going to head back to site settings click on the gear and come down to change the look this time we’re going to head into the header portion now in the header there are four different layouts minimal which is very thin compact which is a little bit taller standard and finally extended now you’ll see that for example extended is quite tall and takes up a lot of room vertically on my site if I want my site to not be scrolling forever I might want to go with the compact look it’s a little bit thinner doesn’t take up as much room at the top of the page now under the layouts I’ve got based on the theme that I’ve picked for my site the ability to customize the color applied at the top you want this again to pop so it’s usually better to pick a darker themed color now below that you can actually turn your site title off maybe you only want to see the theme and notice this just takes the title off now speaking of title on every SharePoint page you’ll see that next to the title there is a logo if you don’t provide a logo what does Microsoft do they will take the first letter of the first two words of your site name and those become your logo a little bit awkward but the good news is you can change it so as I come down it’s going to ask me for two different logos one is a thumbnail and one is a site logo the thumbnail is to represent your site when people search for it could you have two different logos here yes but I recommend doing the same one for consistency when people see that logo you want them to recognize that it’s your site so I’m going to click on change I have already downloaded my logo locally to my computer you can’t go online and find logo so you’ve got to already have them locally downloaded so that’s why I’m going in for each one and selecting it and we’ll see it get added now final thing I can do here is click on Save because now that I’ve made that change I I want to be able to see that logo update in my site and that’s what we’re actually seeing so again what we did here is we went to change the look we went to header and then we came down and we updated all this information for the site and the value of this is now I have a custom header that when my users see this header in my site they’re going to recognize it and know that they’re on the right site as always we want you to try this out so if you’re a site owner go in and try updating the header of your own sites all right we’re back in SharePoint land in this site you’re going to see an example of a team site where the logo was created by Microsoft and SharePoint online so right here in the top left hand corner notice the the name of this team site is event planning and so to provide a logo for the site all they do is take the first letter of each of the words in the site name and that becomes your logo it works when you’re first creating the site but really having a customized logo makes your site look more professional so we want to look at one more place you can go to update the site logo again my logo I’ve already got locally stored on my network or computer so I can’t go online to look for one when I add it to the site now to access where you can update the logo there are two different places this time we’re going to go to the second one I’m gonna head back to the settings gear again and I am a site owner another reminder of that from here what I want to do is come down to site information now site information is where you can do things like associate Hub sites also customize your site description and update the title of your site remember if the site’s title is updated it does not change the url in this case at the very top you’re going to see a location where you can update and change your site logo so I’m going to click on change navigate to the folder where my updated logo is located and then I’ll click on Save and you’ll see that this will then replace the logo that was originally provided by Microsoft with this new logo that’s what I want so again different ways to do the same thing but having a customized logo really does help to better brand and make your site more recognizable all right guys sometimes it happens a SharePoint site runs its course it’s time for it to die or maybe sites get created and they’re redundant two people create a site that can do the same thing that’s a bad idea so one of them needs to go away we want to have as few sites as possible so again if you’ve got extras get rid of the hangnail sites to do that I need to be a site owner also I’ve already done this I’m going to click on my site settings gear now before you delete a site do you have permission to delete it and what’s going to happen to all the stuff in that site we’re talking about the documents the calendar events the OneNote notebooks sites are not just web pages there’s a lot of content there you need to remember before you delete something that you know what’s going to happen to all that additional stuff so what I’m going to do from here is come up to my site settings gear and go down to site information this is where we’re going to see things like the name of the site it’s description I’ll so it’s privacy settings but notice at the bottom above the save button I have a delete site option before you delete a site Microsoft SharePoint online is always going to remind you about what you’re doing notice it’s telling me this will delete all the resources including the site the files the conversations do you want that to happen it’s asking me to back that content up now in this organization there actually is a backup that’s going on behind the scenes but you don’t know that’s going to happen for sure in your organization so please be sure before you delete anything you make triple sure that stuff is backed up yes I’m going to delete all the associated resources and the group notice that’s what it’s telling me and that group refers to the Office 365 group that works in tandem with this site to help manage the calendar events the conversations kind of that Outlook portion that happens within a SharePoint site I’m going to click on delete and suddenly I don’t see the side anymore it takes me back to my SharePoint start page and if I were to try to do a search for that site I would see that it’s not there anymore I can’t find it because the site is literally gone so again it’s a great way to manage sites but we’ve got to be super careful when we do delete a site hi everyone we want to talk about something bad that can happen and that’s when you delete a SharePoint site and you don’t mean to as a site owner that’s something all of us can do is delete a site we don’t need anymore but what if you do it accidentally and then realize you need that SharePoint site back really makes you feel sick doesn’t it but it does happen and there’s no magic undo button in SharePoint however if you’re a SharePoint admin or a global Office 365 admin you can help there is something there that can help restore a deleted SharePoint site the first thing we need to do is get into the admin portal for Office 365 and again this isn’t something that everyone has access to but I want to show you the process just so that if you work in an organization that’s new to SharePoint online you can help them through this process so I’m in my M365 home page and over here on the left hand side you’re going to see again my my navigation bar I am an admin a global admin actually so I can access my Office 365 admin tools I’m going to click on admin it opens up a new browser Tab and takes me to my M365 admin Center now we got to realize how important SharePoint is to The Office 365 or M365 experience it’s one of the biggest platforms so right here if I expand this lower section of the navigation pane I’m going to see that in the admin portal there’s a section called admin centers and some of the applications which are really more platforms have their own separate admin section SharePoint happens to be that way so I’m going to click on SharePoint another browser tab opens taking me to my SharePoint admin center it’s based on the same interface so it has again the ability to expand and collapse the navigation bar I do suggest you keep it pretty wide open the first few times you use it one of the very first things you’ll see when you come in here is that for SharePoint I have sites I have active sites these are the sites that are currently being used in the organization and then I have deleted sites well I recently deleted that event planning site and if you recall I didn’t mean to so my SharePoint admin can come in select the site and notice up here there’s a restore button the other thing I want to call out is that currently we’ll see that sites are retained for 93 days so I have a 93 or a three month retention policy and then they’re permanently deleted if you click right here on learn more it will take you in and give you a more in-depth description of what’s happening so this just tells me that deleted SharePoint sites will be retained for 93 days after 93 days the site and all its content will be permanently deleted this will include libraries lists pages and any subsites so it’s pretty specific I’ve selected my site I’m going to click on restore notice this tells me this site is connected to an Office 365 group restoring the site will also restore the group which means that all that great email content will be available to me notice it’s no longer here under deleted sites if I come back into active sites scroll down and look for event planning it’s back where it was before so it’s not an undo button but you’re again SharePoint online admin can help save the day if you are within that retention policy welcome back everybody what if you are in a SharePoint site and someone makes a change to one of your site Pages or a document Library anything in a site and it’s not a change that you like what can you do well built into M365 and also your SharePoint sites you have a tool called version history every time a user goes into a site and makes a change or an update it saves those changes under that user as a version and you can actually go in and revert back to a previous version if someone’s made a change that you don’t approve of as a site owner I’m looking at my market project team and I recently made a change to this site by adding this different styled header at the top or this text with an image underneath I don’t like it I want to revert back to the way the site page looked before the change was made the first thing I need to do is access my site pages to do this I need to go into a place of SharePoint in my site called site contents it’s kind of like going to the basement or the utility room of your site and it’s a great way to see what kinds of content are within the site to do this we’re going to go back up to site settings we’re going to come down to site contents now in the site contents list I’m going to see that I have contents and subsites and the different elements of my site are listed here including site Pages this would show me the individual pages of my site now right here I have my home page this was the page that I updated and again changes were made to this page that I don’t like so next to the name of the page I’ll see a vertical ellipses we all know what that does I’m going to click on it and then I’m going to come down and go to version history every time someone has been in the site or I should say in the page it shows me the date and time and then also the user I’m the one who again updated the page and I do not approve of it so what I’m going to do is go back to Lynn’s version click on the ellipses or in this case the arrow next to the date and time that particular version was created I can view properties of that version restore it or delete it in my case what I want to do is restore it so I’m going to click on the restore button notice what it tells me I’m about to replace the current version with the selected version I’m going to click on ok now I’m in a 2.1 version I’m going to go ahead and close out and then I’m going to leave my site contents view by just clicking on my site logo that’ll take me to the top of my site I’m going to see that when I come to it it’s reverted back to the previous version which is different than the way the site looked before but this version history being Again part of your site pages is a really great way if changes are being made to know that you can always revert back to a previous one if something gets changed and you don’t like it so go into a site of your own and check out the version history in one of your site pages hey everyone thank you so much for joining us for this SharePoint online training we’ve covered a lot of territory everything with how to access SharePoint online from your Office 365 homepage to utilizing the SharePoint start page as a great way to follow sites that you access a lot and also navigate to different parts of your SharePoint platform we’ve even spent some time exploring different kinds of SharePoint sites team sites that allow groups of people to come together communicate and collaborate and communication sites that help us to share information we’ve also spent time using the site settings gear to get familiar with great tools like changing the look accessing our site information to help start making edits to our sites once they’re created we even spent some time deleting sites and looking at how a SharePoint admin could go in and restore that site as always we want you to join us for more courses in the future and thanks for being here for SharePoint online thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learnit.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Microsoft Teams for Trainers: Conducting Effective Meetings

    Microsoft Teams for Trainers: Conducting Effective Meetings

    This source is a training module for using Microsoft Teams effectively as a trainer. It guides users through scheduling meetings, adjusting meeting options, and managing meetings within channels. The training covers utilizing meeting tools like chat, polls, breakout rooms, and screen sharing, including the Microsoft Whiteboard. Finally, it demonstrates how to access meeting recordings and attendance reports for post-meeting analysis.

    Microsoft Teams for Trainers Study Guide

    Quiz

    Answer the following questions in 2-3 sentences each.

    1. What are the three primary learning outcomes for trainers covered in this Microsoft Teams course?
    2. Explain the difference between scheduling a meeting from a standard channel versus a private channel in Microsoft Teams.
    3. Describe two options for managing who can bypass the lobby when setting up meeting options in Microsoft Teams.
    4. Why might a trainer want to set up breakout rooms before a Microsoft Teams meeting begins?
    5. What are two ways a trainer can share files with attendees before a scheduled Microsoft Teams meeting?
    6. Explain the purpose of conducting a test call before hosting a live Microsoft Teams training session.
    7. Name two host controls that a trainer can utilize during a Microsoft Teams meeting to manage participants.
    8. What is the keyboard shortcut attendees can use to raise or lower their hand in a Microsoft Teams meeting?
    9. Describe one of the presenter modes available when sharing your screen during a Microsoft Teams meeting.
    10. What information can a trainer access in the attendance report after a Microsoft Teams meeting concludes?

    Quiz Answer Key

    1. The three primary learning outcomes are to effectively schedule meetings and adjust meeting options beforehand, effectively host a meeting within a Teams channel to keep information in one place, and discover the use of meeting tools such as breakout rooms and sharing PowerPoints.
    2. Meetings can be scheduled directly from a standard channel, automatically populating the channel in the meeting details. In contrast, scheduling a meeting for members of a private channel requires going to the calendar and inviting those members individually, as direct scheduling from the private channel is not available.
    3. Two options for managing who can bypass the lobby are “People in my organization,” which allows authenticated users from the same organization to enter directly, and “Only me,” which requires everyone else to wait in the lobby until the host admits them.
    4. Setting up breakout rooms before a meeting allows the trainer to pre-assign participants to specific groups and configure room settings like time limits and presenters, making the process more efficient and less disruptive during the live session.
    5. A trainer can share files before a meeting by attaching them in the chat space associated with the scheduled meeting or by uploading them directly within the channel where the meeting is scheduled.
    6. Conducting a test call allows trainers to verify that their audio input (microphone) and output (speakers) are working correctly, as well as ensuring their video camera is functioning as expected, thus preventing technical issues at the start of the training session.
    7. Two host controls include the ability to mute all participants simultaneously to manage noise or discussion flow, and the option to individually turn off a participant’s microphone or camera if needed.
    8. Attendees can press the keyboard shortcut Ctrl + Shift + K to raise their hand to ask a question or get the trainer’s attention without interrupting the flow of the meeting, and they can use the same shortcut to lower their hand.
    9. One presenter mode is “Content only,” which focuses solely on the shared content. Another mode is “Standout,” which overlays the presenter’s video feed on top of the shared content, creating a more engaging presentation style.
    10. The attendance report provides information such as a list of all attendees, the times they joined and left the meeting, the duration of their attendance, and their role within the meeting (e.g., attendee, presenter).

    Essay Format Questions

    1. Discuss the strategic benefits of utilizing Microsoft Teams channels for trainer-led meetings, focusing on how the integration of scheduling, chat, and post-meeting resources can enhance the learning experience and streamline communication.
    2. Evaluate the importance of proactively configuring meeting options in Microsoft Teams, such as lobby settings, presenter roles, and recording preferences, for ensuring a productive and controlled training environment.
    3. Compare and contrast the use of breakout rooms and the Microsoft Whiteboard as interactive tools during a virtual training session, analyzing their respective strengths in facilitating collaboration and engagement among participants.
    4. Describe the steps involved in effectively incorporating polls into a Microsoft Teams training session, from creation and sharing to their potential impact on participant feedback and understanding.
    5. Analyze the features within Microsoft Teams that support post-meeting follow-up and assessment for trainers, including the attendance report and meeting recording, and discuss how this data can inform future training sessions.

    Glossary of Key Terms

    • Channel: A dedicated section within a Microsoft Teams team, organized around a specific topic, project, or discipline. Standard channels are accessible to all team members, while private channels restrict access to designated individuals.
    • Meeting Options: Customizable settings for a Microsoft Teams meeting that can be configured before the meeting starts, including who can bypass the lobby, who can present, and recording preferences.
    • Breakout Rooms: Smaller, separate virtual meeting spaces that can be created within a main Microsoft Teams meeting to facilitate focused discussions or group activities. Participants can be assigned manually or automatically to these rooms.
    • Meeting Tools: Features available during a Microsoft Teams meeting that enhance interaction and delivery, such as chat, screen sharing, participant management, breakout rooms, and the whiteboard.
    • Chat Space: A dedicated area associated with a scheduled Microsoft Teams meeting where participants can communicate through text messages, share files, and access meeting-related information before, during, and after the session.
    • Test Call: A feature in Microsoft Teams that allows users to check their audio and video devices before joining or hosting a meeting to ensure they are working correctly.
    • Host Controls: Features available to the meeting organizer or designated presenters that allow them to manage participants, such as muting, removing, or assigning roles.
    • Screen Sharing: The ability for a presenter to broadcast their computer screen or specific applications to meeting participants. Microsoft Teams offers various presenter modes to customize how the presenter’s video feed is displayed with the content.
    • Microsoft Whiteboard: A collaborative digital canvas within Microsoft Teams where participants can draw, write, add notes, and work together in real-time.
    • Attendance Report: A record generated by Microsoft Teams after a meeting concludes, detailing when participants joined and left the session, as well as their duration of attendance and role.

    Microsoft Teams for Trainers Briefing Document

    Date: October 26, 2023 Prepared By: Gemini AI Subject: Review of Microsoft Teams for Trainers Course

    This briefing document summarizes the key themes, important ideas, and facts presented in the provided transcript of a Microsoft Teams for Trainers course led by Mo Jones. The course aims to equip trainers with the necessary skills to effectively conduct meetings using Microsoft Teams.

    Main Themes

    1. Effective Meeting Scheduling and Preparation: A significant portion of the course focuses on how to properly schedule meetings within Teams channels and how to configure meeting options beforehand to ensure a smooth and productive session.
    2. Leveraging Pre-Meeting Tools for Engagement: The course emphasizes utilizing the chat space associated with a scheduled meeting to share pre-reading materials and create polls to engage attendees even before the meeting begins.
    3. Mastering In-Meeting Tools for Enhanced Collaboration: The training covers essential in-meeting tools such as participant management, chat, breakout rooms, screen sharing with different presentation modes, and the interactive whiteboard feature.
    4. Understanding Post-Meeting Reporting and Follow-up: The course highlights the automatic attendance tracking and meeting recording features of Teams, providing trainers with valuable data and resources for post-meeting review and follow-up.
    5. Importance of Clear Communication and Guidance for Attendees: The trainer emphasizes the need to inform attendees about basic Teams functionalities and shortcuts to ensure everyone can participate effectively.

    Most Important Ideas and Facts

    Scheduling Meetings and Adjusting Meeting Options

    • Meetings can be scheduled directly from a Teams channel using the “Meet” icon’s dropdown menu.
    • “Notice I’m currently on the asset management Channel I’m going to head on over to the top right of my screen and I want to take advantage of this meet icon here notice I can go ahead and conduct a meeting right now or I can use the drop down here to go ahead and schedule a meeting…”
    • Scheduling from a channel automatically populates the channel information in the meeting details.
    • “…do want to point out that because we use the feature to schedule the meeting right from our Channel it actually populates the channel right here for us right into our channels area…”
    • Meeting options can be adjusted after scheduling the meeting by accessing “Meeting options” within the meeting details. These options include:
    • Who can bypass the lobby (e.g., “People in my organization”).
    • Whether to always let callers bypass the lobby.
    • Notifications for join/leave events (can be turned off).
    • Who can present (e.g., “People in my organization and guests”, “Specific people”, “Only me”).
    • Allowing/disallowing microphones and cameras for attendees.
    • Automatic recording of the meeting.
    • Allowing/disallowing reactions.
    • Enabling live captions (if a caption service is set up).
    • “So here’s the resulting meeting options screen that opens in a new browser we’ll go ahead and expand this here and we have some decisions to make in terms of getting ourselves set up before our meeting has started here…”

    Hosting a Meeting Within a Teams Channel

    • Hosting within a channel keeps all meeting-related information in one place, facilitating pre- and post-meeting conversations.
    • “…the goal is we want to really be able to just keep all of the information in one spot so we can start the conversation before our meeting and we can continue the conversation after the meeting as well.”

    Utilizing Meeting Tools

    • Breakout Rooms:Breakout rooms can be set up before the meeting starts via the meeting details.
    • Rooms can be renamed, and participants can be assigned manually or automatically.
    • Room settings allow for assigning presenters to manage rooms (though this was later turned off in the example), setting time limits, automatically moving people to rooms, and allowing them to return to the main room.
    • “…we can go ahead and set up our rooms ahead of time before the meeting sometimes it’s very difficult while you’re in the meeting spending a lot of time setting the rooms up…”
    • Chat Space:Each scheduled meeting has a dedicated chat space for sharing files and pre-meeting communication.
    • Polls can be created and shared via Microsoft Forms, either by adding a “Forms” tab to the meeting chat or by sharing a direct link.
    • “So this is kind of the chat space that’s reserved for this meeting and so as you can see I was able to upload or attach a file for everyone to kind of take a look at before the actual meeting starts…”
    • Test Call:Users can make a test call within Teams settings to verify their audio and video devices are working correctly.
    • “At this point what we can do go ahead and click on make a test call it’s going to go through a video test and audio test and a microphone test for you…”
    • In-Meeting Host Controls:During a meeting, hosts have controls over participants (muting, disabling mics/cameras, making presenters, removing participants, spotlighting).
    • The meeting link can be copied and shared.
    • Meeting permissions can be managed, and the meeting can be locked.
    • Attendance list can be downloaded during the meeting.
    • Screen Sharing:Multiple present modes are available, including “Content only,” and layouts that incorporate the presenter’s video feed (e.g., “Standout,” “Side-by-side,” “Reporter”).
    • Users can share their entire screen or specific windows.
    • The option to “include computer sound” is available when sharing.
    • Microsoft Whiteboard:An interactive whiteboard can be shared during a meeting for real-time collaboration.
    • Features include pens, highlighters, erasers, sticky notes, text boxes, shapes, and templates (e.g., for brainstorming).
    • Participants can be allowed to edit the whiteboard.
    • Whiteboards can be exported as images.
    • “One of the features here is the Microsoft whiteboard and if I click on my whiteboard here will open up my whiteboard for me…”

    Post-Meeting Activities

    • An attendance report is automatically generated and available in the Teams channel where the meeting was held. This can be downloaded as an Excel file.
    • “Here is the attendance report we can actually go ahead and click on the attend ance report right here it will open in an Excel sheet…”
    • Meeting recordings are also automatically saved and accessible within the channel.
    • “…we can see that the meeting was recorded so we can play back the meeting right here…”
    • Meeting details, including attendance information (join/leave times, duration, role), can be viewed directly within Teams.
    • “…once I’m here I can actually click on the attendance and if I just click on the appropriate meeting here here we can see all of our attendees when they joined when they left the meeting duration and their role as well…”

    Target Audience

    • The course is designed for “team supervisors, content managers, information managers, and project managers as well.”

    This briefing document provides a comprehensive overview of the Microsoft Teams for Trainers course, highlighting the essential knowledge and skills covered to effectively leverage Teams for conducting training sessions.

    Frequently Asked Questions for Microsoft Teams Meetings (Trainers)

    1. What are the key objectives for trainers conducting meetings with Microsoft Teams, as highlighted in this course? The primary learning outcomes for trainers using Microsoft Teams for meetings are to effectively schedule meetings and adjust meeting options beforehand to ensure success. Additionally, trainers should be able to effectively host meetings within a Teams channel, keeping all related information in one accessible location for pre- and post-meeting engagement. Finally, the course aims to familiarize trainers with essential meeting tools like breakout rooms and PowerPoint sharing to enhance meeting productivity.

    2. Who is the intended audience for this Microsoft Teams for Trainers course? This course is designed for individuals in roles such as team supervisors, content managers, information managers, and project managers who are responsible for conducting meetings using Microsoft Teams.

    3. How can trainers schedule a meeting within a Microsoft Teams channel? To schedule a meeting within a Teams channel, navigate to the desired channel. In the top right corner, click the “Meet” icon and select “Schedule a meeting.” This will open a new window where you can add a title, required and optional attendees, set the date and time, and add meeting details. Since you initiated the scheduling from the channel, the channel will automatically be populated in the meeting details, ensuring the meeting is associated with that specific channel. Note that scheduling meetings directly from private channels is not supported; you would need to use the calendar and invite members individually.

    4. What meeting options can trainers configure before a meeting starts, and why is this important? Before a meeting begins, trainers can configure various meeting options to control the meeting environment. These options, accessible by editing a scheduled meeting and selecting “Meeting options,” include: * Who can bypass the lobby: Determine who joins the meeting directly versus waiting in a lobby. * Always let callers bypass the lobby: Allow participants joining via phone to enter directly. * Announce when callers join or leave: Receive notifications when participants join or leave (can be turned off to avoid distraction). * Who can present: Designate who has presenter privileges (e.g., everyone, specific people, only the organizer). * Allow mic and camera for attendees: Control whether attendees can use their microphones and cameras. * Record automatically: Start recording the meeting as soon as it begins. * Allow reactions: Enable or disable attendee reactions like thumbs up or applause. * Enable live captions: Turn on live transcription if a caption service is set up.

    Configuring these options in advance allows trainers to set the stage for a productive and well-managed meeting.

    5. How can trainers utilize the chat space associated with a scheduled Microsoft Teams meeting before, during, and after the meeting? The chat space associated with a scheduled Teams meeting, accessible via a tab in the meeting details, serves as a central communication hub. Before the meeting, trainers can share pre-reading materials, attach relevant files, and post introductory messages. During the meeting, the chat can be used for sharing links (like polls), answering questions without interrupting the flow, and general communication. After the meeting, the chat retains all conversations and shared resources, providing a record and a space for continued discussion.

    6. How can trainers effectively use breakout rooms in Microsoft Teams meetings to facilitate focused discussions or activities? Microsoft Teams allows trainers to create and manage breakout rooms, even before a meeting starts. From the meeting details, trainers can access the “Breakout rooms” tab to create a specified number of rooms, rename them, and manually or automatically assign participants. During the meeting, trainers can open and close rooms, make announcements that are broadcast to all breakout rooms, set time limits for sessions, and choose whether to automatically move people to rooms and allow them to return to the main meeting. Assigning presenters to manage specific rooms is also an option. Setting up breakout rooms in advance saves valuable time during the live meeting.

    7. What are some of the meeting tools available to trainers during a Microsoft Teams meeting to engage participants and manage the session effectively? During a Teams meeting, trainers have access to several tools to enhance engagement and management: * Participant Management: View and manage attendees, mute individuals or everyone, disable microphones or cameras, spotlight presenters, remove participants, and download an attendance list. * Chat: Facilitate real-time text-based communication and share links (e.g., for polls). * Breakout Rooms: Organize participants into smaller groups for focused discussions. * Screen Sharing: Share their entire screen, a specific window, or a presentation. Teams offers various presentation modes to integrate the presenter’s video feed with the content. * Microsoft Whiteboard: A collaborative digital canvas for brainstorming, note-taking, and interactive activities, with features like pens, sticky notes, shapes, templates, and the ability for participants to contribute. * Reactions: Allow attendees to provide non-verbal feedback (can be disabled). * Raising Hand: Attendees can virtually raise their hand to ask questions without interrupting.

    8. How can trainers access and utilize post-meeting information and reports in Microsoft Teams? After a Teams meeting concludes, several pieces of information and reports become available within the associated channel. These include: * Meeting Recording: A recording of the meeting is automatically saved and accessible for playback directly within the channel or via a shareable link. * Attendance Report: A downloadable Excel file or an in-app view detailing attendee join and leave times, duration of participation, and roles. This report provides valuable insights into meeting participation. * Chat History: All messages and shared files within the meeting chat remain accessible in the channel. * Poll Results: If a poll was conducted, the results are typically collected and may be visible within the channel or the associated Forms application.

    This post-meeting information allows trainers to review the session, track attendance, and share resources with attendees who may have missed the meeting or want to revisit the content.

    Microsoft Teams: A Trainer’s Guide to Meetings

    Based on the sources, Microsoft Teams is a platform that can be used by trainers to conduct meetings. This course is designed to guide trainers on what they need to know when conducting meetings with Teams, and it emphasizes interactive learning with opportunities to pause and practice.

    Here are some key aspects of using Microsoft Teams as highlighted in the sources:

    • Scheduling Meetings: You can schedule meetings within a specific Teams channel, which automatically populates the channel in the meeting details. While you cannot schedule a meeting directly from a private channel, you can do so from a standard channel. When scheduling, you can add a title, required and optional attendees, set the date and time, and add details. The scheduling assistant helps identify potential calendar conflicts. Once scheduled, the meeting will appear as a post in the channel.
    • Adjusting Meeting Options: After scheduling a meeting, you can access “Meeting options” to configure settings before the meeting starts. These options, which open in a web browser, allow you to control:
    • Who can bypass the lobby (e.g., only you, people in your organization).
    • Whether callers can always bypass the lobby.
    • Notifications for when people join or leave.
    • Who can present (e.g., everyone, specific people, only you).
    • Whether to allow microphones and cameras for attendees.
    • Automatic recording of the meeting.
    • Whether to allow reactions during the meeting.
    • Enabling live captions (if a caption service is set up).
    • Hosting Meetings within a Team’s Channel: Hosting meetings within a channel keeps all related information in one place, allowing for conversations before and after the meeting in the same space.
    • Meeting Tools: Teams offers various tools to enhance meetings:
    • Breakout Rooms: You can set up breakout rooms before the meeting starts, assigning participants manually or automatically. You can rename rooms, add or assign participants, and configure room settings like time limits and automatically moving people to rooms. During the meeting, you can open and close rooms, make announcements to all rooms, and manage participants within rooms.
    • Sharing PowerPoint: You can share your screen or specific windows, including PowerPoint presentations. Teams offers different present modes that integrate your camera feed with the content in various layouts. You can also choose to include computer sound when sharing.
    • Chat Space: Each scheduled meeting has a dedicated chat space where you can share files and communicate with attendees before, during, and after the meeting.
    • Polls: You can create polls using Microsoft Forms and share the link in the meeting chat for attendees to participate in. You can create the form beforehand and share the link during the meeting.
    • Whiteboard: Microsoft Teams has a built-in whiteboard feature that allows for real-time collaboration. You can draw, add notes and text, insert shapes, and use templates for various activities like brainstorming. Participants can also interact with the whiteboard, depending on the settings. You can export the whiteboard as an image.
    • Test Calls: Before conducting a meeting, it’s advisable to make a test call to ensure your audio and video devices are working correctly. You can access device settings through your profile menu to configure your speakers, microphone, and camera, and then initiate a test call.
    • Host Controls During a Meeting: As a meeting host, you have several controls available during the meeting:
    • Managing participants, including muting everyone or individual attendees, disabling microphones and cameras, spotlighting participants, removing participants, and making someone a presenter.
    • Managing permissions and locking the meeting to prevent further entry.
    • Accessing the meeting chat to share links or run polls.
    • Managing pre-configured breakout rooms.
    • Accessing meeting options for last-minute changes and viewing meeting information.
    • Changing the meeting view (e.g., gallery view, large gallery, together mode).
    • Reminding attendees of useful shortcuts, such as Ctrl+Shift+K to raise or lower their hand and Ctrl+Shift+M to mute/unmute.
    • Attendance Reports: After a meeting concludes, Teams generates an attendance report that you can access in the channel where the meeting was held or through the meeting details. The report provides information on when attendees joined and left the meeting, their duration, and their role. You can view this information directly in Teams or download it as an Excel file. The meeting recording is also typically available in the channel.

    The sources indicate that this Microsoft Teams training is intended for team supervisors, content managers, information managers, and project managers. The goal is to equip these individuals with the skills to effectively schedule and conduct meetings using Microsoft Teams.

    Microsoft Teams Meeting Guidance for Trainers

    Based on the sources, the training course provides significant guidance for trainers on how to effectively use Microsoft Teams for conducting meetings. The overall goal is to equip trainers with the knowledge and skills to schedule, set up, host, and follow up on meetings within the Teams environment.

    Here is a breakdown of the trainer guidance offered:

    • Effective Scheduling and Meeting Options: Trainers are guided on how to schedule meetings within a specific Teams channel to keep all related information in one place. The course emphasizes the importance of adjusting meeting options before the meeting starts to ensure a smooth and successful session. This includes configuring who can bypass the lobby, presenter roles, microphone and camera permissions for attendees, automatic recording, and enabling reactions.
    • Hosting Meetings Effectively: The training highlights the benefits of hosting meetings within a Teams channel for pre- and post-meeting communication. It advises trainers to familiarize themselves with various meeting tools and host controls.
    • Utilizing Meeting Tools: Trainers receive specific guidance on using key Teams meeting features:
    • Breakout Rooms: The course provides step-by-step instructions on how to set up breakout rooms before a meeting, including creating rooms, renaming them, and assigning participants manually or automatically. It also covers managing room settings like time limits and sending announcements to all rooms during a meeting. This pre-meeting setup is recommended to save time during the actual session.
    • Sharing Content: Trainers are shown how to share their screen or specific windows, including PowerPoint presentations. The training demonstrates different present modes that integrate the presenter’s video feed with the content. It also advises on enabling computer sound when sharing audio.
    • Chat Space: The course encourages trainers to utilize the meeting chat space to share files and engage with attendees before, during, and after the meeting. Trainers are shown how to attach files and leave messages for attendees to review beforehand.
    • Polls: The training demonstrates how to create polls using Microsoft Forms and share the link within the meeting chat to gather feedback or conduct quick surveys during the session. It notes that the process differs slightly for meetings scheduled within a channel versus outside of one.
    • Whiteboard: Trainers are introduced to the Microsoft Whiteboard as a collaborative tool for activities like brainstorming. The course covers basic functionalities like drawing, adding notes and text, using shapes and templates, and adjusting settings to allow participant editing.
    • Importance of Test Calls: The guidance emphasizes the value of conducting a test call before a meeting to ensure audio, video, and microphone are functioning correctly. Trainers are shown how to access device settings and initiate a test call.
    • Managing Participants and Host Controls: The training familiarizes trainers with various host controls available during a meeting. This includes managing participants (muting, disabling cameras, spotlighting, removing, making presenters), managing permissions, and locking the meeting. Trainers are also advised to inform attendees of useful shortcuts, such as Ctrl+Shift+K for raising/lowering hands and Ctrl+Shift+M for muting/unmuting.
    • Post-Meeting Activities and Attendance: The course guides trainers on how to access and utilize post-meeting information, specifically the attendance report and meeting recording. It shows how to download the attendance list as an Excel file or view the data directly in Teams. Trainers are informed that the meeting recording is typically available in the channel where the meeting took place.

    In essence, the provided sources constitute a comprehensive guide for trainers looking to leverage the features of Microsoft Teams to deliver effective and engaging online training sessions. The guidance focuses on pre-meeting preparation, effective facilitation during the meeting, and post-meeting follow-up.

    Microsoft Teams: Features for Effective Meetings

    Based on the sources, Microsoft Teams offers a wide array of features designed to facilitate effective and engaging meetings for trainers and attendees alike. These features cover the entire meeting lifecycle, from scheduling to post-meeting follow-up.

    Here’s a discussion of key meeting features in Microsoft Teams:

    • Scheduling Meetings: Microsoft Teams allows users to schedule meetings directly within a specific Teams channel. This action automatically posts the meeting information within that channel. While scheduling, you can specify the meeting title, add required and optional attendees, set the date and time, and include meeting details. The platform also provides a scheduling assistant to help identify potential conflicts in attendees’ calendars. It’s important to note that scheduling meetings directly from a private channel is not supported; instead, users need to schedule via the calendar and invite members individually.
    • Adjusting Meeting Options: After scheduling a meeting, organizers can configure meeting options to control various aspects of the session before it begins. These options, accessible through a web browser, include settings for:
    • Who can bypass the lobby (e.g., everyone, people in my organization, only me).
    • Whether to always let callers bypass the lobby.
    • Notifications for when participants join or leave.
    • Who can present (with options like everyone, specific people, or only me).
    • Allowing or disallowing microphones and cameras for attendees.
    • Automatically recording the meeting.
    • Enabling or disabling reactions.
    • Turning on live captions (if the service is available).
    • Hosting Meetings within a Team’s Channel: Conducting meetings within a specific Teams channel is emphasized for its ability to keep all meeting-related information, including pre- and post-meeting conversations and shared files, in one centralized location.
    • Utilizing Meeting Tools: Teams provides several tools to enhance the meeting experience:
    • Breakout Rooms: Organizers can create and configure breakout rooms before or during a meeting. This includes specifying the number of rooms, renaming them, and assigning participants either manually or automatically. During the meeting, facilitators can open and close rooms, make announcements to all rooms, and adjust room settings. Presenters can even be assigned to manage specific breakout rooms. Options also exist to set a time limit for breakout sessions and to automatically move people to rooms, as well as allowing participants to return to the main room.
    • Content Sharing: Teams allows users to share their screen, specific windows, or PowerPoint presentations. When sharing, there are different present modes available that integrate the presenter’s camera feed with the content in various layouts (e.g., content only, side-by-side, news broadcast). Organizers can also choose to include computer sound when sharing.
    • Chat Space: Each scheduled meeting has a dedicated chat space where participants can communicate before, during, and after the meeting. This space can be used to share files, links, and messages related to the meeting.
    • Polls: Microsoft Teams integrates with Microsoft Forms to allow organizers to create and conduct polls during meetings. Poll links can be shared in the meeting chat for attendees to respond to. Forms can be created beforehand and readily shared.
    • Whiteboard: The platform offers a Microsoft Whiteboard feature for real-time collaboration. Participants can use digital pens, add notes and text, insert shapes, and utilize various templates for activities like brainstorming. The whiteboard can be shared during the meeting, and the organizer can control whether attendees can edit it. The whiteboard can also be exported as an image.
    • Participant Management: During a meeting, hosts have several controls for managing participants. These include the ability to show participants, mute everyone or individual attendees, disable microphones and cameras, spotlight a participant, remove someone from the meeting, and make a participant a presenter. Hosts can also manage permissions and lock the meeting to prevent further participants from joining.
    • Meeting Views: Teams offers different meeting views, with the default being the gallery view. Other options include large gallery for viewing more than nine videos at once and together mode, which places participants in a shared virtual space.
    • Reactions and Live Captions: Participants can use reactions (like thumbs up or clapping hands) during meetings if this feature is enabled in the meeting options. Additionally, if a caption service is set up, live captions can be turned on to provide real-time transcription.
    • Post-Meeting Features: After a meeting concludes, Microsoft Teams provides valuable post-meeting information. This includes:
    • Attendance Reports: Teams automatically generates an attendance report that details when attendees joined and left the meeting, their duration, and their role. This report can be accessed directly in the Teams channel or downloaded as an Excel file.
    • Meeting Recordings: If the meeting was recorded, the recording is typically available in the Teams channel where the meeting took place. Links to the recording can also be obtained.
    • Pre-Meeting Preparations: The platform encourages trainers to conduct test calls to ensure their audio and video devices are functioning correctly before a live session. Users can access device settings to configure their setup and initiate a test call. Hosts can also copy the meeting link and share it with attendees if needed. Meeting info, including join details, can also be easily accessed and shared.

    These features collectively make Microsoft Teams a robust platform for conducting various types of meetings, particularly for training purposes, as highlighted in the sources.

    Microsoft Teams Breakout Rooms: Setup and Management

    Based on the sources, Microsoft Teams offers a comprehensive Breakout Rooms feature designed to facilitate smaller group discussions and activities within a larger meeting. This feature allows meeting organizers and presenters to divide participants into separate, smaller rooms for focused collaboration. The sources provide detailed guidance on how to set up and manage breakout rooms both before and during a meeting.

    Here’s a discussion of the Breakout Rooms feature:

    • Pre-Meeting Setup:
    • Organizers can set up breakout rooms before a meeting starts. This is done through the meeting details page, where a dedicated “Breakout rooms” tab is available.
    • The organizer can create a specified number of rooms.
    • Each room can be renamed to reflect the group’s task or theme (e.g., “Team One,” “Team Two”).
    • Participants can be assigned to rooms either manually or automatically.
    • Manual assignment allows the organizer to choose specific participants for each room. This might require attendees to have accepted the meeting invitation.
    • Automatic assignment randomly distributes participants across the created rooms.
    • Room settings can be configured in advance. These include:
    • Assigning a presenter to manage a particular room (this requires the person to be set as a presenter in the general meeting options).
    • Setting a time limit for the breakout sessions.
    • Choosing to automatically move people to rooms once the rooms are opened.
    • Allowing or disallowing participants to return to the main meeting room on their own.
    • During the Meeting:
    • During the live meeting, the organizer can open the pre-configured breakout rooms. Participants will then be moved to their assigned rooms.
    • The organizer retains control over the breakout rooms and can perform several actions:
    • Open and close rooms individually or all at once.
    • Join any of the breakout rooms to monitor discussions or participate. (This functionality is implied but not explicitly detailed in the provided excerpts).
    • Make announcements to all open breakout rooms simultaneously to provide updates or reminders (e.g., “five minutes remaining”).
    • Add more rooms if needed during the meeting.
    • Recreate the rooms, which would typically involve reshuffling the participants.
    • Delete rooms.
    • Benefits and Use Cases:
    • Setting up breakout rooms beforehand can save valuable time during the meeting.
    • Breakout rooms are useful for focused discussions, small group activities, and collaborative tasks.
    • The ability to assign participants manually allows for the creation of specific working groups based on skills or objectives.
    • Room settings provide flexibility in structuring breakout sessions with time limits and controlled movement between rooms.
    • Announcements ensure that organizers can communicate important information to all breakout groups without having to enter each room individually.

    In summary, the Breakout Rooms feature in Microsoft Teams is a powerful tool for trainers to enhance engagement and facilitate collaborative learning experiences by dividing larger groups into smaller, more focused discussion spaces. The platform allows for comprehensive pre-meeting configuration and provides organizers with significant control over the rooms and participants during the live session.

    Microsoft Teams Meeting Attendance Reports

    Based on the sources, Microsoft Teams provides meeting reports, primarily focused on attendance tracking, to help organizers understand participation in their meetings. These reports offer valuable insights into who attended, when they joined and left, and their overall presence during the session.

    Here’s a breakdown of the meeting report features discussed in the sources:

    • Automatic Generation: After a meeting concludes, Microsoft Teams automatically generates information and reports related to the meeting within the Teams channel where the meeting was conducted. This centralized location keeps all meeting-related data together.
    • Components of the Report in the Channel: The information posted in the channel after a meeting can include:
    • Files shared during the meeting.
    • Notification of when the meeting recording was started.
    • Confirmation if a form or poll was shared.
    • A direct link to the attendance report.
    • Access to the meeting recording, with options to play it back, open it, or get a shareable link.
    • Accessing the Attendance Report: There are a couple of ways to access the attendance data:
    • Directly in the Channel: A post-meeting message in the channel will often include a link to the attendance report. Clicking this link typically opens the report in Microsoft Excel.
    • Via Meeting Details: Organizers can go back to the scheduled meeting in their calendar or find the meeting post in the channel and select “View meeting details”. Within the meeting details, there is an “Attendance” tab where a summary of attendee data is available.
    • Content of the Attendance Report: The attendance report, whether viewed in the Teams interface or the downloaded Excel file, provides the following information:
    • Title of the meeting.
    • Start and end time of the meeting.
    • Meeting ID.
    • A list of all attendees.
    • The time each attendee joined the meeting.
    • The time each attendee left the meeting.
    • The duration for which each attendee was present.
    • The role of each attendee (e.g., organizer, attendee).
    • Downloading the Attendance Data: Besides viewing the summary in Teams, organizers have the option to download the attendance data as an Excel file from both the post-meeting channel information and the “Attendance” tab within the meeting details. This allows for further analysis, sharing, or record-keeping.
    • Channel Summary: The Teams channel provides a condensed view of the meeting outcomes. Users can click on a “replies” icon to see a more detailed summary of the activities and reports associated with that specific meeting.

    In summary, Microsoft Teams automatically generates attendance reports that are readily accessible within the meeting’s channel and via the meeting details. These reports offer a comprehensive overview of participant activity, including join and leave times, duration of حضور, and roles, and can be downloaded for more detailed analysis. This feature is a valuable tool for trainers to track attendance and engagement in their sessions.

    Teams for Online Teaching Tutorial

    The Original Text

    hello and welcome to our Microsoft teams for trainers my name is Mo Jones and I’ll be guiding you through this course today we’ll cover what you need to know as a trainer when you’re conducting meetings with teams this is interactive so be ready to pause the video and practice if you’re enjoying these videos please like And subscribe if you’re looking to earn certificates and watch videos without ads sign up for learn it anytime our dedicated online training Subscription Service check the link in the description for more information if you have any questions you want answered by one of our instructors please join our off-site community the link is in the description as well as always if this course has exercise files you’ll find them in the video description below let’s take a look at our learning outcomes for today notice that we have three primary outcomes that we want to accomplish for today we want to effectively schedule meetings and we want to be able to adjust those meeting options before our meeting starts so that we can be set up to win here we also want to be able to effectively host a meeting Within A team’s channel to be specific so we’ll take a look at that as well and the goal is we want to really be able to just keep all of the information in one spot so we can start the conversation before our meeting and we can continue the conversation after the meeting as well we want to go ahead and discover the use of meeting tools such as breakout rooms and sharing PowerPoints as well and we’ll take a look at some other useful tools that will help us to make the most out of our meetings so who should attend this is for team supervisors content managers information managers and project managers as well [Music] so we have a few tasks here in the form of mini lessons we want to go ahead and schedule a meeting we’ll spend some time using the chat space so we can start the conversation before the meeting actually takes place it’s a good idea to conduct a test call and have a run through so we can take a look at some of the hosting tools that are available for us we’re actually going to go ahead and start a meeting and we’ll take a look at some of the tools and after the meeting we’ll go ahead and download our attendance and take a look at the data that was gathered there as well so go ahead and open up your teams hopefully you have a team and a channel that’s already available if not go ahead and pause this video make sure that you have a team and a channel that you can modify and come right back welcome back well I went ahead and launched my Microsoft teams desktop app and if you take a look at current Curr have a team here it’s called the technology team and underneath this team I have two channels one is a standard Channel which is called Asset Management in which everyone that’s a member of my technology team will be able to interact with this Channel and then I have a private Channel inside of my team here called it budget where I only have a few specific people from my team that can access this channel here as well so at this point what I want to do I want to go ahead and actually schedule a meeting notice I’m currently on the asset management Channel I’m going to head on over to the top right of my screen and I want to take advantage of this meet icon here notice I can go ahead and conduct a meeting right now or I can use the drop down here to go ahead and schedule a meeting so I want to go ahead and do that I’ll go back to my budet my private channel here and currently as you can see you cannot schedule a meeting yet at least from a private Channel and so we would need to go to the calendar and invite those members individually there as well so I’ll go back to my Asset Management channel here and I want to go ahead and schedule a meeting it’s going to open up another window for me where I can enter some information regarding my meeting so here’s my meeting I just need to go ahead and fill this out here so I can go ahead and add the title I can go ahead and add some required attendees which I’ll go ahead and do and if I want to I can go ahead and add some details here do want to point out that because we use the feature to schedule the meeting right from our Channel it actually populates the channel right here for us right into our channels area so notice it’s on the technology team and the channel is the Asset Management so I’ll go ahead and fill this out call this monthly meeting and I’ll go ahead and set the date here maybe I’ll put it the first of the month here so April 1st and I’ll change the time give everyone some time after lunch here kind of get settled in then we’ll meet this point I’ll go ahead and add the required attendees just add a few here and maybe one more okay if I wanted to I can go ahead and add some optional attendees but I’m pretty much okay for now we can take advantage of the scheduling assistant we can have a sneak peek and into each person’s calendar here and just kind of look for any conflicts along the way so I’m pretty much good to go I’m going to go ahead and click on send and this will bring me back to my channel where I can have the opportunity to come back into this meeting and edit some of the meeting details so here we are we’re back to that channel here’s our asset management Channel and now we see the posting here for our monthly meeting so now if I were to go ahead and click on the more options here I can actually go back into that meeting so now that the meeting is scheduled I have some options in there that I can take advantage of and more specifically now that the meeting has been created I have this meeting options here that I can use and make sure that I can set up some things before my meeting actually takes place so I’ll do my due diligence I’ll make sure everything is set up so that my meeting can run very very very smoothly so I’ll go ahead and click on meeting options it’s going to open up in another browser so here’s the resulting meeting options screen that opens in a new browser we’ll go ahead and expand this here and we have some decisions to make in terms of getting ourselves set up before our meeting has started here so the first option is who can bypass the lobby and so we have different options in here we can say only I can bypass the lobby so I want to be able to let everyone in as they enter the meeting or I can say people in my organization I’ll leave it as people in my organization here the second option here is to always let callers bypass the lobby now a caller is someone that that’s actually calling in Via a phone number that’s provided when the meeting is scheduled so if your organization has the calling feature turned on when your attendees receive the email a phone number will be embedded in that email invitation and they can call in with their telephone and so I will let them bypass the lobby come straight in if they’re calling via phone I can set an alert to notify me when people either join or leave the meeting this could be distracting so it’s up to you I’ll turn that off here and then who can present we have different options here so we can say everyone can present people in my or organization and guests specific people or only me and so it’s your meeting you’ll have an idea of what you want to accomplish if you have specific people who are presenting you can go ahead and and just kind of choose specific people here all right so I can choose some specific people maybe Alex right and then and the other option is to allow microphones for attendees you can turn that off or on allow camera for attendees you can turn that off and on as well some sometimes you may forget to record the meeting and so we can actually just turn that on automatically I’ll toggle this on here and we can allow reactions different reactions such as thumbs up or clapping hands we can turn those off or on depending on the type of setting that you’re providing and then finally the last option is for some translation if you want to turn on live captions here we can enable this as long as you have a caption service that’s set up I’m going to go ahead and click on Save and I’m all done I’m going to go ahead and close that and I’ll go ahead and click close here so we’re all set for our meeting there’s a few more things that we can do but for now go ahead pause the video go ahead and schedule a meeting right from one of your channels maybe create a channel and go ahead and schedule a meeting once the meeting is scheduled go back and open up the meeting options and specify the options that you want before your meeting starts and come right back welcome back well hopefully you are able to schedule the meeting and set up your meeting options there as well I want to do a few more things I’m going to go back into my meeting options here so I’ll click on view meeting details under the more menu and there’s some other things in here that I want to go ahead and interact with so now that I’ve scheduled a meeting I also have this chat option here I also have the breakout rooms that I can go ahead and take care of so I want to go ahead and set up the breakout rooms ahead of time so I’ll go ahead and click on breakout rooms and just wait for that to be created here I’ll go ahead and create the rooms I want two rooms and I’ll just go ahead and add the rooms here so this is good because we can go ahead and set up our rooms ahead of time before the meeting sometimes it’s very difficult while you’re in the meeting spending a lot of time setting the rooms up and so well we can go ahead and take care of this right now so we have two rooms here so if I click on my room settings for room one I can go ahead and click on edit I can go ahead and rename this room if I want to maybe I’ll call this team one and then I’ll go ahead and call this one team [Music] two at this point I’ll go ahead and add or assign the participants so I can assign them manually or I can do it automatically in this case I I want to go ahead and manually assign my participants here and so it’s a matter of just clicking on someone’s name and assigning them to a particular room Alex will go to room uh Team one I want Megan on team two also want Diego on room one and Patty on room room two so just like that if I click on Alex I can also assign from here as well if I had a lot of participants I can find them by searching here but I’m pretty much good to go I’ll go ahead and click on assign so these are kind of the same things that we’ll be doing if we were in our meeting we have some other opts here up to the top right I can go ahead and add another room if I want to I can recreate the rooms I can delete the rooms or I can have some more settings here for my breakout rooms if I click on these settings gear here I can actually assign a presenter so when I set up my meeting options earlier in the web browser if I assigned a specific person to be a presenter I can actually assign them to manage a particular room right so Alex I can say Alex can manage one of the rooms if I want to okay I can set a time limit I can say we just want each breakout room to be let’s say maybe 15 minutes 15 minutes is okay we’ll leave it at that there we go and then the other option down here is automatically move people to Rooms I like to use this and if we want to allow people to return to the main room or the main meeting room we can toggle this option here as well so I’ll turn turn all of these on I’ll go ahead and click okay here I’ll turn off my presenter to manage the rooms and just like that we were able to go ahead and set up our breakout rooms ahead of time making things a lot more efficient for us when we actually run our meeting so go ahead and pause the video and go ahead and set up your breakout rooms sometimes it will be necessary if I go back into the meeting option here sometimes you’ll find it necessary to add some of your attendees here in the required attendees portion here otherwise you would need to wait for everyone to kind of accept the meeting before you can create the breakout rooms so go ahead pause the video set up your breakout rooms and come right back welcome back well so far we were able to schedule a meeting set up meeting options and set up breakout rooms now we’re going to go back into the meeting details and we’re going to make use of the chat space that’s available and we’re going to go ahead and create a poll that we can use for our meeting or for our Channel there as well so I just Clos my slide deck I’m right here back on my meeting details if you take a look on the top here we’ll see a tab for the chat I’ll go ahead and click on that chat icon here and so this is kind of the chat space that’s reserved for this meeting and so as you can see I was able to upload or attach a file for everyone to kind of take a look at before the actual meeting starts I just left a little message here that says please read before our meeting again we can always attach a file by clicking on the attachment icon right here now I just simply uploaded that from my computer here here are the team rules maybe I’ll upload another file here just book one file okay and maybe I’ll just say please complete okay so please complete your section of the spreadsheet so we’re just going to be using this space here to get anything ready before our meeting we could also if I click on close here we could also do that right here in our main chat space but it’s good to kind of just have that separate space that we can focus on right for the meeting here as well so at this point what I want to do I want to go ahead and actually create a poll you can do it from the chat so right here you can click on the form icon on and that will actually allow you to kind of create a quick poll here but I want to be able to create one so I’ll go ahead and click on the add a tab icon here and I’m going to go ahead and search for forms and so here’s my form so if I have any existing forms I can drop them in here I don’t currently have any so I want go ahead and create a new one here as well so the process of using a form in a meeting is different for a meeting that is scheduled within a channel as opposed to a meeting that is scheduled outside of a channel in this case what we can do is create the form and then share the link during our meeting as well so I’ll go ahead and just kind of write this up here so went ahead and said I’ll call this team event I don’t want to post to the channel about this yet so I’ll just kind of leave this here I’ll go ahead and click save so it’s setting up my form for me notice how it adds it here at the top of my channel it’s called edit team event and I’ll just go ahead and add a I’ll add a multiple choice question here and I’ll just keep it simple okay so we’ll choose an option we can have a barbecue at the [Music] beach hopefully it’s warm outside option two we’ll have a movie marathon and I’ll add one more option here and maybe my third option will be carryi night so we’ll do carry okay so at that point I can have a few options here I can say if it’s required or not maybe I will do I’ll leave that here have some other options here I can Shuffle the options so forth and so on some more advanced features here but I want to go ahead and keep it simple pretty much done so I’ll go ahead and click on the share icon here and I want to just copy this here right I’ll kind of just save this for a little later so I’ll copy this here I can shorten the URL if I want to so I’ll copy this and I’ll leave this later on for when I’m running my meeting I can go ahead and run this poll here so I’m going to go back to the posts if I wanted to I can drop it in right here in the form of a chat I can insert that link here but want to go ahead and save that for the meeting here as well so just a few ways take advantage of the chat and go ahead and just drop in some files or any special meeting related items that you need in there go ahead and create a poll as well copy that link make sure that you have it readily available for our meeting and come right back let’s go ahead and move on to the next section of our course here on teams for trainers we want to go ahead and make a test call just to make sure that our audio and our video is all working correctly and then we’re going to go ahead and run an instant meeting and just take a look at some of the tools that we need to be aware of before we conduct our meeting so I’m going to go ahead and click on my settings menu right next to my profile here so for settings and more I’m going to go ahead and click on settings and then I’ll go ahead and click on devices here so notice here you can go ahead and set up your audio and your video devices here so here are my speakers here’s my microphone and if I scroll down I can go ahead and take a look at my camera as well I’m having teams automatically adjust my camera controls there’s my HD webcam as well so at this point what we can do go ahead and click on make a test call it’s going to go through a video test and audio test and a microphone test for you it will provide you with instructions as you kind of go through the test call and if everything is okay you’re good to go otherwise just come back and make some changes to your devices there as well so pause the video and go ahead and make your test call my test call was completed now I’m back on my Asset Management channel here and so before my meeting starts I want to go ahead and just launch a quick meeting it will just be me by my myself here so I’ll go ahead and meet right away okay and at this point I just want to go ahead and join the meeting and take a look at some of the tools that I need to be aware of here so notice right here if I want to I can go ahead and copy the meeting link and if I want to invite any other people maybe someone is kind of you know not just kind of disconnected and they need that link they can have that option there as well so notice that we have the participants menu we can go ahead and show our participants our attendees are not here yet okay but we can kind of search through for our participants by typing in the search box on the more option here we can manage permissions we can go ahead and lock the meeting so that no one else can enter after a certain point as well and whenever we’re ready we can go ahead and download the attendance list terms of chat here is where we can drop in that link for our form or we can run the form there for everyone and in terms of breakout rooms right remember we did create the breakout rooms ahead of time so instead of setting these up they’ll automatically be created for us and we can just move things around as needed we’ll go ahead and cancel this here so the next thing here if I click on the more actions here so if I want to make any last minute changes I can go ahead and click on the meeting options and make some changes here as well someone ask about the meeting info we can always pull up the meeting info here and I can go ahead and copy the join info and I can share that with other people here as well so I’ll go back to my more options here one thing to not there will be different views that default view is the gallery view so we can kind of move things around here if you want to view more than nine videos at once we can choose to large Gallery the together mode is very popular you can share a virtual space with four more people and you can change the environment from an auditorium to a conference table as well there’s some other options here to show The Gallery at the top or to go ahead and focus on the content as well and so these are just some of the options that we can kind of be prepar appeared for here and again for the reactions we can remind people that they can press control shift plus K to be able to raise or lower their hand so once we’ve passed the equipment test and we’ve just taken a look around at some of the menus in here some of the host controls that we may need to use for our meeting we’re pretty much good to go I’m going to go ahead and leave this meeting here actually I’ll end the meeting and I’ll just miss this here all right so go ahead and pause the video finish your equipment test there and go ahead and launch a quick meeting and just make sure that you’re ready to use some of the host controls in preparation for your upcoming meeting welcome back well it’s time to go ahead and launch our meeting we’ll fast forward until that date here and we’ll start the meeting and we’ll go ahead and look at the overview of some of the meeting tools that we want to expl explain to our attendees we don’t want to assume that they understand or know how to use all the tools such as raising your hand or muting your microphone we’ll go ahead and present our screen we’ll open up our breakout rooms and we’ll demo a whiteboard activity as well so I’m going to go ahead and go back to my Asset Management channel here and I’ll go ahead and launch this meeting I’ll go ahead and click on join go ahead and join the meeting I’ll make sure that my microphone is turned off I’ll launch it here so once I launch the meeting here I just need to wait for my attendees to arrive now that we have a few people in here we want to go ahead and just remind them of some basic features uh such as raising your hand or using the chat okay using the chat here as well accessing the chat and we want to remind them of the shortcuts uh namely some of the meeting shortcuts such as raising or lowering your hand we can advise them that you can press control shift K if you want to raise or lower your hand so pressing it once will raise your hand in form of asking a question so as to not interrupt the speaker or the presentation and to lower your hand you can go ahead and toggle control shift K again as well you can ask everyone to make sure that they please mute themselves unless it is necessary they can use the shortcut key control shift M to go ahead and mute themselves as well at this point you can just kind of remind them of any kind of ground rules that was set forth before the meeting as well as you can see because we did choose the meeting option to have the recording to be automatic there we do see it here I’ll go ahead and dismiss this to kind of move this out of the way I’ll go ahead and click on my participants icon here and take a look at the menu now that we have some attendees in our actual meeting we have the option here to mute everyone maybe we want to mute everyone to kind of get things just organized here we can disable the microphones disable the cameras we can go ahead and manage any other permissions that we want to and whenever we’re ready we can go ahead and download the attendance list for individuals we can type a name to search for a particular person or as we Mouse over each of the individuals here notice that we can interact with them we can turn off their microphones right from here individually and we have some options here so we can Spotlight a particular person that will make their tile bigger on the team’s screen here as well we can remove the person from the meeting or we can go ahead and make the person a presenter so all these options here are available once our attendees are actually in the meeting and we’ll have those options there for them at this point we can go ahead and we can launch that poll actually that we created earlier so in the chat we can go ahead and paste that link right here and if we press enter all of our attendees have the opportunity to go ahead and click on that form which will open up in a new browser for them and they can enter that poll and the poll will be collected and updated in our teams channel here as well going to go ahead and close this side panel here for the meeting chat we do have our rooms here so here are our breakout rooms I’ll go ahead and click on here okay so we did have these breakout rooms set up ahead of time as you can see here’s team one with Alex and Diego and team two here with Megan and Patty so I can go ahead and open up these rooms here since Megan and Patty are here and that should pop them right into the room if I want to I can go ahead and add add a room if I want to if I had more participants here I can actually go ahead and assign them as well I can go ahead and recreate the breakout rooms I can go ahead and delete them and I can also go ahead and take a look at the options the the room settings here as well I’ll go ahead and open these rooms so my rooms are open now and well I have one room open because Megan and Patty were in the same room so I could do a few things here one of the nice features is I can make an announcement and so that I don’t have to pop into each room individually to to speak with everyone I can go ahead and just send a quick announcement here maybe I’ll say five minutes remaining and this will broadcast that message to all of the rooms here so we’ve sent your announcement to all rooms here as well okay so at this point I’m just kind of waiting for the rooms we did set a time limit of 15 minutes as well for the purposes of this demo we’ll go ahead and just close the room I’ll click on the more options next to room two and I’ll go ahead and close that room I’ll wait for the room to close and everyone to return here to the main session so my rooms have closed everyone is back here in the main session and uh at this point what I want to do is go ahead and actually share my screen so I’ll go ahead and click on the share icon here notice the shortcut key to share content is control shift plus e I’ll go ahead and click on share and uh we do have this present mode here we we have different types of presentations that we can use such as content only if our camera is turned on we can choose this layout where it kind of places us almost like augmented reality where it shows us and with our content behind us we have another layout where we’re kind of side by side and then we have kind of the news broadcast layout here as well so all these are available to us if we have our camera turned on so we have a few sections here if you have more one screen your screens will show up here so I can go ahead and share a screen or I can go ahead and share a window I’m going to go ahead and share a window here and let’s see I have quite a few I want to go ahead and open up my presentation here and if I want to play audio I want to make sure that I have include computer sound turned on here not playing audio just want to go ahead and open up this PowerPoint slide here okay and so now I’m presenting right here I can go back to my meeting by clicking on the small icon down here as well I can stop sharing by clicking on the X I do have my menu kind of up here at the top I’ll go back here there it is okay so I can give control to someone else if I want to I can stop presenting I can pin this bar so that it stays here so so that I can always see it if I turn on my camera I can switch to one of these other present views here as well going to go ahead and stop presenting and this will bring me back here to my main window if I want to share something else here I’ll go back to my share content and one of the features here is the Microsoft whiteboard and if I click on my whiteboard here will open up my whiteboard for me so here’s my whiteboard I’m going to go ahead and maximize my screen actually there we go and so from my whiteboard I can do a few things here notice I have my writing instruments here I have my Eraser my highlighter and as we just kind of mouse over these it kind of gives us some information as to what they are here’s my lasso that I can use to select anything that I’ve kind of marked up and the ruler says it’s coming soon so I can drop notes on here different types here I can have a note Grid or I can just simply drop a yellow note so kind of like a sticky so my sticky note and once I have that here on my whiteboard I can move my whiteboard around just by clicking on an empty space just kind of dragging things around here as well do I have my zoom controls down here in the bottom so I can zoom out or I can zoom in right so I can just go ahead and interact with this here as well now my attendees can actually mark this up as well so they do have the capability to go ahead and add some notes on here or maybe add a note grid I’ll go ahead and make use of the pen here and so the pen does give you some kind of Correction as you’re actually writing we’ll go ahead and try to reset that there we can change the size the color of that nature as well so I’m going to go ahead and close this pen window here and go ahead and click on here’s so here’s the inking and if I want to add some other things here I can such as text I can drop a text box right onto my canvas and then if I want to add some shapes I have various shapes that I can use here as well all right and if I go back there’s also some templates in here that we can use so there are a lot of built-in templates in here so for example such as brainstorming we have an affinity diagram a brainstorm we can drop this on here if we want to okay we have a topic brainstorm so we can brainstorm various topics with our team so we can do that as well so I’ll go ahead and delete these here here from my canvas and we’ll wrap up by just dropping in this topic brainstorm here I just need to go ahead and place it here and once it’s done I’ll do my best to kind of resize things here and this will give everyone an opportunity to go ahead and interact we can enter our topics and we can enter any brainstorming ideas in each of these topic columns here as well so very nice tool that Microsoft has provided for us various activities I challenge you to go ahead and just kind of explore all these different options here okay from brainstorming problem solving design all the way down to learning take a look at these and see if any of these will be helpful for your meeting once I’m done if I go ahead and click on the gear icon here I can export this as an image if I want to I can go ahead and actually open this in a separate window in the actual app if I want to and as always if I want my participants to be able to edit this I can go ahead and check this off here as well so go ahead and pause this video we covered quite a few here go ahead and launch that meeting that you scheduled and go ahead and take a look at the different tools that you have available to you to just kind of manage your meeting and your attendees open up that breakout room and play around with those breakout rooms as well well share your screen take a look at the different sharing options and go ahead and share that whiteboard and then come right back welcome back we covered quite a bit there when we started our meeting such as the overview of the meeting tools for our attendees presenting our screen the breakout rooms and the Whiteboard activity as well so now we want to go ahead and wrap up and see what teams has recorded for us and now that our meeting is over one of the things that we want to take a look at is the attendance here there are a few ways that we can do that I’ll go back to my channel here and so here we have this extensive report just based on our meeting so here are some of the files that we shared in the chat earlier we can see that the recording was started a form was shared and here is the attendance report we can actually go ahead and click on the attendance report right here it will open in an Excel sheet we can go ahead and take a look at that as well and if we go down a little further we can see that the meeting was recorded so we can play back the meeting right here on the more options we can open it or we can get a link here for it as well so I’ll click on the attendance report I’ll go ahead and save that maybe to my downloads folder here and once that’s ready I’ll go ahead and open that up another thing that I can do is I can go back to the meeting here to the meeting options I’ll click on view meeting details and once I’m here I can actually click on the attendance and if I just click on the appropriate meeting here here we can see all of our attendees when they joined when they left the meeting duration and their role as well so we don’t necessarily need to open the Excel file we can actually just take a look here and get all of our data we can also download our data from right here as well but let me go ahead and grab that Excel file so this is what the Excel file looks like okay just kind of move things around here a little bit and I’ll Auto expand all of these columns here okay so kind of the same information here the title of the meeting the start time the end time even the meeting ID and all of our attendees here as well so very nice if you want to have that you can share that or print that or distribute that as necessary and so it’s pretty cool right we’re able to just get a nice recap of our meeting notice that when we come back to our Channel kind of condenses everything for us right here if we want more details we can just click on the little icon here for replies and we can get a nice summary and overview of that as well so go ahead and pause the video and come back to the channel and observe some of the reporting that was provided by Microsoft teams here some of them will be very very useful especially going forward when you are scheduling future meetings so go ahead and pause the video visit the channel take a and see what was reported and come right back welcome back and congratulations on completing our course on Microsoft teams for trainers hopefully you’re more prepared and you’re more confident with scheduling meetings and conducting meetings in the future as well just a quick recap here we scheduled a meeting and we took a look at some of the meeting options and we’re able to create the breakout rooms ahead of time once the meeting was scheduled we’re able to use the chat space to share files and create a poll in the form of a link that we were able to use later on in the actual meeting we conducted a test call to make sure that our audio and video checked out and our microphone checked out as well and then we had a quick run through a quick meeting using the meet Now command on the top right of our Channel and we took a look at some of the host tools that we would need when we’re conducting our meeting we started a meeting and we notified our attendees of some of the common tools that they will need such as raising their hand or muting or unmuting themselves we’re able to present our screen we’re able to open our breakout rooms and close them and actually broadcast a message to the breakout rooms as well we had a preview of the Whiteboard feature that’s available in Microsoft teams and once the meeting was over we’re able to download the attendance take a look at it and we were able to look at the report that Microsoft teams created for US based on our meeting and we’re able to see that the meeting was recorded and available right there in our Channel space as well so congratulations on completing this course and I look forward to seeing all of you in a future learn it course have a wonderful day thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learn it.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Madaras Registration, Government Policy, and the Path Forward by Mufti Tariq Masood – Study Notes

    Madaras Registration, Government Policy, and the Path Forward by Mufti Tariq Masood – Study Notes

    Mufti Tariq Masood’s podcast discusses a controversy surrounding a bill passed in Pakistan’s Senate and Assembly concerning the regulation of madrasas (religious schools). The central conflict involves differing opinions among prominent religious scholars, particularly regarding the involvement of Jamaat-e-Rasheed and Maulana Fazlur Rehman, on whether madrasas should come under the Ministry of Education. The podcast features Masood expressing his neutral stance while addressing concerns raised by various parties, including the potential loss of autonomy for madrasas and the fairness of the government’s actions. Masood presents arguments from both sides, highlighting the complexities of the issue and the strong emotions it evokes. He concludes by calling for unity among religious scholars and a resolution that respects the rights of all stakeholders.

    Pakistan’s Madaris: A Conflict of Control

    This study guide will focus on the key topics and figures discussed in the provided sources, which primarily consist of a podcast transcript discussing a conflict within the Islamic community regarding the management of Madaris (religious schools) in Pakistan.

    Key Topics

    • The 2019 Agreement: A central point of discussion is a 2019 agreement regarding the registration and management of Madaris [1]. This agreement involved the government and various Ulama (religious scholars) [2].
    • The agreement stipulated that Madaris would be brought under the purview of Wizarat Talim (Ministry of Education) [1, 2].
    • Key aspects of the agreement included the registration of Madaris, the opening of bank accounts, and the issuance of visas for foreign students [2, 3].
    • There is debate as to whether the government fulfilled its obligations under this agreement, particularly concerning the opening of bank accounts and the issuance of visas for foreign students [3, 4].
    • The Society Act: A new bill was passed under the Society Act which would have brought Madaris under a different regulatory framework [5, 6]. This is viewed as a reversal of the 2019 agreement.
    • This bill was passed by the Assembly and Senate [6, 7].
    • The bill would require Madaris to register under the Society Act, with a one-month period for existing Madaris and a one-year period for new ones [6].
    • The bill was passed without consulting all stakeholders, leading to the current conflict [8, 9].
    • Wizarat Talim vs. Wizarat Dakhla: A major point of contention is whether Madaris should be under the control of the Ministry of Education (Wizarat Talim) or the Ministry of Interior (Wizarat Dakhla) [10].
    • Wizarat Talim is seen as a more favorable option by some because it facilitates registration within 7 days without requiring lawyer fees, and provides training and financial benefits to teachers [11-13].
    • Wizarat Dakhla is seen by some as a means of government control over Madaris, that can lead to arrests of foreign students and other issues [9, 12].
    • Accusations of being a “Darbari Mullah”: The term “Darbari Mullah” (courtier Mullah) is used to accuse religious figures of being too close to the government and acting in its interests rather than the interests of the community [14-16]. This is a key point of criticism made against some religious figures involved in the conflict [15, 17].
    • The Role of Ulama: The podcast discusses the differing opinions among various Ulama, particularly concerning the 2019 agreement and the Society Act [6, 7, 14, 16].
    • Hazrat Maulana Fazlur Rehman is a central figure, who introduced a bill that is now under scrutiny [8, 18].
    • Mufti Abdul Rahim Saheb is another significant figure, who is seen by some as being against the interests of the Madaris [7, 14].
    • Mufti Taqi Usmani Saheb is a highly respected scholar whose opinion is sought and valued by many [2, 16].
    • Other figures include Qari Hanif Jalandhari Saheb and Mufti Muneeb Rehman Saheb [2, 10].

    Key Figures

    • Mufti Tariq Masood: The host of the podcast, who aims to provide a neutral perspective on the conflict [7, 15]. He claims to be an employee of Jamat Rasheed while also maintaining a neutral stance [14].
    • Hazrat Maulana Fazlur Rehman: A political leader and religious figure who is seen as having a key role in the current conflict, he introduced the bill that has created the dispute [7, 8].
    • Mufti Abdul Rahim Saheb: A respected scholar who is seen as a key figure in the dispute, criticized by some for his stance on the Madaris and for his perceived closeness with Jam Rashid [7, 14, 15].
    • Mufti Taqi Usmani Saheb: A highly respected and influential scholar whose opinion is valued by many [2, 16].
    • Usman Yusuf Saheb: A representative of Jamat Rasheed, who is interviewed by Mufti Tariq Masood in the podcast [14, 15].
    • Qari Hanif Jalandhari Saheb: A religious scholar who was involved in the 2010 agreement and the 2019 agreement with the government [1, 2, 10].
    • Mufti Muneeb Rehman Saheb: A religious scholar who was involved in the 2019 agreement [2, 10].

    Core Conflicts and Issues

    • Disagreement on the management of Madaris: The central conflict is about which ministry should control the Madaris. The 2019 agreement placed them under Wizarat Talim while a new bill under the Society Act would make that impossible [1, 5, 10].
    • Lack of consultation: The bill that was passed under the Society Act did not involve full consultation with all the Madaris and their representatives, leading to a backlash [6, 8].
    • Accusations of government influence: Some religious figures are accused of being too close to the government and promoting its interests over those of the Madaris [5, 14, 16, 17].
    • Question of the legal status of the 2019 agreement: Some argue that the 2019 agreement was merely a “piece of paper” and not a legally binding document, while others contend that it is still valid [4, 19].
    • Concerns about government control over Madaris: There are concerns that bringing Madaris under government control will result in a loss of independence and influence on curriculum and hiring decisions [12, 17].
    • Conflicting viewpoints within the Ulama: The Ulama are not united in their stance on these issues, which further complicates the situation [7, 14, 16].

    Areas for Further Study

    • The specific content of the 2019 agreement and the Society Act bill.
    • The historical context of the relationship between the government and Madaris in Pakistan.
    • The different viewpoints and affiliations of the various Ulama involved in the conflict.
    • The implications of Madaris being under the control of either Wizarat Talim or Wizarat Dakhla.
    • The role of political influence and motivations in this conflict.
    • The specific procedures for registration of Madaris under both systems.
    • The role and function of Wifa Kul Madaris Al Arabia [20].
    • The potential benefits and drawbacks of each system for Madaris and their students [12, 17].

    By examining these key topics, figures, and conflicts, one can gain a better understanding of the complex issues surrounding the management of Madaris in Pakistan. It is also important to note the podcast host is trying to remain neutral and is presenting different points of view. This is not a simple issue and does not have a simple answer.

    Madaris Management Conflict in Pakistan

    Okay, here is a briefing document based on the provided sources and our conversation history, focusing on the key issues surrounding the management of Madaris in Pakistan:

    Briefing Document: Madaris Management Conflict in Pakistan

    Background: This document provides a briefing on the ongoing conflict concerning the management of Madaris (religious schools) in Pakistan, drawing from a podcast transcript [1-3]. The conflict primarily revolves around a 2019 agreement between the government and various Ulama (religious scholars) and a subsequent bill passed under the Society Act, which is seen as a reversal of that agreement [4-6].

    Key Issues:

    • The 2019 Agreement:This agreement stipulated that Madaris would be brought under the control of Wizarat Talim (Ministry of Education) [4].
    • It included provisions for the registration of Madaris, opening bank accounts, and issuing visas for foreign students [7, 8].
    • There are conflicting views about whether the government fulfilled its obligations under the agreement [8, 9]. Some argue that accounts were not opened for all Madaris, while others claim that the agreement was fulfilled and that benefits were given to Madaris [8, 10].
    • The legal status of the agreement is also debated, with some considering it a mere “piece of paper” [5, 11], while others view it as a valid and binding contract [12].
    • The Society Act Bill:A new bill was passed under the Society Act, which would place Madaris under a different regulatory framework [5, 6].
    • This bill was passed without consulting all stakeholders, leading to the current conflict [6, 13].
    • The bill requires existing Madaris to register within one month, and new Madaris within one year [6].
    • This is seen as undermining the 2019 agreement and reversing the progress made under it [14, 15].
    • Wizarat Talim vs. Wizarat Dakhla:A major point of contention is whether Madaris should be under the Ministry of Education (Wizarat Talim) or the Ministry of Interior (Wizarat Dakhla) [4].
    • Wizarat Talim is favored by some because it facilitates registration quickly (within 7 days) and without requiring lawyer fees. Additionally it provides training and financial benefits to teachers [16, 17].
    • Wizarat Dakhla is seen by others as a potential means of government control over Madaris. This can lead to problems such as arrests of foreign students and other issues [14].
    • Accusations of being a “Darbari Mullah”:The term “Darbari Mullah” (courtier Mullah) is used to accuse religious figures of being too close to the government and acting in its interests [3, 18].
    • This accusation is leveled against figures perceived to be supporting the Society Act bill or who are seen as too closely aligned with Jam Rashid [3, 9].
    • Differing Opinions Among Ulama:The Ulama are not united on these issues [19, 20].
    • Hazrat Maulana Fazlur Rehman is a key figure who introduced the bill under scrutiny [6, 13].
    • Mufti Abdul Rahim Saheb is seen as a significant figure in the dispute, with some accusing him of working against the interests of Madaris and for being too closely aligned with Jam Rashid [2, 9, 21].
    • Mufti Taqi Usmani Saheb is a highly respected scholar whose opinion is valued by many and who is seen as a neutral figure [19, 22, 23].

    Key Figures:

    • Mufti Tariq Masood: The podcast host who aims to present a neutral view on the conflict. He is an employee of Jamat Rasheed but claims to maintain a neutral stance [1-3].
    • Hazrat Maulana Fazlur Rehman: A political and religious leader who introduced the bill that is the center of the dispute [1, 4, 13, 24].
    • Mufti Abdul Rahim Saheb: A respected scholar criticized for his stance on the Madaris issue, and for his perceived closeness to Jam Rashid [1-3, 9, 21].
    • Mufti Taqi Usmani Saheb: A highly respected and influential scholar [7, 19, 22, 23].
    • Usman Yusuf Saheb: A representative of Jamat Rasheed, interviewed by Mufti Tariq Masood [2, 3].

    Core Conflicts:

    • Disagreement on which ministry should control Madaris.
    • Lack of consultation with all stakeholders when the Society Act bill was passed.
    • Accusations of some religious figures being too closely aligned with the government.
    • Debates about the legal status of the 2019 agreement.
    • Concerns that government control will result in a loss of Madaris’ independence and the ability to control curriculum and hiring decisions [18].
    • Differing viewpoints among the Ulama [19, 20].

    Potential Solutions:

    • The podcast host suggests that Madaris should be allowed to choose whether they want to register under Wizarat Talim or the Society Act [25].
    • There is a proposal that those who want to remain under Wizarat Talim should be allowed to do so, while those who want to go to Wizarat Dakhla should be allowed to go there as well [25].
    • The importance of unity among the Ulama to avoid further conflict is emphasized [26].

    Analysis: The conflict is complex, with a mix of legal, political, and religious considerations. It is also important to note the podcast host is trying to remain neutral and is presenting different points of view. This is not a simple issue and does not have a simple answer. The differing opinions among the Ulama further complicate the situation. There is a clear desire to resolve the issues peacefully and to ensure the independence and well-being of Madaris and their students.

    Pakistan’s Madaris Management Conflict: A Comprehensive FAQ

    Okay, here’s an FAQ based on the provided sources and our conversation history, addressing common questions about the Madaris management conflict in Pakistan:

    Frequently Asked Questions: Madaris Management Conflict

    Q: What is the main issue of the Madaris conflict?

    • The core issue is a disagreement over the management of Madaris (religious schools) in Pakistan. This conflict arose due to the passing of a bill under the Society Act that is seen as undermining the 2019 agreement between the government and various Ulama [1, 2]. The 2019 agreement stipulated that Madaris would come under the control of Wizarat Talim (Ministry of Education) but the Society Act could move them to a different regulatory framework [2, 3].

    Q: What was the 2019 agreement about?

    • The 2019 agreement was a significant accord between the government and Ulama [3, 4]. It stated that Madaris would be registered under Wizarat Talim and would receive benefits, including:
    • Registration of Madaris [4]
    • Opening of bank accounts for Madaris [5]
    • Issuance of visas for foreign students [5, 6]
    • The agreement aimed to bring Madaris into the formal education system and provide them with necessary facilities [4, 5].

    Q: What is the Society Act and why is it controversial?

    • The Society Act is a new bill that was passed by the Assembly and Senate [1, 7]. It is controversial because:
    • It requires Madaris to register under a different regulatory framework, potentially reversing the 2019 agreement [2].
    • It was passed without consulting all stakeholders, leading to opposition from some Madaris and Ulama [8].
    • It is seen by some as a move by the government to exert more control over Madaris [2].

    Q: What is the difference between Wizarat Talim and Wizarat Dakhla?

    • The conflict revolves around whether Madaris should be managed by Wizarat Talim (Ministry of Education) or Wizarat Dakhla (Ministry of Interior) [3].
    • Wizarat Talim is favored by some because it offers quick registration (within 7 days) without lawyer fees and provides training and financial benefits to teachers [9, 10].
    • Wizarat Dakhla is viewed by others as a means for the government to exert more control over Madaris, which may lead to arrests of foreign students and other issues [10, 11].

    Q: What is a “Darbari Mullah”?

    • “Darbari Mullah” (courtier Mullah) is a term used to accuse religious figures of being too closely aligned with the government [12, 13]. These figures are seen as promoting the government’s interests over the interests of the Madaris and the community [14, 15].

    Q: Who are the key figures involved in this conflict?

    • Key figures include:
    • Mufti Tariq Masood: The podcast host, who tries to remain neutral. [1]
    • Hazrat Maulana Fazlur Rehman: A political and religious leader who introduced the bill under the Society Act [1, 3].
    • Mufti Abdul Rahim Saheb: A respected scholar criticized for his perceived closeness to Jam Rashid and for his stance on the Madaris issue [16, 17].
    • Mufti Taqi Usmani Saheb: A highly respected and influential scholar who is seen as a neutral figure [5, 13].
    • Usman Yusuf Saheb: A representative of Jamat Rasheed, who is interviewed in the podcast [12].
    • Qari Hanif Jalandhari Saheb: A religious scholar involved in the 2010 and 2019 agreements [3].
    • Mufti Muneeb Rehman Saheb: A religious scholar involved in the 2019 agreement [3, 5].

    Q: Why are some Ulama against the Society Act?

    • Some Ulama oppose the Society Act because:
    • They feel it undermines the 2019 agreement [7, 18].
    • They were not consulted before the bill was passed [8].
    • They believe it will lead to greater government control over Madaris [19, 20].
    • They fear it will compromise the independence of Madaris and their ability to control curriculum and hiring decisions [19].

    Q: What are the benefits of being under Wizarat Talim?

    • The benefits of being under Wizarat Talim include:
    • Faster registration: Registration can be completed in 7 days [19]
    • No lawyer fees: Madaris do not need to pay lawyer fees [21]
    • Financial support for teachers: Training and financial assistance is provided to teachers [11]
    • Assistance for foreign students: Visas and NOCs (No Objection Certificates) are facilitated for foreign students [19]

    Q: What is the proposed solution to this conflict?

    • The podcast host suggests that Madaris should be allowed to choose whether they want to register under Wizarat Talim or the Society Act [22]. The proposed solution includes:
    • Allowing Madaris that want to remain under Wizarat Talim to do so [22].
    • Allowing Madaris that want to go to Wizarat Dakhla to do so [22].
    • Emphasizing the need for unity among the Ulama to resolve the conflict peacefully [23].

    Q: What is the significance of the 2019 agreement?

    • The 2019 agreement is seen as:
    • A crucial step toward formalizing the status of Madaris [4].
    • An agreement that would benefit Madaris by providing access to resources and facilities [4].
    • A point of contention, as some argue that it was never fully implemented and that it was merely a “piece of paper” [9, 18, 24].
    • A basis for claims that the government and some religious leaders are not acting in good faith [25].

    Q: What are the potential consequences of this conflict?

    • Potential consequences include:
    • A disruption to the education of Madaris students [26, 27].
    • Increased government control over Madaris [19, 20].
    • A loss of independence for Madaris [19, 20].
    • Further division among the Ulama and within the Islamic community [13, 28].

    This FAQ should provide a comprehensive overview of the Madaris management conflict based on the provided sources and our conversation history.

    Madaris Management Conflict Timeline

    Okay, here is a timeline of the key events related to the Madaris management conflict, based on the provided sources and our conversation history:

    Timeline of Madaris Management Conflict:

    • 2005: Initial discussions and disagreements about the management of Madaris begin [1].
    • 2010:A significant agreement is signed between Madaris and Rehman Malik Sahab, who was the Wazir at the time [1].
    • This agreement, signed by Qari Hanif Jalandhari Saheb and Mufti Munib Saheb among others, aimed to bring Madaris under Wizarat Talim (Ministry of Education) and move them away from traditional education [1].
    • The agreement was not fully implemented and faced obstacles [2].
    • 2010-2019: The issue of Madaris registration remains deadlocked [2].
    • 2017: Efforts to resolve the Madaris issue gain momentum during the PMLN government [2].
    • August 29, 2019:A new agreement is signed between the government of Pakistan, Ittehad Tanji Maa Ban Ji of Maat Madaris, and Shafqat Mahmood Saheb, who was Wazire Talim at the time [2].
    • This agreement included the registration of Madaris, opening bank accounts, and issuing visas for foreign students [3].
    • Mufti Taqi Usmani Saheb, Mufti Muneeb Rehman Saheb, and other religious leaders were part of this agreement [3].
    • This agreement stipulated that Madaris would be under Wizarat Talim [3].
    • It is stated that Jam Rashid was part of Vifa at the time but did not have the power to make decisions regarding the agreement [2].
    • Post-2019:Some Madaris are registered under Wizarat Talim, with around 4500 being registered under the agreement [4].
    • Disagreements arise about the implementation of the agreement, with some claiming that bank accounts were not opened for all Madaris, and that the government did not fulfill its promises [4, 5].
    • Jam Rashid took advantage of the situation to register their own degree-awarding institute [6].
    • Recent Events (Time not specified, but after 2019):Hazrat Maulana Fazlur Rehman introduces a bill under the Society Act [7].
    • The bill is passed unanimously by the Assembly and the Senate [8, 9].
    • This bill is controversial as it is seen as reversing the 2019 agreement and placing Madaris under a different regulatory framework [7].
    • The bill was passed without consulting all stakeholders including Madaris leaders, leading to the current conflict [9].
    • The bill would require existing Madaris to register under the Society Act within a month and new ones within a year [9].
    • Mufti Abdul Rahim Saheb comes out against the bill on the media [1].
    • Accusations of being a “Darbari Mullah” (courtier Mullah) begin against those who are perceived to support the bill [6, 8, 10].
    • The issue of whether Madaris should be under Wizarat Talim or Wizarat Dakhla (Ministry of Interior) becomes a central point of contention [1, 11].
    • A podcast featuring Mufti Tariq Masood is produced to discuss the issue and attempt to remain neutral [8].
    • The podcast host argues that Madaris should be allowed to choose whether they want to register under Wizarat Talim or the Society Act [12].

    This timeline highlights the key moments in the ongoing conflict, from the initial agreements to the recent controversies. The timeline makes clear the major points of contention and how the current issues emerged from past agreements and disagreements.

    Fractured Faith: Divisions Within the Ulama

    The sources reveal significant challenges to Ulama unity, particularly regarding the management of Madaris and differing views on government engagement [1-3]. Here’s a breakdown of the complexities:

    • Divisions over Madaris Management: A central issue causing disunity is the disagreement over whether Madaris should be under Wizarat Talim (Ministry of Education) or Wizarat Dakhla (Ministry of Interior) [4].
    • Some Ulama, like Hazrat Maulana Fazlur Rehman, have supported a bill under the Society Act, which could move Madaris from the Education Ministry to a different regulatory framework, potentially reversing the 2019 agreement. This move is seen as a betrayal by some and a major source of division among the Ulama [5-7].
    • Other Ulama, like those aligned with Mufti Abdul Rahim Saheb, oppose this bill and feel it undermines the agreements and autonomy of Madaris [1-3].
    • Accusations of Being a “Darbari Mullah”: The term “Darbari Mullah” (courtier Mullah) is frequently used to criticize religious figures perceived as too close to the government [3, 8, 9].
    • This accusation is levied against those seen as supporting government policies over the interests of the Madaris and the wider community, further deepening the divide among Ulama [3, 9].
    • The podcast host, Mufti Tariq Masood, attempts to remain neutral, highlighting the complexity of the situation and the difficulty in achieving unity when some Ulama are accused of being government stooges [1-3].
    • Differing Interpretations of Agreements: There are disagreements over the interpretation and implementation of the 2019 agreement [4, 5, 10, 11].
    • Some Ulama argue the agreement was a crucial step for formalizing Madaris, while others see it as a mere “piece of paper” that was never fully implemented [11, 12].
    • This difference in interpretation is a significant point of contention and prevents a unified approach to the issue of Madaris management [11, 12].
    • Conflicting Loyalties and Personal Relationships: The sources indicate that personal loyalties and relationships also play a role in the disunity among the Ulama [13-15].
    • Some Ulama prioritize their personal relationships with influential figures, such as their peers or Murshids, over a unified stance on the issue [2, 13, 14].
    • For example, while Mufti Taqi Usmani Saheb is a highly respected figure, even those who admire him may disagree with him based on their allegiance to another respected figure like Mufti Abdul Rahim Saheb [13].
    • Lack of Consultation: The sources suggest that a major reason for disunity is the lack of consultation with all stakeholders before decisions are made [6, 7].
    • The Society Act bill was passed without consulting all the Madaris leaders and stakeholders, creating a sense of betrayal and leading to opposition [6, 7].
    • This lack of consultation undermines trust among the Ulama and contributes to their disunity [7].
    • The Quest for a Solution: Despite the disunity, there are calls for the Ulama to unite and find a solution [16, 17].
    • The podcast host proposes a solution that would allow Madaris to choose whether they want to register under Wizarat Talim or the Society Act, accommodating different preferences and hopefully bridging the divide [16].
    • There is a plea for unity, emphasizing that internal fighting among the Ulama will weaken their collective position [17].

    In conclusion, the sources reveal that Ulama unity is severely challenged due to conflicting views on Madaris management, accusations of government alignment, varying interpretations of agreements, conflicting loyalties, lack of consultation, and a host of other factors. The path to unity remains complex, with calls for mutual respect and understanding in the midst of deeply entrenched disagreements.

    Madaris Registration in Pakistan: A Contentious Issue

    The sources discuss Madaris registration as a complex and contentious issue, with multiple perspectives and significant disagreements. Here’s an overview of the key points regarding Madaris registration, drawing from the sources and our conversation history:

    • 2019 Agreement: A major point of reference is the 2019 agreement between the government and Ittehad Tanji Maa Ban Ji of Maat Madaris [1]. This agreement aimed to register Madaris under the Wizarat Talim (Ministry of Education) [2].
    • This agreement was a significant breakthrough, with the intention of bringing Madaris into the formal education system [1, 3].
    • The agreement also included provisions for opening bank accounts for Madaris and issuing visas for foreign students [2].
    • However, the implementation of this agreement is disputed, with some claiming that not all Madaris received bank accounts and foreign student visas as promised [4].
    • The Society Act Bill: A more recent development is the introduction of a bill under the Society Act, which has caused considerable controversy [5, 6].
    • This bill is seen by some as an attempt to reverse the 2019 agreement and place Madaris under a different regulatory framework, potentially under the Wizarat Dakhla (Ministry of Interior) [5].
    • This bill was passed without consulting all stakeholders which has lead to major disagreements [7].
    • The bill stipulates that existing Madaris must register under the Society Act within a month and new Madaris within a year [6].
    • This bill has created significant conflict among the Ulama, with some opposing it vehemently and others seeming to support it [8].
    • Wizarat Talim vs. Society Act: A core issue is the debate over whether Madaris should be registered under Wizarat Talim or the Society Act [9].
    • Those in favor of Wizarat Talim argue it provides a more suitable framework for education and aligns with the 2019 agreement.
    • They also state that the Wizarat Talim provides easier access to resources and recognition for Madaris [10].
    • Those in favor of the Society Act argue that it provides more autonomy and reduces the government’s control over Madaris [5].
    • Those who are against the Society Act and support Wizarat Talim view the Society Act as an encroachment on their rights [11].
    • Registration Challenges: The sources highlight the difficulties Madaris face in the registration process [10].
    • Registering under the Society Act is described as complex, requiring fees, lawyers, and clearances from multiple agencies, which is particularly burdensome for smaller Madaris [12].
    • Registration under Wizarat Talim is presented as a more streamlined process, with registration possible within 7 days and without the need for legal assistance or fees [10].
    • The lack of proper registration can lead to various problems including difficulties in opening bank accounts [4] and obtaining visas for foreign students [13].
    • Accusations of Government Influence: The debate over registration is also tied to concerns about government influence over Madaris [7, 14].
    • Some argue that registering under the Society Act or Wizarat Dakhla would lead to greater government control over Madaris’ curriculum and operations [14, 15].
    • On the other hand, registering under Wizarat Talim is seen by some as a way to secure funding and support for Madaris.
    • The lack of clarity on this issue has led to accusations of some Ulama being “Darbari Mullahs” and collaborating with the government, further deepening the conflict [16, 17].
    • Differing Views within Madaris: It is also important to note that not all Madaris share the same view regarding registration [7].
    • Some Madaris are keen to be under Wizarat Talim, while others prefer to remain independent or under different frameworks [7, 18].
    • There is a concern that forcing all Madaris to register under one system ignores their individual preferences and needs [7].
    • Proposed Solutions: A proposed solution is to allow Madaris to choose whether to register under Wizarat Talim or under the Society Act, respecting their autonomy and addressing different needs [19].
    • This solution aims to prevent the imposition of a single system that is not acceptable to all Madaris, and to reduce the conflict [19].
    • It also aims to honor the previous agreements while accommodating the legitimate concerns about government interference [20].

    In conclusion, Madaris registration is a multifaceted issue with deep historical roots, and current debates are tied to power dynamics, differing opinions about autonomy, and the implementation of past agreements. The key point is that there is no simple answer and that a solution must address the legitimate needs and concerns of all stakeholders.

    Government Policies and Madaris in Pakistan

    Government policies, as depicted in the sources, are a major source of contention and division, particularly regarding the regulation and oversight of Madaris [1-41]. Here’s a breakdown of the key government policies discussed and their implications:

    • The 2019 Agreement: A significant policy is the 2019 agreement between the government and Ittehad Tanji Maa Ban Ji of Maat Madaris, which aimed to bring Madaris under the purview of Wizarat Talim (Ministry of Education) [4-6].
    • This agreement was intended to formalize the Madaris system, providing avenues for registration, opening bank accounts, and facilitating visas for foreign students [6, 8].
    • However, there are differing interpretations regarding the implementation of this agreement, with some claiming that the government failed to fulfill its promises, leading to distrust [7-9].
    • Some Ulama feel that the government did not fully implement the agreement’s provisions which has led to significant tension and disagreement about the government’s intentions [7, 8].
    • The Society Act Bill: A more recent government policy is the introduction of a bill under the Society Act, which is seen by some as a reversal of the 2019 agreement and a source of conflict [4, 11-13].
    • This bill proposes to move Madaris from the Ministry of Education to a different regulatory framework, potentially under the Ministry of Interior or other government bodies [11, 12].
    • This has led to considerable opposition from some Ulama who feel it undermines their autonomy and control over Madaris [1, 11, 13, 16, 17].
    • The bill was passed without proper consultation with all stakeholders which has further deepened the divide and created distrust in the government’s motives [1, 11, 13, 16, 17].
    • Government Influence and Control: Concerns about government control and influence over Madaris are central to the debates [28-30].
    • Some Ulama fear that the government is trying to exert too much control over the curriculum, finances, and overall management of Madaris [27-30].
    • Accusations of some Ulama being “Darbari Mullahs” (courtier Mullahs) who are too close to the government have further complicated the situation [2, 3, 7, 10, 12, 28, 39].
    • The fear that the government will use these policies to influence the religious teachings and values of Madaris is a major cause for concern [27-30].
    • Registration and Bureaucracy: The sources highlight the bureaucratic hurdles and challenges faced by Madaris during the registration process [25-28].
    • Registering under the Society Act is described as a complex and time-consuming process, involving legal fees and clearances from multiple agencies [25-27].
    • In contrast, registration under Wizarat Talim is portrayed as a more straightforward and efficient process [25, 26].
    • The issues around registration are presented as a way for the government to control and impose conditions on Madaris [27-29].
    • Differing Views Within the Government: The sources also show that there are differing views within the government itself, which adds complexity to the situation.
    • Some government officials may genuinely want to facilitate Madaris and bring them into the formal education system, while others may be more interested in control [1, 12, 13, 17-19].
    • The policies are sometimes influenced by political considerations rather than educational goals [17-19, 39, 40].
    • The podcast suggests that some government entities have been more supportive of the 2019 agreement, while others seem to favor the Society Act, leading to inconsistencies in implementation [4-6].
    • Impact on Madaris: The government’s policies directly impact the functioning and future of Madaris [11, 13, 27, 28].
    • The debates around registration, government control, and curriculum development create an uncertain future for Madaris, making it difficult for them to plan and operate effectively [27-29].
    • The policies are not just about registration but also about the very identity and purpose of Madaris, making them a highly contentious issue [27-30].
    • Proposed Solutions: There are calls for the government to engage with all stakeholders and find a solution that addresses the concerns of all parties [1, 11, 13, 17-19, 31, 40].
    • A proposed solution is to allow Madaris to choose whether they want to register under Wizarat Talim or the Society Act, respecting their autonomy and addressing their different needs [1, 40].
    • It is also suggested that the government should focus on facilitating and supporting Madaris rather than controlling them, building trust and reducing conflict [1, 40].

    In conclusion, government policies, particularly regarding the registration and oversight of Madaris, are a major source of tension and division. The government’s actions, the lack of consultation with stakeholders, and varying interpretations of past agreements have contributed to the complex situation. The sources reveal a need for more inclusive and respectful dialogue to find a solution that accommodates the diverse needs and perspectives of all stakeholders.

    Jamaat Rasheed and the Madaris Controversy

    Jamaat Rasheed is a significant entity within the context of the Madaris (religious schools) and the controversies surrounding their registration and governance, as detailed in the sources. Here’s a comprehensive breakdown of Jamaat Rasheed, incorporating the information from the sources and our conversation history:

    • Position and Affiliation:
    • Jamaat Rasheed is a part of Wifaq-ul-Madaris Al-Arabia, though it doesn’t hold a leadership position within that organization [1].
    • The sources indicate that Jamaat Rasheed is sometimes seen as being aligned with the government, leading to accusations that it is a “Darbari Mullah” (courtier Mullah) organization [2, 3].
    • There are allegations that Jamaat Rasheed follows a different policy than other Ulama (religious scholars) and is not part of the Ulama’s unity [4].
    • Despite this, the sources note that Jamaat Rasheed has been part of the Madaris system for 30 years [4].
    • Role in Madaris Registration:
    • Jamaat Rasheed has been involved in the Madaris registration process and is seen as having taken advantage of the situation to get its own institutions registered [5].
    • It has been noted that Jamaat Rasheed itself has a degree-awarding institute and a proper Viva Board [5].
    • Some sources note that Jamaat Rasheed registered under Wizarat Talim (Ministry of Education) as a degree awarding institute [5].
    • There are claims that Jamaat Rasheed was able to get its Madaris registered under Wizarat Talim when others were unable to [5].
    • Accusations and Controversies:
    • Jamaat Rasheed faces accusations of being a “courtier” or “establishment” entity, suggesting that it prioritizes government interests over the interests of the wider Madaris community [4, 5].
    • The sources also reveal that Jamaat Rasheed has been accused of benefiting from government policies while other Madaris have not, which further fuels the controversy [6].
    • Some believe that Jamaat Rasheed has been given undue favor by the government and accuse it of not representing the views of all Madaris [6].
    • It is noted that Jamat Rasheed does not have a say in the Shura Management, but one source states that his status was that of an employee of Jamat Rasheed [4].
    • Relationship with Other Ulama:
    • There are conflicting views among the Ulama about Jamaat Rasheed with some being critical of their policies and perceived alignment with the government [2, 4].
    • Some scholars have chosen to distance themselves from Jamaat Rasheed due to its perceived close ties with the government and their policies [3, 4].
    • The sources mention that some Ulama have turned against Jamaat Rasheed because they feel that it does not represent their interests [2, 4].
    • Mufti Abdul Rahim Saheb is also mentioned to have the same “scent” as Jam Rashid [4].
    • Views on Wizarat Talim and Society Act:
    • Jamaat Rasheed seems to have favored registration under Wizarat Talim as a way to streamline the registration process [5, 7].
    • They are also accused of seeking benefits and privileges under the Wizarat Talim system [5, 8].
    • The sources note that the issues with the Society Act is that it is more difficult and complex to register under it [8, 9].
    • Role in the Current Conflict:
    • Jamaat Rasheed’s actions and perceived alignment with the government are seen as contributing to the conflict between different factions of the Madaris system [2-4].
    • The sources portray Jamaat Rasheed as a divisive force, due to its history and perceived favoritism in its relationship with the government [4].
    • Criticisms of Jamaat Rasheed:
    • Jamaat Rasheed is criticized for not being aligned with the Ulama’s unity and accused of being a government puppet [2, 4].
    • They are also accused of exploiting the registration process for their benefit while disregarding the issues of other Madaris [5].
    • Some believe that Jamaat Rasheed’s involvement has complicated the Madaris registration issues further [4].
    • There are accusations that it is only concerned with its own interests [6].

    In summary, Jamaat Rasheed is a prominent entity within the Madaris system that has been embroiled in controversies regarding government policies and Madaris registration. They are often viewed with suspicion and accused of being too closely aligned with the government, which has made them a focal point in the ongoing conflict between different factions of the Ulama. The sources suggest that while they have been part of the system for a long time, they have also been a source of division and tension in the Madaris community.

    Mufti Abdul Rahim: A Profile

    Mufti Abdul Rahim is a significant figure in the context of the Madaris (religious schools) and the ongoing debates about their governance and registration, according to the sources. Here’s a detailed overview of Mufti Abdul Rahim’s role, views, and relationships, based on the information in the sources:

    • Position and Respect:
    • Mufti Abdul Rahim is a respected scholar, and is referred to as “Hazrat Mufti Abdul Rahim Saheb” [1, 2].
    • He is considered worthy of respect by various individuals in the sources [2].
    • Despite his respected status, he is also a point of contention in the debates, with some disagreeing with his stance and actions [1, 2].
    • Relationship with Jamaat Rasheed:
    • Mufti Abdul Rahim is said to have the same “scent” as Jamaat Rasheed, implying he is aligned with their policies [2].
    • This perceived alignment with Jamaat Rasheed is a point of criticism for some, who view Jamaat Rasheed as being too close to the government [1].
    • Despite this perceived alignment, one source mentions that he is also against them [2].
    • Opposition to Government Policies:
    • The sources indicate that Mufti Abdul Rahim has been critical of certain government policies, especially concerning the regulation of Madaris [1, 3].
    • He opposed a bill that was passed by the Assembly and Senate, and questioned why the government was given the right to implement it [1].
    • He is also noted to have come on media to discuss the issue of Madaris [3].
    • Conflict with Maulana Fazlur Rehman:
    • Mufti Abdul Rahim is portrayed as being in conflict with Maulana Fazlur Rehman, especially regarding the latter’s stance on government policies [1, 4].
    • Their disagreement is not just about policies but also about the broader direction of the Madaris system [1, 5].
    • It’s noted that Mufti Abdul Rahim came out against Maulana Fazlur Rehman’s bill [3].
    • One source indicates that during a speech Maulana Fazul Rehman criticized Mufti Abdul Rahim [1].
    • Views on Madaris Governance
    • Mufti Abdul Rahim emphasizes that Madaris should be independent of political interference and government control [6]
    • He believes that Madaris should maintain their autonomy and resist attempts by the government to exert undue influence over them [6]
    • He is concerned that government policies are aimed at controlling the curriculum and finances of Madaris [7].
    • Personal Conduct and Values:
    • Mufti Abdul Rahim is described as being a pious and principled individual who is more concerned about religious matters than worldly gains [8].
    • There is an anecdote in the sources where Mufti Abdul Rahim rejects a plot of land given to him, emphasizing that his children should not inherit any property, which indicates his detachment from material possessions [9].
    • The sources highlight that Mufti Abdul Rahim is strict in his training [10].
    • The sources indicate that Mufti Abdul Rahim is respected for his knowledge and piety [11].
    • Relationship with Mufti Taqi Usmani:
    • One of the sources highlights a comparison between Mufti Taqi Usmani and Mufti Abdul Rahim, noting that they are both respected scholars, but that Mufti Taqi Usmani’s views are being favored over Mufti Abdul Rahim’s views in the debate [12].
    • It is also mentioned that Mufti Abdul Rahim had tied the turban on Mufti Taqi Usmani [13].
    • Role in Turban Tying Ceremony:
    • Mufti Abdul Rahim is noted to have played a role in the turban-tying ceremonies of prominent figures in the Madaris system [11, 13].
    • This role in such ceremonies highlights his senior status and influence within the religious community [13].
    • Accusations and Criticisms
    • Despite his respected status, Mufti Abdul Rahim is not without his critics, as he is sometimes accused of being a “courtier Mullah”, suggesting he is too close to the government [1, 2].
    • There are also claims that he is influenced by passion or money, though these are refuted by the sources, which emphasize his integrity and piety [14].
    • He was also accused of being against the Ulama [2]
    • Advocacy for Madaris:
    • Mufti Abdul Rahim is shown to be advocating for the rights and autonomy of Madaris [15, 16].
    • He is particularly concerned about the challenges faced by smaller and less established Madaris [17].
    • He also believes that those who control and manage Madaris should have the right to decide their future [18].

    In summary, Mufti Abdul Rahim is portrayed as a complex figure who is highly respected within the Madaris community but also a point of conflict due to his views on government policies and his perceived alignment with Jamaat Rasheed. He is depicted as someone who values religious principles and autonomy, while also facing criticism for his views and actions. The sources show him to be a significant player in the ongoing debates, advocating for the rights and independence of Madaris.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Al Riyadh Newspaper: March 31, 2025 Eid al-Fitr, Environmental Initiatives, Economic & Diplomatic Developments

    Al Riyadh Newspaper: March 31, 2025 Eid al-Fitr, Environmental Initiatives, Economic & Diplomatic Developments

    Multiple articles from the Al Riyadh newspaper discuss various topics including Saudi Arabia’s environmental initiatives, particularly the Riyadh Green project aimed at increasing green spaces and improving air quality in the capital. Coverage is also given to Eid al-Fitr celebrations and related activities, such as holiday shopping trends, the role of social media in festivities, and travel patterns. Additionally, the paper reports on economic matters, including Saudi Arabia’s real estate sector, global oil market trends and forecasts, and the impact of international policies on energy markets. Finally, diplomatic news is present, such as the Kingdom’s welcome of the new Syrian government and the Crown Prince’s discussions with Lebanese officials.

    Study Guide: Analysis of “Al-Riyadh” Newspaper Articles (March 31, 2025)

    This study guide is designed to help you review and understand the provided excerpts from the “Al-Riyadh” newspaper published on March 31, 2025. It includes a quiz to test your comprehension, essay format questions to encourage deeper analysis, and a glossary of key terms.

    Quiz: Short Answer Questions

    Answer the following questions in 2-3 sentences each, based on the provided text.

    1. What are the three main objectives of the Saudi Green Initiative as outlined in the article?
    2. According to the article, what is the specific goal of the “Riyadh Green Project” in relation to the Vision 2030 objectives?
    3. What is the total investment allocated for the implementation of the Riyadh Green Project, and what are two key targets this investment aims to achieve?
    4. What was the occasion for which King Salman bin Abdulaziz Al Saud performed prayers at Al-Salam Palace in Jeddah, as mentioned in the news?
    5. What was the main message conveyed in the Crown Prince’s directives regarding real estate in Riyadh, according to the article?
    6. Based on the travel trends reported, what is a significant factor influencing travel patterns of Saudi residents during Eid Al-Fitr in 2025?
    7. What is a notable shift in consumer behavior observed in Saudi Arabia during the Eid Al-Fitr season of 2025, according to the “Toluna” and “Markettiers Lab” survey?
    8. What were the Alawi fighters in northwestern Syria urged to do by President Bashar al-Assad, as reported in one of the articles?
    9. According to the article, what is the condition set by the commander of the Sudanese army, Abdel Fattah al-Burhan, for achieving peace with the Rapid Support Forces (RSF)?
    10. What was a significant reason cited for Saudi Arabia’s successful bid to host the 2034 FIFA World Cup?

    Quiz Answer Key

    1. The three main objectives of the Saudi Green Initiative are reducing carbon emissions, protecting land and sea areas, and afforestation and land reclamation. The initiative aims for a comprehensive approach to address climate change.
    2. The “Riyadh Green Project” is considered one of the largest and most ambitious afforestation projects globally and directly contributes to achieving the goals of Saudi Vision 2030 by raising Riyadh’s ranking among the world’s green cities.
    3. The total investment for the Riyadh Green Project is thirty billion riyals. This investment aims to plant over 15 million trees and increase the per capita share of green spaces in Riyadh from 1.7 to 28 square meters by 2030.
    4. King Salman bin Abdulaziz Al Saud performed the Eid Al-Fitr prayer at Al-Salam Palace in Jeddah. This prayer was offered on the morning of Eid Al-Fitr Al-Mubarak.
    5. The Crown Prince’s directives regarding real estate in Riyadh focused on providing more planned and developed land plots, expressing hope for similar measures in other regions suffering from land scarcity and high prices, and emphasizing the need to achieve balance between supply and demand.
    6. A significant factor influencing travel patterns of Saudi residents during Eid Al-Fitr in 2025 is the increasing interest in cultural and recreational travel, alongside traditional family visits, leading to exploration of diverse destinations in Europe and Asia.
    7. A notable shift in consumer behavior during Eid Al-Fitr 2025 in Saudi Arabia is an increased focus on social gatherings, cultural activities, and luxury shopping experiences, leading to higher spending across various sectors.
    8. President Bashar al-Assad urged the Alawi fighters in northwestern Syria to surrender their weapons and themselves “before it is too late.” He accused them of attacking all Syrians and committing unforgivable sins.
    9. The commander of the Sudanese army, Abdel Fattah al-Burhan, stated that there would be no peace with the Rapid Support Forces (RSF) until the latter surrendered their weapons. He dismissed any negotiations until this condition is met.
    10. A significant reason cited for Saudi Arabia’s successful bid to host the 2034 FIFA World Cup is its advanced infrastructure and substantial investments in modern stadiums, transportation, and hospitality, along with strong government and sports sector support aligned with Vision 2030.

    Essay Format Questions

    Consider the following questions for essay writing. Develop well-structured arguments using evidence and examples from the provided text.

    1. Analyze the interconnectedness between the Saudi Green Initiative and the broader goals of Saudi Vision 2030, as presented in the “Al-Riyadh” excerpts. Discuss the specific targets and investments mentioned, and evaluate their potential impact on the Kingdom’s environmental and economic future.
    2. Compare and contrast the domestic and international events reported in the “Al-Riyadh” articles on March 31, 2025. Discuss the key themes that emerge from these reports and analyze how they reflect the political, social, and economic landscape of the region and the world.
    3. Examine the coverage of Eid Al-Fitr in the provided “Al-Riyadh” articles. Analyze how the newspaper portrays the religious, social, and economic significance of the holiday, considering aspects such as prayers, community activities, travel trends, and consumer behavior.
    4. Discuss the various conflicts and tensions highlighted in the international news sections of the “Al-Riyadh” excerpts, including the situations in Syria and Sudan. Analyze the stated positions of different actors and the potential implications of these conflicts for regional stability.
    5. Evaluate the reporting on economic trends in Saudi Arabia and the global oil market as presented in the “Al-Riyadh” articles. Analyze the data and forecasts provided, and discuss the factors that are influencing these trends, including government initiatives, international policies, and market dynamics.

    Glossary of Key Terms

    • Saudi Green Initiative: A national initiative in Saudi Arabia with comprehensive goals focused on reducing carbon emissions, protecting land and sea, and promoting afforestation.
    • Riyadh Green Project: A specific afforestation project within the Saudi Green Initiative aimed at increasing green spaces in the city of Riyadh and improving its environmental sustainability, contributing to Vision 2030.
    • Vision 2030: Saudi Arabia’s ambitious long-term plan for economic diversification, social reform, and sustainable development.
    • Eid Al-Fitr Al-Mubarak: The Islamic holiday that marks the end of the holy month of Ramadan, celebrated with prayers, family gatherings, and festivities.
    • Crown Prince: The heir apparent to the throne in a monarchy. In the context of the articles, it refers to Mohammed bin Salman bin Abdulaziz Al Saud in Saudi Arabia.
    • Real Estate Sector: The industry related to the buying, selling, leasing, and development of land and buildings.
    • Consumer Behavior: The study of how individuals make decisions to spend their available resources (time, money, effort) on consumption-related items.
    • Alawi Fighters: Refers to a specific group of fighters in northwestern Syria who were urged to surrender by President Bashar al-Assad. The Alawites are a religious minority in Syria.
    • Rapid Support Forces (RSF): A paramilitary group in Sudan involved in a conflict with the Sudanese army.
    • FIFA World Cup 2034: The international football tournament that Saudi Arabia has won the bid to host in the year 2034.
    • Non-oil Exports: Goods and services exported by a country that are not related to petroleum products, indicating economic diversification.
    • Imports: Goods and services brought into a country from another country.
    • Balance of Trade: The difference between the value of a country’s exports and the value of its imports.
    • OPEC: The Organization of the Petroleum Exporting Countries, a group of oil-producing nations that coordinate their petroleum policies.
    • Brent Crude: A major benchmark price for purchases of crude oil worldwide, used here in the context of oil market analysis.
    • Internal Tourism: Travel and tourism activities undertaken by residents within their own country.

    Al Riyadh Newspaper Review: Themes and Ideas

    BRIEFING DOCUMENT

    Date: October 26, 2023 (Assuming context based on future dates in the text – actual date will be different)

    Subject: Review of “Al Riyadh” Newspaper Excerpts – Key Themes and Ideas

    This briefing document summarizes the main themes and important ideas presented in the provided excerpts from the “Al Riyadh” newspaper (Issue 20728, dated Monday, March 31, 2025). The excerpts cover a range of topics, including environmental initiatives, Eid al-Fitr celebrations and related consumer behavior, international and domestic travel trends, oil market analysis, regional political developments, and local news.

    **I. Environmental Initiatives and Sustainable Development:**

    * **The Saudi Green Initiative:** This initiative is highlighted as a comprehensive plan with three main objectives: reducing carbon emissions, protecting land and sea areas, and afforestation and land reclamation.

    * Quote: “وطويلة م�ستدامة خطة تنفيذ على اخل�سراء ال�سعودية مبادرة ت�سرف تقليل هي: �ساملة اأه��داف بثالثة املبادرة وت�سرت�سد املناخي، للعمل الأج�ل املناطق وحماية الأرا�سي، وا�ست�سالح والت�سجري الكربونية، النبعاثات الربية والبحرية.” (Translation: The Saudi Green Initiative aims to reduce emissions through a comprehensive three-pronged plan focusing on climate action, protecting land and coastal areas, and afforestation and reclamation.)

    * **Kingdom’s Net-Zero Target:** Saudi Arabia announced its aim to reach net-zero emissions by 2060, positioning this target as a crucial benchmark for evaluating a nation’s commitment to addressing climate change and environmental protection.

    * Quote: “ويف مواجهة اأزمة التغري املناخي اأُ�س�ست هذه املبادرة، والتي كانت قاعدة ال�سفري يف اإلى احلياد للو�سول تهدف اأنها اململكة اأعلنت النطالقة، حيث عام 2060، ول �سك اأن حتديد موعد للو�سول اإلى احلياد ال�سفري بات من اأهم املعايري لتحديد م�سار كل دولة يف معاجلة التغري املناخي وحماية البيئة على عملية يف هذا املجال البيئي.” (Translation: This initiative was established to confront the climate change crisis, with the Kingdom announcing its launch aiming to reach net-zero by 2060. Setting a net-zero target has become one of the most important criteria for determining each country’s path in addressing climate change and protecting the environment.)

    * **The Riyadh Green Project:** This is identified as one of the largest afforestation projects globally and a key contributor to achieving the goals of Saudi Vision 2030.

    * It aims to increase the per capita share of green space in Riyadh, expand the total green areas, and intensify tree planting across the city, utilizing treated water for irrigation.

    * The project is expected to improve air quality and reduce city temperatures.

    * An investment of thirty billion riyals is allocated for projects related to environmental protection and conservation, targeting the planting of over 15 million trees.

    * The per capita share of green space is projected to increase from 1.7 square meters to 28 square meters by 2030, potentially reducing Riyadh’s temperature by 1.5 to 2 degrees Celsius.

    * Over 3,300 parks of various sizes and 43 large parks will be established to enhance the quality of life.

    * Quote: “ويف هذا الإطار يعد م�سروع الريا�ض اخل�سراء واحدًا من اأكرث م�سروعات اأحد امل�ساهمة يف حتقيق م�سروعات اأحد العامل، وهو الت�سجري طموحًا يف الريا�ض بني نظرياتها مدينة ت�سنيف برفع »2030 ال�سعودية »روؤية اأهداف من مدن العامل مب�سيئة الله.” (Translation: In this context, the Riyadh Green Project is considered one of the largest projects globally and a significant contributor to achieving the goals of Saudi Vision 2030, aiming to elevate Riyadh’s ranking among world cities, God willing.)

    * Quote: “ي�ساهم يف حت�سني جودة الهواء وخف�ض درجات احلرارة يف املدينة.” (Translation: It contributes to improving air quality and reducing temperatures in the city.)

    * Quote: “ويف نطاق ال�ستثمار �سيتم يف م�سروع الريا�ض اخل�سراء تنفيذه بثالثني مليار ريال يف تاأ�سي�ض م�سروعات لها عالقة بحماية البيئة واملحافظة عليها، التي ت�ستهدف غر�ض ما يزيد على 15 مليون �سجرة، ورفع معدل ن�سيب الفرد النطاق احل�سري 28 مرتًا مربعًا داخل اإلى 1.7 امل�ساحات اخل�سراء من من 2030، مما �سي�سفر عن خف�ض ملمو�ض يف درج�ات احل�رارة يف بحلول عام الريا�ض من 1.5 درجة اإلى درجتني، بالإ�سافة اإلى ذلك �سيتم توفري اأكرث من 3300 حديقة متفاوتة احلجم و43 حديقة كبرية احلجم لأجل حت�سني جودة” (Translation: Within the scope of investment in the Riyadh Green Project, thirty billion riyals will be allocated to establish projects related to environmental protection and conservation, targeting the planting of over 15 million trees and increasing the per capita share of green spaces from 1.7 to 28 square meters within the city by 2030, which will result in a noticeable reduction in Riyadh’s temperatures by 1.5 to 2 degrees Celsius. Additionally, more than 3300 parks of varying sizes and 43 large parks will be provided to improve quality of life.)

    **II. Eid al-Fitr Celebrations and Consumer Behavior:**

    * **Royal Greetings and Prayers:** The excerpts detail the performance of Eid prayers by the Custodian of the Two Holy Mosques and the Crown Prince in Jeddah and Mecca, respectively, along with greetings exchanged with officials and dignitaries.

    * **Messages of Hope Regarding Real Estate:** Following directives from the Crown Prince concerning the provision of developed land in Riyadh, citizens expressed optimism about the real estate sector’s future, its ability to support other sectors, and its capacity to meet diverse needs.

    * Citizens believe the measures will help regulate the market, increase land availability, prevent speculation, and balance supply and demand, ultimately leading to more suitable options for individuals.

    * Emphasis is placed on transparency in land distribution, with conditions preventing immediate resale or exploitation by speculators.

    * **Eid Festivities and Entertainment:** Various activities and celebrations are mentioned across Saudi Arabia, including cultural and recreational events, interactive games, and Quranic competitions. These are seen as aligning with Saudi Vision 2030 and fostering a sense of unity and participation.

    * **Shift to Online Shopping:** Statistics indicate that 70% of Saudis prefer to shop online during Eid holidays, attributed to convenience, speed, and the ability to compare prices easily, aiding consumers in selecting high-quality products at suitable prices. E-commerce offers access to a wider range of products and efficient delivery services.

    * **Domestic Tourism Growth:** Data from Wego (a travel platform) shows a rise in domestic travel during Eid al-Fitr 2025, indicating a shift in travel patterns within the Kingdom. While some expatriates return home, Saudi travelers are increasingly interested in cultural and recreational trips within the country.

    * Popular domestic destinations, along with international destinations like Europe and parts of Asia, are highlighted.

    * The average duration of Eid travel increased to four days in 2025 compared to two days in 2024.

    * **Consumer Spending Trends:** A recent survey by “Toluna” and “Markettiers Lab” reveals a significant shift in consumer behavior during Eid al-Fitr 2025, with a focus on social gatherings, cultural activities, and luxury shopping, leading to increased spending across various sectors (gifts, retail, entertainment, and restaurants).

    * Price discounts remain the top factor influencing purchasing decisions (49%), followed by bundled offers (40%) and extra quantity for the same price (38%).

    * Cashback offers (33%) and free or discounted shipping (30%) are also important.

    * The study emphasizes the importance for companies and brands to align their strategies with these new trends by offering exclusive deals, valuable experiences, or luxury products.

    * **Riyadh Real Estate Market:** The Crown Prince’s directives regarding land development in Riyadh were met with relief and optimism by citizens, who anticipate the resolution of real estate challenges, increased supply, and price stabilization, ultimately supporting economic and real estate development.

    **III. Oil Market Analysis:**

    * **OPEC’s Demand Forecast:** OPEC expects strong oil demand growth to continue in 2026, projecting an increase of 1.4 million barrels per day globally. Non-OECD countries are expected to drive this growth.

    * **Supply Outlook:** Non-OPEC+ liquid supply is anticipated to grow by 1.0 million barrels per day in both 2025 and 2026, with the United States, Norway, Canada, and Brazil being key contributors.

    * **Oil Tanker Market:** Spot freight rates for clean and dirty tankers saw increases in February across most monitored routes, particularly for VLCCs due to new sanctions impacting supply.

    * **Crude Oil and Product Trade:** U.S. crude oil imports declined but remained above 6 million barrels per day, while crude oil exports and product imports remained stable. Product exports generally remained at the upper end of the five-year range. European and Japanese crude oil imports also showed increases. India’s crude oil imports averaged 4.9 million barrels per day in January.

    * **Commercial Stock Movements:** Preliminary data for January 2024 showed an overall increase in OECD commercial oil inventories by 1.0 million barrels, but they remained 188.1 million barrels below the 2015-2019 average. Crude oil stocks increased, while product stocks decreased.

    * **OPEC+ Crude Oil Demand:** The demand for crude oil from OPEC+ participating countries remains unchanged from previous assessments, projected at 42.6 million barrels per day in 2025 and 42.9 million barrels per day in 2026.

    * **Petrochemical Sector as Demand Driver:** The petrochemical sector is highlighted as a major driver of oil demand due to significant expansions globally.

    * **OPEC Basket Price:** The OPEC basket price decreased by $2.57 per barrel in February, averaging $76.81 per barrel.

    * **Impact of U.S. Policies:** U.S. customs duties and sanctions on Iranian and Venezuelan oil create mixed signals for oil markets. While sanctions reduce supply, economic policies could decrease long-term demand.

    * **Analyst Perspectives:** BMI analysts maintain their Brent crude oil price forecast at an average of $76 per barrel in 2025, down from $80 per barrel in 2024, citing market consolidation.

    * **Regional Oil Developments:** The article mentions developments in Iraq (BP’s Kirkuk field redevelopment), the Kurdistan oil exports, and China’s increasing imports of Canadian crude oil. It also touches upon Nigeria’s potential oil sector overhaul and Vitol’s reported exit from its U.S. shale oil assets.

    * **Impact on India:** U.S. sanctions on Venezuelan oil are prompting Indian refiners to halt imports. India is also considering reducing taxes on LNG imports to address its trade deficit with the U.S.

    * **Refining Industry:** Brazil’s Petrobras is increasing refinery capacity. Shell is shifting its focus towards fossil fuels and increasing shareholder returns while maintaining oil production. Mexico’s Pemex is reportedly in talks to jointly operate a major offshore oil field.

    * **LNG Prices:** LNG prices for May delivery to Northeast Asia have fallen to their lowest in three months.

    **IV. Regional Political Developments:**

    * **Syria:** President Bashar al-Assad called on Alawi fighters in the northwest to surrender their weapons, warning of consequences. The government announced a security operation in the Latakia and Tartous governorates. The UN envoy expressed concern over civilian casualties and urged restraint. Russia also called for de-escalation. Iran condemned the killing of innocent Syrians.

    * **Sudan:** Army Commander Abdel Fattah al-Burhan vowed to fight until victory against the Rapid Support Forces (RSF), ruling out peace unless the RSF lays down arms. The army claimed to have regained control of the presidential palace in Khartoum. The RSF acknowledged withdrawing from Khartoum but vowed to return. Al-Burhan dismissed any negotiations with the RSF. The conflict, ongoing for two years, has caused massive displacement and casualties. The country is effectively divided.

    * **Gaza:** The Israeli occupation forces continued their operations in Gaza, resulting in numerous Palestinian casualties, including children, due to airstrikes and artillery shelling. Areas in Khan Younis, Rafah, and Jabalia were targeted, with homes destroyed.

    * **Al-Aqsa Mosque:** Despite Israeli restrictions on entry, a large number of Muslims performed Eid prayers at the Al-Aqsa Mosque. Some Palestinians were prevented from entering.

    * **Eid in the Middle East:** Dr. Fayez bin Abdullah Al-Shehri provides an overview of the significant political, economic, social, and security transformations in the Middle East between the last Eid al-Fitr (1445 AH – 2024 AD) and the current one (1446 AH – 2025 AD).

    * He notes a decline in the influence of some prominent regional players and the emergence of new forces amidst shifting power balances.

    * Lebanon witnessed a decline in Hezbollah’s effectiveness.

    * Hamas’s role in Palestine has been severely impacted by the ongoing conflict in Gaza.

    * Syria saw the fall of the Assad regime after decades, with a new system emerging.

    * The Houthis in Yemen continue to operate despite losing Iranian support.

    * Economically, the gap between the Gulf states (Saudi Arabia, UAE, Qatar) and other regional countries is widening due to the Gulf states’ diversification efforts.

    * Turkey experienced a historic shift in local elections.

    * Egypt and Turkey are normalizing relations.

    * The author concludes that the Middle East is undergoing a profound reshaping, facing intertwined political, economic, and security challenges.

    **V. Local News and Sports:**

    * **Commencement of Riyadh Theatre Project:** The first phase of a theatre project, “Rimah in the Tent of My Uncle,” will tour various cities in Saudi Arabia starting in May 2025.

    * **MBC’s Eid Coverage:** MBC1 offered extensive coverage of Eid al-Fitr, including morning and evening programs featuring celebrations from different regions of Saudi Arabia, along with movies and concerts.

    * **Profile of Poet Nafal bin Ali Al-Harbi:** A brief profile highlights the wisdom and strong meanings in the poetry of the veteran poet Nafal bin Ali Al-Harbi.

    * **Growth of Non-Oil Exports:** Saudi Arabia’s non-oil exports, including re-exports, increased by 10.7%, indicating a shift towards a more productive economy. The growth is attributed to investments in logistics and infrastructure under the National Industrial Development and Logistics Program (NIDLP). China remains a top trading partner.

    * **Analysis of Trade Balance:** While imports also rose, the trade balance decline is seen as part of the economic transformation, with imports increasingly being intermediate goods for local industry.

    * **Unique Religious Achievement During Ramadan:** The Kingdom hosted approximately 10 million Umrah pilgrims during Ramadan, a record number, showcasing the state’s efforts in managing the massive influx with efficient logistics and modern technologies. The smooth experience for pilgrims is highlighted as part of Vision 2030’s goals for developing the Hajj and Umrah sector.

    * **200 Parks and Celebration Squares Prepared in Tabuk:** The Tabuk Municipality prepared over 200 parks and squares for Eid al-Fitr celebrations, including maintenance, cleaning, decorations, and various festive activities.

    * **”SAR” Transports 1.2 Million Passengers in Ramadan:** The Saudi Railways Organization (“SAR”) successfully transported 1.2 million passengers during Ramadan, a 21% increase compared to the previous year, highlighting the efficiency and commitment to serving pilgrims.

    * **Al-Ula’s Historical Significance:** The Incense Route is highlighted as a testament to Al-Ula’s historical role in trade and cultural exchange, making it a significant historical destination.

    * **Al-Adalah Club Honors Legends:** Al-Adalah Football Club organized a friendly match and honored veteran players as part of its social responsibility program.

    * **Marmoush Leads Man City to FA Cup Semi-Final:** Egyptian player Omar Marmoush scored as Manchester City advanced to the FA Cup semi-finals.

    * **”Roshan” League Competition Heats Up:** The competition in the Saudi Professional League is intense among top teams like Al-Hilal, Al-Nassr, Al-Ittihad, and Al-Ahli. Strong squads, star players, and tactical approaches are key factors.

    * **Saudi Arabia to Host 2034 FIFA World Cup:** This is seen as a historic event reflecting the country’s development in the sports sector and infrastructure. The strong bid and government support were crucial. Modern stadiums, advanced technology, and a welcoming environment are expected.

    * **Al-Fateh’s Struggle to Avoid Relegation:** Despite winning the league in 2013, Al-Fateh has been struggling to avoid relegation in recent seasons.

    * **Significant Support and Development in Women’s Sports:** Women’s sports in Saudi Arabia have witnessed remarkable progress with official support, leading to increased participation in various sports locally and internationally. The establishment of women’s sports federations, participation in international events, and the launch of the women’s football league are highlighted.

    * **Challenges Facing Sports Academies:** While sports academies in Saudi Arabia have made progress in developing talent, challenges remain in focusing on younger age groups, the need for stronger competition, and uneven investment across regions.

    * **”Yelo” League Promotion Race:** The competition for promotion to the Saudi Professional League from the First Division (“Yelo” League) is tight, with Neom leading but closely followed by other teams.

    * **Al-Saad and Al-Adalah Qualify for Handball League Semi-Finals:** Al-Saad and Al-Adalah handball clubs qualified for the semi-finals of the Prince Faisal bin Fahd Premier League.

    * **Devotional Atmosphere During Eid Prayers:** The Ministry of Islamic Affairs prepared thousands of mosques and prayer grounds across Saudi Arabia for Eid al-Fitr prayers.

    * **Farewell to Saad Al-Lathidh:** A column reflects on the challenges faced by Saad Al-Lathidh in his position, suggesting the immense pressures led to his resignation.

    * **Simple Joys of Eid:** An article emphasizes the essence of Eid being about inner joy and genuine connections rather than superficial appearances.

    This briefing provides a comprehensive overview of the diverse topics covered in the “Al Riyadh” excerpts, highlighting key initiatives, events, trends, and perspectives relevant to Saudi Arabia and the wider region as of late March 2025 (as indicated by the newspaper’s date).

    Saudi Arabia: Green Initiatives, Economy, and Regional Events

    Frequently Asked Questions about the Provided Sources

    1. What are the primary goals of Saudi Arabia’s “Green Initiative” (مبادرة السعودية الخضراء) as outlined in the Al Riyadh newspaper? The Saudi Green Initiative, according to the article, aims to reduce carbon emissions, protect and rehabilitate land and marine areas, and improve the climate in the long term. It is built upon three main objectives: combating climate change, protecting terrestrial and marine environments, and afforestation and land reclamation to reduce carbon emissions.

    2. What is the significance of Saudi Arabia setting a target for reaching net-zero emissions, and what year is this target set for? The article emphasizes that setting a date to reach net-zero emissions has become a crucial benchmark for evaluating a country’s commitment to addressing climate change and environmental protection. Saudi Arabia has announced its aim to reach net-zero emissions by the year 2060, highlighting its serious approach to this global challenge.

    3. Can you describe the “Riyadh Green Project” (مشروع الرياض الخضراء) and its objectives? The Riyadh Green Project is described as one of the largest afforestation projects globally and a significant contributor to achieving the goals of Saudi Vision 2030. Its objectives include increasing the per capita share of green space in Riyadh, boosting the total green area, intensifying tree planting across the city, optimizing the use of treated water for irrigation, improving air quality, and reducing urban heat.

    4. What are the planned investments and expected outcomes of the Riyadh Green Project by 2030? The Riyadh Green Project involves an investment of thirty billion riyals dedicated to establishing environment protection and conservation projects. The target is to plant over 15 million trees and increase the per capita share of green spaces from 1.7 square meters to 28 square meters by 2030. This is expected to result in a noticeable reduction of 1.5 to 2 degrees Celsius in Riyadh’s temperature. Additionally, over 3,300 parks of varying sizes and 43 large parks will be developed to improve the overall quality of life.

    5. Based on the article, what are some key observations regarding Eid Al Fitr in Saudi Arabia in 2025? The article indicates several trends for Eid Al Fitr in 2025: increased social gatherings and higher spending in markets, a rise of 15.57% in domestic travel, with Egypt, Pakistan, India, and Turkey being popular international destinations. There is also a noticeable shift in consumer behavior towards social activities, cultural events, and luxury shopping. Statistics suggest that 70% of Saudis prefer online shopping during holidays, and travelers are increasingly interested in cultural and recreational travel, exploring destinations in Europe and Asia.

    6. What measures were reportedly being considered to address issues in the real estate sector in Riyadh? According to the article, the Crown Prince issued directives aimed at providing planned and developed land in Riyadh, which were received with optimism. There was an emphasis on releasing messages to citizens and implementing similar measures in other regions suffering from land scarcity and high prices. The measures were expected to facilitate land trading, prevent monopolies, and create a balance between supply and demand in the Riyadh real estate market, ultimately supporting economic and real estate development. Transparency in land distribution was also highlighted, with conditions being praised that would prevent speculators from acquiring land.

    7. What does the article suggest about Saudi Arabia’s efforts in diversifying its economy beyond oil? The article highlights the significant increase in non-oil exports (including re-exports) by 10.7%, with chemical exports alone forming 23.7% of the total. This shift is attributed to strategic investments in developing logistical infrastructure and services (the “Nadaleb” program) that connect national industries with international markets more efficiently. Despite an increase in imports, the trade balance contraction is viewed positively, indicating a shift towards importing productive inputs for local industry rather than solely consumer goods, reflecting a move towards productive empowerment. The improved coverage ratio of non-oil exports to imports (from 35.7% to 36.5%) demonstrates greater self-sufficiency and resilience to external shocks, especially in global energy markets.

    8. What were some of the key events and situations reported in the “Middle East: What is the State Between Two Eids?” section of the newspaper? This section of the article describes significant political, economic, social, and security transformations in the Middle East between the Eid Al Fitr of 2024 and 2025. Notable events included a reported decline in Hezbollah’s activity in Lebanon, the ongoing Israeli-Palestinian conflict with a focus on Gaza, a potential shift in Syria’s political landscape, the continuing Houthi issue in Yemen, a widening economic gap between Gulf states and others, Turkey’s municipal elections showing a shift in power, and a diplomatic thawing between Turkey and Egypt. Overall, the region was depicted as undergoing a period of significant upheaval and realignment.

    Saudi Green Initiative: Addressing Climate Change

    The sources discuss a Climate Change Initiative led by Saudi Arabia, primarily referred to as the Saudi Green Initiative. This initiative is described as a comprehensive plan with three main objectives: reducing carbon emissions, protecting land and sea areas, and afforestation and land reclamation.

    This initiative was established to confront the crisis of climate change. Saudi Arabia announced its launch, with the goal of reaching carbon neutrality by the year 2060. The source emphasizes that setting a specific date for achieving carbon neutrality has become a crucial benchmark for evaluating each nation’s approach to tackling climate change and safeguarding the environment in the long run.

    In response to climate change, Saudi Arabia has adopted a new policy and prepared a strategy aimed at protecting the environment and the Earth. However, the sources highlight that the effective implementation of this environmental protection and the adoption of concrete steps place a significant responsibility on individuals. This responsibility includes rationalizing water consumption, ceasing food wastage, and embracing a new lifestyle that fosters collective action in safeguarding the planet.

    The sources also note that international policies have introduced numerous new terms in the context of combating climate change. The Saudi Green Initiative and similar efforts represent a significant shift in the endeavors to counter the impacts of climate change. Furthermore, these initiatives underscore the pivotal role that Saudi Arabia can play in identifying solutions to climate change.

    Saudi Green Initiative: Carbon Neutrality by 2060

    Based on the sources and our previous discussion, the goal of reaching carbon neutrality by the year 2060 is a central aspect of Saudi Arabia’s Saudi Green Initiative.

    Here’s a breakdown of what the sources indicate regarding reaching carbon neutrality:

    • The Saudi Green Initiative was launched with the explicit aim of achieving carbon neutrality by 2060. This long-term target signifies Saudi Arabia’s commitment to addressing climate change.
    • The sources emphasize that setting a specific date for reaching carbon neutrality has become a critical benchmark for evaluating how seriously each country is addressing climate change and protecting the environment. This suggests that the 2060 target is not just an aspirational goal but a measure against which Saudi Arabia’s progress will be assessed internationally.
    • The establishment of the Saudi Green Initiative, with its carbon neutrality goal, is presented as a response to the climate change crisis.
    • The initiative aims to achieve its objectives, including reducing carbon emissions, through various means such as protecting land and sea areas, and afforestation and land reclamation. These actions are intended to contribute to the larger goal of carbon neutrality.

    In essence, the sources position the commitment to reaching carbon neutrality by 2060 as a fundamental pillar of Saudi Arabia’s comprehensive strategy to combat climate change through the Saudi Green Initiative.

    Green Riyadh Initiative: An Overview

    Based on the provided sources, the Green Riyadh project is not explicitly mentioned. However, the concept of a greener capital city is alluded to in the “كلمة العاصمة الخضراء” (The Green Capital Word) section of the newspaper.

    This section, written by Nawal Al-Jabir, appears on page 16 of the Monday, March 31, 2025 issue of Al-Riyadh newspaper. While the specific details and scope of a “Green Riyadh project” aren’t elaborated upon in the provided excerpts, the heading itself indicates an initiative or discussion related to making Riyadh a greener city.

    Our conversation history discusses the broader Saudi Green Initiative, which aims to reduce carbon emissions, protect land and sea areas, and promote afforestation and land reclamation across Saudi Arabia [Me]. It is possible that the “Green Riyadh” concept, as suggested by the newspaper section heading, is a part or a regional implementation of this larger national initiative, focusing specifically on the city of Riyadh.

    The sources also mention directives from the Crown Prince regarding the real estate sector in Riyadh, aiming to provide planned and developed residential lands for citizens. These directives are intended to revitalize construction and development in the capital. While not directly related to environmental greening, these efforts suggest a focus on the future development and enhancement of Riyadh.

    In summary, while the “Green Riyadh project” isn’t detailed in the sources, the newspaper excerpt suggests an initiative or concept focused on making Riyadh a greener city. This could potentially be linked to the broader Saudi Green Initiative discussed in our previous conversation [Me].

    Riyadh Real Estate Development: Crown Prince’s Directives

    The sources contain significant information regarding real estate development, particularly in Riyadh, following directives from the Crown Prince.

    Here’s a breakdown of the key points:

    • Crown Prince’s Directives for Riyadh: The Crown Prince, Mohammed bin Salman bin Abdulaziz, who is also the President of the Council of Ministers, issued directives aimed at the real estate sector in Riyadh. These directives focus on the Royal Commission for Riyadh City and the real estate sector working to provide planned and developed residential lands for citizens who wish to build homes, administrative offices, or industrial facilities.
    • Goals of the Directives: The primary objectives of these directives are to address the real estate situation in the capital, particularly after a notable increase in property prices. The expectation is that these measures will collectively contribute to revitalizing construction and development operations throughout Riyadh.
    • Positive Reception and Optimism: Citizens, especially residents of Riyadh, have received these directives with considerable relief and optimism regarding the future of the real estate sector. They believe that the sector can effectively support other industries and meet the diverse housing needs of citizens and businesses at reasonable and suitable prices, without excessive inflation.
    • Impact on the Real Estate Market: The directives are seen as timely and are expected to lead to:
    • An increase in the supply of land.
    • The provision of suitable housing environments for citizens.
    • The revitalization of the real estate market, both residential and commercial.
    • An increase in the level of transparency in the sector.
    • A more stable and sustainable real estate market, positively impacting the Saudi economy.
    • Addressing Issues and Regulations: The sources highlight several key issues being addressed:
    • Combating Monopoly and Speculation: The approval of amendments to the White Land Fees system is part of governmental efforts to stimulate development, increase the supply of land, combat real estate monopoly, and enable citizens to own suitable housing.
    • Landlord-Tenant Relationship: The Crown Prince’s directives also include studying the regulation of the relationship between landlords and tenants, aiming to address many of the issues arising from this relationship in the residential and commercial rental markets. The goal is to achieve a balance between the interests of all parties, enhance the attractiveness of living and investing in the Kingdom, and protect the rights of all stakeholders while making costs manageable and promoting the sustainability of the real estate sector.
    • Scale of Land Provision: Recent reports indicate that a total of 81.48 square kilometers of previously undeveloped land has been allocated for real estate development, further contributing to the urban renaissance in Riyadh.
    • Monitoring the Market: The Crown Prince’s directives include developing and monitoring the real estate market, with relevant authorities working to safeguard the market from harmful practices and enhance investment opportunities in line with Riyadh’s ambition to become one of the largest economies among cities globally.
    • Impact on Inflation: These measures are also expected to positively influence the stability of inflation rates across various sectors by supporting the business sector and other industries in managing real estate costs, thereby increasing their competitiveness.

    In relation to our previous conversation, while the “Green Riyadh” project was not detailed in the sources, these real estate development initiatives suggest a broader focus on the future growth and enhancement of Riyadh. It’s possible that environmental considerations and green initiatives could be integrated into these development plans, although the current excerpts primarily focus on land provision, market regulation, and economic impact.

    Eid: Online Celebrations and Digital Connection

    The sources contain several references to the online aspects of Eid celebrations:

    • Social Media for Greetings and Engagement: Following the advent of Eid al-Fitr, citizens exchanged congratulatory messages on social media platforms. Social media platforms like Instagram and Snapchat have become “new arenas” for showcasing Eid outfits, moving away from traditional family gatherings to a wider online audience. This digital shift has led to greater attention to coordinating outfits, with users sharing photos and videos for feedback and inspiration. Followers can comment on these looks and exchange tips, making the experience of choosing Eid clothing more interactive.
    • Interactive Online Festivities: Eid festivities are becoming more interactive through online platforms, allowing public participation and the sharing of comments during events. People can also engage in live competitions broadcast online by artists, creating a celebratory atmosphere similar to real-life events.
    • Podcasts as a Connecting Tool: Podcasts have become a significant media for conveying the atmosphere of Eid, allowing listeners to immerse themselves in the rituals and traditions, even if they are away from their original environments or families. They serve as a “new link” between individuals, regardless of geographical distances, enabling the sharing of Eid stories and exploration of diverse cultural traditions around the world, from pre-Eid preparations to regional foods and celebratory songs. Influencers in the podcasting realm dedicate episodes to sharing their special Eid memories and spontaneous moments during family gatherings, enriching the listening experience and fostering a sense of belonging and connection. The podcast experience extends beyond just listening, as audiences can send audio recordings of their own experiences, creating a form of interactive virtual family gatherings where everyone can participate in sharing memories and even the joy of “Eidiya” (Eid money), bridging the gap for those separated from loved ones.
    • The Metaverse for Expatriates: The “Metaverse” is presented as an innovative way for expatriates to experience the joy of Eid virtually. It allows them to be present in virtual spaces that resemble and are decorated like their homes for Eid, enabling them to celebrate with family and friends despite the distance. These virtual environments go beyond audio and video calls, offering immersive experiences where expatriates can exchange digital sweets and gifts and even greet their loved ones through their digital avatars, contributing to the revival of family and social bonds and alleviating feelings of alienation during the holidays. This technology is expected to become a primary means for expatriates to celebrate in the future, reducing the impact of distance on social connection and family ties.
    • Official Greetings Online: The Custodian of the Two Holy Mosques, King Salman bin Abdulaziz Al Saud, conveyed Eid al-Fitr greetings to citizens and Muslims worldwide via his account on the ‘X’ platform, praying for the security, stability, and prosperity of the nation and for peace to prevail in the Islamic world.
    • Television Broadcasts: While not strictly “online,” television also plays a role in disseminating Eid celebrations and atmosphere. There are direct broadcasts and coverage of Eid from Mecca and Medina, as well as daily coverage from various cities and governorates across the Kingdom, showcasing Eid al-Fitr activities. These broadcasts often include reports from different Saudi cities, highlighting Eid traditions and customs, as well as reports from various parts of the Arab world about how Eid is welcomed and celebrated. Television programs also feature interviews with artists and actors to discuss their Ramadan work and share their Eid memories. Channels like “MBC1” offer special Eid programming with interviews, concerts, and movies under the title “Hayaak Ya Eid”. There is also audience interaction reported with Eid concerts.

    In summary, the sources highlight a significant trend towards incorporating online platforms and technologies to enhance and broaden the reach of Eid celebrations, facilitating connections, sharing traditions, and creating virtual experiences, particularly for those who are geographically separated from their loved ones.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Mastering Microsoft Teams: A Practical Guide

    Mastering Microsoft Teams: A Practical Guide

    This comprehensive Microsoft Teams course, led by Mo Jones, provides a detailed exploration of the platform’s features and benefits for individuals and teams. The course covers essential functionalities, such as team creation (public and private), integration with Office 365 tools (SharePoint, Planner, OneNote), meeting scheduling and management (lobby controls, presenter selection), and collaborative communication within channel-based workspaces. It addresses the challenges of using disparate communication methods by positioning Teams as a unified hub for chat, video calls, file sharing, and meetings. The course further examines the Teams interface, navigation shortcuts, customization options (themes, chat density), meeting settings, in-meeting controls (screen sharing, whiteboarding, attendance), and notable application settings.

    Microsoft Teams Deep Dive: Study Guide

    Quiz

    Instructions: Answer the following questions in 2-3 sentences each.

    1. What is the primary purpose of Microsoft Teams as described in the course?
    2. Name three communication methods that Teams aims to consolidate into a single platform.
    3. Explain the difference between a public and a private team in Microsoft Teams.
    4. Describe how you can integrate a SharePoint document library into a Teams channel.
    5. What are some of the options available when scheduling a Teams meeting directly from a channel?
    6. How does collaborating in a Teams channel differ from using an Outlook inbox for team communication?
    7. What are read receipts in Microsoft Teams, and how can you manage this setting?
    8. Describe at least two ways you can share content during a Microsoft Teams meeting.
    9. What is the purpose of the Microsoft Whiteboard feature in a Teams meeting?
    10. Where can you find and manage meeting options, such as who can bypass the lobby?

    Quiz Answer Key

    1. The primary purpose of Microsoft Teams is to serve as a central hub or a “One-Stop shop” for all communication and collaboration needs within a team and organization. It aims to streamline workflows by integrating various communication methods and Office 365 tools into a single platform.
    2. Microsoft Teams aims to consolidate communication methods such as email, chat, video calls, and phone calls into one app. Additionally, it integrates cloud-based file sharing and collaboration.
    3. A public team in Microsoft Teams is open for anyone within the organization to join without needing explicit permission. In contrast, a private team requires specific members to be invited or granted permission before they can join.
    4. To integrate a SharePoint document library into a Teams channel, you can click the “+” icon to add a new tab, search for “SharePoint,” and then select the “Document library” option. You can then choose an existing library from the associated SharePoint site or another site you have access to.
    5. When scheduling a Teams meeting directly from a channel, the channel is automatically included in the meeting invitation, ensuring all channel members are invited. You can also set the date, time, add a title, and access the scheduling assistant to check attendee availability.
    6. Collaborating in a Teams channel centralizes conversations, files, and integrated apps within a dedicated workspace visible to all team members, fostering transparency and easy access to information. This differs from an Outlook inbox, where communication is often fragmented across individual emails.
    7. Read receipts in Microsoft Teams notify the sender when their message has been viewed or read by the recipient. This feature can be managed in the Teams settings under the “General” tab, where users can choose to turn read receipts on or off.
    8. You can share content in a Microsoft Teams meeting by clicking the “Share” button, which allows you to share your entire screen, a specific window of an application, or a Microsoft Whiteboard for collaborative annotation. Presenter modes can also overlay your video feed on the shared content.
    9. The Microsoft Whiteboard feature in a Teams meeting provides a collaborative digital canvas where participants can draw, write, add sticky notes, and brainstorm together in real-time. It enhances engagement and visual collaboration during meetings.
    10. Meeting options can be found and managed in two main ways: before a scheduled meeting, by opening the meeting details from your Teams calendar and selecting “Meeting options,” or during an active meeting, by clicking the “More actions” (three dots) menu and choosing “Meeting options.”

    Essay Format Questions

    1. Discuss the challenges of using multiple communication platforms in a team environment and explain how Microsoft Teams aims to solve these challenges, providing specific examples from the source material.
    2. Compare and contrast the features and benefits of public and private teams in Microsoft Teams, considering different scenarios where each type of team would be most effective for collaboration.
    3. Analyze the ways in which Microsoft Teams facilitates integration with other Office 365 applications such as SharePoint, Planner, and OneNote, and discuss the advantages of having these tools accessible within a single platform for team productivity.
    4. Evaluate the various options available for scheduling and managing meetings in Microsoft Teams, including the features for setting up meeting options, sharing content, and fostering engagement during a virtual meeting.
    5. Explore the concept of a channel-based workspace in Microsoft Teams and discuss how it can improve team communication and collaboration compared to traditional email-based communication, highlighting the key features that support this shift.

    Glossary of Key Terms

    • Channel: A dedicated section within a Microsoft Teams team, organized around a specific topic, project, or department, where team members can share messages, files, and apps.
    • Guest: An external user who has been invited to join a Microsoft Teams team. Guests have limited access and permissions compared to members within the organization.
    • Learn It Anytime: An online training subscription service offered by Learn It, providing access to various courses and the ability to earn certificates.
    • Meeting Options: Settings that can be configured for a Microsoft Teams meeting, such as who can bypass the lobby, who can present, and whether to record automatically.
    • Navigation Pane: The left-hand sidebar in the Microsoft Teams interface that allows users to access different sections like Activity, Chat, Teams, Calendar, Calls, and Files.
    • One-Stop Shop: A concept used to describe Microsoft Teams as a comprehensive platform that integrates various communication and collaboration tools into a single application.
    • Pinning: A feature that allows users to keep important apps or messages easily accessible by attaching them to the navigation pane or the top of a chat.
    • Private Channel: A type of channel within a Microsoft Teams team that is only accessible to a specific subset of team members who have been explicitly added to it.
    • Public Channel: A type of channel within a Microsoft Teams team that is accessible to all members of that team.
    • Read Receipt: A notification that indicates when a message sent in Microsoft Teams has been viewed by the recipient. This feature can be toggled on or off in the settings.
    • SharePoint: A web-based collaborative platform that integrates with Microsoft Office. Teams uses SharePoint for file storage and management within teams and channels.
    • Standard Channel: The default and most common type of channel in Microsoft Teams, accessible to all members of the team.
    • Tabs: Customizable elements at the top of a Microsoft Teams channel that allow users to integrate and access various apps, files, and services directly within the channel.
    • Team: A collection of people, conversations, files, and tools all in one place in Microsoft Teams, designed to foster collaboration.
    • Whiteboard: A collaborative digital canvas within Microsoft Teams meetings that allows participants to brainstorm, sketch, and annotate ideas in real-time.

    Microsoft Teams Deep Dive Course Briefing Document

    Source: Excerpts from “Pasted Text” (Microsoft Teams Deep Dive Course Video)

    Date: October 26, 2023 (based on the context of ongoing updates)

    Prepared By: Gemini AI

    Overview:

    This briefing document summarizes the main themes and important ideas presented in the Microsoft Teams deep dive course video. The course aims to equip users with the knowledge and skills to effectively utilize Microsoft Teams for communication and collaboration, highlighting its role as a central hub for various workplace activities.

    Main Themes:

    1. Microsoft Teams as a One-Stop Shop for Communication and Collaboration:
    • The course emphasizes Teams as a unified platform designed to address the challenges of using multiple disparate communication tools (email, phone, video conferencing apps, chat apps, cloud storage).
    • Quote: “think of teams as a One-Stop shop for communication and collaboration.”
    • Teams integrates features like chat, video conferencing, file sharing, calling, and calendar management within a single application, aiming to increase efficiency and save time.
    • The presenter notes a trend of users increasingly relying on Teams over Outlook for many communication needs.
    • Quote: “imagine being able to use one app to send a quick email and within that same thread you can conduct a quick chat with your team or an individual you can start a quick video conference based on that team that you created you can drop in different files from your cloud-based service right into that team where you can open it you can edit it and you can have collaboration on that as well.”
    1. Understanding the Microsoft Teams Interface and Navigation:
    • The course provides a tour of the Teams interface, including the navigation pane (Activity, Chat, Teams, Calendar, Calls, Files, Apps), the search/command bar, and the profile area.
    • Keyboard shortcuts for navigation, messaging, and meetings are highlighted as a way to improve efficiency.
    • Quote: “for those of us who like to navigate applications via shortcuts well we do have the complete mapping of the keyboard shortcuts right here under the settings menu.”
    • Users are shown how to customize the interface by adjusting zoom levels and pinning frequently used apps to the navigation pane.
    1. Planning and Creating Teams (Public vs. Private):
    • The course walks through the process of creating new teams, emphasizing the importance of planning aspects like team name, goals, membership, permissions, and privacy settings (public or private).
    • Quote: “when we’re planning to create a team there’s a few things that we want to take into consideration such as what should the name of the team be what are the goals for this team who should be a part of this team and what do we want to accomplish within this team and maybe even what are some of the permissions as well and finally maybe we want to ask should this be a private team or should we make it available to the public as well.”
    • The distinction between public (anyone in the organization can join) and private (requires invitation) teams is explained.
    • Users are shown how to add members (including guests with limited capabilities) and how to edit team details and generate a team join link.
    1. Managing Teams and Setting Permissions:
    • The “Manage team” settings are explored, covering member roles (owner, member, guest) and the ability to add owners for redundancy.
    • Detailed guest and member permissions are reviewed, including settings for channel creation/deletion, private channel creation, app management, message editing/deletion, and the use of “@ mentions.”
    • The option to generate a team code for easier internal joining (excluding guests) is demonstrated.
    1. Utilizing Channels for Focused Collaboration:
    • The concept of channels within a team is explained as a way to organize collaboration around specific topics or projects.
    • The default “General” channel and the ability to create standard (accessible to all team members) and private (accessible to specific members) channels are demonstrated.
    • Channel-specific settings like moderation and notifications are briefly touched upon.
    1. Engaging in Channel-Based Conversations:
    • The course covers starting new conversations, using formatting options (including marking messages as important), attaching files, and posting messages to multiple channels simultaneously.
    • Options for managing existing posts, such as saving messages, turning off notifications, and sharing to Outlook (with web version prerequisite), are shown.
    1. Integrating Office 365 Tools and Other Applications:
    • The ability to add tabs to channels for seamless integration with other Microsoft 365 services (SharePoint, Planner, OneNote) and third-party apps is a key focus.
    • Quote: “the whole goal is a One-Stop shop and so if we can integrate other services right here we can get our work done as opposed to going to SharePoint or going to OneDrive or going to OneNote or even going to Microsoft planner.”
    • The presenter demonstrates how files shared in chat are stored in the channel’s SharePoint repository and how to add tabs for direct access to documents, lists, OneNote notebooks, and Planner tasks.
    1. Scheduling and Managing Teams Meetings:
    • The course outlines two primary ways to schedule meetings: directly from a channel and via the Calendar app.
    • The scheduling assistant for checking attendee availability is highlighted as a valuable tool.
    • Meeting options, accessible before and during a meeting, are reviewed, including settings for bypassing the lobby, announcing join/leave, presenter roles, microphone/camera defaults, automatic recording, and reactions.
    1. Participating in Teams Meetings (In-Meeting Controls):
    • In-meeting controls such as managing participants, chat, raising hands (with shortcut Ctrl+Shift+K), and accessing meeting options are demonstrated.
    • Sharing content (screen, window, PowerPoint) with different presenter modes and utilizing Microsoft Whiteboard for collaborative annotation are shown.
    • Meeting notes, transcription, recording, and post-meeting attendance reports are mentioned as important features.
    1. Customizing Teams Settings:
    • The user’s profile settings are explored, including options for changing the theme (default, dark, high contrast), chat density (comfy, compact), and read receipts.
    • Device settings for audio and video, including making a test call and adjusting noise suppression levels, are reviewed.
    • The option to change how files open (in Teams, desktop app, or browser) is mentioned.
    1. Staying Updated with New Features:
    • The course concludes by encouraging users to utilize the “Help” button within Teams to access “What’s new” information and stay informed about ongoing updates and feature releases.
    • Examples of recent updates (pinning chat messages, chat density options, turning off video mirroring) are provided.

    Most Important Ideas and Facts:

    • Microsoft Teams aims to streamline communication and collaboration by integrating various tools into a single platform.
    • Understanding the difference between public and private teams is crucial for controlling access.
    • Granular permission settings allow for customized control over member and guest capabilities within a team.
    • Channels provide focused workspaces within a team to organize discussions and resources.
    • Integration with other Microsoft 365 services like SharePoint, Planner, and OneNote enhances productivity by providing direct access to relevant tools and information within Teams.
    • Teams offers flexible meeting scheduling options and robust in-meeting controls for effective virtual collaboration.
    • Users can personalize their Teams experience through various settings and should stay informed about new features and updates.

    This briefing document provides a comprehensive overview of the Microsoft Teams deep dive course, highlighting its key takeaways and practical guidance for effective Teams utilization.

    Frequently Asked Questions about Microsoft Teams

    1. What is Microsoft Teams and what are its primary benefits? Microsoft Teams is a unified communication and collaboration platform that integrates various features such as chat, video conferencing, file sharing, and application integration into a single interface. Its primary benefits include increased efficiency by serving as a “one-stop shop” for team communication, reducing the need to switch between multiple applications for email, chat, calls, and file sharing. It streamlines collaboration, enhances communication within teams and organizations, and allows for better organization of work through dedicated channels and integrated Office 365 tools.

    2. What are the key steps involved in setting up a team in Microsoft Teams? What’s the difference between a public and a private team? To set up a team, you typically click on the “Join or create a team” option, then “Create a team.” You can choose to create a team from scratch or use a template. You’ll need to decide on a team name, and optionally a description. The crucial decision is whether to make the team public or private.

    • Public teams are open to anyone within the organization to join without requiring permission.
    • Private teams require specific members to be invited; users need permission to join. This offers more control over who can access the team’s content and conversations.

    3. How can Microsoft Office 365 tools like SharePoint, Planner, and OneNote be integrated into a Microsoft Teams environment? Microsoft Teams allows seamless integration of various Office 365 tools as tabs within team channels.

    • SharePoint: Each team and channel in Teams is backed by a SharePoint site. You can add document libraries, lists, and pages as tabs within a channel, allowing team members to access and collaborate on files and information directly from Teams.
    • Microsoft Planner: You can add Planner as a tab to manage tasks and projects within a team. This allows for assigning tasks, setting deadlines, and tracking progress without leaving the Teams interface.
    • OneNote: You can integrate existing OneNote notebooks or create new ones as tabs in a channel. This provides a shared space for taking notes, brainstorming, and organizing information collaboratively.

    4. What are the different options available when scheduling a meeting in Microsoft Teams? How can you manage meeting settings such as the lobby and presenter roles? You can schedule a Teams meeting directly from a channel or through the Calendar tab. When scheduling, you can set the date, time, add attendees (including entire channels), provide a title, and optionally add a location. The Scheduling Assistant helps find optimal meeting times based on attendees’ availability (within the organization). After scheduling, you can access meeting details and options, including:

    • Lobby: You can configure who can bypass the meeting lobby (e.g., only yourself, people in your organization, everyone). This helps control who enters the meeting.
    • Presenter Roles: You can specify who can present during the meeting. Options range from everyone to specific individuals. Setting this in advance can help manage the flow of the meeting.

    5. How does collaboration in a channel-based workspace in Microsoft Teams differ from using an Outlook inbox for team communication? Collaboration in Teams channels is more organized and focused compared to using an Outlook inbox. In Teams:

    • Conversations are threaded within specific channels dedicated to topics or projects, making it easier to follow discussions and find relevant information.
    • Files shared within a channel are stored in a central SharePoint location accessible to all team members in that channel.
    • Teams allows for real-time chat, audio/video calls, and integration of various collaborative tools within the same workspace, reducing the need to search through numerous emails.
    • It promotes transparency and shared understanding among team members, as conversations and files are visible to everyone in the channel.

    6. What are some useful interface features and navigation tips within Microsoft Teams, such as using the navigation pane, search/command bar, and keyboard shortcuts? The Teams interface includes:

    • Navigation Pane (left side): Provides access to Activity, Chat, Teams, Calendar, Calls, Files, and pinned apps, allowing quick switching between different areas.
    • Search/Command Bar (top): Can be used to search for messages, files, and people, as well as to execute commands by typing a forward slash (/).
    • Keyboard Shortcuts: Teams offers a wide range of keyboard shortcuts for navigation, messaging, meetings, and more. Access the full list via the settings menu (under your profile) or by pressing Ctrl + Period. Shortcuts like Ctrl+1, Ctrl+2, Ctrl+3 for navigating to Activity, Chat, and Teams respectively, and shortcuts for zooming (Ctrl + =, Ctrl + -, Ctrl + 0) can significantly improve efficiency.

    7. How can you manage a team effectively in Microsoft Teams, including adding/removing members, managing guest permissions, and adjusting member permissions? Team management can be done through the “More options” menu next to the team name, then “Manage team.”

    • Members: You can add or remove members and designate owners (it’s recommended to have at least two). Guests from outside the organization can also be added but have limited capabilities.
    • Guest Permissions: You can control what guests are allowed to do within the team, such as creating/updating or deleting channels.
    • Member Permissions: A detailed list of permissions allows you to control members’ abilities, such as creating/updating/deleting channels, creating private channels, adding/uploading apps, and message settings (e.g., allowing message editing or deletion).

    8. What are some key features and options available during a Microsoft Teams meeting, such as managing participants, sharing content, using the whiteboard, and accessing post-meeting information? During a Teams meeting, you have several options:

    • Participants: View and manage attendees, mute/unmute, and remove participants if necessary.
    • Chat: Engage in text-based communication with meeting attendees.
    • Raise Hand: Indicate a desire to speak without interrupting.
    • More actions: Access meeting options, start/stop recording and transcription, manage meeting notes, and configure viewing modes (e.g., Gallery view, Together mode).
    • Share Content: Share your screen, specific windows, or presentations. Various presenter modes enhance the sharing experience.
    • Microsoft Whiteboard: A collaborative digital canvas for real-time brainstorming and visual collaboration. Whiteboards can be exported as images.
    • Post-meeting Information: After a meeting ends, a summary is often posted in the channel, including a link to the recording (if enabled), a transcript (if enabled), meeting notes, and an attendance report that can be downloaded.

    Microsoft Teams: Unified Communication and Collaboration

    Microsoft Teams is presented as a “One-Stop shop for communication and collaboration” designed to make team communication more efficient. It aims to address the challenges of using multiple platforms for different communication methods such as email, phone calls, video conferencing, chat, and file sharing.

    Current Challenges Addressed by Microsoft Teams:

    • Teams seeks to consolidate various communication strategies into a single application, reducing the need to switch between multiple platforms.
    • The use of several different platforms for communication and file sharing can be inefficient and time-consuming.

    Key Benefits and Features of Microsoft Teams:

    • Centralized Communication: Teams allows users to send emails, conduct chats, start video conferences, make phone calls (if integrated), and access calendars all within the same application.
    • Team and Channel-Based Workspace: Teams enables the creation of teams, which can be either public (anyone in the organization can join) or private (requiring permission). Within these teams, channels serve as dedicated workspaces for collaboration. The “General” channel is created by default and cannot be edited or deleted, but additional standard (accessible to all team members) and private (accessible to specific members) channels can be created.
    • Integration of Office 365 Tools: Teams seamlessly integrates with other Microsoft 365 applications such as SharePoint, Microsoft Planner (now connected to Tasks), and OneNote. This integration allows users to collaborate on files, manage tasks, and share notes directly within Teams channels. Every team and channel created in Teams has a corresponding space in SharePoint for file storage.
    • Meetings and Calling: Teams facilitates scheduling and conducting meetings with various options, including setting up meeting lobbies, choosing presenters, and other sought-after features. Meetings can be scheduled directly from a channel or through the calendar. Teams offers features like a scheduling assistant to check availability, meeting options to control lobby access and presenter roles, in-meeting chat, screen sharing, whiteboard collaboration, and recording with transcription.
    • Collaboration in Channels: Channel-based workspaces are where the primary collaboration occurs, offering an alternative to managing communication solely through an Outlook inbox. Users can post messages with formatting options, attach files, and even post in multiple channels simultaneously. Messages can be saved for later access.
    • Apps and Customization: Users can add and pin various apps to their navigation pane to further extend the functionality of Teams.
    • Interface Navigation: The Teams interface includes a navigation pane on the left for accessing activity, chat, teams, calendar, calls, and files. A search bar also functions as a command bar, allowing users to execute commands with a forward slash. The profile area on the right allows for account and status changes, as well as access to settings and keyboard shortcuts. Numerous keyboard shortcuts are available for navigation and actions within Teams. The zoom level of the application can also be adjusted.

    Target Audience: Microsoft Teams is designed for a wide range of users who work in a team environment, including content managers, information managers, project managers, supervisors, and business analysts.

    In summary, Microsoft Teams provides a unified platform for communication, collaboration, and integration with Microsoft 365 services, aiming to enhance productivity and streamline workflows for individuals and teams.

    Microsoft Teams: Team Creation and Management

    Based on the sources, let’s delve into the creation and management of teams within Microsoft Teams.

    Planning Team Creation

    Before creating a team, it’s important to consider several factors:

    • Team Name: What should the team be called?
    • Team Goals: What are the objectives and purposes of this team?
    • Team Members: Who should be part of this team?
    • Desired Accomplishments: What do you want to achieve within this team?
    • Permissions: What level of access and control should members have?
    • Privacy: Should the team be public (anyone in the organization can join) or private (requiring permission)?

    Microsoft Teams provides a dialogue during the creation process to guide you through these considerations.

    Creating a Team

    To create a team, navigate to the teams feed and click on “Join or create a team”. You have a few options:

    • Create a team: Start a new team from scratch or use an existing template.
    • Join a team with a code: If you have a team code, you can join directly.
    • Join a public team: You can join any public team within your organization without needing permission.

    When creating a team, you can choose to create it from scratch or use a template. Templates can provide pre-configured features for various purposes like project management or onboarding employees. You can also create a team based on an existing group or team.

    You must then decide whether the team will be private or public.

    • Private teams require specific invitations for people to join.
    • Public teams are open for anyone within the organization to join.

    After selecting the privacy setting, you need to provide a team name and optionally a description.

    Once the team is created, you’ll be prompted to add members, including individuals within your organization or even guests from outside (who will have limited capabilities). You can also add distribution lists or security groups. This step can be skipped and done later. The new team will appear in your teams feed with a default “General” channel. This “General” channel cannot be edited or deleted.

    Managing a Team

    You can manage a team through the “More options” menu next to the team name. This menu provides options such as:

    • Manage team: Access settings, member lists, channels, and apps.
    • Add a channel: Create new channels within the team.
    • Add a member: Invite new members to the team.
    • Leave team: Remove yourself from the team.
    • Edit team: Modify the team name, description, and privacy setting (from private to public).
    • Get link to team: Generate a shareable link for others to join (though guests cannot join via link).
    • Manage tags: Organize team members with tags.
    • Delete the team: Remove the team entirely.

    Editing Team Details

    You can edit the team’s name and description, and change a private team to public (but not vice-versa) by selecting “Edit team” from the more options menu.

    Sharing a Team Link

    Generating a team link allows you to invite members by sharing the link via chat or email.

    Managing Members

    The “Manage team” option allows you to view and manage team members and guests.

    • You can see the roles of members (Owner or Member) and guests (designated as “Guest”).
    • While you cannot change the role of a guest, you can remove members and guests from the team.
    • It’s recommended to have at least two owners for a team. You can assign the “Owner” role to members within your organization.

    Team Settings

    The “Settings” tab within “Manage team” offers various controls.

    • Guest Permissions: You can define what guests are allowed to do, such as creating and updating or deleting channels (disabled by default).
    • Member Permissions: This section provides a comprehensive list of actions that team members can perform, including creating and updating channels (enabled by default), creating private channels, deleting and restoring channels, adding and uploading apps, and managing messages. These permissions can be customized based on your team’s needs and organizational policies.
    • @mentions: You can control who can use “@” mentions in channels, which send notifications to the top of users’ activity feeds.
    • Team Code: You can generate a team code that members within your organization can use to join the team directly (guests cannot join with a team code).

    Channels

    Within a team, you can create channels for focused collaboration.

    • The “General” channel is automatically created and cannot be edited or deleted.
    • You can add standard channels, which are accessible to everyone on the team.
    • You can also add private channels, which are accessible only to specific members of the team that you invite. Private channels display a lock icon.
    • When creating a channel, you can choose to automatically show it in everyone’s channel list (for standard channels).
    • Each channel has its own “More options” menu with options to manage the channel, edit it (except for the “General” channel), delete it, manage notifications, and get a link to the channel.
    • Channel moderation settings allow you to control who can post and whether posts need approval.
    • Channel notification settings let users customize how they are notified of activity within the channel.

    In summary, Microsoft Teams offers robust features for creating and managing teams, allowing for customization of privacy, membership, and permissions to suit different collaboration needs. Channels further organize teamwork within a team structure.

    Microsoft Teams: Channel-Based Collaboration

    Let’s discuss channel-based collaboration in Microsoft Teams. As highlighted in the sources, Teams aims to move away from relying solely on an Outlook inbox for team communication by providing channel-based workspaces.

    The Core Idea:

    • Channels are the primary spaces for collaboration within a team. When a channel is created, this is where all the collaborative work takes place.
    • This approach offers a more organized and focused way to manage discussions and shared resources compared to the often cluttered nature of email threads.

    Types of Channels:

    • Standard Channels: These are accessible to everyone who is a member of the team. They are suitable for discussions and collaboration that are relevant to the entire team. The default “General” channel serves as a starting point but cannot be edited or deleted. You can create additional standard channels for specific topics or projects.
    • Private Channels: These channels are designed for focused collaboration with a specific group of people within the team. Only the members who are explicitly added to a private channel can see its content and participate in discussions. Private channels are indicated by a lock icon.

    How Collaboration Happens in a Channel:

    • Conversations (Posts): You can start new conversations or reply to existing ones within a channel.
    • Messages can be formatted for clarity and emphasis, including marking them as important.
    • Files can be attached directly to posts, making it easy to share documents with the channel members.
    • There’s an option to post a message in multiple channels simultaneously if the information is relevant to more than one workspace. However, it’s advised to use this feature judiciously to avoid overwhelming team members.
    • You can use @mentions to bring specific individuals or the entire channel’s attention to a post.
    • Messages can be saved for later reference.
    • Files: Each channel has a dedicated “Files” tab where all the files shared within that channel are stored. This creates a central repository for channel-specific documents, making it easier to find and collaborate on them. You can open and even collaborate on these files directly within Teams. You can also create new folders and upload various file types within the “Files” tab.
    • Tabs (Integration of Services): Channels allow for the integration of various Microsoft 365 services and other apps as tabs at the top of the channel. This is a key aspect of the “One-Stop shop” concept.
    • You can integrate tools like SharePoint document libraries and pages, OneNote notebooks, and Microsoft Planner (now linked to Tasks) directly into a channel.
    • This integration allows team members to work with these tools without having to leave the Teams environment. For instance, you can view and interact with a SharePoint document library or edit a OneNote notebook directly within the channel tab.

    Channel Management and Settings:

    • Each channel (except the “General” channel) has a “More options” menu allowing for actions like editing the channel name and description, deleting the channel, managing channel notifications, and getting a link to the channel.
    • Channel moderation settings can be used to control who can start new posts and whether posts require approval.
    • Channel notification settings allow users to customize how they are alerted to activity within a specific channel. You can choose to be notified of all activity, only direct replies and mentions, or turn off notifications.

    Benefits of Channel-Based Collaboration:

    • Organization: Channels help to organize discussions and resources around specific topics, projects, or workstreams, making it easier to follow relevant conversations and find information.
    • Focus: By concentrating communication within the relevant channel, it reduces the noise and information overload that can occur in a general inbox.
    • Transparency (in Standard Channels): Standard channels make discussions and shared files visible to all team members, fostering transparency and shared understanding.
    • Targeted Communication (in Private Channels): Private channels allow for focused and confidential discussions with a subset of the team when needed.
    • Context: Keeping discussions, files, and related tools together in a channel provides better context for the work being done.

    In essence, channel-based collaboration in Microsoft Teams provides a structured and integrated environment for teams to communicate, share information, and work together efficiently on specific tasks and projects, offering a significant alternative and often more effective approach compared to traditional email-centric communication.

    Microsoft Teams Meeting Scheduling and Options

    Let’s discuss meeting scheduling and options within Microsoft Teams, drawing on the information in the sources.

    Scheduling a Meeting

    There are a couple of ways to schedule a meeting in Microsoft Teams:

    • From a Channel: While in a specific channel, you can click on the “Meet” icon in the top right corner and choose “Schedule a meeting” from the dropdown menu.
    • When scheduled this way, the channel is automatically included in the meeting invitation, and everyone who is a member of that channel will receive the invitation.
    • You’ll need to fill in the basic meeting details such as the title, start and end times, and you can add an optional location.
    • From the Calendar: Navigate to the “Calendar” tab on the left navigation pane and click “New meeting“.
    • Here, you can add required attendees and, importantly, you can add an entire channel to the meeting by typing the channel name in the “Add channel” section. Note that private channels may not appear in this list for scheduling directly. If you encounter issues with private channels, the source suggests consulting your IT department, potentially using individual emails or distribution lists as a workaround.

    Scheduling Options

    When scheduling a meeting, you have several options:

    • Title: Give your meeting a clear and concise title.
    • Attendees: Add required and optional attendees by name or email address. As mentioned, you can also add an entire channel.
    • Date and Time: Set the start and end dates and times for your meeting.
    • Location: You can add a physical location if needed.
    • Scheduling Assistant: This feature allows you to see the availability of attendees within your organization (guest calendars are not visible) and suggests the best meeting times based on everyone’s schedules. It can be accessed at the top of the scheduling dialog.
    • Response Options: You can configure options such as allowing forwarding of the invitation and requesting responses.
    • Registration: You can set up registration options, such as none, for people in your organization, or for everyone.

    Meeting Details and Post-Scheduling Options

    Once a meeting is scheduled, a post entry will be created in the channel it was associated with, providing basic details about the meeting. By clicking on the “More options” (three dots) next to this post and selecting “View meeting details,” or by going back to your calendar and clicking on the meeting, you can access further options:

    • Chat: A dedicated chat dialog is created for the scheduled meeting, allowing participants to communicate before, during, and after the meeting.
    • Attendance: You can view the attendance of the meeting. After the meeting concludes, you can download an attendance report.
    • Breakout Rooms: You can set up and manage breakout rooms ahead of time, assigning participants to smaller groups for focused discussions.
    • Meeting Options: This is a crucial section where you can configure various settings for your meeting.

    Meeting Options

    Meeting options can be accessed by clicking on “Meeting options” within the meeting details. This will open a web browser page with the following settings:

    • Who can bypass the lobby? This setting controls who can directly join the meeting and who needs to wait in the lobby until admitted. Options include: Everyone, People in my organization, Trusted organizations and guests, People in my organization and guests, People in my organization, or Only me.
    • Always let callers bypass the lobby: You can choose whether or not phone participants can bypass the lobby.
    • Announce when callers join or leave: You can enable or disable notifications when participants join or leave the meeting.
    • Who can present? You can specify who has presenter rights during the meeting. Options include Everyone, People in my organization, Specific people, or Only me. You can also assign presenters during the meeting itself.
    • Allow mic for attendees? You can enable or disable microphones for attendees.
    • Allow camera for attendees? You can enable or disable cameras for attendees.
    • Record automatically: You can choose to start recording the meeting automatically when it begins.
    • Allow reactions: You can enable or disable reactions (like emojis) during the meeting.
    • Provide CART captions: You can enable Computer-Aided Real-Time Translation (CART) captions if available.

    Instant Meetings and In-Meeting Options

    You can also start an instant meeting by clicking the “Meet” icon and selecting “Meet now“. This immediately opens a meeting for others to join.

    During a meeting, you have several controls available:

    • Show participants: View and manage the list of attendees.
    • Show conversation: Open the meeting chat.
    • Raise hand: Virtually raise your hand to indicate you want to speak. The shortcut for this is Ctrl+Shift+K.
    • More actions (three dots): This menu provides access to:
    • Meeting options: You can adjust the same meeting options discussed earlier, even during an ongoing meeting.
    • Meeting notes: Take and share notes during the meeting.
    • Start/stop recording: Begin or end the meeting recording.
    • Turn on live captions: Enable real-time transcription.
    • View modes: Change how participants are displayed (e.g., Gallery, Large Gallery, Together mode).
    • Start transcription: Manually start the transcription service.
    • Share content: Share your screen, specific windows, or a Microsoft Whiteboard for collaborative drawing and annotation.
    • Presenter modes allow you to customize how your video feed is displayed alongside the shared content.
    • You can give control of your shared content to another participant.
    • End meeting: You can choose to leave the meeting or end the meeting for everyone.

    By utilizing these scheduling features and meeting options, you can effectively plan and manage online meetings within Microsoft Teams to suit various collaboration needs and ensure a productive meeting experience.

    Microsoft Teams: Interface, Navigation, and Settings

    Let’s discuss the Microsoft Teams Interface and Settings based on the information provided in the sources.

    Overview of the Interface

    The Microsoft Teams interface is designed for efficient navigation and access to various features. Key elements include:

    • Left Navigation Pane: Located on the left side of the application, this pane provides access to the main sections of Teams:
    • Activity: Displays a feed of your notifications and recent activity.
    • Chat: Allows you to engage in direct and group chats with individuals and teams.
    • Teams: Shows a list of the teams you are a member of and their respective channels, serving as the central hub for collaboration.
    • Calendar: Integrates with your Outlook calendar, allowing you to schedule and join meetings.
    • Calls: Provides functionality for making and receiving calls within Teams.
    • Files: Gives you access to your personal files, files shared in channels, and your OneDrive.
    • Apps: Displays any other applications you have pinned or connected to Teams. You can add more apps by clicking on the menu and exploring the available options. You can even pin apps to the navigation pane for quick access by right-clicking on an app and selecting “Pin”.
    • Search Bar/Command Bar: Situated at the top of the Teams window, this bar serves a dual purpose:
    • You can use it to search for messages, files, and people within Teams.
    • By typing a forward slash (/), you can access a list of powerful commands to quickly perform actions within Teams.
    • Profile Area: Found in the top right corner, this area allows you to manage your account, set your status, and access the settings menu. The menu also provides a link to view the complete mapping of keyboard shortcuts.

    Navigation and Efficiency

    Microsoft Teams offers several ways to navigate the interface efficiently:

    • Keyboard Shortcuts: Teams has a comprehensive set of keyboard shortcuts for various actions, including navigation, messaging, and meetings. You can access the full list under the Settings menu. Some examples include:
    • Ctrl + 1: Opens the Activity feed.
    • Ctrl + 2: Opens the Chat feed.
    • Ctrl + 3: Opens the Teams feed.
    • Ctrl + . (period): Opens the keyboard shortcuts list.
    • Ctrl + – (minus): Zooms out.
    • Ctrl + = (equals): Zooms in.
    • Ctrl + 0 (zero): Resets the zoom level.
    • Ctrl + Shift + K: Raises or lowers your hand in a meeting.
    • Ctrl + Shift + E: Opens the share content menu during a meeting.
    • Zoom Control: Under the Settings menu, you can adjust the zoom level of the entire Teams application to make text and elements more or less prominent. The keyboard shortcuts mentioned above also control zooming.

    Settings Menu Options

    The Settings menu, accessible from your profile area, allows you to customize various aspects of your Teams experience:

    • General:Theme: You can change the visual theme of Teams to Default, Dark, or High Contrast.
    • Chat Density: You can adjust the spacing of chat messages between “Comfy” (more spacing) and “Compact” (less spacing) views.
    • Read Receipts: You can control whether or not read receipts are sent to others when you view their messages. This setting also affects whether you see read receipts for messages you send, provided the recipient also has read receipts turned on.
    • Devices: Here, you can configure your audio and video devices (speakers, microphone, camera) for calls and meetings. It’s recommended to use the “Make a test call” feature to ensure your devices are working correctly. You can also adjust noise suppression levels (Auto, Off, Low, High), which filters out background noise during calls and meetings (note that high suppression has certain limitations and may not be available to all users).
    • Files: You can set your preference for how files (Excel, Word, PowerPoint) open: in Teams, in your desktop app, or in your browser.

    Other Notable Interface Features and Settings

    • Accessing SharePoint from a Channel: Within any channel (except the “General” channel), you can click on the “More options” (three dots) menu next to the channel name and select “Open in SharePoint“. This will take you to the SharePoint site that is automatically created for each team and channel, allowing you to view the underlying file storage and structure.
    • Letting Phone Callers Bypass the Lobby (Channel Setting): When managing a team, under the settings tab, there might be an option to allow people calling in via phone to bypass the meeting lobby, provided this feature is enabled by your administrator.
    • Help Menu and “What’s New”: In the bottom left corner, the “Help” button provides access to resources, including “What’s new,” which highlights recent updates and features added to Microsoft Teams. This is a good way to stay informed about the latest improvements.

    By understanding and utilizing the various elements of the Microsoft Teams interface and its settings, users can personalize their experience, navigate efficiently, and optimize their collaboration within the platform.

    Teams Tutorial

    The Original Text

    hello and welcome to our Microsoft teams deep dive course my name is Mo Jones and I’m glad to guide you through this course of Microsoft teams today we’ll take a look at exactly what Microsoft teams is and we’ll take a look at some of the features that will benefit you your team and even your organization as well this is interactive so be ready to pause the video and practice and if you’re enjoying these videos please like And subscribe if you’re looking to earn certificates and watch videos without ads sign up for learn it anytime which is our dedicated online training subscription service check the link in the description for more information if you have any questions you want answered by one of our instructors please join our off-site community the link is in the description as well as always if this course has exercise files you’ll find them in the video description below welcome back well let’s go ahead and jump in let’s take a look at our learning outcomes for today notice that we do have three Primary Learning outcomes now keep in mind that we do have several topics that we’ll be covering today and they will fall under one of these three learning outcomes as well we’re going to set up a team and we’ll take a look at the difference between a public and a private team and once that team is created we’ll see how we can integrate Office 365 tools such as SharePoint Microsoft planner and OneNote as well after we create our team we’ll go ahead and schedule a team’s meeting and we’ll take a look at various options such as setting up the lobby who can enter and choosing a presenter and some other sought after features as well and then we’ll talk about just being able to collaborate in a channel based workspace as opposed to an Outlook inbox and this is where all the work gets done when a channel is created this is where all the collaboration takes place so who should attend this is for Content managers information managers project managers supervisors business analysts and anyone who works in a team environment so let’s go ahead and get started welcome back well before we start talking about what Microsoft teams is what the purpose is and how we can benefit you let’s take a look at the current challenges that we face when we’re communicating with our team now we communicate in various ways we can communicate using email we can pick up the phone and contact our team member or someone within our organization we can use various apps to conduct a video call we can use various apps to conduct a chat as well and maybe we have a cloud-based service that we can use to access our files and be able to share and collaborate our files as well so this is okay we can get work done but as we can see the challenge is that we’re using several different platforms here maybe we’re using one platform for email and video call but then we’re using another platform for phone we’re using another platform to conduct a chat and maybe we’re using several platforms for our cloud-based file Services there as well and so there has to be a way that we can just use one app to accomplish all of these communication strategies here so that we can save time and work more efficiently here as well and that’s where Microsoft teams comes in think of teams as a One-Stop shop for communication and collaboration it’s very common that we see a lot of people that are using Microsoft teams a lot more and using Outlook less because imagine being able to use one app to send a quick email and within that same thread you can conduct a quick chat with your team or an individual you can start a quick video conference based on that team that you created you can drop in different files from your cloud-based service right into that team where you can open it you can edit it and you can have collaboration on that as well no need to pick up a phone you can go ahead and use the phone service that’s integrated into Microsoft teams and you can make a quick phone call you can also access your calendar and schedule meetings and manage your meetings as well and so this is what Microsoft teams is for it’s a One-Stop shop for communication and collaboration and it’s going to make your communication a lot more efficient so with that understanding let’s go ahead and open up Microsoft teams we’ll take a look at the the basic interface and we’ll go ahead and get started okay welcome back I did launch my Microsoft teams application while we’re here let’s have a brief overview of the interface so if we take a look on the left we see our navigation pane here where we can view our activity feed our chat feed our teams feed calendar calls files and any other apps that you may have pinned here or connected foreign we also have our search bar which doubles as a command bar we can drop in some powerful commands by typing in the forward slash and finally over here on the right we have our profile area or we can make some changes to our account or via our account status and we also have a menu right here that allows us to apply some Universal changes to our Microsoft teams application I’m going to go ahead and click on this menu and for those of us who like to navigate applications via shortcuts well we do have the complete mapping of the keyboard shortcuts right here under the settings menu we can show all these keyboard shortcuts and as you can see it’s pretty exhaustive here so we have some general shortcuts that we can use we have some navigation shortcuts we have shortcuts that relates to messaging and if I were to scroll down I can see that we also have some that are applicable to meetings and so for example when you’re in a meeting to raise or lower your hand you can press Ctrl shift and K that will raise or lower your hand I’m currently on my activity tab here and what I want to do I’m going to go ahead and type some numbers here just to keep it simple I’ll just type three so one two and three and what you’ll notice is that our activity feed that’s at the top here that’s linked to this number one so if I press Ctrl 1 that will send me to my activity feed my chat feed is in position two if I press Ctrl 2 that will open up my chat feed and for my teams if I press Ctrl plus 3 that’s going to go ahead and open up my team’s feed there as well and so we can make use of these shortcuts so that we can quickly navigate this interface so as you can see in pressing Ctrl 2 that brings me to my chat feed and if I were to go ahead and press Ctrl 3 that will go ahead and bring me to my team’s feed I’ll go ahead and do that so here’s my team’s feed and I want to point out as well if we were to bring this back up here to keyboard shortcuts there’s actually a shortcut to actually bring up these shortcuts and right here to show the keyboard shortcuts we can just press control plus the period that will bring up all of those shortcuts for us so really nice way to just be able to navigate this interface here as well another useful feature under the settings menu here is actually adjusting the zoom control and so if I just increase the zoom notice how it’s zooming all of the all of the things that are visible on my screen at the moment for my app so I can go ahead and zoom in further right now I’m at 145 percent so this is very useful can make it you know maybe some of the text is too small or maybe some of the text is too large in that case you can zoom out even further like so okay so right now I’m at 85 percent I think 100 works pretty well for me so I’ll go ahead and use that they’re also keyboard shortcuts for zooming and so here’s the zooming so to zoom out control plus the minus sign zoom in control plus equal and to reset the zoom level Control Plus 0 and that will take care of that for you as well and so this just kind of helps you to move around and have the visual appeal that you’re looking for that’s comfortable for you another thing that we can do is we can go ahead and add some apps depending on the way that your organization is set up as you can see I have a Viva insights app here but we do have access to other apps by clicking on the menu that’s right here I’ll go ahead and click on there and it brings up some apps for you you can either search for an app that you’re looking for or you can scroll through the the menu of the existing apps that are in focus if you want access to more apps you can actually go ahead and click on more apps here and this brings up a really big community of apps here and as you can see Microsoft is growing very big here okay so what I want to do at this point I want to go ahead maybe I’ll maybe I want to go ahead and grab this Wiki app here I want to add that to my navigation pane so this is called pinning so what I’ll do is I’ll go ahead and right click on it on here and I’m going to go ahead and pin that app here and so now here is my Wiki if I click on air it’s just waiting for me to enter some information and there you go so that’s how we can search for apps and pin them as well so go ahead and pause this video go ahead and practice using the shortcut keys to move around and the different areas of your teams interface here go ahead and add an app and pin that app to your navigation Pane and come right back welcome back now let’s talk about planning and creating a team so currently I’m on my team’s feed here and on the bottom what I want to do is go ahead and click on join or create a team now when we’re planning to create a team there’s a few things that we want to take into consideration such as what should the name of the team be what are the goals for this team who should be a part of this team and what do we want to accomplish within this team and maybe even what are some of the permissions as well and finally maybe we want to ask should this be a private team or should we make it available to the public as well what we’ll find is that Microsoft has created a dialogue under the create a team so that we’re kind of asked these questions along the way and so it gives us the opportunity to kind of create our team while planning it at the same time I’ll go ahead and click on join or create a team and here you see I can go ahead and create a team I want to point out you can also join a team with a code and we can actually join one of these public teams here that are within our organization so because these have the public designation we’re able to join them because we’re a part of this organization here I want to go ahead and click on create a team and when you’re planning one of the things you want to ask yourself is well do you want to create a team from scratch or do you want to kind of use an existing template some really nice templates out here that can help you to accomplish your goal one of the things that we can do is create a team from a group from an existing group or an existing team so maybe you see a team that’s working well and you want to go ahead and create it from that that’s perfectly fine here we have our templates here is a project management template that we can use and we just need to go ahead and add our members and make some changes there as well but a lot of the features will be already there for us onboarding employees is becoming very popular organizing your help desk and if we just kind of scroll down go all the way down to managing volunteers quality and safety as well so maybe none of these are doing it for you we can go ahead and we can start from scratch with some help from Microsoft so at this point we have to make a decision here do we want our team to be a private team or a public team if our team is private people will need permission to join so we would need to specifically send them an invitation so that they can actually join the team if it’s public then anyone inside of our organization can join as we can see here we have some public teams here and I can join them because they have the public designation and I’m a part of the organization so I can go ahead and join one of these teams here without asking for permission but what I want to do I want to go ahead and create a private team because I just want a few people to be a part of this team here we have some very specific tasks that we want to accomplish and so I just need to go ahead and give this team a name I’ll just call this planning and if we want to we can go ahead and provide a description I’ll go ahead and do that okay so planning and will be for learning courses go ahead and create that it takes a few seconds here it says nice work and at this point what I need to do is I need to go ahead and add the add my my guests here or my members and notice we can start typing a distribution list or a security group or we can add people from outside our organization as well so depending on how your it department has your network set up we can enter a distribution list or a security group individual emails we can also go ahead and invite people outside of the organization they will have the guest designation though which means that they will have limited capabilities and rights when they’re added to the group so I’ll go ahead and I’ll just enter some fictitious emails here and what you’ll see is that it analyzes the email it recognizes that it’s not a part of my organization and so it assigns the guest designation and a little later on we can go in and take a look at some of the guest designation here as well I’ll go ahead and add another one so I’ll go ahead and click on ADD we can also skip this step and come back to it later but let’s see here let’s go ahead and add this one as well and once that’s done I can just go ahead and click on close and welcome to the team and again as you will notice we’re getting some help along the way here at this point we can go ahead and add more people if we want to we can go ahead and create more channels and we can open the FAQ we’ve already added some people here the channels what this is referring to is if you take a look over here on the left side here is that team that I just created it comes with a channel called General I noticed this this General tab we cannot edit it it’s by default it will say General and what we can do we can go ahead and create another channel that will appear right underneath general and this is where all the creative work will be taking place all the collaboration here as well and so what I want to do at this point is I want to go ahead and click on the menu for more options for planning I’ll take a look at this menu here and go ahead and manage the team from here I can add a channel add a member I can leave the team if I want to go ahead and make some edits to the team I can get a link to the team here as well where I can manage the tags and I can go ahead and delete the team so the next thing that we want to do is we want to go ahead and talk about just editing the team and taking a look at the management features but before we do that what I want you to do go ahead and create a team assign it the either the public or private designation add a few people and come right back now that we’ve created our team we can go ahead and take a look at the more options menu here for our newly created team maybe we want to go ahead and make some simple edits such as maybe changing the name of the team updating the description and maybe even changing it from private to public I’ll go ahead and click on more options here and I’ll go down to where it says edit team notice from here I can change the team name I can update the description of the team and maybe I changed my mind maybe instead of having it private I want to make it public so that anyone inside of my organization can join so I’ll just make some simple edits here I’ll change this to planning team and for my description I’ll just say learning courses Force I’ll leave it at private for the moment I’ll go ahead and click done it’s going to save my changes and once I have this updated the next reasonable thing to do is to get a link here so I’ll go ahead and click on more options and towards the bottom I’ll click on where it says get link to this team so from here we get a link I can go ahead and copy this link here and so now I can either start a new chat by entering a recipient’s name in the in the search bar here or I can just open up a new chat if I want to I can drop in a tag maybe I’ve created a tag for people either way I can post that link in the chat so that my members to be will have the opportunity to click on that link to join this team I can also send an email and they’ll be able to receive an invitation for this as well so go ahead and pause the video and go ahead and make some simple edits to this team that you just created and make a decision whether you want it to be public or whether you want it to be private and go ahead and share that link out just make sure that someone can join your team and come right back welcome back well now that we’ve shared our team we’ve made some simple edits it’s a good idea to go ahead and click on the more options here and let’s go ahead and manage our team and it’s a good idea to take a look at the current members here and also take a look at the settings that we can apply to this team so notice currently I’m on the members tab here and I can take a look at all of my members and guests notice I do have four guests here and they do have the guest designation in terms of a role notice I cannot change this row I can simply remove the person but I cannot change their role so I am the current owner and so if I were to click on my drop down here so I can toggle between owner or member it’s a good idea to have at least two owners for a 418 so at this point what you could do what you should do is go ahead and click on add a member and then once they’re populated in as long as they’re within your organization they’ll show up as a member you can go ahead and apply the owner designation here as well so this way if something happens you have a backup another person that can help you to actually manage the team here as well I’ll jump over to where it says settings here and what’s really nice is that there’s a lot of different layers of security here that you can apply to your team setting let’s talk about Guest permissions first so if I click on my guest permissions notice by default guests are not allowed to create and update channels and they cannot delete channels well in this demo I want to go ahead and allow them to do that so I’ll go ahead and accept this designation here and for so if you’re dealing with guests and you want them to have a little more control at least have them be able to create and update channels and let’s take a look at some of the member permissions I’ll collapse the guest permissions here and we have a much longer list here for the member permissions and these are decisions that you need to make talk with your team maybe you’re your co-owner and figure out what it is that you want your members to be able to do but we do have a lot of options in here such as creating and updating channels so by default they can create and update channels maybe you do not want them to do that you simply just want them to be able to navigate and get work done in the channels they can create private channels here as well we’ll talk about private channels in just a little bit here they can delete and restore channels add apps upload custom apps and these are the kind of things that we really just need to be mindful of and again it really depends on what you want to allow you can collaborate with your it Department maybe your it department has some already has some protocols you know set up here as well and they can create update and remove tags connectors okay and give members the option to delete their messages and finally allow message editing here as well so again a lot of different options here a lot of different decisions that you need to make as well another option here is the ad mentions okay so you can choose who can use the app mentions in the channels here now remember and that mention will go straight to the top of your activity feed and so if this is misused it can be very very unproductive so you want to kind of make it make a choice here in terms of what you want your guests and your members to be able to do as well while we’re in here it’s good to note that we can also generate a team code we can go ahead and generate a team code so that people can join directly now just keep a note that guests won’t be able to join with a team code so only members within your organization will be able to join with the team code so go ahead and pause the video take a look at some of the member permissions take a look at the guest permissions and go ahead and generate a team code and we’ll do that now actually go ahead and generate a team code and here’s my temporary code that I can use at this point I can go ahead and copy this code and again I can go ahead and send this out to my members to be so go ahead and generate a code take a look at some of the permissions welcome back well hopefully you’re able to dive into those permissions and you were able to generate a code for your team here as well now let’s go ahead and talk about channels using team channels so here’s my planning team and if you notice I have two tiers here so here’s my team and then I have this General tab this kind of default tab that we inherit when we create a team if I click on this more options for the general channel here notice I have a pretty short list here notice that I cannot edit this General Channel I cannot delete it okay and so it’s a good practice to go ahead and create another Channel so that you can have some collaboration taking place here now we can add several channels in this case we’ll go ahead and add to one private Channel and one standard Channel so I click on the more options here onto my team I’ll go ahead and click on add a channel and here’s my dialog box here and so I just need to go ahead and type the name I can type a description if I want to and then we have two choices to make whether we want to have a standard or a private Channel and then if we want to automatically show this Channel and everyone’s channel list so I’ll go ahead and give this a name this channel will be in charge of scheduling so I’ll type scheduling there yep it’s already taken okay scheduling two and so here I have two options I can make it standard so that everyone that is on this current team for example this planning team will have access to this Channel or I can click on private where only specific members of this team will have access to this channel I’ll go ahead and I’ll create the standard one first here and then I want it to automatically show in everyone’s channel list we are receiving some help along the way some guides here so the standard accessible to everyone on the team and the private Channel accessible only to a specific group of people within the team go ahead and click add and as you can see my scheduling 2 channel has been created if I click on the more options here notice that I have more options here so I can I can edit the channel if I want to I can delete the channel I have management capabilities within this channel here so I’ll go ahead and click on there and so I have some basic permissions here that I can use okay so Channel moderation do I want to kind of you know make sure that I approve everything before something gets posted I can turn that on if I want to I can designate who can start a new post such as everyone or everyone except guests so again we have several layers of security here or permissions that we can use if I go back to my more options here the channel notifications so here I have a few options you can use you know all activity which are posts replies and mentions they all come into your feed or we can turn them off or we only receive notifications for direct replies or personal mentions I currently have a custom setup here just based on my general settings here as well so at this point I want to go ahead and create another Channel and this one will be private and we’ll kind of take a look at some of the differences along the way here so I’ll go ahead and add another Channel and maybe I’ll call this scheduling three and I’ll just put the this is a private we’ll go ahead and designate that this is private and notice there’s no option here to send it to everyone’s feed because this is a private channel here we’ll go ahead and create that and from here I can go ahead and start adding my members so who do I want to be a part of this channel foreign so I was able to add two guests there and now notice here is my scheduling three and I see a small icon here looks like a lock and that tells me that this is actually private so if I click on more options here at the same options here that I do for my scheduling too but let’s take a look at the let’s go ahead and manage this Channel and let’s see what we can do here okay so we do have the same here right we do have some guess options here we can take a look at my members and I can go ahead and take a look at the settings so I can go ahead and take a look at the member permissions we have a few options here for the member permissions view up well just one option here for mentions here as well so go ahead and create those two channels create a standard Channel create a private Channel just keep in mind that for the private Channel you would need to actually add the members that you want to be able to be a part of that channel here as well and come right back and we’ll move on welcome back well hopefully you were able to create those two channels there I’m currently on the scheduling 2 Channel that I created here and now let’s start the conversation that’s what it’s saying here let’s get conversation started so I’m going to go ahead and start posting here so I’ll go ahead and click on new conversation and so notice this is our condensed chat menu here we can click on the format icon here so we can get some more advanced features here for our message so I’ll go ahead and open that up here and we do have a few options here all right so now we have some more complex options but I want to point out we do have this option here to kind of set the message format here so if I go ahead and click on this small icon I can go ahead and make this an important message notice how it kind of adds some of the framework here for me it’s marking it as important I can go ahead and add a subject if I want to I can go ahead and start typing my message here as well so in this case maybe I just want to talk about some rules here or maybe some guidelines so the subject will be guidelines and I’ll just say please [Music] read the document so I want to do is I want to go ahead and actually attach a file so I’ll go ahead and click on my attachment icon here now sometimes you will see this message it just says we’re setting up your files and um getting things ready for you once it’s ready I have an option here I can browse a few teams and channels for a file I can go right to my OneDrive or I can upload from my computer in this case I’ll go ahead and upload from my computer I’ll go my desktop here and I just have this little document here for team rules I’ll go ahead and insert that right in there so that’s in there and another thing that I can do what if I wanted to post this in multiple channels there is an option here now that I have enabled my formatting options here I can go ahead and post in multiple channels so if I click here notice it’s currently for scheduling two but I’m a part of several channels here if I click on where it says select channels I can go ahead and drop this in here so maybe Under The General planning and for scheduling too so this is a way that you can post across several channels here of course we want to be careful with this we want to make sure that we’re not overwhelming everyone here just make sure that it’s relevant so I’ll go ahead and update that and so here are my three channels that I am posting to so at this point I’m good to go I’ll go ahead and click on send and as you can see here is my message that shows up right here at the top of my feed for my scheduling 2. let’s head over to team Mojo here go to planning there it is it also shows up here as well now that I have this message here I’ll go back to my scheduling too and we also have more options right here for our actual post so notice here I can add one of these emojis here but if I click on the more options here as have some more options here so I can save this message so maybe this message is very important I want to go ahead and save that so I’ll click on Save and so now I did save that message so notice now I can unsave this message and to view my saved messages I can click on my avatar here and select saved or I can type in the saved command here in my search bar and that would show me all of my saved messages here as well so it’s a two-step process go ahead and save that message and then use either one of those two methods by clicking on your avatar and showing all of your saved messages or typing the saved in the search bar with the forward slash here another thing another thing that we can do is we can turn off notifications for this message maybe it’s going to be a very long thread so we can turn off the notifications there as well we can also share this to Outlook now we can share this to Outlook the only caveat is that your outlook for web needs to be enabled if it’s not enabled this will not work and this is according to Microsoft so maybe I want to go ahead and share the style look I’ll go ahead and click on there and it’ll take a little while it’s going to open up a kind of like a web you know a short web interface here or Outlook just a basic email box here I can add my recipients I can add attachments to here if I want to and I can further modify this message I’m going to go ahead and click on the X I’m not going to go ahead and send that so those are the options that you have when creating posts just remember to get those additional features just go ahead and click on the formatting options so you can get more options to do that as well so go ahead and start the conversation and your Channel and go ahead and mark the message as important go ahead and spread your message across several channels go ahead and save that post and go ahead and reveal all of your saved posts as well and we are done come right back now that we’ve created our first post let’s go ahead and take a look at the next section here of our Channel and we notice a few tabs here at the top of our page we’re currently on the posts tab and here we can see all of our posts that we have created here’s our first post with our attachment we can also take a look at files we can also take a look at a Wiki now the wiki will actually allow us to create our own Wiki so we do have our team rules here but another option instead of sending out a document we can just kind of create our own Wiki with various sections and drop in some guidelines there as well and then we’ll spend some time taking a look at the ad feature here so we can add this allows us to integrate various Services right here into our teams and again the whole goal is a One-Stop shop and so if we can integrate other services right here we can get our work done as opposed to going to SharePoint or going to OneDrive or going to OneNote or even going to Microsoft planner so we’ll take a look at how we can integrate those Services right here but first let’s go ahead and take a look at files so notice here’s that file that we posted in the chat it’s showing up in our repository here team rules and we can go ahead and open this up it will open up right inside of this window for us so we can go ahead and collaborate on it and we can make some changes to it here as well so a few things that we can do here’s just our file management we can go ahead and create a new folder we can drop in various Microsoft applications in here as well and so again this is kind of like your OneDrive or your SharePoint space you can create a structure here you can add your folders and you can drop in various types of files and applications as well I’m going to go ahead and click on my plus sign here to go ahead and add a tab and as you can see there are lots of tabs here that we can add I have some recent tabs here that I was looking at if we kind of scroll down we can see just a lot of different apps here that we can add we can also click on manage apps so we can further manage our apps here but what I want to do I can actually search let’s see if I search for task here so if we integrate this task this this will connect us to our Microsoft planner and then we have OneNote so here’s one note we can integrate one note right here and so we can collaborate we can either use an existing notebook or we can start from scratch and then we can talk about SharePoint and we have different SharePoint options here and what Microsoft is telling us is that when we add one of these SharePoint sites to our team’s Channel we can do all the same things that we would do on the site outside of the team’s Channel okay and so this kind of makes it more efficient for us instead of going to our SharePoint and this is for those of us who have a lot of content on SharePoint instead of going to that site as long as we are either the owner or we have permissions to that site we can integrate it right here and it will you know be just like navigating that site here as well so I’ll go ahead and click on SharePoint we’ll take a look at the options here now keep in mind the nature of SharePoint so teams is directly connected to SharePoint every time you create a team or a channel on the back end SharePoint is creating a space to host that team and or that channel and so everything that we’re doing now and this team is sending the data right to our SharePoint and so it is connected and so we can take advantage of that fact we can go ahead and Implement a few Services here so we do have a few options here I’m just going to go back here and take a look at those SharePoint see here I’ll go back to SharePoint so we do have our SharePoint here so these are basically our lists so if you have list and SharePoint we can integrate those we have the document library that we can use and we also have a SharePoint pages that we can integrate so it’s really your choice I’ll go ahead and click on SharePoint here and SharePoint Pages they basically allow you to share information and even things such as ideas images videos and links here as well so we do have a few layers here so I can either use one of you know one of my existing channels here so notice this is my planning Channel that’s over here so I do have some content in here that I can use I have some pages here also from planning lists no lists currently and I have a document Library here so it’s up to you we can also do is we can connect to any SharePoint site so if we have the link to that SharePoint site and we are the owner and if we have access or you know permissions to be able to to add that we can actually drop that in right here the last option is to post to the channel about this tab here as well so I don’t really have a lot here let’s see if I can go ahead and drop in this see if I can drop this in here I don’t think I have anything in there okay so here’s just some basic data here for my planning here that I can use okay so it drops it in right here as a tab and then I have some tab options here that I can use such as popping it out expanding reloading going to the actual website and some settings here as well let’s go ahead and add another one here let’s take a look at the dialog box for our other SharePoint this time we will do let’s see we’ll go to the we’ll go to the pages here so I’ll go ahead and type share and let’s take a look at what the pages dialog box looks like again kind of the same thing here we can go go ahead and post the channel about this tab if we want to but here it’s very simple we can use one from another team or child that we’re using or we can go ahead and add a page from any SharePoint site so in this case same process will will type the URL and that will actually pop that in for us here as well I’ll go back here and we’ll take a look at the last option here which is the document Library so here’s our document library and what we’ll notice on the relevant sites I have hidden this just for security purposes here but all the sites that we’re connected to I will actually show all of those sites right now I’m going to use a SharePoint link and so they all work the same way you can either insert a link or you can connect to a current resource that you can actually see so this is just a great way to get all your work done right here inside of teams as opposed to going to going to SharePoint there as well I’ll go ahead and click on the X here and I’m going to go ahead and search for OneNote OneNote is right here I’ll go ahead and click on OneNote and kind of the same idea here so we have a few options here for OneNote we can paste a OneNote link so we can do that or we can go ahead and create a new and new notebook or I can go ahead and drop in one of my existing notebooks here as well that will drop it in for us maybe I’ll just go ahead and maybe I’ll drop this one in here we’ll click on Save and so here is our notebook for excel introduction here okay just very basic I don’t have too much in here but as you can see you have your one note menu here that you can be used to interact with this document and you can drop that right in here as well we’ll do one more we’ll drop in our tasks so we can type the word tasks here and really connects to Microsoft planner so tasks make it easy to stay organized across all your planner and to do tasks so it kind of uses a combination of your to-do list and with your Microsoft planner as well so we can create a new plan and or we can use an existing plan from this team here now we don’t really have a plan here to use because this is all new here as well so we do have a few options here so if you’re familiar with these different apps OneNote and tasks it’s right here it’s all here for you but just as an example as you can see when you drop in one of these applications you have the full menu where you can go ahead and make some changes and get some work done here as well we can also collaborate our people on our team can actually see this document and come in and make modifications here as well as you can see we are syncing sinking perfectly fine over here so we have a lot to choose from but in this example we just wanted to add three resources SharePoint OneNote and the Microsoft planner so go ahead and click on your add button here to add some tabs and go ahead and add a few tabs maybe it’s time for you to drop in one of those applications that you use on a daily basis and then come right back welcome back well now that we’ve created a post we’ve added some files and we’ve added some tabs here at the top of our Channel let’s go ahead and talk about scheduling a meeting there’s a few ways that we we can actually schedule the meeting here so notice I’m currently on my scheduling 2 tab here and if we take a look at the top right we will notice that we see the meet icon and it has a small drop down here as well and so I have two options I can either go ahead and meet right now and if I click on meet right now it’s going to open up a meeting for everyone to join and as you can see I can go ahead and give a name to the meeting right here if I want to I can go ahead and set up my video my audio and my devices as well I’m going to hit cancel for now the other option is to schedule a meeting so if I click on schedule a meeting it’s going to open up the dialog that will allow me to actually schedule this meeting here and so here is my meeting dialogue which I was able to go ahead and create right from my scheduling 2 Channel and if you notice right here in the channel section it already has my my scheduling 2 channel right here so whoever’s a part of the scheduling 2 will receive the invitation here for this meeting so at this point we just need to go ahead and fill out the basics I’ll go ahead and I’ll change the state here maybe I’ll go to go a little further out here maybe May 31st from 2 to 2 30. quick meeting here and I’ll go ahead and give it a title I’ll just call this check in check in and we will review our projects you can add a location if I want to I’ll leave that here okay and one of the cool things here is if we take a look at the top we have some other options here that we can use such as the scheduling a system and so what this does this this gives you basically a sneak peek at everyone’s schedule that’s involved as long as a person is a part of your organization you will not be able to see the guest calendars here so if I click on scheduling assistant so notice I’m a part of my organization and so it shows me right it shows me as available for that day notice the day before that which is a holiday it shows me as busy so I’ll not be available so for every person that’s a part of this team we will show the actual slots here and additionally it will give you suggestions on the best time to meet based on everyone’s availability so the scheduling assistant is very very popular really nice option here as well over here we can turn on the response options such as you know allow forwarding or request responses we have registration such as none or for people in our organization or in this case for everyone here as well maybe you want to add required attendees we can go ahead and we can toggle this feature here now notice this is slightly different from just generating a regular calendar item because this is for my channel so a lot of the features here are not available so it’s slightly different here I’m going to go ahead and actually just close this out here I’m not going to send I’m going to actually go into discard this here and what I want to do is I’m going to go ahead and click on my calendar and actually use the other method to schedule a meeting by clicking on my calendar so I’ve opened up my calendar here and I want to go ahead and add a new meeting here and this time I’ll do check in and here I can go ahead and add some required attendees notice right here I can add my channel so they have quite a few channels here that I’m a part of I’ll just go to the planning team I’ll go ahead and click on schedule scheduling two notice that my private channel here is not showing up and so if you have private channel is not showing up in order to schedule a a meeting just speak to your I.T Department there has been some known issues with with scheduling meetings with private channels sometimes what you will need to do is just send out create a meeting and use each person’s individual email or maybe you created a distribution list for them as well but in either case go ahead and speak with your I.T Department and so in this case I can just go ahead I can use a scheduling assistant again and it will show me once everyone accepts the meeting I can take a look at their schedules if they are part of my organization here as well so I’ll just finish creating this meeting here and once we send this out what we’ll notice is when we come back to this meeting we’ll notice additional options here that will be available for us as well so this looks pretty good I have the check-in I have my attendees which are my scheduling 2 channel here and I’ll just type project review here I’ll go ahead and send this out and it’s taking just a little time here I’ll go back to my team and here we go so here’s the team as you can see on the bottom it creates a post entry here for the actual meeting and so now we have the opportunity to go ahead and take a look at some of the options here but go ahead and create a meeting you can either do it right from the channel where you can schedule a meeting or you can go ahead and click on your calendar and just make sure to utilize the channel section where you can type the name of the channel and schedule that meeting and come right back and we’ll take a look at some of the meeting details and some of the options that we can set up as well welcome back so now that we’ve scheduled that meeting what we can do now now we have the post entry for the meeting here it says check in give us some basic data here the day and the time but now I can go ahead and take a look at the meeting details so if I click on the more icon here I can go ahead and view the meeting details and so this essentially just brings me back to my calendar entry I could have also went back to my calendar entry and just clicked on that meeting as well and notice that we have a few more tabs up here okay so for example we have we have a chat dialog that is created for our schedule meeting here and we can take a look at the attendance and here is where we can set up our breakout rooms ahead of time as well and so we’ll take a look at some of these options here we can also go ahead and cancel this meeting at this point if you want to we can go ahead and copy the link to this meeting if we want to right now I can go ahead and join this meeting right now maybe we want to meet now we can go ahead and I can join this meeting and get things rolling here as well but let’s take a look at some other options here so here if we take a look at the attendance attendance may not be ready yet because no one has really responded yet here’s a breakout room option and so here is where you can actually create breakout rooms and then you can manage them here as well so we can add additional rooms we can recreate the rooms we can delete the rooms and we can take a look at further settings here as well here is our chat dialog so right now we can interact we can chat we have a chat that’s dedicated just to this meeting space here and allows us to get further collaboration so if I click on the details here are the details again okay and so the good thing to know is after you set up the meeting after you send out your invitations you will have more options to manage this meeting another useful option is the meeting options it’s a good idea to kind of get get things set up before your meeting here we can see that we can set up the breakout rooms ahead of time but we have some meeting options here that we can utilize so I’ll go ahead and click on this it’s going to open up the options in a web browser for me so I’ll go ahead and click on meeting options here and as you can see it gives me my meeting options here and so it gives me the quick details here of my meeting which is to to check in and over here I can make some decisions such as who can bypass the lobby I can always let callers bypass the lobby yes or no I can announce when callers join or leave who can present do I want everyone’s microphone turned on cameras should I recorded the meeting automatically here as well and should I go ahead and allow reactions and should I go ahead and provide car T captions here as well so these options are all available for us to go ahead and utilize in terms of who can bypass the lobby this is especially in this in this situation is it’s become very very popular to make sure that we kind of monitor who can enter the meeting here so everyone can bypass the lobby only people and my organization trusted organizations and guests people in my organization guests people in my organization or only me so I’ll make it only me here no one can bypass the lobby right you have to show yourself and I have to let you win so I can turn this on to announce when callers join or leave and who can present you have to make a decision here as well we can assign specific people and once the participants are here we can actually go ahead ahead of time and specify who can present so in this case I’ll just say people in my organization and guests we’ll allow the microphone with allow the cameras and we can go ahead and record this automatically we’ll upload to the cloud forest and if we want to allow reactions we can and if we want to assign some some captions we can do that as well so I just need to go ahead and click save and that will save for me and I am done and so all of these decisions I can make ahead of time before my meeting so that I’m not stumbling once my meeting starts to set up some of these options here as well so at this point go ahead and set up your meeting I’ll go back to your meeting details and make sure that you click on the meeting options and go ahead and make some of those decisions especially who can bypass the lobby and who can present during the meeting as well take a look at those features and come right back welcome back well it’s a great idea to make sure that you have some of your meeting options set up before your meeting actually takes place but uh let’s go ahead and launch an instant meeting and we’ll take a look at some of the end meeting options that are available so I’m on my scheduling 2 channel here I’m gonna go ahead and click on meet and I’m just going to go ahead I’ll make sure that just for now I’ll keep my camera off and my audio off as well I’m going to go ahead and join just so we can take a look at some of the meeting options here so notice at this point I can go ahead and add some participants if I want to and I can also copy the meeting link and share also share that out I’m gonna go ahead and close that here and if you take a look we do have a few options here such as we can take a look at the participants we can view the chat we can raise our hand and we have some other meeting options here that we can take a look at as well so I’m going to go ahead and click on some more actions here and one of the things that we see right here is our meeting options so if I click on meeting options so maybe you kind of forgot to set these things up maybe you arrived a little early you can go ahead and you can toggle these options here that we found earlier when we click on the meeting options for our calendar item and we were able to see this in the web interface so all the options are here you can toggle these off or on as well so these are the same options the only difference is now that you can go ahead and apply them inside of this meeting now remember this is not the meeting that we set up for May 31st otherwise these options would have been toggled already so I’ll go ahead and close that here here we have meeting notes and if we click on meeting notes kind of gives us a guide right here so we can start taking notes notes you take or shared with others and are accessible before during and after the meeting so we’ll turn that on go ahead and take some notes Here and while that’s coming up here go ahead and take a look at some more actions here and once this meeting concludes we’ll take a look and see the report that it provides for us after we finish the meeting here so here is our notes that we have here so we can capture meeting objectives important notes or action items I’ll go back to my window here I’ll go back to my more actions and so for me here the other things that we can do is we can turn on the transcription service if we want to we can start recording this meeting if we want to and there’s various modes that we can use for viewing purposes we have the large Gallery option we have the together mode option here as well so let’s talk about one of the things we like to do is actually raise our hand in meetings so we can actually raise our hand right here okay we can either lower it or raise it so notice I get the notification here that Mo Jones has raised his hand and so remember we have that shortcut that we learned in in the beginning Ctrl shift K so Ctrl shift K is going to toggle there I’ve lowered my hand Ctrl shift K I’m able to raise my hand again I’ll go ahead and lower that right now pretty good and so from here we can show the conversation um so here is our dialogue currently it’s telling us that meeting notes are being recorded here we can type our message in the chat and of course we have the more format options here for our chat as well we can drop in some stickers and various other options in here so a lot of options here to be able to communicate via the chat go ahead and lower that here so let’s talk about some things that we can present here I’m going to go ahead and just collapse this right pane and I want to go ahead and share content notice the shortcut key there’s Ctrl shift plus e and late last year Microsoft made some changes to this interface here we have various presenter modes the default mode is the content only and then if our camera is on we have these different modes here as well that we can use here’s a little pictorial view this is where your image will show up on the bottom right of the screen here for this one the other option with kind of side by side and this is kind of like your newscast here as well so we can do that and so at this point we can choose to share our entire screen or we can go ahead and capture it I have two monitors here so I can share either monitor what I want to do is I want to go ahead and share a window so I’ll go ahead and have eight windows open here and I think what I’ll share is that Microsoft will go ahead and open up Microsoft edge here and so it brings me right here to the meeting options here one that we used earlier here just kind of sharing this information here as well so we do have our toolbar that kind of shows up here at the top and so we can change our view here as long as our camera is turned on we can go ahead and do that we can give control who someone else is in the meeting we can assign control to someone I can also go ahead and pin this menu so that it shows here does not disappear from me notice it goes away but from right here I can make some changes and stop presenting as well on the bottom right we do see the option here we can either stop sharing by clicking on the X right here we can go ahead and end the call we can turn on our microphone or turn on our video or we can just go ahead and click right here to go back to the call screen now it can be a little confusing sometimes but we can go right back to the call screen so here’s our call screen notice that we’re still sharing I can go ahead and click on the x button or Ctrl shift e to stop my sharing here as well so I’m no longer sharing here and let’s go ahead and let’s see what else we can share here let’s go back under shared content and I want to share the Whiteboard Microsoft whiteboard and these are becoming very very popular in various apps are offering whiteboard options here as well they tend to call them different things but they all pretty much do the same thing it allows a collaborative space for yourself and your attendees to mark up an item together and so here’s our whiteboard as we can see let’s take a look at the settings here on the top right so when we finish with our whiteboard we can always export it as an image we can toggle the option for enhanced ink shapes so when we when we start drawing it will actually try to correct it and make the lines finer for us and the curves just give it a better visual appeal we can toggle the option to have others be able to edit the documents as well okay and so we can do that at this point you know we can go ahead and just make sure that everyone can see our document here and so if I click on the pen I can just start scribbling here like so we have this red pen here which provides some arrows kind of document things for us we have this other type of pen has some more glittery color options there for us notice how it’s just kind of changing the shapes for me as I type them and we have a highlighter so we can highlight things so it goes over and then we have our eraser here that we can use some popular features to use so here here are pen tools we can actually create so I can actually collapse this menu if I want to and I can go ahead and collapse everything just like that so here’s my select tool which is what I’m currently using here here’s my inking I can close that but if I want to get creative I can drop in some notes on here if I want to I can drop in some shapes I can drop in text I can also right click on the canvas and I can insert a new note I can insert text or I can paste something right into the canvas here as well okay I do have some other options here such as templates which are you know which are pretty popular here I’ll save that for last year I’ll drop in a note different types of notes here so we have notes and we have note grids that we can use so I’ll go ahead and drop in my note right here and I can just go ahead and maybe provide some instructions here maybe I can say caption [Music] and you pick and we can also go ahead and apply some emojis to this maybe someone likes this here as well so that’s notes we can drop in text as well so here is our text box [Music] so we can just say type here okay we can go ahead and change the colors here if we want to and we can move all these objects around so we can if you want them to show behind another object we can do that or if we want them to show in front we can do that here as well I’ll insert a shape here insert an arrow draw my arrow here so here’s my arrow once I have it there I can grab one of the handles here and rotate it as well and I can go ahead and move it move it all together here like so everything kind of in unison here if you see this so at this point I can just go ahead and delete these items here remove them from my canvas and maybe I’ll go ahead and insert a template so we have various templates here from brainstorming all the way down to learning maybe I’ll drop in a brainstorming template here anyway here we have various brainstorming templates maybe I’ll do this topic brainstorm here and we can just go ahead and drop it right on our canvas we can resize it if you want to we can move it around and so we can use a lot of this whiteboard space here okay we can zoom in we do have a zoom option right here we can also hold down the control key and scroll up that will zoom in for us hold down the control key and scroll down and that will zoom zoom out so it’s just a matter of getting that right field that you want here so when we’re finished with our whiteboard we can always just click on the settings menu here we can export this as an image we can choose a standard resolution or a high resolution it’s just a matter of exporting that here and so we can export that save it to our desktop and we are good to go so this one I can go ahead and click on and that will go ahead and close out my whiteboard for me so at this point what I can do I can just go ahead and end the meeting by clicking on the drop down here I can just leave the meeting or I can end the meeting for all I’m going to go ahead and end the meeting for everyone here and so let me go back to my so here we go and if we go back to our posts here we can see that it has actually recorded a meeting for us in different ways so we have the notes that we can show we can download the attendance report right here so if I download the attendance report I can go ahead and save that to my desktop as well and as soon as it downloads let’s see go ahead and grab that bring that over to the screen okay and so here we’ll go ahead and auto fit all these columns here okay so it gives us a lot of information here as you can see I was the only one that attended nobody else showed up hey so there we go all right and so really cool just the nature of the channel is going to provide these things here for you as well so go ahead and launch a meeting from your channel and if you’re able to have a few of your attendees join your call so you can take a look at some of the other options there as well but go ahead and take a look at those meeting options and come right back welcome back well now that we took a look at some of the in meeting controls let’s go ahead and take a look at some of the notable settings here inside of Microsoft teams I’m going to go ahead and click on the settings menu right next to my avatar here or my profile rather so I’ll click on here and I’ll go into my settings and the first thing you notice you can actually go ahead and change the theme so the default theme is what I’m currently using here you can get a preview of the theme by clicking on the Dark theme Here or the high contrast theme here as well let me go ahead and put that back on the default a new feature that was added recently is you can change the actual chat density so you have this compacted view the default view is comfy where your chats have kind of spread out if you want a more compact view you can change the view and it will compact those into the lines for you here as well another important feature is the read receipts so you’ll notice when read receipts are turned on by default and read receipts of what you it basically indicates or let’s notifies you when someone views or reads your message you’ll notice a small eyeball or you’ll see another type of confirmation there as well so the person needs to have read receipts turned on in order for you to be notified if they read or reviewed your message or not so if you want to turn this off if you don’t want other people to know whether or not you read their messages you can just toggle this off and they will not be able to determine whether or not you read their messages here as well so that is an option another option here is under the devices here is where we can go ahead and just basically go ahead and set up your devices one thing I recommend is making a test call okay a great way to go ahead and make sure that your audio and your video are working correctly it will go through the full test for you and to make sure that everything is okay so this is a viable option here as well I do have a custom setup because right now my speakers are my computer speakers and my microphone it’s actually my webcam here as well if I wanted to change these I could change them and I can change my microphone here as well I’ll actually change my microphone to my Blue Snowball here and then we have some other options here for noise suppression so we have a few levels here Auto so teams is basically cutting out the background noise for you anything that is not speech it’s trying to take care of that for you you can turn it off if you have a really nice microphone and you’re in a very quiet area and you can put this on low if you feel confident high is going to try to basically block out everything but keep in mind that does not work if live captions are running during a meeting or if the meeting is being recorded So these will not work you also have to need to have a special kind of processor and as of today Mac users will not have the capability to use the high noise suppression here as well another option that we have is for the files if you’ll notice when you open Excel word are PowerPoint files they open in teams you can change this to open in your desktop app or you can have them open in your browser as well so those are just a few examples here of some pretty nice features that you may want to take a look at here as well another thing to mention is that once you are inside of your channel here what we can do if we take a look on the top right next to our meeting icon we have some more options here and one of the options that are available is to actually go ahead and open this channel in SharePoint we did talk about SharePoint but if you wanted to see what it looks like here remember every time you create a team or a channel it creates a SharePoint space so if we click on open and SharePoint this is what it looks like here I’ll make this a little bigger so we can see okay so we only have one document kind of living here now which is that document I shared earlier as well another thing that we can do is we do have people calling in Via a phone when they are connecting to our meeting and so if you want those people to basically bypass the lobby they’re just calling in it’s kind of difficult for them to wait for someone to let them in we can toggle these options here so maybe I can say people in my organization and now I can allow people who are calling in via phone to the meeting as long as that feature is available for your admin for the number to actually show up in the meeting description or the meeting details we can allow them to come right through here as well so those are just a few options here that we can take a look at and one thing I like to do before we wrap up here is I like to take a look at what’s new so on the bottom left here we have this help button I’m going to go ahead and click on that and I want to see what updates have rolled out so I’ll click on my help menu here and I’ll click on what’s new and as you can see here in February we had a few had a few changes here so now we can pin a message in the chat so we can pin it all the way to the top of our chat regardless of the number of messages that are in there we can do that pretty useful and again we can change how many messages we see at one time so again we can change the spacing of the chat messages and teams and here we were talking about the comfy mode that we saw available here in our settings menu so here’s comfy and here’s Compact and that’s this is what it’s referring to if you’d like to see more spacing you can change that we have the turn off mirror my video this option is now available so you now have the option to stop mirroring the image of your video preview which is very helpful here as well so these are some new features that are available we can go back a little more but they’re constantly making updates to this product and it’s good just to be able to take a look and see what is new so go ahead and take a look around take a look at those settings and come right back and we will wrap up welcome back and congratulations on completing our Microsoft teams deep dive course we were able to set up public and private teams with Integrations to use Office 365 tools such as SharePoint planner and OneNote we’re able to view the SharePoint site as well that houses our Channel we’re able to schedule a team’s meeting and adjust meeting options before the meeting takes place and also in meeting options as well such as determining who can bypass the lobby and who can present we’re able to effectively collaborate in a channel-based workspace as opposed to an Outlook inbox and hopefully you’re enjoying Microsoft teams as a One-Stop shop for all of your communication and collaboration once again congratulations and I look forward to seeing you in a future learn it tutorial thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learnit.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Visio Project Alpha to Network Diagrams and Organizational Charts

    Visio Project Alpha to Network Diagrams and Organizational Charts

    This series of excerpts introduces advanced features within Microsoft Visio, guiding users through the creation of cross-functional flowcharts with swimlanes for process and team organization. It then demonstrates how to construct network diagrams, illustrating insecure and secured network routes with various components. Furthermore, the material covers customizing Visio by creating and saving personal stencils for frequently used shapes. Finally, it explains how to enhance diagrams with hyperlinks to external documents and internal page linking, as well as generating organizational charts and pivot diagrams directly from Excel data, concluding with methods for sharing Visio drawings.

    Vizio Advanced Study Guide

    Quiz

    1. What is the primary purpose of a cross-functional flowchart?
    2. How do you access the swim lanes and separators in Vizio for creating a cross-functional flowchart?
    3. Explain the difference between a vertical swim lane and a vertical separator in a cross-functional flowchart.
    4. What is the benefit of grouping objects together in a network diagram? How do you perform this action?
    5. Describe the steps to create a dashed line connector in a network diagram and why you might use one.
    6. How do you save a custom shape to a personal stencil in Vizio? Why might this be useful?
    7. What are the steps to create a hyperlink from a shape in a Vizio diagram to an external document? How do you know if a shape has a hyperlink?
    8. Explain how the “Create New Page” feature in the Process tab works in Vizio and its advantage.
    9. What are the three essential columns required in an Excel file to create an organizational chart using Vizio’s wizard? Which column is most crucial for establishing the hierarchy?
    10. Briefly describe how to create a pivot diagram in Vizio from an Excel file and what type of information it can display.

    Quiz Answer Key

    1. The primary purpose of a cross-functional flowchart is to visualize processes across different departments, teams, or phases, showing who is responsible for each step and how different parts of an organization interact within a workflow.
    2. To access swim lanes and separators in Vizio, you first open a basic flowchart template. Then, in the “Shapes” pane, you click on the “Cross-Functional Flowchart Shapes” stencil, where you will find the various lane and separator options.
    3. A vertical swim lane defines a distinct functional area or phase within the flowchart, spanning the entire length. A vertical separator is used within a swim lane to further divide it, often to represent different teams or sub-phases within that broader function.
    4. Grouping objects in a network diagram allows you to treat multiple shapes as a single unit, making it easier to move, resize, or manipulate them together without altering their relative positions. To group objects, select the desired shapes while holding the Ctrl key, then go to the “Home” tab, find the “Arrange” group, and click “Group.”
    5. To create a dashed line connector, first draw a standard connector between two shapes using the “Connector” tool. Then, select the connector line, go to the “Shape Format” tab (or right-click and choose “Format Shape”), navigate to the “Line” options, and choose a dashed style from the “Dashes” dropdown menu. Dashed lines are often used in network diagrams to represent wireless connections.
    6. To save a custom shape, first select the shape you want to save. Then, go to “More Shapes” in the “Shapes” pane and click “New Stencil.” Drag the selected shape into the new stencil. Right-click the shape in the stencil to rename it. This is useful for quickly reusing frequently used or custom-formatted shapes in different diagrams without recreating them.
    7. To create a hyperlink, select the shape, go to the “Insert” tab, and click “Link.” In the dialog box, browse to the desired file under the “Address” section and click “OK.” A shape with a hyperlink will typically display a change in cursor to a hand with a link icon when hovered over, and a tooltip may appear indicating the linked file.
    8. The “Create New Page” feature in the Process tab allows you to link a sub-process shape in your current diagram to a brand new, separate Vizio page. When you select a sub-process shape and use this feature, Vizio automatically creates a new page and establishes a link between the shape and the new page, allowing for more detailed workflows to be developed on separate pages while maintaining the overall flow.
    9. The three essential columns are “Name” (of the employee), “Reports To” (the name of their manager), and “Position” (their job title). The “Reports To” column is the most crucial as it defines the hierarchical relationships and how the shapes in the organizational chart will be connected.
    10. To create a pivot diagram, go to “File” > “New” and search for “Pivot Diagram.” Select the template and create it. The Data Selector will appear, prompting you to choose your Excel file and worksheet. After importing the data, you can drag and drop fields (columns from your Excel data) onto the diagram to visualize summaries and breakdowns of your data, such as total sales by region or units sold by product category.

    Essay Format Questions

    1. Discuss the advantages and disadvantages of using cross-functional flowcharts in process analysis and improvement within an organization. Provide specific examples of scenarios where they would be particularly beneficial.
    2. Compare and contrast the creation and utility of network diagrams versus organizational charts in Vizio. In what situations would you choose one over the other, and why?
    3. Explore the ways in which Vizio facilitates collaboration and information sharing through features like hyperlinks, the Process tab’s new page creation, and sharing options. How can these features enhance project management and communication within a team?
    4. Analyze the process of creating diagrams from external data sources in Vizio, such as organizational charts from Excel files and pivot diagrams. What are the key benefits and potential challenges of this data-driven approach to visualization?
    5. Evaluate the importance of customization and stencils in enhancing efficiency and maintaining consistency in creating various types of diagrams in Vizio. Provide examples of how creating and utilizing custom stencils can improve workflow.

    Glossary of Key Terms

    • Cross-Functional Flowchart: A type of flowchart that visualizes the steps of a process across different functional areas (departments, teams, roles).
    • Swim Lane: Horizontal or vertical sections in a cross-functional flowchart that represent different departments, teams, or responsibilities.
    • Separator: A line or boundary used within a swim lane to further divide it, often representing different phases or sub-teams.
    • Stencil: A collection of related shapes that can be used in a Vizio diagram.
    • Network Diagram: A visual representation of a computer or telecommunications network, showing the components and their connections.
    • Wireless LAN (WLAN): A local area network that uses wireless radio signals to connect devices.
    • Hyperlink: A clickable link in a document that directs the user to another location, such as a webpage, another document, or a different place within the same file.
    • Sub-process: A self-contained part of a larger process, often represented by a separate flowchart for greater detail.
    • Organizational Chart (Org Chart): A diagram that shows the structure of an organization and the relationships between different positions or departments.
    • Pivot Diagram: A dynamic diagram created from data, allowing users to analyze and summarize information from sources like Excel by arranging and displaying different data fields.
    • Hierarchy: A system in which members of an organization or society are ranked according to relative status or authority.
    • Data Graphics: Visual representations of data associated with shapes in a Vizio diagram, such as icons, color coding, or text labels that change based on the underlying data.

    Visio Advanced Course Briefing Document

    Date: October 26, 2023 Prepared By: Gemini AI Subject: Review of Visio Advanced Course Content

    This briefing document summarizes the main themes, important ideas, and facts presented in the provided excerpts from the Visio advanced course. The course covers a range of topics, including creating cross-functional flowcharts, network diagrams, personal stencils, using hyperlinks and the Process tab for sub-processes, generating organizational charts and pivot diagrams from Excel data, and sharing Visio drawings.

    1. Cross-Functional Flowcharts

    Main Theme: Creating visual representations of processes that involve multiple departments or phases.

    Key Ideas & Facts:

    • Purpose: To separate tasks and responsibilities by different phases or departments within a project.
    • Template: Utilizes the “Basic Flowchart” template as a starting point, accessible via “More Templates” if not immediately visible.
    • Swim Lanes: The “Cross-functional Flowchart Shapes” stencil provides “Vertical Lane” (vertical swim lanes) and “Separators” to delineate different functional areas or phases.
    • Instructor Joe demonstrates dragging and resizing swim lanes onto the canvas.
    • Swim lanes include a title that can be edited (e.g., “Phase One,” “Team A”).
    • Separators: Vertical separators are used within vertical swim lanes to further divide them into specific teams or responsibilities within a phase.
    • The text in the separator can be changed by double-clicking (e.g., from “Phase” to “Team A”).
    • Basic Flowchart Shapes: Standard flowchart shapes (Start/End, Process, Sub-process, Decision, Document) are used within the swim lanes to map out the process flow.
    • Shapes can be named by clicking into them and typing.
    • Basic editing tools (resizing, font changes) are applicable.
    • The “Ctrl D” shortcut can be used to duplicate shapes.
    • Connectors: The “Connector” tool is used to link the flowchart shapes, indicating the flow of the process. Static point-to-point connections are used in the example.
    • Customization: Users can customize the appearance of the flowchart by changing the colors of shapes and connectors, as demonstrated by the instructor.

    Quotes:

    • “What I want to start off with today is creating what’s known as a cross-functional flowchart.”
    • “This will allow us to separate things by different phases or even different departments that are going to be working on these different flow charts.”
    • “For this I’m going to use the vertical Lane for the vertical swim Lane and I’m going to click and drag it right here…”
    • “I’m going to use what’s known as a separator now if you’re using a vertical swim Lane you’re going to use a vertical separator…”

    2. Network Diagrams

    Main Theme: Visually representing the structure and components of a network, including both secure and insecure routes, WLANS, and internetworking.

    Key Ideas & Facts:

    • Template: Starts with a new file and searching for “Network Diagram.” Users can choose from pre-built templates (e.g., “Basic Network Diagram,” “Small/Medium Business Network Diagram”) or start from scratch. The instructor chooses to start from scratch.
    • Insecure Route: Depicted with a bounding box (using a basic rectangle with no fill), a “Cloud” symbol (from “Network Locations” stencil) labeled “Internet,” and a connection to a “Building” symbol (also from “Network Locations”).
    • The cloud and internet label are grouped together as a single object.
    • A text box labeled “Insecure Network space” is added.
    • Secure Route: Involves a “Router” and “Firewall” (symbols found in network-related stencils). The firewall is placed behind the router using the “Send Backwards” command.
    • Duplication: The instructor emphasizes the use of duplication (Ctrl D) to create multiple shapes (e.g., routers, secure network boxes) efficiently.
    • Network Components: Includes representations of servers, computers (laptops are chosen in the example), and WLANs.
    • WLAN Representation: Created using rectangles with no fill and gray lines, labeled with “WLAN” and numbers (e.g., WLAN 01, WLAN 02).
    • Wireless Access Points: Symbols are placed within the WLAN boundaries.
    • Connections: Solid connectors are used for wired connections between network devices.
    • Dashed Lines: Used to represent wireless connections between routers and wireless access points. This is achieved by changing the line style of the connector to “dashed.”
    • Labels: Text boxes are used to label different parts of the network (e.g., “Secure”).

    Quotes:

    • “Now this network diagram will show the hierarchical network design using wlans and also internet working.”
    • “I’m actually going to just simply search for a network diagram…”
    • “Now inside this box I do want to have the internet… we can use whatever we like whether we want to do wireless access point or maybe we want to create a cloud…”
    • “The next thing we need to do is now create the secured route so in order to do that we’re going to actually create the router and the firewall right here…”
    • “The last thing that I’m going to want to do is create some dotted lines to show that this is going to be a wireless connection…”

    3. Creating and Using Personal Stencils

    Main Theme: Saving frequently used or custom-formatted shapes into a personal stencil for easy access in future diagrams.

    Key Ideas & Facts:

    • Creating a New Stencil: Accessed via “More Shapes” -> “New Stencil” and choosing a unit of measurement (e.g., US units). The new stencil will initially be named something like “Stencil 3.”
    • Adding Shapes to a Stencil: Shapes can be added by selecting them in an existing diagram, duplicating them, and then dragging the duplicate onto the new stencil.
    • Renaming Master Shapes: Right-clicking on a shape in the stencil allows you to “Rename Master” to give it a descriptive name.
    • Renaming a Stencil: The stencil’s name can be changed by clicking the “Save” icon (diskette), and in the dialog box, renaming the stencil file. The location of the file does not need to be changed.
    • Accessing Personal Stencils: When opening a new Visio file, personal stencils are found in “More Shapes” -> “My Shapes” (or a similar category depending on the version).
    • Benefits: Allows users to reuse custom shapes and formatting without having to recreate them each time, improving efficiency and consistency.

    Quotes:

    • “Sometimes what we want to do is create an actual shape and then save it to a personal stencil that way we can use them over and over and over again without having to worry about what kind of formatting we did to it.”
    • “The first thing you’re going to do is go to more shape and you’re going to go to new stencil…”
    • “Now it’s going to say stencil 3 and I can quickly start to drop shape right here…”
    • “Now of course it calls it a master 0.2 so we can right click and we can actually edit this name…”
    • “Once I click save it’s now in the system so if I do decide to open up a brand new file… it’s actually going to be in more shapes and then I could go to my shape and I could see ghost stencil…”

    4. Using Hyperlinks and the Process Tab for Sub-Processes

    Main Theme: Creating interactive diagrams by linking shapes to external documents or other Visio pages representing sub-processes.

    Key Ideas & Facts:

    • Hyperlinks:Selected shapes can be linked to external files (e.g., Word documents, Excel files, PowerPoint files) or web addresses.
    • To create a hyperlink, select the shape, go to the “Insert” tab, and click “Link” in the “Links” command group.
    • In the “Hyperlink” dialog box, users can browse for a “Local file” or enter an “Address” for a website.
    • Important Note: When browsing for local files, the “Files of type” dropdown may default to Visio files; it needs to be changed to “All Files” to see other document types.
    • Linked shapes display a different cursor icon (hand with a link) when hovered over.
    • Following a hyperlink typically involves holding the “Ctrl” key and clicking the linked shape, which will open the associated document or website.
    • Process Tab (Sub-Processes):The “Process” tab allows linking a shape to a new or existing Visio page representing a sub-process.
    • To create a link to a new sub-process page, select the shape representing the sub-process, go to the “Process” tab, and click “Create New Page.”
    • Visio will create a new page with a link back to the original flowchart.
    • Using “Ctrl + Click” on the original shape will navigate to the linked sub-process page.
    • The names of the pages can be edited by double-clicking on the page tabs at the bottom.

    Quotes:

    • “Wouldn’t it be really nice if we could just click on the shape and it opens up that document in Word? Well good news you can do that in Vizio…”
    • “I’m going to click on the actual shape and I’m going to go over to the insert tab… inside of the insert tab this is where the link command group lives and that’s where the command link lid.”
    • “Make sure good point right now I’m on Vizio file you’re going to want to click on all files so that you see all of them…”
    • “The process Tab and this is very similar to hyperlinks except this goes into subprocess…”
    • “To actually access the process tab you’re going to go over the process now once here you can either create a link from an existing subprocess or you can create a new page now I usually use the create new page…”

    5. Creating Organizational Charts from Excel Data

    Main Theme: Generating organizational charts automatically from structured data in an Excel spreadsheet.

    Key Ideas & Facts:

    • Excel Data Format: The Excel file needs specific columns, most importantly:
    • Name: The name of the employee.
    • Reports To: The name of the person the employee reports to (crucial for establishing the hierarchy). For the top-level employee (e.g., CEO), this field can be left blank.
    • Position: The employee’s job title.
    • Visio Template: Start by searching for “organizational chart” in File -> New.
    • Organization Chart Wizard: Instead of using pre-built templates, the instructor uses the wizard to import data.
    • Data Source: Select the option to create the chart from “information I’ve already stored in a file or database” and choose “Text, Org Chart data or Spreadsheet.”
    • File Selection: Browse and select the Excel file containing the organizational chart data.
    • Column Mapping: The wizard prompts to map the columns in the Excel file to the required fields in Visio (Name, Reports To). An optional “First name” field is also available.
    • Displayed Information: Choose which data columns from the Excel file should be displayed in the org chart shapes (e.g., Name and Position). The “Reports To” field is used for connections, not typically displayed within the shapes.
    • Shape Data: Similar to displayed information, configure which data fields will be associated with each shape’s data properties.
    • Pictures (Optional): The wizard allows including employee pictures if they are available as .PNG files named according to a specific convention (e.g., “FirstName LastName.png”). This option is skipped in the example.
    • Wizard Layout: The wizard can automatically handle fitting the chart onto the page.
    • Post-Generation Editing: After the chart is generated, manual adjustments may be needed to reposition shapes, adjust connector lines, and improve the layout.

    Quotes:

    • “The first thing you’re going to want to do is build the Excel file in a nice format that will work with Vizio to do this you’re going to open up Excel file and you’re going to make sure it has three things the first thing has to be the name of the person who they report to and also what their position is. The biggest thing out of all of this is the reports too. This makes those connections between the different shapes.”
    • “I’m actually going to use the wizard and when I use the wizard it will give me that option to actually pull it from a file or entered in the wizard now I’m going to pull it from an Excel file…”
    • “The name is going to be the name column I created reports to will be the reports to and if you did have a first name column you could use that but that is optional so I’ll leave it at none.”
    • “Now it’s going to ask me about the columns that our data wants to display and I want the data file column to be the reports to I actually don’t want to display who they report to that’s just going to be the connectors I want it to display the name and the position of the person.”
    • “Once you do that it builds it out and it looks amazing now all we have to do is move some stuff over…”

    6. Creating Pivot Diagrams from Excel Data

    Main Theme: Generating interactive data visualizations from Excel data using the Pivot Diagram template.

    Key Ideas & Facts:

    • Excel Data Requirements: The Excel data should be in a tabular format with headers for each column of data. The example includes columns for Month, Year, Ice Cream Type, Salesperson, Region, Sales Amount, and Units Sold.
    • Pivot Diagram Template: Accessed via File -> New and searching for “pivot diagram template.”
    • Data Selector: Upon creating a new pivot diagram, a “Data Selector” dialog box appears, prompting the user to choose the data source (Excel, Access, SharePoint, SQL Server).
    • Workbook and Worksheet Selection: Browse to select the Excel workbook and then specify the worksheet or range containing the data. Indicate if the first row contains column headers.
    • Column Inclusion: Choose which columns from the Excel data to include in the pivot diagram. By default, all columns are selected.
    • Data Import: Once the data is successfully imported, the fields from the Excel headers appear in a “PivotDiagram Fields” pane.
    • Building the Diagram: Drag and drop fields from the “PivotDiagram Fields” pane onto the diagram canvas to visualize the data.
    • The initial view might show a summary of all data (e.g., total for a year).
    • Adding fields like “Sales” will display the total sales amount.
    • Adding “Salesperson” will break down the sales by each salesperson.
    • Adding “Region” will further categorize the data by sales region for each salesperson.
    • Adding “Type” (of ice cream) will provide the most granular breakdown.
    • Changing Measures: The measure being displayed (e.g., total sales) can be changed (e.g., to “Unit” to show units sold).
    • Deleting Fields: Fields can be removed from the diagram by selecting the corresponding shapes and pressing the “Delete” key or by deselecting them in a dropdown.
    • Layout Adjustment: The “Arrange” group on the “Home” tab (including “Align” and “Position” options like “Auto Align” and “Auto Space”) can be used to automatically tidy up the layout of the diagram.
    • Shape Customization: Individual shapes or groups of shapes (e.g., all regions) can be customized by changing their fill colors or by editing the “Data Graphics” associated with them.

    Quotes:

    • “The first thing we need to do is make sure that we have Excel information now what I always like to do is I like to make sure that I have my headers and then the information in here…”
    • “Open up my Vizio again and I’m going to go to file new and which template we’re going to use is the pivot diagram template…”
    • “Right away it’s going to pop up the data selector and it’s going to ask you where’s the data coming from and you can select it from either Excel or access or SharePoint or even SQL servers…”
    • “Now by default right now what it’s doing if I zoom in here it’s just giving me the total for the year I don’t want that I want to see how much should I make in total sales so I’ll deselect this and yourself and it shows me we made about 1 million in sales 1.5.”
    • “Let’s say that you want to delete something off of this pivot diagram for instance I don’t want the type of ice cream anymore I can always just go back over to type a little drop down select all and when I select all I can press delete on my keyboard and it gets rid of all those types.”

    7. Sharing Visio Drawings

    Main Theme: Methods for sharing Visio diagrams with others.

    Key Ideas & Facts:

    • In-App Sharing (Cloud): Using the “Share” button in the top right corner allows sharing via OneDrive (the cloud).
    • Email Sharing: The “Share” button also provides options to share via email:
    • As a PDF: Creates a static, non-editable version of the diagram.
    • As a Visio drawing: Allows recipients who have Visio to open and edit the diagram.
    • File Tab Sharing: Similar sharing options are available via File -> Share, with options for OneDrive and email (as attachment or PDF).

    Quotes:

    • “To share a drawing with someone there’s two ways to do it we can either come to the top right corner here and click on share and when I click on share it’s going to give me two options I can either share this on the cloud using my book drive or I can share this in an email as a PDF or as an actual video drawing…”
    • “The same thing to do this is by going to file share and you’ll see once again we can either share with OneDrive or an email we could send as an attachment or as a PDF.”

    This briefing document provides a comprehensive overview of the topics covered in the Visio advanced course excerpts. It highlights the key concepts, procedures, and functionalities demonstrated by the instructor, Joe. The inclusion of direct quotes helps to preserve the original context and emphasis.

    Visio Fundamentals: Cross-Functional Flowcharts

    • What is a cross-functional flowchart? A cross-functional flowchart is a type of diagram that visualizes a process while also showing which departments, teams, or phases are responsible for each step. It uses “swim lanes” to separate the activities based on these responsibilities, providing a clear overview of how different parts of an organization or project interact to complete a process.
    • How do I create swim lanes in Visio? To create swim lanes in Visio, open a basic flowchart template and then access the “Cross-Functional Flowchart Shapes” stencil. From there, you can drag and drop vertical or horizontal swim lanes onto your canvas. You can resize them and add more lanes as needed. You can also use “separators” within the lanes to further divide them by different teams or sub-phases.
    • How do I label the swim lanes and separators? To label a swim lane or separator, simply double-click on the title area (which often defaults to “Function” or similar) and type in the desired name, such as a department name (e.g., “Marketing Team”) or a project phase (e.g., “Phase One”). You can also adjust the font size and other formatting as needed.
    • How do I connect shapes across different swim lanes? You can connect shapes across different swim lanes using the connector tool in Visio. Simply select the connector tool, click on a connection point of the first shape, and drag to a connection point of the second shape, regardless of which swim lane they are in. You can adjust the style and routing of the connectors as needed.

    Visio Fundamentals: Network Diagrams

    • What is a network diagram used for? A network diagram is a visual representation of a computer or telecommunications network. It shows the components of the network, such as routers, firewalls, servers, computers, and wireless access points, as well as their connections and how data flows between them. Network diagrams are used for planning, designing, documenting, and troubleshooting network infrastructures.
    • How do I create a basic network diagram in Visio? To create a basic network diagram in Visio, you can start with a blank drawing or use a pre-designed “Basic Network Diagram” template. You can then drag and drop various network component shapes from the available stencils (such as “Computers and Monitors,” “Network and Peripherals,” and “Network Locations”) onto your canvas. Connect these shapes using the connector tool to represent the network connections. You can add text labels to identify each component.
    • How can I represent wireless connections in a network diagram? To represent wireless connections in a Visio network diagram, you can use the standard connector tool to draw a line between the wirelessly connected devices (e.g., a router and a wireless access point, or a wireless access point and a laptop). Then, select the connector line, go to the “Line” options, and change the line style to a dashed or dotted line to visually indicate a wireless connection.
    • How can I group objects in a Visio diagram? To group multiple objects in Visio so they can be moved or manipulated as a single unit, select all the objects you want to group (you can hold the Ctrl key while clicking to select multiple objects). Then, go to the “Home” tab, find the “Arrange” group, and click on “Group.” To ungroup them later, select the grouped object and click on “Ungroup” in the same menu.

    Visio Fundamentals: Custom Stencils and Reusability

    • How can I save custom shapes for future use in Visio? To save custom shapes in Visio, you can create a new stencil by going to “More Shapes” > “New Stencil” (and choosing your preferred units). Then, select the shapes you want to save, drag them onto your new stencil, and they will be added as master shapes. You can rename these master shapes by right-clicking on them and selecting “Edit Master” > “Edit Name.” To save the entire stencil, click the save icon on the stencil window and give it a name. This custom stencil will then be available in the “My Shapes” or a similarly named section under “More Shapes” in future Visio drawings.
    • How do I access my custom stencils in new Visio drawings? Once you have saved a custom stencil, you can access it in any new Visio drawing by going to “More Shapes” in the “Shapes” pane. Look for a category like “My Shapes” or the name you gave your stencil. Clicking on this category will open your custom stencil, and you can then drag and drop your saved master shapes onto your drawing canvas.

    Visio Fundamentals: Hyperlinks and Process Links

    • How can I link a Visio shape to an external document or website? To link a Visio shape to an external document or website, select the shape and go to the “Insert” tab. In the “Links” group, click “Link.” In the dialog box, under “Address,” you can either type the web address or click “Browse” to locate a local file (remember to change the file type filter to “All Files” if you are linking to a non-Visio file). Click “OK” to create the hyperlink. When you hover over the linked shape (and press Ctrl), your cursor will change to a hand with a link icon, and clicking it will open the linked document or website.
    • How can I link a Visio shape to another page within the same Visio document? To link a Visio shape to another page within the same document, select the shape and go to the “Insert” tab, then click “Link.” In the dialog box, under “Sub-address,” click “Browse.” This will typically show the available pages in your current Visio file. Select the desired page and click “OK.” Now, when you Ctrl+click the shape, it will navigate you to the specified page within the same Visio document.
    • What is the purpose of the “Process” tab in Visio? The “Process” tab in Visio provides tools for managing and linking subprocesses within your flowcharts. It allows you to designate a shape as a subprocess and then either link it to an existing flowchart or create a new page for the detailed steps of that subprocess. This helps in organizing complex processes into more manageable and linked diagrams.
    • How do I create a new page for a subprocess using the “Process” tab? To create a new page for a subprocess, select the shape that represents the subprocess in your main flowchart. Then, go to the “Process” tab and click on “Create New” in the “Subprocess” group. Visio will automatically create a new page in your document and establish a link between the original shape and this new page. You can then detail the subprocess on this new page. A link back to the main flowchart is also typically created.

    Visio Fundamentals: Organizational Charts from Excel Data

    • What is the required format for an Excel file to create an organizational chart in Visio? To create an organizational chart from an Excel file in Visio, your Excel file should have at least three columns: a column for the employee’s name, a column for the employee’s reporting manager’s name (this is crucial for establishing the hierarchy), and a column for the employee’s position or title. The column headers should clearly identify these pieces of information (e.g., “Name,” “Reports To,” “Position”). For the top-level manager (e.g., CEO), the “Reports To” field can be left blank.
    • How do I use the Organization Chart Wizard in Visio to import data from Excel? To use the Organization Chart Wizard, go to “File” > “New” and search for “Organizational Chart.” Choose the “Organization Chart Wizard” option and click “Create.” In the wizard, select “Information that I enter using the wizard” and click “Next.” On the subsequent screen, choose “Information in an existing text or organization chart file” and click “Next.” Select “Excel” as the data source and click “Next.” Then, browse to locate your Excel file, select it, and click “Open.” Click “Next” again, and you will be prompted to match the columns in your Excel file to the fields Visio uses (e.g., match your “Name” column to Visio’s “Name,” your “Reports To” column to Visio’s “Reports To,” and your “Position” column to Visio’s “Title”). Follow the remaining steps in the wizard to customize the chart’s appearance and then click “Finish” to generate your organizational chart.

    Visio Fundamentals: Pivot Diagrams from Excel Data

    • What kind of data is suitable for creating a pivot diagram in Visio? Data that is organized in a tabular format with clear categories and numerical values is suitable for creating a pivot diagram in Visio. This typically includes transactional data with columns representing dimensions (e.g., time periods, product categories, regions, salespersons) and measures (e.g., sales revenue, units sold, costs).
    • How do I create a pivot diagram in Visio from an Excel file? To create a pivot diagram in Visio, go to “File” > “New” and search for “Pivot Diagram.” Select the template and click “Create.” In the “Data Selector” dialog box, choose “Microsoft Excel Workbook” and click “Next.” Browse to select your Excel file and click “Open,” then click “Next.” Choose the worksheet or named range that contains your data and indicate if the first row contains headers. Click “Next” to select the columns you want to include in your diagram (you can typically select all). Click “Next” again, and after the data is imported, click “Finish.” The “PivotDiagram Fields” pane will appear, allowing you to drag and drop fields onto the diagram to analyze and visualize your data by creating hierarchical breakdowns and aggregations.
    • How can I modify the information displayed in a Visio pivot diagram? To modify the information displayed in a Visio pivot diagram, use the “PivotDiagram Fields” pane. The fields from your data source are listed here. You can drag these fields onto different areas of the diagram (like the “Category” or “Value” areas) to change what data is being displayed and how it is aggregated. For example, you can switch from showing total sales by year to showing total units sold by product category and region by simply dragging and dropping the relevant fields. You can also use the dropdown arrows on the shapes in the diagram to filter or further refine the displayed data.
    • How can I customize the appearance of shapes in a Visio pivot diagram? You can customize the appearance of shapes in a Visio pivot diagram by selecting the shapes you want to modify. Then, you can use the formatting options available in the “Home” tab, such as fill color, line style, and text formatting, to change their appearance. For more advanced customization, you can also edit the data graphics associated with the shapes. Select a shape, and in the “Data” tab, look for options related to data graphics, where you can modify how data values are visually represented.

    Visio Fundamentals: Sharing Diagrams

    • What are the different ways to share a Visio diagram with others? You can share a Visio diagram in several ways:
    • Via the cloud (OneDrive): You can save your Visio drawing to OneDrive and then share a link with others, allowing them to view or even edit the diagram depending on the permissions you grant.
    • As an email attachment: You can send the Visio file (.vsdx) as an attachment to an email. Recipients who have Visio can open and edit the file.
    • As a PDF: You can save your Visio diagram as a PDF file, which is a widely accessible format that recipients can view without needing Visio. This format is good for sharing a static view of your diagram.
    • As a Visio drawing that opens in the Visio application: When sharing via email within the Visio application, you might have the option to send it in a format that directly opens in the recipient’s Visio if they have it installed.
    • How do I save a Visio diagram as a PDF? To save a Visio diagram as a PDF, go to “File” > “Save As.” In the “Save As” dialog box, choose a location to save your file. Then, in the “Save as type” dropdown menu, select “PDF (*.pdf).” Click “Save” to create the PDF version of your diagram. You may have additional options to customize the PDF output, such as page range and image quality, depending on your Visio version.

    Advanced Vizio Diagramming Techniques

    The Vizio advanced course, as facilitated by Joe in the provided text, covers several topics building upon basic flowchart creation. Here’s a discussion of the key concepts and activities covered:

    • Creating Cross-Functional Flowcharts: The course starts by extending basic flowcharts to cross-functional flowcharts using the basic flowchart template. This involves utilizing the “Cross-Functional Flowchart Shapes” stencil, which contains swim lanes and separators. These elements allow for the separation of flowchart steps by different phases or departments involved in a project. The example provided illustrates a project with three phases and three teams (Team A, Team B, Team C) working on various processes like “Project Alpha,” “Bourbon,” “Contact Developers,” “Contact Marketing Team,” and “Building a pricing plan”. Vertical swim lanes and vertical separators are used for this purpose. The course emphasizes naming swim lanes (e.g., “Phase One,” “Phase Two,” “Phase Three” or “Team A,” “Team B,” “Team C”) and placing relevant flowchart shapes within these lanes to visualize responsibilities and process flow across different functions.
    • Creating Network Diagrams: The course then moves on to creating network diagrams to show hierarchical network designs using WLANs and internetworking. This section involves starting a new file and searching for a network diagram template, or even starting from a blank drawing. The example demonstrates creating an insecure route (representing the internet) and a secure route (representing a business building). The secure route includes elements like routers, firewalls, servers, computers (including laptops), and WLANs with wireless access points. The course covers connecting these elements using the connector tool and differentiating wireless connections using dashed lines.
    • Saving Custom Shapes to a Personal Stencil: The course also teaches how to create and save custom shapes to a personal stencil for repeated use. This involves opening a new stencil, dragging existing or modified shapes into it, renaming the master shapes, and saving the stencil with a custom name (e.g., “codes stencil”). These custom stencils then become accessible in the “More Shapes” menu for use in future diagrams.
    • Adding Hyperlinks to Shapes: The course explains how to add hyperlinks to shapes to link to external documents (like Word, Excel, or PowerPoint files) or websites. This is done through the “Insert” tab, using the “Link” command. The dialog box allows browsing for a local file, and upon hovering over a linked shape, a cursor with a link icon appears, indicating that holding “Ctrl” and clicking will open the linked document.
    • Using the Process Tab for Sub-Processes: The “Process” tab is introduced as a way to link to sub-processes by creating new Vizio pages. Selecting a shape representing a sub-process (like “building the pricing plan”) and using the “Create New Page” option in the “Process” tab automatically generates a new page for detailing that sub-process and creates a link between the original shape and the new page. Ctrl-clicking the original shape navigates to the linked sub-process page.
    • Creating Organizational Charts from Excel Data: The course details how to generate organizational charts directly from an Excel file. This requires a specific Excel file format with columns for the employee’s name, who they report to, and their position. The “Reports to” column is crucial for establishing the hierarchical connections. In Vizio, a new organizational chart is created using the wizard, selecting the option to pull data from a file (Excel), specifying the file and worksheet, and then mapping the Excel columns to the appropriate fields in the org chart wizard (Name, Reports to, Position). The wizard then automatically builds the org chart, which may require some manual adjustments for layout and connector points.
    • Creating Pivot Diagrams from Excel Data: The course covers creating pivot diagrams from Excel data to visualize data summaries. This involves having structured data in Excel with headers. In Vizio, the “Pivot Diagram” template is used, and the data selector allows importing data from Excel by specifying the file and worksheet. Once imported, fields (like “Year,” “Salesperson,” “Region,” “Type,” “Sales,” “Unit”) appear, which can be added as layers to the diagram to analyze and break down the data (e.g., total sales by salesperson, by region, and by type of ice cream sold). The diagram can be customized by deleting layers, auto-aligning shapes, and editing data graphics or individual shape colors.
    • Sharing Vizio Drawings: Finally, the course briefly touches upon sharing Vizio drawings, which can be done by sharing on the cloud (OneDrive) or via email as a PDF or as an editable Vizio drawing. This can be accessed through the share button in the top right corner or through the “File” > “Share” menu.

    In summary, the Vizio advanced course focuses on enhancing diagramming capabilities beyond basic flowcharts by introducing techniques for visualizing complex processes, network structures, organizational hierarchies, and data summaries, as well as methods for customization, linking, and sharing.

    Vizio: Creating Cross-Functional Flowcharts

    Based on the sources and our previous conversation, let’s delve deeper into cross-functional flowcharts as discussed in the Vizio advanced course.

    In the Vizio advanced course, after learning the basics of creating flowcharts, the next step is to create cross-functional flowcharts. This type of flowchart is designed to illustrate process flow across different functional areas or phases within an organization or project.

    Here are the key aspects of creating cross-functional flowcharts as described in the course:

    • Starting with the Basic Flowchart Template: To begin, you use the basic flowchart template in Vizio. If you don’t readily see it, you can search for it online through “more templates”. After selecting the basic flowchart, you choose a blank flowchart and click “create”.
    • Utilizing the “Cross-Functional Flowchart Shapes” Stencil: A crucial element for creating cross-functional flowcharts is the “Cross-Functional Flowchart Shapes” stencil. You can access this by clicking on it, which will display the available shapes, most notably swim lanes and separators.
    • Swim Lanes and Separators:
    • Swim lanes are used to represent different phases or departments that are involved in the process being diagrammed. They act as horizontal or vertical containers to group related steps. In the example provided, vertical swim lanes are used to represent three different departments or teams: Team A, Team B, and Team C.
    • Separators, specifically vertical separators when using vertical swim lanes, are used to further divide the swim lanes and can be labeled to indicate the different functions or teams responsible for the activities within those sections.
    • Mapping Processes to Swim Lanes: Once the swim lanes and separators are in place, you can start adding basic flowchart shapes (like “Start,” “Process,” “Sub-process,” “Decision,” “Document,” and “End”) and positioning them within the appropriate swim lanes. This visually maps which department or phase is responsible for each step in the process.
    • Naming Swim Lanes and Separators: It’s important to name the swim lanes and separators clearly to reflect the phases or departments they represent. In the example, the initial swim lanes are labeled “Phase one,” “Phase two,” and “Phase three”. These labels can be modified; for instance, they are later changed to represent “Team A,” “Team B,” and “Team C” using separators.
    • Connecting the Flow Across Functions: The standard connector tool is used to show the sequence of steps in the flowchart, even as the flow moves across different swim lanes, indicating the handoffs or dependencies between different functions or phases.
    • Benefits of Cross-Functional Flowcharts: This type of flowchart provides a clear visual representation of how a process flows across different parts of an organization, highlighting responsibilities, potential bottlenecks, and areas for collaboration.

    In the example provided, a project lifecycle is mapped across three teams (A, B, and C) and potentially through different phases (although initially set as phases, the labels are changed to teams). You can see how “Project Alpha” is handled by Team A, obtaining permits and contacting developers is done by Team B, while contacting marketing falls under Team C. As the process progresses, different teams become responsible for subsequent steps like building a pricing plan, checking in with other teams, making decisions, and announcing the demo.

    By using swim lanes and separators, cross-functional flowcharts offer a more detailed and contextual understanding of a process compared to a basic flowchart, especially when multiple teams or departments are involved.

    Vizio Basic Flowchart Template: A Foundation

    Based on the sources and our conversation history, let’s discuss the basic flowchart template in Vizio.

    The basic flowchart template is presented in the sources as the foundation for creating various types of flowcharts, including the more advanced cross-functional flowcharts.

    Here’s what the sources tell us about the basic flowchart template:

    • Starting Point: The Vizio advanced course begins by using the basic flowchart template. This suggests it is a fundamental template that provides the necessary tools and shapes for illustrating sequential steps in a process.
    • Accessing the Template: When you open Vizio and want to start a flowchart, you can look for the “basic flowchart” template. If it’s not immediately visible, you can find it by going into “more templates” and searching for it online. This indicates that Vizio has a library of templates, and the basic flowchart is a standard option.
    • Creating a Blank Flowchart: Once you click on the “basic flowchart” template, you are then prompted to use a “blank flowchart” and click “create”. This implies that the basic flowchart template provides a canvas and access to relevant stencils, but you start with a blank drawing area to build your specific flowchart.
    • Foundation for Advanced Flowcharts: As mentioned earlier, the basic flowchart template is used as the starting point for creating more complex diagrams like cross-functional flowcharts. This means it likely contains the fundamental flowchart shapes (like process, decision, start/end, etc.) that can then be organized within swim lanes and separated by functional areas when creating a cross-functional flowchart, as discussed in our previous turn.
    • Access to Stencils: When you start with the basic flowchart template, you gain access to relevant shape stencils. For instance, when creating a basic flowchart and then moving to a cross-functional flowchart, the “Cross-Functional Flowchart Shape” stencil becomes available. This indicates that the initial template selection influences the stencils you can readily use for building your diagram.

    In summary, the basic flowchart template in Vizio is the initial template you select to begin creating process flow diagrams. It provides a blank canvas and access to fundamental flowchart shapes and stencils, serving as the starting point for both simple and more advanced flowcharts like cross-functional ones. If you don’t see it immediately, you can easily find it by searching through Vizio’s extensive template library online.

    Vizio Swim Lanes for Cross-Functional Flowcharts

    Based on the sources and our previous discussion, let’s delve into swim lanes in Vizio.

    Swim lanes are a fundamental component of cross-functional flowcharts in Vizio [1, previous turn]. They serve as visual containers to organize the steps of a process according to different phases or departments involved.

    Here are the key aspects of swim lanes as described in the sources:

    • Location in the Stencil: Swim lanes are found within the “Cross-Functional Flowchart Shapes” stencil in Vizio. This stencil becomes accessible when you start with a basic flowchart template and intend to create a cross-functional flowchart [1, previous turn].
    • Purpose of Separation: The primary function of swim lanes is to separate the activities within a flowchart based on who is responsible for them (e.g., different departments or teams) or the stage in which they occur (e.g., different phases of a project).
    • Vertical Orientation: In the example provided in the sources, vertical swim lanes are used. To add a vertical swim lane, you click and drag the “vertical Lane” shape from the “Cross-Functional Flowchart Shapes” stencil onto your drawing canvas.
    • Resizing Capabilities: Once a swim lane is added, its size can be adjusted to accommodate the flowchart shapes that will be placed within it. You can click and drag the edges of the swim lane to increase or decrease its height.
    • Inclusion of Titles: Each swim lane includes a title. This title is crucial for identifying the department, team, or phase that the swim lane represents.
    • Adding Multiple Swim Lanes: You can add multiple swim lanes to your diagram, positioning them next to each other to represent all the relevant functions or phases involved in your process.
    • Labeling Swim Lanes: The title of a swim lane can be easily changed by double-clicking on the existing title (which defaults to “Function”) and typing in the desired name, such as “Phase one,” “Phase two,” “Phase three,” “Team A,” “Team B,” or “Team C”.

    In the context of creating a cross-functional flowchart, after adding and arranging the swim lanes to represent the different involved parties, you then place the standard flowchart shapes within the appropriate swim lane to visually depict who performs each step of the process [4, previous turn]. The connectors then show the flow of work, often crossing between swim lanes to indicate handoffs or dependencies between different functions.

    In summary, swim lanes in Vizio are essential tools for creating cross-functional flowcharts. They provide a structured way to visualize process flow by organizing activities within clearly defined sections representing different responsibilities or stages. The ability to add, resize, and label swim lanes makes them highly adaptable for mapping various types of cross-functional processes.

    Visualizing Project Phases in Vizio Flowcharts

    Based on the sources and our conversation history, let’s discuss project phases in the context of creating flowcharts using Vizio.

    The sources indicate that project phases can be effectively represented in a cross-functional flowchart using swim lanes. Swim lanes allow you to visually segregate the different stages or phases of a project, making it clear which activities belong to each phase.

    Here’s how project phases are addressed in the sources:

    • Swim Lanes as Representation of Phases: When introducing the concept of cross-functional flowcharts, the source explicitly states that swim lanes can be used to separate things by “different phases”. This establishes swim lanes as a primary tool for visualizing project phases within a flowchart.
    • Initial Labeling of Swim Lanes: In the example provided, the initial setup of the cross-functional flowchart involves creating three vertical swim lanes that are labeled as “Phase one,” “Phase two,” and “Phase three”. This directly demonstrates how swim lanes can be named to represent distinct project phases.
    • Flexibility in Representation: While the initial example uses “Phase” to label the swim lanes, the source goes on to change these labels to represent “Team A,” “Team B,” and “Team C”. This highlights the flexibility of swim lanes, indicating that they can be used to represent not only project phases but also different departments or teams involved in the project lifecycle. The key takeaway is that swim lanes provide a method for categorizing and organizing flowchart activities based on a chosen criterion, which can be project phases.
    • Visual Organization of Activities: By placing specific flowchart shapes within the swim lane corresponding to a particular project phase, you can clearly visualize which activities occur during each phase. The connectors then illustrate the flow of work through the different phases, potentially moving from one swim lane (phase) to another.

    In summary, project phases can be effectively visualized in Vizio by utilizing swim lanes in a cross-functional flowchart. You can label each swim lane to represent a specific phase of the project and then place the relevant process steps within that swim lane. While swim lanes can also represent other functional divisions like teams or departments, they provide a clear and organized way to map out the progression of a project through its various stages. The ability to label and resize swim lanes offers the flexibility to represent project phases in a way that best suits the specific project and its requirements.

    Visio 2021 Advanced Tutorial

    The Original Text

    hello everyone and welcome my name is Joe I’m going to be facilitating this course for you today and today we’re going to be talking about Vizio advanced in our Vizio introduction course what we ended up creating was a basic flowchart what I want to start off with today is creating what’s known as a cross-functional flowchart to do this we’re going to use our basic flowchart template right here and if you don’t see that you can always go into more templates and search for it online so once you click on basic flowchart we’re then going to use our blank flowchart and click create now you’ll see right away that we have the option for cross-functional flowchart shape stencil and if I click on it this is where we’ll find our swim lanes and our separators this will allow us to separate things by different phases or even different departments that are going to be working on these different flow charts so let’s say that we’re working on a project and we can use some basic flow chart shapes for this we’ll do a start and end and I’ll just put my start right here and let’s say that this is going to be I don’t know we’ll make up the process as we go along we’re going to have a process underneath it we’ll have some sort of process and we’ll reshape this and then we’ll have another process then we can always duplicate for another one then somewhere along the line we’ll have some sort of sub process and we’ll start to follow this out in a little bit we’ll have another process and once again I could just use Ctrl D to duplicate maybe we’ll have a decision somewhere I think that looks good right there just gonna space this out nicely and then we’ll have a document that we need to access or create and last but not least we will duplicate our end so for these different processes what we can do is we can start to map these out to different departments and different phases for instance maybe there’s going to be three phases that this project is going to be completed in and I’m going to have three different departments working on this I’m just going to move my shapes to wherever I’d like just so that they feel like they’re more aligned and we’ll do something like this I think this looks great and next what I’m going to do is start to name these so for this first process what we’ll call this is project Alpha there we go and of course we can always change the size of this and all the other editing tools that we’ve went over in our Vizio introduction video I’ll just add a size 14 on there I think that looks great so what we’re going to do now is fill out the rest of this I’m going to click into the next one and we’ll say for this one we’re going to Bourbon and once again I’ll just change everything I need to change here I’ll go with a 14 point font and then after that I’m thinking we’ll do contact Developers foreign we will contact our marketing team so we could start to get this project marketed after this we might have a sub-process where we’re building a pricing plan and once again I’ll just change that to a 14 point and then we may want to just check in on our developers and marketing team and I like to just do a double click like this so that I can get R if we go one two we get our nice little app box here but what we can also do is just go right up top and just change it here as well whatever works down here we do want a decision point on this and the decision point is how we want to announce this so do we want to announce this via teams or email foreign to do an email we are going to want to write up an email on this so once again I’ll just change this to 14 point there we go we may want to make this a little bigger just because of the text and then if we do decide to do email and I’ll just change that via if we decide to do email well then we’ll go up here and we will write out the document so this will be our demo announcement document and last but not least well we’ll have our demo now we just have to create our connections and I’m going to go to my connector tool and I’ll create a connection I want to make this a static connection so I will be going from point to point and once again point to point and there we go and then for our announcements we’ll either if we decide to do email go to demo announcements or we’re just going to go straight to the demo if we’re going to do a quick little teams announcement and I think that looks great now I’ll go back to my pointer tool I’m just going to switch up this line so it’s straight I might want to switch this line up so it’s straight as well there we go and I think this looks awesome but now what we’re going to want to do is set up our cross functional team because I have three teams working on this team a team B and team C but I also have this in different phases so the first thing I’m going to do is go over to my cross-functional flowchart shape now for this I’m going to use the vertical Lane for the vertical swim Lane and I’m going to click and drag it right here and I can make it as big as I want if I wanted to make it a little bigger you can come over here and click and drag whatever works for you and I’m just going to make that a little bigger there perfect and I want to include that line so perfect it also includes the title which is really nice and now that we have this I might just make this a little different here and there we go beautiful and I think that looks nice now I’m going to add another Swan Layman as well the second one is going to go right next to it and once again I want this to capture the rest of them so I will click away and then once I click away I could just click and drag and I include it like this and then last but not least one last swim Lane right over here and then I click away and then you can resize it now what I want to do is I want to start to add more phases you’ll see here that this is all just one face I want this to be all different types of faces so I want this to say instead of function I’ll double click and I’ll call this one phase one I’ll then click on the next function and I’ll call this one phase two and I’ll click on this third one nice double click phase three now for these phases I don’t really want it to say phase I want it to have theme A Team B Team D but I do need to split this up so I’m going to use what’s known as a separator now if you’re using a vertical swim Lane you’re going to use a vertical separator and if you’re using just a swim Lane horizontally you’re going to use the normal separator so I’ll click on vertical separator and click and drag this one right here and what I’m going to do is I’m going to change this to instead of it saying phase I’m going to call it team a now I know that team a is going to be dealing with the project Alpha discussion a building pricing plan and then that’s it we’ll then go into another separator and I’ll add it between these two right here and we’ll just say that let’s go all the way over here let’s add contact Developers and this is going to be my team so Team B is going to be working on all these different flows now I’ll do class separator if I needed to but since it’s already here all I have to do is double click and then put Dean see and now we have everything organized so for phase one I have Team a working on the idea of project Alpha I have Team B playing the permits and contacting developers while my team fee contact marketing degree then when we switch over to phase two team a will be building out a pricing plan and Team B will be checking in on the marketing and development and then team c will make that decision if they’re going to announce via teams or email once we get into phase three email is fully done with this project I think B is going to be announcing the demo and then of course if we decide to send out this document or if we don’t we can skip into that now I do want to add one more connector just from here demo and there we go I may also want to add the text here as well to decide what is the decision is this the teams or is this the team so I’m going to click on text and I’m going to enter the text here I’m just going to put via themes and you can make that a little bigger if you like I’ll do a 14 point and then once I’m done I can use my pointer tool to actually take this and drag it down here because this is where it’s going to live beautiful and then I’ll do another one I’m going to put it here and I’m going to say via email and once again you can double click make this a little bigger I’ll do 14 point and then I’ll click on my pointer tool and just click and drag it to the middle here and look at that this is looking great of course we could change the colors as I always like to do I could change one color or both at the same time and then I can just do a quick fill maybe I’ll make those ones let’s do a red for those for all the processes I’m gonna do a lighter blue something like that that looks great for the sub process let’s do a nice green for the announcement I’ll do a purple and then for the demo I’ll do chemo announcement in yellow you can also change these shapes as well if you like and fill them with different colors you can do a nice light gray just click on each one maybe I want to change this to a different color as well you’re more than welcome to in each of these as well and there we go and you might just want to change that text of course and change it to a different color and there we go so you can have really a lot of customization to this and make it look any way that you like so take a moment try this out on your own and when we come back we’re going to talk about building a network diagram what we’re going to be talking about next is creating a network diagram now this network diagram will show the hierarchical network design using wlans and also internet working so the first thing I’m going to do is create a new file I’m actually going to just simply search for a network diagram you’ll also see here in the suggested search that we have network if we give that a click it’s going to search thousands of our templates and we can go here and choose which one we want now I’m just going to Simply use a basic diagram so I’ll go to basic Network diagram give it a click use a basic Network diagram or we can use a small slash medium business at work diagram whichever one you’d like to use you’re more than welcome to they just have different icon designs now for me you can even just start from scratch which I’m gonna do and then I’ll click create now the first thing I’m going to do is the insecure route so I want to be able to create a box and then start to put different things in there you’ll see we have access to networks we have computer monitors and we have quick shapes or even more shapes that we can add so I do want to just add some basic shapes here so I will go to more shapes and then I’ll go to General and basic shape this is where I can start to create those borders and I’m going to click and drag the square over here I’ll make a little bigger here just like that I think that looks good I don’t want to fill so I am going to turn the fill off no fill but I do want to make sure I can see that line so I’m going to do that and there we go we have a nice little light box now inside this box I do want to have the internet I’m going to go to network and I’m going to search for anything that helps me to distinguish that this is the internet that we’re connecting to and we can use whatever we like whether we want to do wireless access point or maybe we want to create a cloud so I can search for cloud and there we go we see the cloud right here and you’ll also notice that it’s under Network location so you can just see through all these different things we have symbols we have calendar shapes but I’m going to use this one and put it right here and then what I can do is just enter a text box and the text box is going to say internet just so that I have some sort of labeling system here I’ll put internet and there we go now I can go back to home grab my pointer tool and click and drag it wherever I like and I’ll put it right there now the next thing that I want to do is group these together I think it’s important to do this so that I know this is one object I can do that by clicking on this one holding the control key clicking on internet and then we’ll go to group under the enrangement group give it a click and click group so now it’s all one so even when I move this I can move it around as one piece next up I do want to search for some sort of like business building so that I can represent the building and once again you can either look here add some of your network or you can just search for building and there we go building and it’s under once again Network locations and I’ll give that a click here now I’m going to make a connection from our Internet to our actual building and I may also want to just put in here that this is an insecure Network space so I’m going to add another insert text box and then I’ll add it right here and I’ll just put into here you can also make this a little bigger and I’ll just go with like a 30 point I think that looks good and now I can make my connection by going to the connector tool and connecting this straight to this and there we go looks perfect now if you did want to connect this tool maybe you want to move it over a little bit you’re more than welcome to just so that it looks a little nicer it’s not just coming straight from the middle and I think that looks great the way it is the next thing we need to do is now create the secured route so in order to do that we’re going to actually create the router and the firewall right here once again there’s different things you can use for the shapes and you’ll see I have a firewall here and I have a router designed so I’m going to use both of these I’ll just click my router put it here and I’ll take my firewall and I’ll put it here now I do want my firewall behind the router so I will click on bring front or send back and I’m going to actually send this backwards so that my router is on top of my firewall the next thing I’m going to do is create another shape I’m going to actually just duplicate this one so it saves us some time and I’ll put that right here I think that looks great and now I can start to add my secure network and I like to do a lot of duplication because it’s a lot easier than resizing everything and I’ll put secure it instead the next thing I’m going to do is add another router so I will just click on this router duplicate it and add it right here I’ll add a couple more routers as well three more so I’ll do Ctrl D Ctrl D Ctrl D and I’ll move those to wherever I like and I’m going to go here here and probably one here so I may want to make this a little bigger and there we go and I think that looks great the next thing I’m going to do is I’m going to create the server and then I’ll create the computers as well so I can take the server icon bring it over here and then I’m going to take the computers and I’ll just find the computers here or once again we can just go over to our shapes look at the different stencils we have like computers monitors and I can use these and I’ll just bring out a couple of them here and you know what I’m thinking let’s use laptop that looks better I’ll duplicate those because we’re going to have probably three laptops here and then I’ll make this once again a little bigger of a shape because I want to make sure that it fits all of our different icons and I might move this a little as well and there we go now the last thing I’m going to do is have a couple of wlans and I’m going to have one room filled with computers and then a second one so once again I will create that shape just by duplicating it bring it over here squeeze it up a little bit maybe make it a little and if you notice that it’s doing something like this the shape and it’s just not really listening to how you want it to be what you can always do is enter a different shape and I always like to just use if I’m going to use shapes that have some sort of text box I may just use a text box but if you wanted to once again you can always just go back to basic shapes and instead of choosing Square you can use rectangle whatever way works for you you’re more than welcome to do since I know I’m going to be adding a bunch of different icons in here I’m going to just create a rectangle foreign and then once again on that rectangle I’m going to make sure that there’s no fill and I’ll do the line to be Gray I’ll create a duplicate of that and then I will just grab these text box and that control D like I said it’s going to help out a lot so you don’t have to constantly resize things and I’m going to just call this a WLAN s and we’ll put 0 1. I’ll duplicate it and then I’ll do zero to them and maybe make this a little bit bigger next up I’m going to add let’s say probably four computers here and four computers here as well so I may want to make this a little bigger here and I’ll just add a couple of computers and for these computers I will make them a little smaller just so that we can put them in this box for us and then I’ll do Ctrl d c d control d just like this and all we’re doing is building out a scheme for this network design and I’ll create a couple more and now what I want to do is I want to make sure that there is some sort of access point so I will put a wireless access point here and I’ll put another wireless access point here as well now that we have everything that we need what I want to do is start to create these connections so for the secured what I want to do first is actually bold it and underline it same thing here bold underline bold underline and bold and underline now I’ll create those connectors so I’m going to connect this router to this one and I’m just going to change this over here just like that I’m going to connect this router with this one and then also this router with this one now for this connection I’m connecting this router with the computer this router with this computer and you can always just move those over if you don’t like where their placement is and then I’m just gonna grab one last one and move it over here and make sure once again you just grab by that box there we go now the next thing that I’m going to do is create a connection from here to the server box and once again you’re more than welcome to move these whatever you like I might want it on a more straight path there I think that looks good and I’ll just move this over here move this one a little bit over here as well there we go and the last thing that I’m going to want to do is create some dotted lines to show that this is going to be a wireless connection from this router to these two wireless access points and to do this what we can do is create the connection and I’m going to pull the connection from here to here and I’m going to do that one more time from here to here but when you click on the actual line when you click on this connection here I’m going to go to the line and instead of it being a wait line I’m actually going to make it a dashed fine just like this and I’ll do that for this one as well I go to line and I make it a dashed line and that just gives us a representation that this is actually a wireless access point and there we go we have an awesome now Network design and we can start to create these secured Networks take a moment try this out for yourselves and when we come back we’ll get into some more fun stuff so here I am back at one of the first diagrams that we created now over here we’ve seen that when we select certain templates like basic flows chart you’ll see that we get certain stencils like the basic flowchart shape stencil cross-functional flowchart shapes and that’s how we were able to build this but sometimes what we want to do is create an actual shape and then save it to a personal stencil that way we can use them over and over and over again without having to worry about what kind of formatting we did to it so the first thing you’re going to do is go to more shape and you’re going to go to new stencil and you’ll pick whatever metrics works for you I’m going to use US units now it’s going to say stencil 3 and I can quickly start to drop shape right here for instance I love the way that our star and shapes are they’re red with a blue lining and that’s something I’m going to want to use in the future so what I can do is I can click on this shape duplicate it and then take this shape it’s duplicated and drop it right here that will now add it to my stencil now of course it calls it a master 0.2 so we can right click and we can actually edit this name and I’m just going to say start flash end now we can do the same thing for the rest of them I could just duplicate click and drag and then we can call this one our process and you can add any types of shapes you want even if I go into let’s say more shapes and I decide to use I don’t know maybe food and drink I can take this shape put it here let’s do Apple let’s do cake slice let’s do candy because I know I’m going to use them go back to my stencil 3 and then I can just simply add these over here and there we go and then you can rename them once again by right-clicking rename master I’ll rename them what they are so while I’m doing that I’m then thinking well it does stencil three here I actually want to rename this one as well so if you want to do that you can click save the little save icon and you’re not going to actually move the location you’re just going to name this what you want and I’m going to call this codes stencil once I click save it’s now in the system so if I do decide to open up a brand new file I go to file new and I open up basic diagram it’s actually going to be in more shapes and then I could go to my shape and I could see ghost stencil so you can use this now forever this is a great way to easily access shapes that you use all the time so take a moment try that out on your own and when we come back we’re going to get into using hyperlinks and also the process tab so in our cross-functional flowchart we actually added a couple things here that can be used for linking for instance you’ll see here the building pricing plan and what we’re going to want to do is since it’s a subtask we’re going to want to create a whole nother basic flowchart around the building of the pricing plan we also added in the demo announcements document so wouldn’t it be really nice if we could just click on the shape and it opens up that document in Word well good news you can do that in Vizio you can connect Excel files Word files or even PowerPoint files as well so the first thing we’re going to do is we’re going to create that hyperlink for this document I’m going to click on the actual shape and I’m going to go over to the insert tab now inside of the insert tab this is where the link command group lives and that’s where the command link lid now all you have to do is give that a click and it’s going to populate this dialog box it’s going to say okay so we have the address here you want to browse an internet address where you can connect it to some sort of site maybe your home site or do you want to connect this to a local file on your computer the second option here sub address is linking it within the actual file so right now I have a page one and if I click on browse it will offer me page one but I already know what I want to do I want to browse a local file it’s going to pop up this dialog box and what we’re going to do is access some sort of file and I’ll just use a fake one for today I’m going to use some fake Word file here let’s do let’s do this one here now make sure good point right now I’m on Vizio file you’re going to want to click on all files so that you see all of them that’s when you can click and then click open and now it will link you to that document but if you’re on files and it automatically puts you in video files you’re not going to see anything so you’re going to want to click the drop down all files and then choose the file you want to connect to once you’re done you click ok and there we go it is now connected now I know it’s connected because if you hover over any of these you just simply get your cursor with four arrows but if I hover over this one I get a different looking icon here I got my cursor with a little link and if you hover over it it will even display a little text saying if you hold Ctrl click you’ll follow the link so if I hold Ctrl and I click this it’s actually going to open up word boom there it is brings me straight here pretty amazing so the next thing we’re going to talk about is the process Tab and this is very similar to hyperlinks except this goes into subprocess for instance this sub process for building the pricing plan I’m going to create a whole nother basic flowchart for this so to actually access the process tab you’re going to go over the process now once here you can either create a link from an existing subprocess or you can create a new page now I usually use the create new page so when you click on this you’re going to select the building pricing plan make sure it’s selected with the sizing bullet click on create new and it is going to create a brand new page down here for the building a pricing plan which is nice because now I can start to put all this information on here now not only that but it also creates that link so if I use control click it will bring me to the building of the pricing plan workflow and there we go we’re on that second page now I can rename page one if I wanted to and I’ll just double click and I’ll just call it project also and now we have our two sheets project Alpha and the building pricing and this will link straight to that page and this will link straight to the document these can be really helpful especially if you have more than one flowchart for an entire project take a moment try it out for yourselves and when we come back we’re going to talk about making an organizational chart from an Excel file to make an organizational chart from an Excel file the first thing you’re going to want to do is build the Excel file in a nice format that will work with Vizio to do this you’re going to open up Excel file and you’re going to make sure it has three things the first thing has to be the name of the person who they report to and also what their position is the biggest thing out of all of this is the reports too this makes those connections between the different shapes so I see here that I am going to be the CEO if I actually don’t report to anyone here you can leave that blank but then we have Crystal Willie and Dana and they all report to me then we have Marco who reports the crystal Danny and April who report to Marco and then Lucas Elsa Sarah report to Willie Elizabeth reports to Dana and then Caroline and Andy report to Elizabeth so now that I have it like this all I have to do is in my actual Vizio open up Vizio go over to file new and I’m going to search for an org chart so I’ll click into the search I’ll type in organizational chart or if you see it right here you could give it a click now the thing I’m going to use is not one of these pre-built templates I’m actually going to use the wizard and when I use the wizard it will give me that option to actually pull it from a file or entered in the wizard now I’m going to pull it from an Excel file so I’ll use this first one and these are the different files you can choose from I’ll then click next and it’s going to ask you well where is it stored now I’m selecting Excel file and clicking next and then it’s going to ask me where the file is located if I can bounce for this file find it on my desktop and choose Excel org chart data or whatever you named it and click open I’ll click next and the next thing it’s going to do is ask me what columns are we going to fill in well the name is going to be the name column I created reports to will be the reports to and if you did have a first name column you could use that but that is optional so I’ll leave it at none I’ll then click next now it’s going to ask me about the columns that our data wants to display and I want the data file column to be the reports to I actually don’t want to display who they report to that’s just going to be the connectors I want it to display the name and the position of the person I’ll click next ask me for the data file that you want to add to the org chart once again same thing I want the shape data to be the name and position okay you actually want the connectors to be reports to so I’ll click next if you had any pictures of all of these employees you could include the pictures and it even tells you right here an example of that would be if you’re going to match it you want to make sure that it has their first name last name and it’s a DOT PNG but we’re going to say that we’re not going to include fake pictures in this org chart and I’m going to click next up is going to ask what happens if it’s 2 we want to fit this on the entire page so I’m actually going to have the wizard worry about that formed and I’ll click finish once you do that it builds it out and it looks amazing now all we have to do is move some stuff over you can even change the connection points and then I’ll move this one over a little bit we’ll move this over a little bit and then once again I’ll change the connection points and I’m just making it look a little neater here and then I’m going to do the same thing over here as well now you can make this as big as you want it so I’ll just come over here and move and you’ll notice when you move things and move some all at one that’s the best part about this hierarchy and I’m just going to do it so that it’s all leveled nicely I think that looks good and then next up we have the head of HR once again I’ll move those connectors that looks good I might want this in the same place as that and then once again we’re going to just move this way over here just so we have enough room for all of these other things as well so right there I’ll move that connector so you do have to put some work into this but at the same time it’s looking great once again I’m just going to move all of this over yeah so I have enough room here and I’ll change this just like that maybe bring it down a little bit bring it down a little bit so we have some straight line here and then last but not least we’re going to move these make sure that they’re all looking great and there we go I’m just going to move the connectors and then we have a beautiful org chart and there we go look at that now of course I do want to make a connection if the connection moved that’s okay you can always go back to home turn on your connector and then create a connection from here to this one and now we have a beautiful org chart and there we go and take a moment try this out on your own you can use some fake names just remember you have to have the name the reports to column and then also the position we’re going to be talking about making a pivot diagram from an Excel file to do this the first thing we need to do is make sure that we have Excel information now what I always like to do is I like to make sure that I have my headers and then the information in here so all of my months going down my years type of ice cream sold who the sales person was what region they sold in how much they made in sales and then how much they sold in unit now once you have this you’re going to want to make sure to remember what this tab says right here it says it’s the pivot table Basics worksheet tab so I’m going to exit out of here open up my Vizio again and I’m going to go to file new and which template we’re going to use is the pivot diagram template if you don’t see it here in this list you can always search for it in the search for online template connection once you search for it and pull it up you’re going to click and click create now right away it’s going to pop up the data selector and it’s going to ask you where’s the data coming from and you can select it from either Excel or access or SharePoint or even SQL servers I’m using Excel so I’ll choose Excel and click next it’ll then ask me to select the workbook and I’ll click browse and I’ll choose that file that we use we’re in and I’ll click open it’ll then ask me when I click next what worksheet or range do I want to use I’m going to select that pivot table Basics worksheet that I was creating and it’s going to ask you if the first row of the data contains column headers mine did so I’m going to make sure to make that check marked we’ll then click next I want to include everything but you could choose whatever columns and rows you want and then click next once it’s successfully imported I could click finished and now I have all my information here Now by default right now what it’s doing if I zoom in here it’s just giving me the total for the year I don’t want that I want to see how much should I make in total sales so I’ll deselect this and yourself and it shows me we made about 1 million in sales 1.5 the next thing I’m going to do is start to add some layers here so I see that we made 1.5 billion but how much should each sales rep contribute to this number so I can just click on sales and now I can see the sales person Bishop made 531 pull them made 450 and Watson 8575. if I want to know how much should they make per region they sold in I can click on region and then it’s going to add the region for Bishop Central Northwest for Poland Central Northwest and for Watson Central Northwest the last thing I may want to see here is a breakdown of what type of ice cream they sold in each region if I can click on type and there we go for the central region we sold frozen yogurt ice cream and tasty treats for the north we sold frozen yogurt ice cream only and for the West we sold frozen yogurt ice cream popsicles and tasty treats and if I zoom out of this you’ll see we now have this beautiful chart where it gives us a breakdown by the total sales Bishop’s total sales when he made per region and then what he sold in each region we can also change that from sales to unit and then it adds the units on here as well so if I zoom back in added that frozen yogurt we sold 29 000 units which gave us that forty four thousand dollars to take a moment create some sort of data set that has some Grid in there and then you can pull a pivot diagram let’s say that you want to delete something off of this pivot diagram for instance I don’t want the type of ice cream anymore I can always just go back over to type a little drop down select all and when I select all I can press delete on my keyboard and it gets rid of all those types after that I can realign everything by going over to a range in the Home tab going to a line and auto align everything then I can go to position in Auto space and also Auto align everything as well it all makes it look nice another thing that we can do here in our pivot diagram is make changes to our actual shapes here for instance for the region I could go over and change them all at one by clicking the drop down and editing the data graphics you can change to edit that item maybe I don’t want it to look like a heading 1 or maybe I want to choose a different color maybe I want it to be a time call out or a mobile column instead of having one you can do that or if you wanted to you can always just click on the central go over to the fill and then choose whatever color makes sense and there we go so take a moment have some fun with editing this and when we come back we’re going to talk about how we can actually share these diagrams to share a drawing with someone there’s two ways to do it we can either come to the top right corner here and click on share and when I click on share it’s going to give me two options I can either share this on the cloud using my book drive or I can share this in an email as a PDF or as an actual video drawing where they can open it up in their Vizio application the same thing to do this is by going to file share and you’ll see once again we can either share with OneDrive or an email we could send as an attachment or as a PDF I hope you got a lot out of this class thanks so much for being here and have a great day thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learnit.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Microsoft Visio: Diagramming, Flowcharts, and Floor Plans

    Microsoft Visio: Diagramming, Flowcharts, and Floor Plans

    The provided text is a transcript of a Microsoft Visio tutorial led by “Joe.” The tutorial guides users through Visio’s interface and fundamental features, demonstrating how to create various diagrams. It covers building a basic flowchart, including shapes, connections (dynamic and static), text annotations, and visual modifications like color changes. Furthermore, the session explains how to use callouts and grouping to enhance diagrams. Finally, it introduces methods for constructing organizational charts (manual, using templates, and with a wizard) and designing a simple floor plan, before concluding with an explanation of using containers to organize flowchart tasks into phases.

    Microsoft Visio Study Guide

    Quiz

    1. What is the primary purpose of Microsoft Visio? Visio is a diagramming tool that allows users to create a wide range of visuals, from simple to complex diagrams and vector graphics. It is used to illustrate various business needs through organizational charts, floor plans, pivot diagrams, and more.
    2. Describe the main components of the Visio interface that are visible when you first open a drawing. Upon opening a new drawing, the main interface elements include the ribbon at the top, which houses tabs, command groups, and individual commands. On the side, there are typically stencils containing various shapes that users can drag and drop onto the drawing canvas.
    3. What is the difference between a dynamic connector and a static connector in Visio? A dynamic connector attaches to any point on a shape, and the connection point will automatically adjust if the shapes are moved. A static connector, on the other hand, is “glued” to specific connection points on the shapes, maintaining that specific connection even if the shapes are repositioned.
    4. How can you add text to a shape in Visio, and what basic formatting options are available? To add text to a shape, you simply select the shape and begin typing. Basic formatting options, similar to other Microsoft Office applications, are available under the Home tab, allowing you to change the font type, size, color, and other text properties.
    5. Explain the purpose of the “Format Painter” tool in Visio. The Format Painter tool allows you to copy the formatting (such as fill color, outline style, font properties) from one selected shape or text element to another. This helps maintain consistency in the visual style of your diagrams efficiently.
    6. Describe how to insert a callout in Visio and what it can be used for. To insert a callout, select a shape, go to the Insert tab, click on “Callout,” and choose a style. Callouts are used to add extra information or annotations that are directly associated with a specific part of the diagram.
    7. What is the benefit of grouping shapes in Visio, and how can you group them? Grouping shapes allows you to treat multiple objects as a single unit, making it easier to move, resize, or rotate them together without disrupting their relative positions or connections. To group shapes, select all the desired shapes (e.g., by using Ctrl+A for all or holding Ctrl while clicking individual shapes), go to the Home tab, find the Arrange command group, and select “Group.”
    8. What are the three methods discussed for creating organizational charts in Visio? The three methods discussed are: manually building an org chart using basic shapes and connectors, utilizing one of Visio’s pre-designed starter organizational chart templates, and using the Organization Chart Wizard, which can import data or guide you through manual entry.
    9. Briefly describe how to start designing a floor plan in Visio. To begin a floor plan, open Visio, go to File > New, and search for or select a floor plan template (e.g., Home Plan). Once a template is chosen and a new drawing is created, you can utilize the stencils containing walls, doors, windows, furniture, and other relevant shapes to start building the layout.
    10. What is the purpose of using containers in a flowchart diagram in Visio? Containers in Visio help organize and visually group related shapes or processes within a diagram, often representing phases, departments, or timelines. They provide a way to structure the flowchart and make it easier to understand the different stages or responsibilities involved.

    Answer Key

    1. Visio is a diagramming tool that allows users to create a wide range of visuals, from simple to complex diagrams and vector graphics. It is used to illustrate various business needs through organizational charts, floor plans, pivot diagrams, and more.
    2. Upon opening a new drawing, the main interface elements include the ribbon at the top, which houses tabs, command groups, and individual commands. On the side, there are typically stencils containing various shapes that users can drag and drop onto the drawing canvas.
    3. A dynamic connector attaches to any point on a shape, and the connection point will automatically adjust if the shapes are moved. A static connector, on the other hand, is “glued” to specific connection points on the shapes, maintaining that specific connection even if the shapes are repositioned.
    4. To add text to a shape, you simply select the shape and begin typing. Basic formatting options, similar to other Microsoft Office applications, are available under the Home tab, allowing you to change the font type, size, color, and other text properties.
    5. The Format Painter tool allows you to copy the formatting (such as fill color, outline style, font properties) from one selected shape or text element to another. This helps maintain consistency in the visual style of your diagrams efficiently.
    6. To insert a callout, select a shape, go to the Insert tab, click on “Callout,” and choose a style. Callouts are used to add extra information or annotations that are directly associated with a specific part of the diagram.
    7. Grouping shapes allows you to treat multiple objects as a single unit, making it easier to move, resize, or rotate them together without disrupting their relative positions or connections. To group shapes, select all the desired shapes (e.g., by using Ctrl+A for all or holding Ctrl while clicking individual shapes), go to the Home tab, find the Arrange command group, and select “Group.”
    8. The three methods discussed are: manually building an org chart using basic shapes and connectors, utilizing one of Visio’s pre-designed starter organizational chart templates, and using the Organization Chart Wizard, which can import data or guide you through manual entry.
    9. To begin a floor plan, open Visio, go to File > New, and search for or select a floor plan template (e.g., Home Plan). Once a template is chosen and a new drawing is created, you can utilize the stencils containing walls, doors, windows, furniture, and other relevant shapes to start building the layout.
    10. Containers in Visio help organize and visually group related shapes or processes within a diagram, often representing phases, departments, or timelines. They provide a way to structure the flowchart and make it easier to understand the different stages or responsibilities involved.

    Essay Format Questions

    1. Discuss the advantages and disadvantages of using dynamic versus static connectors in different types of Visio diagrams. Provide specific examples where one type of connector might be more beneficial than the other.
    2. Compare and contrast the three methods for creating organizational charts in Visio presented in the source material. Evaluate the suitability of each method based on factors such as data availability, complexity of the organization, and desired level of customization.
    3. Explain how the various features of Visio, such as stencils, connectors, formatting options, and grouping, can be utilized effectively in the process of designing a detailed and understandable flowchart for a business process.
    4. Describe the process of designing a floor plan in Visio, highlighting the role of different stencils and tools in creating an accurate and visually informative representation of a space. Discuss potential applications of Visio in this context.
    5. Analyze the benefits of using containers in Visio flowcharts for project management or process mapping. Explain how containers can enhance the organization and clarity of complex diagrams, and discuss alternative methods for achieving similar organizational benefits.

    Glossary of Key Terms

    • Vector Graphics: Images created using mathematical equations to define lines, curves, and shapes. Unlike raster graphics (which are pixel-based), vector graphics can be scaled without losing quality.
    • Diagramming Tool: Software used to create visual representations of data, processes, structures, or relationships, such as flowcharts, organizational charts, and floor plans.
    • Templates: Pre-designed layouts or models that provide a starting point for creating various types of diagrams, saving time and ensuring consistency.
    • Stencils: Collections of related shapes that can be dragged and dropped onto the drawing canvas to build a diagram.
    • Ribbon: The main command bar located at the top of the Visio interface, organized into tabs, command groups, and individual commands.
    • Shape Styles: Predefined or custom formatting options that can be applied to shapes, including fill color, line style, and effects.
    • Format Painter: A tool that allows you to copy the formatting from one shape or text element to another.
    • Callout: A text box with a line pointing to a specific part of a diagram, used for adding annotations or explanations.
    • Grouping: Combining multiple shapes into a single object, allowing them to be manipulated (moved, resized, rotated) as one unit.
    • Organizational Chart: A diagram that illustrates the structure of an organization, showing the relationships and hierarchy between different positions or departments.
    • Floor Plan: A diagram that shows the layout of a room or building from an overhead view, including walls, doors, windows, and furniture.
    • Flowchart: A diagram that uses symbols to represent the steps in a process or workflow, showing the sequence of actions and decisions.
    • Connectors: Lines or arrows used to show the relationships or flow between shapes in a diagram.
    • Dynamic Connection: A connector that automatically adjusts its connection point on a shape when the shape is moved.
    • Static Connection: A connector that is “glued” to specific connection points on shapes and maintains that connection even if the shapes are moved.
    • Text Tool: A tool used to add and manipulate text elements within a Visio drawing.
    • Container: A visual boundary that can be drawn around a group of related shapes in a diagram to organize and manage them as a unit, often representing phases or categories.
    • Chart Wizard: A guided process within Visio that helps users create organizational charts by importing data or manually entering information.

    Briefing Document: Microsoft Visio Fundamentals

    Date: October 26, 2023 Prepared For: Interested Learners Subject: Review of Microsoft Visio Introductory Course

    Executive Summary:

    This briefing document summarizes the key concepts and functionalities of Microsoft Visio as presented in the provided course transcript. The course aims to introduce users to Visio as a diagramming tool capable of creating simple and complex diagrams, vector graphics, organizational charts, floor plans, and pivot diagrams. The initial sessions focus on navigating the Visio interface, creating basic flowcharts, adding text and connections, customizing shapes, and utilizing features like callouts and grouping. Later sessions delve into creating organizational charts using manual methods, built-in templates, and the Organization Chart Wizard, as well as designing basic floor plans and leveraging containers for project timelines within flowcharts.

    Main Themes and Important Ideas/Facts:

    1. Introduction to Microsoft Visio:

    • Visio is defined as a “diagramming tool to create simple as well as complex diagrams and vector graphics.”
    • It enables the creation of “detailed organizational charts floor plans and pivot diagrams according to your business needs.”
    • The opening page displays different templates and options to start basic diagrams or access more templates.
    • Users can search for existing files and view recent work.
    • When creating a new basic diagram, users are prompted to select a measurement system (metric or U.S. units).

    2. Navigating the Visio Interface:

    • The interface includes the familiar Microsoft “ribbon” with tabs, command groups, and commands.
    • “Stencils” containing various shapes (basic, arrow, decorative, flowchart, etc.) are available on the side. Users can add or search for more stencils.
    • Shapes are added to the drawing canvas via “click drag.”
    • Shapes can be resized using “sizing Dots.”

    3. Creating Basic Flowcharts:

    • The course demonstrates building a flowchart for the process of opening a coffee shop.
    • Common flowchart shapes like “start and end,” “rectangle for process,” and “diamond for decision” are introduced.
    • Text can be added to shapes by simply starting to type when a shape is selected.
    • Font formatting (size, style) can be adjusted via the “Home tab.”
    • The “Ctrl D” keyboard shortcut allows for duplicating selected shapes.

    4. Adding Connections (Connectors):

    • Two types of connections are explained: “dynamic connection” and “static connection.”
    • Dynamic connections, created by connecting anywhere on the shapes, will “update it as we move” the shapes.
    • Static connections, created by connecting specific “connection points” on shapes, “glues the point to each other point” and maintains the connection even when shapes are moved.
    • The “Connector tool” (under the Home tab) is used to draw connections.
    • The “Pointer tool” is used for selecting and moving shapes.

    5. Customizing Shapes and Connectors:

    • Shape colors and outlines can be modified via the “Design tab” or the “Shape Styles” options in the “Home tab.”
    • The “Format Painter” tool (Home tab) allows users to copy formatting from one shape to another (single-click for one-time use, double-click to keep it active).
    • Connector line colors can be changed by selecting connectors (using Ctrl key for multiple selection) and adjusting the line color.

    6. Adding Text to Connectors:

    • The “Text tool” (Home tab) allows users to add text directly to connectors, often used to indicate flow direction based on decisions (e.g., “yes” or “no”).
    • Text formatting can be adjusted similarly to shape text.
    • The pointer tool is used to reposition text added to connectors.

    7. Utilizing Callouts:

    • “Call outs” (Insert tab, Diagram Part) provide a way to add more information to specific processes.
    • Various callout styles (text, cloud, bubbles) are available.
    • Callouts are connected to the associated shape and move with it.

    8. Grouping Shapes:

    • Grouping (Home tab, Arrange, Group) allows multiple shapes and connectors to be treated as a single unit for easier movement and manipulation.
    • Shapes can be selected individually (using Ctrl key) or all at once (“Ctrl a”).
    • Grouped elements can be copied and pasted into other applications like PowerPoint.

    9. Creating Organizational Charts:

    • Manual Creation: Uses basic shapes and connectors to build a hierarchical structure.
    • Using Starter Diagrams (Templates): Visio offers pre-designed organizational chart templates (File > New > Organization Chart). These templates come with specific org chart shapes and a dedicated “Org Chart” tab with layout and formatting options.
    • Using the Organization Chart Wizard: This method (File > New > Organization Chart > Organization Chart Wizard) guides users through creating charts based on entered information.
    • Data can be entered directly using the wizard (choosing delimited text or Excel).
    • The wizard opens a sample Excel file where users can input employee names, reporting structure, titles, departments, etc.
    • The wizard can automatically lay out the chart across multiple pages if needed.

    10. Designing Floor Plans:

    • Visio offers templates for various floor plans (File > New > Floor Plan).
    • Stencils specific to floor plan design include “Wall, Shell and Structure” (for walls, rooms, doors, windows), “Furniture,” “Bath and Kitchen Plans,” “Electrical,” and “Garden Accessories.”
    • Users can drag and drop shapes onto the canvas to represent rooms, furniture, fixtures, etc.
    • Room dimensions and square footage can be adjusted and viewed (via right-click > Properties or by manipulating shape handles).
    • The search function can be used to find specific shapes (e.g., “stove,” “table”).

    11. Utilizing Basic Flowchart Templates:

    • Choosing the “Basic Flowchart” template (File > New > Basic Flowchart) provides the necessary flowchart stencils from the outset.
    • “Quick access arrows” appear when hovering over flowchart shapes, allowing for the rapid addition of connected process, decision, subprocess, or end shapes.
    • Connections created using these quick access arrows are typically dynamic.

    12. Using Containers in Flowcharts:

    • “Containers” (Insert tab) help organize flowchart elements into logical groupings, such as phases or timelines.
    • Shapes and their connecting lines must be selected before inserting a container.
    • Users can choose from various container styles.
    • Container headings can be edited to describe the contained elements (e.g., “Phase One”).
    • Containers can be moved and resized, and the contained shapes will move with them.

    Quotes from Original Sources:

    • “Microsoft Visio is a diagramming tool to create simple as well as complex diagrams and vector graphics.”
    • “It enables you to create detailed organizational charts floor plans and pivot diagrams according to your business needs.”
    • “When you first open up Vizio it’s going to bring you to this opening page this is where we’ll see different templates and where we can also start some basic diagrams.”
    • “Inside of that ribbon you’ll see that we have our Tab and inside of those tabs we have our Command group and then of course our Command.”
    • “There’s two types of connections we can create a dynamic connection and a static connection and the difference between both is that a dynamic connection allows us to create a connection by any of the points on our shapes and once we move our shapes it will update it as we move them a static connection glues the point to each other point.”
    • “Now call outs are great to give more information to one of our processes.”
    • “To do this you can group all of these shapes together move it as one so that you don’t always have to just move one single piece at a time.”
    • “Even though creating an organizational chart manually is great and we can do that it’s going to take you a lot more time because we have to build out the shapes and the connectors but Vizio actually has templates for organization charts…”
    • “…containers can help us to map out when we’re going to get these different tasks done so that we can open up this pizza shop.”

    Conclusion:

    The introductory Microsoft Visio course effectively covers the fundamental aspects of using the software for various diagramming purposes. Participants learn to navigate the interface, create and connect shapes in flowcharts, customize their diagrams visually, and leverage advanced features like callouts and grouping. The course also provides a comprehensive overview of creating organizational charts through different methods and introduces the basics of designing floor plans. Finally, the use of containers is presented as a valuable tool for project planning and visualization within flowcharts. This briefing document serves as a testament to the breadth and depth of the introductory material covered in the course.

    Frequently Asked Questions about Microsoft Visio

    1. What is Microsoft Visio and what can it be used for? Microsoft Visio is a diagramming tool that allows users to create a wide range of visuals, from simple to complex diagrams and vector graphics. It’s designed to help represent information in a structured and understandable format. Key uses include creating detailed organizational charts to visualize company hierarchy, developing floor plans for office spaces or homes, and constructing pivot diagrams to analyze business data. Additionally, Visio is excellent for illustrating processes through flowcharts, helping to map out workflows and decision-making steps for various business needs.

    2. How do I get started with a new diagram in Visio? When you first open Microsoft Visio, you will land on an opening page that displays various templates. You can either select one of the pre-designed templates or start with a basic diagram. To explore more template options, click on “More Templates” located on the right side of the opening page. This will show you the full range of diagram types Visio offers. You can also search for recently accessed files from this page. To begin a new, blank diagram, select “Basic Diagram.” Upon doing so, you’ll be prompted to choose a measurement system, either metric or U.S. units, before clicking “Create” to enter the Visio interface.

    3. Can you explain the basic interface elements of Visio? The Visio interface, similar to other Microsoft Office applications, features a ribbon at the top. The ribbon is organized into tabs (e.g., File, Home, Insert, Design), and within each tab, commands are grouped logically (e.g., Font, Shape Styles, Arrange). On the side of the interface, you’ll find stencils, which are collections of shapes categorized by type, such as basic shapes, arrow shapes, decorative shapes, and specific diagramming elements like flowchart shapes. You can browse and add more stencils by clicking “More Shapes.” To use a shape, simply click and drag it from a stencil onto your drawing page. Once placed, you can manipulate its size using the sizing dots.

    4. What are the different types of connectors in Visio and how do I use them to show flow in a diagram? Visio offers two main types of connectors: dynamic and static. To use them, you first need to switch from the default “Pointer Tool” to the “Connector Tool” located under the “Home” tab.

    • Dynamic connectors attach to any point on a shape. When you move the connected shapes, the connector automatically adjusts its path and attachment points.
    • Static connectors allow you to glue the connector to specific connection points on a shape. These connection points appear as small blue ‘x’s when a shape is selected with the Connector Tool. When you move a shape with a static connector, the connection remains anchored to those specific points.

    To create a connection, select the Connector Tool, then click and drag from one shape to another. For a dynamic connection, click anywhere on the first shape and drag to anywhere on the second shape. For a static connection, click on a specific connection point on the first shape and drag to a specific connection point on the second shape. After drawing connectors, you’ll typically switch back to the Pointer Tool to manipulate shapes.

    5. How can I customize the appearance of shapes and connectors in Visio? Visio provides extensive options for customizing the visual style of your diagrams. To modify shapes, select one or more shapes, and then you can use the formatting tools available under the “Home” tab. This includes changing the fill color and outline of shapes using the “Shape Styles” group, as well as altering font properties like size and color in the “Font” group. For consistent formatting across multiple shapes, you can use the “Format Painter” tool. Select a shape with the desired formatting, click the Format Painter (single click for one-time use, double click to apply to multiple shapes), and then click on the shapes you want to format. Similarly, you can customize connectors by selecting them (you can select multiple connectors by holding down the Ctrl key) and then changing their line color and style, typically found in the “Shape Styles” or “Line” options under the “Home” or “Format” tab.

    6. What are callouts in Visio and how can they be used to add more information to a diagram? Callouts in Visio are text boxes linked to a specific point on a shape, used to provide additional context or annotations. To insert a callout, select the shape you want to add a note to, go to the “Insert” tab, and in the “Diagram Parts” group, click on “Callout.” You can choose from various callout styles, such as text boxes, cloud shapes, or speech bubbles. Once you select a style, a callout will appear, connected to the selected shape by a line. You can then type your additional information into the callout. The connection ensures that the callout stays associated with the shape even if you move it. Callouts are useful for explaining specific parts of a process, noting details about an element in a floor plan, or adding comments to an organizational chart.

    7. How can I group shapes in Visio, and why would I want to do that? Grouping shapes in Visio allows you to treat multiple individual shapes as a single unit. This is useful for several reasons, such as moving a set of related shapes together without disrupting their arrangement or the connecting lines, resizing them proportionally, or copying and pasting them as one object into other documents or presentations (like PowerPoint). To group shapes, you can select the desired shapes in a few ways: click and drag a selection box around them, or select the first shape and then hold down the Ctrl key while clicking on additional shapes. Once the shapes are selected, go to the “Home” tab, find the “Arrange” command group, click on the “Group” dropdown, and choose “Group.” The selected shapes will now be combined into a single movable object. To ungroup them later, select the grouped object, go back to the “Arrange” group, and choose “Ungroup.”

    8. What are containers in Visio, and how can they help organize a flowchart? Containers in Visio are visual boundaries that you can apply to a set of shapes to group them thematically or by phase in a process. They help to organize and structure your diagrams, making them easier to understand and manage. To use containers, first select the shapes you want to include in a container (you can select multiple shapes and their connectors). Then, go to the “Insert” tab and in the “Containers” group, choose a container style from the gallery. Visio will then draw a container around the selected shapes. You can resize and reposition the container as needed, and the shapes within it will move with the container. You can also add a title to the container to indicate the phase, department, or category of the tasks or elements it encloses. Containers are particularly useful in flowcharts for visually separating different stages of a process, such as phases in a project timeline.

    Microsoft Visio: Diagramming Fundamentals

    Microsoft Visio is a diagramming tool used to create simple and complex diagrams as well as vector graphics. According to the source, it enables users to create detailed organizational charts, floor plans, and pivot diagrams according to their business needs. The course outlined in the source aims to cover the basics of creating these different diagrams.

    When you first open Visio, you are presented with an opening page displaying various templates from which you can start, or you can begin with basic diagrams. There is also an option to access more templates and search for recently used files. To create a basic diagram, you click on the ‘basic diagram’ option, and the program will first ask you to choose a measurement system (metric or U.S. units).

    The Visio interface, like other Microsoft products, features a ribbon at the top, which is organized into tabs containing command groups and individual commands. On the side, you will find different stencils containing various shapes, such as basic shapes, arrow shapes, and decorative shapes. You can add more stencils, including ones for flowcharts, graph and math, and even decorative shapes. You can select multiple stencils to work with simultaneously.

    To use a shape, you simply click and drag it from a stencil onto the drawing page. Once a shape is on the page, you can manipulate its size by clicking and dragging the sizing dots. To add text to a shape, you just need to start typing while the shape is selected. You can then format the text using the options available in the Home tab, such as changing the font and size. Visio also provides a duplicate function, accessible via the Ctrl+D keyboard shortcut, which allows you to quickly create copies of selected shapes without having to resize or reformat them.

    The source highlights the creation of flowcharts, demonstrating the use of universal shapes like rectangles for processes and diamonds for decisions. To connect these shapes and illustrate a workflow, Visio offers connectors. There are two types of connections: dynamic and static. A dynamic connection links entire shapes, and the connection point will automatically adjust as you move the shapes. A static connection glues specific connection points on shapes together, ensuring the connection remains between those points regardless of shape movement. You can switch to the connector tool (located under the Home tab) to draw these connections. After creating connections, you can switch back to the pointer tool to manipulate shapes.

    To enhance the visual appeal and clarity of diagrams, Visio allows you to modify shape colors and outlines via the Home tab and the Shape Styles options. The format painter tool can be used to quickly copy formatting from one shape to another. You can also change the color of the connector lines by selecting them (holding Ctrl to select multiple) and using the line color options. The text tool, also found in the Home tab, enables you to add text to connectors, which is useful for labeling different paths in a flowchart (e.g., “yes” or “no” branches from a decision). You can move the added text using the pointer tool.

    Visio also offers callouts, which are useful for adding more information to specific processes or shapes. These can be inserted via the Insert tab under ‘Diagram Part’. Callouts remain connected to the shape they are associated with, even if the shape is moved. For managing larger diagrams, you can group shapes together using Ctrl+A to select all elements or by holding the Ctrl key to select specific shapes, and then using the ‘Group’ option in the Arrange command group under the Home tab. Grouping allows you to move multiple elements as a single unit.

    The source details three methods for creating organizational charts:

    • Manually: Using basic shapes and connectors to build the hierarchy from scratch.
    • Using starter diagrams: Selecting pre-designed organizational chart templates available under File > New > Organization Chart. These templates often come with specific organizational chart shapes and a dedicated ‘Org Chart’ tab with options for layouts, picture insertion, and data import.
    • Using the Organization Chart Wizard: Accessible via File > New > Organization Chart > Organization Chart Wizard. This wizard guides you through creating a chart from information you enter using the wizard or from an existing file (like a delimited text or Excel file).

    For designing floor plans, you can access relevant templates under File > New > Floor Plan. These templates provide stencils specific to floor plan creation, such as wall shell and structure, garden accessories, furniture, and electrical components. You can drag and drop these shapes onto the drawing page to design layouts, and some shapes, like room outlines, allow you to specify dimensions and calculate square footage. You can also search for specific items like stoves if they are not immediately visible in the stencils.

    When creating flowcharts from the ‘Basic Flowchart’ template (File > New > Basic Flowchart), you start with pre-selected basic flowchart shapes. This template also provides quick access arrows that appear when you hover over a shape, allowing you to quickly add connected process, decision, sub-process, or end shapes using dynamic connections.

    Finally, Visio allows for the use of containers to organize tasks or processes within a diagram according to a timeline or phases. To use containers, you first select the shapes and connectors you want to include in a container, then go to the Insert tab and choose ‘Container’. You can then select a container style and label it (e.g., “Phase One”). Containers help to visually group related elements in a diagram.

    Creating Diagrams with Microsoft Visio

    Creating diagrams in Microsoft Visio is a central function of the software, allowing users to visualize various concepts and processes. The sources highlight several key aspects of diagram creation within Visio, which can be broken down into the following areas:

    • Types of Diagrams: Visio is capable of creating a wide array of diagrams, including simple and complex diagrams, vector graphics, detailed organizational charts, floor plans, and pivot diagrams. The source specifically demonstrates the creation of flowcharts, organizational charts, and floor plans.
    • Starting a Diagram: When you first open Visio, you arrive at an opening page with various templates and the option to start basic diagrams. You can access more templates and view recent files as well. To begin, you select a template or a basic diagram option. For a basic diagram, you’ll be prompted to choose a measurement system, either metric or U.S. units.
    • Interface for Diagram Creation: The Visio interface is crucial for diagram creation. It features a ribbon with tabs, command groups, and commands at the top. On the side are stencils containing various shapes organized by category (e.g., basic shapes, arrow shapes, flowchart shapes, floor plan elements). Users can add or search for more stencils as needed. The process of building a diagram involves dragging and dropping shapes from stencils onto the drawing page.
    • Manipulating Shapes: Once a shape is on the page, you can resize it by clicking and dragging the sizing dots. To add text to a shape, simply start typing. The Home tab provides options for formatting the text, such as font style and size. Visio also offers a duplicate function (Ctrl+D) to quickly create copies of shapes.
    • Connecting Shapes: To illustrate relationships and flow, Visio provides connector tools. You can create dynamic connections, which link entire shapes and automatically adjust the connection point when shapes are moved, or static connections, which glue specific connection points on shapes together. The connector tool is located in the Home tab. After drawing connections, you typically return to the pointer tool for further editing.
    • Enhancing Diagram Appearance: Visio allows for significant customization of diagram appearance. You can modify the fill color and outline of shapes using options in the Home tab and Shape Styles. The format painter tool enables you to quickly copy the formatting from one shape to others. You can also change the color of connector lines. The text tool in the Home tab allows you to add text to connectors, which is particularly useful for labeling paths in flowcharts. Callouts, accessible via the Insert tab, can be used to add extra information to specific shapes and remain connected to them.
    • Organizing Diagram Elements: For better management and manipulation of diagrams, Visio allows you to group shapes together. You can select multiple shapes using Ctrl+A or by holding the Ctrl key while clicking individual shapes, and then use the ‘Group’ option in the Arrange command group under the Home tab. Containers, found in the Insert tab, help organize tasks or processes within a timeline or phases, visually grouping related elements.
    • Specific Diagram Types and Their Creation:
    • Flowcharts: Can be created from scratch using basic shapes or by utilizing the ‘Basic Flowchart’ template, which provides relevant stencils and quick access arrows for adding connected shapes with dynamic connections. Universal shapes like rectangles for processes and diamonds for decisions are commonly used.
    • Organizational Charts: Can be built manually using basic shapes and connectors, by using pre-designed starter diagrams available under File > New > Organization Chart, or by using the Organization Chart Wizard, which can guide you through entering data or importing it from files like Excel.
    • Floor Plans: Are created using templates found under File > New > Floor Plan, which provide specialized stencils for walls, furniture, appliances, and more. You can drag and drop these shapes to design layouts and even specify dimensions for elements like rooms.

    In summary, Microsoft Visio offers a comprehensive set of tools and templates for creating a wide variety of diagrams. The process generally involves selecting a starting point (template or basic diagram), utilizing stencils to add shapes, connecting these shapes to represent relationships or flow, and then enhancing the diagram’s appearance and organization using formatting options, text tools, callouts, grouping, and containers. The specific steps and tools used may vary depending on the type of diagram being created.

    Understanding and Creating Basic Flowcharts

    Based on the sources, flowcharts are a type of diagram used to visualize processes. They are built using a set of universal shapes that represent different steps or elements within a process, connected by arrows indicating the flow of activities.

    Here are some of the basics of flowchart creation discussed in the sources:

    • Basic Flowchart Shapes: The sources introduce several fundamental shapes used in flowcharts:
    • Start and End Shape: Typically represented by an oval or rounded rectangle, used to indicate the beginning and end of the process.
    • Process Shape: Usually a rectangle, representing a specific action or step in the process.
    • Decision Shape: Depicted as a diamond, indicating a point in the process where a decision needs to be made, often leading to different paths.
    • Sub-Process Shape: Used to represent a more complex set of steps that can be detailed in a separate flowchart. The source indicates a specific shape for a sub-process.
    • Document Shape: Represents a document or report in the process.
    • Creating a Basic Flowchart: You can create a flowchart in Microsoft Visio in a couple of ways:
    • Starting with a Basic Diagram: You can use basic shapes from the general stencils and manually build your flowchart.
    • Using the ‘Basic Flowchart’ Template: Visio offers a specific ‘Basic Flowchart’ template (File > New > Basic Flowchart) which provides a stencil containing the common flowchart shapes right away. This template also features quick access arrows that appear when you hover over a shape, allowing you to quickly add connected process, decision, sub-process, or end shapes.
    • Connecting Shapes with Connectors: To show the flow of the process, you connect the flowchart shapes using connectors. Visio offers two types of connections:
    • Dynamic Connections: These connect entire shapes, and the connection points will automatically adjust if you move the shapes.
    • Static Connections: These “glue” to specific connection points on the shapes, ensuring the connection remains between those points even if the shapes are moved. To create these, you select the connector tool and drag from a specific connection point on one shape to a specific connection point on another.
    • Adding Text: You can add text directly inside the flowchart shapes to describe the action or decision they represent. You can format this text using the options in the Home tab. You can also add text to the connector lines using the text tool to indicate different paths, such as “yes” or “no” from a decision point.
    • Basic Formatting: You can modify the appearance of your flowchart by changing the fill color and outline of the shapes using the Shape Styles in the Home tab. You can also change the color of the connector lines. The format painter tool can be used to quickly apply the same formatting to multiple shapes.
    • Workflow Example: The sources provide an example of building a flowchart for opening a coffee shop and a pizza shop, illustrating the use of start, process, decision, and end shapes, as well as connectors to show the sequence of steps. These examples demonstrate how to lay out a basic process visually.

    In essence, a flowchart uses a standardized set of symbols connected by arrows to clearly illustrate the steps, decisions, and flow of a process. Visio provides the necessary shapes, connection tools, and formatting options to easily create and customize these diagrams. The ‘Basic Flowchart’ template is a convenient starting point with pre-selected stencils and helpful features for quickly building a flowchart.

    Creating Organizational Charts in Microsoft Visio

    Based on the sources, an organizational chart is a diagram that visually represents the structure of an organization, showing the relationships and hierarchy between different positions and departments. Microsoft Visio offers several ways to create organizational charts, catering to different needs and levels of complexity.

    The sources detail three primary methods for building organizational charts in Visio:

    • Manually Building an Organizational Chart:
    • This method involves using basic shapes (like rectangles or circles) from the general stencils.
    • You drag and drop these shapes onto the drawing page to represent different roles or individuals.
    • You then add text inside the shapes to label them (e.g., CEO, CFO, employee names).
    • Connectors are used to link the shapes and illustrate the reporting structure, typically drawing a line from a superior’s position to their subordinates’ positions. You can customize the color of these connectors.
    • This method provides complete control over the design and layout but can be more time-consuming, especially for larger organizations.
    • Using Starter Diagrams (Templates):
    • Visio provides pre-designed organizational chart templates that you can access by going to File > New and selecting “Organization Chart”.
    • Several types of corporate and department chart templates are available.
    • These templates come with pre-defined shapes and layouts, which can significantly speed up the creation process.
    • They may also offer organizational chart-specific shapes and a dedicated “Org Chart” tab with additional options.
    • These options can include the ability to change the design and layout of the chart, rearrange positions horizontally or vertically, automatically fit the chart to the page, insert employee pictures, and even import data from external sources.
    • To use a template, you select one and click “Create.” You can then modify the existing shapes by adding names and titles. You can also drag and drop additional employee shapes onto their manager’s shapes to build out the hierarchy.
    • Using the Organization Chart Wizard:
    • This method is accessed by going to File > New, selecting “Organization Chart,” and then choosing the “Organization Chart Wizard”.
    • The wizard guides you through the process of creating an org chart based on information you provide.
    • You have the option to create the chart from information already stored in a file or database (like Excel or delimited text) or to enter the information using the wizard. The source notes that importing data will be discussed later in the lesson, and the example focuses on entering data directly.
    • If you choose to enter data, the wizard may open a sample Excel sheet where you can input employee names, who they report to, their titles, departments, and other information. The “Reports to” field is crucial for defining the hierarchy.
    • After entering the data and saving the Excel file (if that option is chosen), the wizard will process the information and automatically generate the organizational chart.
    • You can choose whether to include employee pictures if you have them.
    • The wizard also provides options for handling large organizations that might not fit on a single page, such as specifying how much of the organization to display per page or allowing the wizard to automatically break it across multiple pages.
    • The wizard can also place the top executive at the top of the page and create hyperlinks for employees, synchronizing them across pages if the chart spans multiple pages.

    Once an organizational chart is created using any of these methods, you can further customize its appearance by changing shape colors and outlines, connector styles, and adding other visual elements. The choice of method depends on the size and complexity of the organization, the availability of existing data, and the level of customization required.

    Visio Floor Plan Design: A How-To Guide

    Based on the sources, designing a floor plan in Microsoft Visio involves utilizing specific templates and stencils tailored for architectural and interior layouts. Visio provides a range of tools to create both basic and more detailed floor plans.

    Here’s a breakdown of floor plan design as discussed in the sources:

    • Starting a Floor Plan: To begin, you typically open a new file and navigate to the template section, where you can find options specifically for floor plans.
    • Available Templates: Visio offers several types of floor plan templates, including:
    • Home Plan
    • Office Layout
    • Normalized Floor Plan You can choose the template that best suits your project.
    • Relevant Stencils: When you open a floor plan template, Visio provides specialized stencils containing shapes relevant to floor plan design. These include:
    • Wall, Shell and Structure: For creating exterior walls and rooms, as well as adding doors and windows.
    • Garden Accessories: To incorporate outdoor elements like brick pathways.
    • Furniture: Offering a variety of furniture shapes for different rooms.
    • Electrical: With shapes representing electrical outlets and wall lights.
    • Bath and Kitchen: Providing shapes for cabinets, sinks, and other bathroom and kitchen fixtures.
    • Drawing Tools: For more free-form drawing capabilities.
    • Creating a Basic Room: You can start by using the “Room” shape from the “Wall, Shell and Structure” stencil and dragging it onto the drawing page. You can then resize this shape to represent the dimensions of your room.
    • Adjusting Dimensions and Square Footage: Visio allows you to adjust the size and spacing of the room shape. By right-clicking on the room shape and accessing the properties (shape data), you can potentially change the label (e.g., from “Office” to “Kitchen”) and view information such as the square footage.
    • Adding Interior Elements: You can populate your floor plan by dragging and dropping shapes from the relevant stencils onto the room layout. For example, you can add cabinets from the “Cabinets” stencil, sinks from the “Bath and Kitchen” stencil, and other furniture.
    • Searching for Shapes: If you cannot find a specific shape within the stencils (like a stove), Visio has a search function where you can type in keywords to locate relevant shapes.
    • Layout and Placement: The focus during floor plan design is on the placement and arrangement of these elements within the defined space. While you can be precise about dimensions, you can also create quick layout designs to visualize your ideas. You can also rotate shapes as needed for better placement.
    • Adding Details: Beyond basic furniture, you can add other details like plants to your floor plan to enhance the visual representation.

    In summary, Visio provides a user-friendly interface with dedicated templates and stencils to facilitate the creation of floor plans. You can start with basic room shapes, adjust their size, and then populate the space with furniture, fixtures, and other relevant elements by dragging and dropping from the provided stencils or by using the search functionality. The process allows for both precise dimensioning and quick conceptual layouts.

    Visio 2021 Beginner Tutorial

    The Original Text

    hello everyone and welcome my name is Joe I’m going to be facilitating this course for you today and today we’re going to be talking about Microsoft physio now Microsoft Visio is a diagramming tool to create simple as well as complex diagrams and vector graphics it enables you to create detailed organizational charts floor plans and pivot diagrams according to your business needs in today’s course we’re going to take a look at some of the basics on grading those different diagrams for you when you first open up Vizio it’s going to bring you to this opening page this is where we’ll see different templates and where we can also start some basic diagrams now if you want to access more templates you can always go over to the more templates over here on the right side give it a click you’ll see all the different types but that video has to offer not only that but you can search for different files that you’ve been working on and see the most recent files you’ve been working on as well today what we’re going to do is we’re going to create a basic diagram so I’m going to make sure to click into my basic diagram now when you do this the first thing it’s going to ask you is what is the measurement system is it going to be a metric or unit in U.S and I’m going to use U.S units and click create but of course you can pick whichever one is applicable to you once I do this it enters me into this interface and just like anything Microsoft the first thing I see about is going to be my ribbon and inside of that ribbon you’ll see that we have our Tab and inside of those tabs we have our Command group and then of course our Command you also notice over here we have different stencils we have basic shape stencils Arrow shaped stencils decorative shaped stencils and you can even add or search for more stencils by clicking into more shapes and taking a look at different ones for instance I know I’m going to be working with a flowchart today I may want to grab instead of Arrow shaped I can instead grab my basic flowchart shape and you can select whichever ones you want and you can keep a list of them here as well you don’t only have to have one stencil at a time you can borrow from different ones maybe some graph and math shapes or even decorative shapes but I’m going to be utilizing basic foam chart tape today now to actually click and drag these over that will just be a click drag and then it will show up on the paper and right here we can start to manipulate the shape by clicking and dragging the sizing Dot and there we go to take a moment try that out for yourselves and when we come back we’re going to start to build out this flowchart and then we’ll also start to add text and connections to it as well so what we’re going to be building today is the process to open up our own coffee shop and what I’m thinking of doing is starting off with well opening a coffee shop now you’ll notice I utilize the start and end shape and all I had to do is once again click and drag it onto my page here now once you do that you’ll have your shape and then you can resize it using the sizing dock now if I wanted to write something in here the best part about it is all I need to do is start typing so if I start typing opening a coffee shop and then I click away you will now see that information inside of the shape of course you can manipulate that information as well if you haven’t highlighted you can just go up to the Home tab and inside of that Home tab this is where we can change our font options so I’m going to format it to be about 12.5 and I think that looks good now we can start to add more shapes to this and once again these are Universal shapes if everyone knows that it’s going to be a rectangle for process and a diamond for decision and you’ll start to learn these as well so I’m gonna start off with another process after this so I start off with the idea of opening a coffee cup and the first thing I’m going to need to do is I’m going to have to probably create a business plan now one of my favorite things about Vizio is that when you start to resize things once you already have a shape you can actually make them exactly the same length and width now I’m going to make mine a little crazier here there we go that looks good and it also has a lot of guidance now I’ll just start typing creating a business plan and I’ll make that font once again 12 points now I know I’m going to create another process and I could do the same thing where I click and drag the process shape over but there’s another little keyboard shortcut that’s going to make you more efficient if you just click on this shape and use the keyboard shortcut Ctrl D that equals duplication so once we do that Ctrl d I can now have a duplicate where I don’t have to resize it or even change the font to 12 point all I need to do is double click and change what’s in there in the next process after creating a business plan is to apply for a bank loan now the next thing I can do after this is make a decision Point even though we’re opening a coffee shop up I may want to sell some food too maybe muffins or Donuts so what I can do is go over to decision and drag it over here and once again I’m going to just resize this the same size that’s my other one there we go now I can start typing do we want to sell food too question mark now if we decide we do want to sell food that’s going to be a little bit different we’re going to have to create an extra sub process here so I’m going to actually use the sub process shape because if we decide to create sell food we’re going to have to create a food menu and once again I’m just going to use my sizing guidance here there it is and we’ll say faith of food and now I can take this and once again I’m going to just update the 12 point now let’s say we don’t want to create a food menu we’re not going to sell food instead what we’ll do and we’ll just make this 12 point as well instead what we’re going to do is we’re going to skip this and we’re going to go to renting the location so it’s another process and I’m just going to duplicate Ctrl d and I’ll just change the text to rent location now after that I’m also thinking that I’m going to want to start to finalize some of the hiring contracts and since contracts are documents we can use the document shape so I’m going to click and drag that one right here as well and I’ll just size it once again and I love those guiding arrows they tell me when everything is all aligned and at the time I’m going to say finalize hiring contracts and I’ll just change that font to 12 point now the next two shapes I’m going to do are well higher a thermometer I’m going to use a process for this so I’ll just duplicate and I’ll just say higher store manager and then the last thing I’m going to do is end this entire workflow now to do this I’m just going to once again duplicate the start netting because it is the same thing I’ll just use Ctrl D again and now I’ll just put in Grand opening and there we go the only problem is there is no flow to the chef there’s no connection between each of these processes or each of these starts or ends so what we need to do is create a nice workflow by using what’s known as connectors take a moment to catch up on this and then when we come back I’m going to show you how we can use Dynamic and static connections and what the difference between both of those are so now that we have our shapes what we’re going to want to do next is create connections now there’s two types of connections we can create a dynamic connection and a static connection and the difference between both is that a dynamic connection allows us to create a connection by any of the points on our shapes and once we move our shapes it will update it as we move them a static connection glues the point to each other point so if I want to do a static connection I’m going to go by the point system and if I want to do a dynamic connection I’m going to go by shapes so I’m going to show you an example of this but first what we need to do is move from our pointer tool which is our default over to our connector tool which is right underneath so if I go over to the Home tab you’ll see under fold we have three tools the pointer tool the connector tool and the text tool so if I click over to the connector tool you’ll see that I can actually connect its entire shape to this entire shape and if I do that by clicking somewhere in the middle in the middle it creates my connector now when I go back to my pointer tool to take a look at this you’ll see it has an arrow pointing from the opening of the coffee shop to creating a business plan if I want to move this shape take a look what happens it actually will move the connection with it so when we are in the starting position it was going from the bottom of opening a coffee shop to the top of creating a business plan but when I move this it is now going from the top of the opening of the coffee shop to the left of creating a business plan and this is an example of the dynamic connection where if I move these it will automatically update the connection point now we’re not going to always want this because maybe I want opening a coffee shop never be after creating a business plan because if I switch them around like this well now it looks like a little weird right going from top to bottom still if I wanted to what I can do instead it’d create what’s known as a static connection so I’m just going to delete this by clicking on it and pressing delete on my keyboard now when I go to my connector instead of connecting it from the entire shape I can actually connect it from these four connection points and I’m going to connect it from the bottom of opening a coffee cup to the top point of creating a business this creates that glued connection which is known as the static connection now if I go back to my pointer tool to move this around you will notice no matter where I move it it will always make sure the connection is from the bottom of opening a coffee shop to the top of creating a business plan so for most of this I actually like it that way I like how it will stay stuck like that so if I wanted to stay stuck like that I’m going to create a static connection now for this example we’ll keep it on static connections I think that will be good but you can always choose which one’s going to be the beneficial one for you so we’re going to create the rest of our connections here we’re going to go back to connectors and I’m going to make a connection from creating a business plan the bottom point the top of applying for a bank loan the bottom of the applying for a bank loan I will go to the top of the self food team now from the right side of cell food too I’m going to go over to the left side of creating a food menu I do have to make another connection because if we decide not to sell food we’re going to have to skip this so I’m gonna have to make another connection from the right hand side here and it might take a moment to just have it really picked there we go and we’re going to go to the left side of from the location but if we do decide that we are going to sell food too we would do this first and then we would go from here to there now we’re going to create a connection from run location to finalizing the hiring we’re going to go from the left side or the right side of finalizing to the left side of hiring a store manager and we’re going to go to the bottom of hiring a store manager to the top of grand opening now that we have our connections it looks great but take a moment follow along with those connectors and when we come back I’m going to show you how we can start to manipulate these drawings to make this a little more colorful and a little more vibrant now that we have our connectors and we have our process going what we’re going to want to do next is modify the shape colors because I’m just looking at this and I just see the default colors that Microsoft created so if you want to change the colors you’re more than welcome to if you do like this design you can keep them as well but I want to change it and just make these different colors maybe different sizes anything that you like so the first thing I’m going to do is choose here and we will go over to the design tab here and you’ll see here we have different things that we can choose from and just by hovering over these things we get all these different colors here which is pretty amazing it looks great but what we can also do is we can change these shapes one by one because the minute that you select these shapes you can go to the home path and you can change the way that they look by just simply changing either the font formatting or you can go to shape Styles and you can change the way the shape is filled or even the outline of the shape so for instance for this one I do want to make it a green fill so I’m just going to do a nice green color here like that’s when that looks good and I also want no line so I’m gonna just do no line so it looks like this now I don’t want to have to do this all over again so you can use in the Home tab what’s known as the format painter right there and if you click on a shape click on format painter I can then just click on this one and it will copy that format and it just looks great now for all of my processes I’m going to make those let’s do a nice orange color so I’ll just fill I’ll use orange and I don’t want a line effect and now once again I’m just going to use my format painter and if you double click on format painter it stays on so I can just keep going now quickly get this done and then when you’re done with format painter you could just click again to take it off you also want to change the way that this looks I want this one to be a nice little gold color and once again I don’t want any border now for the finalizing of hiring contracts we’ll make that a nice dark color here and since we’re using a dark color we are going to want to change the font as well so we can actually see the font and we’ll change that to a point font and then last but not least blind now the last one I’m going to do here is our sub process and I’m going to change this to a nice blue color but when you do change it to a blue color you’ll see that the lines are hard to see so I’m going to change the line to actually a white color so that you can see that it’s a sub process and it’s different from a regular process I’ll also change the font here as well too and there we go we’ve added some color to this I just love the vibrant color right it doesn’t look as just blue as Microsoft made it originally if you wanted to also change the colors of our connectors you could click each one and hold down the control key to select more than one connector those damn selecting all of these connectors here and you can change the line color of that so whatever you like I’m going to change it to Black and there we go now the last thing I may want to do here is add some text right because as you can see right here we asked the question are we going to sell food too and it would be nice to see where this flow is going of course if we say no then it’s going to go right here to run location we’re going to skip this but if it is yes then it’s going to go to create food menu then print location so I do want to make sure I make that stand out and for the first time ever we’re going to use our text tool so in our home tab we’ve used the pointer tool which allows us to modify and shape our shapes we’ve used the connector tool which allows us to make connections between our shapes and now we’re going to use the text tool to add text to our connectors I’m going to click on text and you can place it wherever you want I usually like to zoom in on this because it could get a little crazy so I’m just going to use control in my mouse wheel to zoom in and I’ll put the text right here now once I click there you’ll notice that the text actually the text box move down here that’s okay we will snap it right here once we’re done writing what we want to write I’m just going to write the word yes and of course you have all the same formatting I can make this a little bigger if I wanted to I’ll make it 14 and I’m going to make it a do a black font and there we go now of course the more you click around you’ll see like do something like that right you’re gonna insert a text you could just click away but now if I want to move the TS to here we’re going to have to go grab our pointer tool again and now we can click and you’ll see that little yellow Dot and I can click and drag that down to here and there we go we have our yes now I’m going to put my no right below it so I’m going to go to text tool click right here and once again it pushes the text box that’s okay if it does that just write your text make your changes here I’m going to go once again with the 12 point and make it a black color here and now I’ll go to my pointer tool and I’m going to move this here and I love this the reason why I didn’t do an insert and then a text box is because if you enter text box it just goes over the line as you can see here using the text tool will allow for that little bit of space so it looks like it’s really part of this entire flow so now looking at this if I zoom out a little bit this is looking really nice selfie too if yes we’re going to go to create a food menu then we’re going to run the location then we’re going to continue with our process if we sell food when we decide no we’re going to skip all this and go straight to renting location so take a moment try this out on your own and when we come back we’re going to call and use some call outs which will be a lot of fun so we’ll do callouts and we’ll also do some grouping as well so that we can start to group these shapes if we ever want to move them what we’re going to be talking about next is how we can create callouts Now call outs are great to give more information to one of our processes so like for instance maybe I do want to open a coffee shop but I also want to figure out what the name of that coffee shop is going to be so I can click on opening the coffee shop and I can go to the insert tab and inside of the insert tab right here you’ll see diagram part and we have a couple different things we have our containers which we’re going to be talking about in a later section and then we also have our call out and then we know what our connectors are right so we’re going to be using our call out now when you click the little drop down you’ll see there’s a quite a few different just looks whether it’s a piece of text call out or a cloud call out bubbles anything you like whatever makes sense for you and I’m thinking that I just want to do a nice text call out and then there it is it’s actually connected so no matter where you want to move this it’s still going to be connected to that shape which is really nice I’m going to put it right here and we’re going to call this a cup of gold since well my name is Joe right how it works great for us at Club code and I’m just going to make that a little bigger text there and I’m going to use Ctrl shift greater than and those are fun little keyboard shortcuts Ctrl shift less than or greater than two effective and then I’ll make this a little bigger here just like that and I think that looks great perfect so now we have a quick little shout out opening in coffee shop it’s called the cup of Joe’s and there we go now you can add other shout outs as well no matter where you want to go if I want to do print location maybe do a nice little call out there just a thought I’m thinking maybe I want to put this location and by the way you can turn this if you want you can taste the shape if you wanted to anyway you want thought through this and I’m just going to move this over here and then you’ll see it switches sides and I’m going to say that the thought on this one will be let’s do maybe I want to put it in San Francisco there we go and those little those little columns just work really well so take a moment try that out on your own and when we come back we’re going to talk about how we can start to group shapes together so we can move them without messing up our flow you’ll notice that when you move one of your shapes it also changes the connector and that’s because we made our static connections and we want to be able to move things without affecting the flow but the problem is what happens if I just want to move all this over maybe I want to create more spacing between this column in this column in this column well to do this you can group all of these shapes together move it as one so that you don’t always have to just move one single piece at a time and to do this there’s a couple of different ways we can use Ctrl a to select all of them like I just did here and that really selects every single piece of content on this page right now or if I wanted to just do it in sections I can just hold the Ctrl key down and select one thing at a time and you’ll see it is selecting it but the control a is going to be a lot easier for this example so I’m just going to use Ctrl a and now that I’m here in control a what I want to do is go to the Home tab and inside of my Home tab this is where you’ll see the arrange command group and this is where we can access our group setting now when I click on that drop down I’m going to group this together and now it’s all one piece so if I ever have to move this I could just click it and now it’s all one piece that I’m moving which is really nice and there we go and this will be a lot more helpful when you want to put it into let’s say like a presentation so if I decide to copy this into let’s say a PowerPoint now when I use control copy right Ctrl C I can then just Ctrl V into a PowerPoint I’ll show you what that looks like and we’ll just put it in a blank slide here and then we can use Ctrl V and look how nice that looks add some little coloration here and we’re good to go try that out on your own and when we come back we’re actually going to switch gears we’re going to name our project and then we will move on to building an organizational chart before we get into building organizational charts the first thing I’m going to want to do is rename my page so I’m going to come down here to page one and I’m just going to double click and we’re going to name it I’m going to call my business plan now the next thing we can do is click this little plus icon to add another page and I’m going to just click on that now we have a second page here and I’m going to show you three ways to build an organizational chart the first way is just manually building one the second way is using one of the starter diagrams that Vizio has provided and the Third Way is by using the Vizio chart wizard so if I want to build this organizational chart I can just go for my basic flow chart shapes here I can move up and we should have our basic shapes as well and you can just use any shape you want there’s no right or wrong here for this so I’m going to just use a rectangle I’ll Center that make it a little bigger just like that and then I can just start typing in I’ll be the CEO of this company the CEO and you can add your modifications to it maybe I want to make this a lighter blue maybe I don’t want any lines on this I think that looks good now I can add another rectangle one right here and for this one I’m going to put John Doe and John Doe will be my CFO and once again I can just make this any way I want that looks good I’m going to move it a little over here just like that and I’ll just change it to that looks great just like this and maybe no order now I don’t want to have to do this again so I’m just going to use Ctrl D for duplicate and there we go I may want to space this a little better and I think that looks pretty good and then I’ll just do Jane Doe and Jane Doe will be my co now I’ll just make my connections I’ll use my connector from the bottom to the top of that shape and then from the bottom to the top of the shape and then if you wanted to you can re -color these to whatever you like and that’s it there we go we have just made a quick little organizational chart and of course we can add more people here we can add more shapes we can change the shapes maybe we want to add circles for our other employees we’ll do employee foreign and then we can just do a duplication duplication duplication just like that that looks good and I love those lines those lines are always amazing call this employee two and play three and employee four and now all we have to do is set up our connectors and I’ll just go back to the connector just like that and just like that remember I know that part can be a little hard getting it at the same time but no worries if you go a little bit to the top here it should work pretty well there we go and then once again I might just change the connection color and I’ll just change those that and now we have a fun little organizational chart take a moment try this out on your own and when we come back I’m going to show you how we can create an organizational chart by using the starter diagrams so even though creating an organizational chart manually is great and we can do that it’s going to take you a lot more time because we have to build out the shapes and the connectors but Vizio actually has templates for organization charts so what we’re going to do is we’re going to go over to the file tab and click new and here is where you’ll see the organization part template now all we have to do is click on that template and you’ll see here that it gives us a couple of different options we have organization chart corporate charts Department charts all different types so you’re going to pick whichever one makes sense I’ll use this department chart for example and I’m going to click on create and once I do that it’s going to create a new drawing for me I’ll just put this drawing down and I’ll take a look at this one first so we see here that it also gives us a little bit of a guide it says listen you can use data from sources such as Excel or exchange to create more complex org charts on the org chart tap select import to instantly create team drag employee shapes onto their manager shapes and then feeling crowded use the spacing option on the org chart tab to create better spacing once you’re finished with these tips we can select pin and press delete so I can just click on this and press delete so look at this they set it up pretty nice now all I need to do is add some fun pictures and I can go in here and just change the name and I’ll put my name then we can put in someone else’s name and there we go and I just love the design but not only that when you use a template like this you also see here that we have new organizational chart shapes that we can use and not only this but up top we now have a tab for the or part so if I click into it you’ll see here that we can change any of these so if I decide that I want a different design there it goes pretty awesome so we have here all different types of designs that we can use not only that but what we can also do is we can read layout or we can relayer this in different ways horizontally vertically side by side we can do a best fit page so that everything fits on the page we can change or enter pictures we can import the data really amazing so with that said take a moment try it out for yourselves and when we come back we’re then going to talk about utilizing the chart wizard so even though this is a great way to create an org chart there’s one more way that I want to show you and it’s by using the organization chart wizard now once again we’re going to go over to file and click on new and we’re going to use the organization chart again but this time instead of selecting one of these three we’re going to select this one right here the organization chart wizard and we’re going to click create the first thing it’s going to do is pop up this dialog box it’s going to say okay I want to create my organizational chart from information that’s already stored in a file or database or I want to enter using the wizard now we will be talking about this option A little later in the lesson for now we’re just going to use the information that I enter using the wizard and I’ll click next that was going to ask me to choose the type of file you want to enter your data into you can choose the limited text or Excel if your fund of excel you’re more than welcome to use Excel and then you can choose to name the file and I’ll just call this practice Vizio works now I’m going to click next I’ll click next again and then it’s going to take a moment it’s going to open up right here a sample data in Excel and I’ll give you some little samples and you’ll see here Joe Jane and John pretty cool since we’ve been using those examples to begin with now you’ll see here that we have name who the person reports to the title the department and the telephone number and they even give you a little note on each of these which is really nice so for the first one I’m going to put my name and I report to no one because I’m CEO and we’ll just keep the same telephone number then we have Jane Doe who reports to me right we want to make sure these are identical here and here that there is a connector that’s created and then of course undo as well and John Doe will report to me and then we can start to create a couple other people as well we’ll call this the marketing department we’ll say marketing and we will just say employee you know you could put whatever you want foreign we’ll do advertising agent and then we’ll put a couple of people I’ll use my friend Carly you’re amazing at marketing and Carly reports to we’ll say Jane Doe and we’ll have one more person as well in marketing and we’ll just make up the phone number okay it’s like that and we’ll do my friend Keller’s here and Taylor will report to Carly you know what yeah that looks good let’s do Carly because Carly’s gonna be the senior advertising agent and I think this looks good just for a little practice now all we have to do is click save close this out now it’s going to say you can also import pictures from your computer of those people now I’m going to say that I don’t want to include pictures now if you do have pictures of each employee you can put that file in there I’m just going to say no because I don’t have any of those and I’ll click next I will say your org data may contain too many in place if not on one page what do you want to do if that’s the case do you want to specify how much of the organization is displayed on each page or do you want the wizard to automatically break into pieces across different pages and I’m like yeah I think that looks good name at the top of the page should be the top executive and we can also create hyperlink for the employees and synchronize them through across the pages if it is breaking other pages once I click finish there it is looking great there we go and I just love the way this looks now this connector you can move this connector it looks like it is a static connection so you’re more than welcome to move this look amazing so we’ve gone through three different ways to create organization charts manually by using Vizio starter diagrams and also by using this chart wizard when we come back we’re going to switch gears and we’re going to get into designing a floor plan with Vizio what we’re going to be talking about next is designing a floor plan and we’re just going to make a very basic floor plan today so I’m going to open up a new file again file new and we’re going to click over by the template and we’re going to access the floor plan right here now once we do this and we open it up we’ll have all these different types of tablets whether you want to do a home plan or an office layout or just say normalized floor plan and for today Let’s do let’s have some fun with this let’s do a whole plan this would be a lot of fun and we’ll click create now let’s say that we want to create a new I don’t know maybe a new kitchen space right we’re remodeling our kitchen you’ll see here over on the shape side of things that we have our wall shell and structure where we can create exterior walls or rooms or start Windows in there we can also go to Garden accessories you’ll see we have brick Pathways all these different things to allow us to start to build this out Furniture as well if we keep scrolling up we have electrical tell us where our dockets are our wall lights are and if we keep going we have some trying tools as well so we have everything we need to start to really draw this out now the first thing I’m going to start off with is wall gel and structure and we’re going to build out the room that’s it we’re just designing a room so I’ll click and drag this right on here and I’m going to make it as big as I think the room’s going to be and then I’ll zoom in a little I think this room will be about for the kitchen we’ll say 40 by 32. so now that we have this we’re going to start to put in some of the spacing so that we know the square footage and of course it says office by default if I’ll right click and you’re more than welcome to go into the properties and you can change that from office to kitchen or whatever it’s going to be you can even put space hiding you can do the base elevation and other calculations as well for the shape data but we’ll talk about shape data in another lesson now I can click ok and I can start to spread this spacing out just like that and now we have our kitchen face it’s going to be 1282 square feet nice size kitchen for us so now I can start to put in some of the information like maybe I want to put in some furniture maybe some cabinets so I’ll scroll up a little bit we have furniture we have Bath and Kitchen plans so we have the cabinets the sink everything we need we have other Furniture as well I’ll go into cabinets and let’s say I do want to put a cabinet let’s do let’s do one of these and you can have so much fun with this whatever you want to do there’s no right or wrongs here so maybe I just want a cabinet right over here there we go now if you weren’t worried about the actual like size of this and you weren’t getting the specific you could just do a quick layout design where you don’t have to worry about this thing like of course this cabinet is pretty big which I wouldn’t have a cabinet this big but you’re more than welcome to choose any way you want now I’m also going to put another cabinet I have one here I may want to put another one over here maybe a bigger one actually a little bigger there we go and I’ll just make sure that everything dies right and you can do this too there’s once again no right or wrongs here and I’m thinking maybe in between these two cabinets there’s going to be some sort of let’s say probably a sink right now I’m gonna go over to my kitchen plans so you can go over to Bath and Kitchen and I’m going to put a sink in there let’s do a two sink there dual things just like that now of course I do want to put in the information like the stove things like that and if you’re trying to look for it and you’re like yeah I don’t see the stove I can’t find these things of course you’re more than welcome to start to search for them as well so you could go to search and you can put in the stove and then you’ll see there’s a stove here so really nice that we have those options we’re going to make that stove a little bigger there that looks good there we go now I’m going to continue to design this and once again just feel free to put whatever you like in here there’s no right or wrong you can put whatever you like I might want to do a table so I’m just going to search for table and let’s do a well this table Boat table just like that I might want to turn it as well which table there and there we go we’re just really starting to design this I’m going to add some plants in there too why not let’s see if there’s any plants maybe I have a palm plant right over here make it a little bigger and you can really find this out so take a moment try this out for yourselves have some fun with this really get into designing it just think maybe who knows maybe somebody out there is really trying to redesign a kitchen this is going to help you out to know exactly where the placement is what your idea is getting it from your head to Vizio on paper physio is really great about giving us tools to effectively create our flowcharts and what we’re going to be doing next is creating a flowchart based off of a basic flowchart template now when I go into file new instead of using a basic diagram I’m actually going to use basic flowchart the reason I like this is because it sets us up with the stencils that we need right away so when I click on it it’s going to open up and say well do you want to use one of these that we’ve created or do you want to build one from scratch and that’s what I’m going to do I’m going to build a basic flow chart for Scratch and click create now right off the bat I have my basic flowchart shapes and this is great and I can now take my start and end and bring it right here now I can just resize it and we’ll do the same example as we did before we’ll say that the first thing we want to do is open up we can say this time of pizza shop we’ll make it a little different so I’ll say I’ll click into it open a pizza now once we do this you may notice something when we hover over we get these little arrows here and these arrows what they allow us to do is quickly choose whether we want to use a process a decision a sub process or the end of a flowchart so when I click on process it’s just a quick way for me to continue to build this down the one thing I want to know though is do you think it’s going to be a dynamic connection or a static connection well if we move this around we can see that it’s actually a dynamic connection so if you don’t mind that you’re more than welcome to change it if you do but if you don’t mind we could just leave it so I don’t mind in this case I’m just going to resize my things here perfect get a little bigger that looks good and then for this next one I’ll just say create business plan now for the next one once again I can use the little quick access I’m going to click here again and for this one I’ll say apply for bank loan and I’ll just resize this as well and then the next one I’m going to do is the decision and I’ll resize it and for this one the decision on this could be do we also want to sell let’s see Pizza and maybe dessert too right maybe we want to sell dessert too it’s like that next up we’re going to make a sub process and I’ll just put that one right up here and that sub process is going to be just get that sizing right create or decide on flavors we’ll say or decide on desserts menu that sounds good I’m going to click another one and let’s do a process and this one’s going to be rent location and then another one but this time I only have the access to the process the decision the top process in the end I actually don’t have access to the document so this one I will have to drag here and resize and then form that connector and I’ll say this one is finalize hiring contracts and then I’ll create that connection and for this one I’ll just keep it the same Dynamic just like the rest of them and there we go now I do need to make another one here because if we decide to go to location I do need to sell dessert to run location if we decide not to so I’ll go to connector and I’ll make another connection here as well the last thing that I want here is another process and this process is going to be hire a store manager and then last but not least the end process which will be open store and I’ll make that one the same price as the other one and there we go we have our process now of course once again you’re more than welcome to start to add in these coloration shape modifications like we did before so if you did want to change the shapes you can hold the control key and select both the start and end and fill that shape with that green color we liked we can select all of the process there we go and we can do a orange color I think we did a gold color for this one the darker color for this one and we also did the text we changed the text as well and then we did a blue color for this one and we made sure to put the lines in as well and change to text and there we go looks great now once we have this the next thing we’re going to talk about when we come back is being able to utilize containers containers can help us to map out when we’re going to get these different tasks done so that we can open up this pizza shop so take a moment create this and then when we come back we’ll put them in containers now that we have this set up we may want to put this in some sort of timeline whether that would be phases or quarters we can apply what’s known as containers to allow us to contain these tasks or these processes in each container pertaining to a certain time so the first thing I’m going to do here is just move these a little bit over and change where they are on our page here there we go just like that and now I’m going to start to activate our containers by going over to the insert Tab and you’ll see here container now before you click on container we do have to select what we want in each container for the first container I’m going to select this shape along with the connector the next one the connector the next one the connector and the next one now all of these and you can include these as well are going to be in that first container now that I have been selected I can go to container and I can choose which one makes more sense for me and I’m thinking I’m going to use I like this one then I can just click on the heading and I can type whatever I like let’s say that these four tasks are going to take place in phase one now I can do the same thing for the other ones as well the sign on the dessert menu hold the control key click run location while holding the control key click on the connector and finalize hiring contract and click on the connector once again go to enter container and choose which one you like and then I’ll just rename this phase two now you can move these containers as well a little bit further down so that they are matching as close as possible to the other one perfect and then I can make this a little more just like that I think that looks great now the next thing we’re going to do is phase three once again I’m going to just click hold the Ctrl key click on the connector and click again while holding the control key and then go to insert container and we’ll put a third one in and I may made that a little bigger just like this one and make that a little smaller here maybe move it down a little as well and there we go now I’ll just name this one phase three and now what we have here is our three phases our flow chart and when they’re gonna happen so take a moment try this out for yourselves and when we come back we’ll finish up all right thank you all so much for being here as you can see Vizio is an amazing tool to visualize your ideas and get them on paper and then be able to really create these projects or create these business plans or create these floor plans or whatever you’re trying to create this is a great way to do it with that said thank you all so much for being here stay safe stay healthy and I’ll see you all next time thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learnit.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog