SlideShare a Scribd company logo
6000 Greenwood Plaza Blvd
Suite 110
Greenwood Village, CO 80111
303.798.5458
www.aspenware.com
Windows Store App
for SharePoint 2013
Waughn
Hughes
Waughn has over 14 years of consulting experience, and has worked extensively with SharePoint for the past
seven years as a developer and solutions architect.
Waughn Hughes, Solutions Architect | w.hughes@aspenware.com
Agenda
• Start
• Plan
• Design
• Build
• Demo
Building Windows Store apps for SharePoint 2013 3
Get Started
What’s a Windows Store app?
• No Chrome
• Touch and Pen Input
• Contracts
• New Controls
• Tiles
Building Windows Store apps for SharePoint 2013 5
Design Guidance
• Principles
• Navigation
• Commanding
• Touch Interaction
• Branding
Building Windows Store apps for SharePoint 2013 6
Plan
Great at…
...presenting personalized, pertinent information from
numerous SharePoint environments.
Building Windows Store apps for SharePoint 2013 8
Activities to support…
• Find content in numerous SharePoint environments
• Bookmark content for easy access
• Provide notification when content is updated
Building Windows Store apps for SharePoint 2013 9
Features to include…
• Search and discover content (e.g. sites, lists and documents)
• Add and remove content from favorite list
• View dashboard of content
• Preview content before launching another application
• Create shortcut to a particular site
• Share content with other people and applications
Building Windows Store apps for SharePoint 2013 10
Design
…with PowerPoint!
Building Windows Store apps for SharePoint 2013 12
Wireframes
Building Windows Store apps for SharePoint 2013 13
Build
Environment and Tools
• Window 8
– and –
• Visual Studio Express 2012 for Windows 8
• Visual Studio 2012
– and –
• Office 365 (Developer Site)
• SharePoint (Foundation or Server) 2013 Farm
Building Windows Store apps for SharePoint 2013 16
Windows Store app: Languages
• VB/C#/C++ and XAML
• JavaScript and HTML
• C++ and DirectX
Building Windows Store apps for SharePoint 2013 17
SharePoint 2013 APIs
Building Windows Store apps for SharePoint 2013 18
http://msdn.microsoft.com/en-us/library/jj164060
Custom Client Application
SharePoint
server object model
_api
ODATA
REST
Execute
Query
JavaScript
object model
Silverlight & Mobile
client object model
.NET
client object model
Server
Client
What’s New?
• Search
• User Profile
• Taxonomy
• Feeds
• Publishing
• Sharing
Building Windows Store apps for SharePoint 2013 19
• Workflow
• E-Discovery
• IRM
• Analytics
• Business Data
Web: CSOM Example
// create the client context
using (ClientContext context = new ClientContext("http://sharepoint.demo.com"))
{
// set credentials for authentication
context.Credentials = CredentialCache.DefaultCredentials;
// the sharepoint web at the url
Web web = context.Web;
// retrieve the web properties
context.Load(web);
// retrieve the specified web properties
// context.Load(web, w => w.Title, w => w.Description);
// execute query
context.ExecuteQuery();
// access properties
string title = web.Title;
string description = web.Description;
}
Building Windows Store apps for SharePoint 2013 20
Web: REST Example
// create handler to handle authentication for the httpclient
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
using (HttpClient client = new HttpClient(handler))
{
// specify format of results (atom/xml or json)
client.DefaultRequestHeaders.Add("Accept", "application/atom+xml");
client.DefaultRequestHeaders.Add("ContentType", "application/atom+xml;type=entry");
// create the rest url
string restUrl = "http://sharepoint.demo.com/_api/web";
// string restUrl = "http://sharepoint.demo.com/_api/web?$select=Title,Description";
// send asynchronous get request
HttpResponseMessage response = await client.GetAsync(restUrl);
// verify that the request was successful
response.EnsureSuccessStatusCode();
// write the http content to string
string responseBodyAsText = await response.Content.ReadAsStringAsync();
// read the xml into xdocument to use LINQ to XML
StringReader reader = new StringReader(responseBodyAsText);
XDocument responseXml = XDocument.Load(reader, LoadOptions.None);
// namespaces required to query xml document
XNamespace atom = "http://www.w3.org/2005/Atom";
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
// access properties
string title = responseXml.Element(atom + "content").Element(m + "properties").Element(d + "Title").Value;
string description = responseXml.Element(atom + "content").Element(m + "properties").Element(d + "Description").Value;
}
Building Windows Store apps for SharePoint 2013 21
Search: CSOM Example
// create the client context
using (ClientContext context = new ClientContext("http://sharepoint.demo.com"))
{
// set credentials for authentication
context.Credentials = CredentialCache.DefaultCredentials;
// describe the query
var keywordQuery = new KeywordQuery(context);
keywordQuery.QueryText = "search term";
// used to execute queries against search engine
SearchExecutor searchExecutor = new SearchExecutor(context);
// execute the search query
ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery);
// execute query
context.ExecuteQuery();
// access search properties and results
int totalCount = results.Value[0].TotalRows;
IEnumerable<IDictionary<string, object>> rows = results.Value[0].ResultRows;
}
Building Windows Store apps for SharePoint 2013 22
Search: REST Example
// create handler to handle authentication for the httpclient
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
using (HttpClient client = new HttpClient(handler))
{
// specify format of results (atom/xml or json)
client.DefaultRequestHeaders.Add("Accept", "application/atom+xml");
client.DefaultRequestHeaders.Add("ContentType", "application/atom+xml;type=entry");
// create the rest url for search
string searchRestUrl = "http://sharepoint.demo.com/_api/search/query?querytext='searchterm'";
// send asynchronous get request
HttpResponseMessage response = await client.GetAsync(restUrl);
// verify that the request was successful
response.EnsureSuccessStatusCode();
// write the http content to string
string responseBodyAsText = await response.Content.ReadAsStringAsync();
// read the xml into xdocument to use LINQ to XML
StringReader reader = new StringReader(responseBodyAsText);
XDocument responseXml = XDocument.Load(reader, LoadOptions.None);
// namespaces required to query xml document
XNamespace atom = "http://www.w3.org/2005/Atom";
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
// retrieve search results
XElement relavantResults = responseXml.Descendants(d + "query").Elements(d + "PrimaryQueryResult").Elements(d + "RelevantResults").FirstOrDefault();
List<XElement> items = responseXml.Descendants(d + "query").Elements(d + "PrimaryQueryResult").Elements(d + "RelevantResults")
.Elements(d + "Table").Elements(d + "Rows").Elements(d + "element").ToList();
}
Building Windows Store apps for SharePoint 2013 23
Demo
References
References: Windows Store apps
Learn to build Windows Store apps
http://msdn.microsoft.com/en-us/library/windows/apps/br229519
Concepts and architecture
http://msdn.microsoft.com/en-us/library/windows/apps/br211361
Developing Windows Store apps
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br229566
Windows 8 app samples
http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples
Creating Windows Runtime Components in C# and Visual Basic
http://msdn.microsoft.com/en-us/library/windows/apps/br230301
Building Windows Store apps for SharePoint 2013 26
References: SharePoint 2013 APIs
What’s new for developers in SharePoint 2013
http://msdn.microsoft.com/en-us/library/jj163091
Choose the right API set in SharePoint 2013
http://msdn.microsoft.com/en-us/library/jj164060
Reference for SharePoint 2013
http://msdn.microsoft.com/en-us/library/jj193038
How to: Complete basic operations using SharePoint 2013 client library code
http://msdn.microsoft.com/en-us/library/fp179912
Programming using the SharePoint 2013 REST service
http://msdn.microsoft.com/en-us/library/fp142385
Building Windows Store apps for SharePoint 2013 27
Questions
Thank You!
6000 Greenwood Plaza Blvd
Suite 110
Greenwood Village, CO 80111
303.798.5458
www.aspenware.com
Aspenware

