Freitag, 5. Dezember 2014

InfoPath/Nintex Workflow - Repeating Table auslesen

InfoPath ermöglicht mit Hilfe des Steuerelements „Wiederholte Tabelle" (Repeating Table) das Einfügen von Datensatz-Zeilen in einem Formular. Ein einfaches Beispiel wäre eine Bestellung mit mehreren Positionen. Zu jeder Position soll die Menge und die Artikelbezeichnung angegeben werden. Eine Bestellung kann mehrere Positionen haben. Die wiederholte Tabelle ermöglicht das Einfügen von weiteren Zeilen mit den Feldern „Artikelbezeichnung" und „Menge" der einzelnen Position.

Gegeben sei ein InfoPath Formular zur Erfassung einer Bestellung. Das Formular wurde in einer Formularbibliothek im SharePoint veröffentlicht und enthält eine wiederholte Tabelle. Die Felder eines InfoPath Formulars lassen sich mit Hilfe der Property Promotion als Spalten in SharePoint anzeigen. Bei Feldern in einer wiederholten Tabelle (wiederholtes Feld) ist dies zwar möglich, allerdings stehen in der SharePoint Spalte nur die Daten der ersten Zeile der Tabelle. Mit Nintex Workflow ist es möglich, auf einzelne Zeilen einer wiederholten Tabelle zuzugreifen, um zum Beispiel aus den einzelnen Positionen in einer zweiten Liste neue Elemente anzulegen.
 
Beim Absenden des Formulars wird eine XML-Datei in der Formularbibliothek gespeichert. Diese XML-Datei kann im Nintex Workflow ausgelesen werden.
 
Zum Auslesen der XML-Datei wird die Aktion „Query XML" verwendet. In der Konfiguration der Aktion kann mittels XPath auf die Formularfelder zugegriffen und in einer Collection Variable gespeichert werden. Wir speichern die Artikelbezeichnung in der Variable „collArtikel" und die Menge in der Variable „collMenge".


In den Collection Variablen werden die Daten aller Zeilen gespeichert. Mit Hilfe einer For Each Schleife kann die Collection Variable durchlaufen, die einzelnen Datensätze (Zeilen) zusammengesetzt und ein neues Element in einer zweiten Liste erstellt werden.



In der For Each Aktion wird eine der beiden Collection Variablen angegeben und eine Output Variable festgelegt.


Wichtig an dieser Stelle ist eine Variable für den Index. Diese wird benötigt, um in einem weiteren Collection Vorgang den richtigen Datensatz für die Menge auszulesen.
 
Innerhalb der For Each Schleife muss für jedes Feld aus der wiederholten Tabelle ein Collection Vorgang platziert werden. Aus der Variable collMenge wird das Element mit dem Index „numIndex" (aktuelles Element der For Each Schleife) ausgelesen und der Wert in der Variable „Menge" gespeichert. 


Nach den Collection Vorgängen zum Auslesen des Datensatzes, kann innerhalb der For Each Schleife eine Create List Item Aktion hinzugefügt werden, um für jede Position der Bestellung in einer separaten Liste ein neues Listenelement anzulegen.

InfoPath/Nintex Workflow - Delegieren von Workflowaufgaben

Nicht selten kommt es vor, dass mit Hilfe eines Formulars Daten erfasst werden und nach Absenden des Formulars ein Nintex Workflow startet. Dieser Workflow könnte zum Beispiel die Genehmigung oder Prüfung eines Antrages darstellen. Angenommen Sie haben ein recht komplexes InfoPath Formular mit mehreren Ansichten auf denen Daten eingegeben werden müssen sowie eine Ansicht für den Prüfer des Formulars.

Im Formular wählt der Antragsteller einen Zuständigkeitsbereich aus, der für die Prüfung notwendig ist. Das Formular wird ausgefüllt, abgesendet und der Bearbeiter erhält die Benachrichtigung über eine neue Aufgabe. Er öffnet das Formular und stellt fest, dass die Bearbeitung in einen anderen Zuständigkeitsbereich fällt. Aus Sicht des Prüfers wäre es praktisch in der Prüfer-Ansicht eine andere Person oder Gruppe anzugeben und die Aufgabe zu delegieren.
 
Zur Delegierung der Workflowaufgabe wird der Nintex Workflow Webservice und die zwei Methoden „GetRunningWorkflowTasksForCurrentUser" und „DelegateTask" verwendet. Erstere wird dazu genutzt, um die entsprechende Workflowaufgabe auf dem aktuellen Dokument nachzuschlagen. Mit der „DelegateTaks" Methode wird die Aufgabe letztendlich delegiert. Beide Datenverbindungen sollen nicht beim Öffnen des Formulars automatisch abgefragt werden. Für die Aufgabendelegierung wird das Formular wie folgt aufgebaut:

 

