Microsoft Flow, SharePoint, 429, and Throttling a Workflow to Death

We’re here to mourn the death of many a workflow instance at the hands of SharePoint’s HTTP throttling. Except it’s not SharePoint’s throttling that is the true killer. SharePoint’s just the accomplice in this crazy dance that will get your workflows killed. Though it’s possible to protect your workflow instances from being throttled to death, it isn’t as easy as it might seem. In this post, we’ll talk about what happens every day and then what strategies you can use to protect your workflow.

Request Throttling

Before we can explain how a flow gets throttled to death, we first must understand a bit about throttling. Web servers are under constant assault from well-intended users, the code written by bumbling idiot developers (of which occasionally I am one), and malicious people. One of their defenses is to respond with “I’m too busy right now, come back later.” This comes back as the code HTTP status code 429. Sometimes these responses are kinder and will indicate when the person should come back. “Hey, I should be able to take care of that request for you after seven seconds” tells the program when it should retry the request – and here’s the kicker – expect that it will be able to be serviced.

The problem is that, when you’re dealing with so many different users and so many variables, it’s sometimes difficult to predict when the server will be willing or able to service a request.

Automatic Retries

Because a server may respond with a 429, most programs know to retry the request. The strategies vary but the default answer is an exponential interval. The first time you get a 429, you stop for a period of time – say four seconds – and then each time you retry, you square the interval. So, four seconds becomes sixteen on the second retry, and 256 seconds on the second interval. Flow allows you to follow the default policy, which is described as exponential, or explicitly set the interval to exponential. To do this, click the ellipsis at the right of the action and select Settings.

The action’s space in the flow will change to the settings view, where you can explicitly set the retry policy to exponential – which will further change the view to provide spaces for a maximum retry count, an interval, minimum interval, and maximum interval.

The default settings, however, are supposed to do exponential waiting on retries and four retries. So that seems like a good place to start. The default is implemented as one try plus three retries. That is how they get to four retries.

Retry Schedule Conflicts

What happens when there is a conflict between the provided retry schedule and what the server responded with as a part of its 429 response? The good news is that Flow will use the larger of the two numbers. In theory, at least, you’ll never hit a retry more than once or twice. Sure, the server could make a mistake with its guidance once but surely not twice. Unfortunately, that’s not always the case. Sometimes the response from the server – and the default exponential interval – will be too small, and you’ll exhaust the three retries and end up failing your request. This typically happens when you have multiple flows running at the same time.

Parallelism

Any given Flow may not be making that many requests, but what happens when there are many Flow instances running at the same time? If you do work on a queue that information is dropped into, you can’t necessarily control how many items will come in at the same time. With the scalability of the Flow platform, what’s to stop you from running hundreds or thousands of Flows at the same time – against the same poor server that’s just trying to cope?

If you have 100 Flows all starting in a relatively short time talking to the same back end server, it may be getting thousands of requests from Flow every minute. Even if each Flow is told to retry later, even the server telling the consumer to retry later may cause the server to need to push off work even further. The result is that every Flow gets throttled to death – until so few remain that they can be handled inside of the capacity of the server.

Luckily, Flow offers a technique for limiting the number of active flows at any time. This can be done by going to the ellipsis and then Settings for the trigger. This changes the trigger to its settings display, which allows you to limit the number of concurrent Flow instances – or the degree of parallelism.

SharePoint Request Throttling

Generic request throttling is fine but how does my favorite server – SharePoint – do it? Well, the answer isn’t clear. Microsoft published an article “Avoid getting throttled or blocked in SharePoint Online“, which says that they won’t publish the rules – because they’re changing them.

At the same time, they make clear that some of the criteria being used to manage the workflow are things like user agents, accounts, and App IDs. However, when it comes to Flow, we have some limitations.

Flows always run as the user that created the Flow – not as the user initiating the request. So, from the point of view of SharePoint, one user is making all the requests – and they’re making them from the same application, Flow. This makes Flows a high target for throttling, even when you consider it’s a well-known and well-trusted application.

It turns out there’s more to it than that. There’s an interface layer that the connectors – including the connector to SharePoint – use.

Connectors and Infrastructure

Many of Microsoft’s new offerings like Flow, PowerApps, and PowerBI need access to the same service data inside of multiple tenants. As a result, the connectors use a common architecture that allows multiple services to interact with Microsoft’s online service offerings. This architecture has its own throttling built in. It’s designed to protect the back-end services and has its own rules for throttling requests that’s more aware of the uniqueness of each of the fixed number of Microsoft internal consumers.

One of the things that this infrastructure can use to manage throttling is the connection to the service. In the first figure, you’ll notice two connections in the settings menu – with the same identity. This is one way that you can help the infrastructure avoid throttling you.

Multiple Connections

When there aren’t many things to differentiate requests on, the connection is one. It’s got its own identifier. Because of that, it’s easy for the back end to see which connection a request is associated with – and throttle too many requests from a single connection. Thus, if you want to help your Flow avoid getting throttled, you can make multiple connections to the same data source. This allows your requests to get spread across different thresholds and for more to get through.

The Fingerprints Match

