Announcing my Mentoring Program

Hi Everyone,

I decided to formalize my mentoring program to hopefully open the door to more organizations. This is a process that I conduct for customers on a fairly regular basis which fills a niche and a requirement when you need assistance, but do not have the need or budget for a full-blown consulting engagement.

Overview

I often run into customers who need additional help with either an architectural issue or a project they are working on. Many times, they do not have a need for a full-blown consulting engagement, but need to have access to someone they can bounce ideas off of when they hit a roadblock or a fork-in-the-road and need help with an architectural decision.

How it Works

When you sign up for our Mentoring Program, you are actually purchasing five hours of advisory services at a discounted rate.

We typically work out a schedule of conference calls or screen-shares in blocks of 30 or 60 minutes, depending on your requirements. This can be weekly calls, bi-weekly,or as required.

Typical Scenarios

Here are a few scenarios that I have done in the past:

  • Architecture design questions
  • Skills development roadmap
  • Training program design
  • "What-if" scenarios
  • Code-reviews

For More Information

To sign-up visit our Mentoring Program page.

 

Thanks, Mitch

Don’t forget: June 1st: Turn your .NET developer into a Dynamics CRM Developer

Hi Everyone,

I just wanted to remind you that my Dynamics CRM Developer course is coming up on June 1st, so if you have any of your .NET developers that you want to get training on Dynamics CRM development best practices, then now is the time to register.

Course Description

If you are looking to get started with Dynamics CRM development, and are looking for an instructor-led, hands-on workshop, then let me introduce you to Extending Dynamics CRM. In case you did not know, Microsoft decided to only offer the Extending Dynamics CRM course via eLearning, starting with Dynamics CRM 2013 eLearning, which is a self–study program, is great for many people, but I think students gain a tremendous amount of learning and understanding from having an instructor who works with Dynamics CRM development on a daily basis. This student-instructor interaction combined with the ability for the student to ask questions and obtain clarifications, makes this course all the more valuable.

Who:

This class is taught by Mitch Milam, nine–time Microsoft Most Valuable Professional for Dynamics CRM and an independent consultant specializing in Dynamics CRM architecture, development, and training.

What:

We have taken the topics normally covered by the official Microsoft Extending Dynamics course, and expanded their depth quite substantially. Instead of a three–day course, this is a five–day course with most of the extra content being the addition of a large number of hands–on labs. The information covered is relevant to both Dynamics CRM 2013 and 2015.

When:

Monday, June 1st through Friday, June 5th. Class starts at 8:00am CST and will last five or six hours per day, depending on the topic. Please budget the entire day so that you have time to complete the homework assignments.

Where:

This is an Internet-based workshop. Classroom time and discussions will be facilitated using GotoMeeting. Each student will be given their own virtual development environment for the duration of the course. This will allow for the completion of labs and homework without causing conflicts with the other students.

How Much:

$1,995 per student (discounts are available for more than one student).

 Eventbrite - Extending Dynamics CRM (June)  

Need More Information?

If you would like to get more information on this class, then please visit the training overview page: http://www.infinite-x.net/dynamics-crm-training/extending-dynamics-crm

Solution: Cannot load shared project in Windows Universal app after upgrading to Azure SDK 2.6

If you had any Visual Studio projects using the Shared Project model, you probably noticed that the installation of the Azure SDK 2.6 broke Visual Studio’s ability to work with, or create new, Shared Projects.

This was first posted on this thread in the Azure forums on May 1st and it is an absolute show-stopper. The only way around this bug was to downgrade to Azure SDK v2.5.1.

It now looks like we have a solution to the issue:

The build of Azure SDK 2.6 is now available, but it may not have propagated to all download servers yet. 

You can run the Web Platform Installer and if you don’t have the new build installed, it should allow you to install 2.6 again.  But it might not if you are accessing a download server that doesn’t have the new bits yet.  If WebPI doesn't allow you to install 2.6 again, then wait a few hours and try again. 