Das Feld „File URL" (Textfeld) dient zur Angabe der URL zum Dokument, auf der der Workflow und die Workflowaufgabe liegen. In einem praktischen Anwendungsszenario kann die File URL automatisch ermittelt werden. Im Feld „Delegate to User" wird der User angegeben, dem die Task neu zugewiesen werden soll.
 
Als erstes wird die Datenverbindung zum Auslesen der aktuellen Aufgaben ID angelegt. Der Nintex Workflow Webservice kann wie folgt aufgerufen werden:

http://<sitename>/_vti_bin/nintexworkflow/workflow.asmx

Wir verwenden hier die Methode „GetRunningWorkflowTasksForCurrentUser".

Am „Query Task ID" Button erstellen wir eine Regel, die als erste Aktion die File URL aus dem Textfeld im Formular in das Query Feld „fileURL" der eben angelegten Datenverbindung schreibt. Mit der zweiten Aktion dieser Regel wird die Datenverbindung abgefragt.

 

Ein Klick auf den "Query Task ID" Button fragt, bei eingegebener File URL, alle benötigten Informationen zur Nintex Workflow Aufgabe zum dazugehörigen Element ab. Als nächstes kann die eigentliche Delegation der Aufgabe eingerichtet werden. Dazu wird zunächst die Datenverbindung benötigt, die den Nintex Workflow Webservice aufruft und diesmal die Methode „DelegateTask" verwendet.

Am „Delegate User" Button wird eine Regel angelegt, die zunächst alle benötigten Query Felder der Delegate Task Datenverbindung füllt und anschließend die Datenverbindung abfragt.


 

Der Wert für die „spTaskId" erhalten wir aus der „GetRunningWorkflowTasksForCurrentUser" Datenverbindung. Den „taskListName" und den Kommentar setzen wir in diesem Beispiel auf einen fixen Wert. Die Person, an die die Aufgabe delegiert werden soll, wird über ein Personen oder Gruppenfeld im Formular festgelegt. Mit der Checkbox „sendNotification" kann festgelegt werden, ob der neue Bearbeiter der Aufgabe eine E-Mail Benachrichtigung erhalten soll. Nach dem Setzen der Felder wird letztendlich die Datenverbindung abgefragt und die Aufgabe entsprechend delegiert.
 
Das Formular ist nun fertig eingerichtet. Im Feld File URL tragen wir einen Link zu einem Dokument mit einem laufenden Workflow inklusive einer Workflowaufgabe, die mir zugewiesen ist, ein. Mit Hilfe des „Query Task ID" Buttons erhalten wir die entsprechende Task ID der Aufgabe. Im Feld „Delegate to User" legen wir fest, wem die Aufgabe zugewiesen werden soll. Die Checkbox steuert den Versand einer E-Mail Benachrichtigung zur Delegation der Aufgabe.

Microsoft Gold Partner

Eine Profilierung als Gold Certified Partner im Microsoft Partner Programm ist der höchste Partnerstatus den Microsoft zu vergeben hat. Der Gold Status ist Auszeichnung aber zugleich auch eine jährlich wiederkehrende Herausforderung, da Microsoft hohe Anforderungen an die Vergabe dieser Auszeichnung stellt. Die Nachweise zu Qualifikation und Zertifizierung von Mitarbeitern sowie zu Praxiserfahrung sind jährlich aufs Neue zu erbringen.
Auch für das Jahr 2015 haben uns in den Microsoft Kompetenzen „Collaboration and Content“, „Application Development“ und „Midmarket Solution Provider“ wieder profiliert.
So können wir Sie auch im Jahr 2015 wieder mit aktuellstem Know-How in Ihren Projekten begleiten.

Dienstag, 7. Oktober 2014

Solutions - Seitenfunktionen (Benachrichtigen, Drucken, RSS, Weiterempfehlen, Favorit)

SharePoint ist ein sehr mächtiges System, das einen großen "Baukasten" mit nahezu unendlichen Modulen und Funktionen bereitstellt. Viele dieser Funktionen sind auch sehr sinnvoll, aber leider nicht immer direkt sichtbar und erfordern teils das "Suchen" in der Menüband (Ribbon) genannten Funktionsleiste.

In üblichen Intranet Systemen werden bestimmte Funktionen aber immer wieder von den Nutzern gewünscht, wie z.B. die Möglichkeit sich eine Benachrichtigung (via eMail) zu abonnieren, oder einen Inhalt schnell zu drucken. Für einige dieser Funktionalitäten haben wir auf Basis der langjährigen Erfahrung eine Art "Schnellzugriff" geschaffen. Wir nennen dies "Seitenfunktionen". Diesen Namen haben wir gewählt, weil diese Funktionen üblicherweise in die SharePoint Masterpage eingebunden werden (können) und damit auf allen Seiten eines Intranets oder Extranet (oder auch Internets) zur Verfügung stehen, und zwar immer an derselben Stelle.

Selbstverständlich kann sowohl die Optik der Icons als auch die Auswahl der Funktionen an Ihre Wünsche angepasst bzw. konfiguriert werden. Aktuell stellt die Lösung die folgenden Funktionen als Schnellzugriff zur Verfügung:

- Benachrichtigen (SharePointStandard Funktion um eine neue Benachrichtigung einzurichten)

- Weiterempfehlen (mailto Link mit automatischer dynamischer Definition von Betreff, Absender und Text in einer neuen eMail)

- Favoriten (Setzen eines Browserfavoriten, oder Folgen eines Inhalts in der mySite)

- Drucken (Browser Druck Dialog in optimiertem Print-Layout)

- RSS Feeds (Link auf einen bestimmten RSS Feed oder eine Sammlung von RSS Feeds)

 

 
Die "Seitenfunktionen" werden als installierbare SharePoint Solution bereitgestellt und funktionieren ab der Version SharePoint Foundation 2010.

Sollten Sie Fragen zu dieser Lösung haben stehen Ihnen unsere Berater selbstverständlich jederzeit gerne zur Verfügung.

InfoPath/Formulare - AD User Anlage (inkl. Nintex Workflow)

Neue Mitarbeiter in einem Unternehmen sind nichts Ungewöhnliches. Mit dem Eintritt eines neuen Mitarbeiters werden verschiedene Prozesse angestoßen, z.B. benötigt der Mitarbeiter einen Arbeitsplatz und einen AD Account um sich anzumelden. Dieser Prozess lässt sich mit Hilfe von Microsoft InfoPath und Nintex Workflow sehr gut elektronisch unterstützen und zum Teil automatisieren.

Die benötigten Daten zur Anlage eines AD Accounts für den neuen Mitarbeiter werden mit Hilfe eines InfoPath Formulars erfasst. Der Vorgesetzte legt ein neues Formular an und füllt die Felder bezüglich der Stammdaten entsprechend aus. Das Feld "Vorgesetzter" wird automatisch beim Öffnen des Formulars belegt.


Der IT Abteilung wird letztendlich eine Aufgabe zum Überprüfen der Daten auf Vollständigkeit zugewiesen. Sind die Daten vollständig, soll der AD User angelegt werden. Nintex Workflow stellt in der Enterprise Version eine Aktion zur Verfügung mit der direkt im AD ein User Account angelegt werden kann. Diese Aktion muss entsprechend konfiguriert werden. Im Konfigurationsmenü dieser Aktion lassen sich alle notwendigen Felder mit Informationen aus dem Formular füllen. Nach erfolgreicher Anlage werden alle Beteiligten per E-Mail benachrichtigt.
 

Tools - SharePoint Logfiles analysieren

Jeder SharePoint Administrator steht früher oder später vor dem Problem aufgrund eines Fehlers die SharePoint Logfiles analysieren zu müssen. Glücklicherweise lässt sich in SharePoint in der Zentraladministration sehr genau konfigurieren welche Events / Informationen in den Logfiles protokolliert werden, ebenso wie den Ort der Logfiles und die maximale Größe bzw. Anzahl an aufbewahrten Logfiles.

Durch die Einführung der Correlation ID mit SharPoint 2010 ist es auch erheblich einfacher geworden in den Logfiles Informationen zu einem bestimmten Fehler aufzufinden. Trotzdem beinhaltet ein Standard Logfile sehr viele Informationen die es teilweise recht aufwendig oder schwierig machen die gesuchten und relevanten Informationen für eine Fehleranalyse zu finden.

Um diese Analyse einfacher zu machen gibt es verschiedene Hilfsmittel. Als Standardwerkzeug kommt meistens der normale Editor (Notepad) von Windows zum Einsatz, allerdings auch nur deshalb weil dieser auf jedem Windows Server System bereits installiert ist. Dieser hat allerdings zwei erhebliche Nachteile: Zum einen ist die Übersichtlichkeit für den Einsatzzweck alles andere als optimal, zum anderen hat er mit großen Dateien teils erhebliche Performanceprobleme. Und groß sind die SharePoint Logfiles leider meistens.

Glücklicherweise gibt es noch etliche Alternativen, von denen wir Ihnen zwei vorstellen möchten, die wir häufig einsetzen.

Notepad++

Ein optimaler und schneller Ersatz für den Standard Editor ist Notepad++. Dieses kleine Tool kennt alle wichtigen Programmiersprachen und deren Syntaxen, ist sehr schnell und sparsam im Ressourcenverbrauch. Durch etliche Plugins kann es auch noch stark erweitert werden. Im Zusammenhang mit SharePoint Logfiles besticht es vor allem durch zwei Dinge: Die Geschwindigkeit mit der große Dateien geöffnet und bearbeitet werden können sowie die umfangreichen Suchfunktionen. Außerdem ist es gleichzeitig eine große Hilfe wenn man andere Dateien auf dem SharePoint Server analysieren muss, wie z.B. XML oder ASPX Dateien. Ein Nachteil sei hier aber auch erwähnt. Aufgrund der mächtigen und umfangreichen Funktionen ist die Menü- und Funktionsstruktur teils sehr unübersichtlich. Notepad++ ist ein OpenSource Tool und somit kostenlos erhältlich. Damit eignet es sich perfekt als Zusatztool auf den SharePoint Servern.

