PowerApps Common Data Service (CDS) 2.0 connector doesn't work for a Dynamics 365 CE instance - dynamics-365

Hopefully, someone can straight up my PowerApps connectors understanding. Apparently, I have 3 connection options.
Common data service - this connection type only allows me to connect to CDS 1.0 databases, but I want to connect to an existing D365 v9 instance.
Common data service (experimental) - this connection type asked me for a D365 v9 instance ID, but everything is grey out after the step, i.e. it didn't show me any entity after connecting successfully.
D365 data source - this one works but I was told MS has stopped working on this connector. Also, I will have to update the connection after deployment to a different environment manually.
What is the best practice if I want to use a CDS connector? Or I will be stuck with the old D365 connector for now?
Thanks.
==11/1/2018 update==
I have a better understanding of my situation now. Every Dynamics 365 CE instance should have a PowerApp environment automatically, but one of my D365CE instances doesn't. I am suspecting it is because the D365CE instance is still version 8.2.
My question above is because I created an empty PowerApp environment and tried to connect it to the D365CE instance (v8.2). I will give you guys another update after I upgrade the instance to v9.
==11/30/2018 update==
Confirmed. By upgrading a D365CE instance from v8.2 to v9.0, the Power Platform generates an environment automatically and linked it to the D365CE/CDS.

Here's a breakdown of the three connectors you're looking at :
Common Data Service - this connector actually supports both versions of CDS, but it will be dependent based on the environment that you're in. So if you're in an environment that has a CDS1.0 database, it will connect by default to that environment. If you have a CDS2.0 database, it will connect by default to that environment.
Experimental Connector - this is similar to the previous connector, but it includes experimental features in development by our team, and isn't recommended for production use. Generally you should only be using this connector if there is a specific feature we announce in the experimental connector you wish you use.
Dynamics 365 Connector - this is similar to the base CDS connector, however it can only connect to CDS2.0 environments. It also has the ability to connect across environments. So you can be in Env1, but connect to a database in Env2. The normal CDS connector will only connect to the database within the environment you are building your app in.
Which one should you use? The Common Data Service connector is going to be your best option, it's where the most improvements are being released at the moment, and is designed to work best with PowerApps and Flow.
To connect to your Dynamics 365 environment, you'll want to make sure you start from web.powerapps.com and select that environment from the drop down in the top right, if you can't find your Dynamics 365 V9 environment - make sure you have system customizer permissions - if you do and you still can't see it, it may be an issue on our end. You can send me a message with your Dynamics org URL and we can check it for you.
Once you can select it from the environment drop down, you can then create a new app and use the Common Data Service connector, and it will connect directly to your Dynamics 365 data.
Hope this helps,
Clay.

I don't have much experience with CDS 1.0 in the Power Platform. I can share some insights on my experience with Microsoft Flow / Logic Apps, CDS 2.0, and Data Integration. So I hopes this helps add another perspective to this question too.
What is your goal in using Common Data Service? Just to pull Dynamics 365 CE data into it?
This recent Product Team Blog could be useful here if so.
Some initial feedback, if the main goal is to connect to a Dynamics 365 CE instance, consider using the Dynamics 365 Connector through Microsoft Flow. You can create a small Flow at https://flow.microsoft.com/ with a 2 step process like mine below. An event takes place in Dynamics, like creating an account. The event and it's data is captured and in used in a response process, like sending an email alert. In this case the alert is sent to the signed in users email.
From a developer standpoint you can also use the Xrm SDK and Web API to collect data and do some data processing as well in C# or JavaScript respectively too. This is more involved, but provides a greater amount of control around the data you're working with. There's a great intro to
Lastly you can spin up a PowerApp to surface your data as well with some pre build templates https://create.powerapps.com/.
Start with your Data and create a Dynamics 365 app in a phone layout.
Choose your organization and table.
After the app creates, hit play to run it.
Search for an account

It turned out the problem is not with the connectors but with PowerApp environments. By upgrading a D365CE instance from v8.2 to v9.0, the Power Platform generates an environment automatically and linked it to the D365CE/CDS. So, it should just work for all v9+ instances.

Related

ManageEntitlementState workflow in Dynamics 365 version 9

Since Dynamics 365 version 9 upgrade, we have observed new workflows automatically created on CRM instance namely- ManageContractLineState, ManageContractState, ManageEntitlementState.
As I can see from the ManageEntitlementState workflow, it is to handle the status of entitlements in CRM. But earlier this was not done using CRM workflows.
Now each workflow instance will be running for each entitlement in our system which is a huge problem since it puts unnecessary load on our machine.
Is anyone else able to see these workflows on their instances? And why is MS adding these workflows?
October 2018 Release notes talks about deeper integration of entitlements between D365 offerings namely Field service & Sales (work order). There may be background automations happening to achieve this & Workflow is part of it.
Entitlement management
With this release, the Field Service application includes the ability to define entitlements and associate
them with work orders in field service scenarios. Entitlements help
service agents understand the service terms that customers are
eligible for.
This capability helps service organizations ensure
customers receive the appropriate on-site support that aligns with
their allowed entitlements, and that customers are charged according
to their negotiated terms.

Visualise the Dynamics CRM database

