SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

39
Create a Business Solution, Step by Step, with No Managed Code Marc D Anderson

description

No-code solutions were once considered unorthodox, but now are de rigueur. In this tutorial, you will learn how you can devise powerful solutions from beginning to end without deploying any managed code. We’ll take a common business problem, go through rapid design sessions, and figure out how we might build it. Next, we’ll go through an actual solution based on the requirements, and we’ll compare and contrast. Hopefully, we will hit on most of the same high points that we’ve designed into the solution together, but since we won’t know until we get there, all bets are off! We’ll do the work in SharePoint 2010 so that the solution’s usefulness will be as wide as possible. However, we’ll dip into SharePoint 2013 as well to see how the solution might work there, and discuss how we might approach things differently. Come prepared to roll up your sleeves and participate in this fluid and immersive tutorial!

Transcript of SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Page 1: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Create a Business Solution, Step by Step, with No Managed CodeMarc D Anderson

Page 2: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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.• Over 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.

• Awarded Microsoft MVP for SharePoint Server 2011-2014

Page 3: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Tutorial Overview

No-code solutions were once considered unorthodox, but now are de rigueur. In this tutorial, you will learn how you can devise powerful solutions from beginning to end without deploying any managed code. We’ll take a common business problem, go through rapid design sessions, and figure out how we might build it. Next, we’ll go through an actual solution based on the requirements, and we’ll compare and contrast. Hopefully, we will hit on most of the same high points that we’ve designed into the solution together, but since we won’t know until we get there, all bets are off!

We’ll do the work in SharePoint 2010 so that the solution’s usefulness will be as wide as possible. However, we’ll dip into SharePoint 2013 as well to see how the solution might work there, and discuss how we might approach things differently. Come prepared to roll up your sleeves and participate in this fluid and immersive tutorial!

Page 4: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Agenda

Create a Business Solution, Step by Step, with No Managed

Code 9:00 – 12:15

Welcome 9:00-9:10

Intro to Tools 9:10-9:30

The Challenge 9:30-9:45

Breakout Groups 9:45-10:15

Break 10:15-10:30

Report Back 10:30-11:15

Marc's Solution 11:15-11:45

What about SharePoint 2013? 11:45-12:10

Wrap Up 12:10-12:15

Page 5: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Why Might You Not Use Managed Code?

Office365 Locked down security policies Onerous software development lifecycles

Lack of IT resources or skills mismatch

Rapid prototypingCreate a Business Solution with No Managed Code

Page 6: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Who Might Choose This Approach? Power Users “Citizen” Developers Departmental Developers Business Analysts “Real” Developers

You?

Page 7: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

What Tools Do We Have to Work With?

2007 2010 2013

Cascading Stylesheets (CSS)

Extensible Stylesheet Language (XSL)

JavaScript / jQuery

Data View Web Parts (DVWPs)

Content Query Web Parts (CQWPs)

Workflows (SharePoint Designer)

Development Frameworks

Display Templates

Content Search Web Parts (CQWPs)

Page 8: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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

Page 9: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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 "legacy"

Moving away from XSL toward client side rendering (jQuery, KnockoutJS, many more)

Page 10: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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 (more later)

Page 11: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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)

Page 12: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Content Query Web Parts (CQWPs) Processed on the server XSL-driven Long-time workhorse of Web

Parts Enterprise CALs only Enables rollup of content

across the Site Collection Predefined formats can be

extended but somewhat cumbersome to do so

Page 13: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Workflows

Right up front: Not a big fan Great for frequent, repetitive tasks Often used to get around things that are

seen as SharePoint limitations Sometimes can use script to accomplish

similar things Can be unreliable Information work tends to be highly

exception-driven

Page 14: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Development Frameworks

We’re used to thinking of .NET as the development framework for SharePoint

SharePoint is a Web application and Web Development tools abound

The SharePoint world is behind what others have been doing

New JavaScript frameworks can make building applications easier

New learning curves

Page 15: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Display Templates

New in SharePoint 2013 JavaScript and HTML driven Might be the new DVWP? Documentation is not great, but improving

Page 16: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Content Search Web Parts (CSWPs) New in SharePoint 2013 Display Template driven

Depends on indexing schedule

Continuous crawling helps, but not a panacea

Page 17: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Caveats and Common Sense

Page 18: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

What Can’t [Shouldn't] You Try to 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, lists, or other objects

Page 19: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

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"

Page 20: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Development Must also Follow Good Governance Practices

Coding practices Deployment mechanisms Testing methods Documentation Training Maintenance planning

Page 21: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Questions?

Page 22: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

The Challenge

Page 23: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Employee Award Nominations

Submit, store, and report on nominations submitted by users

Limit how many submissions any one user can make

Provide a current count of how many submissions the user has made on the form

Support future nomination periods

Page 24: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Breakout Groups

Page 25: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Breakout Group Goals

Broad brush approaches Don’t try to solve everything Focus on what you might do differently than with other

approaches you have used in the past

Gather questions What can't you figure out? What do you think you can't accomplish and why? What type of skills would be important if you were to build

this?

Secret Sauce Come up with something that will capture your audience

Report back

Page 26: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Report Back

Page 27: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Questions?

Page 28: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Marc's Solution

Page 29: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Secret Sauce Ideas

Display a visual representation of the current nominations

Automatically populate a few fields using user profile services

Disallow self-nomination Alert the person’s manager when they are nominated

Upgrade the Ferrari (color, HP, length of loan) based on the number of votes

Page 30: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

What about SharePoint 2013 and/or Office365?

Page 31: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

What about SharePoint 2013?

New app model Much more client side focused

Improved REST services SharePoint Designer 2013

BUT: A lot of things work the same!

Page 32: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Demo

Page 33: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Bonus Demo

(If we have time)

Page 35: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Demo Screenshots

Page 36: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Home Page – SharePoint 2010

Page 37: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

New Item Page – SharePoint 2010

Page 38: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

Home Page – SharePoint 2013

Page 39: SPTechCon SFO 2014 - Create a Business Solution, Step by Step, with No Managed Code

New Item Page – SharePoint 2013