![Page 1: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/1.jpg)
![Page 2: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/2.jpg)
SharePoint Project Portal
Norwegian SharePoint Community, 02.10.2014
![Page 3: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/5.jpg)
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 7: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/7.jpg)
Architecture
![Page 8: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/8.jpg)
Decision #1: Solution modelSharePoint-hosted app?Provider-hosted app?
Sandboxed solution?
![Page 9: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/11.jpg)
Choice #1: Sandboxed solution
![Page 12: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/12.jpg)
Decision #2: Deployment model
Configuration?
PowerShell?
CSOM?
![Page 13: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/17.jpg)
Choice #2: Managed CSOM
aka Sherpahttps://github.com/sharepoint-sherpa/
![Page 18: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/18.jpg)
+Library Console
Application
Sherpa.Library Sherpa.Installer
In the package
![Page 19: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/21.jpg)
Decision #3: Site creation
Configured in UI?
Web template?
Provider-hosted?
![Page 22: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/23.jpg)
Choice #3: Web Templates and JSOM
![Page 24: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/25.jpg)
Wrap-up
![Page 26: Project portal for SharePoint, talk at Norwegian SharePoint Community](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062706/557dd8e9d8b42a992d8b4631/html5/thumbnails/29.jpg)
Questions?