SlideShare una empresa de Scribd logo
1 de 25
SharePoint Solutions
with SPServices
Marc D Anderson
Who Is Marc?
• Co-Founder and President of Sympraxis Consulting LLC,
located in the Boston suburb of Newton, MA, USA.
Sympraxis focuses on enabling collaboration throughout the
enterprise using the SharePoint application platform.
• More than 30 years of experience in technology professional services and software
development. Over a wide-ranging career in consulting as well as line manager
positions, Marc has proven himself as a problem solver and leader who can solve
difficult technology problems for organizations across a wide variety of industries
and organization sizes.
• Three-time awardee of the Microsoft MVP award for SharePoint Server
(2011, 2012, 2013).
What Is SPServices?
SPServices is a jQuery library which
abstracts SharePoint's Web Services and
makes them easier to use. It also includes
functions which use the various Web
Service operations to provide more useful
(and cool) capabilities. It works entirely
client side and requires no server install.
SharePoint's first [useful] client side object
modelTM?
Where Does SPServices Work?
Where Do I Get SPServices?
http://spservices.codeplex.com/
What Else Do I Need?
http://jquery.com
How Does It All Fit Together?
Add More Plugins
Script from CDNs
Referencing jQuery, jQueryUI, and SPServices from CDNs – Revisited
http://sympmarc.com/2013/02/07/referencing-jquery-jqueryui-and-spservices-from-cdns-revisited/
Note the protocol-less
references
What Can You Do with SPServices?
• SPServices Core
– Call SharePoint’s SOAP Web Services
– Parse the returned XML to provide page content or user
feedback
– Make changes to SharePoint objects
• Value-Added Functions
– Enhance forms
– Improve the user experience (UX)
SPServices’ Core Functions
Anatomy of an SPServices Call
$().SPServices({
operation: "operationname",
});
[webURL: "/sitepath",]
[option1: value1,]
[option2: value2,]
[async: false,]
completefunc: function (xData, Status) {
...do stuff...
}
Anatomy of an SPServices Call
using Promises
var thisPromise = $().SPServices({
operation: "operationname",
[webURL: "/sitepath",]
[option1: value1,]
[option2: value2]
});
thisPromise.done(function() {
...do stuff...
});
Promises
were added in
2013.01
(jQuery 1.5+)
How Does an SPServices Call Work?
Parsing Results: GetListItems Example
completefunc: function (xData, Status) {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
$("#tasksUL").append(liHtml);
});
}
<ul id="tasksUL"/>
Value-Added Functions
• Combining multiple Web Services calls
allows us to build cool functionality
• Big focus on form enhancements to
improve the overall user experience (UX)
• The value-added functions are useful on
their own but also can be used as
prototypes for you to build your own
functionality
SPCascadingDropdowns
• Lets you set up cascading dropdowns on SharePoint forms (think Country /
Region/ State/ City)
• Enforces hierarchical relationships between column values using the
GetListItems operation of the Lists Web Service to refresh the allowable values
based on relationships which are maintained in reference lists
• Users manage the relational content in reference lists
SPDisplayRelatedInfo
SPSetMultiSelectSizes
DEMOS
RETRIEVING SHAREPOINT LIST DATA
SharePoint 2013 SOAP Call
with SPServices
var thisPromise = $().SPServices({
operation: "GetListItems",
listName: "Cities"
});
thisPromise.done(function() {
$(thisPromise.responseXML).SPFilterNode("z:row").each(function() {
alert($(this).attr("ows_Title"));
});
});
http://spservices.codeplex.com
SOAP Web Services deprecated in SharePoint
2013
SharePoint 2013 REST Call
$.ajax({
url: "/sites/marca/jquery/_api/web/lists/getbytitle('Cities')/items",
type: "GET",
headers: {
"ACCEPT": "application/json;odata=verbose"
},
success: function(data) {
var results = data.d.results;
for(i=0; i < data.d.results.length; i++) {
alert(i + data.d.results[i].Title);
}
}
});
How to: Complete basic operations using SharePoint 2013 REST endpoints
http://msdn.microsoft.com/en-us/library/jj164022.aspx
Understanding and Using the SharePoint 2013 REST Interface
http://msdn.microsoft.com/en-us/magazine/dn198245.aspx
SharePoint 2013 JSOM Call
var siteUrl = "/sites/marca/jQuery";
var clientContext = new SP.ClientContext(siteUrl);
var oList =
clientContext.get_web().get_lists().getByTitle('Cities'
);
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query></Query></View>');
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(
Function.createDelegate(this,
this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed)
);
How to: Complete basic operations using JavaScript library code in SharePoint 2013
http://msdn.microsoft.com/en-us/library/jj163201.aspx
function onQuerySucceeded(sender, args) {
var listItemInfo = '';
var listItemEnumerator =
collListItem.getEnumerator();
while (listItemEnumerator.moveNext()) {
var oListItem = listItemEnumerator.get_current();
alert(oListItem.get_item('Title').toString());
}
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + 'n'
+ args.get_stackTrace());
}
Contact Information
eMail marc.anderson@sympraxisconsulting.com
Blog http://sympmarc.com
SPServices http://spservices.codeplex.com
SPXSLT http://spxslt.codeplex.com
Books http://sympmarc.com/books
The Middle Tier Manifesto http://bit.ly/middletier

