Donnerstag, 16. Juni 2011

Document Sets und PowerShell

Seit SharePoint 201ß erfreut sich jeder SharePoint Administrator über die PowerShell. Viele Verwaltungsaufgaben lassen sich nun durch Skripts automatisieren, aber auch einmalige Konfigurationen und Lösungen lassen sich einrichten. Sehr gerne verwende ich die PowerShell zur Dokumentenmigration aus dem Filesystem oder zur Neustrukturierung. An die Grenzen der vorhanden Cmdlets bin ich bei dem neuen Feature der Dokumentenmappen gestoßen - dafür gibt es nämlich keine! Das Erzeugen oder Ändern von Dokumentenmappen ist durch die mitgelieferten Cmdlets nicht möglich. Daher findet Ihr im folgenden Skript die Möglichkeit, Dokumentenmappen mit der PowerShell über das Objektmodel von SharePoint in der PowerShell anzulegen.

  1. ### Load SharePoint SnapIn   
  2. if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null)   
  3. {   
  4.     Add-PSSnapin Microsoft.SharePoint.PowerShell   
  5. }   
  6. ### Load SharePoint Object Model   
  7. [System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)   
  8.   
  9. ### Get web and list   
  10. $web = Get-SPWeb http://myweb   
  11. $list = $web.Lists["List with Document Sets"]   
  12.   
  13. ### Get Document Set Content Type from list   
  14. $cType = $list.ContentTypes["Document Set Content Type Name"]   
  15.   
  16. ### Create Document Set Properties Hashtable   
  17. [Hashtable]$docsetProperties = @{"DocumentSetDescription"="A Document Set"}   
  18. $docsetProperties = @{"CustomColumn1"="Value 1"}   
  19. $docsetProperties = @{"CustomColum2"="Value2"}   
  20.     ### Add all your Columns for your Document Set   
  21.   
  22. ### Create new Document Set   
  23. $newDocumentSet = [Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet]::Create($list.RootFolder,"Document Set Title",$cType.Id,$docsetProperties)   
  24. $web.Dispose()  
Die Spaltenwerte der Dokumentenmappe werden durch die ab Zeile 16 erstellte Hashtable angelegt. Dabei werden die internen Spaltennamen angegeben. Wichtig ist auch, dass man den Inhaltstyp ( Content Type ) $cType aus der Sammlung der Liste auswählt und nicht aus der Sammlung des Webs. Ansonsten wird anstatt einer Dokumentenmappe nur ein neuer Ordner erstellt.
Als weite Methoden unter [Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet] steht noch folgendes zur Verfügung:
Document Set Methoden

Mehr Details zu den Methoden findet man auch in der MSDN hier . Mit diesem Handwerkszeug sollte nichts mehr zwischen der PowerShell und Dokumentenmappen stehen!

Good Luck,

Andreas

Montag, 13. Juni 2011

SharePoint - Rollen und Berechtigungen (1)

Jedes Projekt zur Einführung einer SharePoint Farm muss sich bei der Konzeption des späteren Betriebs die Frage nach Benutzerrollen und Benutzerberechtigungen stellen. Oft ist in der Vergangenheit vergessen worden, diese Frage zu thematisieren oder es ist nicht ausreichend geschehen. Die Folgen davon sind, dass die Berechtigungensvergabe von einem Administrator nicht mehr nachverfolgt werden kann oder einfache administrative Aufgaben nur unter enormen Aufwand von verschiedenen Fachbereichen wargenommen werden können. Daher möchte ich mit diesem Artikel eine Hilfestellung für jeden geben, der vor der Herausforderung steht, ein Rollen- und Berechtigungskonzept für den Betrieb eines SharePoint-Systems zu entwerfen. Grundsätzlich müssen für eine solche Konzeption drei Themen betrachtet und behandelt werden:
  1. Rollen,
  2. Authentifizierung,
  3. Autorisierung.
Da diese Themen alle zusammen die Lesbarkeit in einem Artikel sprengen würden, werde ich diese in mehreren Artikeln veröffentlichen. In diesem Artikel beginne ich mit dem Thema "Rollen".

1. Rollen
Microsoft sieht in SharePoint verschiedene administrative Rollen vor, die durch technische Beschränkungen gegenseitig abgegrenzt werden können. In folgender Darstellung sind diese Rollen gezeigt.
Rollenpyramide
Die Darstellung als Pyramide dieser Rollen kommt ganz einfach daher, dass Rollen am oberen Ende der Pyramide durch Autorisierung wesentlich mehr Konfigurationsmöglichkeiten und -Verantwortung besitzen. So ist es zum Beispiel die Rolle "Zentraladministration", welche die Rollen "Dienstanwendung" oder "Websitesammlung" erst einsetzt. Im folgenden eine kurze Beschreibung der verschiedenen Rollen:
  • Die Systemadministration verwaltet die Basisinfrastruktur der SharePoint Farm, also die Windows Server und das zugrundeliegende Datenbanksystem. Auch Systeme wie Network Load Balancing ( NLB ) oder Prozesse wie Lösungs - Deployment auf dem Produktivsystem fallen in den Aufgabenbereich der Systemadministration, da diese als lokale Administratoren auf den Systemen autorisiert sind. Diese Rolle wird in der Regel durch Mitarbeiter der IT besetzt und ist aufgrund der benötigten Fähigkeiten notwendig.
  • Die Zentraladministration verwaltet - wie es der Name der Rolle schon vermuten lässt - die Sharepoint Zentraladministration. Für diese Rolle kommen nur SharePoint - Experten in Frage. Die Fähigkeiten übersteigen die umfassenden technischen Fähigkeiten in Bezug auf SharePoint Systeme in sofern, als dass diese Rolle ebenso die mit dem SharePoint System verfolgte Vision kennen muss. Sie verantworten letztendlich maßgeblich die entstehende Struktur des Systems.
  • Die Administratoren einzelner Dienstanwendungen benötigen meist nur ein spezielles Fachwissen. Diese Rolle unterstützt die Zentraladministration bei der Verwaltung bestimmter Dienstanwendungen, die vor allem sehr viel Aufwand zur pflege verlangen als auch einen ausgeprägten, fachlichen Hintergrund. Diese Rollen müssen nicht unbedingt mit "neuen Namen" besetzt werden, doch bietet es sich häufig zur Verwaltung der Dienste Benutzerprofildienst, Suche und Verwaltete Metadaten an. Die Zentraladministration kann die entsprechende Rolle an - ausschließlich - der entsprechenden Dienstanwendung autorisieren.
  • Die Administratoren von Websitesammlungen ist die Rolle, die beim Anlegen einer neuen Websitesammlung durch die Eingabe von "primären Websitesammlungsadministrator" und "sekundärem Websitesammlungsadministrator" autorisiert werden. Diese Rolle hat Vollzugriff auf jede Website innerhalb der Sammlung und ist somit oftmal der First Level Support für einzelne Websiteadministratoren. Diese Rolle benötigt ausgeprägte Fähigkeiten zur Verwaltung von Websitesammlungen, welche theoretisch durch einen "Power User" oder "Key User" erlangt werden können. Somit muss der Aufwand dieser Rolle nicht zwangsläufig durch die interne IT abgefangen werden - jedoch erfordert diese Rolle auch oft Kenntnis und Verantwortung über IT-Richtlinien. Zum Beispiel sind Adminsitratoren von Websitesammlungen autorisiert, Features für die gesamte Sammlung zu aktivieren.
  • Die Administration einzelner Websites verursacht meist einen erheblichen Teil des Aufwandes, der zur Verwaltung eines SharePoint Portals notwendig ist. Die benötigten Fähigkeiten können einem "Power User" oder "Key User" durch Class Room Training an die Hand gegeben werden. Somit entfällt ein großer Teil des Aufwands zum Erstellen von Listen, Ansichten und Webparts auf die Fachabteilung die den "Key User". Allerdings muss bei diesem Szenario klar sein, dass die meisten dieser "Key User" IT-Richtlinien nicht beachten werden. Entweder stehen die Richtlinien im Weg oder sie werden einfach nicht verstanden. Wenn der Knopf da ist, warum soll ich ihn dann auch nicht drücken?