More Related Content

What's hot (20)

PPTX
Integrating SharePoint 2010 and Visual Studio Lightswitch
Rob Windsor
 
PPTX
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
PPTX
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
KEY
SharePoint 2010 Client Object Model
G. Scott Singleton
 
PPTX
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Sonja Madsen
 
PPTX
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
PPTX
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
PPTX
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
Mark Rackley
 
PPTX
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
PPT
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
Kiril Iliev
 
PPTX
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
PPTX
APIs, APIs Everywhere!
BIWUG
 
PPTX
SharePoint & jQuery Guide - SPSNashville 2014
Mark Rackley
 
PPTX
HTML5 Gaming Payment Platforms
Jonathan LeBlanc
 
PPTX
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
Mark Rackley
 
PPTX
SharePoint REST vs CSOM
Mark Rackley
 
PPTX
Marketing Automation with dotCMS
Jason Smith
 
PPTX
Modular android Project
Raka Mogandhi
 
PPT
Understanding AJAX
sanjeevonline
 
PPTX
SPCA2013 - SharePoint Hosted Apps and Javascript
NCCOMMS
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Rob Windsor
 
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
SPTechCon DevDays - SharePoint & jQuery
Mark Rackley
 
SharePoint 2010 Client Object Model
G. Scott Singleton
 
