Error Publishing Workflows with ‘Send Email’ Step (CRM 4.0)

You might encounter an error while trying to publish workflows with an ‘Email Step’ added
Error: “An error occurred when the workflow was being created. Try to save the workflow again.”

The CRM logs show the error as
“Type System.Globalization.CultureInfo is not marked as safe … in web.config”

Here is the resolution

Add the below entry into the web.config file available in the CRM installation directory
Eg : c:\program files\microsoft dynamics crm\crmweb

Try publishing the workflow again. That should work 🙂 !!

CRM Implementation through Agile Technology

Following the traditional norms of a Waterfall model when there are multiple projects lying in the queue, creates bottlenecks for team members at almost every position at some point in time in every organization. It, generally, creates large (or larger) backlogs which managers are unable to keep up with, beyond a certain range.
Practically, when business requirements for any project keep evolving (read changing), during and after the requirement gathering and development phases, holding onto one particular process with the hope of a happy ending to a project doesn’t generally, bring much fruition for a team or company/project. Most projects face incremental requirements irrespective of how much ever perfection might have been achieved in the requirement analysis phase.
We have been implementing CRM systems for some time now, including Dynamics CRM.
A global requirement of the users of a CRM application has been dynamism which demands easy and quick deployment of new functionalities to existing systems. This can be achieved either by deploying unstable new functionalities thus diminishing the credibility of the application and the company catering to it (too big a risk for us) OR being equipped to absorb such demands and deliver them in the least possible time frame with the best possible quality, thus picking on Agile Technologies.
Apart from standalone CRM systems, a common demand amongst many industries has often been a tool which integrates CRM with a system already in use. Examples could be the integration of CRM with accounting systems (like Visma) or resource management system. Generally, such projects bring along issues pertaining to data correctness, performance, and usability which the user mostly cannot foresee during placing an order or requirement gathering phase; again, causing a need for a flexible methodology.
Multiple projects have been implemented by us where iterative development was a requirement due to progressive solution evolvements. Under such circumstances, although it was tough for us to follow any defined software model we also realized that not following any process could lead to harmful consequences like poor quality and service and inefficient resource usage. Therefore, adding tailored-flexibility to traditional processes through XP Agile practices could ensure improved system quality and responsiveness. Amongst the defining characteristics of XP, the ones which we have extensively used are frequent releases in short cycles, simplicity and clarity in code, and frequent communication with a client.
The point here is that while turning to Agile Technologies like Scrum, DSDM and XP etc can be beneficial to an organization as they release it from following one single methodology under every circumstance, an agile technology definitely does not refer to what is known as ‘cowboy coding’. Rather, they are modified processes (and not ‘No Processes’) which one can choose to profitably follow only on meeting certain conditional parameters like resources available and the number of projects etc.

Productizing Add-ons and Solutions for Dynamics CRM.

We at IOTAP have worked with numerous Software Solution Providers and ISVs. Our work involves the development of software solution ideas developed by clients and productizing them.

We’ve used this plethora of knowledge to deploy and create installation files for add-ons and solutions created in Dynamics CRM and Sharepoint.

In a recent assignment, our team was repeatedly asked to help in building and deploying a CRM solution that would help our clients to sell using the internet. The problems in doing so are apparent,

1. Once the product is downloaded people could reverse engineer and build the same functionality with some modifications to exploit the copyright patent laws.

2. Once a product is sold, the buyers need to be informed periodically when there is a version upgrade or a enhancement has been released by the vendor.

We looked at and evaluated many different approaches to overcome the problems mentioned above, and finally were able to build a strong solution to help our clients sell with some sort of assurance. We used a combination of two technologies mentioned in detail below