The build number for the version with the fixes is build 2.6.30508.1601. You can identify the build of the SDK from Control Panel -> Programs and Features -> Microsoft Azure Tools for Microsoft Visual Studio 2013 – v 2.6. The Version column will display the build number.

Chuck Weininger, Dev Lead, Microsoft

 

This is great news and hopefully we can get back to work.

Discovering Great Moments in UX Design

Every now and then, you run across something that is truly amazing. This happened to me today as I was looking for icons for the Dynamics CRM tablet application (also known as the MOCA app).  

There are several icons that I wished to reference in another mobile application. In the MOCA app, we have an interface that looks like this:

image

Part of the Dynamics CRM SDK, is a collection of all (or at least most) of icons used by the Dynamics CRM application –including all platforms.

I was quite surprised when I found the icons shown above.  You will find these icons in the CRM SDK installation folder, in this sub-folder:

SDK\Resources\Images\mobile\entityimages

The most fascinating thing about these icons, is how they are constructed. The only thing in the icon file, is the image in white.  Each image has a transparent background with some of the inner parts of the icon transparent as well so that you have a bleed-through effect of the background, through the foreground image.

This is significant because as a designer, you do not have to worry about changing the background color of the icon.  You just change the background color of the cell in which it resides and the effect to the user is that have a white and {whatever] color icon.

I am sure this is not an new technique, but I have never seen it used like this before and I think it is quite brilliant.

Hat’s off the the Dynamics CRM UX design team.

Using the Xamarin Forms InputTransparent Property

The Xamarin.Forms.VisualElement class has a property called InputTransparent, that:

Gets or sets a value indicating whether this element should be involved in the user interaction cycle.

The documentation states:

When set to true, the element will be able to receive input.  false if element should not receive input and should pass inputs to the element below. Default is true.

I am not totally sure this is how it is currently working, at least in my experiences. There was a thread on the Xamarin Forms Forum recently and Adam Kemp stated that:

More precisely, I think what it does is cause that view to ignore touches, which allows the parent to handle it instead.

This is a more correct statement, based on my experiences as well.  Assuming we are just dealing with a documentation issue, let’s jump into a real-world example.

An Example:

One of my current apps has a voting icon that contains a counter, which you can see below:

image

There are three views involved here:

InputTransparent

The image actually has a TapGestureRecognizer associated with it whose purpose is to increment the counter.

You run into an issue because the ContentView hosting the counter is actually sitting on top of the image, as you can see from the code below:

         grid.Children.Add(imageVote, 2, 0);
         grid.Children.Add(contentVote, 2, 0);

In this configuration, I found that the image was not receiving the tap from the user. To correct this issue, I had to add:

 InputTransparent = true,

to both the counter Label  and to the ContentView itself. This allow the tap gesture to flow through to the image and the counter increments each time the images is tapped.

Note:  This project is using Xamarin Forms 1.4.2 and I can confirm that the code works the same on iOS and Android but there were bug reports in prior versions of Xamarin Forms that seem to indicate the InputTransparent property had issues on Android.

If anyone has any additional of differing information, then please leave a comment on this post.

Reminder: Next week’s Free Webinar: Getting started with Dynamics CRM JavaScript development

Just a reminder about next week’s free webinar:

Getting started with Dynamics CRM JavaScript development

Tuesday, May 12th, 11:15am Central Time (U.S.) (GMT-5:00)     Register here

Interested in getting started with JavaScript development for Dynamics CRM? Learn how you can get started, the tools you'll need, and valuable resources to help you with your development efforts.

Webinar Reminder: Get2Know CRM 2015: Ask The Experts Customization and Development Panel

I am participating in a free webinar on Tuesday, May 12th at 11:00am Eastern Time (U.S.)

Summary