SharePoint Log Viewer

Der SharePoint Log Viewer ist ebenfalls ein OpenSource Projekt, in diesem Fall in der CodePlex Plattform. Es ist im Gegensatz zu Notepad++ ausschließlich für die Analyse von SharePoint Logfiles, genauer gesagt ULS Logfiles geeignet, bietet hier aber dafür umfangreiche und nützliche Filterfunktionen. Er ermöglicht das Analysieren mehrerer Logfiles gleichzeitig, die Suche und Filterung in jeder einzelnen Spalte, Exportfunktionen bis hin zum Live Monitoring inkl. automatischen eMail Benachrichtigungen bei bestimmten Fehlern. Der SharePoint Log Viewer unterstützt alle SharePoint Versionen ab 2007.

Der SharePoint Logviewer steht hier zum Download zur Verfügung:

https://sharepointlogviewer.codeplex.com/

Powershell Scripts - Alternative Sprachen (Sprachpakete) in allen Websites aktivieren

Wer SharePoint mit mehreren Sprachen betreiben möchte, weiß dass es dazu grundsätzlich zwei Möglichkeiten gibt: Die sprachenabhängige Anpassung der Oberfläche über Sprachpakete sowie die Trennung der Inhalte in verschiedene Sprachen (sogenannte Variations). Das letztere ist ein eigenständiges Thema. Wir möchten in diesem Beitrag  kurz auf ein spezielles Thema / Problem beim Einsatz von Sprachpaketen eingehen.

Sobald man zusätzliche Sprachpakete auf dem SharePoint installiert hat (übrigens, hier immer darauf achten dass man unter Umständen auch die Service Packs für die Sprachpakete installieren muss), stehen die zusätzlichen Sprachen grundsätzlich zur Verfügung.

Ein Sprachpaket ermöglicht die Umschaltung auf eine der anderen Sprachen. Dieses Umschalten stellt alle SharePoint Standard Oberflächen Funktionen auf die jeweilige Sprache um, außerdem ist es damit möglich in der jeweils aktiven Sprache die Namen von Listen, Spalten sowie Navigationselementen anzupassen.

Der Nachteil ist allerdings dass die zusätzlichen Sprachen pro Website aktiviert werden müssen, um auch genutzt werden zu können. Da hier keine Vererbung möglich ist, ist der einfachste Weg (vor allem bei bereits bestehenden Websites) die zusätzliche Sprache über ein kleines Powershell Script zu aktivieren.

Ein einfaches Powershell Script dass für alle Websites einer anzugebenden URL einfach alle installieren Sprachpakete aktiviert wäre das folgende:

# Enables SELECTED installed languages for each subsite in a site collection
 $spSite = Get-SPSite -Identity
http://DemoURL
 foreach ($spWeb in $spSite.AllWebs)
 {
   $spWeb.IsMultilingual = $true
   $WebRegionSettings = New-Object Microsoft.SharePoint.SPRegionalSettings($spWeb)
   foreach ($language in $WebRegionSettings.InstalledLanguages)
   {
        write-host -BackgroundColor Green -ForegroundColor Black "Update -" $spWeb "site with LCID:" $language.DisplayName
        $culture = New-Object System.Globalization.CultureInfo($language.LCID)
        $spWeb.AddSupportedUICulture($Culture)
   }
   $spWeb.Update()
 }


 

Dieses Script bzw. die Logik davon kann man natürlich z.B. auch mittels einem Event Receiver und dem sogenannten Feature Stappling als SharePoint Solution bereitstellen, die automatisch bei jeder neu angelegten Website die Sprachen aktiviert.

Montag, 15. September 2014

Wir beziehen unser neues Firmengebäude

Nach knapp 1-jähriger Bauzeit ist es endlich geschafft. Unser neues Firmengebäude steht und wird von uns am 27.09.2014 bezogen.

Damit schaffen wir Platz für weiteres Wachstum und können auch unseren Gästen einen angenehmen Rahmen für Besprechungen und Präsentationen bieten.

Wir begrüßen Sie gerne ab dem 29.09.2014 an unserer neuen Adresse:

Siller Portal Integrators GmbH
Pfaffenstraße 66
74078 Heilbronn
Tel.: 07131/7240-500
Fax: 07131/7240-599
contact@s-pi.de
www.s-pi.de

Die bisherigen Kontaktdaten, wie email-Adressen, Telefon- und Faxnummern bleiben bestehen.

Dienstag, 9. September 2014

Tipps/Tools - Problematik Berechtigungen in InfoPath Views in Kombination mit Pflichtfeldern

