Monday, December 29, 2014

The Dynamics GP Blogster Best Articles of 2014

How about this 2014 year, ah? Two major releases in Microsoft Dynamics GP 2013 R2 only to top off the year with the recent release of Microsoft Dynamics GP 2015. More than 30 new features in 2013 R2 (over 150 if you include those released in GP 2013 RTM) and now over 120 new features in Microsoft Dynamics GP 2015, including the cornerstone .NET interoperability and Service Based Architecture components, it's no wonder why the Microsoft Dynamics GP Product Management and Product Development teams deserve a massive showing of the hands on this one! Congratulations team on a job well done.

Let's not forget about the events either: the wildly successful Microsoft Convergence 2014 Atlanta, the hugely concurred GPUG Summit 2014 St. Louis, and what's got to be the most anticipated partner event since the days of Stampede, reIMAGINE 2014 in Fargo. All these events drove the vision of t

Travel was also off the chain for me: Johannesburg, South Africa; St. Louis, Missouri; Fargo, North Dakota; Boston, Massachusetts; Las Vegas, Nevada; Green Bay, Michigan; Kansas City, Missouri; Shreveport, Louisiana; and the list goes on! Over 70,000 miles of airline travel, 100+ nights of hotel lodging, and tons of driving miles, ah!... and the ALS ice bucket challenge in between.

Nonetheless, every year I try to bring interesting topics to the blog, an insight into the events I attend, and definitely, those troubleshooting and development articles that are life savers when you need them most. So without further due, here's a sample of some of the best articles you liked throughout the year (in no particular order)

1Word Templates: We can't open template because we found a problem with its contents. Just recently I was working on a Sales Invoice Word Template customization for a customer and ran into a strange issue when attempting to print a batch of invoices for customers assigned to this template... Read more.
2Web Client Wednesday - You receive ArgumentNull_Generic exception when clicking an option on the Navigation Bar. In good measure, here at Intelligent Partnerships we eat our own dog food. As of January 1, 2014 we completed our internal rollout of Microsoft Dynamics GP 2013 and web... Read more.
3Microsoft Dynamics GP 2013 Virtual Machine image from the Windows Azure Gallery.
In my previous article, Part 1 of the series, I talked about provisioning a Microsoft Dynamics GP 2013 development environment from the Windows Azure gallery.  If you are already an MSDN subscriber and... Read more.
4Preventing Visual Studio Tools customization processes from being terminated by Microsoft Dynamics GP. Just recently I ran into a case on the Microsoft Dynamics GP Partner Forum where the ISV developer was dealing with a potentially long standing process to be executed from... Read more.
5Working with the Dex.ini Settings in Microsoft Dynamics GP 2013. Dex.ini settings have always existed to provide developers and end-users with ways to set a number of preferences for their Microsoft Dynamics GP application without the need of additional development or customizations... Read more.
6Using Microsoft Dynamics GP Business Intelligence deployment utility to deploy custom SSRS reports. In the previous installment, I outlined a technique to deploy your custom SQL Reporting Services reports using the standard Business Intelligence deployment utility provided by Microsoft... Read more.
7Deploying Business Analyzer Companion App Services on Windows Azure Service Bus. If you are not using Business Analyzer today, shame on you. Last year sometimes I wrote a small article on how to deploy the Business Analyzer Windows 8 application on a personal laptop, which is typically... Read more.
8Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3. In part 2 of the series, I delivered a brief primer on the service architecture in Microsoft Dynamics GP 2015 and how you are able to consume services natively created with Dexterity. There are two types... Read more.
9Working with Dex.ini Settings to customize the Microsoft Dynamics GP Connect gadget. Have you ever wanted to wake up with The Dynamics GP Blogster page as the centerpiece of your Microsoft Dynamics GP application homepage? Or how about your favorite online news outlet? What if you...Read more.
10Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up. As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014...Read more.

2015 is sure to be a very exciting year for the Dynamics GP community. Right off the bat I can think of Convergence 2015 in Atlanta, GPUG Summit in Tahoe-Reno, NV, reIMAGINE in Fargo, ND, the upcoming release of Microsoft Dynamics GP 2015 R2 with another iteration, Dynamics GP 2015 R3, close to the end of 2015. So lots and lots to talk about.

Personally, I start the year with a business trip to Ireland, I already have commitments with Dynamic Partner Connections, and tons of webinars in conjunction with GPUG. So please stay tune to hear from those.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Tuesday, December 23, 2014

Merry Christmas to the entire Microsoft Dynamics Community!

As many of you prepare to celebrate these Holidays in company of your loved ones, I would like to take this opportunity to wish you the best on behalf of my family. Whether this year has been good, bad or indifferent to you, embrace the ones around you and take comfort in knowing that you are in the company of the people you care about and who care about you.