ClickOnce (www.microsoft.com): ClickOnce is a Microsoft technology that lets you easily deploy your Windows application, whether it’s a Windows Form or Windows Presentation Foundation (WPF) application, via a web page. Applications deployed in this manner are sometimes called smart clients. This application is installed within a sandbox on the client machine and has fewer rights than a normally installed application. One limitation is that the application has no access to local files. It is not installed in the Program Files folder but in the private folder of the user that installs the application. The advantage of ClickOnce deployment is that whenever a new version of the application is available on the Web site, the user can decide whether or not to install the upgrade. This approach can be easily incorporated it into your CI process and make the new version available after every check-in.

Obfuscated (http://www.preemptive.com/): Obfuscated code is a source or machine code that has been made difficult to understand. Programmers may deliberately obfuscate code to conceal its purpose or its logic to prevent tampering, deter reverse engineering or as a puzzle or recreational challenge for readers. It is a form of security through obscurity. Programs are known as obfuscators transform readable code into obfuscated code using various techniques that might induce anti-debugging, anti-decompilation, and anti-disassembly mechanism. Code obfuscation is different in essence from hardware obfuscation, where the description and/or structure of a circuit are modified to hide its functionality.

We were one of the first to use both these technologies to achieve the desired functionality for clients, just another piece of innovation in the quest to help our clients in productizing solutions. To understand more about this please send us an email at [email protected].

Invalid Argument Error – CRM 4.0

There are a couple of scenarios, which could generate the above error
When you create a new record or open an existing record in Microsoft Dynamics CRM 4.0

When you create a new record that contains a date of January 1 in Microsoft Dynamics CRM 4.0, you receive the following error
Invalid Argument
Error code: 0x80040203

This problem also occurs if you open an existing record that contains a date of January 1 after you update from Microsoft Dynamics CRM 3.0 to Microsoft Dynamics CRM 4.0.
The error message might resembles like the one below
Crm Exception: Message: GetDaylightChanges actual year: 2005,
MinValue.Year: 2006, MaxValue.Year: 9999, ErrorCode: -2147220989,
InnerException: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: GetDaylightChanges actual year: 2005,
MinValue.Year: 2006, MaxValue.Year: 9999
View the Resolution at http://support.microsoft.com/kb/948157/EN-US/

When you import customizations in Microsoft Dynamics CRM 4.0
Here one might come across an error like “Failure: bulkoperation: Invalid Argument”
This problem occurs if you import customizations from a server that has been upgraded to Microsoft Dynamics CRM 4.0 from Microsoft Dynamics CRM 3.0.
View the Resolution at  http://support.microsoft.com/kb/948588/EN-US/

Apart from the above, you might also come across an error like “Failure:: Invalid Argument”
This usually occurs when you try to import a customization file which was exported from a CRM server, which had some unpublished customizations

The Suggested approach would be to search for the relationship name in the customization XML file and find the 2 related entities involved in the relationship. Publish these 2 entities OR  all the entities (preferable) on the source CRM Server and Export them again. That should fix the issue.

If the issue remains consider editing the customization XML file directly. Search for the relationship name in the customization XML file. You will come across a node like the one below in this errorous relationship node.

You will notice that the ‘displaynames’ node is empty. You can try replacing this node with the one below

Make sure you use the appropriate language code based on your CRM deployment.
Try importing this file.

CRM Integration With Intelligent Email Marketing Tools

The problem that the marketing team was facing was one of not understanding the potency of their campaigns which were being launched using data in Dynamics CRM. The marketing team was fluent in creating a campaign with a strong message and using the Microsoft Dynamics CRM marketing module to launch large campaigns but the team lacked information about prospective clients – was the email content making a strong enough business case for the target audience at prospective clients.

We evaluated many email marketing solutions which could be integrated with Microsoft CRM,

1. Vertical Response www.verticalresponse.com  (Vertical Response)

2. Eloqua www.eloqua.com (Eloqua)

3. Acxiom www.acxiom.com  (Impact X)

4. Emailvision www.emailvision.com (Campaign Commander)

5. ExactTarget www.exacttarget.com (Exact Target)

Although all of these companies have strong products and services, based on the customer requirements and discussions with decision makers at the client organization we used Vertical Response to increase the functionality of the marketing Module in the Dynamics CRM.   The consultative approach from IOTAP helped identify that the organization was looking for some insights into what the target audience was doing with the emails. The integration with the third party provider – Vertical Response was based on time and optimum utilization of financial resources for the client organizations using Dynamics CRM which helped in developing analytics related to campaign analytics.

The ability to launch a Vertical Response Campaign from within Dynamics CRM User Interface helped the marketing team track the results of the campaign and tweak campaigns for better results.

1. A new campaign is created based on the option selected in the Microsoft Dynamics CRM User Interface.

2. A marketing list is created based on the records selected in the CRM grid.

3. This list generated is attached to the appropriate campaign in  CRM.

4. A campaign activity of type ‘Email’ is created, however, the emails are not actually sent from CRM but the Vertical Response interface.

5. Five days after the launch of the campaign a workflow is triggered to track the responses received using the functionality available in the Vertical Response.

6. A campaign response activity is created in Dynamics CRM for every response received in Vertical Response.

The integration was completed in three weeks and with an additional week spent in developing familiarity with the Vertical Response product, the customer was able to go live with this solution in just 4 weeks. The IOTAP team has worked on numerous integrations and has developed a proprietary integration tool which helps in integrating Microsoft Dynamics CRM with other critical applications like accounting/financial systems and ERP Software. We have found many clients use integrations to increase the richness of data as well as the functionality available in Microsoft Dynamics CRM application to increase productivity and contributions. To read more about one-way integration with applications and overcoming pitfalls please visit http://www.iotap.com/Blog/tabid/673/entryid/23/MYOB-CRM-integration.aspx

crmemailmarketing

For more information on this please send us an email at [email protected].

Microsoft Dynamics CRM 4.0 SDK Updated (4.0.10)

New Additions:

• Using the Paging Cookie – Fetch and QueryExpression sample code to show you how to implement paging.
• Using Pre-generated XmlSerializers – use these supplemental assemblies to increase performance.
• Visualizations (Charts) – These exciting new charts are available for Microsoft Dynamics CRM Online only.
• Walkthrough: Creating and Registering a Custom Workflow Activity – if you are new to custom workflow activities, this walkthrough will get you started.
• Authentication with CRM Online – these samples have been updated to get the organization-specific CrmService Web service URL from the discovery service.
• Using Filters in a Report – new information about enabling data pre-filtering on reports.
• Stylesheet samples – added HTML, CSS, and image files that provide a starting point for creating Web pages that look similar to Microsoft Dynamics CRM.
• Import/Export (Customization File) Schema – updated the customization schemas to be used with the latest releases.
• PluginRegistration tool – includes the latest version of this tool used for plug-ins and custom workflow activities.
• Choosing Between the WSDL and Assemblies – read this new topic to help you choose the best method for your project

Click here to download

Microsoft CRM 4.0 Update Rollup 7 Released

The Microsoft CRM Team  released  the Microsoft Dynamics CRM 4.0 Update Rollup 7 on Thursday, October 22, 2009

To download click here

More Information available here

Microsoft CRM 5.0… on your way

CRM5 is currently on the way and most likely to be shipped sometime in early 2010.
(CodeName :  Microsoft Dynamics CRM “V.Next”)
So what can we expect…… read below for the answers

New Features for Users
========================

Enhanced Navigation

CRM5 uses the same “Fluent UI” (aka the Ribbon) as Office 2007. This new “command bar” replaces the CRM 4.0 “toolbars” at the top of each page, and is context sensitive. In addition, the “command bar” is fully customizable and you can add your own buttons much like you can with ISV.Config
file today.

No more Tabs

The form model in CRM 4.0 made use of tabs to divide a form into multiple pages. In CRM5 tabs are displayed in the same way as a section, with each form just having a single, scrolling page.

Grid Filtering

Apart from sorting, CRM5 now allows filtering on any available column in the Grid, much like Excel Possibly there would be an option to save the filtered view as well.

In-line Visualizations

CRM5 allows you to visualize numeric data using in-line charts within the form itself. This is not SQL Server Reporting Services but looks very much like the .NET charting solution from Dundas. One can select a number of different chart formats such as Bar, Column, Funnel, Line, Pie & Scatter.

Team Ownership

CRM5 now also supports Team Ownership apart from the already existing ones (User owned and Organization owned). A well-needed feature indeed.

Sharepoint Integration

Integration with Windows Sharepoint Service now comes Out of the Box. This includes document management, which includes site and document library provisioning, document metadata, item security, and check-in/check-out capabilities.

Queue

CRM5 now seems to support the “Add to Queue” command, from which we believe the one should be able to add any entity (including custom entities) to a Queue.

New Features for Administrators
=============================

Form  Layout

More flexibility has been added to Form Design, wherein Administrators can now position sections side-by-side, field label can be positioned on the
top, left, right for any control. But the one below takes the icing on the cake. Inline Child Grids are now supported OOB for related child entities. You now don’t need custom coding to make this work.

Filtered Lookup

Finally one of the most desired feature since the 1.2 release, has made its presence available in CRM5. A lookup can now be customized to display data from any pre-defined view or filter by related lookup on the same form.

Form Headers & Footers

Since all fields, sections, tabs now come on a single page,  a form could become quite long, and scrolling to find the required fields could be a headache. CRM5 now supports placing the commonly required fields on the header or footer, so that they will always be displayed regardless of the
scrolling.

Solution Management

With CRM 4.0, you had to implement a manual process when customizing your solution, to make sure that you didn’t overwrite previous customizations, or disrupt any 3rd party ISV solutions. In CRM5 we had now added the concept of solutions.

A solution is a defined set of entity customizations, workflows, e-mail templates, security roles, plug-ins etc. that can be managed as a single unit. Each solution is version controlled so presumably, you can have multiple versions of the same solution installed, and roll-back to the previous version if necessary.

You can also define solution dependencies where one solution can only be installed if another solution is also installed. For example, you might have a base solution for your whole organization, with a departmental specific solution built on top of it.

Namespace collision is avoided by defining publishers, with each publisher having a unique namespace. This avoids the common issue where the default
namespace “new_” is used for all customizations, leading to potential namespace conflicts.

One final plus point is that you can now specify which attributes will be exported as part of a solution, rather than having no choice but to export the whole entity.

Global Picklists
With CRM5, you now have the option of defining a Global Picklist which can be used across multiple forms.

Drag & Drop Form Editor
One of the most time-consuming customization tasks in CRM 4.0 is the form design. Every time you want to add, remove or re-position tabs, sections, and attributes, you have to go through a multi-click process. With CRM5, you can now drag and drop all elements of a form, speeding up the process considerably.

Audit
Audit functionality on attribute level, it seems now comes OOB. An Auditing field now appears within the Attribute setting, which can be set to True or False.

New Features for Developers
==========================

Custom Code Sandbox
There is a new server role for running custom plug-in code and custom workflow activities without requiring full trust. This means that it will be possible to run custom code in the CRM Online environment and achieve true parity between On-Premise, Partner-Hosted, and Microsoft-hosted deployments.

Plug-In Transaction Support
In CRM 4.0 you could register a plug-in to run either before (pre-event) or after (post-event) the CRM platform operation. However, you were not able to run as part of the transaction itself, so you had to write your own compensation logic in the event the CRM platform operation failed. CRM5 addresses this limitation and you can now choose to register your plug-in as part of the platform operation. The CRM5 plug-in registration tool has been modified to support this.

Automatic Plug-In Profiling
CRM5 will keep track of how a plug-in is executing, what resources it consumes if it is causing unexpected exceptions and whether or not it is violating security constraints. If a particular plug-in fails a number of times it is automatically disabled from executing, helping to maintain system integrity.

Courtesy :  http://blogs.msdn.com/ukcrm/archive/2008/11/10/what-s-new-in-crm5.aspx

Quick Create Activity – Microsoft Dynamics CRM 4.0 AddOn

Activities are an integral part of Microsoft Dynamics CRM.
For example, if you have an account that required a followup call on a particular date, you would open the account record and create a new Activity of type Phone Call.
Activity can consist of the following:
  • Task
  • Fax
  • Phone Call
  • E-mail
  • Letter
  • Appointment
  • Service Activity
  • Campaign Response
Additionally, with Activities, you have the option to run manual Workflow via Run Workflow. With Microsoft Dynamics CRM 4.0 you now have the option of converting an activity to either an Opportunity, Lead or Case.
Note: With Activities, you are only limited to the various types provided by Microsoft Dynamics CRM. Microsoft Dynamics CRM 4.0 does not provide the ability to create custom Activities.
Working with Activities can sometimes be painful and time-consuming since it’s a 4 click process to actually create an Activity for a particular entity.
This involves :
1. Open the particular entity record
2. Click the ‘Activities’ link on the navigation menu
3. Click the ‘New Activity’ button on the Grid menu
4. Select the type of Activity from the popup menu.
IOTAP has developed an Add-On which could simplify this process, thereby enabling you to create an Activity for any particular record, by just a single click, via the shortcut buttons available on the grid.
The above action also takes into account the OOB Mappings and prepopulates the required fields on the Activity Screen.
Refer the below toolbar screenshot for the ‘Contact’ Entity.

 Quick-Activity

The Above Add-On can be customized to work with any Entity (custom Entities as well) which involves only a minor change to the ISV.config file, which usually takes less than 5 minutes.

For more info on the above AddOn kindly contact  [email protected]

Business Trends in CRM Software and Services

Companies spent US$ 9.15 billion on CRM software and services in 2008, a 12.5 percent increase from 2007, Gartner in July. An even more favorable estimate of the global CRM market came from Forrester, which pegged it at $ 11.7 billion in 2008. While the CRM software and services growth rate may cool off during 2009, experts foresee the market expanding by more than 5 percent annually for the next few years.
In our engagements, we have noticed some very interesting trends in the CRM Software and services space. We help in designing and deploying add-ons as well as integrating CRM packages with many other important applications for large organizations. Some of the trends affecting the adoption and evaluation of CRM software and services.
1. Customers today need to be educated about the benefits of using CRM and how it will optimize operations that lead to a competitive market differentiation. CRM packages hold the discipline that leads to and opens the doors for repeatable business success.
2. Customization on baseline features covering the billing, lead generation, customer service and order processing which provide the buyers of this technology a holistic view of their customers is increasing as organizations start to realize the potential in using CRM software to increase business profitability.
3. Matured users of the CRM Software and services are now integrating CRM software with other large applications thus increasing business responsiveness and injecting business intelligence that empowers employee teams to deliver high-quality services.
4. A drive by the CRM buyers to include and integrate technological changes like social networking and use of mobile devices when it comes to serving and measuring organizational brand sentiment in the market.
5. Quality and customization rather than price has started driving organizations in the evaluation and implementation stages of CRM Software and Services.
6. With the plethora of hosted CRM Software and service providers flooding the market, the decision making involves a lot of consulting in helping identify and implement appropriate CRM software as well as services model.
“Despite the financial market volatility the worldwide CRM market enjoyed its fifth consecutive year of double-digit growth in 2008 as businesses continued to invest in solutions across all subsegments,” says Sharon Mertz, a Research Director at Gartner. We feel that the growth in the CRM Software and Services shall be driven by feature enhancements and the ability of the top management in client organizations to drive adoption of CRM software.