Browse Category

Content Management

Changing a site column or content type group to the _Hidden group

Content types and columns use Groups to organize them. These are used so things are easier to find as there are a lot of default columns and content types (600+ columns and 80+ content types). As you turn on more features you will continue to get other content types and columns added to your site for you to use. You can access the site column and site content type through the Site Settings page.

2016-08-16 13_23_11-Jump List for Mozilla Firefox


Once you go into either page you will see the information organized by Groups with a Show Groups drop down on the top right of the page to easily filter.

2016-08-16 13_25_25-Photos


What you WON’T see on either of these pages are a collection hidden content types and columns.  A good example is the overall Title column for the Item content type. This is a very crucial column that is used across many site content types. So if you change the Title column at the site level, it will cascade to all of your content types and lists that are using that column. I have worked with many clients that did not fully understand what they were updating when they did this so it’s fairly common to see a field like this renamed. If you go into the site columns page you will not see this column because it is part of the _Hidden group. If I go in through site content types -> Item -> Title column, you will see that the column exists in the _Hidden group.

2016-08-16 13_31_41-Start


To change the group of this column you can either select an existing group or create a new group.

2016-08-16 13_34_36-Start


Once you make your changes the column or content type that you changed will now be viewable under the site columns or site content types page in the group that you selected.

2016-08-16 13_36_55-Photos


Now what if you wanted to change this back or add a new column or content type to the _Hidden group? When you go back to the edit page you will see that under the Existing group drop down you don’t have the _Hidden option.

2016-08-16 13_38_29-Start


All you need to do is type “_Hidden” in the New group text box and it will move it into the _Hidden group and it will NOT create a new group.

2016-08-16 13_39_49-Start


Now when you go back to the site columns or site content types page you will no longer see what you moved to the _Hidden group.

2016-08-16 13_41_19-Photos

Steps to hide content from Delve in Office 365

When Delve was released by Microsoft it was pretty groundbreaking in the content management world. There was finally a tool that would help people find content no matter where it was located. This is one of the primary struggles that I work with clients with all the time. People love to think that adding custom managed metadata and building a super complex information architecture will allow people to find content easier. In some use cases this works but as a daily business practice this can drive people away. And once you break down those ECM walls you end up with unorganized chaos. As an ECM guy my palms get sweaty just thinking about some of the setups I have worked on where millions of files are strewn across file shares with no good way to ever find anything. So when Delve came along and basically said; “I don’t care where your content is – here are the files that I think you should be using.” this lessened the need of an in-depth ECM process and at the same time opened up people’s eyes around content security. I don’t want to go too much into Delve as a whole but here is some quick info and handy links before I break down how to hide content.

What is Office Delve?

  • Delve helps you discover the information that’s likely to be most interesting to you right now – across Office 365. Find information about people – and through people – and help others find you.
  • You don’t have to remember the title of a document or where it’s stored. Delve shows you documents no matter where they’re stored in OneDrive for Business or in Sites in Office 365.
  • Delve never changes any permissions, so you’ll only see documents that you already have access to. Other people will not see your private documents.
  • Office Delve for Office 365 admins

Hiding content from Delve

You may have a scenario in which you don’t want content to appear in Delve no matter what. Some examples could be high volume transactional processing files or payroll tracking information. Thankfully Microsoft has given us a simple way to hide content from Delve by using a site column called HideFromDelve. This can be done at the library level as well but I wanted to provide instructions so end users can have the power to add this column after it has been created once.

Important note: This will only hide content from the Delve app itself. The document will still be viewable via search and the Office Graph.

  1. Navigate to the site that has a library of files in which you want to be able to hide them from Delve
  2. Use the gear in the top right to go to Site Settings

  3. Under Web Designer Galleries, click on Site columns

  4. Click Create


  5. Enter the column information and click Ok, the name and type have to be EXACT for this to work.
    1. Name: HideFromDelve
    2. Type: Yes/No (checkbox)
    3. Default value: No


  6. Navigate to the library that you want to hide content and go to Library Settings via the ribbon


  7. Under the list of columns, click the link Add from existing site columns

  8. Scrolls down in the Available site columns list and select the newly created HideFromDelve column and click the add button to move it across. Then click Ok

  9. Navigate back to your library and you can begin marking documents to be hidden from Delve. The quickest way to do this is through the Quick Edit view.

  10. After the next scheduled crawl, the document will no longer appear in Delve!

Don’t create a SharePoint site with the URL “con”