Thanks for all the great comments posted throughout the year and the support you have shown to The Dynamics GP Blogster throughout all the different social outlets you follow me on. It keeps me going and working to bring you the some of the best content you will find about all things Dynamics GP: the events, the technical articles, the series, and much more.

You can always count on 2015 bringing new and exciting articles with innovative approaches for using Microsoft Dynamics GP and getting the best out of your investment.

I leave you now with Ms. Mariah Carey and Michael Bublé performing one of the best Christmas songs of our generation.

Until next post!

Mariano Gomez, MVP
IntellPartners, LLC

Monday, December 22, 2014

Second reason to attend Microsoft Dynamics Convergence 2015: OneRepublic

If you enjoyed the concert last year with Fun (see Microsoft Dynamics Convergence Atlanta 2014 - Day 3) you will be more than happy to know that OneRepublic -- not a typo -- has accepted Microsoft's invitation to entertain the attending Convergence 2015 crowd.  

OneRepublic - From left to right: Eddie Fisher, Zack Filkins, Ryan Tedder, Brent Kutzle, and Drew Brown

OneRepublic is an American pop rock band formed in 2002 by Ryan Tedder and Zack Filkins. Originally signed with Velvet Hammer, an outfit under the Columbia Records umbrella, they were dropped 2 months before the debut of their first album.

They successfully released their debut set Dreaming Out Loud in 2007. The album included the smash single “Apologize,” mixed by Timbaland, which shattered digital sales and airplay records worldwide and received a Grammy nomination. The band’s sophomore album, 2009’s Waking Up, produced three singles: “All the Right Moves,” “Secrets” and “Good Life.” OneRepublic released their third studio album, Native, in March 2013 where it debuted at No. 4 on the Billboard Top 200 chart. The set includes hits “If I Lose Myself,” “Feel Again,” “Counting Stars,” “Love Runs Out” and “I Lived.” OneRepublic spent most of 2014 on the road headlining their Native Summer Tour and touring Europe.

This is an inside look at Native Summer Tour.

So, what are you waiting on? Register now for Convergence 2015 and come enjoy a night out with one of today's hottest bands.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Thursday, December 18, 2014

First reason to attend Microsoft Dynamics Convergence 2015: Satya Nadella

It's that time of the year again. While we prepare to celebrate the holidays, be it Christmas, Hanukkah, Milad un Nabi, or simply enjoy a good time off with family and friends, it is also time to begin thinking about 2015.

The next major event in sight, of course, is Microsoft Dynamics Convergence 2015 Atlanta and who better to open the event that Microsoft's newly minted Chief Executive Officer, Satya Nadella.

Satya Nadella

Before being named CEO in February 2014, Nadella held leadership roles in both enterprise and consumer businesses across the company.

Joining Microsoft in 1992, he quickly became known as a leader who could span a breadth of technologies and businesses to transform some of Microsoft’s biggest product offerings.

Most recently, Nadella was executive vice president of Microsoft’s Cloud and Enterprise group. In this role he led the transformation to the cloud infrastructure and services business, which outperformed the market and took share from competition. Previously, Nadella led R&D for the Online Services Division and was vice president of the Microsoft Business Division.

Before joining Microsoft, Nadella was a member of the technology staff at Sun Microsystems. Originally from Hyderabad, India, Nadella lives in Bellevue, Wash. He earned a bachelor’s degree in electrical engineering from Mangalore University, a master’s degree in computer science from the University of Wisconsin – Milwaukee and a master’s degree in business administration from the University of Chicago. He is married and has three children.

Fun facts about Satya Nadella

1. The guy loves Cricket! He attributes his ability to work in a team and his team building spirit to the sport.

2. He is an avid computer-based training (CBT) student and does take online classes most every morning in a 15-minute window.

3. He's a family man at heart. He's been married for a little more than 22 years and has 3 kids.

4. Poetry is his thing. Likes American and Indian poetry.

5. He's just Microsoft's 3rd CEO, behind Bill Gates and Steve Ballmer.

*Fun facts courtesy of IndiaTimes.

So, what are you waiting on? Register now for Convergence and come enjoy an opening keynote session that will also feature the one and only Kirill Tatarinov, Executive VP of the Microsoft Business Solutions Group who in his own style will sure make you excited about the future.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Monday, December 15, 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service - Follow up

As a follow up to my post yesterday (see Microsoft Dynamics GP backups with Windows Azure Blob Storage Service), an issue has been identified with Microsoft Dynamics GP 2015 running on SQL Server 2014 when choosing Microsoft Azure storage as the destination for the backup.

You will receive the following warning message:

