Slides from a presentation I did demonstrating the new features of SharePoint 2013 as well as a simple App I created which talks to a service on Windows Azure.
Accompanying article is at: http://www.shailensukul.com/2012/10/sharepoint-2013-swordfish-app.html
2. Who Is Shailen Sukul ?
Shailen (pronounced Shay-Len) Sukul is a bleeding edge Entrepreneur working with the latest Web
technologies to create compelling solutions. He loves to present at user groups and write articles
and whitepapers based on his work.
He has founded a Melbourne based consulting company called SharePoint Cloud Design
(http://www.SharePointCloudDesign.com), which specializes in consulting on the Microsoft
SharePoint and Cloud stack (Azure), Identity Management (ADFS and ACS) as well as providing
training on SharePoint and .Net.
Shailen also works on stealth startups in his night job.
His newest startup (still under wraps) is a search centered solution built on the AWS stack.
Leveraging cutting edge technologies like Geolocation, public single sign on, it is built in HTML
5/Javascript and will be unveiled to a beta soon. So stay tuned!
You can follow him on twitter @shailensukul and check out his blog at: http://shailensukul.com
3. Who Is Shailen Sukul ?
Checkout my open source projects
Taxomatic: http://taxomatic.codeplex.com/
SharePoint Smart Serve http://smartserve.codeplex.com/
Multi-Threaded File Download Manager
http://bloodhound.codeplex.com/
DBRef http://dbref.codeplex.com/
Checkout my blog at: http://www.shailensukul.com
5. Features deprecated in
SharePoint 2013 Preview
• Visual upgrade - The visual upgrade feature is replaced with deferred site collection upgrade. The site
collection upgrade process is not reversible. The deferred site collection upgrade is a more comprehensive
upgrade process than visual upgrade. With deferred site collection upgrade, you can continue to use the
UI from the previous version (SharePoint Server 2010) more seamlessly than is possible with visual
upgrade. The master page, CSS, JScript, and SPFeatures will remain in SharePoint Server 2010 mode.
• Migration path: Site collection administrators who are using visual upgrade to continue to use SharePoint
Server 2007 must move to the SharePoint Server 2010 user interface before upgrading to SharePoint 2013.
• Templates Removed:
• Document Workspace site template
• Personalization Site site template
• Meeting Workspace site templates
• Group Work site template and Group Work solution
• Visio Process Repository site template (deprecated in a next major release)
6. Features deprecated in SharePoint
2013 Preview
• Services Deprecated:
• Imaging Web service (deprecated in next major release)
• Excel Services - Workbooks with external data connections that use Windows
authentication cannot be refreshed in the browser. Instead, you are
prompted to open the workbook in the Excel client program. Workbooks that
have database or Windows credentials stored either in the Secure Store
Service or in the connection string can still be edited in the browser. This
change applies only when Excel Web App in Office Web Apps Server is used
to view workbooks, not when Excel Services in SharePoint Server 2013 is
used.
7. Features deprecated in SharePoint
2013 Preview
• Web Analytics in SharePoint Server 2010 - Web Analytics in SharePoint Server
2010 has been discontinued and is not available in SharePoint 2013. Analytics
processing for SharePoint 2013 is now a component of the Search service. The
Web Analytics Service is not upgraded to the Analytics Processing Component in
SharePoint 2013. When you upgrade to SharePoint 2013, the databases that
contain the data from Web Analytics in SharePoint Server 2010 are not removed.
These databases are not used by or maintained by the Analytics Processing
Component in SharePoint 2013. This means that documents on sites in
SharePoint Server 2010 that are upgraded will show a hit count of 0.
More at http://technet.microsoft.com/en-
us/library/ff607742(v=office.15)
8. SharePoint Architecture
In general model has stayed same as in previous version
Numerous platform level improvements and new capabilities
10. Shredded Storage
The goal here is to make changes equal to the size of the change, not size of the
file. Let’s have a look at how it works in SharePoint 2010 and 2013 to understand
the purpose.
How It Works in SharePoint 2010:
When a file is updated via Cobalt, only the bits that have changed are sent over
the wire from the client to the SharePoint WFE. However, because SharePoint
lacks the concept of incremental updates to SQL it is forced to:
pull the entire file to the WFE
merge the changes into it
write the entire file back to SQL
How It Works in SharePoint 2013:
The file is broken into pieces and stored in SQL
On update only the shredded blobs that correspond to the updated bits are touched
No more round tripping entire files to the WFE and back
11. Performance Improvements
In SharePoint 2010, entire copies of documents were saved on each
subsequent save. This causes the database to explode and
performance suffers.
Now in 2013, only delta changes are saved. This saves both network
bandwidth as well as hard disk space.
12. SQL Improvements
In SharePoint 2013, Microsoft has tried to make significant
improvements in server performance. They have reduced scenarios
that might invoke full table scans. Also, there have been lots of
improvements around finding docs for link fix-up and alert handling.
They have reduced data redundancy for some features using
advanced indexing features provided by SQL 2008 R2. The major
change in architecture is to support wide lists, i.e. lists where a single
item spans multiple rows in the database to hold the data.
13. Cache Service
There is a new distributed cache service in SharePoint 2013 based on
Windows Server AppFabric Distributed Caching. It is used in features
like authentication token caching and My Site social feeds. The same
time it should be noted that SharePoint 2013 uses caching features
that cloud-based cache (Windows Azure Cache) does not support at
this time, so only local cache hosts can be used. Also, importantly,
SharePoint ONLY supports the version of caching that it ships – you
cannot independently upgrade it.
The config DB keeps track of which machines in the farm are running
the cache service. It is all provisioned by the SharePoint setup. A new
Windows service – the Distributed Cache service – is installed on each
server in the farm when SharePoint is installed.
15. Request Management
The purpose of the Request Management feature is to give SharePoint
knowledge of and also to have more control over incoming requests
Having knowledge of the nature of incoming requests – for example, the
user agent, requested URL, or source IP – allows SharePoint to customize
the response to each request.
The goals of request management (RM) are as follows:
RM can route to WFEs with better health, keeping low-health WFEs alive
RM can identify harmful requests and deny them immediately
RM can prioritize requests by throttling lower-priority ones (bots) to serve higher-
priority ones (end-users)
RM can send all requests of specific type, like search for example, to specific
machines
Isolated traffic can help troubleshoot errors on one machine
RM can send heavy requests to more powerful WFEs
16. Service Application Changes
There are a few new service applications in SharePoint 2013:
App Management Service: allows you to install SharePoint apps from the
Office Marketplace or the App Catalog
SharePoint Translation Services: does simple language translation of
Word, PPT, and XLIFF files into HTML
Work Management Service: provides task aggregation across systems such as
SharePoint, Exchange and Project.
Azure Workflow Server is new and not exactly a service app but similar.
Provides an externalized host using REST and OAuth to run workflows.
17. Service Application Changes (cont’d)
Also, Office Web App and Web Analytics are no longer a service
application. Web Application Companions (WAC) is now a separate product
altogether and not a service application. You can create a WAC farm that
can support multiple SharePoint farms. You can view files from a number of
different data sources, including: SharePoint, Exchange, Lync, File servers.
3rd parties can integrate with WAC to provide access to documents in their
data stores, e.g. EMC Documentum, IBM FileNet, OpenText, etc.
** Office WAC (Web Application Companion) is an Office app in a browser.
for example: a Visio file with the status of servers in a rack – taking a real
time data feed from SCOM via BCS
18. Apps
Previously in SP 2010 we had WSPs which were Full Trust or Sandbox.
Sandbox solutions were restricted from running most server side code
and extremely limited
Apps which interact with Office 15 via the upcoming Web Extensions
for Office 15. App apply to both thick client (Word) or thin client
(browser, Web Apps)
Goodbye VBA. Hello HTML 5/JavaScript
Will target Office as well as Office 365 (not to mention Mac devices)
2 Kinds of Apps: ones which run in Office Client and ones which run in
SharePoint
20. Apps
Apps can run in a server which can be hosted in the cloud. This can be
cross domain and interacts with SharePoint via REST/Oauth (Server
Side code, JSONP for cross domain calls)
In the web.config of SharePoint, all of these cross domain calls, they
have turned request validation to off for handlers which accept these
calls. This means that the App developer has the ability to insert any
JS or HTML from the client side. This means that Apps can have
malicious code or can be hijacked by other IFrame apps. The
resolution is to design apps to leverage Shared tokens. A simpler way
is not to use a Part App and instead to use a Page App.
21. Business Connectivity Services (BCS)
Allows you to surface external data from SP
Now supports OData
SharePoint 2013 has made External Content Types (ECT) from
external lists accessible via Windows Communication Foundation
(WCF) services or OData. This helps users more easily consume and
interact with external data sources located outside of SharePoint.
External List Event Receivers and alerts are also now available in
SharePoint 2013 along with filtering, sorting, and support for REST
(Representational State Transfer). External systems can now notify
when their data is updated
22. SharePoint REST
Provides support for CRUD (create, update, delete) operations from
SharePoint Apps, solutions, and client applications using standard
OData and REST web technologies.
23. Client-Side Object Model (CSOM) and
JavaScript Object Model (JSOM)
SharePoint 2013 is all about hosting external application functionality
in a SharePoint context. Those external applications (SPApps) will
often need to interact with the SharePoint environment. In
SharePoint 2013 CSOM has been greatly expanded to include the
ability to access the query object model for online, on-premises and
mobile development of search along with improvements in other
areas. When it comes to JSOM, SharePoint 2013 includes support for
JavaScript contexts, cross-domain queries and application
programming interfaces (APIs) to access the workflow object model.
24. Workflows
Workflows in SharePoint 2010 were painful (to say the least). Workflows
for large number of users would not scale. It was based on WWF 3.5. WWF
4/4.5 has a much better performance versus WWF 3.5. Sahil Malik
maintains that you will see at least a hundred times performance
improvement between the 2 versions.
Reasons: Every step in the Workflow requires a hydration and dehydration
of the workflow stage from a persistence store. The DB storing this is the
SharePoint 2010 content DB. This is the bottleneck.
With SP 2013, these legacy SP workflows will continue to run as is. With
new workflows, they will actually run out of process on a Workflow Server
(potentially) . SP 2013 talks to the WF Server over a REST/Oauth API
25. Workflows
SharePoint 2013 will include Windows Azure Workflow (WAW)
Services, which is built on Windows Workflow Foundation 4. SharePoint
2013 also includes the AppFabric Workflow Model, which provides a lot
more flexibility on the scalability of workflows
Windows Azure Workflow Manager Client server, SharePoint 2013
Preview, and SharePoint Designer 2013 Preview each provide significant
parts of the new infrastructure:
Windows Azure Workflow Manager Client server provides the
management of workflow definitions. It also hosts the execution processes
for workflow instances.
SharePoint Designer 2013 Preview is the primary business-user tool for
creating workflow definitions and publishing them, as it was in previous
versions. It can also be used to package a workflow definition with or
without associated SharePoint components.
27. Web Content Management
Painful in SharePoint 2007/2010
“The Web Content Management story is a train which left in the
wrong direction ever since SharePoint 2007” – Sahil Malik
They did not consider SEO, pages were extremely heavy, the platform
is quite complex. Navigation across site collections is a pain
SP 2013 – new WCM features are driven off the Managed Metadata
store and Search
28. Web Content Management (cont’d)
Managed navigation
Managed navigation lets you define and maintain the navigation on a site by using term
sets. Managed navigation supplements the existing SharePoint navigation that is based
on site structure. You can copy the navigation term set and translate it into the same
languages that are used for variations labels.
For example:
In an authoring site collection, you create a term set for the navigation of the product
pages. A term within this term set typically represents a product category — for example,
Audio, Cameras, or Computers.
In the publishing site collection, you create a term set for the navigation of the non-
product catalog pages. A term within this term set usually represents pages — for
example, Home, About, or Careers.
By using cross-site publishing to display content from the authoring site collection in the
publishing site collection, you can combine the terms from the two site collections to
create the complete website navigation — in this example, Home, Audio, Cameras,
Computers, About, and Careers.
29. Web Content Management (cont’d)
Content Search Web Part, Refiners and faceted navigation – work
with Managed Metadata
Branding
New features for publishing sites in SharePoint Server 2013 minimize
the special SharePoint knowledge that is required to successfully
design and brand a SharePoint site. To brand a SharePoint
site, designers just create a site design as they typically would, by
implementing HTML, CSS, and JavaScript. Designers can create these
files by using their design tool of choice, whether that is Adobe
Dreamweaver, Microsoft Expression Web, or some other HTML editor.
30. Web Content Management (cont’d)
User Friendly Urls - In SharePoint Server 2010, the URLs for
publishing sites included the name of the Pages library — for
example,
http://www.contoso.com/Pages/Computers.aspx#/ID=453&Source=h
ttp%3A%2F1010101. In SharePoint Server 2013, you can create URLs
that are more user-friendly — for example
http://www.contoso.com/Computers/model101.
31. Web Content Management (cont’d)
The pages are a lot lighter. There are 2 aspects:
You can create a lightweight page from scratch
New SPWeb object property called EnableMinimalDownload. This works with
a control called DownloadManager on the page. Newer MasterPages and
Controls only download a delta or difference of the page instead of fetching
the whole page every time
Gotchas- older upgraded pages will not work with MinimalDownload. You can
turn off EnableMinimalDownload when performing migrations to maintain
backwards compatibility
32. Mobile Devices
Device-specific targeting - SharePoint Server 2013 supports targeting different devices such as
smartphones, tablets, and set-top boxes. Designers can create channels that allow a single
publishing site to be rendered in multiple ways by using different designs that target different
devices.
SharePoint Server 2013 offers improvements to the mobile browser experience with the
introduction of a new contemporary view. Depending on the mobile browser, users have one of
the following browsing options:
Contemporary view This view offers an optimized mobile browser experience to users and
renders in HTML5. This view is available to Mobile Internet Explorer version 9.0 or later versions
for Windows Phone 7.5, Safari version 4.0 or later versions for iPhone iOS 5.0, and the Android
browser for Android 4.0 or later versions.
Classic view This view renders in HTML format, or similar markup languages (CHTML, WML, and
so on), and provides backward compatibility for mobile browsers that cannot render in the new
contemporary view. The classic experience in SharePoint Server 2013 is identical to the mobile
browser experience of SharePoint Server 2010.
Full-screen UI There is also the ability to have a full desktop view of a SharePoint site on a
smartphone device.
34. SharePoint Search
SQL Query syntax is not supported. FQL and Keyword QL supported
Search REST API for remote invocation
The Query web service (located in the path
http://server/site/_vti_bin/search.asmx) is deprecated in favor of
Query CSOM or Query REST service
IFilter and Parser support. Parsers can work against documents with
no extensions for ex. http../download.aspx?id=123
37. How to develop Apps
Instructions at http://bit.ly/VoGhIR
38. App Demonstration
Database:
• The SQL Azure version of AdventureWorks has been downloaded and installed from here:
http://msftdbprodsamples.codeplex.com/releases/view/37304.
• Server: zhchkgzlaa.database.windows.net
• DB: AdventureWorksLTAZ2008R2
RESTful Web Service:
• Windows Azure details – http://sukulwebservice.cloudapp.net/AWDataService.svc/Customer
• Example:
• http://sukulwebservice.cloudapp.net/AWDataService.svc/Customer?$format=json&startswith(FirstName, 'J') – find all customers whose
first name starts with the letter and present the results in JSON format. For results in ODATA format, omit the $format parameter
• Used WCF Data Services (http://msdn.microsoft.com/en-us/data/odata.aspx) to enable the creation of ODATA feeds with a few lines of
code.
SharePoint App:
• Site: http://sukul.sharepoint.com
• App Url: https://76fea8dd-e752-4fb4-a08b-
fdcb64685665.o365apps.net/Pages/Default.aspx?SPHostUrl=https://sukul.sharepoint.com&SPLanguage=en-US
For reproduction steps for this slide, refer to the PowerPoint template titled “Static text effects for PowerPoint slides” (STATIC_TEXT.potx), slide number 17.