Quantcast
Channel: Microsoft Dynamics CRM Team Blog
Viewing all 592 articles
Browse latest View live

Convergence 2011 Concept Box Invitation

$
0
0

The Microsoft Dynamics CRM Team is enthusiastically looking forward to meeting you at Convergence 2011, sharing with you some of our ideas and aspirations for future versions of Microsoft Dynamics CRM, and, as always, learning from you, your experiences, your needs, and your insights during our Concept Box Sessions.

Concept Box Sessions: Influence, Insight, Shape

Between Sunday, April 10th and Wednesday, April 13th members of the CRM Research and Development Team will be hosting a series of discussion groups and forward-looking research sessions at the Atlanta Convention Center.  During these sessions, we will present sketches and ideas designed to improve the future Microsoft Dynamics CRM; we invite you to review and critique designs and present your important scenarios, your business needs and processes, so that you can directly influence our direction in a wide array of areas.  *These sessions are limited in size, so please respond early.*

Gratuity & Non-Disclosure Agreement

Participants in each Discussion Group will receive a Microsoft gratuity which must be mailed to a U.S. address.  We will have a list of gratuity choices available for you at the sessions.  We will also ask you to sign a standard Microsoft Non-Disclosure Agreement (NDA) so that we can confidentially share our ideas and present our thinking.

Audience

These Microsoft Dynamics CRM Discussion Groups are open to ALL Convergence 2011 Attendees who want to learn about and influence the future of Microsoft Dynamics CRM.

  • End Users – (for example) Sales Professional, Marketing Professional, Customer Service Representative
  • Business Decision Makers – (for example) Sales Managers, Marketing Managers, Service Managers
  • Partners, IT Experts, Developers – (for example) Implementation Partner, Solution Developer, IT Managers

Where: All sessions will be in the Atlanta Convention Center, Room A-301.

Participation

Please review the session titles and RSVP directly to me (James.Johnston@microsoft.com) your preferred Concept Box Sessions; I will send you an email invitation confirming the session date(s) and time(s): Some Sessions will be repeated so that we can accommodate your schedules at Convergence 2011.

These discussions and research sessions are specifically designed to collect feedback from our customers, users, developers, and partners on our future thinking and aspirations for Microsoft Dynamics CRM.  All Convergence 2011 attendees are welcome regardless of your product focus.   If you are interested in learning more about Microsoft Dynamics CRM 2011 Online and On Premise, our most recent CRM releases, we encourage you to take advantage of the other generally available and informative Microsoft Dynamics CRM sessions during Convergence 2011.

Thank you, as always, for the privilege of learning from your distinctive insights and constructive feedback as well as envisioning with us an evolving Microsoft Dynamics CRM.  We are eager to welcome you and look forward to hearing from you soon.

I. Sunday (Josh Chang)—1:30-2:45— Tomorrow’s Communication and Collaboration Experience

Concept Box: Join us to review and critique User Interface experiences for seeing business contact feeds, social graphs for business connections, sharing business contact information with your colleagues!

II. Monday (Manisha Powar)—11-12:15—Sales Force Automation

Concept Box: Sales Force Automation, an extensively interesting domain, will best grow when the R&D Team listens to you, understands your experiences, focuses on your scenarios, discusses with you their current thinking and appreciates your feedback. 

This multifaceted Concept Box Session will review early storyboards, and help us hone our work.

Each of these 3 Sessions will have different perspectives: Please join us for any one or all!

III. Monday (Sandhya Vankamamidi)—1:30-2:45— Integrated Agent Desktop

Concept Box: Microsoft Dynamics CRM’s Agent Desktop aims to increase agent effectiveness by unifying data and legacy applications while guiding agents through their workflows. Review the integrated Lync experience designed to provide Customer Care Agents with contextual collaboration.

Come to this session to learn about our nextGen Integrated Agent Desktop thinking and shape the product with your valuable feedback.

IV. Monday (Josh Chang)—3-4:15—On Premise to Online Migration  Experience

Concept Box: Are you an On Premise Customer or a hosting partner?  Are you interested in upgrading to the cloud?  Why or why not? Guide Our Envisioning as we consider together the opportunities, approaches, challenges, and scenarios faced in the IT Admin experience of moving from an On Premise to and Online version of Microsoft Dynamics CRM.

This multifaceted Concept Box Session will review early thoughts (perhaps storyboards), and help us design the experience.

V. Monday (Steven Kaplan)—4:30-5:15—Social Customer Care—Making Your Customer Your Best Friend?

Concept Box: As more conversations about your business happen through the Social Web, Facebook and Twitter for example, Customer Service Organizations are exploring these channels as ways of delivering new types of service.

Microsoft Dynamics CRM aims to help Customer Service Organizations by enabling you to LISTEN, PARTICIPATE, and ANALYZE the conversations from the Social Web, integrate the Social Web Learnings into the traditional Customer Service Organization to deliver more fun and personalized customer interactions.

Come to this Concept Box Session to INFLUENCE our roadmap for “social customer care.”

VI. Tuesday (Manisha Powar)—9-10:15—Sales Force Automation

Concept Box: Sales Force Automation, an extensively interesting domain, will best grow when the R&D Team listens to you, understands your experiences, focuses on your scenarios, discusses with you their current thinking and appreciates your feedback. 

This multifaceted Concept Box Session will review early storyboards, and help us hone our work.

Each of these 3 Sales Force Automation Sessions will have different perspectives: Please join us for any one or all!

VII. Tuesday (Josh Chang)—10:30-11:45—Online Organizational Management Scenario Building

Concept Box: Organizational Management Scenarios, such as user management and other scenarios are core to this session during which we will request your feedback and critiques.  This will be a broad and open-ended discussion with an Online expert to address topics of importance to you and us.

This Concept Box Session, will review early storyboards, and brainstorm with us on organizational management scenarios.

VIII. Tuesday (Sandhya Vankamamidi)—1:30-2:45—Integrated Agent Desktop

Concept Box: Microsoft Dynamics CRM’s Agent Desktop aims to increase agent effectiveness by unifying data and legacy applications while guiding agents through their workflows. Review the integrated Lync experience designed to provide Customer Care Agents with contextual collaboration.

Come to this session to learn about our nextGen Integrated Agent Desktop thinking and shape the product with your valuable feedback.

IX. Tuesday (Manisha Powar)—3:15-4:30—Sales Force Automation

Concept Box: Sales Force Automation, an extensively interesting domain, will best grow when the R&D Team listens to you, understands your experiences, focuses on your scenarios, discusses with you their current thinking and appreciates your feedback. 

This multifaceted Concept Box Session will review early storyboards, and help us hone our work.

Each of these 3 Sales Force Automation Sessions will have different perspectives: Please join us for any one or all!

X. Tuesday (Michael Guthmann)—4:45-6—EMPOWERING the IT Pro in the Cloud

Concept Box: IT is shifting to the Cloud but are still crucial in managing Cloud (Online) services.  Please guide our investments for the IT Pro in CRM Online by joining us and providing feedback that will allow us to EMPOWER your future work and shape our future direction.

XI. Wednesday (Josh Chang)—10:45-Noon-- On Premise to Online Migration  Experience

Concept Box: Are you an On Premise Customer or a hosting partner?  Are you interested in upgrading to the cloud?  Why or why not? Guide Our Envisioning as we consider together the opportunities, approaches, challenges, and scenarios faced in the IT Admin experience of moving from an On Premise to and Online version of Microsoft Dynamics CRM.

This multifaceted Concept Box Session will review early thoughts (perhaps storyboards), and help us design the experience.

To participate in any of these sessions please contact: James.Johnston@microsoft.com

Kind regards, James and the Microsoft Dynamics CRM Team

James C. Johnston II, Ph.D.




First UK meeting for the CRM User Group, 1 April in Reading

$
0
0

imageGuest blogger CRM MVP Neil Benson announces a milestone for the team and sends you an invitation.

Join other Microsoft Dynamics CRM users for the first CRMUG UK meeting. This is a valuable opportunity to become acquainted with, and share your challenges and solutions with other local CRM users, partners, and Microsoft personnel.

Date/time: Friday 1 April 2011, from 12pm to 3pm (with lunch)

Location: Microsoft Campus, Building 3 (Chicago Auditorium), Thames Valley Park, Reading, RG6 1WG.

Cost: The event is free.

Audience: All Microsoft Dynamics CRM customers. Microsoft partners attending with a customer are welcome too.

Registration: http://www.crmug.com/events/crmuguk04012011