The SQL Server version that you are using does not support backing up or restoring your database from Microsoft Azure storage.

I have traced the issue back to the logic in the '(L) RGRestoreBackupOption' of window BackupRestore of form syBackupRestore field change script, which seems to compare the build number even after it has determined the version number is greater than SQL Server 2012 SP1 CU2 (11.0.3339). Of course, the build number for SQL Server 2014 CU4 is 12.0.2430. Since 2430 is not greater than 3339, the script sets the validation flag to false, causing the script to abort with the message indicated above.

This problem is exclusive to Microsoft Dynamics GP 2015 RTM (14.00.0524) running on SQL Server 2014, and cannot be replicated if you are running Microsoft Dynamics GP 2013 R2 or Microsoft Dynamics GP 2015 on SQL Server 2012 SP1 CU2 or greater. Microsoft is currently aware of this situation (at least via the Dynamics GP Online Partner Technical Community Forum), but if you are

For more information on SQL Server 2014 build numbers, see Microsoft Support kb article 2936603, SQL Server 2014 build versions.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Sunday, December 14, 2014

Microsoft Dynamics GP backups with Windows Azure Blob Storage Service

With the introduction of Dynamics GP 2013 R2, Microsoft delivered support for application database backups onto Windows Azure blob storage service from within GP itself.

Azure Blob storage is a service for storing large amounts of unstructured data, such as text or binary data, that can be accessed from anywhere in the world via HTTP or HTTPS. You can use Blob storage to expose data publicly to the world, or to store application data privately. Common uses of Blob storage include:

• Serving images or documents directly to a browser
• Storing files for distributed access
• Streaming video and audio
• Performing secure backup and disaster recovery
• Storing data for analysis by an on-premises or Azure-hosted service

In turn, Dynamics GP takes advantage of capabilities introduced in SQL Server 2012 SP1 CU2 to enable SQL Server backup and restore directly to the Windows Azure Blob service. See SQL Server Backup and Restore with Windows Azure Blob Storage Service for more information.

Note: Starting with SQL Server 2012 SP1 CU4, you can also use PowerShell to backup to and restore from Windows Azure Blob storage services.

As part of the backup and restore process, Microsoft Dynamics GP calls the syGPAzureBackupRestoreProcess system database stored procedure.

Configuring Microsoft Dynamics GP backups with Windows Azure Blog storage service

To take advantage of Windows Azure Blob storage service, you must begin by setting up an Azure storage account. The storage account is the starting point for all storage services. The storage account requirements are fairly straight forward: setup a URL prefix, associate a location or affinity group for your storage account, and determine the type of replication. See How To Manage Storage Accounts for additional information on replication options.

Note: The full URL will be the URL prefix followed by

Storage Account Setup
Upon creation of the storage account, the storage account name and its access key properties are required to authenticate to the Windows Azure Blob Storage service and its components.

Following the creation of the account, you will need a storage container. A container provides a grouping of a set of Blobs, and can store an unlimited number of Blobs. To write a SQL Server backup to the Windows Azure Blob service, you must have at least the root container created.

Container tab

Click on the Containers tab to setup a new container. Enter a name for the container, and select the type of access that will be provided to the container.

New Container setup
For more information on setting container access types, see Restrict Access to Containers and Blobs. Once the container has been setup, you should see your new container listed.

Container is now setup

Return to the storage account dashboard and click the Manage Access Keys option at the bottom of the window for the storage account you setup. You can copy the primary access key, which will be used to setup Microsoft Dynamics GP.

Manage Access Keys

In Microsoft Dynamics GP, go to Microsoft Dynamics GP | Maintenance | Backup to open the Back Up Company window. Follow these instructions:

1. Select the company you wish to backup
2. Choose Use Microsoft Azure storage as the destination for your backup
3. Enter the storage account name you created in Windows Azure
4. Paste the access key from the previous section.
5. Enter the URL to the container. The URL format is as follows:

Back Up Company

6. Click on Verify account to validate your account settings and connectivity to the container then click OK to continue. The backup performance will depend on your internet connection speed.

Now that you have a pretty good grasp on the configuration, you can begin taking advantage of Windows Azure as a secure, always available option for your Microsoft Dynamics GP data. The best part is, the data geo-redundantly stored (if this option was selected when creating the storage account) and you no longer need to rely on tapes being exposed to damage.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Thursday, December 11, 2014

Microsoft Dynamics GP 2015 Developer's Preview: Wrap Up

It has been an exciting ride combing through the features and capabilities of the Microsoft Dynamics GP 2015 Service Based Architecture components, starting at the core with the new and enhanced .NET interoperability capabilities within Microsoft Dexterity, all the way to the new service base architecture foundation built into Microsoft Dynamics GP to expand the realm of integrations that can be accomplished in today's fast paced, application (Apps) dominated world, whether those applications are native to the Windows platform or cross-platform, whether they reside in the cloud or on premise, and regardless of the form factor.

