SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Mobile for SharePoint
with Windows Phone Jim Wilcox
Enterprise Software Application Architect
Edgewater Technology
Agenda
 Introductions
 Client “Non-Apps”
 SharePoint Web Interfaces
 Development Tools / Silverlight
 Office 365 SharePoint
 Demo loading & updating SP List items on Windows
Phone
 Best Practices
Introductions: Myself
 Jim Wilcox
 Enterprise Software Application Architect
 Edgewater Technology (GOLD SPONSOR THIS YEAR!)
 Hobbyist Windows Phone App Publisher
 Co-Founder of
 Granite State (NH) SharePoint Users Group
 Granite State (NH) Windows Phone Users Group
 Co-Organizer of SharePoint Saturday New Hampshire
Introductions: Session
 Survey of ways to create SharePoint-integrated clients
on the Windows Phone platform… with a focus on
apps
 Based In Part On
 “SharePoint 2010 and Windows Phone 7 Training Course”
 http://msdn.microsoft.com/en-us/hh292769
 Developer training | Apps for Office and SharePoint
 (“MODULE 19: Create Mobile Apps for SharePoint 2013”)
 http://msdn.microsoft.com/en-US/office/dn448488
 Office 365 Integration
 Demos / Code Walkthroughs
Quick Rundown on Client
“Non-Apps”
 May be helpful to consider tools already in the phone
 Office Hub / SharePoint Workspaces
 Internet Explorer
 Desktop Mode
 Mobile Mode
Quick Rundown on Client
“Non-Apps”
 Office Hub / SharePoint Workspaces
 Pro’s
 Readily available, “free”
 Con’s
 Not so nicely customizable
Quick Rundown on Client
“Non-Apps”
 Internet Explorer
 Desktop Mode
 Pros
 Emulates desktop browser well
 Fairly compatible, with lots of common functionality
 Cons
 Small, tough to navigate
Quick Rundown on Client
Non-Apps
 Internet Explorer
 Mobile Mode
 Pros
 Still excellent support for compatibility
 Improves visibility on small screen
 Cons
 Limited functionality
 Limited User experience
SharePoint Web Interfaces
 REST API (ODATA)
 _api
 RSS
 Social Web services
 Classic SOAP Web Service Interfaces (e.g. lists.asmx)
 Client Side Object Model (CSOM)
SharePoint Client App Dev
 Challenges (for any client)
 Authentication
 Config
 Data Caching
 Exception Handling
 Windows Phone Challenges
 Client Side Object Model not supported in WP7
 NTLM authentication not available
 Silverlight framework “limitations”
 everything Async
Silverlight
 SILVERLIGHT IS DEAD! LONG LIVE XAML!
 WPF like, uses XAML
 Stripped down .NET even compared to the .NET Client
profile
 Async everything
Silverlight
 Dev Environment
 Setting up PHONE Dev Environment
 Visual Studio Express 2012 on Windows 8 (Requires Hyper-V for device
emulation)
 Windows Phone 8 SDK (Installed with Visual Studio 2012 & 2013)
 Bing: “Microsoft SharePoint SDK for Windows Phone 8”
 http://www.microsoft.com/en-us/download/details.aspx?id=36818
 SharePoint 2013 server environment
 CSOM has tools to support Windows Phone 8
Async
 Communications in Silverlight force Async, multi-
threading model.
 Building UI’s with XAML
 UI must be on single thread.
 Deploy.Dispatch.BeginInvoke is key to getting back to UI
thread
Demo: Walk-thru basic WSS3
app
 Visual Studio 2012 Express for Windows Phone
 GSSPUG Hub
 Free App
 WSS3 SOAP client
 Anonymous Authentication
Office 365 Authentication
 Multi-step process (DONE BY CSOM)
Office 365 Authentication
(WITHOUT CSOM)
 Send credentials to login server