Agenda:

* Welcome to CRMUG and introductions
* First look at CRM 2011
* CRM best practices and real-life customer stories
* Ask an expert Q&A session
* Networking with other CRM users

You can find out more and register for the event here.

About the CRMUG
The Dynamics CRM User Group (CRMUG) is an association of companies sharing the common interest of optimising their usage of Microsoft Dynamics CRM. This independent community of users gets together (remotely and face-to-face) through a myriad of conferences, virtual tools, and programs to share knowledge and best practices. Membership and active participation in CRMUG can make all the difference in the effective use of your Dynamics CRM software. Learn about membership benefits: http://www.crmug.com/join-crmug.

Regional Chapters enhance your membership in CRMUG by offering face-to-face interaction and knowledge-sharing with other Microsoft Dynamics CRM users in your region. By having meetings centrally located within your region, users from all job roles and levels in your company can participate by only driving a short distance. All job roles are welcome: marketing, sales, service, IT.

CRM MVP Neil Benson

I’m running the Belfast marathon for the Alzheimer’s Society on 2 May 2011



Parameterizing Fetch Based Reports

$
0
0

As you may already know, we have introduced fetch based reports in Microsoft Dynamics CRM 2011. This means you can now upload powerful, custom fetch based reports even in Microsoft Dynamics CRM Online and CRM’s wizard reports are not the only available option. Other than fitting nicely into CRM Online scenarios, these reports are also a good candidate for On Premise deployments as they generally perform better when compared to an equivalent SQL report running against CRM’s Filtered Views.

You may read more about fetch based reports in the following blog posts:

Reports, as we all know, are typically used to present business data in a more meaningful way to the end users so that they can derive quick insights from it. In order to increase the value a report provides, it usually takes some additional inputs or parameters at runtime and uses them to adapt the content or presentation. One of the common usage patterns of these parameters is to use them within the data sets defined in the report and control the data being retrieved from the data source. Today, I am going to talk about how you can parameterize fetch statements used in a fetch based report. I will start with a description of how query parameterization works for fetch based reports followed by an explanation on the elements that support parameterization.

Fetch based reports allow certain parts of a fetch xml to be parameterized. In other words, fetch based reports can be designed to receive parameter values at runtime which can then be used by the fetch statements defined in the report. We allow value of certain fetch xml nodes or attributes to be parameterized, and at runtime the received value of the parameter is replaced in the fetch xml before it is executed to get the results. Let us take an example and see how this works.

Consider the following fetch xml that allows me to show sum of estimated revenue for opportunities in “3 - Negotiating” stage for each customer:

<fetch mapping='logical' count='10' aggregate='true'> <entity name='opportunity'> <attribute name='estimatedvalue' aggregate='sum' alias='sum_estimatedvalue'/> <attribute name='customerid' groupby='true' alias='customerid'/> <order alias='sum_estimatedvalue' descending="true" /> <filter type="and"> <condition attribute="stepname" operator="eq" value="3 - Negotiating" /> </filter> </entity> </fetch>

This will work nicely for me. But if I want to slightly enhance my report so that the user viewing the report can choose which stage the opportunities should be in, I need a way to change the value of the condition dynamically at runtime. This is exactly what parameterized fetch xml of fetch based reports is meant for. However, for the complete thing to work for a report, I need to do the following:

1. Define a report parameter, say stage, in the RDL which will be shown to the user at runtime and will receive an input from her for the stage she is interested in.

<ReportParameter Name="stage"> <DataType>String</DataType> <DefaultValue> <Values> <Value>3 - Negotiating</Value> </Values> </DefaultValue> <Prompt>Opportunity Stage</Prompt> </ReportParameter>

2. Define a query parameter, say @stepname, in the RDL for the data set and set its value to the report parameter using the expression =Parameters!stage.Value. The prefix “@” is important and I will talk about it in a moment.

<QueryParameter Name="@stepname">

      <Value>=Parameters!stage.Value</Value>

</QueryParameter>

3. Modify the condition node of the fetch xml to use the query parameter as follows:

<condition attribute="stepname" operator="eq" value="@stepname" />

I have replaced the value of the condition with the query parameter @stepname. As I said before, the “@” prefix is important. It acts as a hint for CRM that @stepname could be a query parameter that may receive a value at runtime. I say it’s a hint and not a certainty, because a condition can have a value that starts with “@” but is not a query parameter. E.g. a condition that email address that ends with “@microsoft.com” is a valid condition but is not expecting a query parameter. At runtime, CRM will parse the fetch xml for potential parameters and if there’s a matching query parameter available it will simply replace the parameter in fetch xml with the value of the query parameter.

And I am done. My parameterized report is ready to work! When I execute the report, I will be prompted to enter an Opportunity Stage according to which the data will be filtered.

clip_image002

Seemed like a lot of work, isn’t it? So, let’s make it a little easier for you. When you author a fetch based report using the BIDS extension that CRM provides, we do a bunch of work automatically for you. You only need to provide the fetch xml with the parameter hint, i.e. a value with a “@” prefix, and we will automatically create a report parameter and a query parameter for you to complete the parameterization support. You can change the parameter settings or prompt text as per your needs. In case you do not want the parameter at all, you are free to remove it later.

Now when you know how query parameterization works in fetch based reports, it is time to understand what all elements of a fetch xml statement can be parameterized. The elements that can be parameterized fall into the following three categories:

1. Paging Elements

These elements are meant to support paged data retrieval. Often times, a report spans a large number of records but it only show a subset or a page of the complete data set at a given point in time. If you want a report that can fetch and show data in paged manner, then these elements can be parameterized to support that.

<fetch mapping='logical' page='@page' count='@count' paging-cookie='@cookie' >

Using parameters for these elements, it is possible to build reports that fetch data only for the page that the user is presently viewing and can significantly improve a report’s performance. I am going to talk about this in more detail in my future posts.

2. Condition Elements

These elements are meant to supply operand values dynamically to a condition element of a fetch xml statement. This is useful if you want to apply a condition based on some values that you receive at runtime. There are the following two elements that can be parameterized under this category:

a. Value Attribute: <condition attribute="stepname" operator="eq" value="@stepname" />

We have already seen an example of such a parameterization. In addition to what was already explained, you can also make the query parameter receive an array of multiple values. Let’s take our example forward to understand this better. I had defined a report that allowed users to provide an opportunity stage at runtime. If I want my users to provide multiple opportunity stages instead of just one, I also need to do make the report parameter stage a multi valued report parameter in addition to the other steps mentioned before. This can be done by modifying the parameter properties to “Allow multiple values” as shown below:

clip_image004

This will cause report viewer control to allow the user running the report to enter multiple values for the stage parameter and at runtime CRM will use those multiple values to form an array of values for the fetch xml condition.

clip_image006

b. Value Node

<condition attribute="stepname" operator="in" >

     <value>3 – Negotiating</value>

     <value>@stage</value>

</condition>

In my report described earlier, let’s say I want all opportunities in opportunity stage “3 – Negotiating” to be considered always. Additionally, I want my users to provide one additional stage to filter the data. This can be done using the xml fragment shown above. One of the several values of the condition value array is parameterized.

3. Pre-filtering Element

This element is used to apply a pre-filter to an entity of the fetch xml statement at runtime. CRM supports a notion of report pre-filtering using which you can filter a report’s content at runtime using an advanced find query. This provides reports a flexibility that they can be defined only once but can be rendered against a differently filtered data set as and when needed. Taking our example report yet another step forward, if I want my report to have all the previously discussed functionality and in addition to that I want my users to be able to provide another filtering criterion so that the data set can be filtered on an adhoc basis. E.g. a user running the report should be able to run the report only for the opportunity owned by her. Using report pre-filtering, I can make the report to prompt the user with an Advanced Find control before executing the report. Then whatever filtering criteria is entered by the user, it is taken as the base filtering criteria for the report and any filtering defined by the report are applied on top of the filtered data set.

clip_image008

clip_image010

Pre-filtering parameters work slightly differently than the rest of the parameters and need not be prefixed with “@”. These parameters are defined using custom xml attributes that are not part of the standard fetch xml schema and are defined by fetch based reports for proprietary usage.

<entity name='opportunity' enableprefiltering='true' prefilterparametername='opportunityfilter'>

