project portal for sharepoint, talk at norwegian sharepoint community

29

Upload: tarjeieo

Post on 15-Jun-2015

216 views

Category:

Software


2 download

Tags:

DESCRIPTION

Project portal for SharePoint, talk at Norwegian SharePoint Community 2nd of October 2014. Speakers were Geir Graff, Ole Kristian Mørch-Storstein and Tarjei Ormestøyl. Read more about the project at GitHub: https://github.com/prosjektstotte/sp-prosjektportal

TRANSCRIPT

Page 1: Project portal for SharePoint, talk at Norwegian SharePoint Community
Page 2: Project portal for SharePoint, talk at Norwegian SharePoint Community

SharePoint Project Portal

Norwegian SharePoint Community, 02.10.2014

Page 3: Project portal for SharePoint, talk at Norwegian SharePoint Community

Who are we?• Geir Graff, Portfolio Manager for strategic projects,

P3O, Innovation strategist at Asker kommune• Tarjei E. Ormestøyl, Senior Consultant, Puzzlepart• Ole Kristian Mørch-Storstein, Senior Consultant,

Puzzlepart

Page 4: Project portal for SharePoint, talk at Norwegian SharePoint Community

Agenda• About the project• Demo• Architecture• Solution model• Deployment• Sherpa• Site creation

• Wrap up

Page 5: Project portal for SharePoint, talk at Norwegian SharePoint Community

About the Project• Asker Kommune and KommIT• Project management in SharePoint• Prosjektveiviseren (DIFI, based on PRINCE2)• Portfolio of project sites

• SharePoint Online and SharePoint 2013 (on-prem)• Low threshold / Easy to install and use• Sharing is caring Distributed freely• As out of the box as possible

Page 6: Project portal for SharePoint, talk at Norwegian SharePoint Community

DemoSharePoint Project Portal

Page 7: Project portal for SharePoint, talk at Norwegian SharePoint Community

Architecture

Page 8: Project portal for SharePoint, talk at Norwegian SharePoint Community

Decision #1: Solution modelSharePoint-hosted app?Provider-hosted app?

Sandboxed solution?

Page 9: Project portal for SharePoint, talk at Norwegian SharePoint Community

Solution model• SharePoint hosted app

• On-premises is not configured for apps by default• App-web not suitable for storing business data• Write permissions outside of host web disqualifies from app

store• Anything not configured declaratively must be configured via

JSOM

• Provider hosted app• On-premises is not configured for apps by default• Dependency on external service that must be supported • Configuring trust between on-prem environment and provider is

a complicating factor

Page 10: Project portal for SharePoint, talk at Norwegian SharePoint Community

Solution model• Sandboxed solution• Only server side code is deprecated in the sandbox!• Can be used to deploy Web Templates and other artifacts

that are declarative• Supported as default both on-premises and O365• Anything not configured declaratively must be configured

via JSOM or CSOM

Page 11: Project portal for SharePoint, talk at Norwegian SharePoint Community

Choice #1: Sandboxed solution

Page 12: Project portal for SharePoint, talk at Norwegian SharePoint Community

Decision #2: Deployment model

Configuration?

PowerShell?

CSOM?

Page 13: Project portal for SharePoint, talk at Norwegian SharePoint Community

Deployment - requirements• Requirement: Repeatable, consistent and easy deployment• Requirement: Create fields and content types

