Archive

Archive for the ‘Development & Technical’ Category

Dynamics 365 – API Limits Coming

February 27, 2018 Leave a comment

You can currently push and pull data through the Dynamics 365 endpoint without any real limits. This is changing.

Limits

From March 19 2018, Dynamics 365 will limit the number of API requests to 60,000 made by each user within a 5 minute timeframe. When you exceed the limit, you will be greeted by an exception, delivered from Dynamics 365.

If you would like to read more about these limits, head over to the link below:

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/api-limits

Greg Olsen
YellowDuckGuy

Dynamics 365 – Developer Toolkit Released

November 10, 2016 Leave a comment

The Dynamics 365 Developer Toolkit has been released. This current version supports Visual Studio 2012, 2013 & 2015.

https://visualstudiogallery.msdn.microsoft.com/65199277-820a-4315-8783-82da19bd04d8

The Developer Toolkit is a set of Microsoft Visual Studio Integration tools, focused on accelerating the development of custom code for Microsoft Dynamics 365(CRM)

Using the toolkit, you can create, develop and deploy CRM plug-ins, custom workflow assemblies and web resources without leaving the Visual Studio environment.

Enjoy!
YellowDuckGuy
Greg Olsen

Windows 10 – Fix: Enable Feature .NET 3.5 Error 0x800F0906 and 0x800F081F

October 11, 2016 1 comment

Within Windows 10 you can add the following Windows Feature – .NET Framework 3.5 (includes .NET 2.0 and 3.0) as shown below. Simply type Windows Features in the Windows Search bar on the taskbar and select Turn Windows Features on or off

WindowsFeatures

To enable this feature simply tick the checkbox and click OK.

When the wizard ran through it’s process I was faced with the following error:

WindowsFeaturesError

Windows couldn’t complete the requested changes.

Windows couldn’t connect to the Internet to download necessary files. Make sure you are connected to the Internet, and press “Retry” to try again.

Error code: 0x800F0906

Using the wizard I was unable to fix this error. Therefore to fix this issue, follow the steps listed below.

Fix:

  1. Open Windows Explorer (Windows + E)
  2. Mount the Windows 10 installation ISO you used to install your operating system.  You can do this by right clicking on it and selecting the option Mount. UPDATE: If you have the Windows 8 Installation Disc in your optical drive, then use this instead. However, make sure you change the commands mentioned later to match your optical drive.
  3. Use the RUN command in administrator elevated mode. You can do this by navigating to the location c:\windows\system32\cmd.exe and right-clicking on the cmd.exeapplication and selecting Run as administrator.
  4. Once the command windows has loaded, then type the following command (Note: Match the drive letter to your appropriate drive letter for the ISO or DVD):

dism /online /Enable-Feature /FeatureName:NetFX3 /All /Source D:\Sources\SxS /LimitAccess

Hit enter once you have completed the command.

Below is a screenshot of what this will look like when you hit enter.

Install .net 3.5

Install .net 3.5 - completed

Now your Windows Feature of .NET Framework 3.5 (includes .NET 2.0 and 3.0) is enabled.  To verify this, open the Window Features again to see the option is now enabled.

WindowsFeaturesFixed

Success! You have the Windows Feature enabled.

Hope this helps!

Greg Olsen
YellowDuckGuy

Microsoft Dynamics CRM – Create an OpenSSL Self-signed SSL Certificate for your CRM 2013 Dev Environment

December 17, 2013 Leave a comment

The first step in configuring a CRM 2013 environment to be enabled for claims-based authentication and Internet Facing Deployment (IFD) is to have a SSL Certificate available for setup. This blog post will simply outline how to quickly generate and use an OpenSSL certificate to be used with your setup of CRM for claims-based authentication and Internet Facing Deployment.

Before I move on, I do want to emphasize that you should purchase a secure SSL certificate for production environments. I would recommend purchasing them from sites such as godaddy.com, entrust.net, verisign.com, thawte.com etc

 

What is a SSL Certificate?

 

yellowduckguy

Firstly, the Secure Socket Layer (SSL) protocol ensures secure transactions between web servers and browsers i.e. traffic between you sitting at your PC and the server your interacting with.

Secondly, the protocol uses a third party, a Certificate Authority (CA), to identify one end or both ends of the transactions. SSL certificates are files that connect the security key to an organisation’s details. When the SSL certificate is installed on a web server, it activates the little padlock symbol and the https protocol (which is over port 443) and allows secure connections from a web server to your browser.

 

Creating a OpenSSL Self-Signed SSL Certificate?

 

When you start out with SSL certificates you probably quietly say to yourself “how the hell do I create a local one and not buy one?”. Keep reading as I have an answer for you. But remember, you need to buy one for production environments!

Let’s head to Open SSL website first and get the file(s) you need. To read about OpenSSL, go to http://slproweb.com/products/Win32OpenSSL.html

 

Install the software to create the OpenSSL Certificates:

 

Note:

    make sure you install the dll’s in the bin directory when it asks you to in the installer. I found this to be easier.

 

Create the OpenSSL Certificate

 

You will create the OpenSSL Cerificate by using the Command Prompt – yea sorry, no UI in these instructions.

Open a Run Command Prompt with administrator priviledges and then execute the following commands one at a time. Note: change C:\OpenSSL-Win32\bin\ below to match your location of your installation and remember to change Win32 to Win64 if your using the 64bit installation. Also, change itsgrego to a name for your SSL Certificate.

During the process, you will be asked to input a certificate password and a few other organisation details. Don’t worry if you get it wrong on the first occasion as you can do the process again.

set RANDFILE=C:\OpenSSL-Win32\bin\.rnd 
openssl genrsa -out privatekey.pem 1024
openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 1825
openssl pkcs12 -export -out itsgrego.pfx -inkey privatekey.pem -in publickey.cer

During the process, you will be asked to input a certificate password and a few other organisation details. Don’t worry if you get it wrong on the first occasion as you can do the process again. I recommend creating a wildcard certificate with a Common Name (CA) of *.yourdomain , example: *.itsgrego.

sslcert

Once you are successful creating the OpenSSL Certificate, navigate to your installation directly and obtain OpenSSL Certificate, which will have an extension of .pfx. It will be located in a directly similar to C:\OpenSSL-Win32\bin\ or C:\OpenSSL-Win64\bin\ or depending on where you chose to install the OpenSSL software.

Now that you have your OpenSSL Certificate, you can add it to the Personal and Trusted Root Certificate locations to start using it.

itsgregoSSL

Greg Olsen
YellowDuckGuy

Microsoft Dynamics CRM – Creating SSL Certificates for CRM Test Environment

December 10, 2013 Leave a comment

I thought I would give a plug for Jeremy Morlock’s MSDN blog post regarding creating SSL certificates. There is some useful information in this post which is a good read.

Find the posting here: http://blogs.msdn.com/b/crminthefield/archive/2013/11/27/creating-ssl-certificates-for-crm-test-environment.aspx

Greg Olsen
YellowDuckGuy

Enterprise Library 6 – Download Developer’s Guide 2nd Edition

November 21, 2013 Leave a comment

This is a short blog post mainly as a personal reference to the information and download link for the second edition of the Enterprise Libraries – Developers Guide.

Enterprise Library Application blocks available to provide modules in your software applications in this book are:

  • Data Access Application Block
  • Exception Handling Application Block
  • Transient Fault Handling Application Block
  • Logging Application Block
  • Semantic Logging Application Block
  • Policy Injection Application Block
  • Validation Application Block
    Now for the important links:
  • Blog post about the book is here
  • Download the PDF here.

Greg Olsen
YellowDuckGuy

Microsoft Dynamics CRM 2011 – Update Rollup 15 Download Available

October 8, 2013 Leave a comment

Update Rollup 15 for Microsoft Dynamics CRM 2011 is now available for download. This version is build 05.00.9690.3731 for Microsoft Dynamics CRM 2011. KB article number is KB2843571. This Update Rollup also includes many CRM for Outlook Client improvements so many of you will be waiting for this.

Update Rollup 15 for Microsoft Dynamics CRM 2011 is available via the link below: 
http://support.microsoft.com/kb/2843571

The download area for Update Rollup 15 for Microsoft Dynamics CRM 2011 is available via the link below: 
http://www.microsoft.com/en-us/download/details.aspx?id=40346

