SharePoint Person/Group Column with REST API

With SharePoint REST API you can iterate through all columns. But what happens when you want to display a Person/Group column like the Author? You will get a User ID as a result.

To display the “Authors Full Name” instead of the ID just use the parameter $expand.

var listname = "My List";
var url =  _spPageContextInfo.webAbsoluteUrl + 
  "/_api/web/lists/getbytitle('"+listName+"')/items?
  "$select=Id,Title,Created,Author/Title&amp"+;
  "$top=20&amp"+;
  "$orderby=Created desc&amp"+;
  "$expand=Author";
...
$.ajax({
 url: url ,
 method: "GET",
 headers: {"Accept": "application/json; odata=verbose" },
 success: function (data) {
   if(data.d.results.length >0){
    for (var i = 0; i < data.d.results.length; i++){
     data.d.results[i].Author.Title
    }
   }
 }
...

And if you need to use the filter based on the Person/Group column here is how to declare it:

var urlPI = _spPageContextInfo.webAbsoluteUrl +
       "/_api/web/lists/getbytitle('"+listName+"')/items?"+
       "$select=Author,Author/Title"+
       "$top=5000"+
       "$orderby=Created desc"+
       "$expand=Author&"+
       "$filter=Author eq '"+_spPageContextInfo.userId+"'";

.

SP Workflow Stages

If you are using SharePoint Workflows the system stores a digital value instead of the text value.

Status Value
Not Started 0
Failed on Start 1
In Progress 2
Error Occurred 3
Canceled 4
Completed 5
Failed on Start (retrying) 6
Error Occurred (retrying) 7
Canceled 15
Approved 16
Rejected 17

Current User with SPService

To get the current user info just use the SPServive to retrive all information you need.

var thisUsersValues = $().SPServices.SPGetCurrentUser({
fieldNames: [“Title”, “EMail”, “Office”, “LastName”, “FirstName”, “WorkPhone”],
debug: false
});
console.log(“Display name: “+ thisUsersValues.Title);

SPS: If statements in calculated columns

Innerhalb von calculated columns können Regeln aufgestellt werden. Do wie erstelle ich Regeln mit mehrfach aufeinanderfolgenden IF-Statements.

Christophe hat dazu einen ausführlichen Blogartikel verfasst.

Für meine Anforderung funktioniert die Regel einwandfrei. Die calculated column benötige ich um einen CQ-WebPart mit Filtern zu versehen.

BUG: Creating List Definition from content type that inherits from event

Heute bin ich auf diesen Fehler gestossen! In meiner Solution habe ich einen content type, der von Event abgeleitet ist, erstellt. Diesen neuen content type habe ich mit zusätzlichen Fields angereichert. Also bis dahin ist es wirklich nicht spektakuläres. Anschliessend Deployed und nun die Überraschung:

Beim Erstellen eines neuen Eintrags über die Ribbonbar “New Event” und Auswahl meines neuen Content Types öffnet SharePoint das Form nicht im entsprechenden content type. Alle meine content types fields fehlen!!!!

Abhilfe:
Nach einer kurzen Recherche bin ich auf den Artikel von Alex gestolpert. Und siehe da, man muss lediglich den TemplateType auf “106” setzen.

TemplateType auf 106
TemplateType auf 106

SharePoint 2010 Kalenderview auf eine bestimmte Zeitspanne voreinstellen

Im SharePoint 2010 ist es möglich mittels dem URL QueryString die Kalenderview auf eine bestimmte Zeitspanne voreinzustellen. Dies kann durch das Anpassen des Links erfolgen:

http://IHREADRESSE/Lists/KALENDERNAME/calendar.aspx?CalendarDate=1/16/2012

CalendarDate=MM/DD/YYYY

Leider funktioniert der QueryString nach dem SP1 nicht mehr. Es wird lediglich die Darstellungszeile aktualisiert aber nicht die Termine. Diese werden nicht dargestellt.

Fix

Abhilfe kann dies durch Anpassung des QueryStrings erfolgen. Hier muss nur die Datumreihenfolge umgestellt werden:

…/calendar.aspx?CalendarDate=2012-1-16

CalendarDate=YYYY-MM-DD

Quelle: Blog sharepointwarrior