SharePoint 2013: Features, Implementation and Troubleshooting

SharePoint 2013: Features, Implementation and Troubleshooting Introduction RTM 4420.1017 Released: 01 Conditions and Terms of Use Confidential - F...
Author: Lindsey Floyd
1 downloads 2 Views 1MB Size
SharePoint 2013: Features, Implementation and Troubleshooting Introduction

RTM 4420.1017

Released: 01

Conditions and Terms of Use Confidential - For training attendees only This training package content is proprietary and confidential, and is intended only for users described in the training materials. This content and information is provided to you under a Non-Disclosure Agreement and cannot be distributed. Copying or disclosing all or any portion of the content and/or information included in this package is strictly prohibited. The contents of this package are for informational and training purposes only and are provided "as is" without warranty of any kind, whether express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. Training package content, including URL and other Internet Web site references, is subject to change without notice. Because Microsoft must respond to changing market conditions, the content should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication. Unless otherwise noted, the companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.

Copyright and Trademarks © 01 Microsoft Corporation. All rights reserved. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual proper ty rights covering subject matter in this document. Except as expressly provided in written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. For more information, see Use of Microsoft Copyrighted Content at http://www.microsoft.com/about/legal/permissions/ Microsoft®, Internet Explorer®, and Windows® are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Microsoft products mentioned herein may be either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are property of their respective owners.

About the Authors Author:

Vincent Runge

Bio:

Vincent is an Escalation Engineer with the Office group based in Issy-lesMoulineaux, France with 14 years of support experience on server products like SharePoint, Windows, and Exchange.

Project Lead:

Jason Dool

Bio:

Jason Dool is an Escalation Engineer in the SharePoint CTS group. He has been working with SharePoint since October 2006. Prior to his time in SharePoint, Jason served in several different positions within the Exchange organization. Jason has been working at Microsoft since September 1999.

Table of Contents Module 1: Introduction ..........................................................................................................................................1 Lesson 1: Available SKUs...................................................................................................................................2 Lesson Review ......................................................................................... Error! Bookmark not defined. Lesson 2: What is new for SharePoint 2013 Foundation?..................................................................4 Architecture changes.........................................................................................................................................4 .Net framework version v4.5 ......................................................................................................................4 Office Web Application Server is a separate product .........................................................................4 Apps....................................................................................................................................................................4 Distributed Cache...........................................................................................................................................4 Request Management ...................................................................................................................................5 Server side performance improvements ................................................................................................5 Authentication and Authorization changes ...........................................................................................5 User Experience changes..................................................................................................................................5 Site changes ..........................................................................................................................................................6 Lesson Review .....................................................................................................................................................6 Lesson 3: SharePoint JavaScript Debugging and Troubleshooting ................................................7 Internet Explorer and JavaScript errors......................................................................................................7 How Does SharePoint build the ECB menu during a right-click?........................................................9 Try This: Create a custom list .........................................................................................................................9 Where Do I Start?........................................................................................................................................ 10 Try This: Internet Explorer's Profile Trace ............................................................................................. 10 Try This: Setting a breakpoint on a JavaScript function...................................................................... 11 Debug version of JavaScript files ................................................................................................................ 13 Set debug="true" in Web.config ............................................................................................................. 14 Modify the master page with Microsoft SharePoint Designer ...................................................... 14 Try This: JavaScript debugging based on the end result ..................................................................... 14 Lesson Review .................................................................................................................................................. 19 Lesson 4: Introduction to OAuth................................................................................................................. 20 What Is OAuth?................................................................................................................................................. 20

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

Module 1: Introduction This module lists the new functionalities and major changes in SharePoint Foundation 2013.

Before You Begin Before starting this module, you should: 

Review module 0 "About this course"

What You Will Learn After completing this module, you will be able to: 

Lists the available SKU for SharePoint 2013



Describe major changes and novelties in SharePoint Foundation 2013

SharePoint Readiness Confidential - For training attendees only

1

Introduction

RTM 4420.1017

Lesson 1: Available SKUs This lesson documents the available versions of SharePoint Server 2013.

What You Will Learn After completing this lesson, you will be able to: 

Name the available versions of the SharePoint Server 2013 release.



Understand which version contains the features and functionalities documented in this course.

