SharePoint Lookup-Spalte deklarativ über CAML XML hinzufügen

<Field ID="{72a29af6-e5d0-4daa-9ee4-19b27397f7bf}"
       Name="MyCustomLookupColumn"
       DisplayName="My Custom Lookup Column"
       Type="Lookup"
       Required="FALSE"
       Group="Custom Site Columns"
       List="Lists\LookUpSourceList"
       ShowField="Title"
       PrependId="True">
</Field>

Es gibt hier drei Eigenschaften, die nicht in der Standardseitenspaltendefinition enthalten sind. Der erste ist „Liste“, wie vielleicht zu vermuten, zeigt es auf die URL der Liste in der Website. In diesem Beispiel weiß ich, dass ich die Titelspalte in einer Liste unter Lists\LookUpSourceList suche. Die nächste Eigenschaft ist „ShowField“. Richtig, das ist das Feld, das in der Lookup-Spalte angezeigt werden soll. Über die letzte Eigenschaft „PrependId“ wird definiert ob die Nachschlagspalte die ID vor dem Wert zurück geben soll.

SharePoint-Systemhaus Stuttgart

SharePoint: Activity could not be loaded because of errors in the XAML.

Oder: Die Aktivität konnte aufgrund von Fehlern in der XAML nicht geladen werden.

Während der Entwicklung eines SharePoint-AddIns in Visual Studio habe ich einen Workflow zum Projekt hinzugefügt. Darauf überraschte mich die folgende Ansicht im Workflow-Designer.

In der Fehlerliste ist als Grund unter Anderem der folgende Fehler aufgeführt:

Typ "Microsoft.SharePoint.DesignTime.Activities.Design.ViewStateNameValue" wurde in Assembly "Microsoft.SharePoint.DesignTime.Activities.16.0.Design" nicht gefunden.

Ein Blick in die Referenzen zeigte in meinem Fall, dass die Bibliothek Microsoft.SharePoint.DesignTime.Activities.16.0.Design.dll überhaupt nicht referenziert wurde. Lediglich eine Datei namens Microsoft.SharePoint.DesignTime.Activities.16.0.dll.

Nachdem die fehlende Referenz zum Projekt hinzugefügt wurde, verschwand die Fehlermeldung und das Projekt ließ sich bauen.

SharePoint-Systemhaus Stuttgart

Fehler: Workflow für SharePoint Server 2013 registrieren

Sobald der Workflow-Manager konfiguriert ist und du versuchst, SharePoint zu registrieren, wirst du möglicherweise auf diese Meldung stoßen:

Microsoft.Workflow.Client.InvalidRequestException: Failed to query the OAuth S2S metadata endpoint
at URI 'http://sitename/_layouts/15/metadata/json/1'. Error details: 'The metadata endpoint responded with an error. HTTP status code: Forbidden.'. HTTP headers received from the server - ActivityId: 4ab628ba-04df-4d36-9425-151a516a7244. NodeId: WORKFLOWHOST01. Scope: /WF - SiteName. Client ActivityId : 4bad9b8e-5231-40f6-a90b-b0775e78c815. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request. 
at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result) 
at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result) 
at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content) -
-- End of inner exception stack trace --- 
at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content) 
at Microsoft.Workflow.Client.WorkflowManagementClient.SendRequest[T](HttpWebRequest request, T content) 
at Microsoft.Workflow.Client.ScopeManager.PublishScopeInternal(ScopeDescription description, String[] pathSegments) 
at Microsoft.SharePoint.WorkflowServices.WorkflowServerPairingContext.EnsureFarmScope(Boolean configureOAuth) 
at Microsoft.SharePoint.WorkflowServices.PowerShell.RegisterSPWorkflowService.InternalProcessRecord() 
at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord()
  • Stelle sicher, dass das Workflow-Servicekonto auf allen Workflow-Hosts Mitglied der Gruppe Lokale Administratoren ist.
  • Gehe in der Zentralen Administration auf „Web-Applikationen verwalten“ und wähle die Zeile der entsprechenden Web-Anwendung aus, für die du dich bei WFM registriert hast
  • Klicke im Ribbon auf „Benutzerrichtlinie“ und dann auf „Benutzer hinzufügen“.
  • Wähle die passende Zone für deine Umgebung aus
    Füge das WFM-Servicekonto hinzu und wähle „Volle Kontrolle“ im Abschnitt „Berechtigungen“ (nicht zulassen, dass das Konto als System! funktioniert)
  • Klicke auf OK und versuche es erneut zu registrieren.

Wenn dies weiterhin fehlschlägt, versuche den -Force-Parameter hinzuzufügen. Sollte Sharepoint nicht über HTTPS laufen, ergänze außerdem den Paramter -AllowOAuthHttp

Register-SPWorkflowService -SPSite "http://myserver/mysitecollection" -WorkflowHostUri "http://workflow.example.com:12291" -Force -AllowOAuthHttp

SharePoint-Systemhaus Stuttgart