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

Aufsetzen von SharePoint 2013 mit Powershell


So, endlich hab ich mir mal die Zeit genommen, die ganze Setup Geschichte von SharePoint 2013 mit Powershell anzuschauen. Mit ein paar bereits vorhandenen Scripts (ich will ja das Rad nicht neu erfinden) habe ich ein neues, bereinigtes, durchgängig strukturiertes und funktionierendes Zwinkerndes Smiley script zusammengestellt. Mittels dem Bereich “Definition of Variables and basic prep” könnt ihr alle Variablen angeben, und bei den $Create… Variablen mit 0 (nein) oder 1 (ja) angeben, ob ihr die entsprechende Service Application erstellen wollt oder nicht.

Der Script macht:

  1. SQL Server Aliases
  2. Managed Accounts
  3. Configuration Wizzard Tasks
  4. Farm Configuration Tasks

Benutzung auf eigene Gefahr. Vorgehen wie folgt:

  1. SharePoint 2013 Prep Tool laufen lassen
  2. SharePoint Installation laufen lassen
  3. den Haken am Ende der Installation raus nehmen
  4. Powerhsell laufen lassen (braucht erhöhte Rechte im SQL Server)

und gut ist.

So long, Samuel

 

############################################################
# Configures a SharePoint 2013 Farm                        #
# Samuel Zuercher, Experts Inside GmbH                     #
# @sharepointszu, szu@expertsinside.com                    #
#                                                          #
# Special Thanks to: Jason Warren, Zach and @sharepointeng #
# for basic scripts I started with                         #
#                                                          #
# Last modified 27.02.2013                                 #
#                                                          #
############################################################



############################################################
#                                                          #
# Farm Setup Section                                       #
# Definition of variables and basic prep                   #
#                                                          #
############################################################

# Domain
$DOMAIN = "DEMO"

# Application Pool for Services
$SaAppPoolName = "SharePoint Web Services Default"

# Basic Accountcredentials
$accounts = @{}
$accounts.Add("SPFarm", @{"username" = "sp-farm"; "password" = "Test12345"})
$accounts.Add("SPWebApp", @{"username" = "sp-portal"; "password" = "Test12345"})
$accounts.Add("SPSvcApp", @{"username" = "sp-services"; "password" = "Test12345"})

# SQL Alias
$SQLAliasName = "SharePointDB_Prod" #NoSpaces, make sure you know the name is selfexplaining, as it will stay as long the farm lives. No Years or Versions!!
$SQLServerName = "SQL\SHAREPOINT"   #Include Instance Name
$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"
$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"

# Security Passphrase for SharePoint Setup
$ConfigPassphrase = "MySharePointIs2013"

# Giving the Names for Databases
$dbConfig = "TBD_DEMO_SharePoint_Config"
$dbCentralAdmin = "TBD_DEMO_SharePoint_CentralAdmin"

# Central Admin Port and Authentication Method
$CaPort = 11111
$CaAuthProvider = "NTLM"

# If you do not want to create a particular SA, set the Create...SA Flag to 0
# Usage and Health Data Collection Service Application
$CreateUsageAndHealth = 1
$UsageSAName = "Usage and Health Data Collection”
$dbUsageService = "TBD_DEMO_Usage_and_Health_Data"
$UsageLogLocation = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\LOGS”
$MaxUsageLogSpace = 5     #in GB

# State Service Application
$CreateStateSA = 1
$StateSAName = "State Service”
$dbStateService = "TBD_DEMO_State”

# Managed Metadata Service Application
$CreateManagedMetadataSA = 1
$ManagedMetadataSAName = "Managed Metadata Service”
$dbManagedMetadata = "TBD_DEMO_Managed_Metadata"

# Search Service Application and Topology
$CreateSearchService = 1
$SearchMachines = @("SP2013-V2")
$SearchQueryMachines = @("SP2013-V2")
$SearchCrawlerMachines = @("SP2013-V2")
$SearchAdminComponentMachine = "SP2013-V2"
$SearchSAName = "Search Service”
$dbSearchDatabase = "TBD_DEMO_Search”
$IndexLocation = "C:\SPIndex”

# Word Conversion Service Application
$CreateWordAutomation = 1
$WordSAName = "Word Automation Service"
$dbWordAutomation = "TBD_DEMO_WordAutomation"

# BCS Service Application
$CreateBcsSA = 1
$BcsSAName = "Business Connectivity Service"
$dbBcs = "TBD_DEMO_BusinessConnectivity"

# Secure store Service Application
$CreateSecureStore = 1
$SecureStoreSAName = "Secure Store Service"
$dbSecureStore = "TBD_DEMO_Secure_Store"

# Performance Point Service Application
$CreatePerformancePoint = 1
$PerformancePointSAName = "Performance Point Services"
$dbPerformancePoint = "TBD_DEMO_PerformancePoint"

# Visio Service Application
$CreateVisioService = 1
$VisioSAName = "Visio Services"

# User Profile Service Application
$CreateUserProfile = 1
$UserProfileSAName = "User Profile Service"
$dbUserProfile = "TBD_DEMO_UserProfile_Profiles"
$dbUserSocial ="TBD_DEMO_UserProfile_Social"
$dbUserSync ="TBD_DEMO_UserProfile_Sync"

# Subscription Settings Service Application
$CreateSubscription = 1
$SubscriptionSAName = “Subscription Settings Service”
$dbSubscription = "TBD_DEMO_Subscription_Settings"

# App management Service Application
$CreateAppMgmt = 1
$AppManagementSAName = "App Management Service"
$dbAppManagement = "TBD_DEMO_App_Management"

# Machine Translation Service Application
$CreateTranslationSA = 1
$TranslationSAName = “Machine Translation Service”
$dbTranslation = “TBD_DEMO_Machine_Translation”

# Work Management Service Application
$CreateWorkMgmtSA = 1
$WorkMgmtSAName = "Work Management Service"


############################################################
#                                                          #
# Prepare the Machine before configuring SharePoint        #
#                                                          #
############################################################

# Create the basic Accounts for Setup 
Foreach ($account in $accounts.keys) {
    $accounts.$account.Add(`
    "credential", `
    (New-Object System.Management.Automation.PSCredential ($DOMAIN + "\" + $accounts.$account.username), `
    (ConvertTo-SecureString -String $accounts.$account.password -AsPlainText -Force)))
}
  
# Check if Registry Key Paths for SQL-Alias already exist, create them if not
if ((test-path -path $x86) -ne $True)
{
    write-host "$x86 doesn't exist"
    New-Item $x86
}
if ((test-path -path $x64) -ne $True)
{
    write-host "$x64 doesn't exist"
    New-Item $x64
}
  
# Creating String to add TCP/IP Alias
$TCPAlias = ("DBMSSOCN," + $SQLServerName)
  
#Creating our TCP/IP Aliases
New-ItemProperty -Path $x86 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
New-ItemProperty -Path $x64 -Name $SQLAliasName -PropertyType String -Value $TCPAlias
 
# Open cliconfig to verify the aliases
Start-Process C:\Windows\System32\cliconfg.exe
Start-Process C:\Windows\SysWOW64\cliconfg.exe

# Farm Passphrase
$s_configPassphrase = (ConvertTo-SecureString -String $ConfigPassphrase -AsPlainText -force)

 

############################################################
#                                                          #
# SharePoint 2013 Product Configuration Wizzard Steps      #
# No need to run the Wizzard within the GUI!!              #
#                                                          #
############################################################

# Make SharePoint PowerShell Availlable
Add-PSSnapin Microsoft.SharePoint.PowerShell

# Creating SharePoint Configuration Database
Write-Output "Creating the configuration database $dbConfig"
New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $SQLAliasName -AdministrationContentDatabaseName $dbCentralAdmin -Passphrase  $s_configPassphrase -FarmCredentials $accounts.SPFarm.credential
 
# Check to make sure the farm exists and is running. if not, end the script
$Farm = Get-SPFarm
if (!$Farm -or $Farm.Status -ne "Online") {
    Write-Output "Farm was not created or is not running"
    exit
}
 
Write-Output "Create the Central Administration site on port $CaPort"
New-SPCentralAdministration -Port $CaPort -WindowsAuthProvider $CaAuthProvider
 
# Perform the config wizard tasks
 
Write-Output "Install Help Collections"
Install-SPHelpCollection -All
 
Write-Output "Initialize security"
Initialize-SPResourceSecurity
 
Write-Output "Install services"
Install-SPService
 
Write-Output "Register features"
Install-SPFeature -AllExistingFeatures
 
Write-Output "Install Application Content"
Install-SPApplicationContent
 
 
# Add managed accounts
Write-Output "Creating managed accounts ..."
New-SPManagedAccount -credential $accounts.SPWebApp.credential
New-SPManagedAccount -credential $accounts.SPSvcApp.credential
 
#Start Central Administration
Write-Output "Starting Central Administration"
& 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\BIN\psconfigui.exe' -cmd showcentraladmin
 
Write-Output "Farm build complete."



############################################################
#                                                          #
# Functions to create Service Applications                 #
#                                                          #
############################################################

# Usage and Health Data Collection
function UsageAndHealthSA {
    Write-Host "Creating Usage and Health Data Collection..."
    Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $UsageLogLocation -UsageLogMaxSpaceGB $MaxUsageLogSpace
    $UsageService = Get-SPUsageService
    New-SPUsageApplication -Name $UsageSAName -DatabaseServer $SQLAliasName -DatabaseName $dbUsageService -UsageService $UsageService > $null
    }

# State Service
function StateServiceSA {
    Write-Host "Creating State Service..."
    New-SPStateServiceDatabase -Name $dbStateService
    $StateSAPipe = New-SPStateServiceApplication -Name $StateSAName -Database $dbStateService
    New-SPStateServiceApplicationProxy -Name "$StateSAName Proxy” -ServiceApplication $StateSAPipe -DefaultProxyGroup
    }

# Managed Metadata Service Application
function ManagedMetadataSA {
    Write-Host "Creating Managed Metadata Service..."
    New-SPMetadataServiceApplication -Name $ManagedMetadataSAName –ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbManagedMetadata > $null
    New-SPMetadataServiceApplicationProxy -Name "$ManagedMetadataSAName Proxy” -ServiceApplication $ManagedMetadataSAName -DefaultProxyGroup > $null
    Get-SPServiceInstance | where-object {$_.TypeName -eq $ManagedMetadataSAName} | Start-SPServiceInstance > $null
}

# Enterprise Search SA and Topology
function EnterpriseSearchSA {
    Write-Host "Creating Search Service Application…”
    Write-Host "Starting Services…”
    foreach ($Machine in $SearchMachines) {
        Write-Host ” Starting Search Services on $Machine”
        Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $Machine -ErrorAction SilentlyContinue
        Start-SPEnterpriseSearchServiceInstance $Machine -ErrorAction SilentlyContinue
    }
    Write-Host "Creating Search Service Application…”
    $SearchSA = New-SPEnterpriseSearchServiceApplication -Name $SearchSAName -ApplicationPool $SaAppPoolName -DatabaseServer $SQLAliasName -DatabaseName $dbSearchDatabase
    $SearchInstance = Get-SPEnterpriseSearchServiceInstance -Local
    Write-Host "Defining the Search Topology…”
    $InitialSearchTopology = $SearchSA | Get-SPEnterpriseSearchTopology -Active
    $NewSearchTopology = $SearchSA | New-SPEnterpriseSearchTopology
    Write-Host "Creating Admin Component…”
    New-SPEnterpriseSearchAdminComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Analytics Component…”
    New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Content Processing Component…”
    New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Query Processing Component…”
    New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Crawl Component…”
    New-SPEnterpriseSearchCrawlComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance
    Write-Host "Creating Index Component…”
    if (!(Test-Path -path $Indexlocation)) {New-Item $Indexlocation -Type Directory}
    New-SPEnterpriseSearchIndexComponent -SearchTopology $NewSearchTopology -SearchServiceInstance $SearchInstance -RootDirectory $IndexLocation
    Write-Host "Activating the new topology…”
    $NewSearchTopology.Activate()
    Write-Host "Creating Search Application Proxy…”
    $SearchProxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity "$SearchSAName Proxy” -ErrorAction SilentlyContinue
    if (!$searchProxy) {
        New-SPEnterpriseSearchServiceApplicationProxy -Name "$SearchSAName Proxy” -SearchApplication $SearchSA
    }
}

function WordAutomationSA {
    Write-Host "Creating Word Automation Service..."
    New-SPWordConversionServiceApplication -Name $WordSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbWordAutomation -DatabaseServer $SQLAliasName -Default
}

function BcsSA {
    Write-Host "Creating Business Connectivity Service..."
    $BcsSAPipe = New-SPBusinessDataCatalogServiceApplication –ApplicationPool $SaAppPoolName –DatabaseName $dbBcs –DatabaseServer $SQLAliasName –Name $BcsSAName
    #New-SPBusinessDataCatalogServiceApplicationProxy -Name “$BcsSAName Proxy“ -ServiceApplication $BcsSAPipe -DefaultProxyGroup
}

function SecureStoreSA {
    Write-Host "Creating Secure Store Service..."
    $SecureStoreSAPipe = New-SPSecureStoreServiceApplication –ApplicationPool $SaAppPoolName –AuditingEnabled:$false –DatabaseServer $SQLAliasName –DatabaseName $dbSecureStore –Name $SecureStoreSAName
    New-SPSecureStoreServiceApplicationProxy –Name “$SecureStoreSAName Proxy ” –ServiceApplication $SecureStoreSAPipe -DefaultProxyGroup
}

function PerformancePointSA {
    Write-Host "Creating PerformancePoint Service..."
    $PerformancePointSAPipe = New-SPPerformancePointServiceApplication -Name $PerformancePointSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbPerformancePoint
    New-SPPerformancePointServiceApplicationProxy -Name "$PerformancePointSAName Proxy" -ServiceApplication $PerformancePointSAPipe -Default
}

function VisioSA {
#    Write-Host "Creating Visio Service..."
#    $VisioSAPipe = New-SPVisioServiceApplication -Identity "Visio Services" -ServiceApplicationPool $SaAppPoolName
#    New-SPVisioServiceApplicationProxy -Name "$VisioSAName Proxy" -ServiceApplication $VisioSAPipe
}

function UserProfileSA {
    Write-Host "Creating User Profile Service..."
    $UserProfileSAPipe = New-SPProfileServiceApplication -Name $UserProfileSAName -ApplicationPool $SaAppPoolName -ProfileDBServer $SQLAliasName -ProfileDBName $dbUserProfile -SocialDBServer $SQLAliasName -SocialDBName $dbUserSocial -ProfileSyncDBServer $SQLAliasName -ProfileSyncDBName $dbUserSync
    New-SPProfileServiceApplicationProxy -Name “$UserProfileSAName Proxy” -ServiceApplication $UserProfileSAPipe -DefaultProxyGroup > $null
    Get-SPServiceInstance | where-object {$_.TypeName -eq $UserProfileSAName} | Start-SPServiceInstance > $null
}

function SubscriptionSA {
    Write-Host “Creating Subscription Settings Service…”
    $SubscriptionSAPipe = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $SaAppPoolName –Name $SubscriptionSAName –DatabaseName $dbSubscription
    New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $SubscriptionSAPipe
    Get-SPServiceInstance | where-object {$_.TypeName -eq $SubscriptionSAName} | Start-SPServiceInstance > $null
}

function AppManagementSA {
    Write-Host “Creating App Management Service…”
    $AppManagementSAPipe = New-SPAppManagementServiceApplication -Name $AppManagementSAName -DatabaseServer $SQLAliasName -DatabaseName $dbAppManagement –ApplicationPool $SaAppPoolName
    New-SPAppManagementServiceApplicationProxy -Name “$AppManagementSAName Proxy” -ServiceApplication $AppManagementSAPipe
    Get-SPServiceInstance | where-object {$_.TypeName -eq $AppManagementSAName} | Start-SPServiceInstance > $null
}

function MachineTranslationSA {
    Write-Host "Creating Machine Translation Service..."
    Get-SPServiceInstance | ? {$_.GetType().Name -eq $TranslationSAName} | Start-SPServiceInstance
    $MachineTranlsationSAPipe = New-SPTranslationServiceApplication -Name $TranslationSAName -ApplicationPool $SaAppPoolName -DatabaseName $dbTranslation
    #New-SPTranslationServiceApplicationProxy –Name “$TranslationSAName Proxy” –ServiceApplication $MachineTranlsationSAPipe –DefaultProxyGroup
}

function WorkManagementSA {
    Write-Host "Creating Work Management Service..."
    $WorkManagementSAPipe = New-SPWorkManagementServiceApplication –Name $WorkMgmtSAName –ApplicationPool $SaAppPoolName
    New-SPWorkManagementServiceApplicationProxy -name “$WorkMgmtSAName Proxy” -ServiceApplication $WorkManagementSAPipe
}



############################################################
#                                                          #
# Do SharePoint Farm Configuration                         #
# No need to run the Wizzard within the GUI!!              #
#                                                          #
############################################################

# Make sure, Admin wants to go on Configuring the Farm with this Script
$DoConfig = Read-Host "Do you want to go on Configuring your Farm? (Y/N) Standard is Y"
if ($DoConfig -eq "N")
{
    exit
}

# Creating App Pool for Service Applications
New-SPServiceApplicationPool -Name $SaAppPoolName -Account (Get-SPManagedAccount -Identity "demo\sp-services")

# Calling Functions to create
# Create Usage and Health Data Collection Service Applications
if ($CreateUsageAndHealth -eq 1) {
    UsageAndHealthSA
}

# Create State Service Application
if ($CreateUsageAndHealth -eq 1) {
    StateServiceSA
}

# Create Manage Metadata Service Application
if ($CreateManagedMetadataSA -eq 1) {
    ManagedMetadataSA
}

# Create Enterprise Search Service Application
if ($CreateSearchService -eq 1) {
    EnterpriseSearchSA
}

# Create Word Automation Service Application
if ($CreateWordAutomation -eq 1) {
    WordAutomationSA
}

# Create BCS Service Application
if ($CreateBcsSA -eq 1) {
    BcsSA
}

# Create Secure Store Service Application
if ($CreateSecureStore -eq 1) {
    SecureStoreSA
}

# Create Performance Point Service Application
if ($CreatePerformancePoint -eq 1) {
    PerformancePointSA
}

# Create Visio Service Application
if ($CreateVisioService -eq 1) {
    VisioSA
}

# User Profile Service Application
if ($CreateUserProfile -eq 1) {
    UserProfileSA
}

# Subscription Settings Service Application
if ($CreateSubscription -eq 1) {
    SubscriptionSA
}

# App Management Service Application
if ($CreateAppMgmt -eq 1) {
    AppManagementSA
}

# Machine Translation Service Application
if ($CreateTranslationSA -eq 1) {
    MachineTranslationSA
}

# Work Management Service Application
if ($CreateWorkMgmtSA -eq 1) {
    WorkManagementSA
}

Was fehlt eigentlich in Office 365 gegenüber on Premise?


Office 365 bzw. SharePoint 2013 Online vs. SharePoint 2013 on Premise. Genau diese Frage habe ich mir gestellt, und bin in einer Übersicht auf dem Technet fündig geworden. Grundsätzlich ist es nicht diese Gegenüberstellung, doch ich habe mir die Mühe gemacht, herauszupopeln, was denn nun von den Features in Office 365 bzw. SharePoint Online gegenüber der On Premise Version fehlt. Ich habe einfach die Features genommen, die im Online NO oder N/A haben, das ergibt den GAP zu on Premise. Natürlich sind einige davon „reine“ Admin Features, aber es hat doch ein paar gewichtige darunter, wie das Content Cross Site Publishing.

Hier die Liste: (vom Original: http://technet.microsoft.com/en-us/library/jj819267.aspx)

Feature Availlable in   O365
No
Custom Site Provisioning No
No
N/A
N/A
N/A
N/A
N/A
No
N/A
N/A
Quota Templates N/A
Read-Only Database Support N/A
Remote Blog Storage N/A
Request Management N/A
Request throttling N/A
Resource throttling N/A
N/A
N/A
N/A
Streamlined Central Administration N/A
System Status Notifications N/A
Unattached Content Database Recovery N/A
Upgrade evaluation site collections No
Usage Reporting and Logging No
No
N/A
PowerPoint Automation Services No
No
WCM: Catalog No
WCM: Cross-site publishing No
No
WCM: Image Renditions No
No
No
Word Automation Services No
No
No
No
Content Search Web Part No
No
No
No
No
Search connector framework No
No
No
No

So long, Samuel

Aus dem Alltag: Fehler beim Erstellen des BI Centers


Wenn Sie ein BI Center aus SharePoit 2013 erstellen wollen, müssen zwei Bedingungen erfüllt sein.

  1. Das Publishing Feature muss in der Site Collection aktiviert sein
  2. Performance Point muss aktiviert sein.

Fehlt das Publishing, so gibt SharePoint eine klare Ansage, dass Publishing fehlt. Beim Performance Point Feature erscheint eine allseits beliebte SharePoint Meldung:

Dependency feature ‚PPSMonDatasourceCtype‘ (id: 05891451-f0c4-4d4e-81b1-0dabd840bad4) for feature ‚BICenterDataConnections‘ (id: 3d8210e9-1e89-4f12-98ef-643995339ed4) is not activated at this scope.

Super, damit kann ich ja wiedermal viel anfangen Trauriges Smiley. Aus diesem Grund dieser Blogpost, Perfromance Point Feature aktivieren und los geht’s.

image

image

image

image

So long, Samuel

Weitere Ressourcen für SharePoint 2010 und 2013


Technet hat weitere Ressourcen für SharePoint 2013 zur Verfügung gestellt.

Viel Spass
so long, Samuel

Download
SharePoint Server 2013 Preview
Office ProPlus 365 Preview
SharePoint Online (Office 365)
SharePoint Server 2010
SharePoint Foundation 2010
SharePoint Designer 2010
SharePoint code samples
SharePoint scripts and sample files
SharePoint 2010 downloads
Office 365 downloads

How To
Build apps for SharePoint
Install SharePoint 2010
Maintain SharePoint 2010
Train SharePoint end users
SharePoint SDKs
SharePoint developer training
SharePoint developer videos
SharePoint IT pro training
SharePoint IT pro videos
Open specifications
SharePoint protocols
Open Specifications Interactive Pivot

Sites
SharePoint developers
SharePoint IT pros
Office developers
Office 365 developers
Office 365 IT pros
Visual Studio developers
SharePoint Online
Office 2010 Resource Kit
Office.com: SharePoint
Microsoft.com: SharePoint
Microsoft.com: Office 365
Upcoming conferences on TopSharePoint.com

Help
SharePoint updates
Apps for Office and SharePoint blog
SharePoint Developer Team blog
Forums: SharePoint 2010
Forums: Office 365
TechNet Wiki
StackExchange: SharePoint
StackOverflow: SharePoint
SharePoint MVPs
SharePoint IT pro support
SharePoint developer support

Komplettes Set an Training Videos für SharePoint 2013


Microsoft hat ein komplettes Set an Training Videos zur Verfügung gestellt. Leider sind die Videos nur in englischer Sprache.

Viel Spass beim anschauen

So long, Samuel

Module 1: SharePoint 2013 IT pro introduction and overview

Get an overview of key changes and new concepts in SharePoint Server 2013 and SharePoint Foundation 2013.

  1. Overview of SharePoint 2013 features and scenarios for IT pros
    Video | Presentation
Module 2: SharePoint 2013 system requirements

Learn about the hardware and software requirements for SharePoint 2013 and supported browser levels and setup considerations.

  1. SharePoint 2013 system requirements
  2. Video | Presentation
Module 3: SharePoint 2013 architectural changes

Learn about key architectural changes in the SharePoint 2013 platform. We’ll highlight the most relevant changes from an overall architectural perspective.

  1. Creating routing and throttling rules in SharePoint 2013
    Video | Presentation
  2. Overview of SharePoint 2013 analytics features and implementation
    Video | Presentation
Module 4: SharePoint 2013 server farms and site architecture planning

Plan for server farms and sites in SharePoint 2013. Learn about planning for the distributed cache, changes in alternate access mappings and self-service site creation, new features in themes, and new ways to share sites, lists, and libraries.

  1. SharePoint 2013 distributed cache service
    Video | Presentation
  2. SharePoint 2013 alternate access mapping and self-service site creation
    Video | Presentation
  3. Change, test, and implement site collection themes in SharePoint 2013
    Video | Presentation
  4. Overview of SharePoint 2013 sharing including requesting and viewing permissions
    Video | Presentation
Module 5: Office Web Apps 2013 architecture and deployment

Learn about the new architecture and deployment model for Office Web Apps including architectural changes, deployment options, and operation aspects.

  1. Overview of Office Web Apps 2013
    Video | Presentation
  2. Deploying Office Web Apps 2013
    Video | Presentation
  3. Managing Office Web Apps 2013
    Video | Presentation
Module 6: SharePoint 2013 service application architecture and individual service applications

Get an overview of about changes in individual service applications in SharePoint 2013, including new service applications, general considerations, and changes in service application architecture.

  1. Compare SharePoint 2013 and SharePoint 2010 service application architectures
    Video | Presentation
  2. SharePoint 2013 changes and features in Access services
    Video | Presentation
  3. SharePoint 2013 changes and features in the apps management service application
    Video | Presentation
  4. SharePoint 2013 changes and features in Business Connectivity Services
    Video | Presentation
  5. SharePoint 2013 changes and features in Excel services
    Video | Presentation
  6. SharePoint 2013 changes and features in the User Profile service application
    Video | Presentation
  7. Walkthrough SharePoint 2013 features in the new machine translation service
    Video | Presentation
  8. SharePoint 2013 changes and features in PerformancePoint services
    Video | Presentation
  9. SharePoint 2013 changes and features in Visio services
    Video | Presentation
  10. Walkthrough SharePoint 2013 features in the work management service application
    Video | Presentation
  11. SharePoint 2013 changes and features in Word automation service
    Video | Presentation
Module 7: SharePoint 2013 enterprise search overview

Learn about the redesigned Enterprise Search in SharePoint 2013 including architectural changes to physical and logical topologies, details about configuration options for crawling, content, and query.

  1. SharePoint 2013 search architecture and topology changes and features
    Video | Presentation
  2. SharePoint 2013 search crawl and content configuration changes and features
    Video | Presentation
  3. SharePoint 2013 search query configuration changes and features
    Video | Presentation
  4. SharePoint 2013 search results interface choices changes and features
    Video | Presentation
Module 8: SharePoint 2013 social features

Social is one of the largest investments in SharePoint 2013. New features and capabilities provide a better and more comprehensive story for social computing in SharePoint 2013. Get a walkthrough of social features in SharePoint 2013.

  1. Overview of SharePoint 2013 social features
    Video | Presentation
  2. SharePoint 2013 community sites and forums
    Video | Presentation
  3. SharePoint 2013 My Site architecture and administration
    Video | Presentation
  4. SharePoint 2013 My Site feeds walkthrough
    Video | Presentation
  5. SharePoint 2013 My Site follow walkthrough
    Presentation
  6. SharePoint 2013 My Site personal libraries walkthrough
    Video | Presentation
  7. SharePoint 2013 My Site My Tasks walkthrough
    Video | Presentation
Module 9: SharePoint 2013 enterprise content management and web content management considerations

Get an overview of key changes and improvements in enterprise content management (ECM) and web content management (WCM) in SharePoint 2013. Learn about new capabilities from eDiscover improvements to major new capabilities for WCM-driven sites.

  1. SharePoint 2013 Enterprise Content Management walkthrough
    Video | Presentation
  2. SharePoint 2013 Web Content Management walkthrough
    Video | Presentation
  3. SharePoint 2013 managed metadata walkthrough
    Video | Presentation
Module 10: SharePoint 2013 customization options and management

Learn about the new customization capabilities in SharePoint 2013 and what that means from IT pro perspective. Learn about required infrastructural changes for new customization capabilities and setting up team development environments.

  1. SharePoint 2013 app model and customization options
    Video | Presentation
  2. SharePoint 2013 app infrastructure configuration and isolation
    Video | Presentation
  3. Overview of the SharePoint 2013 renewed developer dashboard
    Video | Presentation
  4. Setting up team development infrastructure for SharePoint 2013 development
    Video | Presentation
  5. Using SharePoint 2013 Designer to create workflows in SharePoint 2013
    Video | Presentation
Module 11: SharePoint 2013 authentication and authorization overview

Get an overview of changes in claims-based authentication in SharePoint 2013. Learn about new support for OAuth and how it’s used in SharePoint 2013. Also see how OAuth is used in Server to Server (S2S) authentication scenarios.

  1. Claims-based authentication in SharePoint 2013
    Video | Presentation
  2. oAuth authentication in SharePoint 2013
    Video | Presentation
Module 12: Overview of SharePoint 2013 business continuity management

Learn about the approaches and techniques to use when devising a meaningful and cost-effective business continuity management (BCM) strategy for SharePoint 2013.

  1. Design considerations for business continuity management in SharePoint 2013
    Video | Presentation
  2. SharePoint 2013 business continuity management features
    Video | Presentation
Module 13: Upgrading to SharePoint 2013

Learn about the different facets of upgrade preparation and understand the key skills and techniques you’ll need to successfully upgrade to SharePoint 2013.

  1. SharePoint 2013 upgrade methods and best practices walkthrough
    Video | Presentation
  2. SharePoint 2013 upgrade planning tasks and preparation walkthrough
    Video | Presentation
  3. SharePoint 2013 upgrade test tasks and options walkthrough
    Video | Presentation
  4. SharePoint 2013 upgrade implementation tasks and options walkthrough
    Video | Presentation
  5. SharePoint 2013 upgrade validation tasks walkthrough
    Video | Presentation
Module 14: What’s new in Project 2013 for IT pros

Get details about new enhancements for Project Server 2013 for IT pros, including both on-premises and online offerings. Learn about changes in the architecture, deployment and upgrade options, and administration and operations.

  1. Project 2013 overview for IT pros
    Video
  2. Project Online overview
    Video
  3. Project 2013 scalability and performance improvements
    Video
  4. Project 2013 flexibility overview and improvements
    Video
  5. Summary of what’s new in Project 2013 for IT pros
    Video

Automatisch User im AD anlegen für SharePoint Demo Umgebung


Das wollte ich euch schon lange mal posten, hab ich für SharePoint Advent gemacht.

Wenn man hie und da ein Demoszenario aufsetzt wie wohl wir aller hier, dann wäre es ja schön, auch ein paar Personen mit im AD zu haben, um auch den Profilimport zu testen und den Organisational Browser zeigen zu können. Aus diesem Grund habe ich ein Script gesucht, der mir User im AD anlegt. Ich habe Teile gefunden und den Script vervollständigt. Zusätzlich habe ich euch ein Excel mit Userdaten, die ihr verwenden könnt.

Vorgehen:

Eine OU “Employees“ anlegen

Script laufen lassen

Vorgesetzte zuordnen (sorry, das hab ich nicht auch noch gemacht, so könnt ihr das CSV so umgestalten bzw. erweitern wie ihr wollt)

Hier der Script:

$path = "OU=Employees,$domain"
$employees = Get-ADObject -Filter {distinguishedname -eq $path}
$users = import-csv -Delimiter ";" -Path "C:\Scripts\usersToBeCreated.csv"
$ldappath = "LDAP://$path"
$container = [ADSI] $ldappath
$users | foreach {
$first = $_.FirstName
$last = $_.LastName
$phone=$_.Phone
$mobile=$_.Mobile
$office=$_.Office
$job=$_.Job
$username = "$first" + "." + "$last"
$email = "$username" + "@szu.local"
$newUser = $container.Create("User", "cn=„ + "$first" + „ „ + "$last")
$newUser.Put("sAMAccountName", $username)
$newUser.Put("userPrincipalName","$username" + "@szu.local")
$newUser.Put("givenname",$first)
$newUser.Put("sn",$last)
$newUser.Put("mail",$email)
$newUser.Put("description","Experts Inside User")
$newUser.Put("co","Switzerland")
$newUser.Put("company","Experts Inside GmbH")
$newUser.Put("countryCode",756)
$newUser.Put("displayName","$first" + „ „ + "$last")
$newUser.Put("telephoneNumber","$phone")
$newUser.Put("l","Wil")
$newUser.Put("mobile","$mobile")
$newUser.Put("physicalDeliveryOfficeName","$office")
$newUser.Put("postalCode","9500")
$newUser.Put("st","SG")
$newUser.Put("streetAddress","Alleestrasse 4")
$newUser.Put("title","$job")
$newUser.SetInfo()
$newUser.psbase.InvokeSet('AccountDisabled', $false)
$newUser.SetInfo()
$newUser.SetPassword("Training2010”)
}

 

Dazu zugehörige CSV:

FirstName;LastName;Phone;Mobile;Office;Job
Franz;Schmid;055 382 16 20;074 265 15 20;A380;Sales and Marketing
Hans;Muster;055 382 16 21;074 265 15 21;A380;Sales and Marketing
Fritz;Meier;055 382 16 22;074 265 15 22;A380;Sales and Marketing
Karl;Glanzmann;055 382 16 23;074 265 15 23;A380;Sales and Marketing
Fred;Muster;055 382 16 24;074 265 15 24;A381;Lead Sales and Marketing
Thomas;Zuercher;055 382 16 25;074 265 15 25;B240;Administration
Alfred;Trimmbach;055 382 16 26;074 265 15 26;B240;HR
Marianne;Mueller;055 382 16 27;074 265 15 27;B240;HR
Verena;Maeder;055 382 16 28;074 265 15 28;B240;HR
Simon;Albrecht;055 382 16 51;075 265 15 51;B240;Finances
Patricia;Opprecht;055 382 16 29;074 265 15 29;B240;Finances
Andreas;Meier;055 382 16 30;074 265 15 30;B241;Lead HR, Admin and Finances
Stefan;Heinz;055 382 16 31;074 265 15 31;C320;Consultant
Hilton;Gieswnow;055 382 16 32;074 265 15 32;C320;Consultant
Rolf;Beck;055 382 16 33;074 265 15 33;C320;Consultant
Elvira;Beck;055 382 16 34;074 265 15 34;C320;Consultant
Hedwig;Grunder;055 382 16 35;074 265 15 35;C320;Consultant
Nicole;Hang;055 382 16 36;074 265 15 36;C320;Consultant
Dani;Sangue;055 382 16 37;074 265 15 37;C320;Consultant
Martin;Wille;055 382 16 38;074 265 15 38;C320;Consultant
Marcel;Spring;055 382 16 39;074 265 15 39;C320;Consultant
Juerg;Flueckiger;055 382 16 40;074 265 15 40;C320;Consultant
Simran;Chawla;055 382 16 41;074 265 15 41;C321;Lead Consulting
Norberto;Restrepo;055 382 16 42;074 265 15 42;D450;Developper
Adriano;Celentano;055 382 16 43;074 265 15 43;D450;Developper
Serge;Aeschbacher;055 382 16 44;074 265 15 44;D450;Developper
Sandro;Betinelli;055 382 16 45;074 265 15 45;D450;Developper
Silvan;Maletti;055 382 16 46;074 265 15 46;D450;Developper
Stephen;Marthaler;055 382 16 47;074 265 15 47;D450;Developper
Stefan;Iseli;055 382 16 48;074 265 15 48;D450;Developper
Peter;Mueller;055 382 16 49;074 265 15 49;D450;Developper
Doris;Zwahlen;055 382 16 50;074 265 15 50;D451;Lead Developpment
Christian;Glessner;055 382 16 53;074 265 15 53;X100;Management

 

So long, Samuel