Welcome to MSDN Blogs Sign in | Join | Help

Need to demonstrate Dynamics CRM 4.0 on RTM?

If you have an immediate requirement to demonstrate Dynamics CRM 4.0 then please follow these instructions:

We will use the RC0 VPC and remove this pre-release code, then install RTM

1) Download the RC0 VPC from here:

http://blogs.msdn.com/ukmscrm/archive/2007/11/19/dynamics-crm-v-4-0-rc0-available-on-partner-source.aspx

2) Remove all Dynamics CRM RC0 4.0 software from the VPC using add and remove programs

3) Remove previous CRM databases

4) Download the Dynamics CRM RTM 4.0 software from here:

http://blogs.msdn.com/ukmscrm/archive/2007/12/20/crm-v4-rtm-is-here-get-downloading-the-wow-has-arrived.aspx

Unzip the media and copy to the VPC

5) Install the Server, Outlook Client, SRS Data Connector and Email Router

Please use the implementation guide to assist you on the installations:

http://www.microsoft.com/downloads/details.aspx?FamilyId=1CEB5E01-DE9F-48C0-8CE2-51633EBF4714&displaylang=en

6) As with CRM 3.0, add some products, users and you will be demonstrating on V 4.0 RTM in no time.

Note: License keys can be found here:

http://www.microsoft.com/downloads/details.aspx?FamilyId=99CB3A7A-EBA9-4DE9-B0F1-2EBF11C3D756&displaylang=en

Please note that these are 90 day trial keys and the VPC will expire on the 30th November 2008. You can also use your MSDN keys instead of the trial keys if you prefer.

Thanks - Phil Rawlinson (UK Dynamics CRM Technical Specialist)

Posted by ukdynamics | 1 Comments

More Dynamics CRM 4.0 Training Dates!

Due to popular demand we can now offer more courses through our training partner Xpertise:

CRM v4 Installation & Deployment:  March 4th – 6th Xpertise Maidenhead

https://training.partner.microsoft.com/plc/details.aspx?systemid=1787929

CRM v4 Customisation & Configuration:  March 11th – 13th Xpertise Maidenhead

https://training.partner.microsoft.com/plc/details.aspx?systemid=1787927

Philip Rawlinson (UK CRM Technical Specialist)

Posted by ukdynamics | 1 Comments

Microsoft CRM 4.0 Customer Launch Events

We are holding two customer-only events to mark the launch of Microsoft Dynamics CRM 4.0, one in Reading at Microsoft Campus on 31st Jan 2008 and the other in Edinburgh at The Royal College of Surgeons of Edinburgh on 26th Feb 2008. The agenda will be as follows:

  • 09.30 - Registration
  • 10.00 - CRM Market Update
  • 10.40 - Break
  • 11.00 - What’s New in CRM v4.0
  • 12.00 - Showcase Customer Evidence
  • 12.30 - The Power of Choice – Hosting with CRM v4.0
  • 13.00 - Lunch & ISV Partner Solution Networking
  • 14.00 - Close