General 2010 vs. 2013 comparison In the SharePoint 2010 release, there were several specialized versions of the product available on-premise installation. 

SharePoint Foundation 2010



Microsoft Search Server Express



Microsoft Search Server



Microsoft Office SharePoint Server 2010 Standard



Microsoft Office SharePoint Server 2010 Enterprise



FAST Search Server 2010 for SharePoint



SharePoint Server 2010 for Internet Sites



FAST Search Server 2010 for Internet Business

In the 2013 release, there are only three versions available for on-premise installation.

2011 2



SharePoint Foundation 2013



SharePoint Server 2013 Standard



SharePoint Server 2013 Enterprise 2010

2013

SharePoint Foundation

SharePoint Foundation

Microsoft Search Server Express

Added to SharePoint Foundation

Microsoft Search Server

No longer available

Microsoft Office SharePoint Server Standard/Enterprise

SharePoint Server Standard/Enterprise

SharePoint Server 2010 for Internet Sites

Added to SharePoint Server Enterprise

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

2010

2013

FAST Search Server 2010 for Internet Business

Added to SharePoint Server Enterprise

The products that have been “added to” or consolidated into one of the Important: three remaining on-premise products does not mean that all the capabilities of the previous product was retained. Specifically, the legacy FAST products have had major changes when being integrated into the other products. Additionally, the term FAST should no longer be used unless referring to one of the legacy products.

Note:

The diagram Databases that support SharePoint 2013 will help in your understanding of the different SKUs.

Lesson Review Answer the following questions to confirm your understanding of the lesson topics. 1. Is there a separate FAST product release in the 2013 line of products? No, all FAST components that were desired were added to the SharePoint 2013 SKUs. There is now one unified Search component.

2. What SharePoint 2013 SKU would you think contains the majority of components covered in this course? SharePoint Server 2013 Enterprise

SharePoint Readiness Confidential - For training attendees only

3

Introduction

RTM 4420.1017

Lesson 2: What is new for SharePoint 2013 Foundation? This lesson introduces the new functionalities and architectural changes.

What You Will Learn After completing this lesson, you will be able to: 

Architectural changes



User experience changes



Site changes

Architecture changes .Net framework version v4.5 SharePoint 2013 uses Microsoft .Net Framework v4.5

Office Web Application Server is a separate product Replacing the Web Application Companions (WAC) service application of SharePoint 2010, the Office Web Application Server is a new server product. Products integrate with Office Web Application Servers to offer visualization and editing of documents to end users. With the Office Web Application Server, you can now view files from a number of different data sources, including: 

SharePoint Server



Microsoft Exchange Server



Microsoft Lync Server



Microsoft Project Server

Apps Applications known as Apps are easy to use and deploy. Apps can be installed from a corporate application catalog or from the Office Market Place. Apps can be hosted internally within SharePoint, or externally outside of SharePoint. The App Management Service Application and the App Management Service are components of the SharePoint 2013 apps infrastructure.

Distributed Cache The Windows Server AppFabric Distributed Cache is used to store objects in RAM, across the SharePoint farm, thus reducing the number of requests to the SQL back end. For example, this cache is used for authentication token caching and the My Site social feed feature. 2011 4

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

Request Management Request Management gives SharePoint 2013 more control over incoming request handling. Request management provides SharePoint 2013 the ability to: 

Deny potentially harmful requests from entering SharePoint



Route good requests to the best available WFEs



Prioritize requests



Target specific request types to a specific machine

Server side performance improvements 

Changes were made to increase performance when editing multiple list items concurrently.



Shredded Storage was implemented to reduce SQL I/O demand for content databases.



Some content databases were deprecated.

Authentication and Authorization changes 

SharePoint 2013 uses OAuth for application authentication.



Windows authentication has been deprecated in SharePoint 2013.



Host Header site collections are accessible through any zone in SharePoint 2013.



The SharePoint 2013 people picker is implemented on the client side.



Users can share to any authenticated user by using the everyone group.



Users can share to external users by sending email or using anonymous links.

User Experience changes 

Callouts allow the user to interact directly with a document.



Drag and Drop is available for document and picture libraries.



Users can easily create views and edit list items inside a page.



