imageI’ve seen this come up here and there, and I wanted to try and jot down some clear steps.  If you’re reading this then you likely have used the standard Issues list in SharePoint.  It’s used for various purposes, but generally the out of the box provided ID column is used as the “Issue ID” since it auto-increments by default.  While not configurable, it works for basic purposes.  Invariably, users need to be notified whenever issues are created or updated, so they subscribe to alerts on the list.  When they get their notification email, they notice that the Issue ID is missing, so they aren’t sure exactly which issue got updated. 

We can fix this by adding the ID field to the email alert file.  Unfortunately it’s not very straightforward or friendly to edit.  But for this very small change, it works.  This only works for SharePoint on-premise, you can’t do this with SharePoint Online.  So if that's you, here’s what you need to do:

  1. Get on the SharePoint server desktop, and go to to the following location: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML.  Make a copy of the file alerttemplates.xml and call it whatever you like.  For the sake of these steps let’s call it alerttemplatesWithID.xml. 

    NOTE: NEVER directly edit the original alerttemplates.xml file.  This is because the next time a service pack or CU is applied, any changes made to the file will be undone.

  2. Edit this new copied file (it’s easier with Notepad ++ or similar).   We need to make a very small edit, but we need to do it in very specific places.  In this file, there is an “alert template type” for each type of list or library (document library, task list, contact list, etc.).  We need to modify the type for SPAlertTemplateType.GenericList.  At the very top of the file you will see this:

    image      
               
    Under this heading, search for “ImmediateNotificationExcludedFields”.  There are 2 “Properties”, one used when alerts are sent Immediately, and one when alerts send in a digest (daily, weekly).  This lines list fields that should be excluded from showing on the alert email.  So we need to simply delete the ID; field.  When completed, it should look like this:

    image
  3. Save this file.  Now we need to tell SharePoint to use this file.  Still on the server desktop, drop to an elevated command prompt.  Run the following command:

    stsadm -o updatealerttemplates -filename "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML\alerttemplatesWithID.xml" -url http://yoursitecollectionroot/

  4. Run IISRESET /noforce.  Once this is successful, restart the SharePoint 2010 Timer Service. 
  5. Everything should be good.  If you haven’t already, setup an alert on your issues list, and create an issue and wait.

For alerts you get when issues are created, you will see the ID column but no value.  I assume this is because the new ID value isn’t passed to the alert yet.  But when you get an alert for edited issues, it should show the ID just fine.

image

A much easier possibility I tried was just to make a calculated column called like IssueID or Request ID, with a value of =[ID].  This worked once, but as soon as you edited an issue, the value would go to 0.  So that didn’t work.  Regardless, this works. 

One slight variation on this is if you see on the changed alert email that the ID value is still blank, in the XML file around line 576 in the initial body tag, add the following:

<GetVar Name="NewValue#ID" />

This should load the value for the ID column. 

For more information about C5 Insight or this blog entry, please Contact Us.