Enable Internal Name in Create Column page

Posted by Shantha Kumar on 7th February 2010

In SharePoint out-of-Box, we can’t able to add the internal name for the SharePoint field i.e., Columns. But we can enable that by modifying the Create column page on 12 Hive.

For that we have to modify the FldNew.aspx page, that is available under 12 Hive\TEMPLATE\LAYOUTS folder.

Before modifying, take a copy of that file.

Step 1: Open the file and search for this line,

<INPUT type="hidden" value=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(strName),Response.Output);%> name="Name">

Step 2: Replace the above line with the following codes,

<!– Internal Name –>
<TR> 
<TD class=ms-sectionline height=1 colspan=4><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></TD></TR>
<TR>
<TD nowrap></TD>
        <TD class="ms-descriptiontext" valign="top">
            <TABLE border=0 cellpadding=1 cellspacing=0>
                <TR><TD height=28 valign=top class=ms-sectionheader id=onetidNewColumnOption><H3 class="ms-standardheader"><SharePoint:EncodedLiteral runat="server" text="Internal Name" /></H3></TD></TR>
                <TR><TD class="ms-propertysheet" id=onetidNewColumnOption2><SharePoint:EncodedLiteral runat="server" text="Type an internal / static name for this column." EncodeMethod=’HtmlEncode’/> <BR/> <BR/></TD></TR>
            </TABLE>
        </TD>
            <TD class="ms-authoringcontrols" width=10>&nbsp;</TD>
            <TD class="ms-authoringcontrols" ID=onetidFldEditGuts2><LABEL for="idInternalColName"><SharePoint:EncodedLiteral runat="server" text="Internal Name" EncodeMethod=’HtmlEncode’/></LABEL><FONT size=3>&nbsp;</FONT><BR>
                <TABLE border=0 cellspacing=1>
                    <TR>
                        <TD colspan=2>
                            <INPUT class="ms-input" title="<SharePoint:EncodedLiteral runat=’server’ text=’<%$Resources:wss,fldedit_columnname%>’ EncodeMethod=’HtmlEncode’/>" type="text" value=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(strName),Response.Output);%> name="Name" MaxLength=255 size="<SharePoint:EncodedLiteral runat=’server’ text=’<%$Resources:wss,fldedit_idDisplayNameSize%>’ EncodeMethod=’HtmlEncode’/>" />
                        </TD>
                    </TR>
                </TABLE>
            </TD>
        </TR>

Step 3: Now the page is enable with the internal name. Now we can enter the different name for Internal name and display name on creating a new column.

Create new column with the internal name

:) cheers.

    2 Comments »

  1. Great! Let me try & update you with my findings. Btw doing so will it void MS support?
    Whether any Service pack or hotfix replaces our changes? Incase if this happens what will happen to existing internal used in a List/Libraries?

    Thanks

    Comment by Nataraj — February 11, 2010 @ 9:36 am

  2. If the hotfix or service pack released relative to this page, Our customized page replaced with the new one. So backup our customized page when ever going for applying update or hotfixes.

    Comment by Shantha Kumar — February 13, 2010 @ 12:53 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment