SlideShare uma empresa Scribd logo
1 de 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….

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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 клас)
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

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
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaShree Krishna Exports
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessAggregage
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth MarketingShawn Pang
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsApsara Of India
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation SlidesKeppelCorporation
 
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
 
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
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 DelhiCall Girls in Delhi
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒anilsa9823
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
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
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLSeo
 

Último (20)

Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in India
 
Sales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for SuccessSales & Marketing Alignment: How to Synergize for Success
Sales & Marketing Alignment: How to Synergize for Success
 
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
Tech Startup Growth Hacking 101  - Basics on Growth MarketingTech Startup Growth Hacking 101  - Basics on Growth Marketing
Tech Startup Growth Hacking 101 - Basics on Growth Marketing
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
 
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
Keppel Ltd. 1Q 2024 Business Update  Presentation SlidesKeppel Ltd. 1Q 2024 Business Update  Presentation Slides
Keppel Ltd. 1Q 2024 Business Update Presentation Slides
 
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.
 
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
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒VIP Call Girls In Saharaganj ( Lucknow  ) 🔝 8923113531 🔝  Cash Payment (COD) 👒
VIP Call Girls In Saharaganj ( Lucknow ) 🔝 8923113531 🔝 Cash Payment (COD) 👒
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
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...
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 

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….

Notas do Editor

  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.