I wanted to provide this single point of reference to reach all entries in the series, which saw 5 articles over the past 5 months.

Microsoft Dynamics GP 2015 Developer's Preview: Loading the VHD image - Part 1 (Aug 29, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Working with Sample URIs - Part 2 (Sep 24, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3 (Oct 29, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 4 (Nov 25, 2014)
Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 5 (Dec 1, 2014)

Since Microsoft Dynamics GP 2015 is now available to the general public, my focus will turn to keeping you abreast of those application nuggets, point out any glaring issues or problems, and continue to work with the development community at large to maximize the technological foundations of the product.

In the future, you may see new series on this blog seeking to enhanced the product learning experience, so stay tuned.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Friday, December 5, 2014

Microsoft Dynamics GP 2015 RTM is now available

This week saw the release of Microsoft Dynamics GP 2015, six months after the release of Microsoft Dynamics GP 2013 R2. Dynamics GP 2015 introduces over 120 new features, all of which have been covered recently over at Inside Microsoft Dynamics GP, the official blog of the Microsoft Dynamics GP Product Management & Marketing teams.

This new release also introduces a first round of Service Based Architecture operations, geared toward enhancing the product integration capabilities, and the ability for developers to expand into areas such as mobile applications, cross-platform applications, cloud-based applications and services, among others.

At its core, developers will now enjoy the enhanced coding capabilities with the introduction of .NET interop in Microsoft Dexterity, the IDE used to build Dynamics GP.

For the IT director or manager, Microsoft Dynamics GP 2015 introduces single sign-on capabilities offered via Windows Azure Active Directory, yet reinforcing Microsoft's commitment to the cloud.


Here are links for the articles about the release:

Inside Microsoft Dynamics GP

Dynamics GP Support and Services Blog
Winthrop Development Consultants (David Musgrave)

ERP Software Blog

Microsoft Dynamics GP Administrator
Dynamics GP Essentials
Dynamics GP – Learn & Discuss

For questions about upgrading to Microsoft Dynamics GP 2015, please contact me for a free consultation or use the comment section provided with this article.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Monday, December 1, 2014

Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 5

In my previous article (see Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 4), we discussed the merits of the Wrapped Window pattern and how it can save time by avoiding refactoring of complex business logic embedded on Dexterity forms. I also provided an intro on the Decoupled Logic pattern and why this is the preferred method for exposing Dexterity services as it provides the best performance. However, we also came to the conclusion that refactoring is only feasible in cases where decoupling the business logic from the UI will yield a reasonably increase in performance, without negatively impacting development and product release timelines.

We also looked into the Decoupled Logic pattern considerations and today we will accompany these with sample code to clarify the meaning of each.

Decoupled Logic Considerations
  • In decoupled logic mode, there is no implicit data types validation or conversion. Unlike the Window Wrapped pattern where the map statement manages casing, signed versus unsigned precision, and nulls during the binding of window fields to our instantiated class properties; in the Decoupled Logic pattern we must perform all the conversion and validations.
  • Check for valid value for decimals
(Click to enlarge)

  • Check for a valid value for a drop-down or radio group
(Click to enlarge)
  • Force strings to upper case as needed, for example, items, customers, vendors, etc. (see first example).
  • Set default values as needed as user may pass a null value as a parameter to a service procedure

There you have it! Working with services and .NET interop is quite frankly not that complicated so long you understand the patterns and some of the rules governing them. So finally, we will put this all together in a final installment that will complete this series.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Tuesday, November 25, 2014

Working with Dex.ini Settings to customize the Microsoft Dynamics GP Connect gadget

I take a pause in my Microsoft Dynamics GP 2015 Developer's preview series to bring something fun before the Thanksgiving holiday here in the United States. Hopefully you find this trick very cool and enjoy it in your workplace.

Have you ever wanted to wake up with The Dynamics GP Blogster page as the centerpiece of your Microsoft Dynamics GP application homepage? Or how about your favorite online news outlet? What if you just want to display your company web page or an intranet portal to allow employees to update their information or view the latest company news?

Today I will show you how to take advantage of two obscure Dex.ini settings to customize the Connect gadget.

The standard Connect gadget displays Microsoft Dynamics Community news and updates, but there are two Dex.ini keys used to enable runtime debugging of the Connect gadget. One of the Dex.ini keys turns on the debugging feature and the other allows you to specify a URL to be displayed. The keys are:


If you add these two keys to your Dex.ini file and re-launch Microsoft Dynamics GP the result will jump right at you.

Customized Connect Gadget

