SharePoint 2010 for Information Architects Presentation_title SharePoint 2010 for Information Architects Markus Böhm Microsoft Schweiz GmbH markusb@microsoft.com dd/mm/yyyy, author_alias
Agenda SharePoint Architekturelemente Daten in SharePoint Dokumente Presentation_title Agenda SharePoint Architekturelemente Daten in SharePoint SharePoint Listen vs. Datenbanken Content-Typen Übergreifende Suche Dokumente dd/mm/yyyy, author_alias
SharePoint «Org chart» WebPart List Item WebPart Page List Site Site Collection Web Application Application Pool IIS
Physische Datenspeicherung List Tasks List Tasks List Tasks Site spHome Site ProductXY Site CustomerABC SiteCollection / SiteCollection /sites/products SiteCollection /sites/customers WebApplication SharePoint - 80 ApplicationPool SPPool IIS
«Informations-Inseln» List Tasks List Tasks List Tasks Site spHome Site ProductXY Site CustomerABC SiteCollection / SiteCollection /sites/products SiteCollection /sites/customers WebApplication SharePoint - 80 ApplicationPool SPPool IIS
Leistungen «zentral» zur Verfügung stellen Service Applications Leistungen «zentral» zur Verfügung stellen List Tasks List Tasks List Tasks Site spHome Site ProductXY Service Application Search Site CustomerABC SiteCollection / SiteCollection /sites/products SiteCollection /sites/customers WebApplication SharePoint - 80 WebApplication SharePoint - 80 ApplicationPool SPPool IIS
Werkzeugkasten
Information Architect - Toolset SharePoint Designer PowerShell
Von SharePoint Listen, Entity Frameworks und externen Contenttypen Daten in SharePoint Von SharePoint Listen, Entity Frameworks und externen Contenttypen
Variante 1: Datenhaltung in SharePoint Listen
Beispiel einer SharePoint Liste
Auswahl einer Ansicht
Standard SharePoint Liste
SharePoint Liste Gehört zu einer Site Erbt Security der Site, kann aber abweichen – bis hin zu Row-Level-Security Spalten mit Vielzahl an Datentypen Ordner als Strukturierungsmittel «beliebig viele» Einträge Verschiedene Ansichten um Listeneinträge zu präsentieren
Einstellungen auf Ebene WebApplication
Weitere Optimierungsmöglichkeiten Auf Ebene Liste: Auf Ebene View:
Variante 2: Entity Framework
Entity Framework in Visual Studio 2010
Gegenüberstellung (beta) SharePoint Liste Tabelle in einer Datenbank Versionierung Row-Level Security Performance Rapid Prototyping Programmierung Integration in Workflow -ing/-ed - Events (deleting, deleted, ...) «Custom» Business-Logik «the magic 5.000» Datensätze «unlimitierte» Anzahl Datensätze Rich UI (InfoPath) selbsterstellte WebParts ...
Variante 3: External Content Types
External Content Types im SharePoint Designer
Entscheidungshilfe Listen External Content Type Entity Framework ad hoc, separate Instanzen mit eigener Security External Content Type 3rd Party Daten, offline Nutzung Entity Framework Eine zentrale Liste mit vielen parallelen Transaktionen
Von Daten zu Dokumenten - InfoPath Formulare Demo
Zusammenfassung Aktiviere Feature «SharePoint Server Enterprise Site Collection features» Im Ribbon wird die Aktion «Customize Form» eingeblendet Form erstellen und publizieren
Listen wiederverwenden
Arbeiten mit Templates List Tasks Liste mit individuellen Anpassungen Site Project ABC SiteCollection / WebApplication SharePoint - 80 ApplicationPool SPPool IIS
Arbeiten mit Templates List Template myTasklist Gallery List Template List Tasks Save as Template Site TopLevelSite Site Project ABC SiteCollection / WebApplication SharePoint - 80 ApplicationPool SPPool IIS
Arbeiten mit Templates List Template myTasklist Gallery List Template List Tasks List Tasks Site TopLevelSite Site Project ABC Site Project DEF SiteCollection / Create List WebApplication SharePoint - 80 ApplicationPool SPPool IIS
Bemerkungen Galleries gibt es auch auf Ebene der Subsites – die Wiederverwendbarkeit des Templates gilt dann nur für den entsprechenden Teilbaum Achtung: Das Erstellen einer Liste aus einem Template erzeugt eine eigenständige Kopie dieser Liste. Wie kann ich bei vielen Listen die Strukturen zentral «im Griff behalten» ?
Content-Typen
Content-Typ (CT) Weitergeführt aus SharePoint 2007 Beschreibt «Struktur» und «Verhalten» einer Informationen (Policies, Workflows, ...) Listen können CT’s zugeordnet werden Es wird eine Kopie des CT erstellt Ich kann nachträgliche Änderungen an der Struktur des CT an alle betreffenden Listen weitergeben
Daten übergreifend abfragen Mit Hilfe von Content-Typen können Informationen Listen-übergreifend abgefragt werden Werkzeug: Content Query Web Part Nachteil: Einsatz nur innerhalb einer Site Collection
Content-Typen und Site Templates Demo Content-Typen und Site Templates
Neu: Site Collection übergreifende CT SiteCollection A kennt Content Type «Contract» Site Collection A übernimmt die Rolle eines Hub Der Hub stellt den CT «Contract» über die «Metadata Service Application» alle Interessierten zur Verfügung Site Collection B nimmt die Rolle eine Spoke ein Der Spoke konsumiert die Content Typen über die «Metadata Service Application» Der Content-Type «Contract» steht im Spoke als ReadOnly Version zur Verfügung! Publikation läuft über einen TimerJob – neue Content-Typen sind daher nicht unmittelbar im Spoke sichtbar! Demo
Zwischenstand Liste in einer Site speichert Daten im lokalen Context der Site Mit Hilfe von Content Typen können Informationen «Site übergreifend» abgefragt werden (CQWP) – aber nur innerhalb einer Site Collection CT Hub/Spoke hilft bei der Pflege zentraler Informationsstrukturen – die Informationssuche bleibt aber auf Site Collection eingeschränkt
Metadaten in SharePoint 2010
Metadaten Service Stellt Metadaten in Form von «Terms» zur Verfügung Hierarchisch Mehrsprachig Synonyme Listen können Spalten vom Typ «Metadaten» enthalten – diese greifen auf den zentralen Katalog zu Metadaten innerhalb der Liste können als Suchkriterium eingesetzt werden Mit Hilfe der Volltextsuche können Metadaten auch SiteCollection übergreifend gesucht werden DEMO
Dokumente
Dokumentbibliotheken «Document Libraries» sind Listen – daher gilt alles bisher gesagte auch hier Neue Features in SharePoint 2010 Document ID Eindeutige Kennzeichnung des Dokuments innerhalb einer Site Collection Document Center Speziell optimierte Dokumenten Bibliothek für grosse Dokumentvolumen Records Center «Archivierung» von Meilensteinen im Dokument-Lebenszyklus
SharePoint Object Model Remote Blob Storage SharePoint Object Model Relational Access SQL Server Content Database Config Database
SharePoint Object Model Remote Blob Storage SharePoint Object Model Relational Access SQL Server SQL RBS Client Library Provider API Provider Library X Provider Library Y Provider Library Z Content Database Config Database BLOB Store X BLOB Store Y BLOB Store Z
Speichern eines Dokuments SharePoint Web FE 7. Back to User SharePoint Object Model 2. Enforce Biz Logic 1. Save Request Relational Access SQL Server RBS Client Library 6. Save Metadata & BLOB ID 3. Save BLOB Content Database Config Database 5. Return BLOB Id BLOB Store Provider Library 4. Write BLOB BLOB Store
SharePoint Object Model BLOB Store Provider Library Lesen eines Dokuments SharePoint Web FE 7. BLOB Data to User SharePoint Object Model 2. Enforce Biz Logic 1. Open Document Relational Access SQL Server RBS Client Library 3. Get BLOB Id 4. Read BLOB Content Database Config Database 6. Return BLOB BLOB Store Provider Library 5. Read BLOB BLOB Store
Presentation_title dd/mm/yyyy, author_alias