Microsoft public info about this update:

Update Rollup 15 for Dynamics CRM 2011 provides the following improvements:

  • It includes a new feature that is scheduled to be delivered with Microsoft Dynamics CRM 2013. This feature moves the CRM client-specific workload into its own process so that it no longer shares memory with the Microsoft Office Outlook process. This feature is also known as Process Isolation.
  • It includes an upgrade to Microsoft SQL Server for Windows CE 4.0 for better memory management, better caching, and connection enhancements.
  • It updates the CRM for Outlook configuration files to make the CRM for Outlook SDF files compatible with SQL Server for Windows CE 4.0.
  • It materializes the Address Book Provider to reduce performance issues that are caused by large address books.
  • It limits the amount of active open forms.
  • It provides a MAPI Lock time-out.
  • It hard codes a previous registry setting that prevented pinned views from pulling down information to local SQL CE cache. This new DisableMapiCaching setting defaults to a value of 1. For more information about the behavior of this setting, see Slow Performance When Pinning Views in Microsoft Dynamics CRM

    (http://support.microsoft.com/kb/2741514)

    Note This value can be overridden by modifying the DisableMapiCaching setting in the OrgDbOrgSettings tool if the critical update has been applied to the Dynamics CRM server. For more information, see OrgDBOrgSettings Tool for Microsoft Dynamics CRM 2011

    (2013, http://support.microsoft.com/kb/2691237)

  • Greg Olsen
    YellowDuckGuy

Microsoft Dynamics CRM – Upgrade from CRM 2011 to CRM 2013

September 18, 2013 11 comments

There will be a number of you wanting to know about the upgrade from CRM 2011 to CRM 2013. This blog post will hopefully provide you some tips & tricks and things you should know, test or be aware of for your upgrade to CRM 2013.

 

Deployment Models

 

Firstly, there are a number of deployment upgrade models. Most will be defined as follows:

CRM 2011 CRM 2013
On Premises On Premises
Online (Subscription) Online (Subscription)
Partner Hosted  (Subscription) Partner Hosted (Subscription)

On Premises

If you are using an On Premises version of CRM 2011 and wish to upgrade to CRM 2013, then you will need to carry out the upgrade yourself or work with your Microsoft Partner.  If you do not have a Microsoft Partner, then feel free to call us here at Magnetism on +64 9 550 5223

Options here also allow you to move from a CRM 2011 On Premises (IFD) to CRM 2013 On Premises (IFD).

Online

Companies that use CRM Online have the advantage of having the latest technology available for their business applications. However, the quick push out of CRM 2013 to existing CRM 2011 instances can be a bit quick for some as they need a bit of flexibility to prepare their systems and train their users on the latest update – CRM 2013.

Therefore, Microsoft is introducing the flexibility to schedule when you receive the Microsoft Dynamics CRM Online Fall ’13 updates. CRM Online administrators will receive in-product and email notifications of their update schedule and include instructions to reschedule the update, if necessary.

Email reminders will also be sent 90, 30, 15, and 7 days before the update begins by Microsoft.

Note: There is also an option from Upgrading from CRM 2011 Online to CRM 2013 On Premises. Not a usual upgrade option but is available.

Partner Hosted

If your CRM system is hosted by a partner or data centre, then your partner will normally be responsible for managing and maintaining the updates or upgrades. If the data center is sharing customers (organisations) on one tenant, then upgrading to CRM 2013 could be delayed as other customers on the single tenant installation may need to stay on CRM 2011 for various reasons. However, if you have your own tenancy of CRM, then you should work closely with your hosting partner to schedule the upgrade.

 

On Premises – Upgrade Models

 

There are basically two upgrade models available, these are:

  • Side-by-Side Upgrade (Full)
  • Side-by-Side Upgrade (databases only)
  • In-place Upgrade (Full)

So what would these three models look like?

Upgrades

  • Side-by-Side – Option 1: (Recommended) It provides the least amount of potential downtime for CRM users. You install all new servers (can be virtualized) for CRM 2013 along-side your existing system.
  • Side-by-Side – Option 2: Upgrade in-place the configuration and default organization databases. You setup a new CRM 2013 app server, but use your existing CRM 2011 SQL Server (where supported by CRM 2013).
  • In-place Upgrade – Option 3: In-place upgrade poses the greatest risk if upgrade issues occur. You simply run the CRM 2013 installation, upgrading “in-place” your existing CRM system. A re-install of CRM will be required if there are any issues. Remember to backup those organisation databases with SQL Server before started this option. Could be your only option to roll back if it turns to custard!

Data Migration – What happens to my data?

 

With every CRM upgrade you need to consider what do you do with your existing data. Most of the time you will want to keep it, it’s critical information for your business.

Options for data migration are as follows:

  • On Premise -> On Premises : Upgrading your On Premises system
    Option 1: Import the CRM 2011 organisation. This will migrate all your data without a re-import. This is by far the most recommended option.
    Option 2: Re-import your data from your CRM 2011 environment into a new CRM 2013 environment. There could be a lot of effort involved with this option, so consider option 1 first.
  • On Premises –> Online: You will need to migrate the data to your new instance in the cloud.
    Multiple Options:
    a) Use the out-of-the-box CRM Import Tool.
    b) Import the data via CSV files.
    c) Write a custom application that uses the SDK and import data via CRM Web Services.
    d) Import the data using SQL Server Integration Services (SSIS) via CRM Web Services.
    e) Import the data using a 3rd Party tool i.e. Scribe
  • Online –> On Premises: You have decided to move from the Cloud (CRM Online) to On Premises. You will need to migrate the data from CRM Online to your new instance in the On Premises. You could create a Microsoft Support request ticket and ask for a full backup of your CRM Online organisation. Once you have a copy of this and your CRM 2013 installation is complete, use the On Premises – Smoke Test Upgrade Approach which imports your CRM 2011 database backup into the new CRM 2013 On Premises installation.