This might not be news to everyone but this issue was a new one for me. I went to go create a site for a client around the state of Connecticut. I had created multiple other sites using the first 3 characters of the state name; ARI, WIS, etc. So I then went to go create a site with the URL of “con” ……

And then……

Server Error in ‘/ Application with a 404 cannot be found error! At first glance this makes no sense. Your site exists, you can see it in site contents:

I found out that this was due to a reserved words list. This list is not directly within SharePoint, but within the fundamental rules of naming files in Microsoft, regardless of file system. Here are the words that you cannot use as the name of a site, library or list.

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

If you have created one of these sites you can still delete them through Site Settings -> Content and Structure.

Select your sub site and click Delete.

Adjusting Email Notifications For SharePoint 2013 Task Lists

When looking at the settings of a SharePoint 2013 task list you no longer have the option to enable email notifications.  This used to be found under List Settings -> Advanced Settings -> Send e-mail when ownership is assigned.

This is what it looks like in 2010.

tasknotifications

This can be still be turned on using Powershell in SharePoint 2013.  Here is the powershell to perform that task along with a link back to the source of the script.  Thanks to the creator of the script karimSP!

$site=Get-SPSite "http://sharepoint2013/"
$web=$site.OpenWeb()
$list=$web.Lists.TryGetList("Tasks")
if($list -ne $null)
{
 $list.EnableAssignToEmail =$true
 $list.Update()
}

Adjusting when the assigned to task email is fired

20  Fortunately we have the ability to change the types of event that fire these emails in powershell.  The primary use case I used this for is too only send task emails on creation of the item (Add).

The available options for when notifications are sent are listed in the SPEventType enumeration and they are:

Member Name Description
Add Additions to the list or list item. (0x00000001)
Modify All changes made in a list or list item. (0x00000002)
Delete Deletion of a list or list item. (0x00000004)
Discussion Changes in Web discussions. (0x00000FF0)
All All events pertaining to the list or list item. (-1)

 

Powershell to update the events

I have included variables at the top of the script that you can enter depending on the location of the task list(s) along with which ones you want to update.  Make sure you run the powershell to activate the assigned to email, the script above, prior to running this script.

##################################################################
# NAME: SharePoint2013TaskAlertEventTypes.ps1
# DESCRIPTION: Script to adjust SharePoint 2013 task list email notifications on different events
# AUTHOR: Drew Madelung
# LAST UPDATED: 11/11/2015
##################################################################

# ***IMPORTANT*** The powershell to enable assigned email notifications must be done prior to this script being ran

Add-PSSnapin Microsoft.SharePoint.Powershell

# Set variables - EXAMPLE variables are set
$sitecollectionUrl = "http://sharepoint2013"
# Eventtypes can be: All, Add, Modify, Delete, Discussion
$eventType = "Add"

# Optional variables - if not used, all event types for all assigned to task alert email notifcations on the listed site will be updated
$subsiteUrl = "/subsite"
$listUrl = "lists/tasks"

$site = Get-SPSite $sitecollectionUrl

# Get subsite if entered
if ($subsiteurl -eq "") { $web = $site.OpenWeb() } else { $web = $site.OpenWeb($subsiteUrl) }

$a = $web.Alerts

foreach ($alert in $a)
{
 $alerttemplate = $alert.DynamicRecipient
 if ($alerttemplate -eq "AssignedTo") {
 if ($listUrl -eq "") {
 $alert.EventType = [Microsoft.SharePoint.SPEventType]::$eventType
 $alert.Update()
 Write-Host 'Updated event type to' $eventType 'for the list' $alert.list
 }
 
 else {
 if ($alert.ListUrl -eq $listUrl) { 
 $alert.EventType = [Microsoft.SharePoint.SPEventType]::$eventType
 $alert.Update()
 Write-Host 'Updated event type to' $eventType 'for the list' $alert.list
 } 
 } 
 } 
}
$web.Dispose()
$site.Dispose()            Write-Host 'Updated event type to' $eventType 'for the list' $alert.list
            }
            
        else {
            if ($alert.ListUrl -eq $listUrl) { 
              $alert.EventType = [Microsoft.SharePoint.SPEventType]::$eventType
              $alert.Update()
              Write-Host 'Updated event type to' $eventType 'for the list' $alert.list
            }    
        }    
    }    
}
$web.Dispose()
$site.Dispose()

Link to download powershell script

16235-illustration-of-a-green-download-button-pv

If anyone has any thoughts or suggestions for this script please let me know!