Die Verteilung dieser Rollen ist für die Projektplanung von großer Bedeutung, den die hier getroffenen Entscheidung sind oft von Dauer und beeinflussen die Akzeptanz und auch den Einführungsaufwand des Projekts maßgeblich! Daher stellt sich bei der Konzeption der Rollen folgende Frage:

"Welche Rollen werden zukünftig durch Key User wahrgenommen?"

Nehmen Key User die Rollen der Websitesammlungs- und Websiteadministratoren ein, schont das den Ressourceneinsatz von spezialisierten Fachkräften aus der IT. Andererseits erhöht sich der Initialaufwand des Projekts durch erhöhten Schulungsbedarf. Auch die Akzeptanz von Websites oder Dienste wie Metadaten und Suche steigt oftmals, wenn diese durch Key User und nicht durch die IT verwaltet werden. Diese Dienste leben davon, durch eine, dem Benutzer nahe, Fachabteilung beständig gepflegt zu werden.

Durch die Betrachtung der verschiedenen Rollen ist der Grundstein einer erfolgreichen SharePoint Rollen- und Berechtigungskonzeption gelegt. Folgende Themen müssen jedoch auch betrachtet und berücksichtigt werden:

Good luck,

Andreas

Mittwoch, 8. Juni 2011

Review - AvePoint Certified Expert Training

Zwei Tage in dieser Woche durfte ich das AvePoint Certified Expert Training in der AvePoint Deutschland Niederlassung in München geniesen und möchte meine gesammelten Erfahrungen mit euch teilen. In diesem Artikel möchte ich einen ersten Überblick über die Produktpalette von AvePoint geben. Doch zuerst möchte ich mich an dieser Stelle noch einmal bei dem Team von AvePoint für die zwei Tage bedanken, die sowohl vom Rahemprogramm als auch von den Inhalten besser hätten nicht sein können! Nicht zuletzt habe ich es unserem Dozenten Michael Denzler zu verdanken, dass ich mich ab jetzt offiziell
nennen darf!