I also noticed that if the customized URL contains videos, these will play fine within the Connect gadget. How about that for some educational YouTube videos from the Microsoft Dynamics Channel? I tested it in the Web Client and it also worked just fine.

Please send in your comments as I would like to hear how you plan to use these new settings. Also remember, if you are using the Support Debugging Tool, you can roll out the settings to every user without having to visit their workstations.

Take a look at the following related articles:

Working with the Dex.ini Settings in Microsoft Dynamics GP 2013
More DEX.INI Settings!

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Microsoft Dynamics GP 2015 Developer's Preview: Dexterity Service Patterns - Part 4

What a week of learning that reIMAGINE 2014 conference was! If you stayed for the post conference training classes, even more power to you.

In my previous article (see Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3), I talked about the .NET interop capabilities introduced in this iteration of Dexterity and how these new capabilities have become the foundation for unlimited extensibility options for Dexterity-based applications. Today, I wanted to talk about another aspect brought by .NET interop: Dexterity services. However, to understand Dexterity services, we must first take a look at the service implementation patterns.

Wrapped Window Pattern

Under the wrapped window pattern,  a complete Dexterity form or window logic is wrapped into a service. The goal is to instrument the user interface and leverage all the existing validation logic within a RESTful service as to avoid recreating that same logic separately -- similar to the behavior displayed by the Web Client.

Wrapped Window Pattern (click on image to enlarge)

A closer to home example is how Integration Manager's standard adapter leverages the UI to get data into Microsoft Dynamics GP.

Wrapped Window Pattern Considerations

Create .NET object
The basic idea here is to leverage .NET to create a class library with all the properties reflected by the associated Dexterity table, i.e., RM_Customer_MSTR, then expose that class to your Dexterity application (via .NET interop). You can then instantiate that class in Dexterity to map the UI fields to the instantiated class properties. Here are some basic steps to follow:
  • Include all fields from table as part of the .NET class 
  • Remove white spaces from names, i.e., 'Customer Number' should be defined as CustomerNumber within the .NET class 
  • Create enumerations for radio groups and drop down lists

Preparation for window being wrapped
What we are trying to do in this instance is, identify all modal dialog elements in our code that may require branching logic for when our application is running in service mode, finding an effective way to handle these.
  • Handle calls to Warning_Dialogs by evaluating service mode state with IsServiceMode() function.
    Warning_Dialogs handling
  • Ask messages for actions need a predetermined action 
    Ask() function
  • On-the-fly record events cannot be performed . When in service mode, if the record is not found, a trace event is created.
Ask() on-the-fly record add
  • TraceAdd and Trace are used to report service events to calling applications or services.

Decoupled Logic Pattern

The Decoupled Logic pattern exposes Dexterity procedures and functions as a service, this is, the business logic does not reside in a form. Under this approach, the objective is to separate the business logic from the user interface. Since we are dealing with procedures and not the user interface, the decoupled logic pattern can be considerably faster from a service performance perspective.

Decoupled Logic Pattern (click on image to enlarge)

Using our closer to home example, think of Integration Manager's eConnect adapter, which leverages the eConnect assembly and stored procedures to bypass the user interface. At the same time, this is a prime example as to why you want to find a Dexterity pattern approach that's suitable for creating a service -- you may not want to have to refactor the entire UI, depending on the complexity of the UI validations. Key points in determining whether to refactor the UI or not are the frequency of use of the UI in question and performance of the UI code.

Decoupled Logic Considerations

  • In decoupled logic mode, there is no implicit data types validation or conversion. Unlike the Window Wrapped pattern where the map statement manages casing, signed versus unsigned precision, and nulls during the binding of window fields to our instantiated class properties; in the Decoupled Logic pattern we must perform all the conversion and validations.
  • Check for valid value for decimals
  • Check for a valid value for a drop-down or radio group
  • Force strings to upper case as needed, for example, items, customers, vendors, etc.
  • Set default values as needed as user may pass a null value as a parameter to a service procedure

In the interest of clarity (and space), I will tackle some decoupled logic sample code in a follow up article.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Wednesday, November 19, 2014

Microsoft #reIMAGINE 2014 Conference - Wrap Up!

November 13, 2014

After a good 3 days of conference sessions (both attending and delivering), I have to say this event has been very special to me. Being able to catch up - yes, catch up! - with old (and not so old) time friends is probably one of the best experiences of this particular reIMAGINE 2014 event.

