SHAREPOINT 2010
Eine kompakte Einführung
Jörg Krause
www.joergkrause.de
AGENDA Motivation Office als Client für SharePoint Tipps Praxis
MOTIVATION
Warum ist Office so wertvoll?
MICROSOFT SAGT:DAS IST DIE ZUKUNFT DER PRODUKTIVITÄT! Cloud / ServerÜberall verfügbar: Browser,
SmartPhone, PC
On-premise
Online
Business Intelligence
Content Managemen
tCollaboration Search
Unified Communication
s
ABER KÖNNEN IHRE TOOLS DAS LEISTEN? VBScript / VBA ActiveX Java .NET Third Party (keine Ahnung, macht Kollege XY) Tolles Produkt, leider proprietär Web Services? Ja, das planen die nächstes
Jahr
WIE DIE PRAXIS AUSSIEHT Es war einmal ein ganz normales
Unternehmen……4000 Mitarbeiter…viele gute Produkte…lange am Markt…gestandene IT-Experten
> 300 Tools, obwohl wesentliche
unternehmenskritische Applikationen
im SAP liegen
Große Unternehmen haben bis zu 8000 (!sic) Tools im Einsatz
ARBEITSUMGEBUNGAUS SICHT DER ANWENDER Überladene
Benutzeroberflächen, komplexe Produkte
Zerstreute Ablage von Mails, Dokumenten, Fax, Notizen etc.
Geringe Anpassung an Einzelarbeitsplatz
Langwierige Suche vonInformationen und Personen
Viele Insellösungen ohne Integration
Anwender ist Middleware
Office SuiteBrowser
Mailclient
Dateiablage
DBFrontend KalenderSAP
Client
OFFICE ALS CLIENT
Warum Office als Client für SharePoint so wertvoll ist
VORTEILE SHAREPOINT MIT OFFICE Für Benutzer
Konsistente Benutzeroberfläche Integration in Officeapplikationen
Für EntwicklerEinheitliche Entwicklungsplattform Interoperabilität, Basiert auf .NET
Für AdministratorenEinheitliche technische InfrastrukturEinheitliches Benutzer- und Rollenmanagement
OFFICE IST FÜR DEN ANWENDER SICHTBAR!
Aber was liegt unter der Oberfläche?
WOFÜR WIRD OFFICE HEUTE EINGESETZT?
Wieso nicht auch … zum Verwalten von Dokumenten? zum Analysieren von
Geschäftsdaten? zum Teilen von Wissen? zur Identifikation von Personen? zur Verknüpfung mit
Geschäftsprozessen?
als UI für all die „crazy“ Tools ??
Rechnen Mail
PräsentierenSchreiben
…Zusammenarbeit …Ideen …Anwendungen
• Schneller antworten
und mitarbeiten von
Überall• On- und Offline
• In allen Arbeitsumgebungen
• Professionelles
Arbeiten mit dem
kompletten Set an
Funktionen
• Darstellung und
Form optimal
• Präsentationen und Dokumente auch gemeinsam• E-Mail und PIM mit Outlook• Komplexe Arbeiten
WARUM LIEBEN WIR EIGENTLICH OFFICE?IMMER NOCH DIE BESTE UMGEBUNG FÜR…
Outlook 2010
Word 2010
Excel 2010
OFFICE ALS CLIENT – WAS HEIẞT DAS?
Weniger ist mehrWarum eigentlich immer E-Mail?PIM, hat hier einer PIM gesagt…
Der universelle Client1000 Tools oder nur ein Add-In?Dokumente, Dokumente, Dokumente…
Excel kann jederDER Client für BI, KPIs und mehrLasst ihnen ihr Spielzeug…
Und PowerPoint, OneNote, Access, …
TIPPS
Vorgehensweise
FALL I – OUTLOOK Externe Daten und Zugriff auf SharePoint-
Daten Social Connectors Und:
Synchronisiere Bibliotheken mit Outlook-OrdnernRegeln für E-Mail von / nach SharePointErfassen von Standard-Metadaten
(To, From, …)Content Types regeln Erscheinen
in Outlook Programmieren, was nicht direkt geht
FALL II – WORD Briefe, Formulare, Dokumente mit
Externen Daten via BCSSharePoint-Listen
DOCX erstellen ohne Word auf dem ServerUnterstützt die Weiterverarbeitung und
KompatibilitätEin Format, alle Möglichkeiten
Add-Ins und Aufgaben statt 1000 Tools
FALL III – EXCEL DAS BI-Tool Sind Sie oder Ihre Kunden auch eine
Excel-Company? Okay, nicht unbedingt falsch,
denn jeder kann Excel
WO ANFANGEN? Die ganze „2010“-Palette verstehen:
SharePoint Foundation + Server InfoPath und SharePoint WorkspaceWord, Excel, PowerPoint, OneNote, PublisherOutlook und ExchangeAccess, SQL ServerLync und Communicator
Office 2010 Resource Kithttp://
technet.microsoft.com/de-de/library/cc303401.aspx
VORGEHENSWEISE Bebauungsplan erstellen / Tools
analysieren Abhängigkeitsmatrix erstellen Schnittstellen ermitteln und
dokumentieren Prioritäten festlegen und Extremfälle
ermitteln Auswahl sinnvoller Tools, keine 100%
Strategie Tipps:
Prototypen entwickelnAnwender mit einbeziehenProfessionelle Softwareentwicklungstechniken!
CLIENT OBJECT MODEL
Die technische Basis für die Integration
CLIENT OBJECT MODEL
CLIENT OBJECT MODEL Oft kein „echtes“ Coding erforderlich „Nur“ JavaScript, JQuery und SP.js Auch mit eingeschränkten Rechten Nutzung von Content Editor Webparts
AGENDA Was sind die Office Services? Word Services Excel Services Visio Services
AUTOMATION AUF DEM SERVER
Open XML SDK
Inhalte bearbeiten
Word Services
Inhalte rendern
WORD SERVICES
Server-Komponente für die Erstellung von DokumentenAusgabe kann direkt in Word benutzt werdenFelder werden fotwährend aktualisiert
SKALIERBARKEITMethode Seiten/sec Dokumente/h Dokumente/d
Word Services 20-30 7.200 172.800
Word 2007 ~5-7 900 21.600
Etwa 10 Mal schneller!
2007 2010
SHAREPOINT APPLICATION SERVICES
Evolution der Dienstarchitektur
Word Services bestehen aus:Word ServicesWord Service ApplicationWord Service Proxy
Skalierbare Architektur
Service ConsumerService Consumer
Service Application
Service Instance
Service Instance
Service Instance
Service Proxy
Service Proxy
ENTWICKLER: JOBS ERZEUGEN
string serviceAppName = "Word Conversion Service Application";ConversionJobSettings settings = new ConversionJobSettings(){ OutputFormat = SaveFormat.XPS};
ConversionJob job = new ConversionJob(serviceAppName, settings);job.AddFile("http://contoso.com/documents/source.docx", "http://contoso.com/documents/destination.xps");
job.Start(); // starts asynchronous
AddFile•String•String
AddFolder•SPFolder•SPFolder•Recurse
AddList•SPList•SPList•Recurse
ENTWICKLER: JOBS ÜBERWACHEN
string serviceAppName = "Word Conversion Service Application";
foreach (GuidjobID in ConversionJobStatus.GetAllJobs(serviceAppName, null)){ ConversionJobStatus status = new ConversionJobStatus(serviceAppName, jobID, null); PrintItems("Succeeded", status.Succeeded); PrintItems("NotStarted", status.NotStarted); ....}
void PrintItems(string status, IEnumerable<ConversionItemInfo> items){ foreach (ConversionItemInfo item in items) { Console.WriteLine("{0} - {1}", status, item.Message); }}
ENTWICKLER: JOBS KONFIGURIEREN
string serviceAppName = "Word Conversion Service Application";
WordService wordService = SPFarm.Local.Services.GetValue<WordService>();
WordServiceApplication serviceApp = wordService.GetChild<WordServiceApplication>(serviceAppName);
serviceApp.MaximumConversionAttempts = 5;serviceApp.Update();
EXCEL SERVICES
EXCEL SERVICES 2007
Calculated data and charts
BrowserWeb Part
Custom Applications
Spreadsheets/Calculated data
Office SharePoint Servers with Excel Services
Excel 2007Design and author
Spreadsheets/snapshots
Call UDFs
NEU IN 2010 Weite Funktionsunterstützung
Eingebettete Bilder Sparlines PowerPivot Bedingte Formatierung
JavaScript Object model REST API Chart Web Part data provider Visio data provider
NEU IN 2010 SharePoint Integration
Excel-Sheets sind per default vertrauenswürdig, wenn nach SharePoint veröffentlicht
Spezifische Fehlermeldungen bei Datenaktualisierung
EXCEL SHAREPOINT
PRODUKTE• Excel Services
• SharePoint 2010 Service-Applikation• Zentrale Verwaltung von Excel-Sheets• Integriert mit den SharePoint BI-Funktionen
• Excel Web Access• Interaktiver Browserclient für die direkte Bearbeitung• Kann alle Teile eines Excel-Sheets darstellen• Nutzt AJAX• Web Parts zeigen Teile von Excel-Sheets an
EXCEL JAVASCRIPT OBJECT MODEL Integriert mit Excel Web Access (EWA) Schreiben / Lesen basiert auf EWA
var ewa;function initialize() { ewa = new Ewa.EwaControl("ewa"); ewa.openWorkbookAsync("http://server/mywb.xlsx", Ewa.SessionMode.View, "salesreps", onWorkbookLoaded);}
function onWorkbookLoaded(result) { if (!result.succeeded) { alert("Error"); return; } // hook up to events that we're interested in workbook = ewa.get_activeWorkbook(); ...}
EXCEL REST API Excel Daten direkt lesen: Werte in benannte Bereiche schreiben Daten in folgenden Formaten holen:
ATOMHTML Image
EXCEL REST API Ideen:
Charts in WebseitenWindows 7 Gadget mit Excel-DatenMashups auf Webseiten
EXCEL REST API
ASPX:http://example.com/_vti_bin/ExcelRest.aspx
Datei auswählen:
lib/folder/file.xlsx
Resource wählen:model/Charts('Mein Chart')
RESSOURCEN /model
Allgemeiner Zugriff auf die Ressource /Ranges('Blatt!Von|Bis'), /Ranges('Name')Bereiche
/Charts('Name')Diagramme
/Tables('Name')Tabellen
/PivotTables('Name')Pivot Tabellen
BEISPIELE
http://<Server>/_vti_bin/ExcelRest.aspx/Docs/Documents/sampleWorkbook.xlsx/
Gesamtes Arbeitsblatt:
model?$format=workbook
model?$format=html
model?$format=atom
Bereich (Format ist optional):
model/Ranges('Sheet1!A1|G5')?$format=html
Benannter Bereich:
model/Ranges('name')
Zelle laden und ändern:
model/Ranges('Sheet1!A1|G5')?Ranges('Sheet1!C3')=demo
Chart laden:
model/Charts('Chart%201')
Chart laden und Wert ändern:
model/Charts('Chart%201')?Range('Sheet1!A1')=26.5
EXCEL REST API
Einstieg:http://msdn.microsoft.com/en-us/library/ee556842(v=office.14).aspx
ACCESS SERVICES
ACCESS SERVICES
Access Datenbanken inSharePointNicht nur Access-DB in Bibliothek
Übertragung auf SharePoint Technologien:Tabellen ListenAbfragen, Reports, Formulare Web basiert
Synchronisiert Änderungen zwischen Access und SharePoint
ENTWICKLER: ACCESS SERVICES Integriert:
Entwicklung in Access ServicesUI-MakrosDaten-Makros
Nicht unterstützt:VBAAction QueriesFull UI Macros (Traditionelle Access Macros)
VISIO SERVICES
VISIO SERVICES Datengebundene Shapes Visio Viewer Web Part JavaScript Object Model
VISIO JAVASCRIPT OBJECT MODEL
Navigation Highlighting Event Handling Extracting data Overlaying images