const string _authUrl="https://login.microsoftonline.com/extSTS.srf";
const string _samlXml =
@"<s:Envelope xmlns:s=""http://www.w3.org/2003/05/soap-envelope""
xmlns:a=""http://www.w3.org/2005/08/addressing""
xmlns:u=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"">
<s:Header>
<a:Action s:mustUnderstand=""1"">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand=""1"">https://login.microsoftonline.com/extSTS.srf</a:To>
<o:Security s:mustUnderstand=""1"" xmlns:o=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"">
<o:UsernameToken>
<o:Username>{0}</o:Username>
<o:Password>{1}</o:Password>
</o:UsernameToken>
</o:Security>
</s:Header>
<s:Body>
<t:RequestSecurityToken xmlns:t=""http://schemas.xmlsoap.org/ws/2005/02/trust"">
<wsp:AppliesTo xmlns:wsp=""http://schemas.xmlsoap.org/ws/2004/09/policy"">
<a:EndpointReference>
<a:Address>{2}</a:Address>
</a:EndpointReference>
</wsp:AppliesTo>
<t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType>
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
<t:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</t:TokenType>
</t:RequestSecurityToken>
</s:Body>
</s:Envelope>";
Office 365 Authentication
(WITHOUT CSOM)
 Get SAML Token from Response
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<S:Header>
…
</S:Header>
<S:Body>
<wst:RequestSecurityTokenResponse xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
utility-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault">
<wst:TokenType>urn:passport:compact</wst:TokenType>
<wsp:AppliesTo xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:EndpointReference>
<wsa:Address>spsnh.sharepoint.com</wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<wst:Lifetime>
<wsu:Created>2012-09-21T18:17:56Z</wsu:Created>
<wsu:Expires>2012-09-22T18:17:56Z</wsu:Expires>
</wst:Lifetime>
<wst:RequestedSecurityToken>
<wsse:BinarySecurityToken Id="Compact0">
t=EwBYAk6hBwAUIQT64YiMbkZQLHdw6peopUrQ0O8AATjrlz3EJAc6fh4IdP8nOlEzhGUzO53lIa7CjgkoTNzz+BQguCDwabOvMsL7u3ygGx8Gm4LLQlOw9CR/UgUDls+fxvLTPRQr7nI3Auw21
3tJdnXs5PWs4um/78f2aY36j9tauBXoK/O6LIXIDI3KZIIor98P2lhtnWDB8gG1NVEWvhfuMEYDmL07YjkwDVruCbbnn9gERkZUwyPImiR0rV1PlnovxV+nNRNKo09IK4BSFaSBwcBfhDWB4Ai9/3Kw9
tL0lw4zhY0KJ0M4rd/YVDeUCjcA5gcL60fQ+gKh0lmYo2koRmzKuDpGjTan/Bo70CoMwh8d4jEqU8MSZliz2y4DZgAACJxQwcoLK56JKAGWzGAu/+QF47YofykIIXHLxmosMINTw7QZ6hdslEEu
NQ3+bFaUUZeaP6nihF+XthZwiP5BIodcLhH7BG6XUCL9Wip9pGST1zU0xJ+rXJ2VtTde5kAJDhxp5OoO23VMTMbEmDi+eKaESORzU6j6ijtaGxZsr44ygPa3A/HsFUz+DKBk3EGCvmuMTZOuc3r
h8Dd74jNp9ym4TVN+Ge6cvko7XmZJIVIqQQsLcTPt2UXl6UTnLMgiIw1CQXGACTBkkGrNFwswsY0AcUBtFv49ISyhlC0Y39ow0Tl8XL7es/HCVYZTCndEo3FKOBISG+a3Uy+45zqw+sU5X26Aq5U
tlnQBUHoHMiO55EeOeByPu58NmpRebekOPQlD4VuVgbl3C/S4Zodp2bCH1WIB&amp;p= </wsse:BinarySecurityToken>
</wst:RequestedSecurityToken>
…
</S:Body>
</S:Envelope>
Office 365 Authentication
(WITHOUT CSOM)
 Present SAML token to web service
const string _login="/_forms/default.aspx?wa=wsignin1.0";
private void SubmitTokenAsync()
{
UriBuilder bldr = new UriBuilder(_uri.Scheme, _uri.Host, _uri.Port);
_submitTokenRequest = HttpWebRequest.CreateHttp(bldr.Uri + _login);
_submitTokenRequest.CookieContainer = Cookies;
_submitTokenRequest.Method = "POST";
_submitTokenRequest.BeginGetRequestStream(new AsyncCallback(Get_SubmitToken_RequestStreamCallback), null);
}
private void Get_SubmitToken_RequestStreamCallback(IAsyncResult result)
{
var requestStream = _submitTokenRequest.EndGetRequestStream(result);
using (StreamWriter w = new StreamWriter(requestStream))
{
w.Write(_token);
w.Flush();
}
_submitTokenRequest.BeginGetResponse(new AsyncCallback(Get_SubmitToken_ResponseCallback), null);
}
Office 365 Authentication
(WITHOUT CSOM)
 Include cookie in GetListItems service call.
private void Get_SubmitToken_ResponseCallback(IAsyncResult result)
{
UriBuilder bldr = new UriBuilder(_uri.Scheme, _uri.Host, _uri.Port);
bldr.Path = null;
Cookies = _submitTokenRequest.CookieContainer;
_isAuthenticationInProgress = false;
IsAuthenticated = true;
if (OnAuthenticated != null)
{
EventArgs args = new EventArgs();
OnAuthenticated(this, args); //Call back the parent
}
}
----------------- parent
_listsClient = new ListsSoapClient();
void OnAuthenticated_GetTasks(object sender, EventArgs e)
{
_authenticationHelper = (SPAuthenticationHelper)sender;
_listsClient.CookieContainer = _authenticationHelper.Cookies;
BeginGetTasksList();
}
Windows Phone 8 /
SharePoint 2013
 MS Training video was outdated…
 ….VS 2012, not 2010
 …. WP8 not WP7
 …. Office 365
 “List” apps
 CSOM
 Push notifications
DEMO: “List” App
CSOM
 Variant of CSOM used by SharePoint 2010
 To say authentication is simplified…