Fetch based reports uses two xml attributes, namely enableprefiltering and prefilterparametername, under entity or link-entity nodes of a fetch xml for setting a query up for pre-filtering. As soon as the CRM extension for BIDS detect a fetch xml having these two nodes, it will automatically create corresponding report and query parameters. When you upload such a report to CRM server, CRM will also detect this usage pattern and will automatically modify the report. It will make the report parameter for pre-filtering as a hidden parameter and will prompt the users running the report with an Advanced Find user interface. It will then capture the filtering criteria entered by the user and will pass it to the report which will be used to pre-filter the report data set. The xml attribute prefilterparametername is an optional xml attribute and if not provided, CRM will generate a parameter with a default name “CRM_<entityname>” where entity name is the name given by the name attribute of the entity node.

I will be covering pre-filtering in more detail in my future posts but this information should be good enough for building pre-filterable fetch based reports.

You can use any of the above described ways of parameterizing your fetch based reports and gain more out of them. I hope that this post was useful for understanding the parameterization support that we have built. Keep your questions coming and wait for the next edition.

Cheers,

Abhishek Agarwal



Data Templates and Import Data Wizard made Easier

$
0
0

Data Templates and Import Data Wizard features were introduced as part of Nov 2009 Microsoft Dynamics CRM online service update. Now these features will be available as part of Microsoft Dynamics CRM 2011 Online, On Premise and Internet-Facing Deployments (IFD) with some improvements and new functionality. This blog post covers some of the improvements that make these features easier to use.

Getting Data Templates and Import made easier

Let us see with an example of how easy it is to get a template for a record type (Account). In earlier versions, getting a data template required you to navigate to settings->Data Management->Data Templates->select Record type.

Now the download template is available as part of the ribbon action in the record type for which you want to download the template. Navigate to Accounts record type and click on Import data->Download Template for Account and you get the template. It will be in the context of the record type where you are working. The file is in XMLSS format.

clip_image002

Save the file with the name ActiveAccounts.

Another Improvement is that now you get Import data button in Ribbon for the importable entities. So input the data in the file and just click on Import data button in the ribbon and this launches the Import Data Wizard.

clip_image004

Importing data using templates made easier.

The number of clicks needed to Import data using these Templates have been reduced.

Upload the file in Import Wizard and Import Wizard automatically figures out the record type for which this template is generated. Just finish the Wizard in 2-3 clicks. The record type for the template is stored in the template itself as metadata so you can save the template with any name that you want and as you upload the file Import Wizard will automatically map it to the right record type and all fields, making it much easier to use.

So you do not need to do auto mapping etc. Just upload the file in Import Wizard and finish it. That is it, you are done.

Ignoring all unmapped attributes in just one click

clip_image005If you are on the Map fields page and there are a set of attributes for each record type which you want to ignore, instead of going to each record type and then ignoring each field one by one it has been made much easier to ignore the fields in just one click. Just click next on the attribute map page and all unmapped fields will be ignored if you say ok on the warning dialog (Do this only if you want to ignore all unmapped fields). This makes it really easy to ignore a set of attributes in just one click and makes experience much easier.

The other new powerful features like Update via Import will be covered as part of other blogs. So stay tuned for other blogs in this series.

Cheers

Dinesh Kumar Garg



Find SDK and Implementation Guide Content on MSDN or TechNet

$
0
0

If you are like me you spend a lot of time searching the internet for technical information. MSDN and TechNet have a lot of information, but when searching it you often have to filter out a lot of irrelevant content.

There is a trick you can use to filter search results so you only get results from a specific category of content on MSDN or TechNet.

To search for Microsoft Dynamics CRM 2011 SDK content start with this URL:

http://www.bing.com/search?q=%5BSearch+Terms%5D+meta%3ASearch.MSCategory%28%22gg269275%22%29+site%3Amsdn.microsoft.com

To search for Microsoft Dynamics CRM 2011 Implementation Guide content start with this URL:

http://www.bing.com/search?q=%5BSearch+Terms%5D+meta%3ASearch.MSCategory%28%22ee309492%22%29+site%3Atechnet.microsoft.com

After you open the URL, save it as a shortcut and give it a name, for example: “CRM 2011 SDK” or “CRM 2011 IG”.

Both of these pages will open in Bing with specific criteria already entered in the search field. For the SDK search you will see this:

[Search Terms] meta:Search.MSCategory("gg269275") site:msdn.microsoft.com

For the Implementation Guide search you will see this:

[Search Terms] meta:Search.MSCategory("ee309492") site:technet.microsoft.com

Once you save this URL as a favorite, you can easily open this page when you need it. To search, simply edit the content of the search field to replace the ‘[Search Terms]’ part with the search criteria you are looking for.

You can use this approach with just about any product that has content on MSDN or TechNet. For example, if you want to search just the Sharepoint 2010 SDK Documentation on MSDN, use this URL:

http://www.bing.com/search?q=%5BSEARCH+TERMS%5D+meta%3ASearch.MSCategory%28%22ff420337%22%29+site%3Amsdn.microsoft.com

How can I make new filtered search favorites?

These search filter favorites work because Bing indexes the MSDN and TechNet content using search tags embedded in the metadata of the document. Each page has several Search.MSCategory meta tags that describe the hierarchy that the page appears in the MSDN or TechNet table of contents. Once you identify the page that represents the true parent node for the portion of the MSDN table of contents, you can create a similar filtered search favorite. The tricky part is identifying that true parent node.

To create a filtered search favorite:

1. Navigate to MSDN or TechNet and identify a topic area you are interested in. In this example, let’s say I want to focus on the Silverlight documentation.

2. Examine the Table of contents. This works best using the “Classic” view.

3. Locate a topic below the main table of contents node. I’ll choose the XAML topic.

4. If you right click on the topic and use the context menu to choose View Source, in the area where you might expect to find meta tags you will see this:

<!-- Looking for metadata? Use the robot view instead http://currentsite/currenturl(robot).aspx -->

5. Following those instructions, open this page: http://msdn.microsoft.com/en-us/library/cc189054(VS.95)(robot).aspx

6. Now right click on the page and use the context menu to choose View Source.

7. Now you will see lots of meta tags. Look for the ones with the name value of Search.MSCategory

For this page you should find the following:

<<meta name="Search.MSCategory" content="ms310241" xmlns="http://www.w3.org/1999/xhtml" />

<meta name="Search.MSCategory" content="aa139615" xmlns="http://www.w3.org/1999/xhtml" />

<meta name="Search.MSCategory" content="cc838813" xmlns="http://www.w3.org/1999/xhtml" />

<meta name="Search.MSCategory" content="ff630996" xmlns="http://www.w3.org/1999/xhtml" />

Each of these represents the true parent in the hierarchy of the ‘anchor’ pages in the table of contents. At the top of the XAML overview page in the classic view you can see this visually:

MSDN > MSDN Library>.NET Development > Silverlight > XAML

But these anchor pages in the table of contents don’t necessary represent the true parent of the hierarchy that is indexed. To search for only Silverlight documentation we are interested in the value of the content attribute in the second meta tag from the bottom: cc838813.

If you open this page directly, (using http://msdn.microsoft.com/en-us/library/cc838813.aspx) you will see a strange page with the title @No Title, but this strange page is actually the root table of contents node according to the meta tags.

8. Now that you have identified the ‘true’ parent, With that page number you can create a search filter:

[Search Terms] meta:Search.MSCategory("cc838813") site:msdn.microsoft.com

9. Go to http://www.bing.com and type the search filter into the search field. Execute the search and save the resulting page as a favorite.

You have now created a search favorite for the Silverlight documentation.

Cheers,

Jim Daly



Transferring Data from One CRM Organization to Other Organization

$
0
0

Many a times you would have the need to transfer data from one Microsoft Dynamics CRM organization to another for some record type. This blog covers the steps you can follow to move data from one organization to another using Import Wizard. Let us take example that you want to move data for Account and Contact record types.

1. Create a view of all fields for the record type Account.

a. Go to accounts Grid and click on Create personal view

clip_image002

  • Click Edit Columns in the dialog that pops up and then click Add Columns.

clip_image004

  • Click the checkbox in the header to select all columns. (This will export data for all columns, some of which may not be importable)

clip_image005

  • Click ‘ok’ and then Click ‘Save’ on the Ribbon in Advanced find dialog. It will prompt you for name of the view .Provide the name for the view.

2. Navigate to view (Account) and Export the data in Static Excel format.

a) Go to Accounts Grid.

b) Navigate to Accounts view.

c) Click Export to Excel.

clip_image006

d) Select “Static worksheet with records from all pages in current view”.

clip_image007

e) Click Export and save the file. (Account.xls)(The records that are exported will be based on the record for which you had privileges).

