Deep-dive building SharePoint
Framework solutions
Waldek Mastykarz & Albert-Jan Schot
Demo
Development
environment
Team development considerations
New toolchain
Organizational considerations
Governance plan
Anatomy of a SharePoint Framework solution
Standardize
client-side
libraries
If you are a customer
Development
practices
If you are a developer/architect
Recap
1. Always use lock file
2. Don’t bundle external libraries
3. Validate properties values before using
4. Beware of PropertyPaneTextField with numeric properties
5. Define development governance plan
6. Define governance plan for your customer/organization
Next steps
1. Get started: aka.ms/spfx-dev-env
2. SPFx documentation & guidance: aka.ms/spfx
3. Share your feedback: aka.ms/spfx-issues
Office Development MVP
https://blog.mastykarz.nl
@waldekm
https://rencore.com
Office Servers & Services MVP
https://sharepointappie.nl
@appieschot
https://mavention.nl
Thanks for attending
SPSNL17 - Deep-dive building SharePoint Framework solutions - Albert-Jan Schot & Waldek Mastykarz

SPSNL17 - Deep-dive building SharePoint Framework solutions - Albert-Jan Schot & Waldek Mastykarz

Editor's Notes

  • #4 + npm shrinkwrap/lock files + bundling externe libraries + validating properties + disable reactive mode + PropertyPaneTextField vs. nummers
  • #5 Development environment Host VM Docker Local Yeoman installation Development workflow New project Npm shrinkwrap Add to source control Get from source control Npm install Working with internal packages Private registry as a service Own private registry (non-trivial) Npm link Ensure consistency and quality Standardize JavaScript library Coding standards, ie. Angular style guide Linting Automated testing Code analysis
  • #7 Manifest deployed to SharePoint AppCatalog by Tenant Admin Code can be hosted in SharePoint or external and loaded into page Code executes under the context of the current user (full trust)
  • #8 Standardize client-side libraries usage Define a policy on using external scripts Standardize hosting location for SPFx solutions Communicate preconditions to project teams upfront Make explicit agreement with ISVs Can the solution be updated without your knowledge What is the SLA Where is the code hosted? Where is the data stored? How is the security enforced? Verify that solutions meet your requirements
  • #9 Agree on preconditions upfront Guide customer if they don’t have a governance plan in place Develop good practices for your organization/team How do you test solutions? Locally QA UAT How do you release solutions? Where are they deployed to? Who governs them? What’s the SLA?