For my case, the Flows were getting throttled not by SharePoint directly but through the infrastructure hub. I set the maximum degree of parallelism and assigned every action in the flow to a different connection, but it wasn’t enough. I didn’t set the retry settings manually, and the default settings continued to allow my poor Flows to be throttled to death by the infrastructure.

In the end, to spare more Flows from being throttled, we moved some of the data to Azure SQL. However, we saved many Flows just by adjusting the retry strategy and concurrency and creating multiple connections.

columns

Setting Default Column Values

This solution will discuss how default column values to make it easier to enter metadata. By setting these default column values on a folder-level, it means any document added to that folder will get the same value in the column as the folder. We’ll walk you through how this works, first by setting up a library with some folders, then adding a column that will hold the desired information, and finally configuring the default column value settings on individual folders.

Task 1: Set Up the Library App

This task will lay the groundwork for default column value settings. We need to set up a library and create a couple of folders in the library.

1.    In a web browser, navigate to the SharePoint site where you want to create the library. The site’s home page will open.

2.    In the Suite bar, in the upper-right hand corner of the page, click the gear icon. The actions menu will open.

3.    Click Add an app. The Your Apps page will open.

Figure 1: The Your Apps Page

4.    Click on the Document Library tile. This is normally found under Noteworthy, but you can search for it as well. Click the “Find an app” search box, type library, then press Enter. Matching results for “library” will appear. You can then click Document Library. The Adding Document Library dialog box will appear.

5.    In the Name field, type a name for the library app. For this example and for the rest of the document, we’ll use the name Sales.

Figure 2: The Adding Document Library Dialog Box with the Sales Name

6.    Click Create. The Sales library will be created, and you’ll be taken to the Site Contents page.

7.    In the site contents listing, click Sales. The Sales library’s default view will open.

Figure 3: The Sales Library’s Default View

8.    In the command bar, click New. The New menu will appear.

Figure 4: The Expanded New Menu

9.    Click Folder. The Folder dialog box will appear.

10.    Type a name for your new folder. For this example and for the rest of the document, we’ll use Company A.

Figure 5: The Folder Dialog Box with the Company A Name

11.    Click Create. The Company A folder will be added to the Sales library.

12.    Repeat steps 8-11 to create another folder. For this example, we’ll use the name Company B. The Company B folder will be added to the Sales library.

Figure 6: The Company A and Company B Folders in the Sales Library

Task 2: Associate Site Columns to the Sales Library

Now that the library is set up, we need to create a column that will hold our metadata. For this example, we’ll use a custom site column we’ve already created. For more guidance on creating site columns, please see the SharePoint Shepherd’s Guide for End Users task, “Create a Site Column.”

1.    On the Sales library’s default view, in the Suite bar, click the gear icon to open the actions menu.

2.    Click Library settings. The Sales library’s settings page will open.

Figure 7: The Sales Library’s Settings Page

3.    Towards the bottom of the page in the Columns section, under the list of columns, click Add from existing site columns. The Add Columns from Site Columns page will open.

Figure 8: The Add Columns from Site Columns Page

4.    In the Select Columns section, under Select Site columns from, select the site column group that your site column is categorized as. For this example, we’ll select the Secret SharePoint site column group.

Figure 9: The Site Columns in the Secret SharePoint Group

5.    Under Available site columns, select a site column to add to the library. For this example, we’ll select Company Name. Then click Add. The site column will be added to the Columns to add box.

Figure 10: Company Name Selected as a Column to Add

6.    At the bottom of the page, click OK. The site column will be added to the Sales library, and you’ll be returned to the library’s settings page. In the Columns section, the Company Name site column will be listed along with the library’s default site columns.

Figure 11: The Company Name Site Column in the Columns Section

Task 3: Set Default Column Values

Now that we have the column and the folders set up in the library, we can set the default values for the column.

1.    On the Sales library’s settings page, under General Settings, click Column default value settings. The Change Default Column Values page will appear.

Figure 12: The Change Default Columns Values Page

2.    On the left side of the page is the menu Location to configure. Under Sales, the folders Company A and Company B are listed. Click the Company A folder. The page will refresh, and the breadcrumb bar will show Company A.

Figure 13: Company A Selected to Configure Default Column Value Settings

3.    Under Column (click to edit default value), click Company Name. The Edit Default Value dialog box will appear.

Figure 14: The Edit Default Value Dialog Box

4.    In the Default Value section, click the radio button for Use this default value.

5.    Under Default value, type the desired default value for this column. For this example, we’ll type Company A.

Figure 15: The Default Value Set to Company A

6.    Click OK. The Edit Default Value dialog box will close, and the page will refresh. Now, whenever a document is added to the Company A folder, the Company Name column will automatically get the value Company A.

Figure 16: Company A’s Company Name Set to Default Value “Company A”

7.    Repeat steps 2-6 for Company B. On step 5, type Company B. When you’re finished, whenever a document is added to the Company B folder, the Company Name column will automatically get the value Company B.

Figure 17: Company B’s Company Name Set to Default Value “Company B”

8.    In the breadcrumb bar, click Settings. You’ll be returned to the Sales library’s settings page.

9.    In the breadcrumb bar, click Sales. You’ll be returned to the Sales library’s default view.

