Category Archives: Content Management

The Future of InfoPath Forms

Posted by on February 2, 2014 at 6:19 pm.

It’s been a long time speculation Microsoft would be phasing out InfoPath support in SharePoint. Rightfully so, the experience is awful: it’s bugging, hard to maintain, they don’t migrate well, and generally cause more harm than good.

Officially, Microsoft has recently admitted InfoPath forms are finally being retired and a new forms method (TBD) will be investigated. In a January 31st, 2014 post, the office team declared:

“We are looking to make investments that allow you to easily design, deploy, and use intelligent, integrated forms across Office clients, servers, and services—forms that everyone can use on their PC, tablet, or phone.”

Finally. Heavily relying on InfoPath forms today? The InfoPath 2013 desktop client and InfoPath Forms Services for SharePoint Server 2013 will continue to be supported through 2023 as part of Microsoft’s Lifecycle support policy. You’ve got until April 2023 to figure that one out; however, I wouldn’t bank on a smooth migration solution to whatever comes next. 🙂

Add Column to Default View Using PowerShell

Posted by on September 10, 2012 at 8:49 am.

Recently I had a request from a client to add a custom site collection column to all document libraries. This is pretty easy though the SharePoint UI of course, by creating a custom Site Column in the collection and adding it to the ‘Document’ content type.

However, in doing this the column is not added to the default view for any document libraries. This can be easily done using PowerShell using the script below. This adds the column to the default view in every document library throughout the entire site collection (referenced here).

$site = Get-SPSite “http://sharepoint.com”
$column = “Column”

$site | Get-SPWeb -limit all | ForEach-Object {

# Get all document libraries
$lists = $_.Lists | where  {$_.BaseType -eq “DocumentLibrary”}

# Loop libraries
for ($i = 0; $i -lt $lists.Count; $i++)
{

try
{

# Get current view
$view = $lists[$i].DefaultView

if($view)
{

# Delete if already exist
while($view.ViewFields.ToStringCollection().Contains($column))
{

$view.ViewFields.delete($column)
$view.Update()

}

# Add column
if(!$view.ViewFields.ToStringCollection().Contains($column))
{

$view.ViewFields.add($column)
$view.Update()

}

}

}
catch [Exception]
{

write-output (”  Error: ” + $_.Exception.ToString())

}

}

}

$site.Dispose()

You can also add views to a view by URL and view name for one specific view or list (a nice tip I found here). Here is another option by using GetViewFromUrl:

$spWeb = Get-SPWeb -Identity "http://mySharePoint"
$spView = $spWeb.GetViewFromUrl("/Lists/MyList/AllItems.aspx")
$spField = $spList.Fields["MyField"]
$spView.ViewFields.Add($spField)
$spView.Update()

You can also try to use SPList object as below:

$spList = Get-SPList -Url "http://mySharePoint/Lists/MyList"
$spView = $spList.Views["All Items"]
$spField = $spList.Fields["MyField"]
$spView.ViewFields.Add($spField)
$spView.Update()

Adding multiple columns to a view can also be done with PowerShell, and even create a new view and set it as the default view. This is really awesome if you want to leave the default ‘All Items’ view in tact, but create a new custom view and set it as default (found here):

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
$siteURL = "http://dev1share"
 $site = Get-SPSite($siteURL)
foreach($web in $site.AllWebs) {
$listCounter = $web.Lists.Count
 for($i=0;$i -le $listCounter;$i++) {
    $list = $web.Lists[$i]
     if($list.BaseType -eq "DocumentLibrary") {
     $newList = $web.Lists.item($list.ID);
  $viewfields = New-Object System.Collections.Specialized.StringCollection
   $viewfields.Add("DocIcon")
   $viewfields.Add("LinkFilename")
   $viewfields.Add("_UIVersionString")
   $viewfields.Add("Modified")
   $viewfields.Add("Created")
   $viewfields.Add("Editor")
   $viewfields.Add("FileSizeDisplay")
  [void]$newList.Views.Add("Detailed", $viewfields, "", 100, $true, $true)
   $newList.Update();
  $view=$newList.Views["Detailed"]
   $view.DefaultView = $true
   $view.Update()
 }
 }
$web.Dispose();
 }
 $site.Dispose();

Add Custom Words to SharePoint 2010 Spell Check

Posted by on June 7, 2012 at 8:50 am.

This was a unique one, I had a client recently who utilized SharePoint 2010 for their internal corporate intranet. In my mind one of the best uses for SharePoint, although every time they typed their company name SharePoint would say it was a misspelling!

Obviously it’s not ideal to see the red squiggly line every time you type your company name. Really, Microsoft should have build some kind of global dictionary term management system for adding words with an option to allow end users to add dictionary terms or admins only… but they didn’t. A quick hop around the community found me this great article by Kathryn Ciaralli which did the trick.

You in fact can add custom terms to your SharePoint dictionary! Unfortunately this solution is only per each site collection, but you can setup publishing jobs to keep everything in sync I suppose. To add custom terms to your SharePoint spell check dictionary, do the following for each site collection:

  1. Create a document library at the root site level for your site collection called ‘Spelling’.
    spelling
  2. Create a .txt file on your computer with the custom terms you’d like to add to the dictionary – add one term per line. When you’re done, save it as “Custom Dictionary.txt”.

    Custom Dictionary.txt

  3. Upload the Custom Dictionary.txt file to the new Spelling document library. Bing! Custom terms added to your site collection dictionary, one and done. Simple as that.

Multiple File Uploads in SharePoint 2010

Posted by on March 25, 2011 at 11:27 am.

Working on a project recently I noticed some users had varying experiences with the ‘Upload Multiple Documents’ feature. When uploading documents to a document library there’s an option to upload multiple files (also in the 2010 ribbon).

When selecting this option, most users will then see the following modal window in their browser – essentially drag and drop functionality for managing SharePoint files:

UploadMultipleFiles-modal

However, this is not universally the case. As I discovered, this is only the view for users who have Microsoft Office 2010 installed on their machine as well. The drag and drop feature is basically a Silverlight control so Silverlight is required, but so is Office 2010.

If users have Office 2003 or 2007 installed locally, they’ll see a different file browser all together. Instead of using Silverlight it uses an ActiveX control to display local machine files. Users can still upload multiple files, they just need to select each file individually. Local files appear in a hierarchy organization where you can choose which files to use:

image_thumb[3]

It’s still pretty effective, but not as cool as 2010. A neat work around I typically recommend to preserve the user experience and keep the familiar ‘Drag and Drop’ concept is the Windows Explorer or SharePoint Workspaces options. Using the ribbon in a document library, users can select the ‘Open With Explorer’ option to drag and drop local files to and from SharePoint 2010 document libraries.

Also many thanks to this MSDN discussion thread on this feature to help clear up confusion. With all the cool features in Office 2010 and it’s close ties to SharePoint 2010, I’d definitely recommend upgrading users to Office 2010 with SharePoint 2010. If you don’t have that luxury, at least you have options. Smile