Introduction to Minimal Download Strategy in SharePoint 2013

Introduction

Minimal Download Strategy in SharePoint 2013 improves rendering performance when browsing content where large parts of the page do not change providing a more fluid navigation experience. For example when navigating between a site’s home page and Shared Documents page only the content that has changed between the source and destination page (controls and placeholders in the content area) are downloaded and the Url subsequently updated where the chrome is persisted.

image

In a typical AJAX scenario controls interface with the server individually. Controls on the chrome in SharePoint are implemented with the Url at their core. Minimal Download Strategy implements a new download manager that interfaces between the client and server and retrieves the data as needed depending the initiating request. Each control on the page uses the download manager to update itself when necessary.

Chrome

In SharePoint the chrome is defined by the master page which in turn defines the overall layout, core styling, page behavior, location and size of the content area and includes any common controls shared across pages (I.e. navigation).

Content Area

The content area is defined by the content page which in turn inherits style and behavior from the master page and interacts with controls on the chrome.

In previous versions of SharePoint, unlike with Minimal Download Strategy, when a user navigated between pages the entire page (chrome and content area) were reloaded. Minimal Download Strategy significantly reduces the amount of data that needs to be downloaded and reduces the amount of markup, css, scripts, etc. that the browser needs to parse and render improving overall performance and provides smoother transitions.

Download Manager

As previously mentioned, Minimal Download Strategy is made possible through a new download manager that interfaces between the client and server. The download manager understands controls whose display context is the current Url, controls that can potentially change a Url (I.e. Quick Launch), controls that both have a display context of the current Url and change change a Url (breadcrumbs), and controls that do neither such as images.