Searching in lists is easy and intuitive.



Full screen mode is adapted to an immersive browsing experience.



Site Mailboxes allow for rich interactions between Exchange, Outlook , and SharePoint.



Pages display faster using client side rendering and the minimal download strategy.



New animation behavior

SharePoint Readiness Confidential - For training attendees only

5

Introduction

RTM 4420.1017

Site changes 

Team Sites have a new getting started with your site webpart



The Meeting Workspace and Group Work site templates have been deprecated.



Document workspaces and Personalization Sites have been deprecated.



Theming allows users to change the appearance of a site.



Users can edit the Quick Launch in quick and intuitive way.

Lesson Review Topics covered in this lesson include the following: 

What's new in SharePoint 2013

Answer the following questions to confirm your understanding of lesson topics. 1. Does SharePoint 2013 uses the same Microsoft .Net Framework version as SharePoint 2010? No, SharePoint 2013 use Framework v4.

2011 6

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

Lesson 3: SharePoint JavaScript Debugging and Troubleshooting In this lesson, you will understand how to debug SharePoint's JavaScript using Internet Explorer 9. This type of work can be difficult and often requires us to involve the SharePoint Developer Support team and the IE Developer Support team. This is not an all-encompassing debugging guide for JavaScript. It is here to help the SharePoint Designer Support team when collaborating with the experts in this area. The objective of these labs is not to make you an expert in JavaScript Debugging but to introduce you to some ideas that will help you understand what SharePoint's JavaScript is doing. The real point is to take the ideas established in these labs and apply them to any cases to further scope issues. If you cannot find the answer, then taking the results of our attempt to debug the JavaScript to the experts, IE Developer Support team, will produce a better collaboration request. They can help move us along in the right direction. It is a much smoother collaboration request if you have done due diligence.

Internet Explorer and JavaScript errors For many new SharePoint 2013 functionalities, troubleshooting involves JavaScript debugging. SharePoint tries to prevent confronting the end user with exceptions. This behavior does not help you so much in finding the issues. By default, IE tries to render the page, ignoring most errors. The setting "display a notification about every script error" , shown in Figure 1 pops-out a window for each error.

SharePoint Readiness Confidential - For training attendees only

7

Introduction

RTM 4420.1017

Figure 1: Display a Notification About Every Script Error

The status bar behavior varies with IE version: 

IE8: status bar displays a warning "Done, but with errors on the page". Clicking on this warning displays the error message, source file, and line number.



IE9: status bar displays nothing. Double-clicking on the status bar displays the error message, source file, and line number.

See Figure 2: IE Detailed JavaScript Error for an example of detailed error.

2011 8

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

Figure 2: IE Detailed JavaScript Error

To display the status bar in IE, you can press: ALT \ View \ Toolbars \ Status Bar

Tip:

Watch out in IE left bottom bar for

Tip:

Critical:

.

When debugging, pay attention to the script version IE is using. Do not hesitate to clear the cache, close IE and the developer tools to verify the latest script version is used.

How Does SharePoint build the ECB menu during a right-click? The JavaScript debugging scenario will illustrate how a Support Engineer could figure out what SharePoint is doing when a user right clicks a title column with a menu, which results in the ECB menu rendering.

Try This: Create a custom list 1. Logon on O15, view the Desktop SharePoint Readiness Confidential - For training attendees only

9

Introduction

RTM 4420.1017

2. Launch IE 3. Browse to http: //spf1 4. On the left hand side, click Site Contents 5. Click on add an app 6. Click on Custom List 7. Type a name for the list, for example Custom 8. Click Create 9. Click on the list you created, for example Custom 10. Add an item to the list by clicking new item 11. Name the item Item1 12. Click Save 13. Right click on the three dots at the right of Item1 14. You should now see the context menu appear:

Where Do I Start? If you have no idea which JavaScript Function is making this possible, then you can start by running a Profile Trace.

Try This: Internet Explorer's Profile Trace 1. Logon on O15, view the Desktop 2. Launch IE 2011 10

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

