Probleme mit SharePoint 2013 SP1 behoben


Nach dem Release von SharePoint 2013 SP1 Ende Februar 2014 gab es Probleme mit dem Servicepack. Es waren zwar keine Funktionalitäten betroffen, jedoch konnten keine weiteren Updates installiert werden, nachdem SP1 installiert war.

Dies konnte nun behoben werden, ab sofort ist SP1 für SharePoint 2013 wieder dowloadbar: http://www.microsoft.com/en-us/download/details.aspx?id=42544

So long, Samuel

SharePoint 2013 Service Pack 1


SharePoint 2013 Service Pack 1
By Joerg Sinemus

For all our Office Server 2013 products we can offer now the first service pack SP1.

In case you have a SharePoint Foundation 2013 Server, you need only the SP1 for Foundation and of course language packs for Foundation SP1.

For our full SharePoint 2013 Server you only need the SharePoint Server SP1 package. There is no need to install Foundation SP1 because it is included in the Full Server SP1. Same is valid for the additional SP1 language packs you may need when having at least one additional LP installed.

For Project Server 2013 you also need only the Project SP1 plus SP1-LP’s when you have additional LP’s installed.

Our KB articles for your reference:

KB 2817442 – SharePoint Foundation 2013 SP1
KB 2817429 – SharePoint Server 2013 SP1
KB 2817434 – Project Server 2013 SP1
KB 2817431 – Office Web Apps Server 2013 SP1
Service Pack 1 also includes a rollup of all Cumulative Updates through December 2013, and all Public Updates through January 2014.

When our next April 2014 CU will be available it can be installed on top of SP1.

Download links for SP1:

SharePoint Foundation 2013 Service Pack 1
SharePoint Foundation 2013 Language Pack Service Pack 1
SharePoint Server 2013 Service Pack 1
SharePoint Server 2013 Language Pack Service Pack 1
Project Server 2013 Service Pack 1
Office Web Apps Server 2013 Service Pack 1
Good references to know:

Issues Fixed by Service Pack 1 (SP1) in Office and SharePoint 2013

Software updates overview for SharePoint 2013 great articles to plan and test all the steps you need to know until your production is on the latest bits.

Office Sustained Engineering Blog more about SP1

View this post online.

Best Practices Setup von SharePoint 2013, mit Web Apps 2013 und Workflow Manager 1.0


Hier mal noch das neuste Werk von mir, wo ich zeige, wie man SharePoint 2013 mit SQL, WebApps und Workflow Manager installiert. Inklusive aller Powershell Scripts für das Setup. Alles nach bisher bekannten Best Practices, auch für die SharePoint Topologie etc.

So long, Samuel

SharePoint 2013 Cumulative Update Juni 2013


SharePoint Foundation 2013
2817346 für SharePoint Foundation 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2817346

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2817346&kbln=en-us

SharePoint Server 2013
Das Server 2013 Package ist leider verspätet, ich werde euch updaten, sobald es folgt.

Office Web Application Server 2013
2817350 für Microsoft Office Web Apps Server 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2817350

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2817350

SharePoint Designer 2013
2768343 für SharePoint Designer 2013
http://support.microsoft.com/default.aspx?scid=kb;EN-US;2768343

Download link: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2768343

SkyDrive Pro als Standallone Download verfügbar


Eines der super neuen Features von Office 365, Office 2013 und SharePoint 2013 ist die Dokumentensynchronisation a la Dropbox. Die gesamte Thematik “Documents follow me” wird damit auf SharePoint gebracht.

Bis anhin war das Tool allen Office 2013 Pro Plus Benutzern vorbehalten, ab sofort gibt es dafür einen kostenlosen Client, den jedermann installieren kann!!!

DOWNLOAD

Reference: http://blogs.office.com/b/sharepoint/archive/2013/05/21/skydrive-pro-client-for-windows-now-available.aspx

Mit der SharePoint 2013 Search Topologie arbeiten


In SharePoint 2013 hatten wir ja das Vergnügen, ein GUI für die Verwaltung der Search Topologie zu haben. Diese Zeiten sind endgültig vorbei. Des einen Leid, des anderen Freud. Neu muss die Topologie der Suche per PowerShell verwaltet werden. Wie man das macht, entnehmt ihr dem unten folgenden Code.

Grundsätzlich unterscheiden wir folgende Rollen, welche auf verschiedenen Servern redundant aufgebaut werden können:

  1. Crawl Komponente
  2. Content Processing Komponente
  3. Analytics Komponente
  4. Index Komponente (schreibt den Index)
  5. Query Processing Komponente
  6. Admin Komponente

Im Beispiel wird die Suche auf zwei Frontends verteilt, auf welcher die Query Rolle läuft und auf zwei Application Server, die alle anderen Rollen redundant verpasst bekommen, zusätzlich soll die Indexpartition 0 auf beide Server gespiegelt werden.

SearchTop

 

Und hier kommt der Code:

# Abfragen des SharePoint 2013 Search Status
Get-SPEnterpriseSearchStatus -SearchApplication (Get-SPEnterpriseSearchServiceApplication)

# Definieren der Server
$wfe1 = Get-SPEnterpriseSearchServiceInstance -Identity "yourserver"
$wfe2 = Get-SPEnterpriseSearchServiceInstance -Identity "yourserver"
$app1 = Get-SPEnterpriseSearchServiceInstance -Identity "yourserver"
$app2 = Get-SPEnterpriseSearchServiceInstance -Identity "yourserver"

# Starten der Service Instanzen auf allen Servern
Start-SPEnterpriseSearchServiceInstance -Identity $wfe1
Start-SPEnterpriseSearchServiceInstance -Identity $wfe2
Start-SPEnterpriseSearchServiceInstance -Identity $app1
Start-SPEnterpriseSearchServiceInstance -Identity $app2

# Checken ob die Services alle online sind, bevor wir weiter machen
do {
    $globalState = 0
    $wfe1Stat = Get-SPEnterpriseSearchServiceInstance -Identity $wfe1
    if ($wfe1Stat.status = "online") {$globalState++}
    $wfe2Stat= Get-SPEnterpriseSearchServiceInstance -Identity $wfe2
    if ($wfe2Stat.status = "online") {$globalState++}
    $app1Stat = Get-SPEnterpriseSearchServiceInstance -Identity $app1
    if ($app1Stat.status = "online") {$globalState++}
    $app2Stat = Get-SPEnterpriseSearchServiceInstance -Identity $app2
    if ($app2Stat.status = "online") {$globalState++}
    Write-Host "There are $globalState Machines ready"
    if ($globalState -lt 4) {
        Write-Host "Waiting for 10 seconds..."
        Start-Sleep -s 10
    }
}
while ($globalState -lt 4)

# Search Service Applikatioin festlegen
$ssa = Get-SPEnterpriseSearchServiceApplication
$newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa

# Frontend Rollen festlegen
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $wfe1
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $wfe2

# App Server Rollen festlegen
New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $app1
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app1
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app1
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app1
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $app1 -IndexPartition 0

New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $app2
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app2
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app2
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $app2
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $app2 -IndexPartition 0

# Search Topologie aktivieren
Set-SPEnterpriseSearchTopology -Identity $newTopology

Achtung: Eine Neudefinition der Topologie funktioniert nur mit leerem Index. Heisst, ggf. müsst ihr zuerst den Indes zurücksetzen oder ein anderes Vorgehen wählen.

So long, Gruss Samuel

Mehrsprachigkeit für SharePoint 2013 mit Fokus “Collaboration”


In einem aktuellen projekt haben wir uns gefragt, wie wir in einem Kollaborativen Umfeld einige Seiten mit Mehrsprachigkeit versehen können. Wie in unserem Beispiel die Collaboration Community, die einerseits Informationen in D, FR und IT beinhaltet, jedoch im Grossteil entweder in der Corporage Language, oder in einer jeweiligen Landessprache, wenn alle Beteiligten die Sprache beherrschen. Es kann auch mal gemischter Content sein, Collaborative eben.

Natürlich könnten wir Variations benutzen, das wäre das naheliegende. Aber dann wäre die Diskussion in der Community auch getrennt, und dass will man ev. nicht. Ausserdem extra eine Publishing Seite machen, schien mir nicht zielführend, da es sich eben um eine Kollaborative seite handelt. SharePoint 2013 macht es mir ja einfach, Script Blöcke einzubauen, also hab ich mir überlegt, ob es nicht mit Javascript klappen könnte, die Browsersprache raus zu popeln und anhand dieser auf Sprachseiten (aspx Wikipages) zu routen. Nach ein paar Anläufen, mit tollen Hilfe von Thorsten Hans und Kevin Mees ist es uns dann gelungen, einen entsprechenden Script zu bauen.

Die Funktionsweise ist ziemlich simpel. Die Homepage der Community ist eine leere Seite, welche nur Javascript enthält und anhand der Browsersprache auf die richtige Home Seite verzweigt. Die sprachabhängigen Homeseiten wiederum enthalten zum Einen Text in der jeweiligen Sprache aber auch wiederverwendbare Elemente wie z.B. die Community Members. So haben wir dieselbe Datenbasis mit mehrsprachigen Info-Seiten.

Weiter war uns wichtig, dass de-ch, de-de, de-at oder fr und fr-ch gleich behandelt werden, und auch da haben wir eine Lösung gefunden. Wir beachten einfach die ersten zwei Zeichen.

Als Sahnehäubchen sind Wikipages ja eben Wikipages, und auf jeder Sprachseite implementieren wir noch DE | [[Community-Home-fr|FR]] | [[Community-Home-it|IT]] damit jederzeit auf eine andere Sprache umgeschaltet werden kann.

Multi Language Support

Und natürlich hier der Javascript, welcher verwendet wurde um auf die Sprachseiten (Wikipages) zu verzweigen

var browserLanguage = window.navigator.userLanguage || window.navigator.language;
var redirectTo = "/topic/collaborationcommunity/SitePages/Community-Home-de.aspx";
switch (browserLanguage.substring(0,2)) {
  case "de":
  break;
  case "fr":
  redirectTo ="/topic/collaborationcommunity/SitePages/Community-Home-fr.aspx";
  break;
  case "it":
  redirectTo ="/topic/collaborationcommunity/SitePages/Community-Home-it.aspx";
  break;
  default:
  break;
}
window.location = redirectTo;

Nicht jeder Browser ist gleichschnell, z.B. der IE ist mit Javascript langsam, und es dauert eine halbe Sekunde bis der Redirect erfolgt. Chrome sieht man keinen switch.

Für die langsamen Browser haben wir noch die allgemeinen elemente auf die Home Seite gepackt, und per loading gif ein asynchrones Laden der Seite simuliert.

loading

Das sieht dann so aus:

CommunitySwitch

So sind die User glücklich, auch wenn der Browser eine halbe Sekunde zum umschalten braucht, und wir haben eine sehr einfache und günstige Lösung für diese Bereiche einer Kollaborationsplattform, die eben ggf. trotzdem Mehrsprachig sein sollen.

So long, Samuel