Task 4: Add Documents the Sales Library

Now that we’ve added the default values to the column for the Company A and Company B folders, we’ll add a couple of documents to the folders. We won’t worry about the document names for this example, but you can direct users to follow these steps when adding documents to the library.

1.    On the Sales library’s default view, click Company A. The contents of the Company A folder will appear.

Figure 18: The Company A Folder

2.    In the command bar, click New. The New menu will appear.

3.    Click Word document. Depending on your library’s settings, Microsoft Word will launch, and a blank document will appear. Your settings may also cause Word Online to launch.

4.    Since we’re just showing how metadata is populated, we don’t need to change anything about the document. Return to the Company A folder. If Microsoft Word launched, close the document. If Word Online launched, in the Suite bar, click Company A. You’ll be returned to the Company A folder.

5.    The new document will be visible in the item listing of the Company A folder. In the Company Name column, the value will be automatically populated with Company A.

Figure 19: The New Document with Company Name Populated with “Company A”

6.    Return to the root folder by clicking Sales in the breadcrumb bar. The Sales library’s default view will appear.

7.    On the Sales library’s default view, click Company B. The contents of the Company B folder will appear.

8.    Repeat steps 2-4 to create another document in the Company B folder. When you return to the Company B folder, the new document will appear in the item listing, and Company B will be automatically populated in the Company Name column.

Figure 22: The New Document with Company Name Populated with “Company B”

cookie production

Using Word Quick Parts with a Custom Content Type

This solution walks you through the process of adding Quick Parts to the default template of a custom content type. This way, anyone who selects that content type from the library will create a new form with those Quick Parts added already. By filling out the Quick Parts fields, the metadata for that document will also be filled out in the corresponding SharePoint columns.

The step-by-step will assume you already have a library and custom document content type prepared. For more information on associating content types to a library, please see The SharePoint Shepherd’s Guide for End Users tasks “Create a Library App” and “Edit List or Library App Content Types.” For our example, we’ll use a library called Resources with the content type Invoice, which uses site columns Invoice # and PO #.

Task 1: Create a Content Type Template

This task walks you through drafting and editing the default template for your content type. In our example, our content type is for invoice forms, and we already have the form designed. We just need to add the Quick Parts, then save the document as a template. We’ll save it locally, which will allow us to access it when we edit the content type’s default template later.

1.    In a web browser, navigate to the SharePoint library that has your content type. For our example, we’ll go to the Resources library. The library’s default view will open.

2.    In the command bar, click New to open the drop-down menu.

Figure 1: The Expanded New Menu

3.    Select the custom content type. For our example, we’ll select Invoice. Depending on your library’s settings, Microsoft Word will launch.

Note: Depending on your settings, Word Online may launch. At the top of the Word Online window in the ribbon, click Edit in Word. The We’re opening this in Microsoft Word… dialog box will appear, and Microsoft Word will launch.

4.    If it isn’t already designed, design your form or copy and paste in the contents of an existing form. For our example, we already have our invoice form prepared, so we’ll copy and paste it in.

Figure 2: The Invoice Form in the New Document

5.    Click the Insert tab to open the Insert ribbon.

6.    Find a location on the document that will contain the information you want to send to SharePoint. For our first example, we’ll use Invoice #, which is found in the upper-right corner of the form. Because we want to place invoice numbers to the right of Invoice #, click the area to the right of Invoice # to move the insertion point there. If there is existing placeholder text, delete it now.

Figure 3: The Insertion Point to the Right of Invoice #

7.    In the Insert ribbon’s Text section, click the Explore Quick Parts icon. The icon looks like a page that has multiple boxes of content in different colors. The Quick Parts menu will appear.

Figure 4: The Explore Quick Parts Icon

8.    Hover over Document Properties, and a list of the document’s properties will be displayed. You should see both the default document properties, such as Author, Title, and Tags, as well as the names of the site columns associated to the content type.

Figure 5: The Document Property Menu

9.    Select the site column you want to add as a Quick Part in the document. For our example, we’ll select the Invoice # site column. The Invoice # site column will be added to the form as a Quick part. It’ll be displayed as a gray text box with the site column’s name in square brackets, such as [Invoice #].

Figure 6: The Invoice # Quick Part in the Template

10.    Repeat steps 6-9 to add other Quick Parts to the form in the desired locations. For our example, we’ll also add the PO # site column. Our location for purchase order numbers is in the table on the middle of the page, under PO#, so we’ll click the blank table cell, then select PO # from the Quick Parts menu. This will add the PO # Quick Part to the form.

Figure 7: The PO # Quick Part in the Template

11.    When you’re finished adding Quick Parts to the template, click the File tab to open the Info screen.

Figure 8: The Info Screen

12.    Click Save As. The Save As screen will appear.

Figure 9: The Save As Screen

13.    Click Browse. The Save As window will appear.

Figure 10: The Save As Window

14.    Give an identifiable name to the form. For our example, we’ll save it as InvoiceTemplate.

15.    In the Save as type field, click the drop-down menu, then select Word Template. The file type will change to .dotx. The Save As window will automatically change to show the Custom Office Templates folder on your PC.