Wenn man wie z.B. bei einem Investitionsantrag/Bedarfsmeldung Formular mit InfoPath die Anforderung hat, dass bestimmte Personen/Gruppen nur Teile des Formulars sehen können, dann lässt sich das glücklicherweise bequem und einfach über die Views/Ansichten in InfoPath regeln. Diese lassen sich ja auch Benutzer/Benutzergruppenspezifisch manuell oder automatisch wechseln bzw. aufrufen.

Oftmals ist es so, dass bestimmte Felder Pflichtfelder sind, allerdings nur für bestimmte Gruppen. Wenn z.B. derjenige der eine Bedarfsmeldung genehmigt in seiner Ansicht noch zusätzliche Felder ausfüllen muss, die der Antragssteller gar nicht sehen darf. Die einfachste Lösung wäre hierbei ja das Feld einfach als Pflichtfeld zu definieren.
Leider kann das in diesem Fall allerdings nicht genutzt werden. Denn ein Feld das als Pflichtfeld definiert ist muss immer ausgefüllt werden, auch wenn es in einer Ansicht (wie z.B. beim Antragssteller) gar nicht sichtbar ist.
Für dieses Problem gibt es nur einen sinnvollen Lösungsansatz:
Eigene Validierungs-/Pflichtfeld Regel
Diese leider unter Umständen etwas aufwendige Variante basiert auf der Erstellung von eigenen Regeln für die Erkennung von Pflichtfeldern und Darstellung von entsprechenden Meldungen. Diese kann dann am einfachsten direkt auf den Speichern/Absenden Button angewendet werden. Leider ist dies natürlich unter Umständen recht aufwendig, je nachdem um wie viele Pflichtfelder und damit Validierungen es geht.

Für das gewünschte Pflichtfeld muss eine Custom Validation  mit einer Regel erstellt werden: Bedingung 1: Feld ist leer
Optional könnten für diese Regel  mit einer weiteren Bedingung z.B. Ausnahmen für bestimmte Benutzer geschaffen werden. 
Außerdem darf man das Attribut „Darf nicht leer sein" nicht setzen. Diese Custom Validation Regel muss für jedes gewünschte Pflichtfeld gesetzt werden.
 

Nintex Workflows - Display Namen aus einem Personen- oder Gruppenfeld in einer E-Mail anzeigen

Das Versenden von E-Mail Benachrichtigungen gehört zu einer der am häufigsten genutzten Aktionen in Nintex Workflows. Wer schon einmal versucht hat ein Person- oder Gruppenfeld in der Benachrichtigung zu referenzieren, den wird aufgefallen sein, dass in der E-Mail nicht der Anzeigename angezeigt wird. Stattdessen werden Personen in der Form „i:0#.w|domain\username" dargestellt. Das sieht natürlich unschön aus und ist nicht wirklich praktikabel.

Um auch in der E-Mail den Anzeigenamen anzuzeigen, gibt es mehrere Möglichkeiten. Eine Möglichkeit wäre, den Anzeigename aus dem Active Directory bzw. dem SharePoint Benutzerprofil abzufragen. In Nintex stehen hierfür folgende Aktionen zur Verfügung: Query LDAP, Query User Profile (Enterprise Version) oder Call a Webservice. Es geht aber noch einfacher:
Alles was dazu benötigt wird, ist eine „Set variable" Aktion und eine neue Variable in der die Anzeigenamen gespeichert werden. Die Variable kann vom Typ „Single line of text" sein. Satt der Variable direkt das Feld zuzuweisen (Equals Value), wird ein List Lookup verwendet.

 
 
 
Das List Lookup hat den entscheidenden Vorteil, dass neben dem ausgewählten Feld ein Button angezeigt wird, der es ermöglicht den Rückgabetyp auszuwählen. Hier wählen Sie „Display Names, Semicolon Delimited".
 
 
Jetzt kann die Workflowvariable, die die Anzeigenamen aus den Personenfeld hält, einfach in der E-Mail Benachrichtigung referenziert werden.  
 

Bildbibliotheken: Lightbox ähnliche Ansicht integrieren

Leider ist es in SharePoint nach wie vor nicht möglich eine typische Lightbox View für Bildbibliotheken darzustellen. Hierbei öffnet man ein Bild und kann dieses dann in einer Art PopUp Fenster, das den Hintergrund ausblendet, betrachten und mit Navigationselementen wie z.B. Pfeilen zum nächsten oder vorherigen Bild navigieren.

Um solch ein Verhalten in SharePoint 2010 zu erhalten, gibt es verschiedene Möglichkeiten. Entweder man setzt dazu auf den Seiten der jeweiligen Bildbibliotheken kleine jQuery Code Schnipsel ein, oder setzt auf fertige Webparts.
Einige Beispiele für die Einbindung solcher Code Schnipsel sind hier zu finden: (diese können auch in Masterpages hinterlegt werden):
http://blog.mikehacker.net/2009/06/10/sharepoint-photo-gallery-using-jquery/


Beispiele für durchaus gute und funktionsfähige günstige oder kostenlose Webparts sind hier zu finden:
http://www.codeproject.com/Articles/781797/Picture-Thumbnails-Web-Part-SharePoint