Doch nun zur Zusammenfassung. Die amerikanische Firma AvePoint ( www.avepoint.de ) ist mit einer Niederlassung in Deutschland vertreten und erweitert hier Ihr Netzwerk durch starke Partner - wie eben auch mit Data One ( http://www.dataone.de/de/unternehmen/partner/Seiten/AvePoint.aspx ). Den Firmennamen kennt der ein oder andere sicherlich schon von Veranstaltungen mit SharePoint als Thema - hier ist AvePoint eigentlich immer Vertreten und oft Sponsor. AvePoint setzt mit enormen Know-How die Power von SharePoint frei, wie es uns auch der Slogan "AvePoint - Unleashing the Power of SharePoint " deutlich macht. Hierfür wurden einige interessante Produkte unter der Produktfamilie "DocAve" entwickelt, die für jeden SharePoint- Anwender einen Blick wert sind:
  • SharePoint Data Protection,
  • SharePoint Administrator
  • SharePoint Storage Optimization,
  • SharePoint Migration,
  • Sharepoint Compliance,
  • SharePoint Reporting.
Ein zentraler "DocAve Manager", momentan in der Version 5, wird dabei auf einem Server im bereitgestellt und ist über eine Browser aufrufbar, so dass er von jedem Rechner zugegriffen werden kann. Dieser DocAve Manager verbindet dann die "DocAve Agents" und läßt so den Administrator mehrere Farmen und viele Server über eine Oberfläche betreuen.
DocAve Manager v5 Beispielseite

Alle Lösungen lassen sich über diese eine Oberfläche steuern - auch wenn manche der Lösungeneigene Webparts mit sich bringen, die direkt in SharePoint verwendet werden. Doch nun zu einer kleinen Beschreibung der Lösungen!

Data Protection
Die Lösungen von Data Protection haben ganz klar ein Ziel: SharePoint sichern und wiederherstellen. Der DocAve Restore Manager aus dieser Lösungsreihe ist eines der kostenlosen AvePoint Tools und ermöglicht es, aus "Offline"-Datenbanken oder Datenbanksicherungen einzelne SharePoint Elemente oder ganze Strukturen wiederherzustellen - ein Must Have für jeden Admin! DocAve Backup and Restore hingegen versetzt einen Adminsitrator in die Lage, seine Backup-Methoden "intelligenter" zu gestalten. So können Inhalte wahlweise mit oder ohne Blobs gesichert werden, die Sicherungen über Zyklen auf andere Speichermedien transportiert oder sogar durch die so genannte Criticallity Matrix eine variable Auswahl an Elemente in einem änderten Rhythmus anhand ihrer Wichtigkeit gesichert werden.

SharePoint Administrator
Ein Traum-Tool für jeden Admin! Einfach mal herausfinden, welche Berechtigungen ein Benutzer wo hat? Berechtigungen kopieren? Mehrere Subsites gleichzeitig anlegen und verwalten - kein Problem für den DocAve SharePoint Adminstrator! Auch Replication und Content Management fällt in diese Kategorie!

Storage Optimization
Blobs und große Datenmengen machen das System langsam, die Ablage teuer und ein Datenbank-Restore wird zur Wochenendbeschäftigung. Hier hilft der kostelose DocAve Extender, der Blobs aus der SharePoint Datenbank gefiltert per EBS oder RBS auf logische Geräte auslagert - und zwar kostenlos! Mit dem DocAve Archiver kann man das ganze dann sogar zeitgesteuert durchführen!

SharePoint Migration
AvePoint kann migrieren - und zwar so ziemlich alles was Inhalte hat nach SharePoint!

SharePoint Compilance
Mit AvePoint sind zertifizierte Prozesse in SharePoint möglich! Der DocAve SharePoint Vault macht unveränderbare Snapshots vom System, der DocAve Auditor sammelt Informationen über Änderungen an Dokumenten und DocAve eDiscovery ermöglicht das Suchen und exportieren von Inhalten mit bestimmten Schlagwörtern!

SharePoint Reporting
Mit dem DocAve SharePoint Monitor und dem DocAve Report Center kennt man seinen SharePoint - das betrifft die Hardware und Verfügbarkeit der Systeme ebenso wie das Wachstum der logischen Struktur.

Natürlich eignen sich diese kleinen Anrisse von mir nicht, sich einen tieferen Einblick in die Produkte zu verschaffen, aber ich hoffe den ein oder anderen damit auf die Spur einer Lösung gesetzt zu haben! Meiner Meinung nach unterstützen diese Produkte bei den wichtigsten Problemstellungen von Sharepoint, allen voran dem Dokumentenmanagement und der Handhabung großer Datenmengen. Gerade hier werden bei der Konfiguration von SharePoint Systemen die größten Fehler in der Planung gemacht!  Auch verringern die Tools den administrativen Aufwand für SharePoint Infrastrukturen erheblich und helfen somit, Kosten einzusparen!
Mir persönlich fällt kein Grund mehr ein, warum in einer SharePoint Infrastruktur DocAve zumindest mit den kostenlosen Tools vorhanden sein sollte.

Weitere Artikel über AvePoint Tools - coming soon...

Good luck,

Andreas

Freitag, 3. Juni 2011

Nintex Live - Nintex Workflow aus der Wolke

Es ist wieder so weit - Nintex hat ein neues Spielzeug für uns! Nintex hat die Trends erkannt und uns etwas für die Wolke gebastelt - Nintex Live! Alle, die schon Nintex Workflow 2010 einsetzen, können nun verschiedene Dienste von Nintex und Partnern aus der Wolke konsumieren. Die auf Windows Azure implementierte Lösung stellt einen Katalog an Diensten bereit, die wie die schon bekannten Aktionen im Workflow Designer eingesetzt werden können. Letztendlich sind aber alle Aktionen nur Webservices, die durch die Aktion aufgerufen werden. Webservices bieten dabei Dienste an wie Statusupdates für soziale Netzwerke, Übersetzungen, Kontrolle der Flugdaten oder aber auch die Übergabe von Daten an einen Workflow in einer anderen Farm. Die folgende Darstellung verdeutlicht die hinterlegte Infrastruktur:
Da Partner den Nintex Live Katalog erweitern werden, wird es sich lohnen http://www.nintex.com/en-US/Products/Pages/NintexLive.aspx genauer anzuschauen!

Good luck,

Andreas