• Vesku: “FTC to CAM – Stop creating content types and site columns declaratively” (http://blogs.msdn.com/b/vesku/archive/2013/11/06/ftc-to-cam-stop-creating-content-types-and-site-columns-declaratively.aspx)

• Should be created managed with JSOM/CSOM (although other options are still valid)

• Requirement: Create taxonomy fields• Needs SspId to connect field to term store• Needs term set id to connect field to term set

• Requirement: Activate features, modify quick launch, modify property bag

Page 14: Project portal for SharePoint, talk at Norwegian SharePoint Community

Deployment – What we knew• Take away ESPC 2014: Chris O’Brien• “Developer Decisions, Tips and Tricks - Lessons Learnt from

Office 365 Projects”• Experiences from a real case

• Customer could not decide between SharePoint Online or On-premises.

• Needed to support both scenarios

• PowerShell with CSOM and Sandboxed WSPs

Page 15: Project portal for SharePoint, talk at Norwegian SharePoint Community

Deployment - What we had• CSOM support• Client Side SharePoint PowerShell @ Codeplex• Not intended for a dual deployment scenario• Didn’t cover all requirements

• PowerShell-support vastly different

Page 16: Project portal for SharePoint, talk at Norwegian SharePoint Community

Deployment – Writing CSOM• Alternative #1: Write CSOM in PowerShell• No compiling!, but• No compile time checking• Difficult to test• Poorer development experience

• Alternative #2: Write .NET libraries• Testable• Great tooling• Can be called from PowerShell

Page 17: Project portal for SharePoint, talk at Norwegian SharePoint Community

Choice #2: Managed CSOM

aka Sherpahttps://github.com/sharepoint-sherpa/

Page 18: Project portal for SharePoint, talk at Norwegian SharePoint Community

+Library Console

Application

Sherpa.Library Sherpa.Installer

In the package

Page 19: Project portal for SharePoint, talk at Norwegian SharePoint Community

Sherpa Features• Supports SPO and SP2013• Configure, deploy, maintain and export taxonomy • with known GUIDs

• Deploy and maintain fields and content types• Use content type hub if you like

• Upload (and upgrade) sandboxed solutions• Auto-configure sites• Enable features, Modify quick launch, Set properties, Create

lists, etc.

Page 20: Project portal for SharePoint, talk at Norwegian SharePoint Community

Sherpa Philosophy• Sherpa Library lets you • Create PowerShell cmdlets • Create your own UI / installer• Use Sherpa features in remote

event receivers and provided hosted apps

• Command line application is the reference implementation and can be used as-is out of the box • Included sample config showcases

features

Page 21: Project portal for SharePoint, talk at Norwegian SharePoint Community

Decision #3: Site creation

Configured in UI?

Web template?

Provider-hosted?

Page 22: Project portal for SharePoint, talk at Norwegian SharePoint Community

Site creation• Requirement: Create lookup-fields «on-the-fly»• Requirement: Copy default documents from central

repo• Requirement: Create lists and libraries• Requirement: Configure site pages• Requirement: Configure list views and list web part

views

Page 23: Project portal for SharePoint, talk at Norwegian SharePoint Community

Choice #3: Web Templates and JSOM

Page 24: Project portal for SharePoint, talk at Norwegian SharePoint Community

Web Templates and JSOM• Web template• Lists• Pages• Content type bindings• Other artefacts like CSS & JS

• JSOM setup-script• Create lookup-fields in new site• Copy documents from central repo• Add and modify views• Challenge: In client’s browser

Page 25: Project portal for SharePoint, talk at Norwegian SharePoint Community

Wrap-up

Page 26: Project portal for SharePoint, talk at Norwegian SharePoint Community

Discoveries and gotcha’s• Trial tenants are nice

• Full ‘integration test’ with each new tenant• Use for development, not test environments

• Some issues with search in SPO• Feature activation using CSOM is… interesting• Site collection features are auto-activated on sandbox activation• SharePoint rewrites URL’s in provisioned html files (bug?)• SPO != On-Premises

• Patch level• Different .js files loaded• Search

Page 27: Project portal for SharePoint, talk at Norwegian SharePoint Community

Slightly unusual challenges• Open source –really?• Sharing the good stuff• Sharing the bad stuff

• How to handle• Questions and support• Maintenance and further development• Contributions

Page 28: Project portal for SharePoint, talk at Norwegian SharePoint Community

Resources• Prosjektportal for SharePoint @ GitHub• https://github.com/prosjektstotte/sp-prosjektportal/

• SharePoint Sherpa @ GitHub • https://github.com/sharepoint-sherpa/sherpa

• Prosjektveiviseren• http://www.prosjektveiviseren.no/

• Chris O’Brien : “Developer Decisions, Tips and Tricks - Lessons Learnt from Office 365 Projects”• http://www.slideshare.net/chrisobrien/chris-o-brien-office-365-decisions-ti

ps-and-tricks-with-screenshots or http://is.gd/dev365

Page 29: Project portal for SharePoint, talk at Norwegian SharePoint Community

Questions?