Im Falle von SharePoint 2013 gibt es noch eine andere Möglichkeit. Hier kann bereits im Standard eine Art Vorschau mit Klick auf die drei Punkte "..." geöffnet werden. Mittels einer kleinen jQuery Implementierung kann dann in exakt diesem Vorschaufenster zum nächsten oder vorherigen Bild navigiert werden. Diese Lösung wurde von uns im Rahmen eines Kundenprojektes entwickelt, kann aber bei allen Standard Bildbibliotheken eingesetzt werden.
Sollten Sie Fragen zu den Lösungen haben können wir Sie gerne unterstützen.

Nintex Workflow 2013 – Fehler beim Setzen von Berechtigungen

Nintex Workflows erlauben das Anpassen der Elementberechtigungen mit der „Set item permissions" Aktion. Mit dem neuesten Release von Nintex Workflow 2013 (v3.0.8) wurde ein Fehler im Zusammenhang mit dieser Aktion behoben. Bei früheren Versionen gab es einen Bug, der das korrekte Setzen der Elementberechtigungen verhinderte.

Die Ursache des Problems ist allerdings nicht auf den ersten Blick erkennbar, denn der Workflow stoppt nicht an der Aktion, die die Elementberechtigungen setzt, sondern erst an folgenden Aktionen bei denen Benutzer Berechtigungen auf das Element benötigen (z.B. bei einer Workflowaufgabe zur Genehmigung des Elements). In der Workflow History wird auch nur ein Fehler im Workflow aufgeführt. Das Problem liegt in diesem Fall an den Elementberechtigungen. Sämtliche Berechtigungen wurden vom Element entfernt ohne die neuen Berechtigungen zu erteilen.

Dieses Problem tritt nicht nur im Zusammenhang mit Service Pack 1 für SharePoint 2013 auf. Wir empfehlen daher das Update von Nintex Workflow auf die aktuelle Version 3.0.8. Weitere Informationen zum aktuellen Release finden Sie hier:


 

Freitag, 1. August 2014

InfoPath Formulare mit anonymen Zugriff für Internetseiten

Prinzipiell ist der anonyme Zugriff von InfoPath Formularen nur in Sonderfällen in Betracht zu ziehen, da er ein hohes Sicherheitsrisiko birgt. Daher ist diese Funktion auch von Microsoft bewusst in den Grundeinstellungen deaktiviert. Wer in SharePoint seinen Webauftritt und die InfoPath Formulare für anonyme Nutzer bereitstellen möchte, muss einiges beachten.
Folgende Schritte sind nötig:

1. In der Zentraladministration für die Internet Zone ist "Anonymous Access" zu aktivieren. Diesen Dialog findet man unter CA-> Application Management->Manage Web Applications –> <Auswahl der Webanwendung> –> Authentication Providers –> <Auswahl der Zone für anonymen Zugriff (z.B. Internet) –> "Enable anonymous access" Haken setzen


2. Stellen Sie sicher, dass für diese Zone keine Anonymous Policy "Deny" gesetzt ist


3. InfoPath Formular in einer Bibliothek veröffentlichen;
"Datei –> Veröffentlichen" und die Felder der Form-Bibliothek bestimmen.  Nach dem Upload erscheint folgende Meldung:


Wer danach das Formular mit einem angemeldeten Benutzer aufruft, kann es sofort nutzen. Sobald man nicht mehr angemeldet ist, bekommt man eine schöne Correlation-ID und im ULS Log diese Meldung:

 "The XSN is null and it´s not a cross server issue. Most likely a permission issue"


Man muss dann mit einem Trick die Berechtigung der Formular- Bibliothek anpassen:
Klick auf "Library Permissions" –> Anonymus Access
 


 Im Modul-Fenster bestimmt man mit "rechtsklick –> Eigenschaften" die URL

 


Copy the url and paste it on new tab in your browser and change the DOCLIB word with LIST like thisDiese URL kopiert man in die Adressleiste des Browsers und ersetzt DOCLIB durch List.

 

Danach ist man in der Lage die Berechtigungen für die Bibliothek zu setzten:

 

HINWEIS: Wenn Sie erneut in die Bibliothek und auf die Berechtigungen gehen, sind die Funktionen „bearbeiten", „hinzufügen" und „löschen" wieder deaktiviert und grau hinterlegt, so dass eine Bearbeitung nicht möglich ist. Wenn Sie in der URL DOCLIB durch List ersetzen, sind die zuvor von Ihnen getätigten Änderungen wieder ersichtlich.

Donnerstag, 31. Juli 2014

Managed Metadata Column per Nintex Workflow setzen