Más contenido relacionado

Destacado

So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
Lars Jankowfsky
 
Le Progressiste n° 2122
Le Progressiste n° 2122Le Progressiste n° 2122
Le Progressiste n° 2122
guest7b6b16
 
¿Cuál es el estado actual de las tic en la educación datos para reflexionar..
¿Cuál es el estado actual de las tic en la educación  datos para reflexionar..¿Cuál es el estado actual de las tic en la educación  datos para reflexionar..
¿Cuál es el estado actual de las tic en la educación datos para reflexionar..
Juan Carlos Sánchez
 
Telos (107 Paginas)
Telos (107 Paginas)Telos (107 Paginas)
Telos (107 Paginas)
guest7655e1
 

Destacado (16)

El subrayado y las anotaciones al margen.
El subrayado y las anotaciones al margen.El subrayado y las anotaciones al margen.
El subrayado y las anotaciones al margen.
 
Present pepita
Present pepitaPresent pepita
Present pepita
 
Atelier M1 - Les 10 commandements du e-tourisme pour un directeur d’office de...
Atelier M1 - Les 10 commandements du e-tourisme pour un directeur d’office de...Atelier M1 - Les 10 commandements du e-tourisme pour un directeur d’office de...
Atelier M1 - Les 10 commandements du e-tourisme pour un directeur d’office de...
 
SEF2013 - Create a Business Solution, Step by Step, with No Managed Code
SEF2013 - Create a Business Solution, Step by Step, with No Managed CodeSEF2013 - Create a Business Solution, Step by Step, with No Managed Code
SEF2013 - Create a Business Solution, Step by Step, with No Managed Code
 
D:\Boletin Oficial-5 04 10
D:\Boletin Oficial-5 04 10D:\Boletin Oficial-5 04 10
D:\Boletin Oficial-5 04 10
 
TOITURE TERRASSE SUR SUPPORT BOIS
TOITURE TERRASSE SUR SUPPORT BOISTOITURE TERRASSE SUR SUPPORT BOIS
TOITURE TERRASSE SUR SUPPORT BOIS
 
Bloc info families curses 2015 (1)
Bloc info families curses 2015 (1)Bloc info families curses 2015 (1)
Bloc info families curses 2015 (1)
 
IMÀGENES DE MOSAICO
IMÀGENES DE MOSAICOIMÀGENES DE MOSAICO
IMÀGENES DE MOSAICO
 
Pj Retail Solutionsonline
Pj Retail SolutionsonlinePj Retail Solutionsonline
Pj Retail Solutionsonline
 
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...So gelingt der Umstieg von PHP4 auf  PHP5: Erneuerung von  Geschäftsanwendung...
So gelingt der Umstieg von PHP4 auf PHP5: Erneuerung von Geschäftsanwendung...
 
Le Progressiste n° 2122
Le Progressiste n° 2122Le Progressiste n° 2122
Le Progressiste n° 2122
 
¿Cuál es el estado actual de las tic en la educación datos para reflexionar..
¿Cuál es el estado actual de las tic en la educación  datos para reflexionar..¿Cuál es el estado actual de las tic en la educación  datos para reflexionar..
¿Cuál es el estado actual de las tic en la educación datos para reflexionar..
 
Dossier fm
Dossier fmDossier fm
Dossier fm
 
Prevención del riesgo de ictus cardioembólico
Prevención del riesgo de ictus cardioembólicoPrevención del riesgo de ictus cardioembólico
Prevención del riesgo de ictus cardioembólico
 
Telos (107 Paginas)
Telos (107 Paginas)Telos (107 Paginas)
Telos (107 Paginas)
 
Pautas para el trabajo.
Pautas para el trabajo.Pautas para el trabajo.
Pautas para el trabajo.
 

Más de Marc D Anderson

