spc adriatics 2016 - alternative approaches to solution development in office 365

22
Alternative Approaches to Solution Development in SharePoint and Office 365 MARC D ANDERSON PRESIDENT, SYMPRAXIS CONSULTING LLC

Upload: marc-anderson

Post on 07-Jan-2017

2.906 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Alternative Approaches to Solution Development in SharePoint and Office 365

MARC D ANDERSONPRESIDENT, SYMPRAXIS CONSULTING LLC

Page 2: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

SPONSORS

Page 3: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

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.

Author of SPServicesAwarded Microsoft MVP for SharePoint Server 2011-2016

Who Is Marc?

Page 4: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

We regularly hear about the importance of building Apps Add-Ins from the Microsoft folks. But in many cases, that approach is overkill. Even in enterprises, all solutions aren’t "enterprise scale".

It’s always been possible to build solid solutions or solution components using Data View Web Parts or the trusty Content Editor Web Part to hold some HTML, JavaScript, and CSS, and those are still viable approaches. With a few other more modern tricks, we can even build solutions that span many pages using a common code base.

Join me as I kick around the plusses and minuses of “sanctioned development” versus smaller, lighter-touch approaches. Feel free to bring along your own questions and challenges so that we can make it a discussion.

Based on a discussion with Scot Hillier on the ITUnity Dev Pulse

Session Overview

Page 5: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

The Middle Tier Manifesto: An Alternative Approach to Development with Microsoft SharePoint

Flying in the Cloud: New Ways to Develop for SharePoint Create a Business Solution, Step by Step, with No

Managed Code SharePoint Solutions with SPServices SharePoint Solutions with KnockoutJS Single-Page Applications (SPAs) in SharePoint Using

SPServices

Are We Talking About Something New?

There have always been alternatives;they have just become more accepted

Page 6: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

So how do we do this?

Page 7: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Use your favorite toolsChoose your favorite frameworksWrite your solutions with HTML, CSS, and JavaScript

Watch your users smile

SharePoint Development Is [Becoming] Web Development

Page 8: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

High Level Structure of Building SharePoint Solutions

Data Access / Initial Manipulation

"Document Ready"

ViewModel / Application Logic

Templates

JavaScript

HTML

Application Styling

CSS

•Has to coexist with SharePoint's CSS•Be very specific with your selectors

•Avoid hauling in SharePoint's baggage unless you need it

Page 9: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Many Data Sources SharePoint Lists and Libraries Office Microsoft Graph External data sources

Many exposed via Odata-compliant REST endpoints

Page 10: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Important Tools•Development tools – you choose

• Visual Studio (any flavor)• SharePoint Designer• WebStorm• Sublime Text• Notepad++

•Debugging tools – your browser• Chrome• Firefox with Firebug• Internet Explorer

• Testing tools…• Build tools …

Yo SharePointTypeScript

Gulp, etc.

SharePoint Framework Dashboard

Page 11: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Adding a User Custom Action allows you to load the first JavaScript file with a ScriptLink

RequireJS (or several alternatives – see system.js) allow you to bootstrap the rest of your code into the page

Because your script references are built in code, you can even do versioning

Bootstrapping

Page 12: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Isolation•Code Isolation•"Time to glass"•Pushing processing from server to client

Page 13: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Solution Artifacts•Document Library(ies)•Style Library• In the master page gallery at _catalogs/masterpage

•Can be unique to a Site Collection or stored centrally for better reuse•FaaS approach

Page 14: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Choose a Framework•Don't be caught up in the "shiny penny" syndrome•Compare your known requirements with the frameworks' capabilities•Ask yourself:•What types of solutions do we need to build?•What does our governance tell us about our deployment model?•How big is the development team?•What are our current skills?

Page 16: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Load JavaScript Conditionally• Can be driven by:• Page URL• Page content• Current user• IP address• Time of day• Presence of data in a list

Any characteristic of the current context

Page 17: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Some Better Practices• Store configuration variables in a Configuration list• Use Title for the parameter name• Second column for parameter value: Multiple lines of text• Can store strings, XML, JSON, etc. – any text-based data

constructs• Generalize wherever possible• Build a centralized set of FaaS• Use consistent namespacing

• Consider a build process• Many places you would have built a workflow can be

handled in code

Page 18: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Misconceptions•"Pure" JavaScript is better than jQuery or other libraries•Large JavaScript files clog up the network•You don't have to care about design•Meeting the requirements is enough

Page 19: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Truths•Frameworks can be hard to learn•Change is going to be rapid•Learning mindset is required

•Opens up the talent pool•Web developers may be easier to find and hire

Page 20: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

Demos

Page 21: SPC Adriatics 2016 - Alternative Approaches to Solution Development in Office 365

thank youquestions?

live ratingsSYMPMARC.COM@SYMPMARC

spca.biz/TXPH