public class ListDataProvider : ListDataProviderBase
{
/// <summary>
/// Provides access to ClientContext object which is used to execute queries to fetch ListItems from SharePoint server
/// </summary>
private ClientContext m_Context;
public override ClientContext Context
{
get
{
if (m_Context != null)
return m_Context;
m_Context = new ClientContext(SiteUrl);
Authenticator at = new Authenticator();
at.CookieCachingEnabled = true; //Allows authenticator to save cookies for future usage
// In case of Microsoft Online federated authentication, set ADFS authentication scheme preference for passive authentication
// Example, to set client preference for SAML 2.0 username-password authentication scheme:
// at.FederationPassiveAuthUri = "urn:oasis:names:tc:SAML:2.0:ac:classes:Password";
m_Context.Credentials = at;
return m_Context;
}
}
Push Notifications
 Device requests URI from PNS
 Device registers URI with SharePoint App
 SharePoint app is implemented to send notification
via PNS to URI,
 which in turn pings the phone.
Push Notification Types
 Toast
 Appears at top of UI inside or outside of app
 Tile
 Updates live tile info
 Raw
 Notification event raised to app, which implements
its own handler (app must be running)
Alternative: App Studio
 Into
 Demo
Best Practices
 Isolated Storage / Offline Mode
 Proper Exception Handling
 Proper Logging
 Proper Configuration
 Security / Encryption
 Be Bandwidth Aware (compression, caching where
possible)
 Be Memory Aware
More Best Practices
 Unit Testing
 UI Lipstick
 App Publishing
Additional Technologies
 Lightswitch
 HTML5 / JS
 Xamarin
Questions?
Thank You
 For taking personal time to make this presentation and
event a part of your professional portfolio
 Feel free to connect with me on:
 Facebook: http://www.facebook.com/jwilcox1701
 LinkedIn: http://www.linkedin.com/in/jimwilcox2
 Twitter: @GraniteStHacker
 Blog: http://GraniteStateHacker.kataire.com
 Granite State (NH) SharePoint Users Group:
http://www.granitestatesharepoint.com
 Granite State (NH) Windows Phone Users Group:
http://granitestatewinphone.Eventbrite.com
 Yammer, Foursquare, Klout….

Weitere ähnliche Inhalte

Was ist angesagt?

Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile appsDavid Giard
 
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...Todd Kaplinger
 
Building a Twitter App with Silverlight 3 - Part 2
Building a Twitter App with Silverlight 3 - Part 2Building a Twitter App with Silverlight 3 - Part 2
Building a Twitter App with Silverlight 3 - Part 2Clint Edmonson
 
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...Fons Sonnemans
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB
 
CTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCCTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCBarry Gervin
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014Ran Wahle
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to VaadinJeroen Benats
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right nowCaleb Jenkins
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CNjojule
 
Meteor.js Workshop by Dopravo
Meteor.js Workshop by DopravoMeteor.js Workshop by Dopravo
Meteor.js Workshop by DopravoArabNet ME
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB
 

Was ist angesagt? (20)

Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile apps
 
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...
Lightning Talk: Mobile Cloud Jargon: Why is my iOS simulator not charging to ...
 
Active x
Active xActive x
Active x
 
Consuming web services_ax2012
Consuming web services_ax2012Consuming web services_ax2012
Consuming web services_ax2012
 
Building a Twitter App with Silverlight 3 - Part 2
Building a Twitter App with Silverlight 3 - Part 2Building a Twitter App with Silverlight 3 - Part 2
Building a Twitter App with Silverlight 3 - Part 2
 
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...
TechDays 2016 - Developing websites using asp.net core mvc6 and entity framew...
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
 
CTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCCTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVC
 
WOdka
WOdkaWOdka
WOdka
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014AngularJs Workshop SDP December 28th 2014
AngularJs Workshop SDP December 28th 2014
 
Introduction to Vaadin
Introduction to VaadinIntroduction to Vaadin
Introduction to Vaadin
 
Developing Sandbox Solutions
Developing Sandbox SolutionsDeveloping Sandbox Solutions
Developing Sandbox Solutions
 
10 practices that every developer needs to start right now
10 practices that every developer needs to start right now10 practices that every developer needs to start right now
10 practices that every developer needs to start right now
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
 
Vaadin 7.2
Vaadin 7.2Vaadin 7.2
Vaadin 7.2
 
Meteor.js Workshop by Dopravo
Meteor.js Workshop by DopravoMeteor.js Workshop by Dopravo
Meteor.js Workshop by Dopravo
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 

Andere mochten auch

Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelona
Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelonaJournalism, Networks, Ontology: Pat kane presentation at Media140 barcelona
Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelonawww.patkane.global
 
Content Marketing: How to Attract Talent using Sponsored Updates
Content Marketing: How to Attract Talent using Sponsored UpdatesContent Marketing: How to Attract Talent using Sponsored Updates
Content Marketing: How to Attract Talent using Sponsored UpdatesRebecca Feldman
 
Частотный преобразователь
Частотный преобразовательЧастотный преобразователь
Частотный преобразовательkulibin
 
AQA Biology-Physical factors affecting organisms
AQA Biology-Physical factors affecting organismsAQA Biology-Physical factors affecting organisms
AQA Biology-Physical factors affecting organismssherinshaju
 
22 of the best marketing quotes
22 of the best marketing quotes22 of the best marketing quotes
22 of the best marketing quotessherinshaju
 
PDF of the 101 Things you need to know about the police
PDF of the 101 Things you need to know about the policePDF of the 101 Things you need to know about the police
PDF of the 101 Things you need to know about the policeThe Star Newspaper
 
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July..."The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...Sherry Jones
 
Sketchy sketches hiding chemistry in plain sight
Sketchy sketches hiding chemistry in plain sightSketchy sketches hiding chemistry in plain sight
Sketchy sketches hiding chemistry in plain sightNextMove Software
 
La Informática en el Laboratorio de Microbiología. Recursos Informáticos par...
La Informática en el Laboratorio de Microbiología.  Recursos Informáticos par...La Informática en el Laboratorio de Microbiología.  Recursos Informáticos par...
La Informática en el Laboratorio de Microbiología. Recursos Informáticos par...Rigoberto José Meléndez Cuauro
 
The impact of mobile on the IT organization
The impact of mobile on the IT organizationThe impact of mobile on the IT organization
The impact of mobile on the IT organizationChris Pepin
 
Apache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksApache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksAndrii Gakhov
 
B2B Customer Experience Benchmark Report 2016
B2B Customer Experience Benchmark Report 2016B2B Customer Experience Benchmark Report 2016
B2B Customer Experience Benchmark Report 2016Kapost
 
Doc sprints: The ultimate in collaborative document development
Doc sprints: The ultimate in collaborative document developmentDoc sprints: The ultimate in collaborative document development
Doc sprints: The ultimate in collaborative document developmentSarah Maddox
 
урок №8 (7 клас)
урок №8 (7 клас)урок №8 (7 клас)
урок №8 (7 клас)pupilsShostka
 

Andere mochten auch (19)

Diana maria morales hernandez actividad1 mapa_c
Diana maria morales hernandez actividad1 mapa_cDiana maria morales hernandez actividad1 mapa_c
Diana maria morales hernandez actividad1 mapa_c
 
Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelona
Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelonaJournalism, Networks, Ontology: Pat kane presentation at Media140 barcelona
Journalism, Networks, Ontology: Pat kane presentation at Media140 barcelona
 
BIOSTER Technology Research Institute
BIOSTER Technology Research InstituteBIOSTER Technology Research Institute
BIOSTER Technology Research Institute
 
Content Marketing: How to Attract Talent using Sponsored Updates
Content Marketing: How to Attract Talent using Sponsored UpdatesContent Marketing: How to Attract Talent using Sponsored Updates
Content Marketing: How to Attract Talent using Sponsored Updates
 
Частотный преобразователь
Частотный преобразовательЧастотный преобразователь
Частотный преобразователь
 
Tech
TechTech
Tech
 
AQA Biology-Physical factors affecting organisms
AQA Biology-Physical factors affecting organismsAQA Biology-Physical factors affecting organisms
AQA Biology-Physical factors affecting organisms
 
22 of the best marketing quotes
22 of the best marketing quotes22 of the best marketing quotes
22 of the best marketing quotes
 
Cómo hacer presentaciones exitosas
Cómo hacer presentaciones exitosasCómo hacer presentaciones exitosas
Cómo hacer presentaciones exitosas
 
PDF of the 101 Things you need to know about the police
PDF of the 101 Things you need to know about the policePDF of the 101 Things you need to know about the police
PDF of the 101 Things you need to know about the police
 
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July..."The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...
"The Blockchain Effect on the Future of the Humanities" by Sherry Jones (July...
 
Sketchy sketches hiding chemistry in plain sight
Sketchy sketches hiding chemistry in plain sightSketchy sketches hiding chemistry in plain sight
Sketchy sketches hiding chemistry in plain sight
 
La Informática en el Laboratorio de Microbiología. Recursos Informáticos par...
La Informática en el Laboratorio de Microbiología.  Recursos Informáticos par...La Informática en el Laboratorio de Microbiología.  Recursos Informáticos par...
La Informática en el Laboratorio de Microbiología. Recursos Informáticos par...
 
The impact of mobile on the IT organization
The impact of mobile on the IT organizationThe impact of mobile on the IT organization
The impact of mobile on the IT organization
 
Apache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected TalksApache Big Data Europe 2015: Selected Talks
Apache Big Data Europe 2015: Selected Talks
 
avaliacao
avaliacaoavaliacao
avaliacao
 
B2B Customer Experience Benchmark Report 2016
B2B Customer Experience Benchmark Report 2016B2B Customer Experience Benchmark Report 2016
B2B Customer Experience Benchmark Report 2016
 
Doc sprints: The ultimate in collaborative document development
Doc sprints: The ultimate in collaborative document developmentDoc sprints: The ultimate in collaborative document development
Doc sprints: The ultimate in collaborative document development
 
урок №8 (7 клас)
урок №8 (7 клас)урок №8 (7 клас)
урок №8 (7 клас)
 

Ähnlich wie Mobile for SharePoint with Windows Phone

SharePoint Silverlight Sandboxed solutions
SharePoint Silverlight Sandboxed solutionsSharePoint Silverlight Sandboxed solutions
SharePoint Silverlight Sandboxed solutionsPhil Wicklund
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
DODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightDODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightClint Edmonson
 
Windows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceWindows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceTechWell
 
20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발영욱 김
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtrutyRon Favali
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Mahmoud Hamed Mahmoud
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactOliver N
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
20150812 4시간만에 따라해보는 windows 10 앱 개발
20150812  4시간만에 따라해보는 windows 10 앱 개발20150812  4시간만에 따라해보는 windows 10 앱 개발
20150812 4시간만에 따라해보는 windows 10 앱 개발영욱 김
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0Thomas Conté
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobileFlavius-Radu Demian
 
NextGen Portal for Your Organization
NextGen Portal for Your OrganizationNextGen Portal for Your Organization
NextGen Portal for Your OrganizationWaldek Mastykarz
 
Xamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsXamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsAlexandre Marreiros
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comSalesforce Developers
 

Ähnlich wie Mobile for SharePoint with Windows Phone (20)

SharePoint Silverlight Sandboxed solutions
SharePoint Silverlight Sandboxed solutionsSharePoint Silverlight Sandboxed solutions
SharePoint Silverlight Sandboxed solutions
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
DODN2009 - Jump Start Silverlight
DODN2009 - Jump Start SilverlightDODN2009 - Jump Start Silverlight
DODN2009 - Jump Start Silverlight
 
Windows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile WorkforceWindows Azure: Connecting the Dots for a Mobile Workforce
Windows Azure: Connecting the Dots for a Mobile Workforce
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발
 
Ibm xamarin gtruty
Ibm xamarin gtrutyIbm xamarin gtruty
Ibm xamarin gtruty
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
20150812 4시간만에 따라해보는 windows 10 앱 개발
20150812  4시간만에 따라해보는 windows 10 앱 개발20150812  4시간만에 따라해보는 windows 10 앱 개발
20150812 4시간만에 따라해보는 windows 10 앱 개발
 
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
JavaCro'14 - Building interactive web applications with Vaadin – Peter LehtoJavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
JavaCro'14 - Building interactive web applications with Vaadin – Peter Lehto
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
 
Building a chat app with windows azure mobile
Building a chat app with windows azure mobileBuilding a chat app with windows azure mobile
Building a chat app with windows azure mobile
 
NextGen Portal for Your Organization
NextGen Portal for Your OrganizationNextGen Portal for Your Organization
NextGen Portal for Your Organization
 
Xamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected appsXamarin devdays 2017 - PT - connected apps
Xamarin devdays 2017 - PT - connected apps
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
Hands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.comHands-on Workshop: Intermediate Development with Heroku and Force.com
Hands-on Workshop: Intermediate Development with Heroku and Force.com
 

Mehr von Edgewater

Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Edgewater
 
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Edgewater
 
Edgewater Sim Boston 2016
Edgewater Sim Boston 2016Edgewater Sim Boston 2016
Edgewater Sim Boston 2016Edgewater
 
Life Insurance Consumer Evolution
Life Insurance Consumer EvolutionLife Insurance Consumer Evolution
Life Insurance Consumer EvolutionEdgewater
 
Integrating Analytics for Value-Based Healthcare
Integrating Analytics for Value-Based HealthcareIntegrating Analytics for Value-Based Healthcare
Integrating Analytics for Value-Based HealthcareEdgewater
 
Changing Face of Consumer in the Life Insurance Industry
Changing Face of Consumer in the Life Insurance IndustryChanging Face of Consumer in the Life Insurance Industry
Changing Face of Consumer in the Life Insurance IndustryEdgewater
 
From Strategy to Implementation the Right Steps to Creating a BI Platform
From Strategy to Implementation the Right Steps to Creating a BI Platform From Strategy to Implementation the Right Steps to Creating a BI Platform
From Strategy to Implementation the Right Steps to Creating a BI Platform Edgewater
 
Automate business processes using SharePoint Designer Workflows
Automate business processes using SharePoint Designer WorkflowsAutomate business processes using SharePoint Designer Workflows
Automate business processes using SharePoint Designer WorkflowsEdgewater
 
7 Ways to Increase SharePoint Adoption
7 Ways to Increase SharePoint Adoption7 Ways to Increase SharePoint Adoption
7 Ways to Increase SharePoint AdoptionEdgewater
 
SharePoint 2013 Social - Yammer
SharePoint 2013 Social - YammerSharePoint 2013 Social - Yammer
SharePoint 2013 Social - YammerEdgewater
 
Empower Your Business Evolution
Empower Your Business EvolutionEmpower Your Business Evolution
Empower Your Business EvolutionEdgewater
 
Beyond Portals in LIfe and Final Expense Insurance
Beyond Portals in LIfe and Final Expense InsuranceBeyond Portals in LIfe and Final Expense Insurance
Beyond Portals in LIfe and Final Expense InsuranceEdgewater
 
Edgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater
 
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integration
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integrationCRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integration
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integrationEdgewater
 
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideView
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideViewCRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideView
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideViewEdgewater
 
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...Automated, Standardized Reporting of Patient Safety and Quality Measures to E...
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...Edgewater
 
National Patient Safety Foundation 2012 Dashboard Demo
National Patient Safety Foundation 2012 Dashboard DemoNational Patient Safety Foundation 2012 Dashboard Demo
National Patient Safety Foundation 2012 Dashboard DemoEdgewater
 
SharePoint Social: The business case for collaboration
SharePoint Social: The business case for collaborationSharePoint Social: The business case for collaboration
SharePoint Social: The business case for collaborationEdgewater
 
Enterprise Productivity Using SharePoint
Enterprise Productivity Using SharePointEnterprise Productivity Using SharePoint
Enterprise Productivity Using SharePointEdgewater
 
SharePoint 2010: A Social Primer
SharePoint 2010: A Social PrimerSharePoint 2010: A Social Primer
SharePoint 2010: A Social PrimerEdgewater
 

Mehr von Edgewater (20)

Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
 
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
Improve Performance with Enhanced Insight into Profitability and Costs Utiliz...
 
Edgewater Sim Boston 2016
Edgewater Sim Boston 2016Edgewater Sim Boston 2016
Edgewater Sim Boston 2016
 
Life Insurance Consumer Evolution
Life Insurance Consumer EvolutionLife Insurance Consumer Evolution
Life Insurance Consumer Evolution
 
Integrating Analytics for Value-Based Healthcare
Integrating Analytics for Value-Based HealthcareIntegrating Analytics for Value-Based Healthcare
Integrating Analytics for Value-Based Healthcare
 
Changing Face of Consumer in the Life Insurance Industry
Changing Face of Consumer in the Life Insurance IndustryChanging Face of Consumer in the Life Insurance Industry
Changing Face of Consumer in the Life Insurance Industry
 
From Strategy to Implementation the Right Steps to Creating a BI Platform
From Strategy to Implementation the Right Steps to Creating a BI Platform From Strategy to Implementation the Right Steps to Creating a BI Platform
From Strategy to Implementation the Right Steps to Creating a BI Platform
 
Automate business processes using SharePoint Designer Workflows
Automate business processes using SharePoint Designer WorkflowsAutomate business processes using SharePoint Designer Workflows
Automate business processes using SharePoint Designer Workflows
 
7 Ways to Increase SharePoint Adoption
7 Ways to Increase SharePoint Adoption7 Ways to Increase SharePoint Adoption
7 Ways to Increase SharePoint Adoption
 
SharePoint 2013 Social - Yammer
SharePoint 2013 Social - YammerSharePoint 2013 Social - Yammer
SharePoint 2013 Social - Yammer
 
Empower Your Business Evolution
Empower Your Business EvolutionEmpower Your Business Evolution
Empower Your Business Evolution
 
Beyond Portals in LIfe and Final Expense Insurance
Beyond Portals in LIfe and Final Expense InsuranceBeyond Portals in LIfe and Final Expense Insurance
Beyond Portals in LIfe and Final Expense Insurance
 
Edgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer WorkflowsEdgewater Consulting Mastering SharePoint Designer Workflows
Edgewater Consulting Mastering SharePoint Designer Workflows
 
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integration
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integrationCRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integration
CRMUG Northeast Regional Meeting - 5-17 - Jack Bender - Yammer integration
 
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideView
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideViewCRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideView
CRMUG Northeast Regional Meeting - 5-17 - Brian Bachofner - InsideView
 
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...Automated, Standardized Reporting of Patient Safety and Quality Measures to E...
Automated, Standardized Reporting of Patient Safety and Quality Measures to E...
 
National Patient Safety Foundation 2012 Dashboard Demo
National Patient Safety Foundation 2012 Dashboard DemoNational Patient Safety Foundation 2012 Dashboard Demo
National Patient Safety Foundation 2012 Dashboard Demo
 
SharePoint Social: The business case for collaboration
SharePoint Social: The business case for collaborationSharePoint Social: The business case for collaboration
SharePoint Social: The business case for collaboration
 
Enterprise Productivity Using SharePoint
Enterprise Productivity Using SharePointEnterprise Productivity Using SharePoint
Enterprise Productivity Using SharePoint
 
SharePoint 2010: A Social Primer
SharePoint 2010: A Social PrimerSharePoint 2010: A Social Primer
SharePoint 2010: A Social Primer
 

Kürzlich hochgeladen

Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...anilsa9823
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfAmzadHosen3
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...amitlee9823
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...Aggregage
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangaloreamitlee9823
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear RegressionRavindra Nath Shukla
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 

Kürzlich hochgeladen (20)

Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
Lucknow 💋 Escorts in Lucknow - 450+ Call Girl Cash Payment 8923113531 Neha Th...
 
John Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdfJohn Halpern sued for sexual assault.pdf
John Halpern sued for sexual assault.pdf
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Regression analysis: Simple Linear Regression Multiple Linear Regression
Regression analysis:  Simple Linear Regression Multiple Linear RegressionRegression analysis:  Simple Linear Regression Multiple Linear Regression
Regression analysis: Simple Linear Regression Multiple Linear Regression
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 

Mobile for SharePoint with Windows Phone

  • 1. Mobile for SharePoint with Windows Phone Jim Wilcox Enterprise Software Application Architect Edgewater Technology
  • 2. Agenda  Introductions  Client “Non-Apps”  SharePoint Web Interfaces  Development Tools / Silverlight  Office 365 SharePoint  Demo loading & updating SP List items on Windows Phone  Best Practices
  • 3. Introductions: Myself  Jim Wilcox  Enterprise Software Application Architect  Edgewater Technology (GOLD SPONSOR THIS YEAR!)  Hobbyist Windows Phone App Publisher  Co-Founder of  Granite State (NH) SharePoint Users Group  Granite State (NH) Windows Phone Users Group  Co-Organizer of SharePoint Saturday New Hampshire
  • 4. Introductions: Session  Survey of ways to create SharePoint-integrated clients on the Windows Phone platform… with a focus on apps  Based In Part On  “SharePoint 2010 and Windows Phone 7 Training Course”  http://msdn.microsoft.com/en-us/hh292769  Developer training | Apps for Office and SharePoint  (“MODULE 19: Create Mobile Apps for SharePoint 2013”)  http://msdn.microsoft.com/en-US/office/dn448488  Office 365 Integration  Demos / Code Walkthroughs
  • 5. Quick Rundown on Client “Non-Apps”  May be helpful to consider tools already in the phone  Office Hub / SharePoint Workspaces  Internet Explorer  Desktop Mode  Mobile Mode
  • 6. Quick Rundown on Client “Non-Apps”  Office Hub / SharePoint Workspaces  Pro’s  Readily available, “free”  Con’s  Not so nicely customizable
  • 7. Quick Rundown on Client “Non-Apps”  Internet Explorer  Desktop Mode  Pros  Emulates desktop browser well  Fairly compatible, with lots of common functionality  Cons  Small, tough to navigate
  • 8. Quick Rundown on Client Non-Apps  Internet Explorer  Mobile Mode  Pros  Still excellent support for compatibility  Improves visibility on small screen  Cons  Limited functionality  Limited User experience
  • 9. SharePoint Web Interfaces  REST API (ODATA)  _api  RSS  Social Web services  Classic SOAP Web Service Interfaces (e.g. lists.asmx)  Client Side Object Model (CSOM)
  • 10. SharePoint Client App Dev  Challenges (for any client)  Authentication  Config  Data Caching  Exception Handling  Windows Phone Challenges  Client Side Object Model not supported in WP7  NTLM authentication not available  Silverlight framework “limitations”  everything Async
  • 11. Silverlight  SILVERLIGHT IS DEAD! LONG LIVE XAML!  WPF like, uses XAML  Stripped down .NET even compared to the .NET Client profile  Async everything
  • 12. Silverlight  Dev Environment  Setting up PHONE Dev Environment  Visual Studio Express 2012 on Windows 8 (Requires Hyper-V for device emulation)  Windows Phone 8 SDK (Installed with Visual Studio 2012 & 2013)  Bing: “Microsoft SharePoint SDK for Windows Phone 8”  http://www.microsoft.com/en-us/download/details.aspx?id=36818  SharePoint 2013 server environment  CSOM has tools to support Windows Phone 8
  • 13. Async  Communications in Silverlight force Async, multi- threading model.  Building UI’s with XAML  UI must be on single thread.  Deploy.Dispatch.BeginInvoke is key to getting back to UI thread
  • 14. Demo: Walk-thru basic WSS3 app  Visual Studio 2012 Express for Windows Phone  GSSPUG Hub  Free App  WSS3 SOAP client  Anonymous Authentication
  • 15. Office 365 Authentication  Multi-step process (DONE BY CSOM)
  • 16. Office 365 Authentication (WITHOUT CSOM)  Send credentials to login server const string _authUrl="https://login.microsoftonline.com/extSTS.srf"; const string _samlXml = @"<s:Envelope xmlns:s=""http://www.w3.org/2003/05/soap-envelope"" xmlns:a=""http://www.w3.org/2005/08/addressing"" xmlns:u=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd""> <s:Header> <a:Action s:mustUnderstand=""1"">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action> <a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </a:ReplyTo> <a:To s:mustUnderstand=""1"">https://login.microsoftonline.com/extSTS.srf</a:To> <o:Security s:mustUnderstand=""1"" xmlns:o=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd""> <o:UsernameToken> <o:Username>{0}</o:Username> <o:Password>{1}</o:Password> </o:UsernameToken> </o:Security> </s:Header> <s:Body> <t:RequestSecurityToken xmlns:t=""http://schemas.xmlsoap.org/ws/2005/02/trust""> <wsp:AppliesTo xmlns:wsp=""http://schemas.xmlsoap.org/ws/2004/09/policy""> <a:EndpointReference> <a:Address>{2}</a:Address> </a:EndpointReference> </wsp:AppliesTo> <t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType> <t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType> <t:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</t:TokenType> </t:RequestSecurityToken> </s:Body> </s:Envelope>";
  • 17. Office 365 Authentication (WITHOUT CSOM)  Get SAML Token from Response <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <S:Header> … </S:Header> <S:Body> <wst:RequestSecurityTokenResponse xmlns:S="http://www.w3.org/2003/05/soap-envelope" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity- utility-1.0.xsd" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:psf="http://schemas.microsoft.com/Passport/SoapServices/SOAPFault"> <wst:TokenType>urn:passport:compact</wst:TokenType> <wsp:AppliesTo xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:EndpointReference> <wsa:Address>spsnh.sharepoint.com</wsa:Address> </wsa:EndpointReference> </wsp:AppliesTo> <wst:Lifetime> <wsu:Created>2012-09-21T18:17:56Z</wsu:Created> <wsu:Expires>2012-09-22T18:17:56Z</wsu:Expires> </wst:Lifetime> <wst:RequestedSecurityToken> <wsse:BinarySecurityToken Id="Compact0"> t=EwBYAk6hBwAUIQT64YiMbkZQLHdw6peopUrQ0O8AATjrlz3EJAc6fh4IdP8nOlEzhGUzO53lIa7CjgkoTNzz+BQguCDwabOvMsL7u3ygGx8Gm4LLQlOw9CR/UgUDls+fxvLTPRQr7nI3Auw21 3tJdnXs5PWs4um/78f2aY36j9tauBXoK/O6LIXIDI3KZIIor98P2lhtnWDB8gG1NVEWvhfuMEYDmL07YjkwDVruCbbnn9gERkZUwyPImiR0rV1PlnovxV+nNRNKo09IK4BSFaSBwcBfhDWB4Ai9/3Kw9 tL0lw4zhY0KJ0M4rd/YVDeUCjcA5gcL60fQ+gKh0lmYo2koRmzKuDpGjTan/Bo70CoMwh8d4jEqU8MSZliz2y4DZgAACJxQwcoLK56JKAGWzGAu/+QF47YofykIIXHLxmosMINTw7QZ6hdslEEu NQ3+bFaUUZeaP6nihF+XthZwiP5BIodcLhH7BG6XUCL9Wip9pGST1zU0xJ+rXJ2VtTde5kAJDhxp5OoO23VMTMbEmDi+eKaESORzU6j6ijtaGxZsr44ygPa3A/HsFUz+DKBk3EGCvmuMTZOuc3r h8Dd74jNp9ym4TVN+Ge6cvko7XmZJIVIqQQsLcTPt2UXl6UTnLMgiIw1CQXGACTBkkGrNFwswsY0AcUBtFv49ISyhlC0Y39ow0Tl8XL7es/HCVYZTCndEo3FKOBISG+a3Uy+45zqw+sU5X26Aq5U tlnQBUHoHMiO55EeOeByPu58NmpRebekOPQlD4VuVgbl3C/S4Zodp2bCH1WIB&amp;p= </wsse:BinarySecurityToken> </wst:RequestedSecurityToken> … </S:Body> </S:Envelope>
  • 18. Office 365 Authentication (WITHOUT CSOM)  Present SAML token to web service const string _login="/_forms/default.aspx?wa=wsignin1.0"; private void SubmitTokenAsync() { UriBuilder bldr = new UriBuilder(_uri.Scheme, _uri.Host, _uri.Port); _submitTokenRequest = HttpWebRequest.CreateHttp(bldr.Uri + _login); _submitTokenRequest.CookieContainer = Cookies; _submitTokenRequest.Method = "POST"; _submitTokenRequest.BeginGetRequestStream(new AsyncCallback(Get_SubmitToken_RequestStreamCallback), null); } private void Get_SubmitToken_RequestStreamCallback(IAsyncResult result) { var requestStream = _submitTokenRequest.EndGetRequestStream(result); using (StreamWriter w = new StreamWriter(requestStream)) { w.Write(_token); w.Flush(); } _submitTokenRequest.BeginGetResponse(new AsyncCallback(Get_SubmitToken_ResponseCallback), null); }
  • 19. Office 365 Authentication (WITHOUT CSOM)  Include cookie in GetListItems service call. private void Get_SubmitToken_ResponseCallback(IAsyncResult result) { UriBuilder bldr = new UriBuilder(_uri.Scheme, _uri.Host, _uri.Port); bldr.Path = null; Cookies = _submitTokenRequest.CookieContainer; _isAuthenticationInProgress = false; IsAuthenticated = true; if (OnAuthenticated != null) { EventArgs args = new EventArgs(); OnAuthenticated(this, args); //Call back the parent } } ----------------- parent _listsClient = new ListsSoapClient(); void OnAuthenticated_GetTasks(object sender, EventArgs e) { _authenticationHelper = (SPAuthenticationHelper)sender; _listsClient.CookieContainer = _authenticationHelper.Cookies; BeginGetTasksList(); }
  • 20. Windows Phone 8 / SharePoint 2013  MS Training video was outdated…  ….VS 2012, not 2010  …. WP8 not WP7  …. Office 365  “List” apps  CSOM  Push notifications
  • 22. CSOM  Variant of CSOM used by SharePoint 2010  To say authentication is simplified… public class ListDataProvider : ListDataProviderBase { /// <summary> /// Provides access to ClientContext object which is used to execute queries to fetch ListItems from SharePoint server /// </summary> private ClientContext m_Context; public override ClientContext Context { get { if (m_Context != null) return m_Context; m_Context = new ClientContext(SiteUrl); Authenticator at = new Authenticator(); at.CookieCachingEnabled = true; //Allows authenticator to save cookies for future usage // In case of Microsoft Online federated authentication, set ADFS authentication scheme preference for passive authentication // Example, to set client preference for SAML 2.0 username-password authentication scheme: // at.FederationPassiveAuthUri = "urn:oasis:names:tc:SAML:2.0:ac:classes:Password"; m_Context.Credentials = at; return m_Context; } }
  • 23. Push Notifications  Device requests URI from PNS  Device registers URI with SharePoint App  SharePoint app is implemented to send notification via PNS to URI,  which in turn pings the phone.
  • 24. Push Notification Types  Toast  Appears at top of UI inside or outside of app  Tile  Updates live tile info  Raw  Notification event raised to app, which implements its own handler (app must be running)
  • 26. Best Practices  Isolated Storage / Offline Mode  Proper Exception Handling  Proper Logging  Proper Configuration  Security / Encryption  Be Bandwidth Aware (compression, caching where possible)  Be Memory Aware
  • 27. More Best Practices  Unit Testing  UI Lipstick  App Publishing
  • 30. Thank You  For taking personal time to make this presentation and event a part of your professional portfolio  Feel free to connect with me on:  Facebook: http://www.facebook.com/jwilcox1701  LinkedIn: http://www.linkedin.com/in/jimwilcox2  Twitter: @GraniteStHacker  Blog: http://GraniteStateHacker.kataire.com  Granite State (NH) SharePoint Users Group: http://www.granitestatesharepoint.com  Granite State (NH) Windows Phone Users Group: http://granitestatewinphone.Eventbrite.com  Yammer, Foursquare, Klout….

Hinweis der Redaktion

  1. Who Am I? Why am I here? Husband / Dad, Tech Geek from before it was cool.Big fan of all kinds of development… Started developing software when I was in grade school, portageek… loved my TI-81 / TI-89Professional career Microsoft Geek, especially… SharePoint’s the classic jack-knife in my tool kit. It does a lot, but it’s not all I do.I also get into ASP.NET / WCF / SQL / WPF / SharePoint / Win Forms / Win PhoneFirst act of public evangelism.
  2. Why I Hope You’re Here…But… if you need a “why/why not” or two…Pro’sIntegrationSupport (free tools!)It’s fun (Silverlight, Mobile Dev)Con’sWin Phone Not a common platform (Yet)
  3. Talk about why it’s helpful….
  4. Summary Slide
  5. Summary Slide
  6. Expand on each point
  7. Must do WP dev direct on iron. Emulator is effectively a VM, doesn’t run inside a VM…
  8. Begin / End, watch threading
  9. Look around the VS 2010 Cheated: using anonymous authentication.
  10. This is what OTHER platforms have to do without CSOM to authenticate with Office 365
  11. Leverage these abilities with SharePoint in mind. Use Isolated Storage to support intermittent connectivity. Consider reporting errors / logging to a SharePoint list, include ULS ID in report . Consider leveraging lists and views to support view/sorts, also consider using a list by convention for configuration settings. Windows Phone supports SSL as well as a number of common crytpo algorithms.
  12. Unit testing not supported in Express edition, of course, so you’re somewhat on your own there. I recommend taking the time to build a solution for it.WPF default templates are… minimal.App publishing experience better, but still not what I hope they may still become for Windows / WP 8.