Samstag, 9. März 2013

Timeout bei Nintex Workflow 2010

Bei sehr großen Nintex Workflows oder auch beim Aufrufen von Webservices, die eine sehr zeitaufwendigen Prozess ausführen, kann es bei Nintex Workflow zu Timeouts kommen, so dass der Workflow zwar erfolgreich durchläuft, jedoch dem Benutzer als Fehlerhaft angezeigt wird. Hierdurch wird zusätzlich auch immer eine E-Mail an den Initiator gesendet und der Status in der Liste oder Bibliothek auf fehlerhaft gesetzt.

Um diesen Fehler zu beheben kann in der Web.config Datei der Standard-Workflow-Timout-Wert erhöht werden. Falls dieses Wert noch nicht in der web.config Datei gesetzt ist, kann dieser manuell hinzugefügt werden. Hierzu muss am Ende der Sektion “Configuration” die Sektion “System.Transactions”  hinzugefügt werden. Bitte prüfen Sie vor dem Editieren der web.config Datei, ob diese auch im IIS als Konfigurationsdatei verwendet wird (Stanardkonfiguration ist natürlich die Verwendung der web.config Datei).

1. Öffne die web.config Datei der verwendeten WebApplication
2. Finden oder Erstellen Sie die “System.Transactions”-Sektion und setzen Sie den Wert von “defaultSettings timeout” auf den gewünschten Wert (hier 30 Minuten)

<configuration>
<system.transactions>
<defaultSettings timeout="00:30:00" />
</system.transactions>
</configuration>

3. Führen Sie einen IISReset auf allen Servern aus.

Eine detailierte Beschreibung finden Sie bei Mircosoft Technet:
http://technet.microsoft.com/en-us/library/cc678870.aspx

Keine oder zu wenige Mitgliedschaften in der MySite?

Es werden keine oder zu wenige Mitgliedschaften in der Mysite auf der Profilseite unter dem Reiter “Mitgliedschaften” angezeigt, obwohl der Benutzer auf mehreren Seiten berechtigt ist?

image

In SharePoint 2010, wie auch in SharePoint 2013, werden beim Anlegen einer Seite drei Standardgruppen erstellt (Besitzer, Mitglieder, Besucher). Die Gruppe Mitglieder ist im Standard als “Mitgliedschaften”-Gruppe gesetzt. Alle Benutzer, die in diese Gruppe hinzugefügt werden, haben auf der Profilseite in der MySite einen Eintrag in Mitgliedschaften.

Wurde die Gruppe Mitglieder gelöscht oder der Benutzer nur in die Gruppen Besitzer oder Besucher eingetragen, so werden diese Seiten nicht in der Profilseite angezeigt.

Besonders bei Projekt- und Abteilungsseiten werden gerne SiteCollections mit eigener Berechtigungsstruktur und Berechtigungsgruppen verwendet. Um eine klare Struktur und sprechende Namen für die Benutzergruppen zu schaffen, werden die Standardgruppen meist gelöscht.

Leider lässt sich dieser “Mitgliedschaftenstatus” nicht mehr manuell über die SharePoint-Weboberfläche setzen und man muss zur PowerShell greifen. Mit dem unten dargestellten PowerShell-Script können Sie jede beliebige Gruppe zur Mitgliedschaftengruppe machen:

$Web=Get-SPweb http://youradress
$Web.AssociatedMemberGroup=$Web.SiteGroups["GroupName"]
$Web.Update()
$Web.Dispose()

Nach dem Ausführen dieses PowerShell-Befehls und einer kleinen Wartezeit sollten sich die Mitgliedschaften auf der Profilseite nun wieder verwalten lassen.

Montag, 28. Januar 2013

Access Denied “Configure service accounts”– SharePoint 2013

Sie können mit dem SharePoint Farm Account keine Service Applications anlegen und Sie bekomme eine Fehlermeldung wenn Sie auf "Configure service accounts” in der Zentraladministration navigieren?