3. Browse to a page that displays this column: Title (linked to item with edit menu) 4. Press F12. 5. Click the Profile tab. 6. Click Start profiling and wait for IE to be ready. You will know it is ready when the Stop profiling button shows up. 7. Right-click the Item1 in the title column and wait for the ECB menu to render. 8. Click Stop Profiling. 9. The Profiling tab view should be changed to Call Tree. 10. Now you can explore the various JavaScript Functions/Event Handlers that occurred during the Profile and you can explore them. This still does not tell you what actually generated the HTML, but now you are no longer clueless. You can investigate the HTML page and look for the various function names, research them in our SDK, or in general perform an Internet search. All of these options will help you identify which functions are generating the ECB menu. Depending on your JavaScript and Document Object Model (DOM) background, it might be obvious which function or event handler deserves your attention. If not, start typing the function names into your favorite search engine. More:

For more information, see: http://msdn.microsoft.com/en-us/library/ms536914(v=vs.85).aspx

The oncontextmenu Event Handler looks like it has potential. If you expand it, in the Profile Trace, the next Function that executes is ShowCallOutOrECBWrapper. Keep expanding the call tree. A column, Inclusive time, displays for how long a Function was executed. It can help focus your exploration as longer executing functions are probably doing more work. If you keep expanding the call tree, you will eventually see a JavaScript Function called ShowECBMenuForTr. This leads us to the next Try This.

Try This: Setting a breakpoint on a JavaScript function 1. Logon on O15, view the Desktop 2. Launch IE 3. Click the Script tab in IE 10's Developer Tools. 4. Click Configuration:

SharePoint Readiness Confidential - For training attendees only

and select Format JavaScript.

11

Introduction

RTM 4420.1017

5.

Type ShowECBMenuForTr in the search box and press Enter. You should find the function definition in core.js

6. On the left-hand side, click the grey section to set a breakpoint as you would in Visual Studio:

Figure 3: Visual Studio

7. Click Start Debugging. 8. Right-click the Item1 near the Title column. a. The IE 10 Developer Tools will take focus and the JavaScript will be paused. 9. Now, you can use F10, F11 and Shift + F11 to traverse the JavaScript code, just as you can in Visual Studio. Note:

These options can be executed in the IE 9 Developer tool using the following buttons:

10. Move the cursor over the JavaScript code to see what the objects contain. a. Note:

You can look at the CallStack, locals and even setup a watch list.

You cannot debug ActiveX controls using the IE 9 Developer tools. You will need to attach a debugger and have Source/Symbols access to see what the ActiveX control is doing.

At this point, it is a matter of chasing the code. Watching it execute and trying to avoid a timeout. (Some JavaScript Functions have built in timeouts and can encumber debugging). You should have a basic understanding of JavaScript debugging. The steps above are not going to get you to the exact JavaScript Function that renders the menu, not right away. If you keep debugging, you could get to the JavaScript Function that renders the menu, but it is time prohibitive.

2011 12

© 01 Microsoft Corporation. All rights reserved. Confidential - For training attendees only

RTM 4420.1017

SharePoint 2013: Features, Implementation and Troubleshooting

You can also look at the HTML that represents our SharePoint List Item. It will have Event Handlers defined on it and that can be a starting point for our investigation. The table row, includes the oncontextmenu Event Handler. This is identified with the Profiler. It also contains the Function you called in the first lab.

This supports your efforts to this point, but does not get you to the right function. A lot of work is left before you find the result, the ECB menu. The next lab takes the scenario you have worked on, but uses the ECB menu's HTML to speed up the debugging process.

Debug version of JavaScript files The standard version of SharePoint's js files do not contain extended variable names. In addition, the standard js files are compacted, reducing their readability when Internet Explorer's Format JavaScript is not available. To address these limitations, SharePoint provides debug versions of the JavaScript files. The debug files contain the debug.js extension, as depicted on Figure 4.

SharePoint Readiness Confidential - For training attendees only

13

Introduction

RTM 4420.1017

Figure 4 JS and DEBUG.JS files in {Hive}\Templates\Layouts

Set debug="true" in Web.config Set debug="true" in the Web.Config to use the more readable un-crunched debug.js files. For example:

The setting is under , which is itself under .

Modify the master page with Microsoft SharePoint Designer To make it easier to debug the javascript: 1. Open the site in SharePoint Designer. 2. Open the Master Page for the page that you would like to debug the javascript on. 3. In code view find the