At Hector International Airport (FAR) Gate 1
As I sat at Gate 1 at Hector International Airport, looking out at the snow dusting collected on the tarmac (a stark reminder as to why I don't live in these latitudes), I reflect back on days past to highlight the following:

1. You MUST begin learning about Service-Based Architecture in general, now! The truth is, I spoke to numerous developers during this event and the one question that kept coming up was, "Where do I go to learn all this stuff?". It took me some time to get acclimated to these style of services, but frankly, you need to build on your past experience. After all the current Web Services model (SOAP based), while different from the new one (REST based) still offers some of the underpinning architectural elements. If you are a newcomer to the game, then the MSDN library offers quite a few good primers on REST based services. One of my favorites is An Introduction To RESTful Services With WCF by Jon Flanders. In subsequent days, I will be posting a number of articles on the Dexterity service patterns and their implementation.

2. The Microsoft Dynamics GP partner community is alive and well, thank you! It's no coincidence that this event drew close to 500 partners and ISVs. The question that still lingers in my mind is, why not more? These events are not all about the kumbaya and to be honest, the wealth of information is simply overwhelming at times and I'm surprised that, despite the number of attendees, more partners are not taking advantage of the learning opportunities. I am willing to wage a bet: if we get to double the registration for next reIMAGINE chances are this event will need to move to another city not named Fargo as there may not be any venues large enough to host such crowd.

3. The jury is still out on who throws the best event parties, but I must say there are only two clear competitors, so far: FastPath and eOne Solutions. If I'm going to be put in a position to choose... you know what? I will just continue to enjoy the parties, so go on boys and girls! Just let me know when and where I must show up to the next one.

4. Last but not least, this partnership between Microsoft and Dynamic Communities is probably the best darn thing to happen to the Dynamics GP ecosystem after Microsoft's acquisition of Great Plains Software. With Microsoft technologies and products and Dynamic Communities understanding of the user and partner ecosystem, these events just seem to have been catapulted to another level. What I would like to see is more collaboration at the session level, between Microsoft Dynamics GP development team members and partners. It would make for a very interesting perspective, from both the technical and the practical applications of the technology.

I also wanted to thank each and every single person that made this event possible - you know who you are! It's (fairly) easy to show up to these events as an attendee and sometimes as a presenter, but putting a partner event together is no easy feat, so kudos to the Microsoft Dynamics GP Product Management and Product Development teams and the Dynamic Communities team for a great event.

Coverage from this event appears in the following posts:

Microsoft #reIMAGINE 2014 Conference - Getting Here
Microsoft #reIMAGINE 2014 Conference - Day 1
Microsoft #reIMAGINE 2014 Conference - Day 2
Microsoft #reIMAGINE 2014 Conference - Day 3

Conference material can be downloaded from

See everyone at Microsoft Convergence 2015 Atlanta, my backyard. Register now to take advantage of the early registration rates and get some great accommodations here in town.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Microsoft #reIMAGINE 2014 Conference - Day 3

November 12, 2014

As the saying goes, "All good things must come to an end" and it was no different for the reIMAGINE 2014 conference. However, we still had to get through the day with the closing session, and couple breakout sessions we were responsible for.

After the fantastic keynote speech by Doug Burgum and some really fun partner hosted events at the local bars on the previous day, it was just natural to wake up with an appetite, so I was down early for breakfast - then again, so was everyone else!

Breakfast gathering
Breakfast preceded the closing session, which was once more MC'ed by Jesse Byam, who was going around the room asking folks about the highlights of their conference experience, all the while eating their breakfast. Jesse and I had a chance to interact on my own experiences and I have to say, all the Service-Based Architecture sessions I attended were the biggest takeaway for me.

After Jesse got the entire room pumped, Joe Carroll followed up with some closing words, basically highlighting the Microsoft Dynamics GP product trajectory over the past 20 years and how it has allowed him to grow professionally - Joe started out with Great Plains Software almost out of school.

Joe Carroll
Next up was Errol Schoenfish (sporting another cool ply shirt, making it his personal reveal) to conduct the Microsoft Dynamics GP Big Reveal surprise which would show off some of the next major milestones that Microsoft is working on as it relates to our beloved Dynamics GP.

Errol Schoenfish
Errol brought Jarred Hall to stage to demo off the next generation Excel Refreshable reports which is fully integrated to Microsoft Office 365. Jared had a chance to showcase a scenario where Excel reports were generated from GP and consumed directly on Office 365 without ever making it to the end-user's desktop, which is how the current proposition behaves. I have to admit, the next iteration of Excel refreshable reports is going to significantly enhance the user experience.

Jarred Hall and Errol Schoenfish
Next up was Jennifer Ranz, one of the coolest people over at Microsoft - sorry guys, I love you too. Her mission was to show off aspects of the next generation user interface and in particular the new HTML5 UI. While the HTML5 UI is still a long shot from anything resembling a beta product, it was encouraging to see some of the conceptual design elements being considered for the new UI.

Jen Ranz and Errol Schoenfish
HTML5 UI Prototype with our favorite client on display
Next, reIMAGINE took a turn for the better when Errol invited partners to talk about their own success stories in reimagining their business around Microsoft Dynamics GP. We had a chance to hear from John Hendrickson with InterDyn BMI and Matt Woodward with The SMB Suite. While both businesses went down different reimagining paths, it was clear to me personally that a diversified product and services portfolio, high levels of customer service, and taking advantage of different Microsoft programs propelled these two organizations to the top of their game.
John Hendrickson (InterDyn BMI), Errol Schoenfish, and Matt Woodward (The SMB Suite)
Errol concluded the session with a very emotional account of his son Tucker's basic and technical training in the Air National Guard at Lackland Air Force Base near San Antonio, Texas and how throughout the program, Tucker has developed some rigorous discipline and precision that have improved his life all around. Errol exhorted all attendees to the closing session to learn and improve their skills to continue reimagining their career paths.

Once the closing session was over, David and I quickly went to the Holiday Inn Board Room to get setup for the Become More Dexterous at Dexterity Development breakout session - a panel style session - which we would be hosting along with David Eichner with ICAN Software, Mark Rockwell with Rockton Software, and Microsoft MVP Leslie Vail. Unfortunately, Leslie was ill and could not present along with us, but we were able to get Patrice Bremond-Gregoire with BGE, Inc to fill in for Leslie. Patrice is a long time Microsoft Dexterity developer and runs a successful Microsoft Dynamics GP ISV firm in Canada.

This session was particularly cool, because no one on the panel prepared anything and it became totally interactive. There was no short of questions from the attendees and I believe we all had quite a bit of fun delivering some of our own tips and tricks to the audience.

Next up was our long awaited session, The Support Debugging Tool for Advanced Users. We were treated to a standing room only session, which is usually the way we like it.

SDT for Advanced Users
Courtesy of Dawn Prigmore
Although we had quite a bit of material to cover, the session went on with just some minor hiccups and everyone chanting YES IT CAN!, to the sometimes butchered question "Can the Support Debugging Tool do it?". Some of the topics covered in this session included the Automatic Debugger Mode feature with log traces, SQL Execute, Runtime Execute, and the (still in beta) Database Validation tool.

David showing off the Database Validation Tool
Courtesy of Dawn Prigmore
The session wrapped up and we spent a few additional minutes taking pictures and saying goodbyes to a number of attendees who walked up to greet us. After grabbing a box lunch at the meal room, we ran off to a Development Collaboration meeting at the Microsoft Campus. As this meeting was under NDA there's nothing I can discuss here. After the meeting, we were chauffeured by Emily Halvorson to the all too famous Carol Widman's Candy Company to get some Chippers (chocolate covered potato chips).

We returned to the Holiday Inn to drop off our stuff, then meet at the bar for a drink or two before dinner. Dinner had been pre-arranged at Passage to India with Jivtesh and Rubal Singh, Leslie Vail, John Lowther, Belinda Allen, Sheila Ochoa, Sheila Jefferson-Ross (the birthday girl!), and Emily Halvorson. We ordered a number of dishes to share among all of us and spent quite some time conversing and laughing while enjoying our meal.

Left Side: Leslie Vail, Sheila Jefferson-Ross, Mariano Gomez, Rubal Singh, John Lowther
Right Side: Jivtesh Singh, Belinda Allen, David Musgrave, Emily Halvorson, Sheila Ochoa

It's hard enough when you can't count American money.
Paying the bill took the better part of 10 minutes while David sorted through the notes
After dinner, we returned to the Holiday Inn, where surely one more drink was warranted after the delicious meal. As is customary, it was time for the now all too famous Tim Tam Slams, courtesy of David Musgrave. For a description of the all too embarrassing process, please visit this old post over at Developing for Dynamics GP.  However, when you are surrounded by characters such as Craig Klapman (Mekorma), John Lowther (Njevity), and Mike McDowell (Mekorma) doing Tim Tam Slams, you are bound to enjoy the show while handing out a few napkins. Stay tuned to David Musgrave's new blog as I am sure he will be posting pictures on this.

For my part, I was sitting on another table talking to my buddy Corey Clay, Sr. Tech Consultant with NexTec Group in Canton, OH. Corey had another day to spend in Fargo attending a couple of post conference training classes. Since him and I go way back, it was just about fitting to catch up after a long 3 days of conference, though he attended a couple of my sessions.

It was now time to call it a night as the following morning I would initiate my journey back home.

As is customary, please wait for my conference wrap up post with links to all the presentation materials for our sessions. This was a very exciting conference and I really hope to see more partners joining Dynamic Partner Connections and attending these type of events. The wealth of information is simply to die for.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC

Tuesday, November 18, 2014

Microsoft #reIMAGINE 2014 Conference - Day 2

Oh goodness, what happened last night? Well, it's true that if you are going to party into the wee hours of the morning, you must still get up to go to the conference and so I did.

Today was the first full day of breakout sessions, but David and I won't start our first session until the afternoon. I got up and downloaded Project Siena for the live demo I would be conducting during our session on building a Windows 8.1 App so I had just a few hours to learn the product. After obtaining the GP service XML configuration file from my buddy Kevin Racer the day before, the idea was to replicate the demo Kevin and Errol conducted on stage during the General Session.

David and I met at the Microsoft Campus around 10:30 AM and sat for a bit to go over some of the logistics of the interaction between the two of us during the session. As with all our presentations, the improv factor helps more with having a fun and relaxed time. So David went off to another session, while I decided I was too hungry, so I went and order some nice Indian food at the Microsoft Commons restaurant.

It was 2:30 PM and it was time for Service-based Architecture and Building Exciting New Customer Applications and Integrations. During the session we provided an abstract of the new Service-Based Architecture in Microsoft Dynamics GP and proceeded to talk about the different architectural patterns, and Dex serviceable components, without going into the details covered by previous SBA sessions and more looking at the possibilities from a developer's standpoint. The Siena demo went without a hitch and we also demoed the .NET interop capabilities in Dexterity through a Trigonometric functions example which can be found in my article Microsoft Dynamics GP 2015 Developer's Preview: .NET Framework Interoperability - Part 3.

After completing our session at 3:30 PM we wondered off campus and back to the Holiday Inn to relax for a bit before heading out to the Fargo Theater for the keynote speech.

The frigid afternoon would take us down to the Fargo Theater for the keynote speech featuring Doug Burgum, founder of Great Plains Software and former Sr. VP Microsoft Business Solutions.

Fargo Theater
At the theater, we grabbed a few popcorns and some adult beverages and went to find a seat close to the stage.
Jen Kuntz and David Musgrave
The evening had one more surprise for us. Prior to Doug taking the stage, the MC was no one other than Matt Gustafson, a.k.a., The Fabulous Matt G. For those of you new to the channel, you can read about Matt G in the farewell post over at Developing for Dynamics GP. Matt G, in his unique brand of humor, recruited Errol Schoenfish and

Matt Gustafson
"The Fabulous Matt G"
I will spare you the details on Doug's session, but suffice to say, it was another one of those exceptional keynotes that only Doug can deliver, full of historical references around the life and miracles of American inventor Clarence Birdseye, considered by many to be the inventor of frozen food. Doug expanded into the development and expansion of suburbia and how this phenomena has given way to dilapidated downtowns across America. However, the sustainability issues associated to the suburban expansion are giving way to considerations on reclaiming downtowns across the nation, given the newer generations' desire to stay close to their places of work.
Doug Burgum
After Doug's speech, I went up to take a picture and to thank him for (indirectly) providing me the opportunities I have had around Microsoft Dynamics GP. As a matter of anecdote, I visited Fargo in 1996 where I had the opportunity to talk to Doug one-on-one in several different occasions, as I helped my company back then to establish a product and a presence in Latin America.

A picture for the ages
From left to right: David Musgrave, Mariano Gomez, Doug Burgum, Leslie Vail, and Sheila Jefferson-Ross
Following the keynote, I headed down to Dempsey's Public House for my first stop in the tour through the bars and eateries selected by the sponsoring partners. Drinks at Dempsey's were sponsored by Microsoft partner Njevity.

I had pre-arranged dinner plans with the Barlett, Pringle and Wolf, LLP technology consulting team at Mezzaluna Fine Dining, which was right behind Dempsey's, one of the stops in the bar trail attendees could follow throughout the evening. Intelligent Partnerships - my company - and BPW have collaborated on a few challenging projects and are looking forward to more.

The atmosphere at Mezzaluna was eclectic with a hint of European flair. While I only had the bacon wrapped bison meatloaf, I must say that by far I consider it to be a fantastic dish - to the point where almost everyone on the table ordered it.
Dinner with Barlett, Pringle and Wolf Consulting Group
From left to right: Mariano Gomez, Ross Appenzeller, Michael Weaver, Stephen Korosy, and David Musgrave
The service was impeccable and certainly would recommend anyone visiting Fargo to head down to this place for dinner.

Next stop: HoDo Lounge, a part of the Hotel Donaldson. Drinks at HoDo were sponsored by eOne Business Solutions. As the temperature dropped even more, it was time to find the bus to return to the Holiday Inn and call it a night.

Until next post!

Mariano Gomez, MVP
Intelligent Partnerships, LLC