SlideShare une entreprise Scribd logo
1  sur  21
Create a Business Solution,
Step by Step, with No
Managed Code
Christian Ståhl & Marc D Anderson
Who Is Christian?
• Senior SharePoint Consultant, Humandata.
• Web designer and Web developer since mid 90s, before art
student. Wide-ranging career in SharePoint since the early days,
consulting and training.
• Three-time awardee of the Microsoft MVP award for SharePoint
Server (2011, 2012, 2013).
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).
About this shared session
• We have collaborated and discussed different kinds of SharePoint
solutions using client coding through the years and share the same
deep passion for data view web parts and jQuery solutions in
SharePoint.
• For this SEF, we thought it would be fun to set up a typical business
problem and see how we could solve this with no managed code and
how we could tackle this from our different perspectives.
Tutorial Overview
• In this session, you will learn how you can devise
powerful solutions from beginning to end without
deploying any managed code with two of the biggest
proponents of this approach. We’ll take a business
problem and go through the actual solution in SharePoint
2013
What Are the Available Tools?
SharePoint
2010
SharePoint
2013
Cascading Stylesheets (CSS)
Extensible Stylesheet Language (XSL)
JavaScript / jQuery
Data View Web Parts (DVWPs)
Content Query Web Parts (CQWPs)
Workflows (SharePoint Designer)
Display Templates
Content Search Web Parts (CSWPs)
Cascading Stylesheets (CSS)
• Usually not seen as part of the
coder's toolset
• Modern Web development relies
on a firm understanding of CSS
• Necessary to add animations and
useful client side behaviors
• Used in tandem with scripting and
DOM manipulation
Extensible Stylesheet Language (XSL)
• Used in Data View Web Parts,
Content Query Web Parts
• Not most people's favorite data
formatting tool
• Might be considered outdated
• Moving away from XSL toward client
side rendering (jQuery, Knockout,
many more)
JavaScript / jQuery
• SharePoint has always used JavaScript
• jQuery is "supported"
• Taken Web development by storm
• Most modern Web sites rely heavily on scripting
• More and more integration with SharePoint,
especially in SharePoint 2013
Data View Web Parts (DVWPs)
• Processed on the server
• XSL-driven
• Can "join" multiple data sources
• Useful not only for displaying data, but also for building forms
• Can roll up content across the Site Collection using
DataSourceMode="CrossList"
• Much harder to work with in SharePoint 2013 (SharePoint
Designer missing Display View)
Content Query Web Parts (CQWPs)
• Processed on the server
• XSL-driven
• Long-time workhorse of Web Parts
• Enables rollup of content across the Site Collection
• Predefined formats can be extended but somewhat
cumbersome to do so
• A lot of filter options; for example on content type,
metadata and audience targeting
Workflows
• Right up front: neither of us are big fans
• Great for frequent, repetitive tasks; information work
tends to be highly exception-driven
• Often used to get around things that are seen as
SharePoint limitations
• Sometimes can use script to accomplish similar things
• Can be unreliable
Display Templates
• New in SharePoint 2013
• JavaScript-driven
• Might be the new DVWP?
• Documentation is not great
Content Search Web Parts (CSWPs)
• New in SharePoint 2013
• "Soon" available on Office365
• Display Template driven
• Depends on indexing schedule
• Continuous crawling helps, but not a
panacea
What Can’t [Shouldn't] You Do Without
Managed Code?
• Deploy files to the server’s file system
• Event Receivers
• Timer Jobs
• Elevate Permissions
• Deployment of a large number of sites or
other objects
Client Side vs. Server Side
• Contrary to some reports, client side development
is not always a good thing
• Be careful when you have large data volume,
mathematical processing, etc.
• You must know the "Lowest Common
Denominator"
Development Must Also Follow Good
Governance Practices
• Coding practices
• Deployment mechanisms
• Testing methods
• Documentation
• Training
• Maintenance planning
To our Demo
• Let’s take a look at concrete business problem.
– A employee award nomination system
– Let’s say that our goal is to find an easy way to store,
submit and report on nominations submitted by
various users – how can we do that?
Employee Award Nominations
• First thought… Maybe we can use a SharePoint list and create a submission form
using InfoPath. Exporting the list to Excel would allow the admins the necessary level
of reporting they should be looking for.
• The team’s requirements is in this example are fairly basic. Automatically populating a
few fields using user profile services is necessary but should not be any problem.
There is one requirement that held us up. If the fictive customer wants to limit how
many submissions any one user can do AND provide a current count of how many
submissions that user had made on the form.
• We could use another list with users and a count of their nominations combined with a
workflow to either add a new user to the list or add 1 to the current count for an
existing user on the list. The form would reference this secondary list to provide the
count display on the form.
• But wait: there has got to be an easier way, right?
WE LIKE SIMPLE SOLUTIONS!
Contact Information
eMail christian@humandata.se
Blog http://chrisstahl.wordpress.com
Twitter @Cstahl
LinkedIn christianstahl
eMail marc.anderson@sympraxisconsulting.com
Blog http://sympmarc.com
SPServices http://spservices.codeplex.com
SPXSLT http://spxslt.codeplex.com
Books http://sympmarc.com/books

Contenu connexe

Tendances

SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery Libraries
Mark Rackley
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentials
Mark Rackley
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web Services
Mark Rackley
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
Mark Rackley
 

Tendances (20)

Introduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPathIntroduction to StratusForms #SayNoToInfoPath
Introduction to StratusForms #SayNoToInfoPath
 
How to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePointHow to build your own Delve: combining machine learning, big data and SharePoint
How to build your own Delve: combining machine learning, big data and SharePoint
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
 
SPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery LibrariesSPTechCon Dev Days - Third Party jQuery Libraries
SPTechCon Dev Days - Third Party jQuery Libraries
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentials
 
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePointSPTechCon Boston 2015 - Utilizing jQuery in SharePoint
SPTechCon Boston 2015 - Utilizing jQuery in SharePoint
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web Services
 
SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014SharePoint & jQuery Guide - SPSNashville 2014
SharePoint & jQuery Guide - SPSNashville 2014
 
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint LimitationsSPTechCon Boston 2015 - Overcoming SharePoint Limitations
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
 
SPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuerySPTechCon DevDays - SharePoint & jQuery
SPTechCon DevDays - SharePoint & jQuery
 
SharePoint and the User Interface with JavaScript
SharePoint and the User Interface with JavaScriptSharePoint and the User Interface with JavaScript
SharePoint and the User Interface with JavaScript
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
SPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have knownSPSDenver - SharePoint & jQuery - What I wish I would have known
SPSDenver - SharePoint & jQuery - What I wish I would have known
 
SPSBE building an faq for end users
SPSBE building an faq for end usersSPSBE building an faq for end users
SPSBE building an faq for end users
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
 
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)Search-Driven Applications with SharePoint 2013 (#SBSBE16)
Search-Driven Applications with SharePoint 2013 (#SBSBE16)
 
SPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuideSPSNH 2014 - The SharePoint & jQueryGuide
SPSNH 2014 - The SharePoint & jQueryGuide
 
Using jQuery to Maximize Form Usability
Using jQuery to Maximize Form UsabilityUsing jQuery to Maximize Form Usability
Using jQuery to Maximize Form Usability
 
Clockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewClockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overview
 

Similaire à SEF2013 - Create a Business Solution, Step by Step, with No Managed Code

2010 share point saturday deck enterprise office applications
2010 share point saturday deck   enterprise office applications2010 share point saturday deck   enterprise office applications
2010 share point saturday deck enterprise office applications
Garry Stewart
 
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
Wes Preston
 
Suresh_Kumar_Mahala [10729857]
Suresh_Kumar_Mahala [10729857]Suresh_Kumar_Mahala [10729857]
Suresh_Kumar_Mahala [10729857]
sureshmahala
 

Similaire à SEF2013 - Create a Business Solution, Step by Step, with No Managed Code (20)

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
 
A Career in SharePoint
A Career in SharePointA Career in SharePoint
A Career in SharePoint
 
SharePoint 2013 Preview
SharePoint 2013 PreviewSharePoint 2013 Preview
SharePoint 2013 Preview
 
Careers in SharePoint, Office 365, Azure & Power BI
Careers in SharePoint, Office 365, Azure & Power BICareers in SharePoint, Office 365, Azure & Power BI
Careers in SharePoint, Office 365, Azure & Power BI
 
Modern SharePoint Development - A quick guide
Modern SharePoint Development - A quick guideModern SharePoint Development - A quick guide
Modern SharePoint Development - A quick guide
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
 
2010 share point saturday deck enterprise office applications
2010 share point saturday deck   enterprise office applications2010 share point saturday deck   enterprise office applications
2010 share point saturday deck enterprise office applications
 
Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013
 
Building an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope CoventryBuilding an App Forms Business Solution - Penelope Coventry
Building an App Forms Business Solution - Penelope Coventry
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Managing Governance Across the Social Landscape
Managing Governance Across the Social LandscapeManaging Governance Across the Social Landscape
Managing Governance Across the Social Landscape
 
Share point vs asp
Share point vs aspShare point vs asp
Share point vs asp
 
Webinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
Webinar: The Slippery Slope of Migrating to SharePoint Online or On-PremiseWebinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
Webinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
 
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
2013 SharePoint Fest DC - Build a SharePoint Intake/Request List
 
SharePoint 2013 Migration - Your 5 Rules for Success
SharePoint 2013 Migration  - Your 5 Rules for SuccessSharePoint 2013 Migration  - Your 5 Rules for Success
SharePoint 2013 Migration - Your 5 Rules for Success
 
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...
 
Good vs Evil SharePoint Customizing
Good vs Evil SharePoint CustomizingGood vs Evil SharePoint Customizing
Good vs Evil SharePoint Customizing
 
Suresh_Kumar_Mahala [10729857]
Suresh_Kumar_Mahala [10729857]Suresh_Kumar_Mahala [10729857]
Suresh_Kumar_Mahala [10729857]
 
Microsoft Dynamics CRM (XRM) & Microsoft Sharepoint
Microsoft Dynamics CRM (XRM) & Microsoft SharepointMicrosoft Dynamics CRM (XRM) & Microsoft Sharepoint
Microsoft Dynamics CRM (XRM) & Microsoft Sharepoint
 
Webinar: Slippery Slope of SharePoint Migrations
Webinar: Slippery Slope of SharePoint Migrations Webinar: Slippery Slope of SharePoint Migrations
Webinar: Slippery Slope of SharePoint Migrations
 

Plus de Marc D Anderson

Plus 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
 
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
 
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
 
SharePoint Tech Fest Houston 2015 - Moving from SOAP to REST
SharePoint Tech Fest Houston 2015 - Moving from SOAP to RESTSharePoint Tech Fest Houston 2015 - Moving from SOAP to REST
SharePoint Tech Fest Houston 2015 - Moving from SOAP to REST
 
SharePoint Tech Fest Houston 2015 - Creating a Great User Experience in Share...
SharePoint Tech Fest Houston 2015 - Creating a Great User Experience in Share...SharePoint Tech Fest Houston 2015 - Creating a Great User Experience in Share...
SharePoint Tech Fest Houston 2015 - Creating a Great User Experience in Share...
 

Dernier

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

SEF2013 - Create a Business Solution, Step by Step, with No Managed Code

  • 1. Create a Business Solution, Step by Step, with No Managed Code Christian Ståhl & Marc D Anderson
  • 2. Who Is Christian? • Senior SharePoint Consultant, Humandata. • Web designer and Web developer since mid 90s, before art student. Wide-ranging career in SharePoint since the early days, consulting and training. • Three-time awardee of the Microsoft MVP award for SharePoint Server (2011, 2012, 2013).
  • 3. 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).
  • 4. About this shared session • We have collaborated and discussed different kinds of SharePoint solutions using client coding through the years and share the same deep passion for data view web parts and jQuery solutions in SharePoint. • For this SEF, we thought it would be fun to set up a typical business problem and see how we could solve this with no managed code and how we could tackle this from our different perspectives.
  • 5. Tutorial Overview • In this session, you will learn how you can devise powerful solutions from beginning to end without deploying any managed code with two of the biggest proponents of this approach. We’ll take a business problem and go through the actual solution in SharePoint 2013
  • 6. What Are the Available Tools? SharePoint 2010 SharePoint 2013 Cascading Stylesheets (CSS) Extensible Stylesheet Language (XSL) JavaScript / jQuery Data View Web Parts (DVWPs) Content Query Web Parts (CQWPs) Workflows (SharePoint Designer) Display Templates Content Search Web Parts (CSWPs)
  • 7. Cascading Stylesheets (CSS) • Usually not seen as part of the coder's toolset • Modern Web development relies on a firm understanding of CSS • Necessary to add animations and useful client side behaviors • Used in tandem with scripting and DOM manipulation
  • 8. Extensible Stylesheet Language (XSL) • Used in Data View Web Parts, Content Query Web Parts • Not most people's favorite data formatting tool • Might be considered outdated • Moving away from XSL toward client side rendering (jQuery, Knockout, many more)
  • 9. JavaScript / jQuery • SharePoint has always used JavaScript • jQuery is "supported" • Taken Web development by storm • Most modern Web sites rely heavily on scripting • More and more integration with SharePoint, especially in SharePoint 2013
  • 10. Data View Web Parts (DVWPs) • Processed on the server • XSL-driven • Can "join" multiple data sources • Useful not only for displaying data, but also for building forms • Can roll up content across the Site Collection using DataSourceMode="CrossList" • Much harder to work with in SharePoint 2013 (SharePoint Designer missing Display View)
  • 11. Content Query Web Parts (CQWPs) • Processed on the server • XSL-driven • Long-time workhorse of Web Parts • Enables rollup of content across the Site Collection • Predefined formats can be extended but somewhat cumbersome to do so • A lot of filter options; for example on content type, metadata and audience targeting
  • 12. Workflows • Right up front: neither of us are big fans • Great for frequent, repetitive tasks; information work tends to be highly exception-driven • Often used to get around things that are seen as SharePoint limitations • Sometimes can use script to accomplish similar things • Can be unreliable
  • 13. Display Templates • New in SharePoint 2013 • JavaScript-driven • Might be the new DVWP? • Documentation is not great
  • 14. Content Search Web Parts (CSWPs) • New in SharePoint 2013 • "Soon" available on Office365 • Display Template driven • Depends on indexing schedule • Continuous crawling helps, but not a panacea
  • 15. What Can’t [Shouldn't] You Do Without Managed Code? • Deploy files to the server’s file system • Event Receivers • Timer Jobs • Elevate Permissions • Deployment of a large number of sites or other objects
  • 16. Client Side vs. Server Side • Contrary to some reports, client side development is not always a good thing • Be careful when you have large data volume, mathematical processing, etc. • You must know the "Lowest Common Denominator"
  • 17. Development Must Also Follow Good Governance Practices • Coding practices • Deployment mechanisms • Testing methods • Documentation • Training • Maintenance planning
  • 18. To our Demo • Let’s take a look at concrete business problem. – A employee award nomination system – Let’s say that our goal is to find an easy way to store, submit and report on nominations submitted by various users – how can we do that?
  • 19. Employee Award Nominations • First thought… Maybe we can use a SharePoint list and create a submission form using InfoPath. Exporting the list to Excel would allow the admins the necessary level of reporting they should be looking for. • The team’s requirements is in this example are fairly basic. Automatically populating a few fields using user profile services is necessary but should not be any problem. There is one requirement that held us up. If the fictive customer wants to limit how many submissions any one user can do AND provide a current count of how many submissions that user had made on the form. • We could use another list with users and a count of their nominations combined with a workflow to either add a new user to the list or add 1 to the current count for an existing user on the list. The form would reference this secondary list to provide the count display on the form. • But wait: there has got to be an easier way, right?
  • 20. WE LIKE SIMPLE SOLUTIONS!
  • 21. Contact Information eMail christian@humandata.se Blog http://chrisstahl.wordpress.com Twitter @Cstahl LinkedIn christianstahl eMail marc.anderson@sympraxisconsulting.com Blog http://sympmarc.com SPServices http://spservices.codeplex.com SPXSLT http://spxslt.codeplex.com Books http://sympmarc.com/books