Quick start guide to java script frameworks for sharepoint apps spsbe-2015
Sonja Madsen
 
SPTechCon 2014 How to develop and debug client side code in SharePoint
Mark Rackley
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
Mark Rackley
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
Mark Rackley
 
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
jsSaturday - PhoneGap and jQuery Mobile for SharePoint 2013
Kiril Iliev
 
Introduction to StratusForms #SayNoToInfoPath
Mark Rackley
 
APIs, APIs Everywhere!
BIWUG
 
SharePoint & jQuery Guide - SPSNashville 2014
Mark Rackley
 
HTML5 Gaming Payment Platforms
Jonathan LeBlanc
 
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
Mark Rackley
 
SharePoint REST vs CSOM
Mark Rackley
 
Marketing Automation with dotCMS
Jason Smith
 
Modular android Project
Raka Mogandhi
 
Understanding AJAX
sanjeevonline
 
SPCA2013 - SharePoint Hosted Apps and Javascript
NCCOMMS
 

Viewers also liked (20)

PPTX
Road to the Cloud - Extending your reach with SharePoint and Office 365
Talbott Crowell
 
PPTX
SharePoint App Store - itunes for you business
Andrew Woodward
 
PPTX
Votre première App SharePoint pour Office 365 avec Visual Studio !
Gilles Pommier
 
PDF
Transitioning to SharePoint App Development
Simon Rennocks
 
PPTX
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
PPTX
SPCA2013 - Once you go app you don't go back
NCCOMMS
 
PPTX
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
Andrew Clark
 
PPTX
A Deep-Dive into Real-World SharePoint App Development
SPC Adriatics
 
PDF
O365con14 - the new sharepoint online apps - napa in action
NCCOMMS
 
PPTX
SP2013 for Developers - Chris O'Brien
Chris O'Brien
 
PDF
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
Mallory O'Connor
 
PPTX
Building your first app for share point 2013
Muawiyah Shannak
 
PPTX
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
Wes Hackett
 
PPTX
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
PPTX
Share point app architecture for the cloud and on premise
Sonja Madsen
 
PPTX
SPSNL - Bringing SharePoint information into Office through Office Apps
Wes Hackett
 
PPTX
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
PPTX
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
PPTX
Introduction to the new SharePoint 2013 App Model
Noorez Khamis
 
PPTX
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
Edin Kapic
 
Road to the Cloud - Extending your reach with SharePoint and Office 365
Talbott Crowell
 
SharePoint App Store - itunes for you business
Andrew Woodward
 
Votre première App SharePoint pour Office 365 avec Visual Studio !
Gilles Pommier
 
Transitioning to SharePoint App Development
Simon Rennocks
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
BlueMetalInc
 
SPCA2013 - Once you go app you don't go back
NCCOMMS
 
From Trashy to Classy: How The SharePoint 2013 App Model Changes Everything
Andrew Clark
 
A Deep-Dive into Real-World SharePoint App Development
SPC Adriatics
 
O365con14 - the new sharepoint online apps - napa in action
NCCOMMS
 
SP2013 for Developers - Chris O'Brien
Chris O'Brien
 
SharePoint Summit Vancouver: Reach your audience with a SharePoint mobile app
Mallory O'Connor
 
Building your first app for share point 2013
Muawiyah Shannak
 
SharePoint Evolution conference 2013 - Bringing SharePoint Information into O...
Wes Hackett
 
Developer’s Independence Day: Introducing the SharePoint App Model
bgerman
 
Share point app architecture for the cloud and on premise
Sonja Madsen
 
SPSNL - Bringing SharePoint information into Office through Office Apps
Wes Hackett
 
SharePoint 2013 App Provisioning Models
Shailen Sukul
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
SPTechCon
 
Introduction to the new SharePoint 2013 App Model
Noorez Khamis
 
7 Key Things for Building a Highly-Scalable SharePoint 2013 App
Edin Kapic
 
Ad

Similar to Building a Windows Store App for SharePoint 2013 (20)