16.    In the Navigation menu, click Desktop. You can usually find the desktop in the Quick Access menu. The contents of the desktop will appear in the Save As window.

Figure 11: The Invoice Template Ready to Be Saved on the Desktop

17.    Click Save. The Save As window will close, and the new form template will be saved to the desktop. You can now close the Word document.

18.    In your browser window, return to the library app’s default view, if it’s not already visible.

Task 2: Edit the Content Type’s Default Template

Our next step is to update the content type’s default template and use the new template we created with Quick Parts.

1.    On the library’s default view, in Suite bar, click the gear icon to open the actions menu.

2.    Click Site settings. If Site Settings isn’t visible, you may need to navigate to the Site Contents page first, then in the command bar, click Site Settings. The Site Settings page will open.

Figure 12: The Site Settings Page

3.    On the Site Settings page, under Web Designer Galleries, click Site content types. The Site Content Types page will open.

Figure 13: The Site Content Types Page

4.    On the right side of the page, next to Show Group, click the drop-down menu and select the site content type group that has your content type. For our example, our Invoice content type is found in the Secret SharePoint site content type group, so we’ll select Secret SharePoint. The Site Content Types page will refresh to show only the site content types in the selected site content type group.

Figure 14: The Secret SharePoint Site Content Type Group

5.    Click the custom content type. For our example, we’ll click Invoice. The Site Content Type page will open.

Figure 15: The Site Content Type Page for Invoice

6.    Under Settings, click Advanced settings. The Advanced Settings page will open.

Figure 16: The Advanced Settings Page

7.    In the Document Template section, select the Upload a new document template option. The Upload field will become enabled.

8.    Click Browse. Your browser’s file upload window will open.

Figure 17: The File Upload Window

9.    Navigate to the desktop, then click the name of the form template, such as InvoiceTemplate.dotx. The file name will appear in the File name field.

10.    Click Open. The file upload window will close, and the file path will appear in the Upload a new document template field.

Figure 18: The New Template Ready to be Uploaded

11.    At the bottom of the page, click OK. You’ll be taken back to the Site Content Type page. The new form template’s file will be uploaded as the default template for the custom form content type. Every time a user selects the content type from the New menu in the library, a new document will be created based on the form template with the Quick Parts added.

Task 3: Populate Metadata Using Quick Parts

This final task will show you how information added to the Quick Parts will be added to SharePoint without typing the information twice. You can instruct users to use these steps whenever they fill out their form.

1.    If you aren’t already on the library’s default view, navigate to the library now. For our example, we’ll navigate to the Resources library.

2.    In the command bar, click New. The New menu will appear.

3.    Click the name of your content type. For our example, we’ll click Invoice. Depending on your library’s settings, Microsoft Word will launch, and the default document template will open.

Note: Depending on your library’s settings, Word Online may launch. At the top of the Word Online screen, click Edit in Word. The We’re opening this in Microsoft Word… dialog box will appear, and Microsoft Word will launch.

Figure 19: The New Invoice

4.    Fill out the fields of your form.

