Microsoft CRM Portal (online) development essentials

Published / by AK / Leave a Comment

After developing a custom portal on Microsoft CRM Portals, I like to share my experience.
This is kind of starter guide to build highly customised web pages on Microsoft CRM portals. It is a high level and very informal guide.

Libraries and frameworks

To customise the portal, a good understanding of followings are essential.

Bootstrap

Microsoft CRM portal uses Bootstrap. Use bootstrap customiser like https://www.bootstrap-live-customizer.com/ for a quick customisation.

Continue reading

Default tab (timeline) of Activity Wall in CRM Portal

Published / by AK / Leave a Comment

Configuration and customization of CRM portal is always fun. You need to pay attention to even the smallest thing as there is no one stop place to configure them. Everything is connected among CRM form, portal entity form, metadata, permissions inheritance, scripts. One mis-configuration would render the form incorrectly.

One day, we found that some portal forms are rendering Timeline area like below where it is supposed to be Notes area.

Continue reading

Client-side library for CRM Portal – Completion of first draft

Published / by AK / Leave a Comment

Before end of 2016, I started working on Microsoft CRM Portal development. I realised I have to heavily use liquid and JavaScript if I want to customise. It is true that we can use jQuery to manipulate its elements but I never want to manipulate DOMs especially in this type of application whose UI would change over the time. Coming from CRM development, it will be completely understandable. Continue reading

Duplicated attributes on CRM Portal Form

Published / by AK / Leave a Comment

Last week, my colleague showed me a strange error in one of entity forms in CRM portal. The form itself looks fine and there are no metadata defined for any attributes. The rest of entity forms were working fine. The error message is not useful. We even re-created the form and configure again, but the result was still the same.

CRM Portal error

CRM Portal error

Continue reading

SetProcessRequest and SYSTEM impersonated IOrganizationService

Published / by AK / Leave a Comment

CRM 2016 (Dynamics 365) introduces SetProcessRequest which can be used to activate a business process flow for a given record programmatically. However, it does not always work if IOrganizationService is created by using SYSTEM. To replicate it,

  1. Create a plug-in that executes on Post Operation stage of Create message on an entity (e.g., incident)
  2. Create an impersonated organization service in the plugin
    IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
    IOrganizationService service = serviceFactory.CreateOrganizationService(null);
  3. Use that service to execute the request
    service.Execute(new SetProcessRequest() { ... });

Continue reading

Hello again!

Published / by AK / Leave a Comment

I started blogging about Microsoft Dynamics CRM (now Dynamics 365) 2 years ago. I intended to post new and unusual findings rather than repeating existing topics and contents (there are a lot more blogs posting those already). I did not want to overload the information, thus I could not find enough materials to publish when I was not working with latest products.

Last year, I failed to extend my hosting, and the database backup I had in my local was outdated. As a result, I lost my old posts and I was quite lazy to do it again.

Now, I have got new materials and have started doing my own side projects during my free time. I think my works will be useful for Dynamics community and it is worth to try again publishing my findings. This time, I would like to cover wider area; not just Dynamics CRM.

Stay tuned!