On Premises – Smoke Test Upgrade Approach

 

When performing the upgrade process for an On Premises installation of Microsoft Dynamics CRM 2011, I have an approach you can use. This is what I call the Smoke Test Upgrade Approach.

See the following diagram which explains this approach.

Smoke Test Upgrade

You might be asking, what about an approach for CRM Online? Well it’s a bit different for CRM Online as Microsoft will be performing the upgrade for you on your behalf. One of the great benefits of using CRM Online.  See the next section titled Unsupported CRM 4.0 & Legacy Features for tools that can support your upgrade.

 

Unsupported CRM 4.0 & Legacy Features

 

The following Microsoft Dynamics CRM features, which you could be using with your CRM 2011 system, will no longer be supported within Microsoft Dynamics CRM 2013.

  • 2007 Web Service Endpoint
  • ISV folder – you might have used this for custom web applications. Create all custom web applications as new Web Sites in IIS for CRM 2013.
  • CRM 4.0 Plug-ins
  • CRM 4.0 Client-Side Scripting. crmForm syntax is no longer supported. Xrm.Page objects are required in CRM 2013.
  • CRM 4.0 Custom Workflow Activities
  • Solution Down Level Tool
  • DOM Manipulations

The Legacy Feature Check Tool (http://go.microsoft.com/fwlink/p/?LinkID=309565) can be used to dive deep into your CRM 2011 system and detect any of the legacy features listed above.

Another couple of tools to assist with your upgrades are:

Dynamics CRM 2013 Supportability

 

Before we mention what is supported, the following list has been discontinued for Dynamics CRM 2013

  • Internet Explorer 7 (all updates and below)
  • Windows XP (all editions and below). Windows XP support ends on April 8th 2014.  More about Windows XP end of support can be found here.
  • Windows Server 2003 (all editions and below)

The following list outlines the Microsoft software supported with Microsoft Dynamics CRM 2013.

    • Internet Explorer – 8, 9 & 10. Note: No support for Internet Explorer 11 at the time of writing this article.
    • Dynamics CRM – CRM 2011 Update Rollup 6 or CRM Update Rollup 14+ (for the upgrade)
    • Outlook – 2007,2010 & 2013
    • SQL Server – 2008, 2008 R2 & 2012. Note: No support for SQL Server 2014 at the time of writing this article.
    • Windows Server – 2008 SP2, 2008 R2 & 2012
    • Exchange Server – 2007, 2010 & 2013
    • Windows Client – Vista, Windows 7 & Windows 8. Note: No Support for Windows 8.1 at the time of writing this article.
    • ADFS – 2.0, 2.1 & 2.2

What’s New?

 

There are a lot of new features with Microsoft Dynamics CRM 2013. Therefore we will highlight a few, which you should be aware of for your upgrade to CRM 2013.

  • User Interface
  • Base & Extension Table Changes
  • CRM Services
  • CRM Solutions
  • Update Rollups
  • Phone Format
  • Access Teams
  • Server-side Syncronisation
  • Release Preview Guide

User Interface

One of the biggest changes you will notice when you view your CRM 2013 instance for the very first time will be the User Interface. If you are trying find your way around the navigation, then have a look at this blog post (https://yellowduckguy.wordpress.com/2013/09/09/microsoft-dynamics-crm-2013-left-navigation-pane-is-gone-where-is-everything/) for guidance.

The new User Interface is design removes the need for pop-up windows. You will use your new CRM 2013 system within one new, fast and fluid screen.

The screenshot below indicates the layout definitions.

UI Definition

What about my CRM 2011 forms?

When upgrading to CRM 2013, all existing forms from CRM 2011 will continue to work as normal. These forms will look quite basic in CRM 2013. Post-upgrade, you will be able to manually select to upgrade or switch to the new CRM 2013 forms.

If some forms (through the upgrade process) have an issue, these will be added to a Conflicts Tab at the bottom of the CRM 2013 form.

What about my CRM 2011 Ribbon Buttons?

The CRM 2011 Ribbon Buttons will upgrade fine to CRM 2013 and placed on the Command Bar (new in CRM 2013). However, these will be hidden using a new RibbonXml display rule named Mscrm.HideOnCommandBar

I have an earlier version of CRM 2011 without Auto Save. How does this work in CRM 2013 and can I turn it off?

Within CRM 2013 the auto save feature is enabled by default. With auto save enabled there
is no Save button displayed in the command bar on the form. Records that have changed data are automatically saved every 30 seconds or when the user navigates to a new record.

Can I disable auto save?

The auto save behavior within CRM 2013 can be disabled at the organisation level within the System Settings or at the form level via JavaScript code.

Make sure you check out the SDK for CRM 2013 to work with the auto save functionality with CRM 2013.

Access Teams

With the new feature of record-based Access Teams, you can add a user to the record and give them access. The Access Team doesn’t OWN the records, but has Access to the records.

When should I use Access Teams in my new upgrade system?

Use Access Teams when the number of users and teams are dynamic. Use Teams (different from Access Team) when the number of teams is fixed.  Access Teams can simply have access to the records.

You can also have multiple Access Teams per entity.

Phone Format

Within CRM 2013, there is a new Phone type which can be added to a field. This field will allow you to think about removing that custom bit of JavaScript you may have written with CRM 2011 and replace them with this out of the box option.  You will also need to set the country code and prefix within the System Settings to work with this new type.

PhoneFormat


Update Rollups

I have explained what is an Update Rollup with this post (https://yellowduckguy.wordpress.com/2013/08/20/microsoft-dynamics-crm-what-the-heck-is-an-update-rollup/)

Update rollups will consist of fixes only. Update Rollups will not add, remove or update the CRM 2013 system features or API.

There will also be some changes to the versioning numbers for CRM. You will need to wait for more information from Microsoft on this topic and what the new version numbers actually represent.


CRM Solutions

One of the common questions will be .. “Can I import my CRM 2011 Solution files into CRM 2013?”. The quick answer is YES.

To summarise what can be done:

  • Your CRM 2011 Solution files can be imported into CRM 2013
  • When the CRM 2011 Solution file is being imported, CRM 2013 will upgrade any Solution content to the new CRM 2013 Forms and Ribbon Buttons to the Command Bar as mentioned earlier.
  • CRM 2011 Managed and Unmanaged Solutions will be supported as well.

Microsoft has made some great improvements on enhancing the import performance of your Solution files. Improvements also made with the versioning of the Solution imports.


CRM Services

There are a couple of new services added to CRM 2013. These are:

  • Email Integration Service – Back End Server Service
  • VSS Writer Service – Deployment Administration Server Service

You will notice these services during the installation of CRM 2013. These won’t affect your upgrade from CRM 2011 so you can install these without any issues.

Roles


Base and Extension Tables

If you have been working with CRM in the past you are probably aware of the table splitting for each entity within CRM. For example, an entity called Vessel would be structured in the database with one table called VesselBase and another table called VesselExtensionBase.

With CRM 2013, the extension tables will be merged during the upgrade.  This change will benefit the performance of CRM 2013 because there will be higher efficiencies with the SQL queries run by SQL Server. There have been some major headaches with SQL Deadlocks caused by these split tables with CRM Online. So this is a great new improvement!

There is also an option to delay (using an On Demand approach) the merging of these two tables for large databases. There will be a CRM 2013 Merge Tool which will provide this assistance. Watch this space for more information from Microsoft.


Server-side Synchronisation

This new feature within CRM 2013 will allow administrators to easily manage the sync of email, appointments, tasks and contacts between versions of CRM and Exchange.

Some of the features coming to CRM 2013 are:

  • Sync Email, Tasks, Appointments and Contacts between CRM Online & Exchange Online
  • Sync Email between CRM Online or CRM 2013 On Premises with POP3 or SMTP supported providers

Release Preview Guide

To get a quick overview guide of the new release of Microsoft Dynamics CRM 2013 & Microsoft Dynamics CRM Online (Fall 2013), then make sure you grab a copy of the Release Preview Guide here (http://download.microsoft.com/download/7/F/1/7F10F758-0846-4210-B9F4-6AF79A96CA76/Release_Preview_Guide_September_2013.pdf).

That is quite a bit of information for you. I hope that helps you with your CRM upgrade to CRM 2013.

Greg Olsen
YellowDuckGuy

Microsoft Dynamics CRM – Custom Code Validation Tool for CRM 2013

August 20, 2013 Leave a comment

As you start to think about the upgrade path to Microsoft Dynamics CRM 2013 take time to check out and use the Custom Code Validation Tool to scan your current environment of Microsoft Dynamics CRM 2011.  This tool will check for compatibility issues of the code when upgrading your CRM 2011 environment to CRM 2013.

This tool will get installed inside your CRM system via a managed solution file. So in order to install it you must use a Microsoft CRM user account with the Import Customisations privilege to install this managed solution.

Details about the Custom Code Validation Tool from Microsoft:

To help you prepare for your upgrade to Microsoft Dynamics CRM 2013, we have created the Custom Code Validation Tool for Microsoft Dynamics CRM 2013. When using JavaScript code in Microsoft Dynamics CRM, it is possible that some code will stop working or cause an error when you upgrade. The Microsoft Dynamics CRM Custom Code Validation Tool helps identify potential problems so that a developer can fix them. Please run this tool on your CRM instance to help identify potential issues with custom JavaScript in JavaScript libraries and HTML web resources. It will detect issues in the custom web resources that will no longer work after the upgrade is completed. The most common issues that this tool targets are:

CRM v4 client SDK calls
CRM 2007 end points
Common DOM manipulations

Running this tool before upgrade will enable you to identify issues and fix them prior to your scheduled upgrade so that your upgrade process can run smoothly.

 

To download the tool, click here.

I previously posted about the Custom Code Validation Tool for CRM 2011 late last year, which ensured your existing customisations will work with the next service release of CRM 2011, code named Polaris at the time. That post can be found at the link below.

https://yellowduckguy.wordpress.com/2012/11/26/microsoft-dynamics-crm-2011-custom-code-validation-tool/

Greg Olsen
YellowDuckGuy

Windows Azure – AzCopy Uploads and Downloads files for Windows Azure Blobs

August 13, 2013 Leave a comment

An old but useful MSDN blog post on the upload and download command line utility tool, which allows Windows Azure Storage customers to upload and download files.

Read more here:

http://blogs.msdn.com/b/windowsazurestorage/archive/2012/12/03/azcopy-uploading-downloading-files-for-windows-azure-blobs.aspx

Download utility tool here:

Github

Greg Olsen
YellowDuckGuy