5.    When you get to a field that contains a Quick Part, you’ll see a gray text box with the name of the field in square brackets, such as [Invoice #]. To fill out these fields, click into the Quick Part, then type the information. For the Invoice # example, we’ll type LL-002.

Figure 20: The Invoice # Quick Part with LL-002

6.    Repeat step 5 for every Quick Part in the form. For our example, we’ll also fill out the P.O. Number field. We’ll click the Quick Part, then type PO-200.

Figure 21: The PO # Quick Part with PO-200

7.    When you’re finished filling out the fields, save your document. Click the File tab to open the Info screen.

8.    Click Save As. The Save As screen will appear.

9.    Under Current Folder, click Resources. The Save As window will open.

10.    In the File name field, give a unique name to your document. For this example and for the rest of the document, we’ll use the name Invoice LL-002.

Figure 22: Invoice LL-002 Ready to Be Saved

11.    Click Save. The document will be saved to the Resources library, and the information you entered into the Quick Parts will now be added to the site columns of the document library as properties of the document.

12.    Close the Word document. If Microsoft Word was initially launched instead of Word Online, your browser window should show the library’s default view.

Note: If Word Online was originally launched, you should see the Word Online window instead of the library’s default view. To navigate back to the library app, in the Suite bar to the left of the document’s name, click Resources. You’ll be returned to the library app’s default view.

13.    Your document will appear in the item listing with the metadata populated in the columns. For our example, you’ll see the Invoice # field contains LL-002 and the PO # field contains PO-200.

Figure 23: Invoice LL-002 with the Populated Metadata

managing controlled documents

Now Available: Managing Controlled Documents in SharePoint White Paper

Controlled documents have been with us for a long time.  Whether there’s a legal, regulatory, or internal political reason to maintain control of documents, they’re an important part of any content strategy.  We found that we were helping clients understand the core requirements for controlled documents – and how SharePoint could support those requirements.  We decided to gather our discussions into a white paper, “Managing Controlled Documents in SharePoint.”  It distills what you need to know about controlled documents into a few pages.  Whether you’re an old hand at controlled documents or you’re new to the idea, you’ll find a better understanding in this white paper.

Get the Managing Controlled Documents white paper

Reenabling Home Page / Web Page Views for Outlook Folders

One of my favorite tricks for making it easier for folks to use SharePoint is to set the view of a folder in Microsoft Outlook to a page so that users see the page instead of the contents of the folder. This creates a quick link inside of Outlook to SharePoint. However, the October 2017 updates broke this functionality. See Outlook Home Page feature is missing in folder properties for more on what they changed and why. Fortunately, the blog post has a way to reenable the functionality. I’ve put together a quick .reg file that you can run to get the functionality back. It’s in this ZIP file. You’ll have to extract it and double-click it. The standard legal disclaimers apply.

Once you’ve run the file you can right-click a folder, from the menu that appears select properties, then select the Home Page tab. On the Home Page tab, you can click the ‘Show home page by default for this folder’ and enter the URL of the site that you want to have displayed when you select the folder. Finally, click OK.

In this case, I’ve got my Saved Mail folder set to open the SharePoint Search site for my Office 365 tenant.

while you were out form

Adding Quick Parts to Your Form Template

This step-by-step will help you add Word Quick Parts to your existing form template. This will allow your users to fill out the fields on the form and have those fields filled out in the corresponding SharePoint library. Users will still fill out the fields they always do when completing the form, but they won’t have to add the same information in again back in SharePoint.

This solution will change the default document template of a library. In this case, we’ll use an invoice form. This solution is good if you have a single library that holds a single type of form. If you want a library to hold many kinds of forms, you can still take advantage of Quick Parts, but you’ll want to take a look at the solution, “Using Word Quick Parts with a Custom Content Type.”

Task 1: Set Up the Library

The first step is to make sure the library is set up. Our example library will exclusively hold invoices. This is important to know, as the content we want to store here will influence the site columns we’ll need to add in the next task.

1.    In a web browser, navigate to the SharePoint site where you want your library to be. The site’s home page will open.

2.    In the Suite bar, in the upper-right hand corner of the page, click the gear icon. The actions menu will open.

3.    Click Add an app. The Your Apps page will open.

Figure 1: The Your Apps Page

4.    Click on the Document Library tile. This is normally found under Noteworthy, but you can search for it as well. Click the “Find an app” search box, type library, then press Enter. Matching results for “library” will appear. You can then click Document Library. The Adding Document Library dialog box will appear.

5.    In the Name field, type a name for the Library app, such as Invoices. We’ll use the name Invoices for the rest of this document to refer to this new library.

Figure 2: The Adding Document Library Dialog Box with the Invoices Name

6.    Click Create. The Invoices library will be created, and you’ll be taken to the Site Contents page.

7.    In the site contents listing, click Invoices. The Invoices library’s default view will open.

Figure 3: The Invoices Library’s Default View

Task 2: Associate Site Columns to the Invoices Library

Now we’ll add some site columns to the library. This is important, because Word Quick Parts can only populate properties when they’re associated with site columns. When opened in Word, the site columns will be displayed as “properties” of the document. This example will use custom site columns that we’ve already created. For more guidance on creating site columns, please see the SharePoint Shepherd’s Guide for End Users task, “Create a Site Column.”

1.    On the Invoices library’s default view, in the Suite bar, click the gear icon to open the actions menu.

2.    Click Library settings. The Invoices library’s settings page will open.

Figure 4: The Invoices Settings Page

3.    Towards the bottom of the page in the Columns section, under the list of columns, click Add from existing site columns. The Add Columns from Site Columns page will open.

Figure 5: The Add Columns from Site Columns Page

4.    In the Select Columns section, under Select site columns from, select the site column group that your site column is categorized as. For this example, we’ll select the Secret SharePoint site column group.

Figure 6: The Available Site Columns in the Secret SharePoint Site Column Group

5.    Under Available site columns, select a site column to add to the library. For this example, we’ll select Invoice #.

6.    Click Add. The site column will be added to the Columns to add box.

7.    Repeat steps 5-6 to add more site columns. For this example, we’ll also add the site column PO #.

Figure 7: The Site Columns Selected to Add to the Invoices Library

8.    When you’re finished adding site columns, at the bottom of the page, click OK. The site columns will be added to the Invoices library, and you’ll be returned to the library’s settings page. In the Columns section, the selected site columns will be listed along with the library’s default site columns.

Figure 8: The Site Columns in the Columns Section

Task 3: Edit the Default Document Template

This task now walks you through editing the Invoices library’s default document template. If you already have a form designed and prepared, you can copy and paste the contents of the form into the blank Word document. Then we’ll show you how to add the Quick Parts to the template. Remember, any site columns we added to the library app will be called “properties” in Microsoft Word.

1.    On the Invoices library’s settings page, under General Settings, click Advanced settings. The Advanced Settings page will appear.

Figure 9: The Advanced Settings Page

2.    In the Document Template section, under Template URL, click (Edit Template). Microsoft Word will launch, and a blank Word document will appear.

Figure 10: The Blank Template Open in Microsoft Word

3.    Design your form or copy and paste in the contents of an existing form. For our example, we already have our invoice form prepared, so we’ll copy and paste it into the blank Word document.

Figure 11: The Invoices Form Pasted into the Template

4.    Click the Insert tab to open the Insert ribbon.

5.    Find a location on the document that will contain the information you want to send to SharePoint. For our first example, we’ll use Invoice #, which is found in the upper-right corner of the form. Because we want to place invoice numbers to the right of Invoice #, click the area to the right of Invoice # to move the insertion point there. If there is existing placeholder text, delete it now.

Figure 12: The Insertion Point to the Right of Invoice #

6.    In the Insert ribbon’s Text section, click the Explore Quick Parts icon. The icon looks like a page that has multiple boxes of content in different colors. The Quick Parts menu will appear.

Figure 13: The Explore Quick Parts Icon

7.    Hover over Document Property, and a list of the document’s properties will be displayed. You should see both the default document properties, such as Author, Title, and Tags, as well as the names of the site columns that we just associated to the library.

Figure 14: The Document Property Menu

8.    Select the site column you want to add as a Quick Part in the document. For our example, we’ll select the Invoice # site column. The Invoice # site column will be added to the form as a Quick Part. It’ll be displayed as a gray text box with the site column’s name in square brackets, such as [Invoice #].

Figure 15: The Invoice # Quick Part in the Template

9.    Repeat steps 5-8 to add other Quick Parts to the form in the desired locations. For our example, we’ll also add the PO # site column. Our location for purchase order numbers is in the table on the middle of the page, under PO#, so we’ll click the blank table cell, then select PO # from the Quick Parts menu. This will add the PO # Quick Part to the form.

Figure 16: The PO # Quick Part in the Template

10.    When you’re finished adding Quick Parts to the template, save the template. If you’re using SharePoint Online, you must save the template as a new name. Start by clicking the File tab to open the Info screen.

Figure 17: The Info Screen

11.    Click Save As. The Save As screen will appear.

Figure 18: The Save As Screen

12.    Under Current Folder, click Forms. The Save As window will open.

13.    In the File name field, give a new name to the template. For this example, we’ll use the name Invoice.

14.    Click Save. The Save As window will close, and the template will be saved in the Forms library.

15.    Now we need to set our new template as the library’s default template. Close Microsoft Word.

16.    The Advanced Settings page should still be visible in your browser window. In the Document Template section, under Template URL, delete template and replace it with the new name you just gave to the template. The Template URL field should read something like Invoices/Forms/Invoice.dotx.

Figure 19: The New Document Template

17.    At the bottom of the Advanced Settings page, click OK. You’ll be returned to the Invoices library’s settings page.

18.    To return to the Invoice’s library’s default view, at the top of the Invoices library’s settings page, in the breadcrumb bar, click Invoices. You’ll be returned to the Invoices library’s default view.

Task 4: Populate Metadata Using Quick Parts

This final task will show you how information added to the Quick Parts will be added to SharePoint without typing the information twice. You can instruct users to use these steps whenever they fill out their form.

1.    On the Invoices library’s default view, in the command bar, click New. The New menu will appear.

Figure 20: The Expanded New Menu

2.    Click Document. Depending on your library’s settings, Microsoft Word will launch, and the default document template will open.

Note: Depending on your library’s settings, Word Online may launch. At the top of the Word Online screen, click Edit in Word. The We’re opening this in Microsoft Word… dialog box will appear, and Microsoft Word will launch.

Figure 21: The New Document Open in Word

3.    Fill out the fields of your form.

4.    When you get to a field that contains a Quick Part, you’ll see a gray text box with the name of the field in square brackets, such as [Invoice #]. To fill out these fields, click into the Quick Part, then type the information. For the Invoice # example, we’ll type LL-001.

Figure 22: The Invoice # Quick Part with LL-001

5.    Repeat step 4 for every Quick Part in the form. For our example, we’ll also fill out the P.O. Number field. We’ll click the Quick Part, then type PO-100.

Figure 23: The PO # Quick Part with PO-100

6.    When you’re finished filling out the fields, save your document. Click the File tab to open the Info screen.

7.    Click Save As. The Save As screen will appear.

8.    Under Current Folder, click Invoices. The Save As window will open.

Figure 24: The Save As Window

9.    In the File name field, give a unique name to your document. For this example and for the rest of the document, we’ll use the name Invoice LL-001.

10.    Click Save. The document will be saved to the Invoices library, and the information you entered into the Quick Parts will now be added to the site columns of the document library as properties of the document.

11.    Close the Word document. If Microsoft Word was initially launched instead of Word Online, your browser window should show the library’s default view.

Note: If Word Online was originally launched, you should see the Word Online window instead of the library’s default view. To navigate back to the library app, in the Suite bar to the left of the document’s name, click Invoices. You’ll be returned to the library app’s default view.

12.    Your document will appear in the item listing with the metadata populated in the columns. For our example, you’ll see the Invoice # field contains LL-001, and the PO # field contains PO-100.

Figure 25: Invoice LL-001 with the Populated Metadata

Path

Using the Copy Link Feature

There are various ways to send a link in SharePoint. This step-by-step will walk you through the process of creating a link to a folder. We want to send this link to people who already have access to the folder but might not remember where it is or how to get there.

1.    In a web browser, navigate to the SharePoint site with the folder you want to share. The site’s home page will open.

2.    In the Suite bar, in the upper-right hand corner of the page, click the gear icon. The actions menu will open.

3.    Click Site contents. (If available, you can also navigate to Site Contents by clicking Site Contents in the Quick Launch.) The Site Contents page will open.

4.    Click the name of the library that has the folder you want to share. The library’s default view will open.

Figure 1: The Library App’s Default View

5.    To the left of the folder you want to share, click the checkmark. That folder will be selected.

Figure 2: The Selected Folder

6.    In the command bar, click Copy link. You can also click the ellipsis control to the right of the item’s name to open the menu, then click Copy link. The Copy link menu will appear.

Figure 3: The Copy Link Menu

7.    By default, most sites are set up so that Anyone with the link can view and edit. (If guest access is not allowed for your site, the default permission will read People in [your organization] with the link can view and edit.) Click Anyone with the link can view and edit to change the permission settings. The Copy Link menu will change to show Link Settings.

Figure 4: The Link Settings Menu

8.    Because we need to send the folder’s link to people who already have permissions, click People with existing access.

9.    Click Apply. The Copy Link menu will collapse, and a new link will be created for people who already have access.

Figure 5: The Link for People Who Already Have Access Created

10.    Even though the link is automatically copied to your clipboard, you can click Copy to manually copy the link to the clipboard again. You can now paste the link in hyperlinks or in the body of documents or emails.

Rolodex

Now Available: Create an Azure Active Directory App White Paper

Even for those who are familiar with SharePoint, Active Directory, and Visual Studio, creating an app can be challenging. The difficulty isn’t always in designing the app itself; it’s in getting the programs to communicate with each other. We’ve created a white paper that walks you through the steps of creating an Azure Active Directory App that can read information from SharePoint. 

We discuss all the details, from packages and classes to keys and authentication, and we discuss some of the errors and mistakes you may encounter. In addition to the white paper itself, you’ll also get access to the screencast video, so you can get a live example of how to create an Azure AD application. 

Click here to get the white paper. When you sign up, we’ll send you an email with a link to download the document and follow along with the video. 

Security Pass

Set Browsers to Submit Credentials

This step-by-step teaches you how to configure a web browser to submit your login credentials for you. This task works for both the Internet Explorer and Google Chrome browsers.

1.    Click Start or the windows key to open the start menu.

Figure 1: The Expanded Start Menu

2.    Type control panel. A list of matching results will appear.

3.    Click Control Panel. The Control Panel will appear.

Figure 2: The Control Panel

4.    Click Network and Internet. The network and internet options will appear.

Figure 3: The Network and Internet Options

5.    Click Internet Options. The Internet Properties window will appear.

Figure 4: The Internet Properties Window

6.    Click the Security tab. The security settings will appear.

Figure 5: The Security Tab

7.    Under Select a zone to view or change security settings, click Local intranet. The Local intranet zone information will appear.

Figure 6: The Local Intranet Zone

8.    To the right of Local intranet, click Sites. The Local intranet window will appear.

Figure 7: The Local Intranet Window

9.    Click Advanced. Another Local intranet window for adding and removing sites will appear.

Figure 8: The Local Intranet Window for Adding Sites

10.    Under Add this website to the zone, type the URL for your SharePoint domain. To make sure we capture all the sites in the domain, we’ll add an asterisk (*) before the domain name. It should look something like https://*.domain.com. For example, if our domain is contoso, the URL will be https://*.contoso.com.

11.    Click Add. The domain will be added to the local intranet list.

Figure 9: The Domain Added to the Local Intranet

12.    Click Close. The Local intranet window will close.

13.    To the right of Advanced, click OK. The original Local intranet window will close.

14.    At the bottom of the Internet Properties window, click OK. The changes will be saved, and the websites will be added as local intranet sites. The web browser will now submit credentials for you when you visit those sites.

chain

Setting Unique Permissions on a Links List


This step-by-step begins by creating a Links list. Links lists are specifically designed for housing links to internal and external web addresses. Once the Links list is created, we’ll add a few links to the list. Then we’ll learn how to break permission inheritance on individual items, which will allow us to change the permissions for that item.

Task 1: Create a Links List

First, we have to create a list that can hold our navigation links. Our example will use the name “Navigation Links” to identify this new list, but you can give the list any other appropriate name.

1.    In a web browser, navigate to the SharePoint site where you want to create a links list. The site’s home page will open.

Figure 1: A Team Site’s Home Page

2.    In the Suite bar, in the upper-right hand corner of the page, click the gear icon. The actions menu will open.

Figure 2: The Expanded Actions Menu

3.    Click Add an app. The Your Apps page will open.

Figure 3: The Your Apps Page

4.    Click on the Links tile. You can find this app by clicking on the “Find an app” search box, typing Links, then pressing Enter/Return. The Your Apps page will refresh to show matching search results for “Links”.

Figure 4: The Your Apps Page with Apps Matching “Links”

5.    When you click on the Links tile, the Adding Links dialog box will appear.

6.    In the Name field, type a name for your Links list, such as Navigation Links. We’ll use the name Navigation Links for the rest of this document to refer to this new list.

Figure 5: The Adding Links Dialog Box with the Navigation Links Name

7.    Click Create. The dialog box will close, and you’ll be taken to the Site Contents page.

Figure 6: The Site Contents Page

8.    In the site contents listing, click the Navigation Links list. The Navigation Links list will open.

Figure 7: The Navigation Links List’s Default View

Task 2: Create Links in the Navigation Links List

Now that the Navigation Links list has been created, we need to start adding links to the list. Because these will be featured on the home page of your site later on, make sure these links are useful to the viewers of the list.

1.    In the command bar, click New. The New menu will expand.

Figure 8: The Expanded New Menu

2.    Click Item. The New item pane will appear.

Figure 9: The New Item Pane

3.    In the URL field, on the top line, type the URL (or web page address) of the desired web page.

4.    On the Enter display text line, type a display name for the web page.

Figure 10: The Configured SharePoint Shepherd Home Page Link

5.    Click Save. The New Item pane will close, and the link will be added to the list. You may need to refresh the page to see the new link.

Figure 11: The New Link on the Navigation Links List

6.    Repeat steps 9-13 to add more links to the list as desired.

Task 3: Change Permissions for a Link

Now we’ll finally edit the permissions for the links. Some links might be useful for all of the visitors of your site. In this case, there’s no need to change those links’ permissions. However, you may wish to hide some links, such as links to sites that hold sensitive materials, from all but a select few users.

1.    Find a link you want to change permissions for. To the left of its name, click the checkmark to select that item.

Figure 12: The Internal Website Link Selected

2.    In the command bar, click Share. The Send Link dialog box will open.

Figure 13: The Send Link Dialog Box

3.    To the right of Send Link, click the ellipsis control to show more options.

Figure 14: Additional Option in the Send Link Dialog Box

4.    Click Manage Access. The Manage Access pane will appear.

Figure 15: The Manage Access Pane with Advanced Visible

5.    At the bottom of the Manage Access pane, click Advanced. The Permissions page for the item will appear.

Figure 16: The Permissions Page for the Internal Website Link

6.    In the Permissions ribbon, click Stop Inheriting Permissions. A confirmation dialog box will appear.

Figure 17: The Create Unique Permissions Confirmation Dialog Box

7.    Click OK. The Permissions page will refresh, and the item will now have unique permissions.

Figure 18: The Item with Unique Permissions

8.    We want to remove permissions for the Visitors and Members groups. To remove permissions for those two groups, click the checkmarks to the left of [Site Name] Members and [Site Name] Visitors. In the example below, the site name is Team Site.

Figure 19: Team Site Members and Visitors Selected

9.    In the Permissions ribbon, click Remove User Permissions. A confirmation dialog box will appear.

Figure 20: The Remove All Permissions Confirmation Dialog Box

10.    Click OK. Permissions will be removed for the Visitors and Members groups, and the Permissions page will refresh. The item will now no longer be visible for anyone in the Visitors or Members groups when viewing the list.

11.    To add individual permissions for individual users or groups, in the Permissions ribbon, click Grant Permissions. The Share dialog box will appear.

Figure 21: The Share Dialog Box

12.    Start adding the names of the groups you want to grant permissions to. As you type, a list of matching results will appear. You can click the name to complete the entry.

13.    Click Show Options. More options will appear.

Figure 22: The Expanded Share Dialog Box

14.    Under Select a permission level, select the desired permission level from the list. By default, Edit is selected, but you can click the drop-down arrow to open the menu and select another permission level.

Figure 23: The Expanded Permissions Menu

15.    Click Share. The Share dialog box will close, and the item will now be visible for that group.

16.    To return to the Navigation Links list, click the Browse tab to close the ribbon.

Figure 24: The Breadcrumb Bar Visible on the Permissions Page

17.    In the breadcrumb bar, to the left of Permissions, click the name of the item (in this case, you’d click Internal Website). You’ll be taken to the item’s properties page.

Figure 25: The Item Properties Page

18.    In the breadcrumb bar, to the left of Item properties, click Navigation Links (in the example, this is visible on screen as Navigation…). You’ll be taken back to the Navigation Links list’s default view.

19.    Repeat steps 1-18 to change the permissions for any other desired links.

Task 4: Add the Navigation Links Web Part to the Home Page

Finally, we’ll add these navigation links to the home page. We can do this by adding a web part to the page that shows a view of the list to users. The permissions that were set on the links apply to the view shown, so each person viewing the home page might see different navigation links depending on their own permission levels. Keep in mind that you won’t be able to add the desired web part to a modern site page, because the List (preview) web part does not support Links lists at the time of this writing.

1.    Return to the home page of the site. You can do this in the quick launch by clicking Home, or by clicking the site’s logo or name in the top navigation. The site’s home page will open.

2.    Follow the steps outlined in the SharePoint Shepherd’s Office 365 Guide task, “Add a Web Part to a Wiki Page” or “Add a Web Part to a Web Part or Publishing Page,” depending on the type of page you’re working on. To select the web part for the Navigation Links list, under Categories, click Apps, and under Parts, click Navigation Links. Then finish the steps of the task.

Figure 26: The Navigation Links List Ready to Be Added to the Page