image

Dies kann mehrere mögliche Fehlerquellen zur Folge habe:

1. Falsche Berechtigung des Service Accounts  -> http://technet.microsoft.com/en-us/library/cc678863.aspx
2. Security Settings in Windows Server 2012 –> Security Settings auf ein Minimum stellen und neu starten

image

image

3. Sie starten den Internet Explorer 10 auf Windows Server 2012 nicht als Administrator

image

Nachdem ich alle drei Einstellungen auf meiner SharePoint-Umgebung richtig konfiguriert und “gestartet” hatte, konnte ich nun alle Admin-Einstellungen wieder erreichen.

Samstag, 12. Januar 2013

Forms Based Authentication in SharePoint 2013 konfigurieren - Part 2 – Benutzer zur Membership Datenbank hinzufügen

In dieser Artikelserie beschreibe ich die Konfiguration von Forms Based Authentication in SharePoint 2013 für ein Extranet als Partnerportal für Solutions2Share. In weiteren Folgeartikeln beschreibe ich zusätzlich die Verwendung von Forms Based Authentication mit SQL Authentifizierungsprovider in Kombination mit Microsoft Forefront UAG. Als letztes werde ich noch einen Artikel zum Thema Nutzerverwaltung mit Tools von verschiedenen Anbietern verfassen.

Der Artikel Forms Based Authentication in SharePoint 2013 konfigurieren besteht aus 4 Beiträge:

1. Erstellung der Membership Datenbank
2. Benutzer zur Membership Datenbank hinzufügen
3. Web.config anpassen
4. SharePoint konfigurieren – WebApplication erweitern

2. Benutzer zur Membership Datenbank hinzufügen

Um Benutzer über den IIS in die Datenbank hinzufügen zu können, müssen einige Konfigurationen am IIS vorgenommen werden. Da SharePoint 2013 auf Windows Server 2012 und Windows Server 2008 / R2 installiert werden kann, ergeben sich einige Unterschiede bei der Konfiguration des IIS.

Spezielle Konfiguration des IIS mit Windows Server 2008 R2:

Leider unterstützt der IIS unter Windows Server 2008 R2 die Bearbeitung von Benutzern und Rollen für ASP.NET 4.0 Applications nicht, deshalb müssen wir eine “Dummy”-Website auf Basis ASP.NET 2.0 anlegen.

  • Öffne IIS.
  • Rechtsklick auf “Sites” und wählen Sie “Add Website…” aus.

clip_image002

  • Es erscheint ein Konfigurationsdialog zum Anlegen einer Website.
  • Gebe der Seite einen Namen (zum Beispiel “SPMembershipConfig”).
  • Wähle einen freien Pfad aus(zum Beispiel “C:\inetpub\SPMembershipConfig”).
  • Trage einen noch nicht verwendeten Port ein (zum Beispiel “8001”).

image

  • Gehe in der Navigation zu “Application Pools” und überprüfe, ob ein Application Pool mit dem gleichen Namen (hier “SPMembershipConfig) angelegt wurde. Dieser Application Pool sollte nun mit dem .NET Framework 2.0 angezeigt werden. Falls dies wie hier nicht so ist, müssen wir diesen noch konfigurieren.
  • Um den Application Pool zu konfigurieren, klicken wir auf “Advanced Settings” in der rechten Navigation.

clip_image006

  • Setze nun die Einstellung “.NET Framework Version” auf “v2.0”.
  • Zusätzlich muss die  Einstellung “Identity” verändert werden. Mit Doppelklick kommt man auf den nächsten Einstellungsdialog.

image

  • Hier muss der Account, der auch als SharePoint Account verwendet wird, eingetragen werden.
  • Hierzu wähle Custom Account aus und drück auf den Button “Set”.
  • Trage nun den Benutzername mit Domain und das Passwort in die Textboxen ein.
  • Bestätige den Dialog mit OK.

image

Konfiguration des ISS mit Windows Server 2012:

Alle weiteren Konfiguration am IIS sind nun bei Windows Server 2008 und Windows Server 2012 gleich. Bei Windows Server 2008 werden die Konfigurationen an der Dummy-Website vorgenommen, an der Windows Server 2012 Umgebung werden die Konfigurationen an der Website zur ausgewählten SharePoint-Webapplikation (hier “try.solutions2share.net”) vorgenommen.

  • Als nächstes muss ein neuer Connection String zur angelegten Datenbank “aspnetdb” im IIS angelegt werden. Geh nun links in der Navigation auf die Website "SPMembershipProvider” oder der SharePoint Webapplikation und Wähle unter ASP.NET den Punkt “Connection Strings” aus.

image

  • In diesem neuen Einstellungsdialog muss nun ein Name für diesen Connection String eingetragen werden, hier FBADB. Zusätzlich muss die URL oder das Alias des SQL Servers bei Server eingetragen werden. Je nachdem wie die Datenbank im vorherigen Schritt benannt wurde, muss der Name der Datenbank (hier “aspnetdb”) bei “Database” eingetragen werden. Bestätigen Sie den Dialog mit dem Button “ok”.

image

  • Gehe als nächstes wieder zurück auf die Einstellungsseite für die Website und klicke doppelt auf den Button “.NET Users”.

image

  • Um neue Benutzer in die angelegt Datenbank zu erfassen, muss nun noch ein Provider für die Verbindung mit der Datenbank hinzugefügt werden. Klicke nun auf den Button “Providers” rechts oben im Dialog und es öffnet sich ein neues Einstellungsfenster zum Hinzufügen eines neuen Providers.

image

  • Wähle nun bei Type “SQLMembershipProvider” in der DropDownBox aus
  • Gebe einen Namen (hier “FBAMembershipProvider”) für den MembershipProvider ein.
    Vorsicht bei Windows Server 2008: Da die SharePoint Website und die Dummy Website beide einen eigenen Provider benötigen müssen hier am besten zwei verschiedene Namen vergeben werden.
  • Wähle “True” bei “EnablePasswordReset” aus.
  • Wähle “False” bei ”EnablePasswordRetrieval” aus.
  • Wähle “False” bei “RequiresQuestionAndAnswer” aus.
  • Wähle “True” bei “RequireUniqueEmail” aus.
  • Wähle “True” bei “StorePasswordinSecureFormat” aus.
  • Gebe "bei “ConnectionStringName” “FBADB” ein.
  • Gebe bei “ApplicationName” “/” ein.
  • Bestätige den Dialog mit “OK”.

image

  • Nun muss der Provider noch als Default Provider gesetzt werden. Klicke auf “Set Default Provider…” in der rechten Spalte.
  • Es öffnet sich ein neuer Dialog in dem der Default Provider in einer DropDownBox ausgewählt werden kann. Wähle hier den angelegten Provider aus. (Hier “FBAMembershipProvider”)
  • Bestätige den Dialog mit “OK”.

image

  • Klicke nun den Button “Add…” in der rechten Navigation. (Hinweis: Es wird eine Fehlermeldung angezeigt, die Übersprungen werden kann, da der RoleProvider im Nachgang konfiguriert werden kann, falls diese benötigt wird.)
  • Es öffnet sich ein Fenster “Add .NET User” um einen neuen Benutzer anzulegen.
  • Gebe bei “User Name” einen Benutzernamen an. (hier “Test_Try_account”)
  • Gebe bei “E-Mail” eine E-Mail-Adresse des Benutzers an. (hier “testtryaccount@solutions2share.net)
  • Gebe bei “Password” ein Passwort gemäß der Passwortrichtlinien an.
  • Wiederhole die Eingabe bei “Confirm Password”.
  • Questions and Answer kann leer gelassen werden.
  • Bestätige den Dialog mit “Next”.

image

  • Bestätige diesen Dialog mit “Finish”.

Da der RoleProvider bisher noch nicht konfiguriert wurde, kann hier keine Rolle für den Benutzer festgelegt werden. Die Konfiguration des RoleProviders wird weiter unten beschrieben.

image

  • Überprüfe nun, ob die Erstellung des Benutzers funktioniert hat. Falls der Account erstellt wurde, wird dieser als Zeile in der Einstellung “.NET Users” aufgelistet.

image

  • (Optional) Um sicher zu gehen, ob die Erstellung des Benutzers auch wirklich funktioniert hat, kann man über das SQL Management Studio in der erstellten Datenbank “aspnetdb” in der Tabelle “aspnet_Membership” überprüfen, ob ein Datensatz erstellt wurde.

image

  • Manche Anforderungen an die Benutzerverwaltung erfordern auch ein Rolemanagement. Um dieses nun zu konfigurieren, klicke auf “.NET Roles”.

image

  • Um neue Benutzer in die angelegt Datenbank zu erfassen, muss nun noch ein Provider für die Verbindung mit der Datenbank hinzugefügt werden. Klicke nun auf den Button “Providers” rechts oben im Dialog und es öffnet sich ein neues Einstellungsfenster zum Hinzufügen eines neuen Providers.

image

  • Wähle nun bei “Type” SQLRoleProvider in der DropDownBox aus
  • Gebe einen Namen (hier “FBARoleProvider”) für den RoleProvider ein.
    Vorsicht bei Windows Server 2008: Da die SharePoint Website und die Dummy Website beide einen eigenen Provider benötigen müssen hier am besten zwei verschiedene Namen vergeben werden.
  • Gebe "bei “ConnectionStringName” “FBADB” ein.
  • Gebe bei “ApplicationName” “/” ein.
  • Bestätige den Dialog mit “OK”.

image

  • Klicke nun auf den Button “Set Default Provider” in der rechten Navigation um den angelegten Provider als Standardprovider zu setzen.
  • Es öffnet sich ein neues Dialog Fenster “Edit .NET Roles Settings”.
  • Wähle im DropDownMenü nun “FBARoleProvider” aus.
  • Bestätige den Dialog mit “OK”.

image

  • Nun sind wir fertig mit der Konfiguration des IIS und können unsere Benutzer entweder über unsere Dummy Website oder über die SharePoint Webapplication im ISS erstellen und verwalten.

Im nächsten Artikel wird die Anpassung der web.config für SharePoint Dienste und Webapplikationen beschrieben.

Donnerstag, 10. Januar 2013

Forms Based Authentication in SharePoint 2013 konfigurieren - Part 1 – Erstellung der Membership Datenbank

In diesem Artikel beschreibe ich die Konfiguration von Forms Based Authentication in SharePoint 2013 für ein Extranet als Partnerportal für Solutions2Share. In weiteren Folgeartikeln beschreibe ich zusätzlich die Verwendung von Forms Based Authentication mit SQL Authentifizierungsprovider in Kombination mit Microsoft Forefront UAG. Als letztes werde ich noch einen Artikel zum Thema Nutzerverwaltung mit Tools von verschiedenen Anbietern verfassen.

Der Artikel Forms Based Authentication in SharePoint 2013 konfigurieren besteht aus 4 Beiträge:

1. Erstellung der Membership Datenbank
2. Benutzer zur Membership Datenbank hinzufügen
3. Web.config anpassen
4 SharePoint konfigurieren – WebApplication erweitern

1. Erstellung der Membership Datenbank

Zuerst benötigen wir einen Speicherort für Benutzernamen und Passworte. Mit Standard ASP.NET stellt Microsoft ein Tool zur Verfügung mit der eine Datenbank zur Speicherung der Login Daten erstellt werden kann.

  • Navigiere zuerst nach c:\windows\Microsoft.NET\Framework64\v4.0.30319\
  • Führe das Programm “aspnet_regsql.exe” aus

image

  • Es erscheint der erste Installationsdialog. Klick “Next” um fortzufahren.

image

  • Wähle “Configure SQL Server for application services” aus und klicke “Next”.

image

  • Gebe bei “Server” den Namen oder Alias des SQL Servers an. In diesem Fall ist der SharePoint 2013 Server und der SQL Server 2012 auf zwei getrennten Maschinen bereitgestellt worden. Außerdem habe ich dem SQL Server 2012 ein Alias “sql” verpasst, so dass ich ihm nachhinein den Computernamen des Server, wie auch einen Umzug auf einen anderen SQL Server, leichter realisieren kann.
  • Ich bin hier als Administrator angemeldet, so dass ich Vollzugriff auf den SQL und SharePoint Server habe, und habe deshalb “Windows authentication” ausgewählt. Alternativ könnte man hier auch mit einer SQL Server Authentifizierung weiterinstallieren.
  • Gebe einen Namen für die Datenbank an. Ich habe die Einstellung auf “<default>” gelassen, so wird eine Datenbank mit dem Namen “aspnetdb” erstellt.
  • Bestätige den Dialog mit “Next”.

image

  • Es wird eine Zusammenfassung der Einstellungen angezeigt, bestätige diesen Dialog mit Next.

image

  • Es wurde nun eine Datenbank im augewählten SQL Server erstellt. Bestätige den Dialog mit “Next”.

image

  • Als nächstes müssen wir SharePoint Lese- und Schreibrechte auf die Datenbank geben. Ich arbeite hier mit dem SharePoint Farm Admin Account. Um sicher zu gehen, dass auch der richtige Account berechtigt wird, öffnen wir den Internet Information Services Manager (IIS) und öffnen “Application Pools”. In der Spalte “Identity” entnehmen wir den Account, unter dem SharePoint läuft. 

image

  • Nun öffnen wir das SQL Management Studio 2012 auf dem SharePoint oder SQL Server. In den meisten Installationen ist das SQL Management auf dem SQL Server direkt installiert.
  • Einloggen als Administrator.

image

  • Unter Logins finden wir den Benutzer, unter dem auch SharePoint ausgeführt wird. Wähle diesen Benutzer aus und öffne mit Rechtsklick das Kontextmenü aus. Klicke auf “Properties”.

image

  • Wähle “User Mapping” aus und markiere die CheckBox bei der Datenbank “aspnetdb”. Vergeben Sie im unteren Fenster das Recht “db_owner” und “public”. Nun sollte dieser Benutzer volle Rechte zum Lesen und schreiben haben.

image

  • Die Konfiguration der Datenbank ist nun abgeschlossen.

Im nächsten Artikel beschreibe ich das Anlegen neuer Benutzer.

Donnerstag, 16. August 2012

Enable Nintex Workflow Feature on all Subsites

If you want to use a resuable Nintex Workflow on a content type in your subsites you have to activated the Nintex Web Feature on all subwebs.

Use this Script:

$web = get-spweb http://sharepointroot
 
function EnableNintexWorkflowSiteFeature( $w )
{
    $ws = $w.Webs;
    foreach( $subweb in $ws)
    {
        EnableNintexWorkflowSiteFeature($subweb)
    }
    echo 'Enabling Nintex Workflow on site : ' $w.Url
    Enable-SPFeature NintexWorkflowWeb -url $w.Url
}
 
echo 'Enabling Nintex Workflow on site : ' + $web.Url
EnableNintexWorkflowSiteFeature $web



Please update “http://sharepointroot” to your SharePoint-URL.


Pingback: http://www.vadimtabakman.com/nintex-workflow-enable-the-nintex-workflow-feature-on-all-subsites.aspx