2. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Speaker
• David Schneider
• CTO bei isolutions AG (Schweiz)
• Blog: http://www.balkongriller.ch
• Twitter: @fiddi
• E-Mail: david.schneider@isolutions.ch
• SharePointCommunity.ch
3. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Agenda
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
3
4. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Einstieg
4
Einsatz-
zweck
OOTB
Plattform
Betriebs-
szenarien
Office 365, On
Premise & Hybrid
Lehrgeld
Teure Migrationsprojekte
Eigener Code verursache viele Probleme
Nachhaltigkeit
5. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Glossar
Apps for SharePoint SharePoint Add-ins
SharePoint App Model SharePoint Add-in Model
SharePoint Hosted App SharePoint Hosted Add-in
SharePoint Provider Hosted App SharePoint Provider Hosted Add-in
Apps for Office Office Add-ins
Weitere Informationen: http://www.jeremythake.com/2015/06/office-365-app-model-rename-cheat-sheet/
6. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Wurzel allen Übels (1.)
6
Deployment Package
(WSP)
SharePoint Farm
SharePoint Server
WebPart.dll
TimerJob.dll
Hack.dll
Deployment
von Files
7. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Der neue Weg
7
Browser SharePoint Farm
SharePoint Server
Web Server
IIS oder andere
Provider Hosted
Add-in
.NET oder andere
SharePoint Hosted
Add-in
(JavaScript)
8. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Wurzel allen Übels (2.)
8
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. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Der neue Weg
9
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
10. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Supportability von Full Trust Code
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
12. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Warum doch keine Add-ins?
• Eingeschränkter Funktionsumfang: nicht jede Funktion steht
im CSOM/via REST zur Verfügung
• Anspruchsvolle Infrastruktur
• Mehraufwand für Entwicklung
• Passt nicht zu der bestehenden Lösung: Architektur, Legacy
Code
• Fehlendes Know-how
12
14. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
App-Ready (bzw. Add-in-Ready)
Wo immer möglich auf
CSOM/REST setzen
API für Search, Term
Store, etc. nur via
CSOM/REST 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
16. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Provisioning via Code
16
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
17. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
SPMeta2
• 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/
17
18. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Idee von SPMeta2
18
Model
(POCO)
SharePoint 2010
SharePoint 2013
Office 365
Server Side Object Model
(SSOM)
Client Side Object Model
(CSOM)
21. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Search API
• Content Search Web Part • CSOM oder REST Abfrage und
Daten mit JS aufbereiten
http://server/_api/search/query?querytext=MyQuery
23. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var jsFile = new ModuleFileDefinition {
FileName = "m2-app.js",
Content = Encoding.UTF8.GetBytes(" alert('Hello Wien!'); ")
};
var model = … list.AddModuleFile(jsFile);
DeployModel(model);
Ersatz um Module Files zu publizieren
Codesnippet: Hochladen eines CSS via SPMeta2
Quelle: SPMeta2
24. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$field = $web.Fields[“MyField"]
$field.JSLink = "~site/_catalogs/masterpage/myjslink.js"
Ersatz für Custom Fields
Codesnippet: Ausgabe von SharePoint Fields mit JavaScript ändern
25. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Übersicht
Weitere Informationen bei SPCAF Migration Assessment
25
• Provisioning via CSOMWeb Templates, Content Types, Lists
• Content Search Web Part, CSOM oder RESTSearch API
• CSOM oder RESTUser Profile API
• Deploy via Add-in Model, Upload über das CSOMModule File
• App StaplingFeature Stapling
• Deploy via Add-in ModelCustom Actions
• Remote Event ReceiverEvent Receiver
• Azure Web Role, SharePoint Add-in als Timer JobTimer Job
• JSLinkCustom Fields
26. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Office 365 Developer Patterns and Practices
• Getrieben von Microsoft und der Community
• Provisioning Engine
• Guideance
• viele Beispiele
• Homepage: http://dev.office.com/patterns-and-practices
• GitHub https://github.com/OfficeDev/PnP/
• Vesku http://blogs.msdn.com/b/vesku/
26
28. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
TypeScript
• 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
28
29. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Office 365 Unified API
• Identische Plattform
• Einfache Anwendung
• Leistungsfähig
• Zukunftsträchtig
• CORS Support
https://graph.microsoft.com/
USERS FILES MAIL CALENDARGROUPS
Insights and relationships from Office Graph
TASKS
31. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Solutions und Add-ins analysieren
31
Code und
Customizations
Qualität steigern
Einhaltung von Best
Pratices und Guidelines
überwachen
Risiken vorbeugen
(Supportability,
Security, etc.)
3rd Party Lösungen
analysieren
Migration Assessment
z.B. mit dem
SharePoint Code
Assessment
Framework
www.spcaf.com
32. Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
SPCAF Migration Assessment
• Analyse von Full Trust Code
• Empfehlung für die Migration zum SharePoint
Add-in Model
• Frei verfügbar unter
http://url.spcaf.com/spcafma