Form has Event handler attached to it from the web resource - dynamics-crm

I have a marketing list form which has its own OnLoad event attached to it, upon inspecting Form properties I see that there are no libraries added just an event:
this aforementioned .js file does not exist in Web resources.
My question:
Where should I look for it ?

Definitely this is Microsoft OOB web resource library (Internal use only). If this is not bothering you and if you don’t need it, leave it as it is. Even you can remove the event registered in form editor, no harm will be made - possibly some section which is hidden may be shown or vice versa. But, you cannot add it back since library dropdown will be empty when you try to register it back.
It could be mistakenly registered/failed to remove during some upgrades. MS team failure. :(
on a quick search - I see only this reference in internet for that file.
I remember I have seen such mess related to Field service libraries and LinkedIn integration libraries not registered in Account/Contact forms and only events were there.
Even if you try to find the library in default solution, when you open it - it will be condensed and read-only. :)

Related

How do I create a custom global element/app within CRM Dynamics such that it shows on all pages and can control user navigation?

I need to add a custom element/mini-app/extension to CRM Dynamics sales such that it shows globally on all pages that the user navigates to and also can navigate the users urls when certain events happen.
What options exactly do I have to satisfy the above criteria?
The screenshot below shows a sample area that I need to build the app within as an example.
Id imagine there are many use cases where customizing a global element is worthwhile, especially since custom applications may need to be built.
I understand I can use the Resources to create a SPA such as angular which is running so long as the URL stays at the SPA url. But for our use case, we are looking to allow end users to be able to navigate the CRM using the custom controls. but when something happens in a another subsystem, we need end users who are logged into the CRM to instantly view data that is important to them.
Is this technically possible?
Unfortunately this is not feasible. There are some concepts to show learning path like that. It won’t satisfy your need.
I understand what you need, like a news feed or ad rotator for rolling content but context specific flyout area which is always pinned. There is no OOB option or customization/configuration available for achieving this. You can initiate this concept in Dynamics Ideas.
Like you said there can be a HTML web resource developed & embedded in a dashboard, this is very limited for your requirement.
Edit:
I think you are looking for Channel Integration Framework which will help you to configure third party CTI apps.
In CRM V9, they have introduced a new API call for 'Panel'. This panel loads to the side of the screen, and can display content regardless of where the user moves throughout the entire application. I've played around with it a bit for my own person reasons at work, but it looks to be exactly what you're looking for.
The call is 'Xrm.Panel.loadPanel(URL/WebResource)'
https://learn.microsoft.com/en-us/dynamics365/customer-engagement/developer/clientapi/reference/xrm-panel
However, the feature is currently in development, and should only be used in production at your own risk.

How to build WOPI validation application

http://wopi.readthedocs.io/en/latest/build_test_ship/validator.html
As per this documentation, we need to build some HTML host page.
In this document, they mention one point that I didn't understand completely
The simplest way to use the validation application is to use the view
action. To use the view action hosts should treat .wopitest files the
same way other Office documents are treated. In other words, hosts
should do the following:
Launch a host page pointed at the .wopitest file. Ideally, this should
be the same host page used to host regular Office Online sessions.
This will allow the validation application to test things like
PostMessage and do some validation on the way the Office Online iframe
was loaded.
What is .wopitest file and what I need to do exactly, Can anyone please guide me ? please explain stepwise
They mean that you have to call that action in the same way you call any other action (looking for the action url in the discovery, etc.).
For example, when you want to open a .docx for view, you look into the discovery.xml and you find that you have to call https://word-view.officeapps-df.live.com/wv/wordviewerframe.aspx?", and of course you must have ready the Rest services for that action (checkFileInfo, etc.) and the WOPISrc pointing to a file that in fact is a .docx . Well, for the validation application is exactly the same, but you should call to WopiTest app instead of Word app (inside the discovery) and your generated WOPISrc should point to a file called "xxxx.wopitest" instead "xxxx.docx". That's it! ;)

Populate file list with previously uploaded files

Using the jQuery wrapped version of Fineuploader v3.3.
Is it possible to populate the file list with files already in the upload folder?
I think "_addToList(id, name)" should do the trick, but I can't get it to work. Any ideas?
Seems that they are currently working on this feature:
https://github.com/Widen/fine-uploader/issues/784
So, this will be available soon.
This is not a behavior that Fine Uploader currently supports. Fine Uploader only displays files that users have submitted to the uploader since the current uploader instance was created. It doesn't try to be an all-in-one web application. You could probably add your own item to the list/UI via javascript. That probably wouldn't be terribly difficult, but seems like an odd thing to do.
If you'd like to discuss your specific use case more, please open up a feature request in the Github issue tracker.
Generally, client side code cannot add stored or hard-coded path based file names for use in any type of POST or upload operation. Obviously this is a security measure, you can imagine if a malicious web page could add to a generic POST operation some type of baked in file name. So from what I understand, only the user can specify path based file names, via a file browser for the session that it is included in. This applies to HTML/JavaScript/jQuery but am unsure if Flash/Silverlight based solutions would also be limited. I think a Java based uploader would be free of this. But you are just moving closer and closer to installed software.