PPTX
Charla desarrollo de apps con sharepoint y office 365
Luis Valencia
 
PPTX
Building search-driven Windows 8 and Windows Phone 8 apps for SharePoint Serv...
Joris Poelmans
 
PPTX
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
NCCOMMS
 
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
PDF
What's New for Developers in SharePoint 2013
CTE Solutions Inc.
 
PPTX
The SharePoint 2013 App Model
SPC Adriatics
 
PPTX
SharePoint 2013 App or Not to App
Kenneth Maglio
 
PPTX
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
PPTX
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
PPTX
Developing Apps for SharePoint Store
Kashif Imran
 
PPTX
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
PDF
Building windows8 modern app for sp2013
Vinh Nguyen
 
PPTX
Building the SharePoint hot or not app ... or how not sell social to your boss
Joris Poelmans
 
PPTX
SharePoint Apps model overview
Eurofins GSC Lux sarl
 
PDF
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
PPTX
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
PPTX
SharePoint 2013 apps overview
Elie Kash
 
PPTX
2013 - Back to the Future with Client/Server Development
Chris O'Connor
 
PPTX
Developing Apps for SharePoint 2013
SPC Adriatics
 
Charla desarrollo de apps con sharepoint y office 365
Luis Valencia
 
Building search-driven Windows 8 and Windows Phone 8 apps for SharePoint Serv...
Joris Poelmans
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
NCCOMMS
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Bram de Jager
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Bram de Jager
 
What's New for Developers in SharePoint 2013
CTE Solutions Inc.
 
The SharePoint 2013 App Model
SPC Adriatics
 
SharePoint 2013 App or Not to App
Kenneth Maglio
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
Develop iOS and Android apps with SharePoint/Office 365
Kashif Imran
 
Developing Apps for SharePoint Store
Kashif Imran
 
SP Apps, New Model, New App Store: The Office Store
Juan Carlos Gonzalez
 
Building windows8 modern app for sp2013
Vinh Nguyen
 
Building the SharePoint hot or not app ... or how not sell social to your boss
Joris Poelmans
 
SharePoint Apps model overview
Eurofins GSC Lux sarl
 
(Almost) All About Apps for SharePoint 2013
Dragan Panjkov
 
SharePoint Server 2013: to app or not to app?
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
 
SharePoint 2013 apps overview
Elie Kash
 
2013 - Back to the Future with Client/Server Development
Chris O'Connor
 
Developing Apps for SharePoint 2013
SPC Adriatics
 
Ad

More from Aspenware (20)

PPTX
Playing nice with the MEAN stack
Aspenware
 
PDF
Stop competing and start leading: A user experience case study.
Aspenware
 
PPTX
Tips for building fast multi touch enabled web sites
Aspenware
 
PPTX
Build once deploy everywhere using the telerik platform
Aspenware
 
PPTX
Building web applications using kendo ui and the mvvm pattern
Aspenware
 
PDF
Rich Web Applications with Aspenware
Aspenware
 
PDF
Taking the Share out of Sharepoint: SharePoint Application Security.
Aspenware
 
PPTX
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
PPTX
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
PDF
Aspenware TechMunch presents: mobile communities of interest
Aspenware
 
PDF
Hate JavaScript? Try TypeScript.
Aspenware
 
PDF
Understanding Game Mechanics
Aspenware
 
PDF
What people are saying about working with Aspenware.
Aspenware
 
PPTX
Aspenware Customer Labs lift line experience
Aspenware
 
PDF
Aspenware 2013 consulting program
Aspenware
 
PPTX
On Culture and Perks
Aspenware
 
PDF
Maintaining Culture and Staying True to Your Values in Times of Change: Tye E...
Aspenware
 
PPTX
Fast multi touch enabled web sites
Aspenware
 
PDF
Business considerations for node.js applications
Aspenware
 
PPTX
Restful web services with nodejs
Aspenware
 
Playing nice with the MEAN stack
Aspenware
 
Stop competing and start leading: A user experience case study.
Aspenware
 
Tips for building fast multi touch enabled web sites
Aspenware
 
Build once deploy everywhere using the telerik platform
Aspenware
 
Building web applications using kendo ui and the mvvm pattern
Aspenware
 
Rich Web Applications with Aspenware
Aspenware
 
Taking the Share out of Sharepoint: SharePoint Application Security.
Aspenware
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
Implementing Scrum with Microsoft Team Foundation Service (TFS)
Aspenware
 