Minimal Download Strategy uses a single .aspx file (start.aspx) for your pages, with the actual URL encoded in the text following the hashmark (‘#’). When navigating from page to page, only the changes between two compatible pages will be downloaded.

The download manager follows a subscriber/publisher model therefore each control must register its events with the download manager for example when navigation download starts, ends, is cancelled, or fails. The download manager is also responsible for managing the delta or the difference between the source and destination page.

Enabling and Disabling Minimal Download Strategy

In SharePoint 2013 Minimal Download Strategy is enabled by default and can be disabled where necessary on a per SPWeb basis using EnableMinimalDownload property and settings its value to False.

Conclusion

Minimal Download Strategy is a new feature in SharePoint 2013 that improves client rendering performance and fluidity when navigating from page to page by download only the changes between two compatible pages. Fewer bytes will be downloaded and the page will appear more quickly.

Resources

Learn more about SharePoint Server 2013

Learn more about SharePoint Server 2013

Windows PowerShell Command Builder 2.0

A new updated version of the Windows PowerShell Command Builder is now available.

The Windows PowerShell Command Builder for Microsoft SharePoint 2010, Microsoft SharePoint 2013, SharePoint Online, and Microsoft Office 365 is an HTML 5 application that is designed to help IT professionals and power users learn how to use Windows PowerShell for administrative tasks.  The Windows PowerShell Command Builder enables IT professionals and power users to visually assemble commands related to SharePoint 2010, SharePoint 2013, SharePoint Online, and Office 365 in the browser and take those commands to their respective products. 

The new HTML5-based Windows PowerShell Command Builder can be accessed at http://technet.microsoft.com/en-us/sharepoint/jj672838.aspx and provides many of the same capabilities as the previous Silverlight version such as offline access.  In addition to providing support for SharePoint Server 2010, SharePoint Foundation 2010, and Office 365, this version also introduces support for SharePoint Server 2013, SharePoint Foundation 2013, and SharePoint Online.

To learn more about the Windows PowerShell Command Builder read the Windows PowerShell Command Builder Getting Started Guide.  To begin using the Windows PowerShell Command Builder see SharePoint Server 2010 – Windows PowerShell TechNet.

NOTE

The Windows PowerShell Command Builder constructs commands that can be used with SharePoint Foundation 2010, SharePoint Server 2010, SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Online, and Office 365.

SharePoint 2010 System Requirements

SharePoint 2013 System Requirements

Office 365 System Requirements

About Windows PowerShell

Windows PowerShell is a task-based command-line shell and scripting language that is designed especially for system administration. Built on the .NET Framework, Windows PowerShell helps IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows, such as SharePoint.

Windows PowerShell Names

Windows PowerShell uses a "verb-noun" naming system, where each cmdlet name consists of a standard verb that is hyphenated with a specific noun.

Verbs

Windows PowerShell uses the term verb to describe a word that implies an action even if that word is not a standard verb in the English language. For example, the term New is a valid Windows PowerShell verb name because it implies an action even though it is not a verb in the English language.

Common verbs that are used within the Windows PowerShell profile for SharePoint 2010, SharePoint 2013, SharePoint Online, and Office 365 include:

  • Get
  • Set
  • Add
  • Remove
  • New
Nouns

Nouns are very much like nouns in any language. They describe specific types of objects that are important in system administration. Nouns generally describe what a command acts upon. It is easy to demonstrate how these two-part names make it easy to learn how to use Windows PowerShell by looking at a few examples of verbs and nouns.

Verb

Noun

Cmdlet

Get

SPSite

Get-SPSite

Add

SPUser

Add-SPUser

The Windows PowerShell Command Builder provides access to some of the most commonly used routine verb-noun combinations with SharePoint 2010, SharePoint 2013, SharePoint Online, and Office 365. Additional verbs and nouns are added periodically when the application is refreshed.

Using the Windows PowerShell Command Builder

To begin using the Windows PowerShell Command Builder, click the Windows PowerShell Command Builder link in the Windows PowerShell for SharePoint Server 2013 Resource Center. The Windows PowerShell Command Builder will open in the browser and default to the SharePoint Server 2013 product – meaning only those cmdlets available to SharePoint Server 2013 will be presented in the user interface.

The Windows PowerShell Command Builder User Interface

The Products dropdown includes SharePoint Foundation 2010, SharePoint Server 2010, SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Online, and Office 365.

The Windows PowerShell Command Builder user interface distributes the necessary objects across the following three (3) dimensions: 1. Verbs, 2. Nouns, 3. Design Surface. The Verbs dimension contains verbs that are associated with the product that is selected in the Products dropdown. The Nouns dimension contains nouns that are associated with the product that is selected in the Products dropdown. The Design Surface is where verbs and nouns are combined to begin generating a Windows PowerShell command associated with the selected product.

Builder1

Figure 1 Windows PowerShell Command Builder Environment

NOTE

All verb-noun combinations that are available to SharePoint Foundation 2010 are included in SharePoint Server 2010 in addition all verb-noun combinations that are available to SharePoint Foundation 2013 are included in SharePoint Server 2013.

Getting Started

The Windows PowerShell Command Builder provides an intelligent user experience. After you drag a verb or noun object on the Design Surface, the interface will hide either the verbs or nouns that are not associated with the verb or noun placed on the Design Surface.

To begin using the Windows PowerShell Command Builder, select a desired noun and drag it to the Design Surface. The noun will “snap” to the appropriate location in the Design Surface. Next select one of the available verbs and drag it to the Design Surface.

NOTE

On touch-enabled devices a single click on either a verb or noun will display a “Send” prompt that can be used in place of drag and drop where desired.

image

Figure 2 Send Prompt

As elements are placed on the Design Surface, the corresponding Windows PowerShell command will be constructed at the bottom of the Design Surface to include a hyperlink to the related online content. If the constructed command includes required or optional parameters, prompts on the Design Surface indicate where the information can be supplied.

The Windows PowerShell Command Builder minimizes the need to memorize complex cmdlet parameters and noun references by presenting a friendly description of those parameters or nouns. For example, to create a new site collection in SharePoint Foundation 2010 or 2013, the verb-noun combination and required parameters are constructed as follows:

New-SPSite -Identity http://www.contoso.com/

To simplify this construction, Windows PowerShell Command Builder provides a “user friendly” representation of both nouns and in many cases the parameters required to complete a command. For example, in the above example, the Windows PowerShell Command Builder represents the SPSite noun as Site and the -Identity parameter as Url in order to present this information in a user friendly, visual, and structured way.

The Windows PowerShell Command Builder provides access to the most common cmdlets and routine scenarios that are associated with the administration of SharePoint 2010, SharePoint 2013, SharePoint Online, and Office 365. However, Windows PowerShell Command Builder does not provide access to all cmdlets that are associated with these products. The Windows PowerShell Command Builder also provides access to a number of parameters that are associated with each cmdlet. However, Windows PowerShell Command Builder excludes those less commonly used with the respective cmdlet.

NOTE

The Windows PowerShell Command Builder supports both traditional and touch interactions. You can interact with elements in the Windows PowerShell Command Builder by using a mouse and pointer or optionally through natural touch on supported devices.

Using the Clipboard

The Windows PowerShell Command Builder supports copying constructed cmdlets to the Clipboard. To copy a constructed cmdlet, select the Copy to Clipboard button on the Design Surface. The copied cmdlet can then be pasted into a Windows PowerShell script, the SharePoint 2010 Management Shell, or other desired location to be saved or executed.

Clearing the Design Surface

The Windows PowerShell Command Builder Design Surface can be cleared in one of two ways:

  • Drag verbs and nouns back on their respective dimensions.
  • Select the Clear Design Surface button on the Design Surface.

The Clear Design Surface button is not displayed until elements are placed on the Design Surface.

Frequently Asked Questions

Q: I don’t see the verb-noun combination I’m looking for?

A: The initial release of the Windows PowerShell Command Builder provides access to the most common and routine cmdlets available to SharePoint 2010, SharePoint 2013, SharePoint Online, and Office 365. Later releases will introduce additional verb-noun constructs.

Q: Does the Windows PowerShell Command Builder support complex scripting, for example Piping and the Pipeline?

A: No. Windows PowerShell provides access to and supports complex tasks to multiple degrees of variety and preference of the individual constructing the command which cannot be accounted for programmatically. For advanced scripting support with Windows PowerShell see the Windows PowerShell Owner’s Manual.

Q: Can I customize the Windows PowerShell Command Builder?

A: No. The Windows PowerShell Command Builder does not support customization.

Additional Resources

To learn more about SharePoint 2010 Products cmdlets and concepts, see the Windows PowerShell for SharePoint Server 2010 Resource Center.

To learn more about SharePoint 2013 Products cmdlets and concepts, see the Windows PowerShell for SharePoint 2013 Resource Center.

To learn more about Windows PowerShell, see Windows PowerShell in the Scripting library on TechNet.

To learn more about Windows PowerShell in the SharePoint Management Shell, see Windows PowerShell in the SharePoint Management Shell.

To access Windows PowerShell training for SharePoint Server 2010 Administrators, see the Windows PowerShell for SharePoint Server 2010 Administrators video.

To learn more about SharePoint 2010 Products administration using Windows PowerShell, see SharePoint 2010 Products administration by using Windows PowerShell.

Windows PowerShell 3.0 and SharePoint Server 2013

SharePoint 2013 includes Windows Management Framework 3.0 the as one of the new prerequisites to installation and configuration.  Included in the Windows Management Framework 3.0 is Windows PowerShell 3.0.

Windows PowerShell 3.0 extends upon the usability of Windows PowerShell 2.0 while maintaining backward compatibility with Windows PowerShell 2.0. Windows PowerShell 3.0 includes a number of new capabilities that can help administrators of a SharePoint farm including new session management, Web access, and scheduling capabilities.

Session Management / Disconnected Sessions

New in Windows PowerShell 3.0 is the ability to manage PSSessions on remote machine. In Windows PowerShell 3.0 PSSessions are persisted on the remote machine created using New-PSSession as opposed to being dependent on the session where they were created. You can use the ComputerName parameter with Get-PSSession to return all of the user’s session on the machine to include those started within a different session or from a different machine. Connecting to sessions allows you to get the results of commands, start new ones, and disconnect sessions.

You can also disconnect from a session without disrupting the commands running in the session. For example, when executing a command such as Get-SPSite | Get-SPWeb, the session can be closed, the initiating machine powered down and the session reconnected to from another machine. While Windows PowerShell 3.0 maintains backward compatibility with Windows PowerShell 2.0, disconnected sessions are supported when the source and destination machines are both running Windows PowerShell 3.0.

Windows PowerShell Web Access

Windows PowerShell 3.0 also includes new Windows PowerShell Web Access with Windows Server 2012 that enables users to run Windows PowerShell cmdlets and scripts in a Web console on devices even where Windows PowerShell is not installed without the need for remote management software or browser plug-ins. All that is required is a properly-configured Windows PowerShell Web Access gateway and a client device browser that supports JavaScript and accepts cookies.

Scheduled Jobs

Job scheduling allows the scheduling and management of background jobs. Scheduled jobs can be viewed and managed through both Windows PowerShell and Task Scheduler.

Like Windows PowerShell background jobs, scheduled jobs run asynchronously in the background. Instances of scheduled jobs that have completed can be managed by using the job cmdlets, such as Start-Job and Get-Job.

Like Task Scheduler tasks, you can run scheduled jobs on a one-time or recurrent schedule or in response to an action or event. You can view and manage scheduled jobs in Task Scheduler, enable and disable them as needed, run them or use them as templates, and set conditions under which the jobs start.

In addition, scheduled jobs come with a customized set of cmdlets for managing them. The cmdlets let you create, edit, manage, disable, and re-enable scheduled jobs, create scheduled job triggers and set scheduled job options.

For example to execute the SharePoint Translation Services Timer Job Definition on a defined schedule:

Create a new Windows PowerShell Script using the following sample:

$tj = Get-SPTimerJob "SharePoint Translation Services"

$tj.Runnow()

Open the Management Shell and enter the following:

$jobTrigger = New-JobTrigger -Daily -At 3AM

$jobOption = New-ScheduledJobOption -HideInTaskScheduler

Register-ScheduledJob -Name "<name>" -FilePath "<drive>:<file>.ps1" -Trigger $jobTrigger -ScheduledJobOption $jobOption

Register-ScheduledJob -Name "<name>" -FilePath "<drive>:<file>.ps1" -Trigger $jobTrigger -ScheduledJobOption $jobOption

This will schedule a new job that will run daily at 3:00 A.M. with the option that it does not appear in the Task Scheduler.

Resources

Learn more about SharePoint Server 2013

Learn more about SharePoint 2013 Hardware and Software Requirements

Learn more about Windows PowerShell and SharePoint 2013

Learn more about Windows PowerShell

Start working with Windows PowerShell and SharePoint with the new Windows PowerShell Command Builder for SharePoint

SharePoint Server 2013 Software Prerequisites

Web and Application Servers

Minimum

Windows Server 2008 R2 with Service Pack 1 (Standard, Enterprise, or Datacenter)

Requires KB 2554876, KB 2708075, KB 2759112

Optional

Windows Server 2012 (Standard or Datacenter)

Prerequisites

Web and Application Servers

Database Servers

Minimum

SQL Server 2008 R2 Service Pack 1

Optional

SQL Server 2012

Resources

Learn more about SharePoint Server 2013

Learn more about hardware and software requirements for SharePoint Server 2013

SharePoint Server 2013 System Requirements Training

What’s new for IT Professionals in SharePoint Server 2013

Join me Monday, November 12, 2012 @ 11:00 A.M. in Mandalay Bay GIJK as I discuss what’s new for IT Professionals in SharePoint Server 2013.  In this fast-paced session we’ll discuss some of the most compelling and important new capabilities and features in SharePoint Server 2013, demonstrate those capabilities and features, and provide references to additional resources where you can learn more about them in depth.  If you haven’t done so visit http://www.mssharepointconference.com and add the session to your calendar.

Upon conclusion of the session I’ll share a series of posts here that provide additional details on each new capability or feature discussed.  To be notified of new posts, subscribe or filter posts by SPC219.

untitled