f) Save the file in CSV /XMLSS format from Excel. (Account.csv)

Note: Do not check make this data available for reimport checkbox as this feature is meant to export and update data in the same organization and not for cross organization data migration.

2: Similarly export the data for Contact record type and save as CSV/XMLSS file.(Contact.csv).

3: Zip the two files in a single Zip file (ExportedData.zip).

4: Use Import Wizard to Import the file

  • Launch Import Wizard and Upload the zip file in Import Wizard.
  • Select Default (Auto mapping) as shown in the screenshot below.

clip_image008

As the file names match with the Record type display name in this example so files will be automatically mapped. (Map the files with respective record types if they are not auto mapped.)

  • At Map field page, fields whose name matches will automatically will be mapped. Check the mappings and if there are fields which are not mapped then map those. If there are customizations (e.g. some custom fields) that you want to do you can do it from Import Wizard itself. You can create new field from Import Wizard and do the mappings. If you want to ignore all unmapped fields, click Next. All unmapped fields will be ignored.

clip_image009

  • Finish the Import Wizard and Wait for Import jobs to finish. You can check their status in Imports grid. That is it you are done Importing data for these record types.

Cheers,

Dinesh Kumar Garg

IT Departments Are Under Mobile Attack

$
0
0

Guest Blogger Mark Corley is the CEO of CWR Mobility presents a compelling solution for those wanting to be adroit in their adoption of the mobile phenomenon.

imageIT Departments are under siege – from the proliferation of mobile platforms and devices – and what are they supposed to do about it?

We can probably track the initial mobile “assault” back to the launch of the Apple iPhone in June of 2007. Senior executives in many organizations were early adopters. These key decision makers completely ignored corporate policies requiring a single mobile device standard. They purchased mobile devices on their own and then marched into IT departments and demanded product support. Companies were soon well on their way to device proliferation.

Hard to believe, but having just two mobile platforms is starting to look like the good old days. Today, users are not just buying BlackBerrys, iPhones, Androids and Windows Phones; they’re also acquiring iPads, Galaxy Tabs, Xooms and, soon, PC-based Slates. I work with enterprise IT departments every day and I haven’t run across a single CIO that thinks they can put the mobility genie back in the bottle. No longer can IT departments lock on a common standard and force users to conform. When it comes to your mobile users, it’s time to recognize that if you can’t beat ‘em, join ‘em.

imageBeleaguered IT departments may wonder if Mobile is worth all the effort. The proof is in the data. In a recent study on sales mobility called “Sales Mobility: Quotas Untethered,” Aberdeen Research Group reported that companies adopting mobile CRM have an 11 percent advantage in quota attainment, a 6 percent advantage in customer retention rates and a 3.5 percent advantage in lead conversion rates over the average for all companies. Mobility is king, and IT departments are king-makers. (Note: Download this report for free at www.cwrmobility.com),

The good news is that solutions like Microsoft Dynamics CRM and those from CWR Mobility enable IT departments to meet the conflicting demands of internal customers clamoring for various platforms. With CWR Mobile CRM, IT configures CWR just once, using the common Dynamics CRM point-and-click configuration tools, and then deploys CRM across all the major phone platforms. Users get the mobile device of their choice, management gets the visibility into sales and service it seeks, and IT gets to simplify its rollout of CRM technology.

By hiding the complexity caused by the explosion of mobile platforms, CWR Mobile CRM enables IT to serve internal customers the way they want to be served. IT can now go out to users proactively and show them how they can use the latest mobile devices, devices of their own choosing, to achieve their sales or service goals.

IT no longer needs to be under siege by mobile devices. Rather, in a judo move using the power and appeal of mobile devices, IT can now use mobility to improve user adoption, quota attainment, customer retention, lead conversion rates, AND management visibility and insight.

Instead of feeling attacked by mobility, IT can now employ it as a tool during rollout to drive user adoption. Promote mobility as a productivity tool for users. Start the CRM rollout by first distributing leads to reps, making marketing literature available, providing account and contact access, and providing insight into order status and cases. When the initial CRM rollout focuses on delivering value to users first, companies secure high CRM adoption. Management visibility into sales will follow naturally, and the mobile explosion will no longer be a threat. It will be an opportunity…and IT will be the hero.

Cheers,

Mark Corley



Microsoft Dynamics CRM Online 2011 Web Services SOAP Sample now ready for Europe & Asia

$
0
0

The recent code sample I published on Connecting to CRM Online 2011 Web Services using SOAP Requests Only was well received by many people however a few developers from Europe & Asia mentioned that they were getting (500) Internal Server Error when they were trying out the code. I then realized that CRM 2011 Web Service URLs had a different format in Europe & Asia which helped me to find the culprit.

I signed up for a CRMOnline European trial account and putting the SDK sample under Fiddler inspection revealed that it was a minor change within one of the XML fragments. That’s it, seriously!

<a:Address>urn:crm:dynamics.com</a:Address>  to 
<a:Address>urn:crm4:dynamics.com</a:Address>

Obviously crm4 is used in our European datacenter and crm5 is used in our Asian datacenter so I had to modify the code to use the appropriate URN address.

// Create the URN address of the format urn:crm:dynamics.com. 
// Replace crm with crm4 for Europe & crm5 for Asia.
string URNAddress = "urn:crm:dynamics.com";
if (CRMUrl.IndexOf("crm4.dynamics.com") != -1)
URNAddress = "urn:crm4:dynamics.com";
if (CRMUrl.IndexOf("crm5.dynamics.com") != -1)
URNAddress = "urn:crm5:dynamics.com";

You can download the updated code sample here:
http://code.msdn.microsoft.com/CRM-Online-2011-WebServices-14913a16

All is well again!

Girish Raja




Tutorials create Roadmaps to Success

$
0
0

For Microsoft Dynamics CRM 2011, we created a new type of content—tutorials. Each tutorial is meant to provide a kind of “roadmap” that answers the questions “How does this CRM feature make my job easier and more productive?”, “What do I need to know before I get started?”, and “What do I need to do?”

The tutorials are published on the CRM Resource Center. Here are just some of them—search for others in the Resource Center (Online or On-Premises):

Tutorials are meant to be end-to-end guides that help CRM users avoid frustration and needless expenditure of time and resources. Are they doing that for you?

Are you looking for other tutorials? Let us know in comments, or shoot me an e-mail: mscrmdf@microsoft.com.

Cheers,

Carola Klass



Create Dynamic Ribbon Controls

$
0
0

Microsoft Dynamics CRM 2011 uses Ribbons (also known as Fluent UI) to provide a user interface to display the right commands at the right time. Ribbons also provide a very powerful and flexible way of extending the ribbon functionality to meet your requirements. If you are new to ribbon customization in Microsoft Dynamics CRM 2011, see the SDK documentation: Customize the Ribbon for Microsoft Dynamics CRM.

I’m going to show you how to create dynamic Ribbon controls. You will typically use dynamic controls so that your ribbon elements can react to changes in data or context. ComboBox, DropDown, FlyoutAnchor, MRUSplitButton and SplitButton controls can contain other collections of controls. These controls can be created with static definitions at design time or they can be populated dynamically using a JavaScriptFunction that uses a Script Web Resource.

In this article I will demonstrate how to dynamically create ribbon Button elements and populate them inside a FlyoutAnchor. The end result will look like this:

image

The procedure uses these steps:

  1. Define the Parent Control
  2. Define CommandDefinitions
  3. Create a Script Web Resource

Define the Parent Control

Once you determine the location where you would like to create a dynamic menu, create a CustomAction to add the CommandUIDefinition as shown below.

<CustomAction Id="Add_Dynamic_Menu" Location="Mscrm.BasicHomeTab.Tools.Controls._children"> <CommandUIDefinition> <FlyoutAnchor Id="ISV.DynamicFlyoutAnchor" Sequence="100" Command="Mscrm.Enabled" Image16by16="/_imgs/placeholders/ribbon_placeholder_16.png" Image32by32="/_imgs/ribbon/newrecord32.png" LabelText="Dynamic Menu" Alt="Dynamic Menu" PopulateDynamically="true" PopulateQueryCommand="ISV.PopulateMenu" TemplateAlias="isv" /> </CommandUIDefinition> </CustomAction>

The value of the CustomAction Location attribute shows that I have chosen to add a FlyoutAnchor to the Tools group of the Basic Home Tab.