Aspenware TechMunch presents: mobile communities of interest
Aspenware
 
Hate JavaScript? Try TypeScript.
Aspenware
 
Understanding Game Mechanics
Aspenware
 
What people are saying about working with Aspenware.
Aspenware
 
Aspenware Customer Labs lift line experience
Aspenware
 
Aspenware 2013 consulting program
Aspenware
 
On Culture and Perks
Aspenware
 
Maintaining Culture and Staying True to Your Values in Times of Change: Tye E...
Aspenware
 
Fast multi touch enabled web sites
Aspenware
 
Business considerations for node.js applications
Aspenware
 
Restful web services with nodejs
Aspenware
 

Recently uploaded (20)

PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
July Patch Tuesday
Ivanti
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 

Building a Windows Store App for SharePoint 2013

  • 1. 6000 Greenwood Plaza Blvd Suite 110 Greenwood Village, CO 80111 303.798.5458 www.aspenware.com Windows Store App for SharePoint 2013
  • 2. Waughn Hughes Waughn has over 14 years of consulting experience, and has worked extensively with SharePoint for the past seven years as a developer and solutions architect. Waughn Hughes, Solutions Architect | [email protected]
  • 3. Agenda • Start • Plan • Design • Build • Demo Building Windows Store apps for SharePoint 2013 3
  • 5. What’s a Windows Store app? • No Chrome • Touch and Pen Input • Contracts • New Controls • Tiles Building Windows Store apps for SharePoint 2013 5
  • 6. Design Guidance • Principles • Navigation • Commanding • Touch Interaction • Branding Building Windows Store apps for SharePoint 2013 6
  • 8. Great at… ...presenting personalized, pertinent information from numerous SharePoint environments. Building Windows Store apps for SharePoint 2013 8
  • 9. Activities to support… • Find content in numerous SharePoint environments • Bookmark content for easy access • Provide notification when content is updated Building Windows Store apps for SharePoint 2013 9
  • 10. Features to include… • Search and discover content (e.g. sites, lists and documents) • Add and remove content from favorite list • View dashboard of content • Preview content before launching another application • Create shortcut to a particular site • Share content with other people and applications Building Windows Store apps for SharePoint 2013 10
  • 12. …with PowerPoint! Building Windows Store apps for SharePoint 2013 12
  • 13. Wireframes Building Windows Store apps for SharePoint 2013 13
  • 14. Build
  • 15. Environment and Tools • Window 8 – and – • Visual Studio Express 2012 for Windows 8 • Visual Studio 2012 – and – • Office 365 (Developer Site) • SharePoint (Foundation or Server) 2013 Farm Building Windows Store apps for SharePoint 2013 16
  • 16. Windows Store app: Languages • VB/C#/C++ and XAML • JavaScript and HTML • C++ and DirectX Building Windows Store apps for SharePoint 2013 17
  • 17. SharePoint 2013 APIs Building Windows Store apps for SharePoint 2013 18 http://msdn.microsoft.com/en-us/library/jj164060 Custom Client Application SharePoint server object model _api ODATA REST Execute Query JavaScript object model Silverlight & Mobile client object model .NET client object model Server Client
  • 18. What’s New? • Search • User Profile • Taxonomy • Feeds • Publishing • Sharing Building Windows Store apps for SharePoint 2013 19 • Workflow • E-Discovery • IRM • Analytics • Business Data
  • 19. Web: CSOM Example // create the client context using (ClientContext context = new ClientContext("http://sharepoint.demo.com")) { // set credentials for authentication context.Credentials = CredentialCache.DefaultCredentials; // the sharepoint web at the url Web web = context.Web; // retrieve the web properties context.Load(web); // retrieve the specified web properties // context.Load(web, w => w.Title, w => w.Description); // execute query context.ExecuteQuery(); // access properties string title = web.Title; string description = web.Description; } Building Windows Store apps for SharePoint 2013 20
  • 20. Web: REST Example // create handler to handle authentication for the httpclient HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; using (HttpClient client = new HttpClient(handler)) { // specify format of results (atom/xml or json) client.DefaultRequestHeaders.Add("Accept", "application/atom+xml"); client.DefaultRequestHeaders.Add("ContentType", "application/atom+xml;type=entry"); // create the rest url string restUrl = "http://sharepoint.demo.com/_api/web"; // string restUrl = "http://sharepoint.demo.com/_api/web?$select=Title,Description"; // send asynchronous get request HttpResponseMessage response = await client.GetAsync(restUrl); // verify that the request was successful response.EnsureSuccessStatusCode(); // write the http content to string string responseBodyAsText = await response.Content.ReadAsStringAsync(); // read the xml into xdocument to use LINQ to XML StringReader reader = new StringReader(responseBodyAsText); XDocument responseXml = XDocument.Load(reader, LoadOptions.None); // namespaces required to query xml document XNamespace atom = "http://www.w3.org/2005/Atom"; XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices"; XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; // access properties string title = responseXml.Element(atom + "content").Element(m + "properties").Element(d + "Title").Value; string description = responseXml.Element(atom + "content").Element(m + "properties").Element(d + "Description").Value; } Building Windows Store apps for SharePoint 2013 21
  • 21. Search: CSOM Example // create the client context using (ClientContext context = new ClientContext("http://sharepoint.demo.com")) { // set credentials for authentication context.Credentials = CredentialCache.DefaultCredentials; // describe the query var keywordQuery = new KeywordQuery(context); keywordQuery.QueryText = "search term"; // used to execute queries against search engine SearchExecutor searchExecutor = new SearchExecutor(context); // execute the search query ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery); // execute query context.ExecuteQuery(); // access search properties and results int totalCount = results.Value[0].TotalRows; IEnumerable<IDictionary<string, object>> rows = results.Value[0].ResultRows; } Building Windows Store apps for SharePoint 2013 22
  • 22. Search: REST Example // create handler to handle authentication for the httpclient HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; using (HttpClient client = new HttpClient(handler)) { // specify format of results (atom/xml or json) client.DefaultRequestHeaders.Add("Accept", "application/atom+xml"); client.DefaultRequestHeaders.Add("ContentType", "application/atom+xml;type=entry"); // create the rest url for search string searchRestUrl = "http://sharepoint.demo.com/_api/search/query?querytext='searchterm'"; // send asynchronous get request HttpResponseMessage response = await client.GetAsync(restUrl); // verify that the request was successful response.EnsureSuccessStatusCode(); // write the http content to string string responseBodyAsText = await response.Content.ReadAsStringAsync(); // read the xml into xdocument to use LINQ to XML StringReader reader = new StringReader(responseBodyAsText); XDocument responseXml = XDocument.Load(reader, LoadOptions.None); // namespaces required to query xml document XNamespace atom = "http://www.w3.org/2005/Atom"; XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices"; XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"; // retrieve search results XElement relavantResults = responseXml.Descendants(d + "query").Elements(d + "PrimaryQueryResult").Elements(d + "RelevantResults").FirstOrDefault(); List<XElement> items = responseXml.Descendants(d + "query").Elements(d + "PrimaryQueryResult").Elements(d + "RelevantResults") .Elements(d + "Table").Elements(d + "Rows").Elements(d + "element").ToList(); } Building Windows Store apps for SharePoint 2013 23
  • 23. Demo
  • 25. References: Windows Store apps Learn to build Windows Store apps http://msdn.microsoft.com/en-us/library/windows/apps/br229519 Concepts and architecture http://msdn.microsoft.com/en-us/library/windows/apps/br211361 Developing Windows Store apps http://msdn.microsoft.com/en-us/library/windows/apps/xaml/br229566 Windows 8 app samples http://code.msdn.microsoft.com/windowsapps/Windows-8-Modern-Style-App-Samples Creating Windows Runtime Components in C# and Visual Basic http://msdn.microsoft.com/en-us/library/windows/apps/br230301 Building Windows Store apps for SharePoint 2013 26
  • 26. References: SharePoint 2013 APIs What’s new for developers in SharePoint 2013 http://msdn.microsoft.com/en-us/library/jj163091 Choose the right API set in SharePoint 2013 http://msdn.microsoft.com/en-us/library/jj164060 Reference for SharePoint 2013 http://msdn.microsoft.com/en-us/library/jj193038 How to: Complete basic operations using SharePoint 2013 client library code http://msdn.microsoft.com/en-us/library/fp179912 Programming using the SharePoint 2013 REST service http://msdn.microsoft.com/en-us/library/fp142385 Building Windows Store apps for SharePoint 2013 27
  • 29. 6000 Greenwood Plaza Blvd Suite 110 Greenwood Village, CO 80111 303.798.5458 www.aspenware.com Aspenware