Access and display web sourced data as 'messages' in Outlook

I have data I provide on an http connection that's essentially message information.
I'd like to create an AddOn for Outlook that will consume/interface with that http service as if it were a mail source and display sender, recipient, subject, date etc and then be able to download the actual message and display it.
I envision this service being accessed either via a folder in the left-hand panel. (Uber feature would be if I could drag a message out of this service into the inbox!)
Unfortunately, I don't normally write code on the MS Stack -- I'm a linux guy. So I'm looking for either a follow-the-dots tutorial or an example of something similar. Failing that, I'll hire someone to write this so would love to know the specific skillsets I should be looking for when I contract someone to write it.
EDIT / Additional Thoughts
I have considered changing the web service (or at least creating a middle-man) that spoke IMAP, but only implemented a sub-set of commands (eg, there's no delete or create-folder or move)
One problem with that is that retrieving the actual message needs to be a different opperation (one that has a quota cost to the end user) so I can't just show the message. An option would be to show a "retrieve" button rather than the actual message (I found a great resource here: http://msdn.microsoft.com/en-us/library/dd542625.aspx for doing something like that) and then having that button do the retrieve and then reload itself. Maybe.
As Pekka says this could turn into a big project .. your description is pretty general and as you know the devil is in the detail ! but there are a number of options ..
you may be able to use Folder.WebViewURL Property of a folder that you have created in outlook and show your app via a web app (you can build that on any tech stack you like)
ok drag and drop may become a little tricky to do.
Outlook forms could also be used. A form can call out to your web service and display what you want. There is some info about form on SO but http://www.outlookcode.com/article.aspx?ID=35 is the best place.
Subclassing .. you can then create your own tree under the outlook tree and display whatever you want in the right hand pane such as grids forms etc. these can interact with the normal outlook folders and you can do your drag and drop though you woudl have to create Outlook Items to display them in the inbox. There is a tutorial on the technique http://www.codeproject.com/KB/office/additional_panel_Outlook.aspx though not doing exactly what you want but the technique is sound.
Next up build your own MAPI Message Store Provider which is probally the hardest thing to do on the list.http://msdn.microsoft.com/en-us/library/cc842153.aspx
As I said your question is no functional spec and there are always many ways to skin the cat but 2 or 3 are probaly where you shoudl look at unless it simple enough just a display a web app.
Marcus
Maybe our product could help you in order to avoid writing your own MAPI Message Store Provider.
Kayxo Insight : .Net Custom Framework for MAPI Message Store Provider

Microsoft CRM 4.0 form attribute mysteriously read-only

I've inherited a customization of Campaign Response in which the Customer attribute is read-only on the form (in both create and update modes), and I can't figure out why. The form has no OnLoad javascript, the attribute "customer" (which is a partylist) is Searchable, and the field-level behavior for the attribute on the form has "Field is read-only" unchecked. The attribute is read-only even for the System Administrator, so it's not an authorization issue.
What else could be making this field read-only?
Thanks,
Phil
First I'd make sure that entity is published. Could be that someone made the change, and then didn't publish the entity.
Second, it is possible that there could be some unsupported changes to the environment. Off the top of my head, they could be attaching javascript to the form via an http module, or modifying the form html by making it locked down, again through an http module. I'd check for any non-native http modules added to CRM's web.config, and I'd also poke around to see if there were any entities that look like they'd be configuration entities for locking/hiding fields. We often do something like that, though in a supported way.
After giving up on Microsoft's support, which was absolutely abysmal, I paid an outside consultant to look into this.
He compared my exported customization to his, and found that, in my exported XML, the Customer field in the Campaign Response form had no LookupTypes, whereas his had 3 LookupTypes:
<LookupType id="f953c2fa-2241-db11-898a-0007e9e17ebd">1</LookupType>
<LookupType id="fa53c2fa-2241-db11-898a-0007e9e17ebd">2</LookupType>
<LookupType id="fb53c2fa-2241-db11-898a-0007e9e17ebd">4</LookupType>
LookupTypes 1, 2, and 4 were exactly what should be there for Account, Contact, and Lead for the Customer of a Campaign Response.
So I added those 3 lines to my XML, imported and published, and now the Customer is enabled and apparently fine.
I would love to know how these LookupTypes could have gone missing in the first place. But at least I've got the default functionality back.

Resources