Más de Marc D Anderson (20)

SPC2019 - Managing Content Types in the Modern World
SPC2019 - Managing Content Types in the Modern WorldSPC2019 - Managing Content Types in the Modern World
SPC2019 - Managing Content Types in the Modern World
 
ECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern WorldECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern World
 
Rencontre Groupe d'usagers SharePoint Montreal - The Next Great Migration - C...
Rencontre Groupe d'usagers SharePoint Montreal - The Next Great Migration - C...Rencontre Groupe d'usagers SharePoint Montreal - The Next Great Migration - C...
Rencontre Groupe d'usagers SharePoint Montreal - The Next Great Migration - C...
 
RISPUG - Top Form - Using PowerApps to Replace List Forms
RISPUG - Top Form - Using PowerApps to Replace List FormsRISPUG - Top Form - Using PowerApps to Replace List Forms
RISPUG - Top Form - Using PowerApps to Replace List Forms
 
SPCNA 2018 - Top Form - Using PowerApps to Replace List Forms
SPCNA 2018 - Top Form - Using PowerApps to Replace List FormsSPCNA 2018 - Top Form - Using PowerApps to Replace List Forms
SPCNA 2018 - Top Form - Using PowerApps to Replace List Forms
 
SPCNA 2018 - The Next Great Migration - Classic to Modern
SPCNA 2018 - The Next Great Migration - Classic to ModernSPCNA 2018 - The Next Great Migration - Classic to Modern
SPCNA 2018 - The Next Great Migration - Classic to Modern
 
SPS New York City 2017 - The Lay of the Land of Client-Side Development circa...
SPS New York City 2017 - The Lay of the Land of Client-Side Development circa...SPS New York City 2017 - The Lay of the Land of Client-Side Development circa...
SPS New York City 2017 - The Lay of the Land of Client-Side Development circa...
 
ECS Zagreb 2017 - Content Types - Love Them or Lose It
ECS Zagreb 2017 - Content Types - Love Them or Lose ItECS Zagreb 2017 - Content Types - Love Them or Lose It
ECS Zagreb 2017 - Content Types - Love Them or Lose It
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Lions Tigers Teams - SPTechCon Austin 2017
Lions Tigers Teams - SPTechCon Austin 2017Lions Tigers Teams - SPTechCon Austin 2017
Lions Tigers Teams - SPTechCon Austin 2017
 
Oslo SP User Group - Content Types - Love Them or Lose It
Oslo SP User Group - Content Types - Love Them or Lose ItOslo SP User Group - Content Types - Love Them or Lose It
Oslo SP User Group - Content Types - Love Them or Lose It
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
 
SPTechCon Boston 2016 - Creating a Great User Experience in SharePoint
SPTechCon Boston 2016 - Creating a Great User Experience in SharePointSPTechCon Boston 2016 - Creating a Great User Experience in SharePoint
SPTechCon Boston 2016 - Creating a Great User Experience in SharePoint
 
SPTechCon Boston 2016 - Content Types - Love Them or Lose It
SPTechCon Boston 2016 - Content Types - Love Them or Lose ItSPTechCon Boston 2016 - Content Types - Love Them or Lose It
SPTechCon Boston 2016 - Content Types - Love Them or Lose It
 
SPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePointSPC Adriatics 2016 - Creating a Great User Experience in SharePoint
SPC Adriatics 2016 - Creating a Great User Experience in SharePoint
 
SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office...
SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office...SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office...
SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office...
 
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePointSharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
SharePointFest Konferenz 2016 - Creating a Great User Experience in SharePoint
 
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
SharePointFest Konferenz 2016 - Alternative Approaches to Solution Developmen...
 
SPTechCon Austin 2016 - Content Types-Love Them or Lose It
SPTechCon Austin 2016 - Content Types-Love Them or Lose ItSPTechCon Austin 2016 - Content Types-Love Them or Lose It
SPTechCon Austin 2016 - Content Types-Love Them or Lose It
 
SPTechCon Austin 2016 - Creating a Great User Experience in SharePoint
SPTechCon Austin 2016 - Creating a Great User Experience in SharePointSPTechCon Austin 2016 - Creating a Great User Experience in SharePoint
SPTechCon Austin 2016 - Creating a Great User Experience in SharePoint
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

SEF2013 - SharePoint Solutions with SPServices

  • 2. Who Is Marc? • Co-Founder and President of Sympraxis Consulting LLC, located in the Boston suburb of Newton, MA, USA. Sympraxis focuses on enabling collaboration throughout the enterprise using the SharePoint application platform. • More than 30 years of experience in technology professional services and software development. Over a wide-ranging career in consulting as well as line manager positions, Marc has proven himself as a problem solver and leader who can solve difficult technology problems for organizations across a wide variety of industries and organization sizes. • Three-time awardee of the Microsoft MVP award for SharePoint Server (2011, 2012, 2013).
  • 3. What Is SPServices? SPServices is a jQuery library which abstracts SharePoint's Web Services and makes them easier to use. It also includes functions which use the various Web Service operations to provide more useful (and cool) capabilities. It works entirely client side and requires no server install. SharePoint's first [useful] client side object modelTM?
  • 5. Where Do I Get SPServices? http://spservices.codeplex.com/
  • 6. What Else Do I Need? http://jquery.com
  • 7. How Does It All Fit Together?
  • 9. Script from CDNs Referencing jQuery, jQueryUI, and SPServices from CDNs – Revisited http://sympmarc.com/2013/02/07/referencing-jquery-jqueryui-and-spservices-from-cdns-revisited/ Note the protocol-less references
  • 10. What Can You Do with SPServices? • SPServices Core – Call SharePoint’s SOAP Web Services – Parse the returned XML to provide page content or user feedback – Make changes to SharePoint objects • Value-Added Functions – Enhance forms – Improve the user experience (UX)
  • 12. Anatomy of an SPServices Call $().SPServices({ operation: "operationname", }); [webURL: "/sitepath",] [option1: value1,] [option2: value2,] [async: false,] completefunc: function (xData, Status) { ...do stuff... }
  • 13. Anatomy of an SPServices Call using Promises var thisPromise = $().SPServices({ operation: "operationname", [webURL: "/sitepath",] [option1: value1,] [option2: value2] }); thisPromise.done(function() { ...do stuff... }); Promises were added in 2013.01 (jQuery 1.5+)
  • 14. How Does an SPServices Call Work?
  • 15. Parsing Results: GetListItems Example completefunc: function (xData, Status) { $(xData.responseXML).SPFilterNode("z:row").each(function() { var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>"; $("#tasksUL").append(liHtml); }); } <ul id="tasksUL"/>
  • 16. Value-Added Functions • Combining multiple Web Services calls allows us to build cool functionality • Big focus on form enhancements to improve the overall user experience (UX) • The value-added functions are useful on their own but also can be used as prototypes for you to build your own functionality
  • 17. SPCascadingDropdowns • Lets you set up cascading dropdowns on SharePoint forms (think Country / Region/ State/ City) • Enforces hierarchical relationships between column values using the GetListItems operation of the Lists Web Service to refresh the allowable values based on relationships which are maintained in reference lists • Users manage the relational content in reference lists
  • 20. DEMOS
  • 22. SharePoint 2013 SOAP Call with SPServices var thisPromise = $().SPServices({ operation: "GetListItems", listName: "Cities" }); thisPromise.done(function() { $(thisPromise.responseXML).SPFilterNode("z:row").each(function() { alert($(this).attr("ows_Title")); }); }); http://spservices.codeplex.com SOAP Web Services deprecated in SharePoint 2013
  • 23. SharePoint 2013 REST Call $.ajax({ url: "/sites/marca/jquery/_api/web/lists/getbytitle('Cities')/items", type: "GET", headers: { "ACCEPT": "application/json;odata=verbose" }, success: function(data) { var results = data.d.results; for(i=0; i < data.d.results.length; i++) { alert(i + data.d.results[i].Title); } } }); How to: Complete basic operations using SharePoint 2013 REST endpoints http://msdn.microsoft.com/en-us/library/jj164022.aspx Understanding and Using the SharePoint 2013 REST Interface http://msdn.microsoft.com/en-us/magazine/dn198245.aspx
  • 24. SharePoint 2013 JSOM Call var siteUrl = "/sites/marca/jQuery"; var clientContext = new SP.ClientContext(siteUrl); var oList = clientContext.get_web().get_lists().getByTitle('Cities' ); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml('<View><Query></Query></View>'); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed) ); How to: Complete basic operations using JavaScript library code in SharePoint 2013 http://msdn.microsoft.com/en-us/library/jj163201.aspx function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); alert(oListItem.get_item('Title').toString()); } } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() + 'n' + args.get_stackTrace()); }
  • 25. Contact Information eMail marc.anderson@sympraxisconsulting.com Blog http://sympmarc.com SPServices http://spservices.codeplex.com SPXSLT http://spxslt.codeplex.com Books http://sympmarc.com/books The Middle Tier Manifesto http://bit.ly/middletier