SharePoint Learning Catalog
A complete guide to the InnerWorkings SharePoint learning catalog,
with prerequisites, learning goals & technical levels for each course.
Table of Contents
Beginning SharePoint Development 2
Module 1: Building your Lab Environment 3
Module 2: SharePoint Development Overview 4
Module 3: Development Core Concepts 5
Module 4: Data Development 6
Module 5: Behavior Development 7
Module 6: Layout 8
SharePoint Data View Web Part Basics 9
Module 1: Working with the DVWP Common Dialogs 10
Module 2: DVWP Code Structure 11
Module 3: Common XSL tags and their uses 12
Module 4: Useful DVWP development techniques 13
Module 5: Working with frequently used utility templates 14
Module 6: Variable-driven DVWPs 15
SharePoint Designer 2010 Workflow 16
Module 1: Understanding Workflows and Behavior Development in SharePoint 17
Module 2: Introduction to SharePoint Designer and SharePoint Designer Workflows 18
Module 3: Workflow Forms, Variables, and Parameters 19
Module 4: Collecting Data from Users 20
Module 5: Controlling the Flow of Processes 21
Module 6: An End-to-end Workflow Solution 22
Developing SharePoint Content Types 23
Module 1: Introducing Cool 24
Module 2: Taxonomy and Metadata 25
Module 3: Behavior 26
Module 4: Layout 27
Module 5: Folders and Custom XML Documents 28
Introduction to the SharePoint Web Services 29
Module 1: Introduction to Web Services, SharePoint Style 30
Module 2: Working with List Data: The Lists Web Service 31
Module 3: Site Collection Traversal & the Webs Web Service 32
Module 4: Working with People 33
Module 5: Search and Workflow 34
Module 6: New Web Services in SharePoint 2010 35
Enhancing the SharePoint User Experience with jQuery 36
Module 1: Installing jQuery in your Environment 37
Module 2: Basic jQuery Selectors and DOM Manipulation 38
Module 3: Understanding the Pages SharePoint Renders 39
Module 4: Basic Page Manipulation with jQuery 40
Module 5: jQuery’s AJAX with SharePoint’s Web Services 41
Module 6: Tying it all Together - Complex jQuery Usage 42
1
Introduction
This document provides a comprehensive view of the InnerWorkings SharePoint Learning Catalog to help you identify which courses are of greatest relevance to your specific learning needs.
Each SharePoint module description includes the following:
• Overview – a summary of the course and what it will enable you to do • Audience – a description of the target audience
• What you’ll learn – a description of the key learning outcomes • Core development tasks – a checklist of SharePoint related activities • What you’ll cover – a listing of the SharePoint topics covered • Prerequisites – what you’ll need to know before getting started
• Drill details – key information such as system requirements, duration, and level
What the levels mean
Each SharePoint learning module has a rating that indicates the technical level of the topics covered. The overall level classification scheme is as follows:
Level 1 Suitable for beginners and above. This level addresses introductory SharePoint concepts.
Level 2 Suitable for programmers with basic (or higher) SharePoint skills. This level addresses mid-level SharePoint concepts and administrative features.
Level 3 Suitable for programmers with intermediate (or higher) SharePoint skills. This level addresses advanced SharePoint concepts and administrative features.
2
Beginning SharePoint Development
This SharePoint course contains the following modules:• Building your Lab Environment • SharePoint Development Overview • Development Core Concepts • Data Development
• Behavior Development • Layout
Your presenter - Bjørn Furuknap
Bjørn Christoffer Thorsmæhlum Furuknap is a senior solutions architect, published author of Building the SharePoint User Experience, speaker, and passionate SharePointaholic. He has been doing software development professionally for 16 years for small companies as well as multinational corporations. He has also been a teacher at a college-level school, teaching programming and development to aspiring students, a job that inspired him to begin teaching what he has learned and learns every day.
3
Module 1: Building your Lab Environment
Overview
The topic for this Module is your development environment, including installing and
configuring your SharePoint lab machine.Throughout your SharePoint development career, you will need to install SharePoint in a wide variety of configurations. Understanding how to do so and understanding the consequences of the various choices you make is very important to building the right setup for your requirements.
Audience
This module is for new SharePoint developers.
What you’ll learn
The topic for this Module is your development environment, including installing and
configuring your SharePoint lab machine.Throughout your SharePoint development career, you will need to install SharePoint in a wide variety of configurations. Understanding how to do so and understanding the consequences of the various choices you make is very important to building the right setup for your requirements.
What you’ll cover
• What your environment must have • What you may want
• SharePoint installation requirements • Installing SharePoint
•
Configuring SharePoint for first useWhat you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development, which is referred to in all modules of the course. Please download this to make sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is a great advantage, but we do provide lectures that give you the basic knowledge required.
Module Details Status Released Course Beginning SharePoint Development Duration 3 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M1
4
Module 2: SharePoint Development Overview
Overview
Tools are a very important aspect of SharePoint development. As for any artisan, the toolbox employed largely defines the tasks you perform. However, there is a potential downside to tools usage as well. If you learn only to use your tools, you don’t learn how to perform the tasks themselves. Your skills are therefore potentially less flexible; or, as I say in a number of situations, if all you have is a hammer, all problems look like nails. We're not just going to talk tools, though. We’ll also start looking at the various tasks that SharePoint developers may face.
Audience
This module is for SharePoint developers who have completed module 1 and have set up a lab environment.
What you’ll learn
In this module, you’ll get an overview of what SharePoint is all about, and we’ll will explore SharePoint development tools and understand why and when to use tools.
What you’ll cover
• SharePoint Front Page • SharePoint Create Page • SharePoint Pages • Site settings
• Best practice for using tools • SharePoint Manager • WSPBuilder
What you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development.
For this module, you should read chapter 2, “SharePoint as Birds See It”.
Prerequisites
We assume you have a working knowledge of SharePoint and have set up a lab
environment. Previous ASP.NET or .NET development experience is an advantage, but not essential. Module Details Status Released Course Beginning SharePoint Development Duration 3.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M2
5
Module 3: Development Core Concepts
Overview
Programming in .NET is just one part of developing for SharePoint. In this module, you'll also learn about CAML, features and solutions. We’ll look at ASP.NET. It is not an essential skill at this stage in the course, but it makes sense to build on the object oriented programming and SharePoint object model introduction from module 2.
Audience
This module is for beginning SharePoint developers who have completed modules 1 and 2, and have set up a lab environment.
What you’ll learn
In this module, we'll expand on core concepts that you need to learn as a SharePoint developer. You’ll start looking at code and coding principles in SharePoint. And you’ll also be introduced to ASP.NET development.
What you’ll cover
• CAML • Features • Solutions
• The .NET object model • ASP.NET development
What you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development.
For this module, you should read chapter 3, “Core Concepts”.
Prerequisites
We assume you have a working knowledge of SharePoint and have set up a lab
environment. Previous ASP.NET or .NET development experience is an advantage, but not essential. Module Details Status Released Course Beginning SharePoint Development Duration 7 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M3
6
Module 4: Data Development
Overview
Now the time has come to look at the core of SharePoint: Data. Data development is a major component of SharePoint development and is vital to making sure your solution work both effectively and efficiently.
Audience
This module is for beginning SharePoint developers who have completed modules 1, 2 and 3, and have begun development of the List Controller application.
What you’ll learn
We'll look at the various options we have in SharePoint 2007 for working with data. We'll talk a lot about lists and content types and you should have a good understanding of these concepts by the end of this week.
What you’ll cover
• Creating a content type • Content type features • Content type ID • List Instances • List Definitions
• Speeding development with common tools
What you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development.
For this module, you should read chapter 4, “Data Development”.
Prerequisites
We assume you have a working knowledge of SharePoint and have set up a lab
environment. Previous ASP.NET or .NET development experience is an advantage, but not essential. Module Details Status Released Course Beginning SharePoint Development Duration 6 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M4
7
Module 5: Behavior Development
Overview
Behave! We'll be cracking the whip in this module, teaching our data to behave how we want. Does that sound weird, 'teaching our data to behave'? Well, it is. I mean, data is just bits and bytes, right? It's not supposed to do anything.
Well, that used to be the case prior to SharePoint. You put your information somewhere and if you wanted something to happen, you did it yourself. Want someone to know that you put a new document somewhere? Send them an email. Want permissions set on that
document? Right-click in Windows Explorer, choose Properties, then go to the Security tab and make your changes. Want to retire the document after a few months? Well, you better remember when and where you put those documents there so you know which ones to remove.
With workflow and the other behavior options we have in SharePoint, these kinds of tasks can now be automated.
Audience
This module is for beginning SharePoint developers who have completed modules 1 to 4, and have begun development of the List Controller application.
What you’ll learn
In this module, we'll look at two options for managing and automating workflows: event receivers and SharePoint Designer Workflows.
What you’ll cover
• Feature receivers
• Content type event receivers • SharePoint Designer Workflows • Visual Studio Workflows
• Strong naming .NET assemblies
What you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development.
For this module, you should read chapter 5, “Behavior”.
Prerequisites
We assume you have a working knowledge of SharePoint and have set up a lab environment. Previous ASP.NET or .NET development experience is an advantage, but not essential.
Module Details Status Released Course Beginning SharePoint Development Duration 6 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M5
8
Module 6: Layout
Overview
Are looks everything? Throughout this course, you've been exposed to many of the common scenarios that SharePoint developers may face. It is, of course, only a start; there's far more to learn about all of the topics we've covered. You’ll find many more SharePoint courses in your InnerWorkings catalog. Now, however, we'll wrap up by making everything look very pretty. It's time to look at looks and some of the options we have for visual development.
Audience
This module is for beginning SharePoint developers who have completed modules 1 to 5, and have begun development of the List Controller application.
What you’ll learn
In this module, we're looking at web parts and custom actions, two important aspects of developing the user experience in SharePoint.
What you’ll cover
• Web parts
• Creating a SharePoint Web part • Custom actions
• Replacing a custom action • Dynamic custom actions
What you need to read
The main book for this course is the USP Journal issue Beginning SharePoint Development.
For this module, you should read chapter 6, “Visual Stuff”.
Prerequisites
We assume you have a working knowledge of SharePoint and have set up a lab
environment. Previous ASP.NET or .NET development experience is an advantage, but not essential. Module Details Status Released Course Beginning SharePoint Development Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code BSPDEV-SP-M6
9
SharePoint Data View Web Part Basics
This SharePoint course contains the following modules:• Working with the DVWP Common Dialogs • DVWP Code Structure
• Common XSL tags and their uses • Useful DVWP development techniques • Working with frequently used utility templates • Variable-driven DVWPs
Your Presenter - Marc D. Anderson
Marc is the Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton Centre, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform.
Marc has almost 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes. Prior to cofounding Sympraxis Consulting, Marc was Director of Operations at Jornata, a Boston-based technology consulting firm, which was acquired by Vitale, Caturano (now Caturano and Company) in the Spring of 2008. Marc has also held positions at world-class services firms such as Bain and Company, KPMG, and Renaissance Solutions. Marc also had a “real job”, managing the systems for Staples' delivery business as it grew from a $30 million “experiment” to an over $1 billion main line business unit. Having started his career as an assembly language and FORTRAN
programmer, Marc truly knows what life is like “in the trenches” and brings that perspective to bear for all of his clients. Marc has a Bachelors of Arts in Computer Mathematics from the University of Pennsylvania and graduated from Phillips Exeter Academy in Exeter, NH.
Lately, aside from client work, Marc has been:
• Developer of the jQuery Library for SharePoint Web Services (SPServices) • Faculty member at the USPJA Academy
• Frequent contributing author at EndUserSharePoint.com • Blogging at Marc D Anderson’s blog
10
Module 1: Working with the DVWP Common Dialogs
Overview
The Data View Web Part: as with everything, you need to start somewhere. We will start with the options you have to configure a Data View Web Part using the Common Dialogs in SharePoint Designer 2007.
Audience
This module is for SharePoint developers who are new to the DVWP, though may have some experience with SharePoint development.
What you’ll learn
We will go through many of the Common Dialogs for the DVWP in SharePoint Designer 2007, not just to use them to reach an end result, but to understand what they do under-the-covers to make the DVWP work.
What you’ll cover
• DataSource types
• Common Data View Dialogs: Filter and Sort
• Common Data View Dialogs: Paging and Edit Columns • Common Data View Dialogs: Change layout
Prerequisites
We assume you have a working knowledge of SharePoint. The course Beginning SharePoint Development would be a solid basis for this course. Also, previous ASP.NET or .NET development experience is an advantage, but is not required.
Module Details Status
Released
Course
SharePoint Data View Web Part Basics Duration 6 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M1
11
Module 2: DVWP Code Structure
Overview
We will look at the main parts of a Data View Web Part from an underlying code perspective. While the DVWP can do very useful things by simply using the Common Dialogs through the UI, you can create far more powerful solutions by working directly with the underlying code. Many people stop at the Common Dialogs with DVWPs, but since DVWPs are XSL-driven, you can do real development to make them accomplish almost anything you can imagine, assuming you have the underlying data you need in accessible DataSources.
Audience
This module is for SharePoint developers who have completed module 1 and have built the SharePoint constructs from the Module 1 assignment.
What you’ll learn
We will show you the main parts of the XML that make up a Data View Web Part. While we touch on some of the specific XSL tags, the goal of these lessons is to familiarize you with the important piece parts of DVWPs, and how they interact with each other and with the rest of SharePoint.
What you’ll cover
• DVWP code structure overview
• ParameterBindings and Datafields code • XSL to display content
• XSL for a form
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is an advantage.
Module Details Status
Released
Course
SharePoint Data View Web Part Basics Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M2
12
Module 3: Common XSL tags and their uses
Overview
This module provides an extensive overview of the available XSL tags that you can use in DVWPs, as well as many of the most useful XPath functions.
Audience
This module is for SharePoint developers who have completed modules 1 and 2, and have SharePoint constructs from the assignments in the lab environment.
What you’ll learn
We’ll look at the most common XSL tags used in DVWPs and how they fit together to allow you to construct solutions with DVWPs.
What you’ll cover
The most commonly used XSL tags: • <xsl-template> • <xsl:call-template> • <xsl:with-param> • <xsl:param> • <xsl:variable> • <xsl:for-each> • <xsl:sort> • <xsl:if> • <xsl:choose> • <xsl:when> • <xsl:otherwise> • <xsl:value-of> • <xsl:comment> • <xsl:text> • <xsl:attribute> • <xsl:import>
• and some of the most useful XPath functions.
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is an advantage. Module Details Status Released Course SharePoint Data View Web Part Basics Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M3
13
Module 4: Useful DVWP development techniques
Overview
So far, we've focused on the rudiments of the DVWP: what the main components are, how they fit together, how you can work with each, etc. In this module, we will look at some techniques that let you do some really cool things that otherwise would require custom managed code. We'll do this by looking at AggregateDataSources, CrossList DVWPs, and custom CAML.
Audience
This module is for SharePoint developers who have completed modules 1, 2, and 3, and have SharePoint constructs from the assignments in the lab environment.
What you’ll learn
We’ll look at techniques allow you work with multiple databases, pull items from multiple lists, and also at some good reasons to consider a Middle Tier development strategy.
What you’ll cover
• AggregateDataSource • CrossList DVWPs • Custom CAML
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is an advantage.
Module Details Status
Released
Course
SharePoint Data View Web Part Basics Duration 5.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M4
14
Module 5: Working with frequently used utility templates
Overview
One of the biggest beefs you will hear with DVWPs is that there is no portability or reusability. In this topic, we will cover some techniques that prove some of those concerns to be moot.
Audience
This module is for SharePoint developers who have completed modules 1 - 4, and have SharePoint constructs from the assignments in the lab environment.
What you’ll learn
By using modular programming techniques and storing reusable templates centrally, we can approach XSL development for DVWPs just as we would any other programming language, building reusable code "nuggets".
What you’ll cover
• Modular programming • Reusable XSL templates • Codeplex open source project • Recursive templates
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is an advantage.
Module Details Status
Released
Course
SharePoint Data View Web Part Basics Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M5
15
Module 6: Variable-driven DVWPs
Overview
Variable-driven DVWPs allow you to present information in a different way based on user selections, column values, or even who the actual user is. This starts to get you into the realm of real personalization and can also help with business intelligence and dashboarding. By passing values into the page on the Query String, you can have your DVWPs act differently, whether it means pulling up different content, formatting that content conditionally, sorting the content, etc. In this topic, we will look at some of these techniques, specifically by enhancing the out of the box list forms.
Audience
This module is for SharePoint developers who have completed modules 1 - 5.
What you’ll learn
Variable-driven DVWPs allow you to present information in a different way based on user selections, column values, or even who the actual user is. This starts to get you into the realm of real personalization and can also help with business intelligence and dashboarding. By passing values into the page on the Query String, you can have your DVWPs act differently, whether it means pulling up different content, formatting that content conditionally, sorting the content, etc. In this topic, we will look at some of these techniques, specifically by enhancing the out of the box list forms.
What you’ll cover
• Using Query String parameters to alter what you display in your DVWP • Customizing the values stored in forms by passing values from page to page • Creating simple "wizard"-like process flow
Prerequisites
We assume you have a working knowledge of SharePoint. Also, previous ASP.NET or .NET development experience is an advantage.
Module Details Status
Released
Course
SharePoint Data View Web Part Basics Duration 3 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code DVWP101-SP-M6
16
SharePoint Designer 2010 Workflow
This SharePoint course contains the following modules:• Understanding Workflows and Behavior Development in SharePoint • Introduction to SharePoint Designer and SharePoint Designer
Workflows
• Workflow Forms, Variables, and Parameters • Collecting Data from Users
• Controlling the Flow of Processes • An End-to-end Workflow Solution
Your presenter - Bjørn Furuknap
Bjørn Christoffer Thorsmæhlum Furuknap is a senior solutions architect, published author of Building the SharePoint User Experience, speaker, and passionate SharePointaholic. He has been doing software development professionally for 16 years for small companies as well as multinational corporations. He has also been a teacher at a college-level school, teaching programming and development to aspiring students, a job that inspired him to begin teaching what he has learned and learns every day.
17
Module 1: Understanding Workflows and Behavior
Develop-ment in SharePoint
Overview
When workflow was introduced in SharePoint 2007 (WSS3 and MOSS), a whole new world opened up that had previously been available only to a select few. Suddenly, it became easy for organizations to formalize their business processes and introduce better control and flexibility in how they wanted their business to run. Throughout this course, we will explore many of the options available to organizations looking to implement BPM. SharePoint Designer offers a simple way of understanding what business process management is all about, with a learning curve as gentle as the hills of Denmark.
Audience
This module is targeted at beginners, meaning you don't need any prior experience with anything beyond a basic knowledge of SharePoint. However, there will be interesting material even if you have worked with workflow in previous versions of SharePoint Designer.
What you’ll learn
In his first module, we will primarily focus on learning general business process management (BPM) concepts and explore what and how BPM is used in organizations. We'll pick up on core vocabulary and definitions, look at various types of workflow, and discuss how BPM and workflow can and should be used.
What you’ll cover
• Sequential and State Machine workflows • Site and List workflows
• Actions • Branches • Workflow step • Variables • Initiation parameter • Workflow forms
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 3.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M1
18
Module 2: Introduction to SharePoint Designer and
Share-Point Designer Workflows
Overview
What is your workflow life cycle? We talked in Module 1 about the soft skills of behavior development, but stopped before the fifth step, which is implementation. In this and the remaining modules, we're going to focus on that implementation, all based on building a single workflow. Maintaining a workflow development project for weeks is not uncommon. For example, if your workflow has multiple components or stages of development, you may need feedback and testing of intermediate stages of your workflow.
Audience
This module is targeted at beginners with a basic knowledge of SharePoint, and who have completed module 1 of this course. It’s not necessary, but you’ll benefit from having experience with SharePoint Designer.
What you’ll learn
We'll start by exploring SharePoint Designer and creating our first 'Hello world' type workflow. We'll get an overview of the interface in SharePoint Designer and then get our feet wet creating one of my favorite workflows, the 'Notify administrator' workflow.
What you’ll cover
• SharePoint Designer workflows • List workflows
• Reusable workflows • Site workflows • Workflow editing • Setting up a workflow • Setting workflow activities • Publishing a workflow
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 2.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M2
19
Module 3: Workflow Forms, Variables, and Parameters
Overview
If you have never done any kind of programming before, the idea of variables and parameters may seem foreign. However, if you think of parameters as input to a process (who will approve, why should they approve, by what date must they approve, and so on), it may make more sense. We’ll look at variables and also at forms and form design.
Audience
This module is targeted at beginners with a basic knowledge of SharePoint, and who have completed modules 1 and 2 of this course. It’s not necessary for success, but you’ll benefit from having experience with SharePoint Designer.
What you’ll learn
In this module, we are focusing on forms, variables, and parameters. These concepts are important because they enable us to gather and manipulate data within our process.
What you’ll cover
• Initiation form • Parameters • Editing forms
• Editing workflow: Add or Change Lookup • Working with variables
• Renaming variables
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 6.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M3
20
Module 4: Collecting Data from Users
Overview
The topics of this module's lectures are collecting data from users and using that data in your workflow. This is a very, very common task in all but completely automatic processes. In SharePoint, those completely automatic processes are rare, so it pays to pay attention to what you learn this week.
Audience
This module is targeted at beginners with a basic knowledge of SharePoint, and who have completed modules 1, 2 and 3. It’s not necessary, but you’ll benefit from having experience with SharePoint Designer.
What you’ll learn
We’ll look at the details of using data fields to collect data (as you might expect!)
What you’ll cover
• Data fields • Workflow lookup • Secondary lookup • Publish and verify
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 6 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M4
21
Module 5: Controlling the Flow of Processes
Overview
How can you rule the world if you can't control your processes? So far, our processes have run very simply from start to finish. That's OK for the simplest of workflows, but if we want to map real-life processes, we need to control the flow beyond a simple line of execution.
Audience
This module is targeted at beginners with a basic knowledge of SharePoint, and who have completed modules 1 to 4. It’s not necessary, but you’ll benefit from having experience with SharePoint Designer.
What you’ll learn
In this module, we're focusing on methods for controlling the flow of our processes. We'll look at three different methods, conditions, parallel blocks, and loops. These methods allow us to create complex orders of execution that mimics the real world.
What you’ll cover
• Conditional branching • Setting conditions • Parallel blocks
• Loops in SharePoint Designer
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 6.5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M5
22
Module 6: An End-to-end Workflow Solution
Overview
It's time for what may seem like your biggest challenge yet. In this module, we'll be building a full solution, from scratch, using what you've learned in the previous modules of this course. However, I think you'll be surprised at how easy this will be.
Audience
This module is targeted at beginners with a basic knowledge of SharePoint, and who have completed modules 1 to 4. While it’s not necessary, you will benefit from having experience with SharePoint Designer.
What you’ll learn
The main goal for this module is to show how, armed with the knowledge you've gained over the previous five modules, you can create real business solutions to real problems with SharePoint Designer 2010.
What you’ll cover
• Workflow solution preparation and outline • Site workflow
• Content type updates
• Setting workflow list item properties • Creating the report document • Connecting Workflows in SharePoint
What you need to read
The main book for this course is the USP Journal issue SharePoint Designer 2010
Workflows, which is referred-to in all modules of the course. Please download this to make
sure you have it available for reading assignments.
Prerequisites
We assume you have a working knowledge of SharePoint.
Module Details Status Released Course SharePoint Designer 2010 Workflow Duration 7 hours Programming Language C# Visual Studio Version 2008, 2010 Level 2 Drill Code SPD2010WF-SP-M6
23
Developing SharePoint Content Types
This SharePoint course contains the following modules:• Introducing Cool
• Taxonomy and Metadata • Behavior
• Layout
• Folders and Custom XML Documents
Your presenter - Bjørn Furuknap
Bjørn Christoffer Thorsmæhlum Furuknap is a senior solutions architect, published author of Building the SharePoint User Experience, speaker, and passionate SharePointaholic. He has been doing software development professionally for 16 years for small companies as well as multinational corporations. He has also been a teacher at a college-level school, teaching programming and development to aspiring students, a job that inspired him to begin teaching what he has learned and learns every day.
24
Module 1: Introducing Cool
Overview
You are incredibly smart. I know that because you've enrolled to learn more about the coolest and most powerful feature of SharePoint. Content types are an absolutely essential part of any developer's toolkit, and it's not just one of those chores you have to get through either, because content types are fun as well!
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
If you don't know how cool and powerful content types are, don't worry; after this week, you'll certainly know, because we'll be spending time getting to know what content types can do in your solutions.
If you have taken any of my classes before, you know I start off the first module easy to allow you to settle in and get acquainted the format and style. We'll take it a bit easy and just have a few lectures. However, these will be very important lectures, so you need to pay attention.
What you’ll cover
• What content types are
• What information can be stored in a content type • Creating a content type
What you need to read
The text of this course is based on the following two Understanding SharePoint Journal issues: Developing SharePoint Content Types & Content Types for Business Users.
Prerequisites
You should be familiar with working in Visual Studio and be familiar with basic XML as it relates to SharePoint. Some parts of this course deals with .NET code. If you have completed the InnerWorkings course Beginning SharePoint Development, you will have the
recommended skills for this course.
Module Details Status Released Course Developing SharePoint Content Types Duration 2 hours 45 minutes Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code DEVSPCT-SP-M1
25
Module 2: Taxonomy and Metadata
Overview
Now it is time to dive into the first of the major features of SharePoint content types: taxonomy and metadata. In this module, we'll focus both on the business end of things as well as the technical implementation. In fact, that will be the case for the rest of this course; think in both camps, we are no longer isolated compartments in an organization. The individual assignment asks you to perform a fairly common task for content type developers; build and recreate in code something that is a business object.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
Taxonomy is, simply put, just categorization and organization of information. How do we ensure we put the right information in the right places? Before we can answer that, we also need to know what the right information is. That's where metadata comes in.
Taxonomy may be a foreign idea to most developers. After all, we don't normally deal with organizing content, we write code or build solutions for others to organize. However, SharePoint narrows the gap between the business and the developers so we need to better understand the business needs in addition to how to technically implement a solution.
What you’ll cover
• Content type columns • Lists and libraries • List views
• Content type inheritance
• Building a content type based taxonomy
What you need to read
The text of this course is based on the following two Understanding SharePoint Journal issues: Developing SharePoint Content Types & Content Types for Business Users.
Prerequisites
You should be familiar with working in Visual Studio and be familiar with basic XML as it relates to SharePoint. Some parts of this course deals with .NET code. If you have completed the InnerWorkings course Beginning SharePoint Development, you will have the
recommended skills for this course.
Module Details Status Released Course Developing SharePoint Content Types Duration 3 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code DEVSPCT-SP-M2
26
Module 3: Behavior
Overview
This week is all about behavior; we'll teach our data to behave the way we want. "Data is just bits and bytes”, you say, “it cannot behave!" Well, you'd be surprised at what SharePoint data can do. When we're talking about behavior development in SharePoint, we're talking about making our data react to events or to teach it to do tricks. You have heard about workflow, for example, and workflows is just one way we can make our data behave. In your individual assignment, you'll build an event receiver. I know some of you struggle with .NET
programming, but if you want to build event receivers, a bit of programming is mandatory.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
In this module, we focus both on workflows and event receivers, two of the most common behavior development technologies. I've added two pieces of optional content for those of you who want to go far deeper in SharePoint Designer workflows. They’re optional because SPD 2007 workflows are not suited for connecting to content types; only SPD 2010 allows you to explicitly target a single content type.
What you’ll cover
• Event receivers
• Attaching event receivers to content types • SharePoint Designer workflows
What you need to read
The text of this course is based on the following two Understanding SharePoint Journal issues: Developing SharePoint Content Types & Content Types for Business Users.
Prerequisites
You should be familiar with working in Visual Studio and be familiar with basic XML as it relates to SharePoint. Some parts of this course deals with .NET code. If you have completed the InnerWorkings course Beginning SharePoint Development, you will have the
recommended skills for this course.
Module Details Status Released Course Developing SharePoint Content Types Duration 6 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code DEVSPCT-SP-M3
27
Module 4: Layout
Overview
Make it look pretty, please! In this module, we'll look at the third major feature of content types: visual customization.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
As you should know by now, we can customize the forms used to display, edit, or create items based on our content types. This allows us to create a visual interface that closely matches what the users expects to see.
What you’ll cover
• Content type forms
• How content types forms relate to list forms • Rendering templates
• Custom actions
What you need to read
The text of this course is based on the following two Understanding SharePoint Journal issues: Developing SharePoint Content Types & Content Types for Business Users.
Prerequisites
You should be familiar with working in Visual Studio and be familiar with basic XML as it relates to SharePoint. Some parts of this course deals with .NET code. If you have completed the InnerWorkings course Beginning SharePoint Development, you will have the
recommended skills for this course.
Module Details Status Released Course Developing SharePoint Content Types Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code DEVSPCT-SP-M4
28
Module 5: Folders and Custom XML Documents
Overview
In this module we revisit XML documents and look at the hidden power they hold. We’ll also consider the fact that folders are also content types, and we’ll look at the amazing
opportunities this opens up.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
You've already had an exposure to XML documents over the previous modules, both in the Form customizations and in event receivers. However, these XML document nodes are much more powerful than that. In fact, Microsoft has opened up a world of opportunities to expand the functionality of content types to practically anything. Microsoft themselves use this functionality for several features in MOSS and SharePoint Server. And, in the
assignment, you'll have a chance to both come up with a great new use for these elements.
What you’ll cover
• Folders as content types
• Iterating through items and folders in a list • Creating folder content types in CAML • Custom XML documents
What you need to read
The text of this course is based on the following two Understanding SharePoint Journal issues: Developing SharePoint Content Types & Content Types for Business Users.
Prerequisites
You should be familiar with working in Visual Studio and be familiar with basic XML as it relates to SharePoint. Some parts of this course deals with .NET code. If you have completed the InnerWorkings course Beginning SharePoint Development, you will have the
recommended skills for this course.
Module Details Status Released Course Developing SharePoint Content Types Duration 1 hour Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code DEVSPCT-SP-M5
29
Introduction to the SharePoint Web Services
SharePoint’s Web Services expose a wide range of methods you can use to interact with various containers, collections, and objects. This course introduces you to the Web Services that are available in WSS, MOSS, and their SharePoint 2010 counterparts. The Web Services in newer versions of SharePoint are additive, so understanding the prior version’s capabilities is always useful. Although you can call Web Services from almost any programming language, this course focuses on using jQuery to interact with the Web Services client side to build useful functionality into your SharePoint forms and pages. It is strongly recommended that you take Enhancing the User Experience with jQuery prior to this course.
This SharePoint course contains the following modules:
• Module 1: Introduction to Web Services, SharePoint Style • Module 2: Working with List Data: The Lists Web Service • Module 3: Site Collection Traversal and the Webs Web Service • Module 4: Working with People
• Module 5: Search and Workflow
• Module 6: New Web Services in SharePoint 2010
Your Presenter - Marc D. Anderson
Marc is the Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton Centre, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform.
Marc has almost 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes. Prior to cofounding Sympraxis Consulting, Marc was Director of Operations at Jornata, a Boston-based technology consulting firm, which was acquired by Vitale, Caturano (now Caturano and Company) in the Spring of 2008. Marc has also held positions at world-class services firms such as Bain and Company, KPMG, and Renaissance Solutions. Marc also had a “real job”, managing the systems for Staples' delivery business as it grew from a $30 million “experiment” to an over $1 billion main line business unit. Having started his career as an assembly language and FORTRAN
programmer, Marc truly knows what life is like “in the trenches” and brings that perspective to bear for all of his clients. Marc has a Bachelors of Arts in Computer Mathematics from the University of Pennsylvania and graduated from Phillips Exeter Academy in Exeter, NH.
Lately, aside from client work, Marc has been:
• Developer of the jQuery Library for SharePoint Web Services (SPServices) • Faculty member at the USPJA Academy
• Frequent contributing author at EndUserSharePoint.com • Blogging at Marc D Anderson’s blog
30
Module 1: Introduction to Web Services, SharePoint Style
Overview
SharePoint's Web Services are XML Web Services, so are not fundamentally different from any other XML Web Services you may have worked with in the past. However, because they are in SharePoint, there are a few quirks that make them unique.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
In this module, we’ll introduce the SharePoint Web Services, look briefly at what Web Services SharePoint offers, and use the Lists Web service to illustrate how you might use them.
What you’ll cover
• What a Web service is
• What SharePoint’s Web Services offer
• Some advantages to using Web Services in SharePoint • An introduction to the Lists Web service
• Connecting a Data View Web Part to a Web service • Accessing a Web service using jQuery
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 3 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M1
31
Module 2: Working with List Data: The Lists Web Service
Overview
The Lists Web Service is probably the most commonly used Web Service. It allows you to work with lists and the items they contain in many different ways.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
In this module, our detailed look at the Lists Web service will pave the way for you to understand the other SharePoint Web Services. Keep in mind that almost everything in SharePoint is stored in a list of some sort. Even libraries are just specialized lists.
What you’ll cover
• The Lists Web service
• Understanding the Lists Web Service documentation in the SharePoint SDK • The GetListItems method
• How to add, modify, and delete list items and columns • Get and set list attributes
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 4 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M2
32
Module 3: Site Collection Traversal & the Webs Web Service
Overview
In this Module, we take a detailed look at the Webs Web Service, which you can use to "traverse" the site structure of your Site Collection.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
We’ll explore the Webs Web Service to get familiar with how you can discover the topology of a site collection you’re working in, and then move through that topology.
What you’ll cover
• The Webs Web Service
• Understanding the Webs documentation in the SharePoint SDK • Retrieving the properties of a site
• Retrieving the subsites and parent site of a Site Collection • Traversing a Site Collection
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M3
33
Module 4: Working with People
Overview
Often, you might like to make changes to people, or at the least peoples’ profiles,
permissions, and group memberships in SharePoint applications. The Web Services we’ll look at in this module will allow you to do just that.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
There are several methods we can use to work with the concept of people in SharePoint. We’ll look at the Web Services and jQuery scripting techniques that allow you to change user and group characteristics and their permissions.
What you’ll cover
• The UserGroup Web Service • The Permissions Web Service • The UserProfileService Web Service
• Determining the identity of thecurrent user (a seemingly simple task which can turn out not to be)
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M4
34
Module 5: Search and Workflow
Overview
The Search and Workflow Web Services allow you to go even further in your interactions with SharePoint. These two Web Services allow you to provide customized search results and interact with SharePoint's workflow engine.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
We’ll take a comprehensive tour of the Search and Workflow Web services, and the documentation that’s available for them.
We'll also take a slight detour into general error handling with the Web services.
What you’ll cover
• The Search Web Service • The Workflow Web Service • Error handling with Web Services
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M5
35
Module 6: New Web Services in SharePoint 2010
Overview
All of the familiar Web Services from SharePoint 2007 are still there in SharePoint 2010, but there are also new Web Services to work with.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
We'll examine the major differences between Web Services in SharePoint 2007 and 2010 – what’s new, what’s different, and what’s gone. We’ll pay particular attention to the all-important Lists and Webs Web Services.
What you’ll cover
• What new Web Services were introduced with SharePoint 2010
• What changes were implemented with the Web Services that existed in SharePoint 2007
Prerequisites
It is strongly recommended that you take Enhancing the User Experience with jQuery prior to starting this course.
Module Details Status Released Course Introduction to the SharePoint Web Services Duration 35 minutes Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code SPWSINTRO-SP-M6
36
Enhancing the SharePoint User Experience with jQuery
After taking this course, you will be able to improve the user experience in your SharePoint solutions, improving data quality and user adoption rates. You will learn how to get jQuery set up for use with SharePoint and how to work with the client-side Document Object Model (DOM). Specific examples using the jQuery Library for SharePoint Web Services (also called SPServices) will be included and may be of the most interest to business users.
This SharePoint course contains the following modules: • Module 1: Installing jQuery in your Environment
• Module 2: Basic jQuery Selectors and DOM Manipulation • Module 3: Understanding the Pages that SharePoint Renders • Module 4: Basic Page Manipulation with jQuery
• Module 5: jQuery’s AJAX with SharePoint’s Web Services • Module 6: Tying it all Together - Complex jQuery Usage
Your Presenter - Marc D. Anderson
Marc is the Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton Centre, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform.
Marc has almost 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes. Prior to cofounding Sympraxis Consulting, Marc was Director of Operations at Jornata, a Boston-based technology consulting firm, which was acquired by Vitale, Caturano (now Caturano and Company) in the Spring of 2008. Marc has also held positions at world-class services firms such as Bain and Company, KPMG, and Renaissance Solutions. Marc also had a “real job”, managing the systems for Staples' delivery business as it grew from a $30 million “experiment” to an over $1 billion main line business unit. Having started his career as an assembly language and FORTRAN
programmer, Marc truly knows what life is like “in the trenches” and brings that perspective to bear for all of his clients. Marc has a Bachelors of Arts in Computer Mathematics from the University of Pennsylvania and graduated from Phillips Exeter Academy in Exeter, NH.
Lately, aside from client work, Marc has been:
• Developer of the jQuery Library for SharePoint Web Services (SPServices) • Faculty member at the USPJA Academy
• Frequent contributing author at EndUserSharePoint.com • Blogging at Marc D Anderson’s blog
37
Module 1: Installing jQuery in your Environment
Overview
Welcome! This module shows you some of the sites and basic concepts you'll need to know about for this course.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
We will start out by reviewing some websites that are important resources for developers using jQuery with SharePoint, and then jump into developing by learning how to reference jQuery and any associated plugins and libraries. We’ll also look at minification – what it is, and why you should consider using it.
What you’ll cover
• An orientation on important jQuery web sites
• How to reference the jQuery library and other plugins
• The relative merits of different approaches to referencing the jQuery library • What Minification is, and why it matters
Prerequisites
There are no specific prerequisites for this course. However, jQuery is built on JavaScript, so familiarity with client-side scripting techniques can be useful.
Module Details Status Released Course Enhancing the SharePoint User Experience with jQuery Duration 3 hours 30 minutes Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code JQUERYUX-SP-M1
38
Module 2: Basic jQuery Selectors and DOM Manipulation
Overview
Question: How do you find an object in the DOM so that you can manipulate it? Answer: jQuery selectors!
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
JavaScript can do everything that jQuery can do, but jQuery can make some operations much simpler and more efficient to develop. Selectors are a good example. We’ll look at simple and medium-level-complexity selectors.
Getting your initial selectors right can be the hardest step, as most of the rest of your script will depend on those selectors being correct. Additionally, the DOM for pages which SharePoint generates is complex. Getting a basic understanding of how SharePoint's pages are constructed on the client side is crucial to success.
What you’ll cover
• Using simple jQuery selectors to find objects in a page • The SPArrangeChoices function from SPServices • Manipulating the DOM and other objects
Prerequisites
There are no specific prerequisites for this course. However, jQuery is built on JavaScript, so familiarity with client-side scripting techniques can be useful.
Module Details Status Released Course Enhancing the SharePoint User Experience with jQuery Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code JQUERYUX-SP-M2
39
Module 3: Understanding the Pages SharePoint Renders
Overview
The pages that SharePoint renders are simply HTML and script, but they have some consistent characteristics that are useful to understand as you start working with them and jQuery.
Audience
This module is for intermediate level SharePoint developers.
What you’ll learn
There are many different pages in SharePoint, but two of the most common constructs are the Quick Launch and the list forms. We will look at some of the most common SharePoint page objects.
What you’ll cover
• Using IE8+ and the Developer Tools to understand the Document Object Module that SharePoint renders
• The DOM for Quick Launch • The DOM for a List Form
Prerequisites
There are no specific prerequisites for this course. However, jQuery is built on JavaScript, so familiarity with client-side scripting techniques can be useful.
Module Details Status Released Course Enhancing the SharePoint User Experience with jQuery Duration 5 hours Programming Language C# Visual Studio Version 2008, 2010 Level 3 Drill Code JQUERYUX-SP-M3