Mindfire has rich experience in developing MS CRM applications. We at Mindfire has delivered various projects in this domain. We describe some of these project experiences below, and will be glad to share our expertise in detail with you.
To know more about our MS CRM expertise, feel free to visit our skills page:
http://www.mindfiresolutions.com/Microsoft-Dynamics-CRM-Consulting-Development.htm
Industry:
Software Service
Technologies:
CRM 4.0, VS 2005
The work involved the - Customization of Produitdudevis (French version of Product Quote) entity there by adding new fields and formulas for tax calculation. The same level of customization was also done to the Product Order and Product Invoice entities. The ISV.Config file was also modified to add the menu option to generate Quote in Excel/PDF format as per the requirement.
br>
br>
ISV Implementation was done to generate the quote in an excel file thereby pulling the records from Quote and Product Quote entity and populate them to a pre-existing excel file. Also allowing the users to download the excel file from the server.
br>
br>
Similar Implementation was also done for export to Excel / PDF in the Order and Invoice entities.
br>
br>
A Post Stage Async child pipeline plug-in was developed to transfer the data from/to the customized fields during Quote -> Order -> Invoice transformation.

Industry:
Service
Technologies:
CRM 4.0, SQL 2005, .NET 3.5, Ajax
The requirement was to build a custom web page to facilitate the addition of contacts to events. To speed up the data entry process the client had the requirement to add multiple participants to a dataset and then write multiple records to MS CRM in one batch.
br>
br>
The user will start by selecting the event to which they wish to add participants to from within MS CRM. If the event does not exist, then the user should have the option to create it. The user will then access the screen which will be an iframe under one of the tabs on the Trip/Event/Campaigns entity form. They can then start adding participants to the event. To do this, they will search for the contact, by first name, last name, mobile or email. The number of records matching the search criteria will get populated with a check box against each of them. The user can select specific records or all the records in one time and then add them to the event. There is also a duplicate check to ensure that the same record is not added twice to the system. The entire page was implemented with Ajax controls and that gave the user a smooth experience.

Industry:
Renewable Energy
Technologies:
MS Dynamics CRM 4.0, ASP. Net 3.5(C#), Javascript
The requirement was to update the client's SharePoint site and yammer account with MS-CRM's account information.
br>
br>
Mainly work involved developing the custom workflow and doing custom implementation to achieve the requisite functionality. The following things were implemented as per the requirement of the project.
br>
br>
--Implemented a custom-work flow activity to create a share-point folder with the account name on the share-point server. This involved the invocation of a sharepoint web service to create the folder upon the successful creation of the account on the CRM side.
br>
br>
--Implemented a custom-work flow activity to create a yammer group with the account name on the yammer account. This is also invoked at the successful creation of the account on the CRM side.
br>
br>
--Implemented an I-Frame to be displayed on a tab of Account entity to populate all the documents from the Share-point Server. The Sharepoint web service was invoked from within the CRM to get this data pulled out from Sharepoint and then have it displayed on the CRM end.
br>
br>
--Implemented a menu button on the Account entity to create a share-point folder with the account name on the share-point server.
br>
br>
--Implemented a menu button on the Account entity to create a yammer group with the account name on the yammer account.

Industry:
Renewable Energy
Technologies:
MS Dynamics CRM 4.0, ASP. Net 3.5(C#), Java script, SQL Server 2008
The requirement was to develop a website (optimized for blackberry/i-phones) for the engineers who do not have any access to the MS-Dynamics CRM Server to help them manage their tasks.The task is generated inside the CRM environment and then assigned to the Engineer user.An I-Frame was developed to populate the engineers name from an external DB that was displayed on the Tasks entity so that the originator of the tasks could allocate the tasks to the engineers.
br>
br>
Once the tasks is assigned to the engineer data it is saved to the external database, and the system sends an email to the engineers with the details of the tasks being assigned. The engineers can then log-in to the website (via computer/mobile) to see the task details and can update the tasks status accordingly on the website. So this involved customisation at the CRM entity level to populate the user data and then push data to the external database as well to populate them on the external website.

Industry:
Marketing Research
Technologies:
VS 2010, VB.net , SQL 2008, FoxPro
We got an opportunity to work on an Australian CRM system called Legrand CRM. Legrand is an application based CRM solution that operates on a Microsoft SQL Server database.The requirement was to work on implementing an integrated outbound SMS functionality. Partnership was done with Burst SMS – an Australian SMS gateway firm to develop a custom branded version of their solution. The application we developed was to facilitate sending of SMS via this gateway based on CRM data.
The core application functions for finding CRM contacts and sending SMS messages to them reminding them on important appointments and meetings etc.The development will revolve around finding contacts in the CRM database to send an SMS to, merging individual contact details into a template (e.g. "Dear Steve…") then sending a call to the SMS gateway to send a SMS message. So the functionality involved general SMS and appointment based SMS.
Legrand CRM can run on both the SQL and as well as the FoxPro database. So the same functionality that was done on the application with SQL data base as the backend was repeated with the FoxPro database as well.

Industry:
Renewable Energy
Technologies:
MS Dynamics CRM 4.0, ASP. Net 3.5(C#), Javascript
The requirement here was to build various reports as part of the existing CRM 4.0 application that the client was having in place. These reports included the New Contacts added, Total Opportunities, Site Visits Undertaken, Feasibility Reports Prepared, Quotations Issued and Total Value etc. Basically the reports are categorized into 4 categories like Administrative Reports, Marketing Reports, Sales Reports & Service Reports.
Microsoft Dynamics CRM handles all the reports with Microsoft SQL Server Reporting Services (SRS), which is a separate application that we can install on a different server than SQL Server or the Microsoft Dynamics CRM Server if desired. Microsoft Dynamics CRM then connects to SRS by using the Reporting Services URL. The solutions that we suggested after analyzing the requirements was both out-of-box and custom reports.
The out-of the box reports are developed using the Report Wizard. This feature enables Users to build basic reports. The Report Wizard gives Users an easy-to-use interface for building reports. Additionally, the final reports are actually Microsoft SQL SRS reports, or .rdl files, that one can further manipulate using a more advanced editing tool such as Visual Studio.
The Custom reports are those where we need to write more complex reports and have a more flexible page layout and design. We need to use a tool such as Visual Studio to create and build our custom reports. These are such reports which we cannot build with report wizard.

Industry:
Software Service Provider
Technologies:
MS-CRM 2011,Javascript
The client had a 1-to-many relationship between a custom entity called a Project and Service Activities.The requirement was to update a field on the Project entity that calculates the total time in hours that all resources are scheduled against it.This CRM implementation was an on-premise system.
The solution that we suggested was to implement a script on the load and save event to update the calculated total time of the project entity. This would update the calculated total time on the linked project by adding up all the linked service records that are linked to that project.
So a restendpoint implimentation using javascript was done to retrieve the service activity time duration for each service activity record related to a single project record and then the total hours gets calculated through jscript and updated

Industry:
Printing
Technologies:
Dynamics CRM 2011 On Line,PHP,SOAP,jQuery,JSONP
The specifications asked for implementing a landing page for the end user where they can trigger add/update events which subsequently needs to be updated in a Microsoft Dynamics CRM 2011 On Line site through a proxy server.
The request handler in proxy server has been implemented in PHP where it receives the data from the front end and then updates them in MS CRM site by invoking the appropriate SOAP based APIs provided by MS Dynamics CRM 2011 On Line.JSONP support has also been added to the PHP processing page which helps in invoking Cross Domain Ajax calls from any other sites to add/update the events in CRM site.
In this case the landing page has been injected into a JSP page where on triggering of the events Ajax calls were made to the PHP request handler page located at a different server/domain. The PHP page would in turn communicate with the CRM Online and update the respective records.
We have also implemented the code to log each and every SOAP requests along with the errors encountered by the application to have it as a failsafe mechanism.

Industry:
IT
Technologies:
Microsoft Dynamics CRM 2011 IFD, ASP.Net, C#, VS2010
The project requirement was to build some custom POC pages that can be exposed to MS CRM users via an iFrame. The page will need to interact with ADFS[active directory federation services] to enforce the MS CRM security model and permit login to the CRM user for interacting with CRM data via the CRM web service.
The user can select the location and date which will populate the Reservation details thereby establishing relationship between different entities. Other features like Legend, footer summary, Sorting options etc are also availabe for making it user friendly. The SOAP endpoints were consumed for interacting with the CRM entities, attributes and relationships.

Industry:
IT
Technologies:
Microsoft Dynamics CRM 2011 , OData endpoint, JScript, HTML, CRM2011 WebResources
The requirement was to allow users the ability to create activities from various CRM entities. Through this Add-on, the users have the ability to launch the add-on form from Account, Contact, Opportunity, Case, Lead and Activity forms and Views and then use it to quickly enter the activity information which will be used to record Closed activity or create new Follow-up Activity records.
The Add-on followed the standard CRM2011 style guideline and when the user launches the Quick Activity form, its default values and lookup functionality is dependent on from where they launch the form. A form was also developed which administered the default settings for the Add-on.

Industry:
IT
Technologies:
VS2010, C#, CRM2011
The primary requirement was to build a standalone windows application that will be used by the CRM Administrator to perform various Administrative tasks. These broadly comprises of Renaming of entities, Modify Audit Settings, Create/Copy attributes etc. The Administrator used to do these tasks manually for most of its client while migrating from CRM4 to CRM2011. This tool allows the user to perform these administrative tasks automatically thus saving lots of time for the user. One of the salient feature of this tool is that it can establish connection to any of the CRM2011 deployment models (on-premise, IFD, Online) and also have the option to save the connection parameters so that the user do not need to re-enter it every time.

Industry:
Online Marketing
Technologies:
CRM2011
The requirement was to develop 3 new templates that can be used by the user while sending reports to their respective customers using the Mail merger functionality of MS-CRM. All the 3 new templates were built against the Quote entities. The templates those were created are
1. SOW Template
2. Quote - Existing Customer
3. Quote Template
The templates were created taking into account the existing relationship between Quote, Contact and Quote Product entities so that data's can be pulled from these entities during the report generation.

Industry:
Services
Technologies:
CRM2011, VS2010, JScript, Webresources
The requirement was to develop a custom page on top of CRM for managing the leads. The page was required to be available from the following entities ribbon control.
-Account
-Contact
-Opportunity
-Lead
-Activities.
A completely separate settings form has been developed that will act as a flag to determine if the custom page will be available from each of the above entity. The lead management page allows the user to lookup the most recent Activity record for the current "Regarding" record as well as show the Actual End of the Activity. If an Actual End date does not exist, then the Created On date of the Activity is shown on the interface. Through this interface, the user would also have the ability to close the associated activity. If the page is viewed from the lead entity then the user has the ability to qualify/ disqualify the lead with reasons. In this case the disqualified values gets populated from the status code field.

Industry:
Service
Technologies:
CRM2011, WebResource, oData
The requirement is to build an interface that will be available from the Configuration Section of the Solution file which will provide users the ability to create new and modify existing Data View definition files.
The interface will list all the existing Data View definitions that are available on that Server.
Users can select a definition, which will also allow the user to edit and save the values.
Users can create a new definition, which will open an empty configuration form and the user can fill up the interface for creating a new one.
Users can remove an existing Data View definition.
Users can copy a Data View definition, which will prompt the user for a Name, and copy the selected Data View definition to a new file using the specified name.
The definition configuration screen will be organized in separate major sections:
General Information
Results Query Information
Results Grid Information
Filter Panel Information
Summary Panel Information
The output will be a XML file that will be stored in Dynamics CRM2011 as a webresource.

Industry:
Manufacturing
Technologies:
CRM2011, WebResource, oData
The requirement is to allow for the creation of duplicate amendments for contracts under the sub-accounts of a parent account. When a contract amendment record is created, a check is performed to see if the current contract's account is a parent account. If it is a parent account and contracts exist under the sub-accounts, the user will be given the ability to select the additional contracts to apply this particular Amendment to. For this a custom logic was developed so that when any amendment record is updated, a check is performed to see if the Contract's Account has any Sub-Accounts based on the Parent Customer field. If found, then a custom dialog is displayed which populates all the associated non-terminated contract details under the sub-accounts. The user can then select the contracts to apply the amendments.

Industry:
Service
Technologies:
CRM2011 , Asp.Net, C#, JScript
The CRM Solution installer is a web application that automatically install or update solutions to a specified CRM implementation. The solution uses a CRM system to retrieve/store information and connect to two CRM systems: the Source system and the Target system. The Source system has all the information necessary to present the web pages and deliver the installation. This contains the inventory of solutions available for installation The Target system which can be an Online or IFD setup is the CRM system where the solution will actually be installed. Some custom entities were created to hold the Solution and installation information. A solution code is autogenerated for a solution that acts as the input to the system.

Industry:
Service
Technologies:
CRM2011, C#, jScript, HTML Webresource
The requirement here was to track and manage Leads from the business perspective. The following tasks were carried out to meet the requirements.
- Custom Attributes were added to the Lead entity and its functionalities were acheived using jscript.
- Relationship mapping with other entities.
- Ribbon Customization
- A Custom Lead Conversion form was developed through which the lead can be converted to Account/Contact/Opportunity entity. This was a replica of the in-built Conversion form with some added features.
- Workflow was built for the Email functionalities.
- A plugin was developed to be be run from the Task Scheduler for the Lead followup.

Industry:
Cleaning and Maintenence
Technologies:
MS Dynamics CRM 2011
This system manages the franchisee and the customers of an organization which is providing cleaning services. Accounting and Quality assurance are the focused areas of this package. Accounting module handles the contract details between the franchisees and the customers, managing the the contracts, upgrading downgrading the contracts, calculating the sales commissions of the sales persons, managing the promissory notes between the organization and the franchisees, managing franchisee cash inflow transactions along with the reports. Quality control handles all the functionality to ensure the quality of services provided by the franchisee to the customers, handling customer complaints, customer cleaner change requests, Special service agreements, Inspection, managing calling sheets etc.. It can handle multiple franchisee in multiple business unit locations.

Industry:
Insurance
Technologies:
CRM2011, HTML, javascript, JQuery
The requirement was to build a set of utilities to be available within specific CRM2011 implementation for bulk processing, application configuration changes and other management functionalities.
To start with, a console page was developed with the same look n feel as that of the CRM Administration page and the different modules were made available from the console page. Following are the modules that were developed for the project.
- Solution Settings Module - Through this module, some of the settings values including metadata will get retrieved/saved to the CRM.
- Policies without Commissions Module - This module will list all the policy entity records that don't have any child records and the result will get populated in a scrollable grid which can be further exported to an excel/csv file.
- Commissions Renewal Module- This module will allow the user to select date range which will further process the result set. It could be a long-running process depending upon the number of records. Asynchronous calls have been used to avoid IE interrupting the script. The status of each record is made available to the user.
- Create Sample Records Module - This allows the user to specify which records types they would like to be automatically populated.

Industry:
Financial Services
Technologies:
CRM2011, C#.Net, Silverlight, Javascript, JQuery
The requirement was to build a dynamic grid that will be placed on the dashboard with the following functionalities.
- Ability to Update Cells.
- Ability to ass and delete rows.
- Summary Options for field level aggregation and Calculations.
- Parameterized to re-use on similar entities.
A custom entity was developed to store the column information for populating the grid dynamically. Using some hidden attributes, metadata information were populated automatically to be used in the grid. The Grid control was developed to read the metadata information and dynamically place the respective controls on the grid. Using the web resource parameter, the ability to create multiple instances was achieved.

Industry:
IT
Technologies:
CRM2011, VS2010, C#
The Solution Compare Tool is a standalone tool that detects any changes made to a solutions in a customer's environment. It starts by connecting to a CRM 2011 organization and parse through the solution file comparing the contents of the file with the current version that is installed. Finally it reports the list of items that were found modified in the current system. The user interface includes a Logic Screen, Solution Screen and Report Screen.
Login Screen : Allows the ability to connect to any CRM deployment and select the solution(.zip) file on the local machine.
Solution Screen : Check if the selected solution is installed or not and display the solution details.
Report Screen: Displays a grid with the display names, actual names, modification date, and resource type of all the items that have been modified
The core logic which is comparing the solution takes place in the report screen where the solutions are compared against the components like entity, Webresource, Security Roles etc and displays the results in the Grid.

Industry:
Manufacturing
Technologies:
CRM2011, Business Intelligent Studio, SSRS, FetchXML
The requirement was to develop the following custom reports for the CRM system. The requirements were shared for the reports with the mockup of the layouts.
The reports included specific business reports like the Checklist report, PO report ,Work Order reports, Equipment details report etc.
FetchXML was used for generating the reports. This helped in making the reports compatible for any CRM deployments.

Industry:
Service Industry
Technologies:
CRM2011 Plugin, C#, JScript, JQuery, HTML, OpenXML
The requirement was to automate the process of document generation from a Microsoft Dynamics CRM organization. The process will retrieve information from a CRM organization and update a Microsoft Word document which will further gets converted to PDF to be saved inside a specific network folder. For achieving this, a plugin was developed which monitored the CRM for any new requests and execute the process by downloading the most recent document and update it thereby pulling the information from the CRM and convert it to a pdf format. OpenXML was used for the document manipulation process. To make the whole process user-friendly, custom HTML webresources were implemented and integrated to the CRM interface that would trigger the plugin and show the status of the results. Documents were also available for download once the process gets completed successfully. The configuration page were also available from the "Configuration" section of the Solution in CRM for storing the settings related to the process.

Industry:
Professional Services
Technologies:
CRM2011, HTML, JScript, JQuery
The requirement was for a feature in the existing Project Management Module that would allow the user to shift the project dates by an offset.It could be shifted to the future or to the past. Since the project has relationships with other entities like Project Tasks , Milestones etc, so the user also wanted the ability to define what is shifted and what is not shifted. For this a Custom HTML was designed and integrated to be invoked from the Ribbon so that the user could decide on the days/months to be shifted and also define the entities that would be involeved in the process. On the completion of the process, the CRM form was also refreshed to reflect the new date.