Let's finish our CRMUG Get2Know CRM 2015 Series with one of two "Ask the Expert" sessions which will feature CRM Subject Matter Experts who will share their top tips and best practices in extending and developing with Microsoft Dynamics CRM 2015, the most recent SDK, or other customization enhancements that can be used. In addition to their guidance, the other half of the session will be dedicated to interactive Q&A with this expert panel. Don't miss out on this healthy dialogue and guidance as you pursue your use of Microsoft Dynamics CRM 2015.

Register here

June Training: Turn your .NET developer into a Dynamics CRM Developer

Course Description

If you are looking to get started with Dynamics CRM development, and are looking for an instructor-led, hands-on workshop, then let me introduce you to Extending Dynamics CRM.

In case you did not know, Microsoft decided to only offer the Extending Dynamics CRM course via eLearning, starting with Dynamics CRM 2013  eLearning, which is a self–study program, is great for many people, but I think students gain a tremendous amount of learning and understanding from having an instructor who works with Dynamics CRM development on a daily basis. This student-instructor interaction combined with the ability for the student to ask questions and obtain clarifications, makes this course all the more valuable.

Who:

This class is taught by Mitch Milam, nine–time Microsoft Most Valuable Professional for Dynamics CRM and an independent consultant specializing in Dynamics CRM architecture, development, and training.

What:

We have taken the topics normally covered by the official Microsoft Extending Dynamics course, and expanded their depth quite substantially. Instead of a three–day course, this is a five–day course with most of the extra content being the addition of a large number of hands–on labs. The information covered is relevant to both Dynamics CRM 2013 and 2015.

When:

Monday, June 1st through Friday, June 5th.

Class starts at 8:00am CST and will last five or six hours per day, depending on the topic. Please budget the entire day so that you have time to complete the homework assignments.

Where:

This is an Internet-based workshop. Classroom time and discussions will be facilitated using GotoMeeting. Each student will be given their own virtual development environment for the duration of the course. This will allow for the completion of labs and homework without causing conflicts with the other students.

How Much:

$1,995 per student

Eventbrite - Extending Dynamics CRM (June)

 

Need More Information?

If you would like to get more information on this class, then please visit the training overview page:

http://www.infinite-x.net/dynamics-crm-training/extending-dynamics-crm

Upgrade to Dynamics CRM 2015 Online: Not a good way to start the day

Well, one of my CRM Online instances finally upgraded from 2013 to 2015.  I knew this was coming but I was not prepared for all of the work that was required to fix the side-effects of the upgrade.  Here is what I ran into:

Issue #1: Invalid Site Map

When I first logged into CRM Online, I got this error:

image

You cannot recover from this. 

Solution

I used the free SiteMap Editor from Simpler Software to restore my SiteMap to the default. I have no idea what CRM 2015 didn’t like about my previous SiteMap.

Issue#2: Email Router Installation Restart is required

The thing that hurts me the most is the fact that the CRM 2013 email router will not connect to CRM 2015.  I wish I knew who at Microsoft made this decision but this is costing me time and money. I would like to have some quality time with them to express my opinions.

I got this message when I ran the Email Router Setup on my Windows 8.1 workstation:

Setup cannot continue because there is a pending restart required. Restart the computer and then try running Setup again.

I rebooted. Same message.

Solution

To do the following folder:

C:\Users\USERPROFILE\AppData\Local\Temp

And delete everything that is not locked as being in-use.

Issue #3: Email Router Installation Error: Action Microsoft.Crm.Setup.Shared.AnalyzerBase+CollectAction failed.

This occurred just after the required components were updated.

Solution

Open RegEdit, find and delete any key you find that looks like this: 68944CFD44299A6449C12100DDA86EE8

Reference

Issue #4: Email Router Installation Error:  Length cannot be less than zero. Parameter name: length

I have run into this before and I have no clue how to get around it so it looks like a call to Microsoft CRM Support will be required.

Sharing information and lessons learned with other developers

Sign up for our new KnowledgeBits service and get news, tips and tricks and more, delivered straight to your inbox.