CRM 2011, REST, OData and Security Roles - rest

Is there any special security privileges that i need to give my users so that they can run some custom code? I have a javascript library that is triggered on a button click that then gets all of the selected items in a subgrid. When I get all of the check-boxed items I then feed that into an update operation and upload the string if items (in the form of GUIDs) into a Single Line Textbox field on my entity. Once that field is updated they will trigger a dialog which consumes the textbox field and does some more work on it.
The problem is that nothing happens. I solved one issue once I figured out that the user needs Organizational write access to the entity, but now I see another exception "...is missing prvReadWorkflow privilege" does that mean these users need Read Access on Organizational workflows?
Am I missing anything else?

I don't have an explaination for why you require read access to workflows for this update operation, but this microsoft CRM forum post appears to be about the same issue you are having.
Tanguy suggests you add read access to processes for the affected user.

Related

REST api to allow multiple users edit the same form at the same time

I'm looking to make something similar to google docs where everyone can update the form (with multiple input fields) at the same time using REST api, the form data will be stored in database, is it possible?
I can have the form to send an update request whenever user make a change, but I still can't quite figure out what the logic to retrieve data/update form field content and resolve conflict when users are editing the same field.
Best way to use SignalR for realtime communication as well as pushing the updates to other users belonging to the similar group (may be call it as users of a same form). SignalR will provide all the underline infrastructure in place.

Keycloak: How to customize user email to be mandatory and immutable

Our old authentication mechanism had mandatory and immutable email for each user by design. After exporting old authentincation mechanism into the hands of Keycloak 4.6.Final, We are left with old references to users by email as this was in fact used as an id from the beginning of this system.
Keycloak User Management UI is delivered to client as part of a whole system. Now we're facing a problem where the users administrator at the customer's side is able to create users with no email, and even worst, he give a user one email and overtime change it. Leaving this option open is most likely to create bugs for the client as the user base grows.
I've been digging around google, sof, keycloak mailing list search engine, and couldn't find any documentation relating developer's ability to apply configuration on top of particular keycloak distribution which would set features such as mandatory and immutable on some user attributes which are optional and editable by default.
I know that question is old, but maybe someone will need answer.
it's 2022-11 and there is experimentas feature in Keycloak 20. You can enable declarative-user-profile and then customize your user profile and set required fields and other options. user-profile
This feature may be removed in the future, because it's experimental.
And this feature has bugs (tried with 20.0.1). For example, if you add required attribute group, then you can see groups while creating new user and you can select groups. But if you try to save user, then error appears telling, that group is required.

Is it possible to manipulate the database through mail in oracle apex?

I was having the similar problem as mentioned in the below link, Select and Display the table in oracle APEX mail body. I followed the mentioned steps and it worked!! .
Now, I just want to extend the same question and wanted to know, Is it possible to manipulate the the database through click on the button in the mail?
If I crate the html Button APPROVE, It should be able to manipulate database table.
Suppose, APPROVE performs delete operation: delete ename from emp where dno=10.
VERSION : ORACLE APEX 4.2
If you are sending an HTML email to a user and you want that user to interact with the system from the email, you could generate an HTML form that submits to a particular URL (some APEX page with some set of parameters) that actually implements the DELETE.
Assuming that the client email application would allow the user to submit a form, which would generally be a security issue and would probably not be possible from some clients, you'd probably have security issues to worry about on the server side. I'd assume, for example, that you don't want to allow any random person that works out the URL to call to be able to delete whatever row you want from your system. You probably want to require that someone is logged in before you'd allow them to delete a row. And you probably want to make sure that they have permission to delete that particular row.
It's certainly possible that you could work around both the client and the server side permission issues by doing something like creating a unique token that expires after a short period of time and gets passed in with the form to verify that the user has permission to delete that particular row. But by the time you're building that sort of infrastructure or sending users to a login page, you're probably better off just creating links in your email that point to a page in your application and letting users go there to request the actual delete. That's going to work more reliably than a form that submits a request and it will probably involve less work for you.

How do I view the invoices for a specific account through a URL in Microsoft Dynamics CRM?

I'm trying to add an iframe into the form for viewing accounts that will display all the invoices that are connected to that account. I've read this MSDN page about accessing specific forms through a URL, which I can achieve, but copying the URL generated into an iframe I have created on my form produces an error message.
I'd like to know whether what I'm trying to accomplish is possible and if so, how I should format the URL so that only the invoices connected to the user account being opened will be displayed. I'll add more details later if I can.
I think what you actually want to do is add a sub-grid. This is different from an iFrame, an iFrame generally contains web resources, or links to pages on the web. A sub-grid specifically exists to show related records - e.g. to show the left hand relationships links on the body of the form.
I think this article should show you what to do.
Edit - based on Jacks comment:
So Crm can't handle this situation quite so easily with out of the box features. But you do have a couple of options. I dont think any of these are perfect solutions, so I'll let you choose.
A sub-grid effectively just runs some FetchXml, you can change this FetchXml with JavaScript, so you could alter the view to return the records not directly related. Green Bible has an example, though this doesnt look like its supported.
Use a report in an iFrame.
Use a plugin, I havnt done this myself, but a colleague told me it was possible to stick a plugin on the retrieve message and basically change the query or results which is used by the view.
Create a second relationship between the invoice and the account. Then whenever you link an invoice to an account, also populate this new relationship (a workflow will do) with the account, and whenever an invoice linked to a contact is created, populate the new relationship with the parent account of the contact (again a workflow will do). Then just base your sub-grid on this new relationship. This approach isnt the cleanest but its probably the quickest and easiest to implement.

Dynamics CRM 2011 custom code

I'm struggling to find much documentation on Dynamics CRM 2011 and have a problem. I'm not looking for code more a pointer as to the correct method of approach (workflow, dialog, custom HTML web resource etc)
I basically want something that does the following:
Go to Contact list
Select some contacts
Ribbon action opens a box that allows me
to select a custom role from a drop down list (source is a dynamics
entity)
Select a radio box for either add or remove role
Save the changes, this will add or remove a role from the contact and also send an email to that contact
I know how to get a list of selected recordIDs but I am not sure if I should be calling a dialog or a custom HTML page with JS.
Can anyone point me in the right direction?
This may not work at all for your scenario but it is worth thinking out of the box sometimes. This would only work if you have a small number of roles and the roles don't change that often.
Add checkboxes on the Contact, one for each role. Build workflows that fire on update of those checkboxes that send your emails. Now users can quickly edit lots of Contact Roles by using the Multi-Edit feature.
The benefit of this approach is it is a "no code" solution and it is very easy for the User since it uses out-of-the-box functionality. The downside is that you need to maintain those checkboxes. But it may be easier than writing a bunch of web resources and javascript!
I have assembled a list of bookmarks on the subject here. I hope the link works.
Gareth Tucker's site is specially interesting.
In the end the solution was to create a Ribbon item that accepted the selected Guids from the contact list.
Then read those in from a web resource (Silverlight) which called into the sdk and created / removed the records accordingly