Mittwoch, 1. April 2015

Powershell Script: Liste von Template zu allen bestehenden Websites hinzufügen


Websitetemplates sind ein geeignetes Werkzeug zur Anlage von gleich aufgebauten Websites im SharePoint. Die Erstellung solcher Vorlagen ist sehr einfach. Es wird eine Website mit allen benötigten Listen, Bibliotheken, Seiten und Webparts angelegt und anschließend als Vorlage gespeichert. Bei der Anlage einer neuen Website kann diese Vorlage ausgewählt werden und es wird eine entsprechend vorkonfigurierte Website angelegt. Das erleichtert zum Beispiel die Anlage von gleich aufgebauten Projektseiten in einem Projektportal ungemein.

Dies ist sehr praktisch, solange sich die Vorlage für die Projektseiten nicht ändert. Wird allerdings zu einem späteren Zeitpunkt festgestellt, dass auf allen Projektseiten noch eine zusätzliche Liste angelegt werden soll, entstehen zwei Probleme:

1.    Das aktuelle Websitetemplate ist veraltet. Auf neu anzulegenden Websites fehlt dementsprechend auch die Liste, solange das Template nicht aktualisiert wurde.

2.    Auf bereits angelegten Websites fehlt diese Liste natürlich auch

Problem eins lässt sich einfach lösen, indem das Websitetemplate aktualisiert wird. Von nun an angelegte Websites auf Basis des Templates enthalten die neue Liste. Bei bereits existierenden Websites ist es problematischer. Hier gibt es nur zwei Möglichkeiten: Die Liste kann natürlich auf vorhandene Websites manuell angelegt werden. Das ist, je nach Anzahl der vorhandenen Websites, sehr zeitaufwändig. Um Aufwand beim Anlegen der neuen Liste auf den einzelnen Websites zu sparen, ist eine automatisierte Lösung praktischer.

Die automatische Anlage von Listen auf einer Website und allen Unterwebsites kann zum Beispiel mit Hilfe eines PowerShell Skriptes erfolgen. Bevor das PowerShell Skript verwendet werden kann, muss von der anzulegenden Liste ein Template erstellt werden. List-Templates lassen sich über die Listeneinstellungen einer Liste einfach erstellen. Das erstellte Template wird in einer zentralen List-Template Bibliothek abgelegt.

Folgendes PowerShell Script erstellt auf einer angegebenen Website und allen Unterwebsites eine Link-Liste basierend auf einer Listenvorlage:

 
Abbildung 1 Automatische Anlage einer Liste auf eine Website und allen Unterwebsites
 

Im PowerShell Script wird zunächst festgelegt, unter welchen Namen und auf welcher Website die neue Liste angelegt werden soll. Weiterhin wird das zuvor angelegte Listtemplate angegeben.

In einer „For Each"-Schleife werden die angegebene Website sowie alle darunterliegenden Websites durchlaufen. Pro Website wird überprüft, ob bereits eine Liste mit dem Namen „LinkList" existiert. Ist dies nicht der Fall, wird eine neue Liste mit dem Namen „LinkList" auf des angegebenen Listtemplates angelegt.

Mit Hilfe dieses PowerShell Script lässt sich unter Umständen viel Zeit sparen, wenn eine Liste auf vielen bereits bestehenden Websites angelegt werden soll.
 
 

Support für Microsoft Windows Server 2003 endet im Juli – planen Sie jetzt den Umstieg!


Am 14. Juli 2015 endet nach fast 12 Jahren der Produktlebenszyklus und somit auch der Support von Windows Server 2003. Dies betrifft sämtliche Editionen von Windows Server 2003, Windows Server 2003 R2 und den Microsoft Small Business Server (SBS) 2003. Nach dem Ende des Supports wird Microsoft keine Updates, Hotfixe oder Security-Patches mehr bereitstellen.
 
Sollten Sie ein Portal auf Basis von Microsoft Windows SharePoint Services 3.0 oder Microsoft Office SharePoint Server 2007 auf einem solchen System betreiben, empfehlen wir schnellstmöglich mit der Planung und Durchführung einer Migration zu beginnen. Durch eine Migration profitieren Sie nicht nur von technischen Innovationen und neuen Features – Sie vermeiden auch Risiken im Bereich Sicherheit und Compliance.

Für die Planung Ihrer Migration bietet Microsoft unter diesem Link (englischsprachig) eine kleine Unterstützungshilfe an. Selbstverständlich bietet sich eine solche Migration auch für ein Update auf die aktuelle Microsoft SharePoint Version 2013 an.
 
Sprechen Sie uns hierzu gerne an.

Montag, 2. März 2015

InfoPath Forms Services wird auch in SharePoint 2016 und Office 365 weiter funktionieren

Microsoft hat in einem aktuellen Blogeintrag bekannt gegeben, dass die Fristen zur Entfernung der InfoPath Forms Services verlängert wurden. Zwar bleibt InfoPath 2013 die letzte Version der Anwendung, die Funktionsfähigkeit für die kommende SharePoint Version 2016 und Office 365 ist aber sichergestellt. Durch diese Ankündigung können Sie sicher sein, dass bei einer anstehenden Migration die bestehenden InfoPath-Formulare weiterhin funktionieren. Der Microsoft Support für InfoPath wird somit voraussichtlich erst im Jahr 2023 enden.

InfoPath/Formulare – Urlaubsantrag

Der Urlaubsantrag ist ein typischer Prozess in jedem Unternehmen. Meistens muss der Urlaub durch Ausfüllen eines Papier Formulars beantragt und vom Vorgesetzten genehmigt werden.

Ein typisches Intranet Szenario ist daher die Ablösung des Papier- durch ein elektronisches Urlaubsantragsformular. Zum Formular gehört selbstverständlich auch ein Genehmigungsprozess, der mit Hilfe eines Workflows strukturiert und automatisiert werden kann. Dieser erleichtert nicht nur das Einreichen und Genehmigen von Urlaubsanträgen sondern er kann auch die Personalabteilung bei der effizienten Bearbeitung genehmigter Anträge unterstützen.

Hierbei dient ein InfoPath Formular zur Erfassung des Urlaubsantrags und ein Nintex Workflow automatisiert den Genehmigungsprozess. Das klingt zunächst recht einfach, ist aber bei genauerer Betrachtung nicht ganz trivial. Viele Faktoren, wie zum Beispiel Vermeidung von Fehleingaben, die Anzeige  des vorhandenen Resturlaubs, Urlaubsstornierung oder Vertretungsregelungen für die Genehmigung, müssen berücksichtigt werden. Die Anwendung kann, je nach Anforderungen, sehr komplex werden.

Ein Beispiel für ein Urlaubsantragsformular könnte wie folgt aussehen:
 



              Abbildung 1 Beispiel – Urlaubsantragformular

 

 
Das Formular enthält für einen Urlaubsantrag typische Eingabefelder. Um Eingabefehler zu vermeiden, werden benutzerbezogene Informationen, wie die Personalnummer, automatisch aus dem Benutzerprofil abgerufen. Der Resturlaub wird in diesem Beispiel in einer separaten SharePoint Liste verwaltet und im Formular angezeigt. Der Vorgesetzte des Antragsstellers kann ebenfalls automatisch eingetragen werden. Die Nutzer müssen lediglich die Urlaubsart, den Zeitraum und eine Vertretung angeben. Das Absenden des Antrages startet einen Nintex Workflow, der den Genehmigungsprozess steuert und den Resturlaub aktualisiert.

Sollten Sie Fragen dazu haben können Sie uns jederzeit gerne kontaktieren.

Powershell Scripts - SharePoint Foundation: Masterpages für alle Websites setzen

In allen Systemen, die auf Microsoft SharePoint Foundation (2010 oder 2013) basieren, stellt sich die Problematik, dass über die Browseroberfläche keine Masterpage (Gestaltungsvorlage) gewählt werden kann. Mittels SharePoint Designer ist es zwar möglich dies pro Website zu wählen, jedoch bleibt das Hauptproblem dass diese Einstellung nicht vererbt wird. D.h. bei neu angelegten Websites muss diese jedes Mal manuell vorgenommen werden.

Um dieses Problem zu umgehen gibt es zwei Möglichkeiten:

Eine sehr elegante Variante ist die Nutzung eines Event Receivers, der automatisch die gewünschte Masterpage bei neu angelegten Websites setzt. Dies ist allerdings nur durch die Entwicklung einer Solution möglich.
 
Die zweite Möglichkeit ist dieses durch ein kleines Powershell Script zu erledigen, welches automatisch auf allen gewählten Websites die Masterpage setzt. Dieses Script wiederum könnte dann z.B. auch einmal täglich als Windows Scheduled Task ausgeführt werden.

Ein Beispiel für ein solches Powershell Script wäre das folgende:

#set site collection
$web = Get-SPSite http://intranet
#set Masterpage
$MasterPageUrl = "/intranet/_catalogs/masterpage/example.master"
#$MasterPageUrl = [Microsoft.SharePoint.Utilities.SPUrlUtility]::CombineUrl($web.ServerRelativeUrl,"_catalogs/masterpage/seattle.master"); 

#iterate all web sites and update the masterpage with the url in $MasterPageUrl parameter
foreach ($subWeb in $web.AllWebs)
{
    $subWeb.MasterUrl = $MasterPageUrl;
    $subWeb.CustomMasterUrl = $MasterPageUrl;
    $subWeb.Update();
    Write-Host $subWeb.Url ;
}
$web.Dispose()

 

Solutions - Metro Navigation

Ein Microsoft SharePoint System bietet bereits im Standard eine über die Oberfläche und via CSS anpassbare zweistufige Navigation. Allerdings kommt man hierbei je nach Anforderung trotzdem schnell an die Grenzen der SharePoint Standards. In zahlreichen Kundenprojekten haben wir den SharePoint Standard erweitert und attraktive Navigationslösungen umgesetzt. Eine dieser Lösungen möchten wir Ihnen heute vorstellen.
In dieser Lösung haben wir ein modernes "Kachel"-Design ala Microsoft umgesetzt und bieten diese als komplett konfigurierbare SharePoint Solution an.


 

Die Solution bietet die folgenden Features:

·         bis zu 5 Elemente in einer Reihe
·         Automatischer Scrollbalken wenn es mehr als 2 Reihen sind
·         Icons mit transparentem Hintergrund
·         Möglichkeit Elemente zu verstecken / zu deaktivieren
·         Elemente die auf ein Ziel verweisen auf die der Nutzer keine Berechtigung hat sind nicht klickbar und "ausgegraut"
·         basiert auf einer benutzerdefinierten Liste mit der Möglichkeit Name, Farbe, Icon, Ziel-URL, Sortierung und Deaktivierung zu hinterlegen
·         Webpart nutzt die Daten aus der Liste derselben Website, oder falls nicht vorhanden der übergeordneten Website
·         Liste kann mit einer einfachen Feature Aktivierung (oder alternativ List Template) in jeder Website angelegt werden.

Die Solution kann sowohl direkt von uns als auch über den offiziellen Microsoft Office Apps Store (https://store.office.com/spi-moderntilenavigation-WA104379095.aspx?assetid=WA104379095) bezogen werden.

Sollten Sie Fragen dazu haben können Sie uns jederzeit gerne kontaktieren.

SharePoint Sites im Firefox – Übergabeauthentifizierung im Firefox einrichten


Um mit SharePoint Seiten zu arbeiten, wird neben dem Internet Explorer auch häufig der Mozilla Firefox als Browser eingesetzt. Bei SharePoint Sites, bei welchen sich die Benutzer direkt mittels ihres Active Directory Accounts anmelden können (NTLM Authentifizierungs-verfahren), wird allerdings Firefox Benutzern trotzdem ein Loginfenster angezeigt. Im Gegensatz dazu meldet der Internet Explorer die Benutzer aufgrund der Sicherheitseinstellung „Lokales Intranet", in welcher in der Regel die SharePoint Site zu finden ist, direkt an. Diese sofortige Anmeldung über den Active Directory Account (Übergabeauthentifizierung) lässt sich auch im Firefox konfigurieren und anwenden.

Öffnen Sie dazu Ihren Firefox. Geben Sie in der Adressleiste „about:config" ein und drücken Sie die Eingabetaste. Falls eine Warnmeldung angezeigt wird, bestätigen Sie diese. Im Bereich „Filter" tippen Sie dann „NTLM" ein und es erscheint eine eingeschränkte Liste der möglichen Einstellungen. Sie finden dort den Eintrag „NETWORK.AUTOMATIC-NTLM-AUTH.TRUSTED-URIS". Mittels Doppelklick öffnen Sie diesen Eintrag und tippen dort die vollständige URL inklusive Protokoll (http bzw. https) ein. Mehrere URL's werden mittels Kommata getrennt. Nach Ihrer Eingabe der URLs, klicken Sie auf „OK". Testen Sie nun den Zugriff auf Ihre SharePoint Site mittels Firefox. Firefox sollte Sie nicht mehr nach einem Benutzernamen oder Passwort fragen.

Bitte beachten Sie, dass die Siller Portal Integrators GmbH keine Gewährleistung für Fehlfunktionen im Firefox durch die Nutzung von „about:config" übernimmt!

Quelle: https://answers.uchicago.edu/page.php?id=25003