• Plattform für SharePoint Developer, IT Professionals und Power User in der Deutschschweiz
• Offen für alle interessierten Personen (Kunden und Microsoft Partner)
• Gratis
• Events in Bern und Zürich
• Website: http://www.sharepointcommunity.ch
• Yammer: https://www.yammer.com/sharepointcommunityschweiz
• Kontakt: Roger Haueter, Patrick Mäschli und David Schneider
2
SharePoint Community Schweiz
David Schneider
@fiddi
http://www.balkongriller.ch
isolutions AG
CTO
Speaker
1. Die Wurzel allen Übels
2. Die schöne neue Welt
3. Der gangbare Mittelweg
4. Zwei mögliche Werkzeugkasten
5. Die SharePoint Developer Polizei
6. Zu guter Letzt
4
Agenda
5
Einstieg
Einsatz-zweck
OOTB
Plattform
Betriebs-szenarien
Office 365, On Premise & Hybrid
Lehrgeld
Teure Migrationsprojekte
Eigener Code verursache viele Probleme
Nachhaltigkeit
6
Wurzel allen Übels (1.)
Deployment Package
(WSP)
SharePoint Farm
SharePoint Server
WebPart.dll
TimerJob.dll
Hack.dll
Deployment
von Files
7
Der neue Weg
Browser SharePoint Farm
SharePoint Server
Web Server
IIS oder andere
Provider Hosted App
.NET oder andere
SharePoint Hosted
App
(JavaScript)
8
Wurzel allen Übels (2.)
Deployment Package
(WSP)
SharePoint Farm
Front End Server Content Database
Web Templates
Content Type
Definitions
List Templates
Sites, Lists und
Document Libraries
mit Daten
Deployment
von Files
Zwingend
notwendig
9
Der neue Weg
Deployment Lösung
SharePoint Farm
Front End Server Content Database
Sites, Lists und
Document Libraries
mit Daten
Provisioning der Sites, Lists, etc.
Ablegen von Template Files
Vesa Juvonen, Microsoft Senior Program Manager im April 2015.
«Ja, Full Trust Code (Farm Solutions) ist auch unter SharePoint 2016 weiter unterstützt.»
«Farm Solutions werden nie auf Office 365 unterstützt.»
Quelle: http://www.spcaf.com/blog/on-prem-the-cloud-or-hybrid-what-is-your-transformation-strategy/
10
Supportability von Full Trust Code
• Eingeschränkter Funktionsumfang: nicht jede Funktion steht im CSOM zur
Verfügung
• Anspruchsvolle Infrastruktur
• Mehraufwand für Entwicklung
• Passt nicht zu der bestehenden Lösung: Architektur, Legacy Code
• Fehlendes Know-how
12
Warum doch keine Apps?
Wo immer möglich auf
das CSOM setzen
API für Search, Term
Store, etc. nur via CSOM
aufrufen
Templates und Content
Types nicht als XML
sondern als Code
definieren
Client Side Code in
TypeScript
SPMeta2 oder Office
PnP nutzen
Gegebenenfalls Full
Trust Soltions für Event
Receiver, One-Button-
Web Part, Paketierung,
Deployment, etc.
14
App-Ready
Weitere Informationen bei SPCAF Migration Assessment
15
Die DOs• Provisioning via CSOMWeb Templates, Content Types, Lists
• Content Search Web Part oder CSOMSearch API
• CSOMUser Profile API
• Deploy via App Model, Upload über das CSOMTemplate File
• App StaplingFeature Stapling
• Deploy via App ModelCustom Actions
• Remote Event ReceiverEvent Receiver
• Azure Web Role, SharePoint App als Timer JobTimer Job
• JSLinkCustom Fields
17
Provisioning via Code
Code
(C#,
PowerShell)
Client Side
Object Model
oder
Server Site
Object Model
Site
Collections,
Content Types
und Lists
Erstellen sämtlicher SharePoint Artefakte über die SharePoint API
Keine Feature Definitionen mit Web Templates, Content Types, Fields, List Definitions, etc.
Volle Kontrolle beim Erstellen und bei Änderungen
• SharePoint Artefakte mittels einer .NET Library erstellen.
• Open Source, lizenziert unter der Microsoft Public License (Ms-PL)
• Kompatibel mit SharePoint 2010, SharePoint 2013 und Office 365.
• Definition des Models in Plain Old C# Object (POCO).
• Provisioning via Client Side oder Server Side Object Model.
Website: http://subpointsolutions.com/spmeta2
Dokumentation: http://docs.subpointsolutions.com/spmeta2/
18
SPMeta2
19
Idee von SPMeta2
Model
(POCO)
SharePoint 2010
SharePoint 2013
Office 365
Server Side Object
Model (SSOM)
Client Side Object Model
(CSOM)
Quelle: http://docs.subpointsolutions.com/spmeta2/basics/
20
SPMeta2 Models
• Getrieben von Microsoft
• Basierend aus dem Office App Model Sample (Codeplex)
• Guideance und viele Beispiele
• PnP Core Components
• SharePoint.Client Extension Methods
• Entities Klassen
• Enums
• Utilities
• Homepage: http://dev.office.com/patterns-and-practices
• GitHub https://github.com/OfficeDev/PnP/
• Vesku http://blogs.msdn.com/b/vesku/
21
Office 365 Developer Patterns and Practices
• 2012 von Microsoft eingeführt
• Typisierte Obermenge von JavaScript
• Kompiliert JavaScript
• Pro: SharePoint Developer programmieren lieber typisiert
• Con: Integration in Tools nicht ideal
• How To: http://www.itunity.com/article/typescript-sharepoint-2013-app-1290
22
TypeScript
24
Solutions und Apps analysieren
Code und
Customizations
Qualität steigern
Einhaltung von Best
Pratices und Guidelines
überwachen
Risiken vorbeugen
(Supportability,
Security, etc.)
3rd Party Lösungen
analysierenMigration Assessment
z.B. mit dem SharePoint
Code Assessment
Framework
www.spcaf.com
• Weniger ist mehr, erst Recht in der Cloud.
• Themes sind erlaubt
• Master Pages und Page Layouts sind mit dem Design Manager einfach erstellt
• … aber kann man sie auch upgraden?
26
Branding & Design
InfoPath lebt weiter. Wer heute InfoPath nutzt, soll es auch weiter nutzen.
“The InfoPath 2013 application remains the last version to be released and will
work with SharePoint Server 2016.”
Einzige brauchbare Alternative von Microsoft: Forms mit Apps
3rd Party: K2, Nintex, Formotus, Qdabra(Quelle: SharePoint Conference 14 SPC348)
27
Forms
28
Integration
Das App Model bietet die ideale Schnittstelle, um Apps für
verschiedene Devices zu erstellen.
• Webinars live aus Chicago (tbd)
• News von der MS Ignite: 19. Mai in Bern (isolutions)
• News von der MS Ignite: im Juni in Zürich (Ort noch unbekannt)
• SharePointCommunity.ch: 3. September in Bern (Garaio)
• SharePointCommunity.ch: 15. Oktober in Bern (isolutions)
Abonniere den Newsletter auf http://www.sharepointcommunity.ch/
Nächste Events
David Schneider, CTO
Kontakt
E-Mail [email protected]
Blog http://blog.sharepoint.ch
Telefon 031 560 88 72
Top Related