Set the value of PopulateDynamically attribute to true. This attribute will tell the rendering engine to populate the content of the menu dynamically. Specify the Id value of the CommandDefinition you will create in the next step to the PopulateQueryCommand attribute. The next step will show how to define the CommandDefinition.

Define CommandDefinitions

There are two CommandDefinition elements:

  • ISV.PopulateMenu: In addition to the “command” property used by standard controls, dynamically populated controls utilize another command “PopulateQueryCommand” which is responsible for retrieving the dynamic data.
    • This CommandDefinition will control what elements will be shown.
    • It uses the Jscript function named "DynamicMenu".
  • ISV.SearchCommand
    • This CommandDefinition will control what actions should be performed when the dynamically generated control elements are clicked.
    • It uses the Jscript function named "Search".

Each CommandDefinition contains a JavaScriptFunction action that specifies the Script Web resource. Specify the unique name of the Script Web resource with $webresource: prefix to the Library attribute.

<CommandDefinition Id="ISV.PopulateMenu"> <EnableRules> <EnableRule Id="Mscrm.Enabled" /> </EnableRules> <DisplayRules /> <Actions> <JavaScriptFunction FunctionName="DynamicMenu" Library="$webresource:new_dynamicmenupopulator.js"> <CrmParameter Value="CommandProperties" /> </JavaScriptFunction> </Actions> </CommandDefinition> <CommandDefinition Id="ISV.SearchCommand"> <EnableRules /> <DisplayRules /> <Actions> <JavaScriptFunction FunctionName="Search" Library="$webresource:new_dynamicmenupopulator.js"> <CrmParameter Value="CommandProperties" /> </JavaScriptFunction> </Actions> </CommandDefinition>

Important:

For both CommandDefinition elements, you must use the CrmParameter with the Value attribute set to "CommandProperties". This object will be used later in the script web resources to read which dynamically generated button is selected and to set the dynamically generated ribbon xml.

Create a Script Web Resource

Create a Script Web resource named new_dynamicmenupopulator.js. Set the contents of this JScript library to the following code:

function DynamicMenu(CommandProperties) { var menuXml = '<Menu Id=\"ISV.DynamicMenu\"><MenuSection Id=\"ISV.Dynamic.MenuSection\" Sequence=\"10\"><Controls Id=\"ISV.Dynamic.Controls\"><Button Id=\"ISV.Dynamic.Button1\" Command=\"ISV.SearchCommand\" Sequence=\"20\" LabelText=\"Test Button1\" Alt=\"Test Button1\" /><Button Id=\"ISV.Dynamic.Button2\" Command=\"ISV.SearchCommand\" Sequence=\"30\" LabelText=\"Test Button2\" Alt=\"Test Button2\" /></Controls></MenuSection></Menu>'; CommandProperties.PopulationXML = menuXml; } function Search(CommandProperties) { var controlId = CommandProperties.SourceControlId; switch (controlId) { case 'ISV.Dynamic.Button1': alert('Button 1 Command Implementation'); break; case 'ISV.Dynamic.Button2': alert('Button 2 Command Implementation'); break; default: alert('Button Unknown'); } }

This library contains two functions:

DynamicMenu Function

The DynamicMenu function defines the XML for a Menu element containing Button definitions. In this example, there are two buttons defined within a MenuSection element. Each Button uses the following attribute values:

  • ISV.Dynamic.Button1
    • Command: ISV.SearchCommand
    • Sequence: 20
    • LabelText: Test Button1
    • Alt: Test Button1
  • ISV.Dynamic.Button2
    • Command: ISV.SearchCommand
    • Sequence: 30
    • LabelText: Test Button2
    • Alt: Test Button2

Both of these buttons are configured to use the ISV.SearchCommand created in the previous step.

Search Function

The Search function is called when buttons are clicked at run time. Because the CommandDefinition you created in the first step passes the value "CommandProperties", this object is passed through and you can read the SourceControlId property to determine which of the dynamically generated buttons was clicked and perform the appropriate action.

Thanks,

Mesganaw Anteneh



Microsoft Dynamics CRM top sites and downloads ~ 2011

$
0
0

image

Top Sites and Downloads

Whether you’re interested in an online or on-premises solution, Microsoft Dynamics CRM 2011 has you covered. Check out these resources to help you create the perfect experience for your business.

Note: This web site is designed to be printable for your distribution needs.

Microsoft Dynamics CRM

http://crm.dynamics.com/ ~ The Microsoft Dynamics CRM website is the place to go for information on all things CRM. You’ll find everything from an introduction to CRM and its value to your business to white papers, product specifications, customer testimonials, links to CRM communities, and much more.

Resource Center

http://rc.crm.dynamics.com/rc/default.aspx ~ The Resource Center is a one-stop shop, designed to help you get started, maximize your efficiency, and build your business. Using a community-centered approach, the Resource Center brings some of the best community ideas via blogs and forums right to your desktop.

Community Home Page

http://msdn.microsoft.com/en-us/dynamics/crm/bb501031 ~ The Microsoft Dynamics CRM Community site is the place to go for information about all things CRM. You’ll find links to blogs and articles, forums, newsgroups, MVPs, and much more.

Team Blog

http://blogs.msdn.com/crm/ ~ The Microsoft Dynamics CRM Team Blog is the place to go to connect with the CRM team. You’ll find postings on customization, development, and implementation. This is one of the fastest ways to get to know the CRM team.

Forums

http://social.microsoft.com/Forums/en-US/category/dynamics/ ~ The Microsoft Dynamics CRM Forums are your question and answer resource. You’ll find answers to some of your most pressing questions and a team of crack experts ready to help.

MVPs

https://mvp.support.microsoft.com/ ~ The Microsoft Most Valuable Professional (MVP) site recognizes exceptional technical community leaders from around the world. Here you can find experts who love to talk about all aspects of Microsoft Dynamics CRM.

CRM on social media

imagehttp://facebook.com/
Search for “Microsoft Dynamics CRM”.

imagehttp://linkedin.com/
In the group directory, search for “Microsoft CRM”.

imagehttp://youtube.com/
Search for “Microsoft Dynamics CRM”.

imagehttp://twitter.com/MSDynamicsCRM

Implementation Guide

TechNet: http://technet.microsoft.com/

Search for “crm 2011 implementation guide”. Click the link: Introduction.

Download: http://microsoft.com/downloads/

Search for “crm 2011 implementation guide”.

The Implementation Guide contains comprehensive information about how to plan, install, and maintain Microsoft Dynamics CRM 2011.

Developer Center

http://msdn.microsoft.com/ ~ Search for “crm developer center”. Click the first link: Microsoft Dynamics CRM Developer Center.

The Microsoft Dynamics CRM Developer Center is the place to go for information and sample code for developers. You’ll find both introductory and in-depth articles, overview and reference documentation, entity model diagrams for you to download, links to community and support, and much more.

SDK Download

http://www.microsoft.com/downloads ~ Search for “crm 2011 sdk”.

The Microsoft Dynamics CRM 2011 SDK download package contains all the same documentation found in the MSDN library, as well as hundreds of code samples in both C# and Visual Basic .NET, tools for registering plug-ins, and a design guide to help you create solutions that match the look of Microsoft Dynamics CRM.

CRM on the MSDN Code Samples Gallery

http://code.msdn.microsoft.com/ ~ Search for “CRM 2011”.
The MSDN Code Samples Gallery is your one-stop resource for finding code to customize and enhance your CRM experience. Developers and software vendors can start here to find code solutions.

CRM on CodePlex

http://codeplex.com/ ~ Search for “CRM 2011”.

CodePlex is the Microsoft open-source, project-hosting Web site. Developers and software vendors can start a new project, join an existing one, or download software created by the community.

Cheers,

JaAG



CRM MVPs Introduce the Microsoft Dynamics CRM Wiki

$
0
0

Today’s guest blogger is CRM MVP Julie Yack who talks to us about a new CRM MVP project, the Microsoft Dynamics CRM Wiki on TechNet.

CRM MVPs are becoming Ninjas

Yes, seriously, ninjas. Ok, wiki-ninjas, but that’s still just as cool. Here’s the scoop…

CRM MVP George Doubinski has been hard at work reining in a group of volunteers to bring some great Microsoft Dynamics CRM resources to the TechNet wiki. Follow them on twitter, @crmwiki. Now there is official documentation and we’ve read it and used it and it’s all genuinely pretty good. What you get from us will be our own approach, our best practices, links to our favorite official sources and some humor thrown in now and again. Direct links are at the end of this post, but here is some cool content that can be found from our own CRM MVPs.