I an new to both Dynamics CRM (Hosted) and LINQ, so please forgive my ignorance with this question...
I need to access some data stored in the CRM, but have no idea how to get at it. Normally I would open my SQL Management software and look around for the data, but I cant do that with the Hosted CRM data.
So.... My question is, is there anyway to visualise the 'database' to find the data I need to recal ???
Thanks in advance.
If you want manipulate the data of a CRM 2011 instance is necessary to follow some rules.
For CRUD and business operations you need use the CRM 2011 web services (also in combination with LINQ)
Is also possible (if you can connect to the DB) to read the data from Filtered Views, a Filtered View is a view mapped on a standard CRM entity (for example to read the data from the entity Account you can use the view FilteredAccount)
Read or modify the data directly from the tables is not supported.
If you want to know the structure of the entities you can use the Customization area inside CRM, or install the Metadata Browser (a solution available inside the CRM 2011 SDK) to see the attributes and the relationships.
A good starting point is always the CRM 2011 SDK, you can download here:
http://www.microsoft.com/en-us/download/details.aspx?id=24004
Inside you will find many examples (if you want to use LINQ check the early-bound ones) and the assemblies and tools for development.
Download the SDK and import the Metadata Browser managed solution (\sdk\tools\metadatabrowser\metadatabrowser_2_0_0_0_managed.zip) into your CRM Live instance.
You could also try downloading the database schema for the out-of-the-box database setup. Not really optimal but it might work for you.
You could also install a local version of Dynamics CRM (say in a virtual machine) for testing (either via MSDN or the free trial download.) This will give you SQL access to the database.
I recommend going with the Metadata Browser, which will probably get you the information that you need. Since the Metadata Browser is a managed solution you can install and remove it without impacting the Default Solution or any other solution in the organization.
Actually it turns out it is possible to work with the Dynamics CRM Online 'database' in much the same way as you can with any number of SQL Manager tools.
Linqpad4 - allows you to work with a number of environments and write your queries in VB, C# and even SQL.
It looks like a great tool, and has already helped me greatly, it certainly makes the Dynamics / LINQ scenario much easier to explore and learn about.
LinqPad4 can be downloaded here: [http://www.linqpad.net/]
and the driver(s) for Dynamics CRM can be downloaded here: [http://archive.msdn.microsoft.com/crmlinqpad]
I strongly recommend it.

Data exchange between two Organization in MS CRM

Is there any way through which I can exchange data between two organization.
I want to do my coding in Plugin only. Can we write a code in plugin by which it accesses/manipulates the data of a different org through web services only and not directly hitting its database.
In know the orgs are different worker groups. Just wanted to know if its possible or if there is any other technique.
Thanks in advance.
The data for each CRM organisation is exposed via web services which differ slightly for CRM 2011 and CRM 4. The best thing to do is download the latest version of the SDK for the target platform as there are several examples in there for plugins and service based operations.
From your plugin you will be able to access the other organisation via this service and a connection to the service for the "local organisation in which the plugin is running will be available from the IExecutionContext parameter passed to your plugin. Any operations you carry out across both orgs will not be transactional though.
Also be sure to take a look at the sync and async options available for the plugins. If their use is appropriate for your scenario consider using an async plugin for the updates to the target org to minimise their effect on the source org.
Plug-ins will work. Hitting the database directly is actually not a supported model anyways. You can also think of using BizTalk as the middleware.

Workflow Foundation 4 Instance Store for Oracle

We are strongly considering using Workflow Foundation 4 in our products, however must support both SQL Server and Oracle. Does anyone know an Oracle Instance Store provider for Workflow Foundation 4?
I know I could use SQL Server Express for it, but some of our customers use Oracle, and don't want to have an SQL Server, even free, to manage.
Tks
If you do not mind using a commercial product then DevExpress has a very good solution. 16 database systems are supported along with re hosted designer and custom activities. Read more in this post XAF Workflow persistence storage
An updated devart link on the subject. It works well for me, for the persistance and the tracking participant also.
http://www.devart.com/blogs/dotconnect/?p=5566
AFAIK there is no publicly available version of the instance that works with Oracle. I have seen the question a number of times however so I can only encourage someone to publish one of those I suspect have been created privately on CodePlex.
Use this dll. We are using it and works well. Still need to check tracking and load testing.
http://www.devart.com/forums/viewtopic.php?t=21044&start=0&postdays=0&postorder=asc&highlight=&sid=a5e672c431dafecb1e675b6fbecc5183

Is there a way to get data from Oracle to a form stored on SharePoint 2007?

I need the document or form to be automatically updated when the data in the Oracle database is updated. If not possible, could anyone give me guidance to a solution similar to this?
Thanks for the help.
Oracle supports triggers in Java, so you could execute some code when data is changed in the DB. Sharepoint 2007 does support WebServices, so you could create a client which calls the web service to update the form.
But that sounds more simple than it is. The documentation for the web services in Sharepoint ... uh ... could be better. Many installations of Sharepoint insist on domain logins, so you would need to figure out a way to run Oracle with a Windows Domain logon.
In the end, it's probably more simple to create an email when the data changes in Oracle and have someone manually update the form.
That said, you paid a lot of money to Microsoft for Sharepoint, so they are obliged to tell you which API to use and they can probably even provide an example in, say C#. If all else fails, you can run a little server in C# which updates the form and which listens to data packets sent by a Java trigger in Oracle.
[EDIT] [Here is a blog post]2 to get you started with Java, Apache Axis and Sharepoint. Post a comment if you have any updates. LuUnfortunately, I'm no longer working at a company which uses Sharepoint.

Resources