If you would like to come along, then you can register online:

  • Microsoft Dynamics CRM 4.0 Launch, Reading
  • Microsoft Dynamics CRM 4.0 Launch, Edinburgh
  •  

     

    Important Partner Note:

    Please note that these are customer events, partners have had 3 separate events plus the roadshows to get up to speed on CRM v4.0. If you require further assistance on training and readiness then please work with your Partner Account Manager and Reuben/Phil to determine a plan.

     

    Kind regards,

    Kind regards, Reuben Krippner (UK Microsoft Partner Technology Specialist - Microsoft Dynamics CRM)

    Posted by ukdynamics | 1 Comments

    February Dynamics CRM Road Shows

    Get these dates in your diary for the next time we hit the road and tour Edinburgh, Manchester and Reading (not much of a tour for this last location).

    27th  Feb – Edinburgh Office (http://www.microsoft.com/uk/about/map-edinburgh.mspx)

    Register here:

    https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=232784

    28th Feb – Manchester IOD (http://www.iod.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/GBP/IODContentManager-Start;sid=dkKP7W7z2kGtkimNdLaFe8Yz5DL8Sz21De8=?TemplateName=premises%2fcontent%2fmanchester%2fprem_manchester%2eisml&aff_1=manchester%20office%20location&Cache=No)

    Register here:

    https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=232787

    29th Feb – Reading Office (http://www.microsoft.com/uk/about/map-reading.mspx)

    Register here:

    https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=232792

    Get the latest news and hot topics for Dynamics CRM with product updates, demonstrations, new ISV options, roadmap etc...

    We look forward to seeing you there!

    Phil Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Convergence EMEA 2007 Demonstration - CRM and Contextual SharePoint Document Libraries/Folders

    In October 2007, Reuben Krippner and Phil Rawlinson presented two breakout sessions at Convergence EMEA in Copenhagen:

    1. Microsoft Dynamics CRM and SharePoint: Better Together

    2. Microsoft Dynamics CRM Extensibility

    During these sessions we covered a number of live demonstrations of how you can extend and integrate Microsoft Dynamics CRM (see other posts within our blog). One of the “big hit” demos involved the creation of contextual document libraries and folders triggered by Microsoft Dynamics CRM. I have packaged up this example as a hands-on-lab for you to try for yourself.

    A few explanatory notes first! As always, the code samples are supplied as is with no support or warranty provided by Microsoft. Feel free to take this code and modify and extend as you see fit. Special thanks go to Rich Dickinson from the Microsoft Dynamics CRM product group who set out the concepts and some code snippets for me to borrow and extend! I will also be posting this example modified to work with Microsoft Dynamics CRM 4.0 soon so stay tuned.

     

    Overall objectives:

    We will create a post-create callout component that will create a contextual document library within SharePoint whenever a new Account record is created in Microsoft Dynamics CRM. SharePoint provides us with web services that allow us to programmatically create document libraries. The code sample also then writes the URL of the document library to custom attributes in the Account entity. The contextual document library is displayed in an iFrame by some custom JavaScript in the onLoad event for the Account form in Microsoft Dynamics CRM. Additionally, logic has been added to the callout so that a contextual document folder (within the document library) is created for each sales opportunity created against the account record.

    This example has been tested using Microsoft Dynamics CRM 3.0 and Microsoft Office SharePoint Server (MOSS) 2007.

    Steps to follow:

    Step 1: We need to add some custom attributes to the Account and Opportunity entities, these attributes are used to store the location of the contextual document libraries and folders that we create via the callout component. Create the following attributes for the Account entity:

      1. New_sharepointdoclibraryname: nvarchar
      2. New_sharepointdoclibraryurl: nvarchar

    attribute1

    attribute2 

    Step 2: Save the changes

    Step 3: Create the following attributes for the Opportunity entity:

      1. New_sharepointdoclibraryurl: nvarchar
      2. New_sharepointlibraryxml: nvarchar

    attribute3

    attribute4

    Step 4: Save the changes

    Step 5: Publish the changes so that the CRM web services are up to date with our new attributes.

    Step 6: Create a class library project in Visual Studio to create our post-callout component.

    Step 7: Add web references for the following:

      1. Sharepoint, typically this is lists.asmx and there may be a number of these web service endpoints due to multiple SharePoint sites on your designated server. SharePoint is designed so that the web services are virtualized at every site level. All of the web services binaries are located in the <site>/_vti_bin directory. For example: http://<sharepointservername>/_vti_bin/lists.asmx
      2. Microsoft Dynamics CRM (CRM Service) which is typically found at http://<yourcrmservername>/mscrmservices/2006/crmservice.asmx.

    Step 8: Ensure you are editing the main class file in your project (I called this file doclist.cs)

    using System;
    using System.IO;
    using System.Text;
    using System.Xml;
    using Microsoft.Crm.Callout;

    namespace crmsp.libraries
    {
        public class doclist : CrmCalloutBase
        {
            //use this function for debugging and auditing where required
            private void WriteToFile(string message)
            {
                using (StreamWriter sw = File.CreateText(@"c:\audit\callout_test_output.txt"))
                {
                    sw.WriteLine(message);
                }
            }

            public static System.Xml.XmlNode CreateFolder(string listName, string folderName)
            {
                //Creating a SharePoint document folder under a library requires us to pass an Xml document to the web service
                //
                // The XML document looks like this:
                //
                //  <Batch OnError="Return" RootFolder="">
                //      <Method ID="1" Cmd="New">
                //            <Field Name="ID">New</Field>
                //            <Field Name="FSObjType">1</Field>
                //            <Field Name="BaseName">foldername</Field>
                //      </Method>
                //  </Batch>
                // Let's set up an XML document and populate it with the settings for our new document folder
                System.IO.StringWriter sw = new System.IO.StringWriter();
                System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);
                xw.WriteStartDocument();

                // build batch node
                xw.WriteStartElement("Batch");
                xw.WriteAttributeString("OnError", "Return");
                xw.WriteAttributeString("RootFolder", "");

                // Build method node
                xw.WriteStartElement("Method");

                // Set transaction ID
                xw.WriteAttributeString("ID", Guid.NewGuid().ToString("n"));
                xw.WriteAttributeString("Cmd", "New");

                // Build field ID
                xw.WriteStartElement("Field");
                xw.WriteAttributeString("Name", "ID");
                xw.WriteString("New");
                xw.WriteEndElement(); // Field end

                // Build FSObjType
                xw.WriteStartElement("Field");
                xw.WriteAttributeString("Name", "FSObjType");
                xw.WriteString("1");  // 1= folder
                xw.WriteEndElement(); // Field end

                // Build Base Name field from folder
                xw.WriteStartElement("Field");
                xw.WriteAttributeString("Name", "BaseName");
                xw.WriteString(folderName);
                xw.WriteEndElement(); // Field end

                // Close Method & Batch elements
                xw.WriteEndElement(); // Method end
                xw.WriteEndElement(); // Batch end
                xw.WriteEndDocument();
                System.Xml.XmlDocument batchElement = new System.Xml.XmlDocument();
                batchElement.LoadXml(sw.GetStringBuilder().ToString());

                //Setup web service
                Lists listService = new Lists();
                listService.Credentials = new System.Net.NetworkCredential("username", "password", "domain name");

                // send update request to sharepoint to create the document folder
                System.Xml.XmlNode result = listService.UpdateListItems(listName, batchElement);
                return result;
            }

            public override void PostCreate(CalloutUserContext userContext, CalloutEntityContext entityContext, string postImageEntityXml)
            {
                //SharePoint Document Libraries have a type code of 101
                Int32 spDocLibraryListType = 101;

                //If this is a create of an account then create a document library
                if (entityContext.EntityTypeCode == 1)
                {
                    WriteToFile(postImageEntityXml.ToString());
                    // Load the postImageEntityXml and use an XPath
                    // query to locate the name field value.
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(postImageEntityXml);
                    // Initialize a NameTable object.
                    NameTable nt = new NameTable();
                    // Initialize a namespace manager.
                    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
                    // Add the required prefix/namespace pairs to the namespace
                    // manager. Add a default namespace first.
                    nsmgr.AddNamespace("crm","
    http://schemas.microsoft.com/crm/2006/WebServices");
                    nsmgr.AddNamespace("xsi","http://www.w3.org/2001/XMLSchema-instance");
                    XmlNode node = xd.SelectSingleNode("//crm:Property[@Name='name']/crm:Value", nsmgr);
                    // Grab the node's InnerText property to name our SharePoint Document Library.
                    if (node != null)
                    {
                        string accountName = node.InnerText;
                        //string listName = node.InnerText + "_" + DateTime.Now.ToString("yyyyMMdd_hhmmss");
                        //Call the SharePoint Web Service to create a document library
                        Lists listService = new Lists();
                        listService.Credentials = new System.Net.NetworkCredential("user name", "password", "domain name");
                        //System.Xml.XmlNode result = listService.AddList(listName, accountName + " Document Library", spDocLibraryListType);
                        System.Xml.XmlNode result = listService.AddList(accountName, accountName + " Document Library", spDocLibraryListType);
                        //grab the return xml
                        string returnXml = result.InnerXml.ToString();
                        //update Microsoft CRM record with the return xml
                        CrmService service = new CrmService();
                        service.Credentials = System.Net.CredentialCache.DefaultCredentials;

                        // Create the account object.
                        account account = new account();

                        // Set the properties of the account object to be updated.
                        account.new_sharepointdoclibraryname = accountName;
                        account.new_sharepointdoclibraryurl = "
    http://yoursharepointservername/" + accountName + "/Forms/AllItems.aspx";

                        // accountid is a key that references the ID of the account to be updated.
                        account.accountid = new Key();

                        // account.accountid.Value is the GUID of the record to be changed.
                        account.accountid.Value = entityContext.InstanceId;

                        // Update the account.
                        service.Update(account);           
                    }
                }

                //If this is a create of an opportunity then create a folder under the account's document library
                if (entityContext.EntityTypeCode == 3)
                {
                    WriteToFile(postImageEntityXml.ToString());
                    //If the Opportunity is linked to an account then we want to create a document folder
                    //
                    // Load the postImageEntityXml and use an XPath
                    // query to locate the name field value.
                    XmlDocument xd = new XmlDocument();
                    xd.LoadXml(postImageEntityXml);
                    // Initialize a NameTable object.
                    NameTable nt = new NameTable();
                    // Initialize a namespace manager.
                    XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
                    // Add the required prefix/namespace pairs to the namespace
                    // manager. Add a default namespace first.
                    nsmgr.AddNamespace("crm", "
    http://schemas.microsoft.com/crm/2006/WebServices");
                    nsmgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                    XmlNode node = xd.SelectSingleNode("//crm:Property[@Name='customerid']/crm:Value[@type='account']", nsmgr);
                    // Grab the node's InnerText property to see if this opportunity is related to an account.
                    if (node != null)
                    {
                        //this node gives us the Guid of the Account record
                        string strAccountId = node.InnerText;
                        //we now need to query the account to grab the SharePoint document library name
                        CrmService service = new CrmService();
                        service.Credentials = System.Net.CredentialCache.DefaultCredentials;

                        //we'll also grab the Title of the sales Opportunity for naming our SharePoint folder
                        XmlNode nodeTitle = xd.SelectSingleNode("//crm:Property[@Name='name']/crm:Value", nsmgr);

                        // Create the column set object that indicates the fields to be retrieved.
                        ColumnSet cols = new ColumnSet();
                        // Set the properties of the column set.
                        cols.Attributes = new string[] { "new_sharepointdoclibraryname" };
                        // accountGuid is the GUID of the record being retrieved.
                        Guid accountGuid = new Guid(strAccountId);
                        // Retrieve the account.
                        // The EntityName indicates the EntityType of the object being retrieved.
                        account account = (account)service.Retrieve(EntityName.account.ToString(), accountGuid, cols);

                        //OK, now we have the sharepoint document library name we can create a document folder under it
                        //the folder name will be "Sales Opp" + the Guid of the Opportunity record
                        //string strFolderName = "Sales Opp - " + nodeTitle.InnerText + "_" + DateTime.Now.ToString("yyyyMMdd_hhmmss");
                        string strFolderName = "Sales Opp - " + nodeTitle.InnerText;
                        XmlNode xmlResult = CreateFolder(account.new_sharepointdoclibraryname, strFolderName);

                        //Finally, we need to update the opportunity with the folder location
                        // Create an opportunity object.
                        opportunity opportunity = new opportunity();

                        // Set the properties of the opportunity object to be updated.
                        opportunity.new_sharepointlibraryxml = xmlResult.InnerXml.ToString();
                        opportunity.new_sharepointdoclibraryurl = "
    http://yoursharepointserver/" + account.new_sharepointdoclibraryname + "/Forms/AllItems.aspx?RootFolder=/" + account.new_sharepointdoclibraryname + "/" + strFolderName;

                        // opportunityid is a key that references the ID of the opportunity to be updated.
                        opportunity.opportunityid = new Key();

                        // opportunity.Value is the GUID of the record to be changed.
                        opportunity.opportunityid.Value = entityContext.InstanceId;

                        // Update the opportunity.
                        service.Update(opportunity);           
                    }
                }
            }
        }
    }

    Step 9: Compile your new callout component.

    Step 10: Copy the dll file created into the \server\bin\assembly folder on your CRM Server(s).

    Step 11: Add the Callout.Config.xml snippet into your callout.config file.

    <callout.config version="1.0" xmlns=" http://schemas.microsoft.com/crm/2006/callout/">
        <callout entity="account" event="PostCreate">
            <subscription assembly="CRM_DOCS.dll"
                         class="crmsp.libraries.doclist"
                         onerror="abort">
            </subscription>
        </callout>
    </callout.config>

    Step 12: Run IISReset to enable the new callout event

    Step 13: We now need to configure the iFrames in the Account and Sales Opportunity entities to display our contextual document libraries or folders. Starting with Account form design: add a new tab called Document Library and then add a new iFrame called IFRAME_Sharepoint

    account_iframe

    account_iframe2

    Step 14: Next we want to add in the OnLoad logic on the Account form to set the URL of the SharePoint iFrame to display our contextual document library.

    account_onload_script

    // OnLoad Event to set the iFrame URL for the SharePoint Library.
    var CRM_FORM_TYPE_CREATE = 1;
    var CRM_FORM_TYPE_UPDATE = 2;
    ////////////////////////////////////////////////////////////////////////////////
    // Set SharePoint Document Library
    ////////////////////////////////////////////////////////////////////////////////

    // read-only forms are not editable and so do not require dynamic picklists.
    if (crmForm.FormType == CRM_FORM_TYPE_UPDATE)
    {
          var sUrl=crmForm.all.new_sharepointdoclibraryurl.DataValue;
          crmForm.all.IFRAME_SharePoint.src = sUrl;
    }

    Step 15: Save the changes to the Account Entity.

    Step 16: Now, working with the Opportunity entity: add a new tab called Document Folder and then add a new iFrame called IFRAME_Sharepoint.

    opportunity_iframe

    opportunity_iframe2

    Step 17: We now need to add the OnLoad logic to the Opportunity form.

    opportunity_onload_script

    // OnLoad Event to set the sharepoint document library iFrame

    var CRM_FORM_TYPE_CREATE = 1;
    var CRM_FORM_TYPE_UPDATE = 2;
    ////////////////////////////////////////////////////////////////////////////////
    // Set SharePoint Document Folder
    ////////////////////////////////////////////////////////////////////////////////

    // we'll update the iFrame src property if this is an update form
    if (crmForm.FormType == CRM_FORM_TYPE_UPDATE)
    {
          var sUrl=crmForm.all.new_sharepointdoclibraryurl.DataValue;
          crmForm.all.IFRAME_SPDocFolder.src = sUrl;
    }

    Step 18: Finally, save changes to the Opportunity entity and Publish all your changes. The result should be that a new document library is created whenever a new Account record is added to Microsoft Dynamics CRM and a new Document Folder for each Sales Opportunity is created when Sales Opportunities are added to that Account record.

     

    Have fun with it! :-) I'll post another entry once I've gone through it on Microsoft Dynamics CRM 4.0

    Kind regards, Reuben Krippner (UK Microsoft Partner Technology Specialist - Microsoft Dynamics CRM)

    Posted by ukdynamics | 3 Comments

    Another CRM V4 Course for your diary! Applications....

    CRM v4 applications

    This three-day instructor-led course provides students with the knowledge and skills to improve their business processes by using the key features of sales management, marketing automation, service management, and service scheduling.

    Feb 12-14

    https://training.partner.microsoft.com/plc/details.aspx?systemid=1756756

    Philip Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Subsidised BizTalk Training from Microsoft - Improve your BizTalk knowledge!

     

    We have 3 separate training opportunities around BizTalk for partners in December, details of which are below. These courses are aimed at partners considering building a BizTalk practice. Please note that each training course is aimed at a slightly different audience, and it is therefore essential that partners carefully consider who they send to each, in order to obtain maximum value:

    1)      10th – 14th December, Chertsey: Quicklearn BizTalk Developer Deep Dive for existing BizTalk developers – This course if for existing BizTalk developers, who wish to grow their expertise. Anyone who has not already worked with BizTalk should not attend this course. Further details and registration can be found at http://www.quicklearn.com/newsletters/news111507.htm. This course is normally $3395, but with our subsidy is just $500 per attendee. This will be the only subsidised delivery of this course this financial year. I would ask you to consider sending someone on this course if you have someone suitable available as it provides a great opportunity to develop your BizTalk capability.

    There are also two 3 day BizTalk courses running concurrently the following week, Dec 17th – 19th in London. These courses will be re-run later in the year and attendees can register now for any of the deliveries.

    2)      Introduction to BizTalk 2006 for Developers (3 days) - £300 (80% subsidised) (see Dev.doc)

     

    Title

    Duration

    Start Date

    Location

    Format

    Fee Based

    Actions

    44CO049 - Introduction to BizTalk 2006 for Developers

    3  Days

    17 Dec 2007

    London

    Classrooms (Live)

    Yes

     

    44CO049 - Introduction to BizTalk 2006 for Developers   Day 1 Intro to BizTalk and it’s architecture   In the introduction to BizTalk an it’s architecture we’ll have a look at the different pieces which come with BizTalk. Which process model is used and how the different pieces fit together or communicate with one another.  Messaging Engine (Includes Adapters, Pipelines, Maps) The core of BizTalk is the messaging engine.

    clip_image003

    44CO049 - Introduction to BizTalk 2006 for Developers

    3  Days

    05 Feb 2008

    London

    Classrooms (Live)

    Yes

     

    44CO049 - Introduction to BizTalk 2006 for Developers   Day 1 Intro to BizTalk and it’s architecture   In the introduction to BizTalk an it’s architecture we’ll have a look at the different pieces which come with BizTalk. Which process model is used and how the different pieces fit together or communicate with one another.  Messaging Engine (Includes Adapters, Pipelines, Maps) The core of BizTalk is the messaging engine.

    clip_image003

    44CO049 - Introduction to BizTalk 2006 for Developers

    3  Days

    11 Mar 2008

    London

    Classrooms (Live)

    Yes

     

    44CO049 - Introduction to BizTalk 2006 for Developers   Day 1 Intro to BizTalk and it’s architecture   In the introduction to BizTalk an it’s architecture we’ll have a look at the different pieces which come with BizTalk. Which process model is used and how the different pieces fit together or communicate with one another.  Messaging Engine (Includes Adapters, Pipelines, Maps) The core of BizTalk is the messaging engine.

    3)      Introduction to Biztalk 2006 for Architects (3 days) - £300 (80% subsidised)

    Title

    Duration

    Start Date

    Location

    Format

    Fee Based

    Actions

    44CO050 - Introduction to BizTalk 2006 for Architects

    3  Days

    17 Dec 2007

    London

    Classrooms (Live)

    Yes

     

    44CO050 - Introduction to BizTalk 2006 for Architects   Day 1 Intro to Architecture In the introduction to the architecture of BizTalk 2006 we’ll discuss Service Oriented Architectures and designs in a whole, how BizTalk fits into that and what the architecture of the different BizTalk systems are. This also includes the side products like ‘Single Sign-On Server’, ‘Business Rules Engine’ and ‘Business Activity Monitor’.

    clip_image003

    44CO050 - Introduction to BizTalk 2006 for Architects

    3  Days

    26 Feb 2008

    London

    Classrooms (Live)

    Yes

     

    44CO050 - Introduction to BizTalk 2006 for Architects   Day 1 Intro to Architecture In the introduction to the architecture of BizTalk 2006 we’ll discuss Service Oriented Architectures and designs in a whole, how BizTalk fits into that and what the architecture of the different BizTalk systems are. This also includes the side products like ‘Single Sign-On Server’, ‘Business Rules Engine’ and ‘Business Activity Monitor’.

    clip_image003

    44CO050 - Introduction to BizTalk 2006 for Architects

    3  Days

    26 Mar 2008

    London

    Classrooms (Live)

    Yes

     

    44CO050 - Introduction to BizTalk 2006 for Architects   Day 1 Intro to Architecture In the introduction to the architecture of BizTalk 2006 we’ll discuss Service Oriented Architectures and designs in a whole, how BizTalk fits into that and what the architecture of the different BizTalk systems are. This also includes the side products like ‘Single Sign-On Server’, ‘Business Rules Engine’ and ‘Business Activity Monitor’.

    Philip Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Uploading Sales Literature from Dynamics CRM to a MOSS 2007 Document Library (Presented at EMEA Convergence)

    MOSS 2007 and CRM 3.0 Integration Hands On Labs

    Uploading Sales Literature documents to MOSS (Based on the MOSS \ CRM Image from the IW Team)

    In this Hands On Lab you will see how to programmatically upload documents to MOSS 2007 in response to tasks created in the previous lab. You will create a MOSS custom list, a site column, a content type and a document library. A prewritten CRM callout and web service will be used to programmatically upload sales Literature documents to MOSS.

    1. Install the file upload web service

    a. Log on to VPC image MOSSCRM using the following credentials:

    User name

    administrator

    Password

    pass@word1

    Domain

    LITWAREINC

    b. Download the UploadServiceCopier.exe from here:

    http://www.walisystems.com/ws1_dlc.asp and unzip

    double click UploadServiceCopier.exe.

    clip_image002

    c. In the first WSuploadService dialog box, click Next.

    clip_image005

    d. In the Select Installation Address dialog box, set the Site value to MOSS and the Virtual Directory value to be bin.

    Click Next twice.

    clip_image009

    e. In the Installation Complete dialog box click Close.

    clip_image012

    2. Create a callout component

    a. Build an assembly \ callout using the following:

     

    using System;
    using Microsoft.Crm.Callout;
    using System.Xml;
    using CRMCallout.CRM;
    using System.IO;
    using System.Text;

    namespace CRMCallout
    {
        public class PostUpdateSalesLiterature : CrmCalloutBase
        {
            public override void PostUpdate(CalloutUserContext userContext, CalloutEntityContext entityContext, string preImageEntityXml, string postImageEntityXml)
            {
                string rootDirectory=@"C:\SharedDocumentSource";

                //read in the XML from the new product and find the name of the item
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(postImageEntityXml);
                XmlNodeList lstProperties = doc.GetElementsByTagName("Value");
                string salesLiteratureID = lstProperties[0].FirstChild.Value.ToString();

                //connect to the CrmService
                CrmService service = new CrmService();
                service.Credentials = System.Net.CredentialCache.DefaultCredentials;

                //find all the SalesLiteratureItems that belong to this Sales Literature
                BusinessEntityCollection entities;

                QueryExpression query = new QueryExpression();
                query.EntityName = EntityName.salesliteratureitem.ToString();

                ColumnSet cols = new ColumnSet();
                cols.Attributes = new string[] { "filename", "filesize", "title" };
                ConditionExpression condition = new ConditionExpression();
                condition.AttributeName = "salesliteratureid";
                condition.Values = new string[1] { salesLiteratureID };
                condition.Operator = ConditionOperator.Equal;

                FilterExpression filter = new FilterExpression();
                filter.Conditions = new ConditionExpression[] { condition };
                query.ColumnSet = cols;
                query.Criteria = filter;

                entities = service.RetrieveMultiple(query);

                if (entities.BusinessEntities.Length != 0) //there are SalesLiteratureItems with the updated Sales Literature
                {
                    for(int i=0;i<entities.BusinessEntities.Length;i++)
                    {
                        salesliteratureitem entity = (salesliteratureitem)entities.BusinessEntities[i];
                        string documentTitle="Untitled document";
                        if(entity.title !=null)
                        {
                            documentTitle=entity.title.ToString();
                        }
                        try
                        {   
                        // upload the file via the custom web service
                        CRMCallout.MOSS.Files oUploader = new CRMCallout.MOSS.Files();
                        System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("administrator","pass@word1","litwareinc");
                        oUploader.Credentials=credentials;
                        string strPath = Path.Combine(rootDirectory, entity.filename.ToString());
                        string strFile = strPath.Substring(strPath.LastIndexOf("\\")+1);
                        string strDestination = "http://moss/Sales Literatures";
                        FileStream fStream = new FileStream(strPath,FileMode.Open);
                        byte[] binFile = new byte[(int)(fStream.Length)];
                        fStream.Read(binFile,0,(int)fStream.Length);
                        fStream.Close();
                        string str =oUploader.UploadDocument(strFile,binFile,strDestination);

                        }
                        catch (System.Exception ex)
                        {
                        }
                    }
                }
            }
        }
    }

    clip_image014

    b. Copy the callout.config.xml file to the assembly\bin folder on the server.

    <callout.config version="3.0" xmlns=" http://schemas.microsoft.com/crm/2006/callout/">
        <callout entity="product" event="PostCreate">
            <subscription assembly="CRMCallout.dll" class="CRMCallout.PostCreateProduct">
                <postvalue>name</postvalue>
            </subscription>
        </callout>
        <callout entity="salesliterature" event="PostUpdate">
            <subscription assembly="CRMCallout.dll" class="CRMCallout.PostUpdateSalesLiterature">
                <postvalue>salesliteratureid</postvalue>
            </subscription>
        </callout>
    </callout.config>

    a. Right click the callout.config.xml file and choose Properties. In the callout.config.xml Properties dialog box, click the Security tab.

    Click the Add button.

    clip_image015

    b. In the Select Users, Computers or Groups dialog box, enter the value everyone in the textbox and click Check Names.

    Check that the entry resolves correctly and then click the OK button.

    clip_image017

    c. In the callout.config.xml Properties dialog box, ensure that the entry for Everyone is selected and assign Full Control access rights.

    Click the OK button and close all open windows.

    clip_image018

    c. Choose Start, Run… and in the Run dialog enter iisreset. Click the OK button.

    clip_image019

    3. Creating a shared folder for document storage

    a. Using Windows Explorer, navigate to the root of drive C:. Right click in the dialog box and choose New, Folder. Name the folder SharedDocumentSource.

    Right click the new folder, choose Properties, and on the Sharing tab configure the folder to be shared giving Full Control to Everyone.

    Click OK twice and close all open dialogs.

    clip_image021

    4. Creating a MOSS 2007 Custom List

    a. Using Internet Explorer, navigate to http://moss.

    On the Site Actions menu, choose Create.

    clip_image024

    b. In the Create web page, choose Custom List from within the Custom Lists section.

    clip_image027

    c. In the New web page, enter the name Customers for the new list and click Create.

    clip_image028

    d. In the Customers web page, select Settings and List Settings.

    clip_image030

    e. In the Customize Customers web page, click the Title link in the Columns section.

    clip_image033

    f. In the Change Columns: Customers web page, set the Column name attribute with a value of CustomerName. Leave the remaining options with their default values and click OK.

    clip_image035

    g. In the Customers web page, select New, and choose New Item.

    clip_image036

    h. In the Customers: New Item page enter the CustomerName value of Contoso. Click the OK button.

    clip_image038

    i. Repeat steps g and h, entering a CustomerName of Fabrikam.

    clip_image040

    j. Repeat steps g and h, entering a CustomerName of Northwind.

    clip_image042

    5. Creating a MOSS 2007 Site Column

    a. On the Customers web page choose the Site Actions menu and select Site Settings.

    clip_image045

    b. In the Site Settings web page, choose Site Columns from the Galleries section.

    clip_image046

    c. In the Site Column Gallery web page, choose Create.

    clip_image047

    d. In the New Site Column: MOSS web page, in the Name and Type section, set the Column name attribute to be CustomerName.

    Choose the Lookup (information already on this site) option and wait for the page to refresh.

    clip_image048

    e. In the New Site Column: MOSS web page, in the Group section, choose the New group option and call the group MOSS Columns.

    clip_image049

    f. In the New Site Column: MOSS web page, in the Additional Column Settings section, in the Get information from drop down list, choose Customers and in the In this column drop down list, select CustomerName.

    Click the OK button.

    clip_image050

    6. Creating a MOSS 2007 Content Type

    a. Navigate to the site home page and on the Site Actions menu, choose Site Settings.

    On the Site Settings web page, choose Site Content Types from the Galleries section.

    clip_image053

    b. In the Site Content Type Gallery web page, choose Create.

    clip_image054

    c. In the New Site Content Type web page, enter a Name for the content type of MOSS Document.

    In the Select parent content type from drop down list, choose Document Content Types and in the Parent Content Type drop down list, select Document.

    Select the New group radio button and enter a new group name of MOSS Content Types.

    Click the OK button.

    clip_image055

    d. In the Site Content Type: MOSS Document web page, select the Add from existing site columns link.

    clip_image058

    e. In the Add Columns to Site Content Type: MOSS Document web page, in the Select columns from drop down list, choose MOSS Columns.

    In the Available columns list box, choose CustomerName and click the Add button.

    Click the OK button.

    clip_image060

    7. Creating a MOSS 2007 Document Library

    a. Navigate to the site home page and click the Site Actions menu. Choose Create.

    clip_image062

    b. In the Create web page, choose Document Library from the Libraries section.

    clip_image064

    c. In the New web page, set the Name of the new Document Library as Sales Literatures.

    Choose the Microsoft Office Word document option from the Document Template drop down list and click Create.

    clip_image066

    d. In the Sales Literature web page, select Settings, Document Library Settings.

    clip_image068

    e. In the Customize Sales Literatures web page, select advanced settings from the General Settings section.

    clip_image069

    f. In the Document Library Advanced Settings: Sales Literatures web page, in the Content Types section, select the Yes radio button under Allow management of content types?

    clip_image070

    g. In the Customize Sales Literatures web page, choose Add from existing site content types in the Content types section.

    clip_image073

    h. In the Add Content Types: Sales Literatures web page, in the select content types from drop down list, choose MOSS Content Types.

    From the Available Site Content Types list box, choose MOSS Document and click Add.

    Click the OK button.

    clip_image075

    i. In the Customize Sales Literatures web page, select the Document link in the Content Types section.

    clip_image077

    j. In the List Content Type: Document web page, choose Delete this content type from the Settings section.

    In the resulting Message Box, choose Yes to confirm deletion of the content type.

    clip_image078

    k. Return to the site home page and click the Sales Literatures link in the left hand Quick Launch bar.

    clip_image081

    8. Creating a document, adding it to CRM and uploading to MOSS 2007-01-26

    a. In the Sales Literature web page, choose New, MOSS Document.

    Microsoft Office Word 2007 will open.

    clip_image082

    b. In the properties for the new document, enter Northwind Fire Literature in the Title text box and choose Northwind from the CustomerName drop down list.

    Enter some generic text in the body of the document.

    clip_image084

    c. Save the document as Northwind Fire.docx in C:\SharedDocumentSource and close Microsoft Office Word 2007.

    clip_image086

    d. Minimise the Internet Explorer window for the MOSS site and open a new instance if Internet Explorer. Navigate to the http://moss:5555 CRM web client home page.

    Click the Sales link in the left navigation.

    clip_image089

    e. Click the Sales Literature link and click New.

    clip_image092

    f. In the Title section, enter Northwind Fire Literature and choose Insurance Services in the Subject section.

    Click Save and Close.

    clip_image094

    g. Double click the new Sales Literature item to open it.

    clip_image096

    h. Click the Documents link, choose New Document and in the resulting web page, enter a Title for the document of Northwind Fire Proposal and attach the document saved at C:\SharedDocumentSource\NorthwindFire.docx.

    Click Save and Close to save the new document.

    DO NOT SAVE AND CLOSE THE SALES LITERATURE OBJECT.

    clip_image098

    i. Click the Information link to display the Northwind Fire Literature and in the Type drop down list, select Sales Literature. Add some general notes in the Description section.

    Click Save and Close.

    clip_image102

    j. Return to the http://moss site and refresh the Sales Literatures document library to display the uploaded Northwind Fire document.

    clip_image104

    Enjoy!

    Philip Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Dynamics CRM and Business Intelligence Sales Academy - 10th Dec 2007 (Reading)

    Audience – Sales and Pre-Sales who have completed the CRM Sales Academies

     

    The Dynamics CRM and Business Intelligence Sales Academy has been compiled to demonstrate how elements of the Microsoft Business Intelligence

    Suite can be integrated with Dynamics CRM to offer further differentiation against our competitors.

     

    Register – 9:00, Start 9:30, Finish 15:45.

     

    Register here:

     

    https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=233740

     

     

    Throughout the day we will be covering:

     

    • Market Analysis and Research  

    Review key verticals and how a combined solution across CRM and Business Intelligence can deliver on vertical business drivers.                                              

    • Dynamics CRM Business Intelligence Story        

    The end to end Business Intelligence story from Microsoft and how CRM can utilise these components                                                                                                   

    • Analytics Foundation    

    From the Dynamics CRM Product Group - A packaged offering showcasing how CRM and Business Intelligence  can work better together                     

    • Excel 2007 and Data Mining

    Predictive Analytics – Cross Sell, Customers most likely to buy, Forecasting, Segmentation and Category Detection                                                               

    • Microsoft Office SharePoint Server (MOSS) 2007 and Business Intelligence       

    Using MOSS as the CRM Dashboard, utilising RSS for Report Notification             

    • Fractal Edge      

    ISV Option – Advanced Visualisation Techniques in Excel 2007 – WPC Award Winner                                                                       

    • Web Trends and Exact Target    

    ISV Option – Web Site Traffic Analysis in combination with an eMarketing Solution to determine online campaign success                                                

    • Competitive Analysis

    Review other competitive CRM \ Business Intelligence Options                                                   

    • Licensing

    What do we need to license to achieve all of the above?

                                                                                   

      Philip Rawlinson (UK CRM Technical Specialist)

     

    Posted by ukdynamics | 1 Comments

    Dynamics CRM and MOSS 2007 Sales Academy - 29th November 2007 (Reading)

     

     

    Audience – Partner Sales and Pre-Sales who have completed the CRM Sales Academies and where their Technical people have attended the corresponding CRM \ MOSS 2 Day Technical Academy.

     

    On the 29th November we will be holding a  combined Dynamics CRM and MOSS 2007 Sales Academy at TVP.

     

    We will be reviewing how these technologies and can work better together to deliver collaborative solutions for partners and customers.

     

    Both in Dynamics and Information Worker we are seeing real opportunities and synergies for these two solutions to be implemented together so we need to ensure that they are both Microsoft Technologies!

     

    Please invite your partners to the following event so that they can learn the value of these two solutions working together and what solutions can deliver

     

    On the day there will be demonstrations of the solutions, key messaging, competitive analysis, SSP experiences and their opportunities, vertical scenarios plus a whole raft of other useful information.

     

    Please use the link to register:

     

    https://training.partner.microsoft.com/plc/details.aspx?publisher=12&delivery=233685

     

    Thanks,

     

    Phil Rawlinson (UK Dynamics CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Dynamics CRM V 4.0 RC0 available on Partner Source

     

    All,

     

    Get downloading and up skill on Microsoft Dynamics CRM V 4.0

     

    This image contains:

     

    The VPC Contains:

    • Microsoft Dynamics CRM 4.0 (RC0)
    • Microsoft Dynamics CRM Laptop and Desktop Client
    • Microsoft Dynamics CRM SDK (C:\CRM Tools\SDK)
    • Microsoft Windows Server 2003 R2 Enterprise Edition (SP2)
    • Microsoft SQL Server 2005
    • Internet Explorer 7
    • Microsoft Office Professional 2007
    • Microsoft Office SharePoint Server 2007
    • Microsoft Visual Studio 2005
    • POP3 E-Mail Services (No Exchange)

     

    https://mbs.microsoft.com/partnersource/products/mscrm/newsevents/news/CRM4VPCImageRC0Release

     

    Thanks – Philip Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 3 Comments

    Sell More with Microsoft Dynamics CRM and Business Intelligence (Presented at EMEA Convergence 2007)

    Use Predictive Analytics from SQL Server 2005, Excel 2007 Data Mining Add-In and Dynamics CRM Data to detect patterns in historical transactional sales order information to predict cross sell opportunities.

    By popular demand I have now scripted the process so that you can all benefit from this!

    1) Install the Data Mining add – in for Excel 2007 (check that this has installed correctly by starting Excel 2007 and you will see a new section in the ribbon called ‘Data Mining’.

    http://www.microsoft.com/sql/technologies/dm/addins.mspx

    2) Start Excel 2007

    3) Select ‘Data’, ‘From Other Sources’, ‘From Microsoft Query’

    clip_image002

    4) Select the ‘Microsoft CRM’ data source – If there is not one then create one.

    image

    5) Select the following columns from ‘FilteredSalesOrder’

    a. salesorderid

    b. ordernumber

    6) Select the following columns from ‘FilteredSalesOrderDetail’

    a. salesorderid

    b. productidname

    image

    image

    image

    7) Select ‘Next’

    8) Select ‘OK’ – we will manually build the join in the next step

    image

    9) Drag and Drop ‘salesorderid’ from ‘FilteredSalesOrder’ to ‘salesorderid’ from ‘FilterSalesOrderDetail’ – this creating the join between the two views so that the sales order header is linked to its corresponding sales order product lines.

    10) Return the data to Excel 2007 using the ‘Return Data’ button (Fourth in from the left)

    image

    11) Select ‘OK’ on the ‘Import Data’ dialog box

    image

    12) Remove the two ‘salesorderid’ columns as we do not need these any more as we have already linked the transactions in ‘Step 9’

    13) Filter the ‘ordernumber’ column from ‘A to Z’

    image

    14) Select the ‘Data Mining’ column from the Excel 2007 Ribbon and then ‘Associate’ – The ‘Associate’ Algorithm is a mathematical formulae that is built to detect patterns in data and lends itself to detecting patterns in transactional data for cross sell initiatives.

    image

    15) Select ‘Next’ from the wizard

    image

    16) Select ‘Next from the wizard

    17) In this next screen you can change the parameters of the Data Mining Model

    To learn more about these parameters please refer to:

    http://msdn2.microsoft.com/en-us/library/ms174768.aspx

    image

    18) Change the ‘Minimum Support’ to ‘5’ for your first go to ensure you get a result set back, if this also fails perhaps lower this and also the probability. Again to learn more about these parameters use the link above.

    19) Select ‘Next’

    20) Select ‘Enable Drill Through’

    21) Select ‘Finish’

    22) View the results – Here we are looking for a high ‘Importance’ and then a high ‘Probability’ so we can see that a rule has been detected where the there is high probability of selling a ‘Road Bottle Cage’ with a ‘Road 150 Red’. Again for more information on the parameters please read the article above. Select ‘Copy to Excel’ to bring the results back to your work book.

    image

    image

    23) Select the ‘Dependency Network’ to see the rule set depicted graphically in terms of the associations between products

    image

    24) Perhaps now set up a marketing campaign and target those individuals where they have bought one product but not another and track the campaign responses!

    Change the type of conversation you have with your customers \ partners \ prospects into one where you can help them increase their bottom line – all of this from utilising their existing investment in Dynamics CRM, SQL Server 2005 and the Office 2007 Productivity Suite – All working better together!

    Enjoy! - Philip Rawlinson (UK CRM Technical Specialist)

    Posted by ukdynamics | 1 Comments

    Dynamics CRM V 4.0 Training Courses are here!

    CRM v4 Installation & deployment

    This course teaches students how to install and deploy Microsoft® Dynamics CRM 4.0. The course explores the components used within a Microsoft Dynamics CRM deployment, the hardware and software requirements needed to successfully deploy Microsoft Dynamics CRM, and the installation instructions for the three primary Microsoft Dynamics CRM components: the Microsoft Dynamics CRM Server, the E-Mail Router, and Microsoft® Dynamics CRM for Office Outlook. In addition, students learn how to install and refresh sample data, redeploy an existing Microsoft Dynamics CRM installation to a new deployment, upgrade Microsoft Dynamics CRM v3.0 to 4.0, and uninstall and repair Microsoft Dynamics CRM 4.0

    Jan 29-31st

    https://training.Partner.microsoft.com/plc/details.aspx?publisher=12&delivery=237977&site=UK&lang=en-uk

     

     

     

    CRM v4 Configuration & Customisation

    This course teaches students how to configure Microsoft Dynamics CRM organisational settings, organisational structure, users, teams, security, multilingual user interface, and currency exchange rates to meet your business requirements. Students are also shown how to customise Microsoft Dynamics CRM user interface components and databases components such as entities, attributes, relationships, and mappings using the application’s built-in customisation tools.

    Feb 5-7th

    https://training.Partner.microsoft.com/plc/details.aspx?publisher=12&delivery=237980&site=UK&lang=en-uk

     

     Regards,

     

    Phil Rawlinson (Technical Specialist for Dynamics CRM)

     

     

    Posted by ukdynamics | 1 Comments

    UK Microsoft CRM Virtual PC Images Update

    This post provides all the details on the current status of our UK Microsoft Dynamics CRM sales tools and where we are heading over the next 6 months.

     

    Currently we have in circulation the UK demo toolkit. This consists of a PowerPoint click-thru of Microsoft CRM to be used for first-call demonstrations as well as a Virtual PC image and associated demonstration script. This image is time-bombed to expire on September 20th at 9:07pm. To check this select ‘start \ run \ then type ‘winver’. This will give you the expiration date of the VPC. After this date the image will not boot and you will not be able to use it. So what are the options for you?

    1.       The UK Microsoft CRM team have an image which you can use until October 2nd. If you have immediate demonstration needs you can use this image – it has CRM, MOSS, all BI products including the CRM Analytics Foundation, CRM Mobile Express, AX and Virtual Earth integration.

    2.       Download the extended May 2006 virtual pc image; this is the base image from Redmond which has now been extended for use until 30th June 2008. Download it from here. Please note that the data and configuration for this image is US English not UK.

    3.       Download the August 2007 virtual pc image; this image has Office 2007 and the CRM V3C client installed. It is time-bombed for expiry on November 30th 2008. Download it from here. Again, please note that this image has US data and configuration, not UK.

    4.       The Microsoft UK CRM team are working on a new image for the UK market. This will have the following products and capabilities: CRM 3.0 web and outlook clients, Office 2007, MOSS 2007, all BI products including the RTM version of PerformancePoint server and the CRM analytics foundation, CRM Mobile Express, BizTalk Server 2006 and the CRM BizTalk adapter, Virtual Earth integration, RSS feeds and Dynamics AX. This image will be available by the end of October 2007 and will be time-bombed for late 2008. Additionally, the team are recording videos of the demonstration scenarios for you and your sales team. This image should provide you with an outstanding platform to build out prototypes and customised demos. We will also supply a click-thru PowerPoint demonstration for first-call demos. Like the last UK demo toolkit it will be UK configuration and data.

    5.       We are working towards having a hosted demonstration environment, using the UK demo toolkit. Stay tuned for details but this will allow you to demonstrate Microsoft CRM using the standard UK virtual pc image via an internet browser connection.

    6.       Once Titan has gone Release-To-Manufacture (RTM) we will release another version of the UK toolkit with Titan installed, all other features will be preserved. We anticipate that this image will be available in early 2008.

     

    We are working hard to provide you with a world-class set of sales tools for the UK market.

    Kind regards from Reuben Krippner and Phil Rawlinson.

    Posted by ukdynamics | 1 Comments
    Filed under:
    More Posts Next page »
     
    Page view tracker