It’s also important to note that though it’s the MVPs we are talking about now, the wiki content is open for more contributions from others. Do you have something to share with the Microsoft Dynamics CRM community? Come on over.

image

We have a simplified implementation guide. The guide covers how to start online organization. There are decision-making points, step-by-step instructions (that of course end with the cancellation of old SFDC system) and links to more resources. Thanks to MVP Jerry Weinstock for providing this for our Wiki.

MVP Leon Tribe has done a great cross-posting with his own blog to share his thoughts and ideas on Reporting Mechanisms. This page is full of screen images, step-by-steps, and the whole deal.

The CRM Survival Guide is also continuing to shape up nicely (and I will be adding to this page my own list of community resources in the coming days).

So, now what? Well, a few things. First, go have a look-see, learn a few things. When you finish your look-see, the second to-do item comes around, join in, give us your content. Let’s make this wiki a great home for CRM resources. It is for the community, by the community. Tell us what you need to know, how we can help you and help others.

When you contribute, don’t forget the tags. Yea, I know, but think about how simple it really is to get to the time of the results on searches for CRM help, and YOU can help too. And one more thing, ping @crmwiki on twitter to let us know what you’re up to, we’ll keep updating the site and talking about it.

Cheers,

Julie Yack



Announcing Microsoft Dynamics CRM SDK Update V5.0.3

$
0
0

imageMicrosoft Dynamics CRM SDK Version 5.0.3 is now live on MSDN downloads and MSDN library. This update includes the following:

  • Updated assemblies to match Update Rollup 1. For Microsoft Dynamics CRM Online, updates are installed for you. For other deployment types, you can get Update Rollups from the Microsoft Download Center or from Microsoft Update.
  • Updated Microsoft.Xrm.Client and Microsoft.Xrm.Portal assemblies for bug fixes.
  • Updated Hands-on-Labs – these now work with the RTM product.
  • Microsoft Visual Studio extensions and Microsoft Dynamics CRM Solution files to support JScript IntelliSense and limited testing of JScript Libraries that use the Xrm.Page object within Microsoft Dynamics CRM forms.
  • Added sample code for generating logical entity relationship diagrams. In addition, you can download a complete set of entity relationship diagrams.
  • See more updates in the Release History on the first page.

The next SDK update is scheduled for June. Send Feedback

Thanks for all the hard work by the SDK team!

Amy Langlois



Microsoft Dynamics CRM 2011 Service Provider Planning and Deployment Guide is now available

$
0
0

I’m pleased to announce that the Microsoft Dynamics CRM 2011 Service Provider Planning and Deployment Guide Office Word document is now available on the Microsoft Download Center. This document is intended for service provider IT personnel, system integrators, and technical consultants who may assist in the planning and deployment of hosted Microsoft Dynamics CRM 2011.

Look for it in about 1-2 weeks on the TechNet library as well in the CRM section under White Papers.

Cheers,

Matt Peart



JScript IntelliSense for Form Script Libraries

$
0
0

In the latest release of the Microsoft Dynamics SDK (Version 5.0.3) you will find a Microsoft Dynamics CRM Solution and Visual Studio extension that together will provide IntelliSense support for the Xrm.Page object in form scripts. I hope that this solution will help make your process of creating form scripts using the Xrm.Page object more productive. The result is that you can have IntelliSense that provides auto completion and documentation about the methods as shown below:

image

The SDK\Templates\Xrm.PageScriptProjectTemplate\Readme.docx file in the download package provides details about installing and using the solution. Rather than repeat what you can find there, in this post I will describe the process of creating this solution and I hope to set your expectations for what the solution offers.

The Goal

The Microsoft Visual Studio team has been doing work to improve the developer experience while using JScript. There have been incremental improvements in Visual Studio 2008 and 2010. One of the key areas has been to improve the IntelliSense available for JScript. I saw the improvements that the Visual Studio team created for JQuery IntelliSense in VS 2008 and I hoped we could provide something like it for Jscript programming within Microsoft Dynamics CRM 2011.

My goal was simply to allow developers to get design time access to the documentation we publish in the Xrm.Page Reference content so that they don’t have to constantly refer to the documentation. However it wasn’t as simple as that. The Xrm.Page programming model is different from a library like JQuery. JQuery is a static library that you use to write code for any HTML page. When you write code that uses the Xrm.Page object found in a Microsoft Dynamics CRM form you are actually writing code to work on an in-memory object that is unique for each form and each entity. I eventually arrived at the conclusion that I could not create a generic helper ‘Xrm.Page-vsdoc.js’ file that developers could just add to a project.

How it was done

Visual Studio enables IntelliSense for JScript by instantiating an object in memory. (See JScript IntelliSense Overview for more information.) To make IntelliSense that would work for the Xrm.Page object found in a particular form I needed to find a way to capture all the data found in a form and use it to instantiate the same object for Visual Studio

The approach I finally settled on was to create a function that calls all the ‘get’ methods available for a form and to define that data as a single object variable using literal notation within a PageData.js file. This file is included in a Visual Studio solution. To get the data for a particular form you use a custom ribbon button on the form Customize tab. This button is labeled Xrm.Page Snapshot.

image

This button opens a dialog that allows you to capture the data from the form as shown below:

image

You have the option to specify a particular event if you intend to use the execution context, But it is not required. After you capture this snapshot you literally have to copy and paste the data from a dialog into the PageData.js file in your solution. In this way you can capture a snapshot of a form for any record or any state. All the available data for that record and the form is included. That was a lot of work, but actually relatively straightforward.

The more complex part is the creation of a library that would use the captured page data to instantiate an Xrm.Page object. This library also needs to include all the comments to support the reference documentation for the methods. The result was the XrmPageTemplate.js file. Almost 2500 lines of code were required for this.

Challenges

Part of the thing that made this difficult was that the Xrm.Page object contains many objects where the type of methods available for an object depend on the ‘type’ of object. But because it is JScript the objects are not strongly typed. For the XrmPageTemplate.js file I needed to reverse engineer the Microsoft Dynamics CRM code to create JScript ‘classes’ in order to have a consistent structure for the object.

At first I tried to just generate a static object using literal notation. That process created a huge amount of code and just wasn’t going to be practical. Instead I finally created a mixed model where some of the Xrm.Page object was set using literal notation. Other repeated elements like attributes and controls were set using classes with a base class to set the prototype property.

Further complicating this is that collections in the Xrm.Page object includes methods that return different objects depending on the arguments passed to them. Each collection supports three methods: forEach, get, and getLength. The get method accepts null, string, number or a delegate function. Depending on the argument passed and the contents of each collection it can return null, an object, or an array. In order for IntelliSense to provide useful information about objects returned by these collection methods I would need to get an instance of the object that would be returned for that particular method.

An unexpected benefit

The point of elaborating on all the difficulties I encountered in generating useful IntelliSense for Xrm.Page objects is that it explains why I ended up going one step further. The additional work opened up a new use for the project – testing your code outside of Microsoft Dynamics CRM.

Because I ended up reverse engineering most of the methods to return objects it wasn’t that much more work to commit to recreating the functionality for virtually all the public methods in the Xrm.Page object. The result is that you can actually use the Xrm.Page object within a test html page in Visual Studio to perform some initial testing of your functions before you create Web Resources in Microsoft CRM. This is a distinct advantage because frankly it is easier to debug JScript within a HTML page in Visual Studio than within a Microsoft CRM form.

The TestPage.htm within the Xrm.Page JScript Library Project doesn’t attempt to re-create the visible elements of the CRM form, however because all the elements of the Xrm.Page object are available your code will work. You can write simple unit test code within the TestPage.htm onload event to verify that your code works. For example, if your function will call the setVisible method for a form section, you can write test code to use the getVisible method and display a message to confirm that it worked as expected. If you want to test a function for a different record, just replace the page data with data you copy from a different record or an unsaved form.

The other ‘benefit’ of using the TestPage.htm for testing is that it requires that you only use supported methods of the Xrm.Page object. You can’t resort to using getElementById because the HTML page doesn’t contain an object you can reference. You have to stick to supported methods. The downside of this method of testing is that you can’t interact programmatically with content in Iframes or Silverlight controls that may are embedded in your form. You will still need to test those capabilities within the CRM form itself.

Testing the code within the project has its limitations. You may not be interested in testing your code this way and that’s fine. You can still use the project to just enjoy the benefits of IntelliSense.

Workaround required

