2

we discovered some very strange behavior in a list. within the last couple weeks, the Created By column for all items was replaced by a date:

35;#2014-12-23 23:17:51

I got this using powershell, but is also shows on the edit/details forms.

However, when I use REST API and query it:

_api/web/lists/getbytitle('ListName')/items?$select=Title,Author/ID,Author/Title&$expand=Author/ID,Author/Title&$filter=Id+eq+60190

I get the author's name as the title value, which I would expect:

            <m:inline>
            <entry>
                <id>f742a8f4-1326-40b6-9f6c-f400a9159732</id>
                <category term="SP.Data.UserInfoItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
                <title />
                <updated>2016-01-22T18:55:23Z</updated>
                <author>
                    <name />
                </author>
                <content type="application/xml">
                    <m:properties>
                        <d:ID m:type="Edm.Int32">35</d:ID>
                        <d:Title>Doe, Jane</d:Title>
                    </m:properties>
                </content>
            </entry>
        </m:inline>

The ID value for both methods is 35. When I look up that number in the user info list of the site collection, it is Jane Doe. I don't know what happened, but somehow sharepoint is associating the created by column to the wrong list or no list at all. It seems the REST API is querying the user information and SharePoint UI is not. Anyone every see anything like this?

6
  • Perhaps instead of storing the data in separate columns, they've combined the data into a single column for efficiency, Author;#Created. Then the rendering logic can display whatever it wants. Just a theory (haven't observed this yet). Jan 22, 2016 at 19:56
  • When I refer to the "created by" column, I mean the read only one that comes with every SP list, library, etc that stores the person's name who created the item. Jan 22, 2016 at 20:04
  • Yes, I know what you mean by the created by column Jan 22, 2016 at 20:11
  • 1
    HA! So based on what you said I went into the column settings and guess what, someone changed the "Show Field" for this column to display "Created", which is a date. It should be Name (with presence). WTH? Thanks. Jan 22, 2016 at 20:16
  • While I hope no one will have to face this, I am still giving my vote since this seem like that one info that may save someone sanity if he will ever need it. In two days you should be able to auto-answer this question, please remember to do that.
    – SPArcheon
    Jan 22, 2016 at 20:34

1 Answer 1

1

It turns out that the "Created By" field in SharePoint is a lookup column and can display/show a number of different values about the account. If you open the column to edit it, there is a property named "Show Field". In our case, someone had changed this to "Created", which refers to the date the account was created in the user information list. That is why it didn't show in the list view (the list view was expecting a person's name). The forms view was showing the date, probably because it is read only and doesn't have to resolve it.

Based on what I saw in other lists, the default display value for this column is "Name (with presence)". That explains why I was getting the correct value using REST API because it was pulling the name, whereas the SharePoint UI was pulling the created date.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.