Raw SQL for sharing a crm document - dynamics-crm

In MSCRM I'd like to automate sharing documents out to users. I tried using SQL Server Profiler to trace but I can't find the raw sql. Anyone know how to do this? Thanks!

How you do this depends largely on where you're storing the documents (on a file server, within CRM, on SharePoint etc) and also how you want to "share" the document (email a link to a file server location, email an attached document, provide access to doc via CRM UI).
If Sharepoint is part of the equation there's various add-ons / webparts available that integrate document management with CRM. If your document is within CRM you could look at creating a workflow that either emailed a link, or provided access rights within CRM or something similar. You approach would also depend on if you're sharing with CRM users, CRM contacts, or some other type of user.
If you've built a custom form or application then you should be using the API as driis mentions. Whatever the scenario there shouldn't be a need to find the "raw" sql to achieve this.

At the bottom of the definitions of "Filtered***" view there is a bit of sql like
select POA.ObjectId from PrincipalObjectAccess POA
join SystemUserPrincipals sup on POA.PrincipalId = sup.PrincipalId
where sup.SystemUserId = u.SystemUserId and
POA.ObjectTypeCode = 10039 AND
((POA.AccessRightsMask | POA.InheritedAccessRightsMask) & 1)=1
Adding new rows to PrincipalObjectAccess should do the trick. However, it's a hack, it requires administrative privileges and is highly unrecommended on general principles...

Related

Microsoft crm dynamics legacy web interface app

I'm very new to Microsoft CRM, so please fix me if i'm wrong.
I have a business app that has the old web interface.
I don't want to setup a new solution for a client and provide a new api.
A want to reuse what is already there and adjust what data I will get when I request some project query.
My problem is that I cannot find where the schema is defined.
Can someone point me where to look for it?
Right now the api is working and I can retrieve data without problems, but there are some missing fields that are present CRM and not accessible via api. And my goal is to provide those fields
Thanks
go to make.powerapps.com
on right hand side select your env (dev/Test/Prod)
after that select solution on left hand side
then scroll down complete list you will find default solution
once you visit default solution, It hold almost entire system schema and so on. For example tables, it's fields and so on.
there are many other ways, but this should be a good starting point.
Note: It is not recommended to make changes directly under default solution, In fact it is bad way of making changes.

Directus.io vs Laravel voyager

I am looking for a good system where I am able to
customize my table with custom fields without / less php development
get the data by rest api out of the box
membership area (is there a solution for directus.io, voyager, ... ) out-of-the box? (user can register and see some pages only for members) As I understand both systems are headless cms but are there a membership system already for download? Is there a better system to this?
are the system recommended for building an individual CRM System (as foundation for a php developer)? any other suggestions?
Regards
ms
If the plan is to have the platform work as you CRM platform, then Directus would be a great fit. You can install a blank instance, and then just add the collections/fields you want (their online demo actually has an example of some CRM features):
https://demo.directus.io/admin/#/login
The only thing that Directus doesn't have, that you mentioned, is a "Public Register" feature. But this could be a single custom page page that you build that adds users through the API. Also, Public User Registration is on their roadmap.

Change document account in an Oracle Webcenter Content Workflow

I have implemented a website using Oracle Webcenter Portal (WCP) integrated with Oracle Webcenter Content (WCC).
Some pages of the website need to show public documents that are stored in WCC. In order to do this I use WCP content presenters. However, I realized that, in order for the document to be visible to a user that is not logged in, that document must have no account associated in WCC.
However, for security reasons, prior to it's release the document needs to have an account.
I was trying to use WCC Workflow events to alter the account using wfUpdateMetaData Idoc function. However, after some research I realized that this function is only capable of altering metadata that was manually created by me.
Is there any way to achieve this?
Thanks in advance.
You have two possible approaches:
It is possible to give access to non-logged in users, by giving access rights to Guest. It's probably not what you want, so I'll leave this option without further description for now.
Second option is to change account by using executeService to call the UPDATE_DOCMETA service. It might an issue that the document is in an active workflow and you might have to call wfRelease prior to the service call (I have no possibility to test it right now)

How to access entity records if not in menu/sitemap?

Is there any way how to access records of an entity which is not visible in menu/sitemap? Or the only way how can I look at these records is to allow the entity to be visible in the sitemap?
You can use Advanced Find.
You can query the records and also create a new record from there.
You can also create URLs to navigate to anything you want, see Open forms, views, dialogs and reports with a URL.
To open the Closed Opportunities view for Microsoft Dynamics CRM Online:
http://myorg.crm.dynamics.com/main.aspx?etn=opportunity&pagetype=entitylist&viewid=%7b00000000-0000-0000-00AA-000010003006%7d&viewtype=1039

Dynamics CRM Managed Solution Add Customer Set Parameters

I'm creating a solution which will be released as a managed solution for Dynamics CRM Online.
However, the customer will need to put information in when installing the managed solution to allow interaction with outside services.
For example, when you install the LinkedIn solution, you need to add your log in information to allow the CRM to access your LinkedIn account.
How do I add these parameters to the a solution, and then allow the customer to update them if they change?
Cheers
Edit:
To add to my query and following the answer below.
To make sure the process is correct in my head.
Option 1.
I will create a custom entity for storing key/value, or username/password combination.
I would then create a customisation page for the solution using html web resource, which when submitted, javascript would create a single record to hold those values.
I then need to link every record that needs the values stored in the custom record - I'm not sure how this would be done without editing a workflow after the storage record has been created, to link each normal record to the storage one.
Option 2.
Create an xml web resource that stores the values. Create the html/javascript resources to update this using the configuration page.
I can then use a javascript function to obtain that data when the custom entity is created, perhaps to populate hidden fields for storage and use behind the scenes.
I can't find any tutorials on getting started with using xml in this way - can you point me in the right direction?
I typically create a "Configuration" entity that has Name/Value attributes. This is also useful when you have Dev/Test/Prod environments that require different configs (e.g. URLs, credentials, etc).
Another approach is to using Plug-in configurations or Web Resources to store that type of information. The Plug-in configuration is pretty straightforward if you can have the customer use the Plug-in Registration tool to modify the value.

Resources