One problem that still requires a bit of a workaround is writing functions that reference the execution context object. (See the SDK topic Use Execution Context and the Form Event Pipeline). Your functions have to be written so that the execution context is passed as the first parameter to the function. Setting this parameter in your function will initialize the object, effectively breaking IntelliSense for the event context object in your function. The workaround for this is to simply define the parameter after you have finished writing the function. If you need it, the Xrm.Page Snapshot will generate a global eContext object that you can use for IntelliSense as you first write the function. However you need to remember to add an eContext parameter to your function before you test it.

Nothing is perfect

Finally, I want to acknowledge that despite all the work in preparing this solution there are some aspects I’m not fully satisfied with. Visual Studio IntelliSense for JScript just doesn’t seem to be as robust as IntelliSense for managed code. For very simple functions the IntelliSense works fine. But for more complex functions the IntelliSense will eventually stop working. This may just be the nature of an interpreted language or it may be due to the way I’ve factored my code. I worked with the Visual Studio developers and tried several different approaches to factor the code but you definitely find that at some point Visual Studio will stop displaying IntelliSense. This doesn’t’ necessarily mean that your code is not correct. In fact you can test it using the TestPage.htm and in the form to confirm that it works, but you don’t get the full IntelliSense all the time. In the Readme file I’ve documented those cases I know will cause the IntelliSense to stop working. Despite this, I still think the project offers a significant advantage over writing your Jscript libraries without it.

What do you think?

If you have feedback or questions about this solution please send e-mail to :

Feedback for JScript IntelliSense Solution

Cheers,

Jim Daly


Update Rollup 1 for Microsoft Dynamics CRM 2011

$
0
0

The Microsoft Dynamics CRM Sustained Engineering (SE) team released Microsoft Dynamics CRM 2011 Update Rollup 1 on Thursday, April 7, 2011.

The links below will take you to the necessary information about Update Rollup 1. If a link does not work, please refer to the Release Channel Schedule below to make sure it is past the release date listed.

Release Channel Schedule

  • CRM Online Datacenter: April 5, 2011
  • Microsoft Download Center: April 7, 2011
  • Microsoft Update: April 26, 2011

General details about Update Rollup 1

  • Client packages installed manually by downloading the packages and running install will require administrative privileges. If the client packages are installed via the Windows Update (Microsoft Update) system, they will not require administrative privileges.
  • For help with installation please see the Installation Information section in KB2466084.

How to get support for Update Rollup 1

For support, please contact Microsoft Product Support. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft web site: http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS.

Note: In special cases, charges ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Cheers,

Matt Brown



What’s New in Microsoft Dynamics CRM 2011

$
0
0

I was reading Sonoma’s new book Working with Microsoft Dynamics CRM 2011 and found this list to be very helpful.

· Improved Microsoft Office Interface Microsoft Office 2007 introduced a new ribbon interface in products such as Excel and Word. Microsoft Office 2010 expanded the ribbon into other office products such as Outlook and OneNote. Microsoft Dynamics CRM 2011 also includes the contextual ribbon interface for improved ease-of-use and consistency with the other Microsoft Office applications.

· Role-Based Forms and Views Microsoft Dynamics CRM 2011 allows administrators to create multiple forms for each record type. By doing so, organizations can streamline the user interface so that users only see the data they need to access. For example, sales representatives might see a form filled with sales data about a customer, while customer service representatives could view the same customer record but instead see a different form that displays only customer service data.

· Inline Data Visualization You can now quickly create charts that display next to records in a grid. For example, you can view a list of opportunities and have a chart to the right that visualizes the estimated revenue of those opportunities. Microsoft Dynamics CRM 2011 also includes web-based tools for you to create and edit your own charts.

· Dashboards This feature allows users and administrators to configure dashboards with charts, grids, and possibly even data from external systems. Dashboards can be customized and tailored to each group’s or individual’s needs so that users can quickly access the information they need.

· Better Office Outlook Experience Microsoft Dynamics CRM for Outlook offers even deeper levels of integration with Microsoft Office Outlook. You can now use Outlook features such as filtering and conditional formatting on CRM data, in addition to other new benefits such as inserting CRM templates into Outlook email messages.

· Contextual Document Management With Microsoft Dynamics CRM 2011 and Microsoft Office SharePoint Server 2010, you can set up and associate integrated document libraries with specific records. For example, you could open an account record in CRM and access a SharePoint document library with the contracts and other documents related to the account.

· Field-Level Security You can toggle security on a custom field and then configure security so that only certain users can view or edit data in that field. This field-level security applies both to forms and data views.

· Goal Management Microsoft Dynamics CRM 2011 lets you specify the goals you want individuals or teams to achieve, and then track performance against those goals.

· Interactive Process Dialogs You can configure interactive dialogs that work like screen wizards to guide users from page to page, collecting information along the way.

· Solution Management Microsoft Dynamics CRM 2011 offers a new way for system administrators to manage their customizations. In particular, solutions allow administrators to group and bundle customizations so that the customizations can be transported to different systems more easily. In addition, solutions can be configured to prevent other users from modifying the changes.

· Extensibility and Developer Features Microsoft Dynamics CRM includes a number of new programmer enhancements, including a new programming model using Windows Communication Foundation (WCF), extended use of Windows Workflow Foundation 4.0, and support for .NET Language-Integrated Query (LINQ).

· User Interface Enhancements Microsoft Dynamics CRM 2011 includes multiple user interface enhancements designed to reduce the number of clicks it takes users to accomplish tasks. Some of these enhancements include a recently viewed items list, the ability to tag specific records for quick access, and in-line filtering on data views.

· Global Customizations You can now create option sets of values that can be attached to multiple records. For example, you can create a single option set for a list of countries and use that option set on accounts, contacts, and leads (instead of managing three different country picklists, as you did in previous versions of the software). In addition, you can also create globally available JScripts that can be accessed from any entity.

· Cloud Development Microsoft Dynamics CRM 2011 includes Azure extensions that help speed development of cloud-based solutions.

· Connections This new feature replaces the relationship functionality from previous versions of Microsoft Dynamics CRM. Connections offer more flexibility, allowing users to create their own connections between records. Further, connections can be applied to many different types of entities.

· Queues Microsoft Dynamics CRM 2011 extends queue functionality to other record types, instead of limiting it to cases. Queues also now offer better security options and can participate in workflow.

· Microsoft Dynamics Marketplace The Marketplace is an online catalog of third-party solutions available for download that you can use in your Microsoft Dynamics CRM system. You can access the Marketplace directly within the Microsoft Dynamics CRM web interface.

· Teams Teams can own records in Microsoft Dynamics CRM 2011, whereas only users could own records in previous versions of the software. This opens new options for teamwork and collaboration in the Microsoft Dynamics CRM security model.

· Auditing You can now enable auditing on a field-by-field basis, in which Microsoft Dynamics CRM captures each change on a record. The audit feature also captures the date and time of the modification, along with the old and new values of the specified fields.

· Web Resources Microsoft Dynamics CRM 2011 allows you to store HTML, Jscript, and Silverlight applications as web resources. System administrators can then use the web resources in form customizations, as well as in the site map or application ribbon.

Although this list only contains a small set of the new features in Microsoft Dynamics CRM 2011, we hope you’ll agree that this version of the software offers great new customization and end-user productivity enhancements.

Cheers,

JaAG

Microsoft Dynamics Cloud Partner Profitability Guide

$
0
0

Since the launch of Microsoft Dynamics CRM 2011 an increasing number of partners have been asking me about business models for CRM Online. This is an exciting time, cloud based services presents a whole new realm of opportunity and we are already seeing partners developing very profitable businesses with CRM Online. However this is an uncharted journey and fraught with some risk. Many partners are in a period of transition, they have an existing traditional (or on-premise) based CRM practice and now with the release of CRM Online, are now exploring the model behind cloud based services.

So what is the secret you ask? The key to success lies in the 7 levers of profitability, notable elements are subscription price, average deal size, rate of customer acquisition and churn rate, to name a few.

The ultimate pay off in moving to cloud services is the annuitized revenue stream and increasing profitability (as measured by EBITDA). Our research and examples from other partners has shown successful, sizeable cloud-based business may have a valuation that is double a comparable traditional services-based business because their revenue is growing faster, they are more profitable, and their IP gives them better operating leverage with size.

And so I return to the original question, what is the best business model for building a CRM Online practice?

To answer that question in more detail, I have being recommending partners read the new Microsoft Dynamics Cloud Partner Profitability Guide. This guide is available to partners who use PartnerSource. With over 1000 hours of research, interviews and analysis and more than 200 partners testing the content. This guide is your compass for navigating the uncharted waters of cloud based service delivery. Start your journey today!

Cheers,

Tom Crozier

Getting CRM Data into Outlook

$
0
0

One of the first questions people ask when they begin using the Microsoft Dynamics CRM 2011 Outlook Client is “how can I control what CRM data appears in Outlook”? Syncing too much data can reduce performance, but you also want to have information at your fingertips when you need it.

In Microsoft Dynamics CRM 2011, the Outlook Data Filters feature allows users to take control of what CRM data appears in Outlook. In CRM 4, users had the ability to specify what data they wanted to take Offline (i.e. when they weren’t connected to CRM), and in CRM 2011 we’ve expanded this feature to also allow users to specifically control what data syncs to Outlook’s own folders, like the Calendar and the Tasks pane.

This blog post explains what the filters are and how to use them effectively. You should read it if you would like to see additional CRM data in Outlook or Offline mode, or conversely, if sync is taking longer than you’d like.

Warning: With great power comes great responsibility. If you run into any issues, follow the instructions in the “Resetting your Filters” section to reset your filters to your organization’s standard settings.

The Filters Dialog

The filters dialog can be accessed in Outlook 2003 and 2007 by navigating to CRM->Outlook Filters, and in Office 2010 by going to the File backstage menu, then clicking CRM, pressing the ‘Sync’ button dropdown and selecting the ‘Outlook Filters’ option.

clip_image002

clip_image004

   Office 2003 & 2007

                 Office 2010

After you open the filter dialog, you’ll see something like this:

clip_image006

You can see that the dialog contains a list of rows (these are the filters) for different Outlook entity types, such as Contact, Task and Appointment (note that email is synced with CRM differently and is not managed by this feature). There is also a dropdown which lets you change the view to show Offline Synchronization Filters … what are these? Time for some definitions:

Outlook Filters

Outlook filters affect CRM items which have counterparts in Outlook, like Tasks, Contacts and Appointments. They control what data gets synced to Outlook folders, such as the Contacts folder or Calendar.

Offline Filters

Offline filters affect the CRM folders in Outlook, and they specify what data gets stored on your machine when you disconnect from the internet (a.k.a. “Go Offline”). If you’re always on the move and you find that you’re missing CRM data while Offline, you’ll want to modify your Offline filters.

Alternatively, if you’re finding that going Offline is taking a long time, you can remove or deactivate some of your data filters to reduce the amount of data which needs to be synced.

You also might be wondering what that ‘System Filters’ tab is referring to:

User Filters

These filters belong to you, and they dictate what information gets synced down from CRM to Outlook.

System Filters

These filters are set by the system administrator, and they apply to everyone.

Modifying a Filter

Filters work cumulatively – each filter defines a set of data which will sync to Outlook. For example, click on the ‘My Outlook Contacts’ filter and a new dialog will come up showing the filtering conditions for this filter. You can see that we’ve specified that any Contact which is owned by us and which is set to be Active will be synced to our Contacts folder.

clip_image008

Now, let’s say that we didn’t want all of our CRM contacts to appear in Outlook, but only the Contacts from our hypothetical partner firm, Contoso. We’d add another clause to the filter condition as follows:

clip_image010

After adding this condition, we can Save and then close the dialogs – next time you sync with CRM, all CRM Contacts (including Outlook contacts which you’ve tracked) will disappear from your Contacts folder unless they belong to Contoso.

Creating a new Filter

So modifying filters is easy enough, but what about adding new ones? As we said, filters are cumulative, so if you create multiple filters for a single entity type, then entities which match any of the filters will be synced.

By default, Outlook will only take the accounts you own Offline, even if you have access to other accounts. Let’s run through creating a simple filter that will make sure that all accounts which were modified in the last week are synced Offline. We’ll leave the existing filter in place as well so that you’ll still get all of your personal accounts, even if they haven’t been changed recently.

To start with, choose “Offline Synchronization Filters” from the dropdown and then click “New”.

clip_image012

You’ll see a new filter dialog come up. Account should be selected as the default entity, but you can pick another entity type from the dropdown if you wish:

clip_image013

Then we can go on to define some conditions for our filter, namely that the “Modified On” date should be within the “Last 7 Days”.

clip_image015

We can then save the filter, which prompts us to choose a name.

clip_image016

Once you’re done, hit “OK” and close the filter dialog and you should see your new filter in the list!

Resetting your Filters

What if you’ve blundered somehow, and messed up your filter settings? You can go back to the way things were by opening the filters dialog again and clicking More Actions -> Reset Data Filters. This will restore your filters to the default filter set for the organization.

The downside of this is that you’ll lose all of your new filters and modifications, but that’s the point of reset, right?

But wait… there’s more

We’ve covered some basic scenarios which leverage the Outlook Data Filters feature, but there’s plenty of extended functionality. Most of the latter is targeted more towards ‘power users’, so in general, we recommend keeping things simple.

If you have any questions, feel free to post a comment or create a thread on the forums. Technical details about filters can be found in this MSDN article.

Thanks!

David Nidorf

Migrating Customizations to Microsoft Dynamics CRM 2011 Online

$
0
0

Guest blogger and CRM MVP Frank Lee shares his insights about moving CRM 4.0 customizations to CRM online.

Since the release of Dynamics CRM 2011 Online – I’d been asked by a number of our Dynamics CRM 4.0 Online customers how they can find out if their MS Dynamics CRM 4.0 customizations work in MS Dynamics CRM 2011 so they can be ready for their scheduled upgrade.

This week, I am working with a High Tech Semiconductor Failure Analysis (FA) services company to prepare for their MS Dynamics CRM 2011 (5.0) Online Upgrade. One of the key areas is to ensure their current MS CRM 4.0 customizations will work as expected in MS CRM 2011 (5.0).

Here are the steps on how to migrate MS Dynamics CRM Online 4.0 Customization to MS CRM 2011 (5.0) Online:

  • Export All Customizations from MS CRM 4.0 Online – Settings >> Customizations >> Export Customizations >> More Actions >> Export All Customizations

image

Note: There is no support for exporting reports in MS CRM 4.0 Online. Any custom reports via Reports Wizard, Existing File, or Web Link will need to be manually migrated.

Setup a MS Dynamics CRM 4.0 On Premise Server Environment – Import the MSCRM 4.0 Online Customizations (from the previous step) to this environment and perform a Publish All.

- Microsoft Dynamics CRM 4.0 Server: 90-Day Trial Versions download and trial keys

- Ensure that this environment is a new installation that doesn’t contain any customizations, apply the latest Dynamics CRM 4.0 Update Rollup. Reference the MS Dynamics CRM 4.0 Implementation Guide for installation steps

- Since we are importing a customization file from CRM Online to On-Premise – review KB article to avoid this error:

image

- Ensure that the customizations have been imported successfully – perform “Publish All Customizations” afterwards

image

Note: The “Warning: systemuser: The systemuser entity was imported, but customized forms for the entity were not imported. Systemuser entity forms from Microsoft Dynamics CRM Live cannot be imported into on-premises or hosted versions of Microsoft Dynamics CRM” is normal

  • Perform the MS Dynamics CRM 2011 (5.0) Server Upgrade – this will upgrade all the customizations that were imported from Dynamics CRM Online 4.0 above

- Microsoft Dynamics CRM 2011 Server Download and Trial Product Keys

- Reference the MS Dynamics CRM 5.0 Implementation Guide for upgrade steps

- Ensure the 2011 Upgrade has been successfully completed

image

  • Create a MS CRM 2011 Solution – add all the upgraded customizations into it so we can export it to our final target test environment: MS CRM 2011 Online

- Export the Solution as “Unmanaged”

  • Setup a MS Dynamics CRM 2011 Online Environment – Import the MS CRM 2011 Solution (from the previous step) to this environment and perform a Publish All

- Sign up for a FREE 30-Day MSCRM 2011 Online Trial, Setup & Training

-The Warning regarding importing a different version is normal

image

- Ensure that the import of the Solution completed successfully – perform “Publish All Customizations” afterwards

This completes the test migration process of MS CRM Online 4.0 customization to MS CRM 2011 Online. Next step is to setup time with your CRM Users to validate their processes on the test environment and become familiar with the new MS CRM 2011 look.

If you would like to save time and would like our help to setup the above steps for your organization – contact me.

FREE Microsoft CRM Online 30 Day Trial access with our Professional Assistance!

Frank Lee



Viewing all 592 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>