Bronze-Partner: Medien-Partner: Veranstalter:
New Way of Work
SharePoint Lösungen für die Zukunft
David Schneider
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:
[email protected] • SharePointCommunity.ch
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
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Einstieg
4
Einsatz-zweck
OOTBPlattform
Betriebs-szenarien
Office 365, On Premise & Hybrid
Lehrgeld
Teure MigrationsprojekteEigener Code verursache viele ProblemeNachhaltigkeit
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/
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
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)Kein Custom Code
auf SharePoint
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
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
keine Files lokal
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Supportability von Full Trust CodeVesa 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
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
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
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Provisioning via Code
16
Code (C#,
PowerShell)
Client Side Object Model
oderServer 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
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
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)
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
SPMeta2 Models
Quelle: http://docs.subpointsolutions.com/spmeta2/basics/
19
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Live Demo
SPMeta2• Sites und Web erstellen• CSOM und SSOM
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
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
User Profile API
• REST oder CSOM
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
123456789101112131415161718192021222324252627282930
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 publizierenCodesnippet: Hochladen eines CSS via SPMeta2
Quelle: SPMeta2
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
123456789101112131415161718192021222324252627282930
$field = $web.Fields[“MyField"]
$field.JSLink = "~site/_catalogs/masterpage/myjslink.js"
Ersatz für Custom FieldsCodesnippet: Ausgabe von SharePoint Fields mit JavaScript ändern
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
ÜbersichtWeitere 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
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
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
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
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
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
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Live Demo
SPCAF• Analyse• Migration Assessment
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Fragen?
Bronze-Partner: Medien-Partner: Veranstalter:
SharePoint konferenz Wien 2015 New Way of Work
Vielen Dank!Ich freue mich auf Ihr Feedback! David Schneider
[email protected]://www.balkongriller.ch
@fiddi