Archives

Archives / 2017 / July
  • Notifications in MSCRM

    Before CRM 2013, if you want an alert on a form within the browser, the only method available was the standard JavaScript alert. i.e.

    alert("This is a standard javascript alert.");

    From CRM 2013 Microsoft introduced an additional alert method in CRM, Xrm.Page.ui.setFormNotification. This method allows three different types of alerts: error, information, and warning. Instead of popping a window open over the current window, this embeds the notification in the CRM page itself.

    Set Button in Notification:

    To add new button in the notification we can use one reference JavaScript file i.e. Notify.js

    For javascript reference file is https://notifyjs.codeplex.com/SourceControl/latest

    function Notify() {

    Notify.add("Get the Company Details", "INFO","id", [{

    text: "link", text: "Company", callback: function () {

    window.open("https://www.mtccrm.com");

    }

    }])

    }

    We can use this code onload / onchange and onsave events it will be shown as below

    clip_image002

    If we click on the company button it will be open a new window.

    Remove Notification

    We can Remove one or all notifications from the custom notification bar. If an ID of a notification is passed into below function, that notification will be removed. If no ID is passed to this function, all notifications will be removed.

    // Remove a single notification

    Notify.remove("id");

    // Remove all notifications

    Notify.remove();

    Notification in Mscrm:

    · To Display Form Level Notifications we can use this method. So, every new notification will be displayed on the top. Users can scroll down for the older notifications.

    · To Display all notification in form use below code

    //Notifications in Form level

    function callFormNotification() {

    Xrm.Page.ui.setFormNotification("Form Error Notification", "ERROR", "1"); Xrm.Page.ui.setFormNotification("Form Warning Notification", "WARNING", "2"); Xrm.Page.ui.setFormNotification("Form Information Notification", "INFO", "3");

    }

    This function is added on form onload, result will be displayed as below.

    clip_image004

    Clear Notification

    To clear the notification in the form use below code, if ID of a notification is passed into below function, that form notification will be removed.

    //Clear Form Notifications

    function clearFormNotification() {

    Xrm.Page.ui.clearFormNotification("1");

    }

    Result will be displayed as below

    clip_image006

  • Restarting Dynamics 365 Portal

    Reason to restart the portal:

    If we made any changes Portals section as per the below screenshot content in the Dynamics 365 that changes are not reflected instantly on to the portal so in order to reflect the changes that we made in the CRM instantly on to the portal need to restart the portal .Otherwise it will take time to reflect the changes on to the portal.

    clip_image002

    Procedure for restarting the portal:

    Logon to portal.office.com it will directly redirect to home page if we are opening the URL in the same browser where Dynamics CRM is opened. If we are using different browser then it will redirect to login page.

    • Login page looks like below

    clip_image004

    • Provide CRM credentials and click on sign in. It will redirect to home page this page looks like below.

    clip_image006

    • Click on Admin tab it will redirect to admin page.

    clip_image008

    • Click on Admin centre and select Dynamics 365 tab it will redirect to Dynamics 365 Administration centre page.

    clip_image010

    • Select APPLICATIONS it will show all the applications available for that Dynamics CRM.

    clip_image012

    • Select your application with this it will show the Manage button for that application.

    clip_image014

    • Click on Manage button it will open the Portal Details page.

    clip_image016

    • Click on PORTAL ACTIONS available at the left side. It will show all the actions available for that particular portal.

    clip_image018

    Here click on RESTART tab and again click on Restart with this process the portal will restarts successfully.

  • Custom workflow Debugging in MSCRM

    With the help of "plugin registration" we can debug the custom workflow. You must first define/register your custom workflow in the CRM by adding steps in your process. Follow the below steps to debug it.

    1) Open the plugin registration tool and connect to CRM.

    2) If you don’t have the Profiler installed, click the “Install Profiler” button which is showing below

    clip_image002

    3) After Profile installing, plugin registration tool shows “Uninstall Profiler” button and a new item ‘Plug-in Profiler’ is added in the registered components as shown below.

    clip_image004

    4) On select of Plugin-in profiler you will find “Profile Workflow” button in the top menu click on that button

    clip_image006

    5) In profile settings window select your workflow in the workflow dropdown and steps will be automatically populate check it and select radio button “Persist to Entity “ and note that “Persistence Key” value for future use and then Click on “ok” .

    clip_image008

    6) After click ok button. If the error occurs "Automatic workflow cannot be published if no activation parameters have been specified" then you have to configure workflow in CRM as "On Demand" to solve this error.

    7) Notice the Profiled item added as the sub item to the Plugin-in Profiler.

    8) Go to process now you can see your selected workflow added with name embedded with profiled.(i.e., On Purchase Order Receive Email to Estimator (Profiled))

    9) Now you can Trigger the relevant workflow.

    10) Once you triggered the workflow. Go to "plugin profiles" in below location i.e., Go to Settingsà Extensionsà Plug-in Profiles.

    clip_image010

    11) Open the Relevant Plugin-in Profile record, make sure the Persistence key matches the one you have copied earlier.

    12) Now open the Serialized Profile tab and copy the text and save that in new text file.

    clip_image012

    13) Now open the plugin registration tool and select plug-in profile then debug button will be displayed click on that button.

    clip_image014

    14) In the opened debug window select the newly created text file in the profile field and in the assembly Location select the custom workflow activity assembly (dll).

    clip_image016

    15) Now go to the visual studio and place some break point in code then attach to process as shown below

    clip_image018

    16) In available Process select the “Plugin Registration tool” as below

    clip_image020

    17) Click the Start Execution button in the Plugin Registration Tool debug window.

    18) Now Breakpoint should be hit and from now on you can edit your code and debug locally.

  • Mobile Offline usage and it’s filtering in Dynamics 365

    • As of now Microsoft Dynamics CRM does not have an option that user can work with mobile application in offline mode.
    • Dynamics 365 has introduced new feature that a user can work with mobile application in offline mode without connecting to the network.
    • With this mobile offline mode also, you can achieve the same productivity which you can obtain when you are online. There will be no impact, if you are working under mobile application with offline mode.
    • Only the System Administrator can be set up an option to select the option of Mobile offline for the selected entities and corresponding data that users can work with in offline mode based on business requirement. Filtering the right set of data for offline ensures effective utilization of your device memory and network bandwidth.
    • Dynamics 365 provides offline service by replicating Dynamics 365 data in Azure, and synchronizing the data from the Azure to mobile client devices. An administrator can filter the data for offline usage at these two stages.
        1. Organization Filter
        2. Profile Filter

    Organization Filter:

    The Organization Filters applies only the entities which are customized with mobile offline option by the administrators and data that gets replicated in the Azure Middleware.

    This data filter is applicable at Organization level.

    To define Mobile offline navigate to settings –> customize the system –> components –>Entities –> select the entity –> General tab à you could able to see the option to enable it for mobile offline.

    Please see the below screenshot.

    clip_image002

    • Once an entity is enabled for mobile offline, you can define organization data download filters on this entity.
    • By default, one filter condition will be there, you can define the organizational filter criteria based on the business requirement.

    Note: filtering can be applied to date-time, single line of text, option-set or whole number field attribute data types. But this filtering is not supported on roll-up and calculated fields and this filtering is supported only on searchable fields.

    Note: We have enabled some entities out of the box for you with pre-defined organization filters for you to start working offline with minimum customization. You can disable these entities for offline, or edit the organizations filters of these entities based on your business requirement.

    • Dynamics 365 out of the box entities by default provides the Organization filters to start working offline mode with minimum customization. If your business requirement does not required these entities to be in offline mode you can edit the organization filters to reduce the network bandwidth and improve the efficiency and productivity.

    clip_image004

    Profile Filter:

    The System administrator can able to define the data that gets downloaded from Azure onto user’s mobile using mobile offline Profiles. The configuration for mobile profile filters navigate to settings à Mobile offline à Mobile offline Profile

    clip_image006

    clip_image008

    The out of box profiles provides us to start working in offline with minimum customization.

    We can use the same or edit it or create new profiles based on customer requirements.

    clip_image010

    clip_image012

    You can define data rules on any offline entity in a profile using profile item . There are four filtering options to choose from in a profile item –

    • Download related data only,
    • All records,
    • Other data filter and
    • Custom data filter.

    All Records:

    In profile item definition for an entity, you can select ‘All records’ to download all the records of this entity from Azure to offline DB on client. There will be no filter condition for this.

    clip_image014

    Advanced Custom Filtering
    In profile item definition for an entity, you can select ‘Custom data filter’ to filter the data based on any field attribute. You can filter based on date-time, single line of text, option-set or whole number field attribute data types. This filtering is supported only on searchable fields.
    After selecting ‘Custom data filter’ click on ‘Define filter rule’ to open a dialog box where you can define filter rules. You can define up to six rules. Each of these rules can also be combined using ‘AND’ and ‘OR’. Following is an example of the custom filter on Account profile item:

    clip_image016

    In this example, a user associated with this profile will have active accounts owned by her/him and modified in last seven days in the offline DB on client.

    Filtering only on ownership
    In profile item definition for an entity, you can select ‘Other data filter’ to filter the data based only on ownership. You can use this option in the organizations running on version older than CRM spring 2016. You have following set of filters to choose from based on the type of entity:

    User or Team owned entity

    • Download my records
    • Download my team’s records
    • Download my business unit’s records
    • Business owned entity -Download my business unit’s records
    • Organization owned entity - Not Applicable

    Following is an example of other data filter on opportunity profile item

    clip_image018

    In this example, a user associated with this profile will have opportunities owned by her/him downloaded onto his client device for offline usage from Azure Middleware.

    Filtering on relationship
    You can also define rules to download data based on relationship. This can be achieved using profile item association artefact. For example, consider you want to download contacts only related to offline accounts. For this you add a profile item for contact entity and define filter to download only related data

    clip_image020

    And, on the profile item of account entity you define a profile item association to download the contacts related to accounts.

    clip_image022

    Advanced Customer Filtering on Relationship3
    you can also further filter data on related entities using advanced custom filters3. This can be achieved by defining custom filters on profile item association same as on profile item.

    clip_image024

    In our example above, we further filter contacts related to offline accounts, to have only those related contacts owned by user and from a specified location in user’s client offline DB.

  • Microsoft CRM ISV MTC Ups Service Quality Assurance by Adding Managers and 24/7 Client Access on Services Business Automation Portal

    Management Technology Consulting LLC (MTC) has set a new benchmark for customer satisfaction by adding Customer Satisfaction Assurance management layer and implementation of end-to-end state-of-the-art Services Business Management (TotalServ Pro) system sharing all client engagement activity measures and status plus history to Clients 24/7 on MTC’s web portal.

    This is truly a masterstroke from MTC which has been figuring out a way to penetrate deep into the Services Business by achieving 100% transparency. Thankfully, its homegrown Services Business Management system “TotalServ Pro” has lived up to every bit of its expectations. Add to that, the newly hired managers have been resourceful in pushing the envelope. 

    MTC achieved a leadership position in 2016 on Microsoft’s AppSource app store for Microsoft’s Dynamics 365 / CRM as the provider of the most solutions and the #1 provider of onboarding services to other platform providers moving to the new Microsoft app store.

    MTC’s leadership in dedicated engineering services as the #1 provider of Dynamics 365/CRM, CRM web portal, and associated Microsoft technology to end users and Microsoft Partners globally created a challenge to offer the highest level of automated quality and on-time assurance with verification transparency. MTC, now in its 11th year, has completed significant investment for expanded leadership in the next decade to meet increasing levels of services and reliability demanded today and in the future.

    A new dedicated Customer Satisfaction Assurance (CSA) management layer is headed by a co-managed team of Rajesh Achanta, the Technical Manager, and Raghuma Reddy, the Functional Business Manager.  The team reports to MTC’s Executive Management. The CSA layer is positioned to integrate the efforts of Client Services Management, Web Properties Management, TotalServ Pro services automation and Gravity Accounting product and implementation management as well as the teams of Project Management and diverse engineering team leads, with the hundreds of clients globally, to manage state-of-the-art services delivery that will consistently exceed customer expectation and anticipate future requirements.

    MTC CEO Mr. Darryl Henderson said “MTC had growing pains in the last two years and needed to right some customer satisfaction shortfall that led us to focus on an Uber-ization of real-time transparency of every aspect of services delivery which required 30 man-years of custom solution development and re-thinking MTC’s organizational structure, subsequently adding a 300% increase in top talent and management staff, but it is paying off by demonstrating the planning, scheduling, and execution technologies that visualize assurance. MTC is experiencing renewed customer faith, larger engagements, and rapid growth. The automation solution that came out of it is now a top product and a new revenue stream as well.”

    With this, MTC is seemingly all geared up for newer business challenges and ready to take on head-to-head with its competitors.