SSIS 2017 OData source - Sharepoint 2016 $expand - sharepoint

Unable to select expanded properties of an expanded type, when using a query with $expand operator.
Sharepoint 2016 list contains a 'Person or Group' field (column=Client), when querying the list:
SSIS 2017 Odata query:
.../_vti_bin/listdata.svc/mylist?$select=Client,Client/UserName&$expand=Client
Only ClientId is returned in the preview.
When using the browser with above url, the XML scheme contains desired properties - nested.
Any suggestions?
Also, the odata source is using V3.
Is it possible to force it to use V4? If so, how?

ODATA with Sharepoint $expand
Try modifying the Select part as following:
.../_vti_bin/listdata.svc/mylist?$select=Client/Name,ClientId&$expand=Client
Similar issue posts
Using $expand query option with OData, SSIS and SharePoint 2013
OData $expand not working for User Field in SharePoint App
Additional Information
Using the $expand OData Query Option in SharePoint 2013
SharePoint 2013 API OData For Lookup Fields
Adding query options to the SSIS OData Source
Sharepointlist adapter
I really don't like using ODATA Source to read from Sharepoint since it is a generic component for Open Data. Instead, in order to read from a Sharepoint list, you can use the SharepointListAdapter which is a component created by Microsoft community:
SharepointListAdapters-2017-11-27
GitHub project - mssql ssis community samples
The project was published on Codeplex, later after Codeplex is turned into archive it is published on GitHub
Official documentation Download the white paper, it contains a step by step guide on how to use this component

Related

CRM 2013 Sharepoint Integration

I'm out of answers here.
I have an online build of CRM 2013 which is integrated with SharePoint.
I can view, upload and edit files for an example Organisation (OrgA) but there is another for which I can't (OrgB). OrgA has a document location setup but OrgB does not so I used the Add Document Location wizard to create a folder, but it hangs at the creation part. I have browsed the ShapePoint client and the folder has not been created.
I have looked in Document Management Settings and the entity I want is ticked so I clicked next and I can see that the SharePoint URL is valid but I get the following warning
"Microsoft Dynamics CRM List component is not installed.
Install the List component to enable SharePoint to automatically create a hierarchical folder structure on SharePoint for Microsoft Dynamics CRM records. The List component also enables you to get the appearance and behavior of a Microsoft Dynamics CRM list."
If there is a missing component then how did my predecessor (this is only my 2nd day) set up the integration for OrgA and if it is not needed, why can't I create the folder for OrgB through CRM?
Thanks in advance
One of the limitations of CRM SharePoint integration is the ability integrate multiple CRM organizations with a SharePoint application in the same farm.
Source
If you use Microsoft SharePoint 2013, for each SharePoint farm, only
one Microsoft Dynamics CRM organization can be configured for
server-based integration.
So in your case it is either OrgA or OrgB, can't have both integrated to the same SharePoint server.

How to retrieve data from SharePoint?

I have a web application. When the user clicks on a button in my web application, I'd like to retrieve data from SharePoint on behalf of the user. I have read quite a few articles on SharePoint but I'm still not sure how to proceed. Should I create a provider hosted SharePoint App and use the SharePointREST API? Thank you in advance for your help.
You don't need to create a Provider to use the SharePoint Rest Services.
Quoting http://msdn.microsoft.com/en-us/library/office/jj164022(v=office.15).aspx :
One advantage of using REST is that you don’t have to add references to any SharePoint 2013 libraries or client assemblies. Instead, you make HTTP requests to the appropriate endpoints to retrieve or update SharePoint entities, such as webs, lists, and list items. See Get started with the SharePoint 2013 REST service for a thorough introduction to the SharePoint 2013 REST interface and its architecture.
Inside the page you will find videos and code examples that will help you to connect and execute operations.
It's Correct. Data in SharePoint is Stored in Lists or Libraries (to files).
You can use the Client Object Model, to get data remotely from a SharePoint Server (on-premise or Online). The Client Object Model can be used through Assemblies (DLL files) or REST services provided by SharePoint. Generally you should know the location of the data you are going to get, that is, as I initially mentioned, the data in SharePoint are stored in Lists or Libraries, therefore you must know the name of the List or Library Additional Site or Sub-site of the List or Library is.
If the name of the list where the information is stored is "employees" and the HR website, the URL could be formed as follows:
http://spserver.company.com/HR/Employees
For REST services, simply complete URL of the list you want to see, so that you retrieve the information from the list. If you want to apply filters, sorting, to retrieve specific columns, you must do it through CAML queries which the add on REST service call.

Enterprise custom field value using SharePoint API

Is it possible to get project's enterprise custom field value using SharePoint 2010 API?
Well, Project Server has its own data structure and you cannot access it from SharePoint API. You have to use Project Server PSI.

How to Connect to CRM Dynamics Online Odata endpoint LinqPad?

I'm able to connect to self-hosted CRM sites just fine with the default Odata driver within LinqPad. The URI I use in the "WCF Data Services (OData) Connection" dialog for self-hosted is in the format http://MyServer.com/MyOrgName/xrmservices/2011/OrganizationData.svc. The user name is in the format "domain\username".
When I attempt to follow the same format for an CRM Online instance, it doesn't work.
I'm guessing it's either because of the https, or the windows live credentials, but don't know what steps to take to fix the problem...
Please note, I want to use the odata provider, not the CRM 2011 provider. The odata provider gives me the URL to retrieve the data which is extremely helpful for javascript. The CRM 2011 provider gives the fetch XML, which isn't what I want to use in this case...
I contacted LinqPad and they said they don't currently support Windows Live Authentication. I'm guessing that one would have to write a plugin and use the logic from this page to handle the authentication issues.

Is it possible to create a list in WSS 3.0 based on a custom template using SharePoint web services?

I want to create a SharePoint list using SharePoint web services (instance is SharePoint Services v3.0). That list should be built from the custom list template that I have created previously. Browsing through MSDN documentation resulted in the following resolutions:
services.ListsService.AddList(title, description, templateID);
or
services.ListsService.AddListFromFeature(title, description, featureGUID, templateID);
Now, if we take a look at the first implementation, there is a problem as the templateID doesn't exist for my custom template - it refers to the default ones instead.
The second implementation is no good either as I need the templateID again, but I also need the feature GUID which I have no idea how to get. Could anyone help please? Thanks.
It has been confirmed to me from people from Microsoft that, unfortunately, it is not possible to utilize features to create a SharePoint list using SharePoint web services. It can be either done by developing custom web service, or by using Object Model.

Resources