Das Aktualisieren von Spalten eines Listenelementes mit Nintex Workflow ist ziemlich einfach. Einfach die Aktion „Element aktualisieren" einfügen, die zu ändernde Spalte auswählen und einen neuen Wert eingeben. Dies funktioniert solange, bis Sie versuchen eine Managed Metadata Spalte zu aktualisieren. In diesem Beitrag zeigen wir Ihnen, wie Sie mittels Workflow eine Managed Metadata Spalte aktualisieren.
Das gezeigte Beispiel beschränkt sich auf Managed Metadata Werte die bereits in der Site Collection einmal verwendet wurden.
SharePoint führt auf Site Collection Ebene eine versteckte Liste, die alle innerhalb der Site Collection benutzten Terms aus dem Term Store speichert. Es handelt sich um die Hidden Taxonomy List, die Sie wie folgt aufrufen können:
 
 
Abbildung 1 Hidden Taxonomy List

 

Warum kann ich nicht einfach einen Wert eingeben?

Managed Metadata Felder sind anders angelegt als normale Text- oder Auswahlfelder. Beim Update einer Managed Metadata Column wird ein spezielles Format erwartet:

Int;#label|guid
Bsp.: 17;#SharePoint|9df7e24f-144d-4a84-ad89-fa308af9808f
 
Das benötigte Format setzt sich aus einer führenden ganzen Zahl (ID), der Zeichenfolge „;#" dem Termnamen (label), einem senkrechten Strich „|" und einer GUID zusammen.

Woher bekomme ich die ID bzw. die GUID?

Die ID und GUID wird aus der Hidden Taxonomy List entnommen (siehe Abbildung 1). Wobei die Spalte „IdForTerm" den Wert für die GUID und die Spalte „ID" den Wert für die ID liefert.

Aufbau des Nintex Workflows

Der Workflow zum setzten der Managed Metadata Column ist relativ einfach aufgebaut und besteht nur aus drei Aktionen:
                                            

Abbildung 2 Managed Metadata Column setzen per Nintex Workflow

1.    Taxonomy Hidden List abfragen
Als erstes wird die Taxonomy Hidden List abgefragt. Dazu muss die „Query list" Aktion wie folgt konfiguriert werden:


Abbildung 3 QAML-Query

Im Element <List ID= > müssen Sie die List ID der Taxonomy Hidden List angeben. Im <ViewFields> Element wird angegeben, welche Felder Sie auslesen möchten. Im <Where> Element geben Sie die Abfrage an. In diesem Beispiel suchen Sie nach einem Term mit dem Titel „SharePoint" (<Value> Element).
Nach dem Einfügen der CAML-Query klicken Sie einmal auf „Save" und öffnen das Konfigurationsfenster erneut. Beim erneuten Öffnen der Konfiguration erscheint ganz unten eine Feldzuordnung. Hier wird festgelegt in welchen Variablen die ID und die GUID gespeichert werden sollen.
Zum Überprüfen, ob die CAML-Query korrekt ist, kann die Anfrage über die Schaltfläche „Run Now" ausgeführt werden.


Abbildung 4 Felder auslesen

2.    String zusammensetzen
Nun setzen Sie einfach den gewünschten String zusammen und speichern ihn in einer weiteren Variable.


Abbildung 5 String zusammensetzen

3.    Listenelement aktualisieren
Im letzten Schritt kann das Listenelement aktualisiert werden. Sie schreiben den Wert der Variable „Metadata" in die Managed Metadata Column des Elements.


 

SharePoint Manager 2013


Für erfahrene SharePoint Administratoren und Entwickler gibt es verschiedene Möglichkeiten direkt auf die Eigenschaften von Websites, Listen, Spalten etc. zuzugreifen. Manche dieser Eigenschaften oder Informationen können nicht über die normale Oberfläche aufgerufen bzw. geändert werden, wie z.B. unsichtbare Spalten.

Ein Entwickler kann sich die gewünschten Informationen über die API oder die Webservices ziehen. Dazu muss allerdings immer zumindest ein kleineres Visual Studio Projekt bzw. ein kleinerer Code entwickelt werden.

Dem Administrator steht natürlich die mächtige Powershell zur Verfügung, die im Falle von SharePoint nahezu alle Möglichkeiten bietet.

Nichtsdestotrotz sind beide Möglichkeiten unter Umständen recht aufwändig, wenn man nur einmal schnell eine Kleinigkeit benötigt. Außerdem bieten beide keinen einfachen und schnellen Gesamtüberblick, sondern müssen jeweils für den aktuellen Fall angepasst werden.

Für diese Fälle existiert ein sehr mächtiges Tool in Form einer Konsolen Applikation, der SharePoint Manager. Diesen gibt es bereits seit der Version 2007 (es gibt sogar eine Version für Office365) und der Vorteil ist, dass es ein kostenloses Projekt bei Codeplex ist. Für Entwickler steht somit auf Wunsch sogar der Quellcode zur Verfügung, allerdings ist dieser eigentlich nicht notwendig.

Der SharePoint Manager (aktuell in Version 2013) ermöglicht den Zugriff auf eine lokale SharePoint Farm (Server oder Foundation), und alle darin enthaltenen Websites inkl. sämtlicher Eigenschaften (Properties) die es darin gibt. Weiterhin ermöglicht er das direkte Manipulieren der Daten, z.B. um unsichtbare Properties sichtbar zu machen.

Um auf eine SharePoint Farm zuzugreifen, ist es notwendig das er direkt auf einem der Farm Server läuft (eine Installation ist nicht notwendig). Es ist allerdings nicht möglich mit ihm per Remote auf ein SharePoint System zuzugreifen. Außerdem ist es zwingend notwendig dass er als Administrator gestartet wird.

ACHTUNG: Bitte nutzen Sie das Tool mit großer Vorsicht, vor allem wenn es darum geht vorhandene Eigenschaften zu ändern. Es existiert keinerlei Funktion um Änderungen rückgängig zu machen, und jedwede Aktion wird direkt auf der SQL Server Datenbank durchgeführt.

Der SharePoint Manager 2013 steht bei Codeplex in englischer Sprache zur Verfügung: http://spm.codeplex.com/ 

Donnerstag, 3. Juli 2014

Webcast SharePoint als Wiki von Michael Greth

Die Aufzeichnung des Webcast "SharePoint Wiki – Grundlagen, Einsatz und Erweiterung mit KwizCom WikiPlus"  ist mittlerweile verfügbar.

In diesem Webcast stellt Michael Greth, Microsoft SharePoint MVP (Most Valuable Professional), die Grundlagen von Wikis vor und zeigt, wofür Wikis geeignet sind und wo andere Tools bessere Dienste leisten.

Zum Video:
http://www.youtube.com/watch?feature=player_embedded&v=jLIfutzNptc

SharePoint 2013 App - Doc Encrypt

Schutz von vertraulichen Inhalten in Microsoft SharePoint

Microsoft SharePoint ist ein leistungsfähiges Werkzeug für die Zusammenarbeit und das Content-Management. SharePoint hat jedoch werkseitig nicht die Möglichkeit, einen hohen Datenschutz für eine starke Verschlüsselung oder einer effizienten Benutzer Rechteverwaltung eines Dokuments auf Basis von Masterdokumenten, zu gewährleisten.

Tools wie iGlobe Crypt können dabei helfen, die digital gespeicherten Daten in Microsoft SharePoint zu schützen, ohne dabei Zugänglichkeit, Kommunikation und Zusammenarbeit zu gefährden.

Grundsätzlich können mit dieser kostenlosen App für SharePoint Server 2013 Enterprise alle Dokumente einer Dokumentenbibliothek ver- und entschlüsselt werden, natürlich nur von berechtigten Personen.

Gerne unterstützen und beraten wir Sie auch bei komplexeren Ansprüchen / Vorgaben bezüglich dem Schutz Ihrer Daten.

SharePoint 2016 wird es entgegen anderslautender Gerüchte auch als on Premise geben

In einer Zeit in der Microsoft immer mehr Zeit und Arbeit in Ihre Cloud-Produkte investiert, ob das nun Office 365 oder Microsoft Azure ist, wurde oft spekuliert dass dies das Ende für die lokale on Premise Version von SharePoint ist.

Nun wurde aber von offizieller Seite bestätigt dass dies derzeit kein Thema ist. Seitens Bill Baer, Senior Product Marketingmanager von Microsoft gab es kürzlich auf der SP24 Conference diese offizielle Aussage: "Microsoft wird weiterhin die lokale on Premise Version entwickeln, solange Bedarf dafür besteht. SharePoint-2016 wird hierbei nicht die letzte sein".

Zusätzlich wurde auch noch bekanntgegeben dass die nächste Version, SharePoint 2016, bereits gegen Ende 2015 ausgeliefert wird.

Suchergebnis Benachrichtigungen in SharePoint 2013

In SharePoint Server 2010 konnte man in einem Standard und Enterprise Such Center bereits im Standard die dargestellten Suchergebnisse mit der Benachrichtigungsfunktion "abonnieren".

Diese Funktion wurde in SharePoint 2013 leider vermutlich aus Performancegründen deaktiviert, kann aber mit einigen wenigen Einstellungen in der Central Administration wieder aktiviert werden.

1.    In der Zentraladministration im Abschnitt Anwendungsverwaltung auf Dienstanwendungen verwalten.


 
2.    Klicken Sie auf der Seite Dienstanwendungen verwalten auf die Suchdienstanwendung, für die Sie Benachrichtigungen über Suchergebnisse aktivieren möchten.



 
3.    Wechseln Sie auf der Seite Suchverwaltung im Abschnitt Systemstatus zu Status der Benachrichtigungen über Suchergebnisse.



 
4.    Standardmäßig sind Benachrichtigungen über Suchergebnisse auf Ein festgelegt. Klicken Sie auf Aktivieren, um Benachrichtigungen über Suchergebnisse zu aktivieren.

 
  
 
Vor Aktivierung:



 
Nach Aktivierung:

 
 

Benachrichtigung Konfiguration: