Sunday, September 2, 2012

SP2013/SP15 Overview

Key Highlights:
1. Shredded storage
2. SQL Improvement - SQL 2012 support
3. Cache Services: Win AppFabric, Farm Level Cache
4. Request Management: Redirection between farm servers based on request parameters
5. Themes
6. Sharing

* Office Webs and Web Analytics no longer available

ECM:
1. Site level retention
2. Discovery Center: Record center. Easy connect to Exchange, file shares etc

Web Content Management:
1. HTML tools for web design
2. Variation: Machine translation using cloud based service to translate individual sites or pages
3. SEO: Url handling (clean urls), metadata setting, site hirerarchy available for individual site pages.
3. Cross Site Collection Publishing
4. Video Embedding: native html 5 video rendering capability
5. Image renditions: resize images on server side by storing new versions
6. Clean urls: Drive navigation using specific term set/metadata navigation. No longer depended on physical site hirearchy but with metadata navigation
7. Metadata navigation:

Social:
1. Microblogging
2. Activity Feeds
3. Communities
4. Discussions
5. Blogs

Search:
1. Personalization
2. Contextual Previews (check with edition has it)

BI
1. Excel BI
2. Excel Services
3. PerformancePoint Services: Using Analysis Services Effective User eliminates Kerb delegation
4. Vision Services: More number of data sources (Use BCS or SQL Azure)

Mobile:
1. Automative Mobile Browser Redirection -> Part of publishing infrastructure

Evolution of customizations in SP15
1. Customization that involve gathering information from external sources are kept seperate from SharePoint and are managed seperately (patched, executed) from SharePoint.
2. This code is outside SharePoint execution context.

Reference:
http://technet.microsoft.com/en-us/sharepoint/fp123606.aspx


 

Sunday, August 26, 2012

Bulk SPDisposeCheck

Handy powershell script for IT Pros to assist in bulk validating assemblies across multiple wsps for spdispose issues.

#########################################################################################################
$deploymentfolder = "C:\SharePoint Dispose Check\ToCheck\"
$workingfolder = "C:\SharePoint Dispose Check\working\"
$spdfolder = "C:\SharePoint Dispose Check\"
$cabfoldername = "cab"
$dllfoldername = "dll"
$wspfoldername = "wsp"
$logfilename = "log_"


#########################################################################################################
$dte = get-date -format MM_dd_yyyy_HH_mm_ss
$logfilename = $logfilename+$dte+".log"

function Pause()
{
 Write-Host "Press any key to continue ...";
 $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown");
}


Write-Host "...Change working folder" -foregroundcolor yellow
pushd $workingfolder

Write-Host "...Cleaning working folder" -foregroundcolor yellow
Remove-Item $workingfolder"*" -recurse

#Pause
Write-Host "...Create new wsp folder" -foregroundcolor yellow
New-Item $workingfolder$wspfoldername -type directory

#Pause
Write-Host "...Copy all wsps to local from deployment folder" -foregroundcolor yellow
Get-ChildItem $deploymentfolder -filter "*.wsp" -recurse | Copy-Item -destination $workingfolder$wspfoldername

#Pause
Write-Host "...Create new cab folder" -foregroundcolor yellow
New-Item $workingfolder$cabfoldername -type directory
Get-ChildItem $workingfolder$wspfoldername | Copy-Item -destination $workingfolder$cabfoldername
Get-ChildItem $workingfolder$cabfoldername | Rename-Item -NewName { $_.Name -replace "wsp","cab" }

#Pause
Write-Host "...Create new dll folder" -foregroundcolor yellow
New-Item $workingfolder$dllfoldername -type directory

#Pause
Write-Host "...Expanding dlls from cab folder" -foregroundcolor yellow
Get-ChildItem $workingfolder$cabfoldername | foreach-object{expand $workingfolder$cabfoldername"\$_" -f:*.dll $workingfolder$dllfoldername}

#Pause
get-childitem $workingfolder$dllfoldername -recurse | ForEach {$_.Set_IsReadOnly($False)}

Write-Host "...Performing SPDispose check" -foregroundcolor yellow
pushd $spdfolder
Get-ChildItem $workingfolder$dllfoldername | foreach-object{.\SPDisposeCheck.exe $workingfolder$dllfoldername"\$_" | out-file -filepath $workingfolder$logfilename -append }

notepad.exe $workingfolder$logfilename
#Pause