Archive

Archive for the ‘Microsoft Dynamics CRM’ Category

Time to get Trained!

July 19th, 2010

Did you get the memo?? Summit Group Software has moved!

Our new location has many great new benefits — perhaps the best one… Our new training room! We are putting it straight to good use and running a Microsoft Dynamics CRM 4.0 Administration class for customers this week. It’s a full house in there and they are getting their training fix!

We are running a full calendar of training events - in our new West Fargo facility, as well as classes in Chicago, Omaha, and Kansas City for the first time! And don’t forget our full schedule of webinars, too!

What better way to gear up for fall than by getting yourself some of that much needed training on Microsoft Dynamics, Microsoft SharePoint, and others!

Check out the new training schedule today:
http://www.summitgroupsoftware.com/php/training.php

Methods and Strategies Used Implementing ERP Solutions

April 13th, 2010

I correspond with a gentleman from a company called Software Advice from time to time.  His company recently did a survey on strategies used in implementing ERP solutions.

This is a good blog article that highlights the different strategies available, and how many companies choose those strategies, along with their success ratings.

It’s worth a look if you are thinking of implementing or changing your Enterprise Resource Planning, or any sort of technical/software-based change.

http://www.softwareadvice.com/articles/manufacturing/erp-implementation-strategies-1031101/

Prioritize Prioritization

April 7th, 2010

What would you do if time and money were not a consideration?

Who cares?? I dare you to find one company for whom time and money are not a consideration. Even the largest companies with the deepest pockets have some sort of ownership or shareholders to which they are accountable for those little details like time and money.

Of course we want it all and we want it for as cheap as possible. Those are sometimes (not always) opposing desires. So what’s a company to do in making their decisions… simple — prioritize. I see companies struggle with prioritization everyday in my role managing implementation projects of CRM and ERP software for businesses. The catch though, is that prioritization really isn’t simple. It comes with… ugh… tradeouts.

My advice on tackling prioritization is to start at the very top. Assess the high level strategy as determined by the leadership. These strategies can help guide what is important down to some of the most tactical things. For example — is the strategy to ‘grow’? Then the priorities that should be emphasized in a software implementation are ones that support expanding the infrastructure, scaling out capabilities like access and reporting, and support flexibility or the ability to change processes as the organization grows.

Once you understand the high level direction of the company, those strategies need to be applied to the decisions around solutions that will support those goals. And then finally, those high level strategies serve as the directionality when making decisions about what that system needs to do, how customized something needs to be, and/or where tradeouts may need to be made.

This can guide decisions on everything on possible integrations with other systems to the depth of a customization. If a trade out over convenience and complexity has to be made taking cost into consideration, I will always challenge the decision makers I am working with by asking those questions about what is acceptable or not in the context of their short and long term business goals. And challenge assumptions about the both the cost of the software or services as well as the cost associated with their people, processes, etc.

Again, it isn’t simple. Even if you can gather consensus on the highest level strategies — interpretation of what that means for a team, department or an individual is often up for debate. This is the tricky part that often involves a little soul-searching on the part of the groups I am working with.  In the ’storm’ of the implementation, it is very hard to cling tightly to the highest level strategic priorities when the noise and pressure from individual users or teams is often not only loud - but legitimate. Open communication and a fair assessment of those true priorities, along with transparency (as much as is possible) to those affected by a prioritization decision helps garner support for those tradeouts when they have to be made. Good luck! Happy Prioritizing!

Why I Love Convergence

February 25th, 2010

I woke up today and realized it is almost March.
It has been an absolute whirlwind since the beginning of the year - with year-end of course, and a ton of great projects kicking off the year right.

With spring — comes Convergence! Microsoft’s annual Microsoft Dynamics Customer Conference is held April 24-27, 2010 in Atlanta, GA.

Here’s why I love it:

  • Lots-O-Learning - concurrent sessions galore — some highlights for sure this year are going to be the Microsoft Dynamics GP 2010 launch, Sharepoint 2010 and cool integration info for Microsoft Dynamics, and the next release of Microsoft Dynamics CRM
  • Networking - It is incredible the number of businesses out there that use Microsoft Dynamics. Talking to other people who use Microsoft Dynamics, understanding what they do, how they make their living, and how Dynamics fits in is fascinating. AND - there are bound to be companies right in your industry with businesses like yours that you can network with and learn from. You can never have a deep enough network…
  • EXPO!! And — SWAG!! (Stuff we all get ;-)) The Expo is full of ISV and third party providers that have amazing add-ons to Microsoft Dynamics. They will have what you need…
  • Warm Temperatures! Who am I kidding… We all love a warm weather destination - double it with a fantastic learning opportunity and it is a winner.

AND FINALLY — Summit Group clients on Managed Services Plans have an additional financial incentive to attend… talk to us for more info…

Are you registered? Check it out:
http://www.microsoft.com/dynamics/convergence/atlanta10/default.aspx

Time and Expense Entry (xRM)

November 9th, 2009

Summit Group Software implemented a time and expense entry system for our consulting practice using xRM (Microsoft Dynamics CRM) as the platform.

It started out as a simple use of some additional entities for projects, time entries, expense entries in order to track our billable time and expense entries for clients. These entities have relationships to customers and are integrated (using Scribe Insight) over to our Microsoft Dynamics GP accounting for billing purposes. In the past couple of years since we have been working on this evolving functionality, two great benefits have been acheived over our legacy time entry system.

1) Natural linkages with all our customer data in CRM– account/contacts, links to cases for support incidents, etc. That insight to every person in the organization on who has been billed and for what has been a great thing.
2) REPORTS, REPORTS, REPORTS! Ah! Finally - instant insight to our billing data for clients, on a per-project basis, and of course our own utilization reporting. The old system left us with almost no insight. As the consulting team manager, every day I sing the praises of my instant reporting through CRM and SQL Reporting Services! It has changed the way I work.

A third benefit is one that we always talk to our clients about and it is really cool to see it ourselves — Flexibility with our changing business needs.

Summit Group has rolled out numerous changes to our business in the past year including the allowance of discounted, prepaid time and a Managed Services plan that really changes the way we look at billable services for our clients. xRM (CRM) as the platform for our time entry system has allowed for new entities, many-to-many relationships between all of them, and very fast changes to reporting through SRS to be agile and make our time entry and project tracking system bend to the needs of our business. When I think of the way we could think about turning parts of our business model upside down and just have the systems ‘work’ to support whatever changes we needed for our business… that is priceless. A ‘custom’ built time and expense entry system with the supportability of being built into the rest of our CRM system. What more could a consulting manager ask for?

Google Closure Compiler and Microsoft Dynamics CRM

November 9th, 2009

Google has just released their JavaScript development toolbox which itself is not supported for use with Microsoft Dynamics CRM, however it does include a component called the Closure Inspector which will optimize, compress, and debug JavaScript code.  The compression removes all of the unnecessart whitespace, so gone are the days of painfully trying to remove all of the whitespace so that the Jscript will work within the ISV.config file.

For example, I took a function from one of our CRM forms and compiled it with simple optimization in the Closure Compiler and here were the results:

Original

function billable() {

if (crmForm.all.sgs_billablehours.disabled == false) {

var minutes = prompt(’How many minutes?’, ‘0′);

var fullhours = minutes / 60;

fullhours = fullhours - fullhours % 1;

var remainder = (minutes % 60) / 60;

remainder = Math.ceil(10 * remainder) / 10;

crmForm.all.sgs_billablehours.DataValue = fullhours + remainder;

}

}

Compiled Code

function billable(){if(crmForm.all.sgs_billablehours.disabled==false){var a=prompt(”How many minutes?”,”0″),b=a/60;b-=b%1;a=a%60/60;a=Math.ceil(10*a)/10;crmForm.all.sgs_billablehours.DataValue=b+a}};

Original Size: 466 bytes (241 bytes gzipped)

Compiled Size: 262 bytes (189 bytes gzipped)

In conclusion, with CRM Jscipts usually being pretty small, the compression is probably not going to optimize performance much (unless you are on dialup, it takes a fraction of a second to download either 8KB or 16KB), however I do think that the debugging and whitespace removing features will come in very handy for me in the future.  If you take advantage of the optimization, you will want to make sure that you save a copy of the original code since your comments will be removed and variable names will be changed.

Here is the link to the web based version of the Closure Compiler.

http://closure-compiler.appspot.com/home

For more information, check out the Ars Technica article where I discovered it:

http://arstechnica.com/open-source/news/2009/11/google-opens-up-its-javascript-development-toolbox-to-all.ars

Author: Tyler Sand Categories: CRM Customization, Dynamics CRM 4.0 Tags:

Spell Check Microsoft Dynamics CRM Text Boxes

November 3rd, 2009

I was approached by a customer today with a request for  emails written from CRM to have some spell checking capability.  Knowing that CRM does not natively do any such thing on its own, I did a little searching for a generic Internet Explorer add-on that could spell check any text box in IE.  One of the first ones that came up was called ie7pro, at www.ie7pro.com, it is free, small, and checks as you type.  Perfect.  I installed it, and with no configuration whatsoever my CRM emails were now being spell checked.

CRM Spell Checking

Author: Matt Gronbeck Categories: Dynamics CRM 4.0 Tags:

Importing Excel Data into Microsoft Dynamics CRM 4.0 and Converter Tool

September 14th, 2009

Many times when setting up a Microsoft Dynamics CRM 4.0 implementation it is necessary to import existing data into the new CRM system. Commonly, this data comes from Excel Spreadsheets, or the system it came from has a way to export it into Excel.

Microsoft provides two tools for importing data into CRM natively.  One, the Bulk Data Import Tool is built into CRM, the other, the Data Migration Wizard, is a separate install provided with the installation media for CRM. Both of these methods accept only one file type, csv, or comma separated values.

Each data import tool has it’s own pros and cons, and I have performed many migrations using each one, most recently the Data Migration Wizard. Some of the things I like about this option are:

  • Several validation steps before the final import
  • Detailed error descriptions including line numbers
  • Ability to import cells as lookups or picklists
  • Ability to choose which attribute of the related record you are importing (i.e. Account Name or Account Guid if you are importing Contacts with a Parent Account field)
  • Picklist options are added on the fly if a matching value is not found
  • The Data Validation before the Import will alert you if a duplicate lookup reference was found or no lookup reference was found
  • Successful migrations are saved automatically
  • Option to delete the data imported by previous migrations
  • Ability to create missing custom attributes on the fly (this is extremely helpful when a large amount of custom attributes are required)

Some cons are:

  • No ability to discard or merge duplicate records being imported
  • Needs to be installed on a local machine, even for CRM Online implementations

When using the built in Bulk Import Tool, notable features are:

  • The fact that it is built in to CRM means it can be run from any client computer, using web client or Outlook client
  • Non administrative users can be given privileges to perform bulk imports, letting users import their own sets of data (obviously this can open the door to less than clean data being imported into the system–it is good to know the users who will have this privilege)
  • Uses duplicate detection rules created in CRM to detect duplicates when importing–dependent on the CRM Asynchronous Processing Service therefore it can take longer to complete and slow down other system jobs.
  • Lookups can only be correctly linked if an automatic data map is used, to use an automatic data map, every column name in the spreadsheet must be exactly matched to the Display Names in CRM

CSV files also have their pros and cons,

  • Since commas denote cell breaks, having commas in your data will give you rows with different numbers of cells, which not surprisingly, will not import into CRM
  • CRM gives you the option of Importing CSV files that uses a quotation mark as a data delimiter, therefore you could have a cell that looks like this: “Adventureworks, Inc.”, and the comma between Adventureworks and Inc would not be interpreted as a cell break

Although Excel will let you save your .xls or .xlsx files as .csv files, there is no way to delimit all of your data with quotation marks, which means you need to import spreadsheets without commas in the data, which is rarely a viable option

To help overcome some of the obstacles of using CSV files, I created a simple program that takes an .xls or .xlsx file and converts it to a quotation mark delimited CSV file. Commas embedded in the data are preserved, and carriage returns are replaced with dashes so that rows are not ended prematurely. I have made the program available for download, if you wish to have the source code to modify for your own uses, feel free to email me at mgronbeck@summitgroupsoftware.com and I will provide it for you. To use the program, run the installer, in the Start Menu or the directory specified, run the executable file, Browse to a Source File, a Destination Folder, click the Load Sheets button and select the sheet your data is in, and click Convert.

Note:  if you do not have Excel installed, you may need to install the Access Database Engine, which is found here

Download the Excel Conversion tool Here
Screenshot

Author: Matt Gronbeck Categories: Dynamics CRM 4.0 Tags:

Registration and Event Management (xRM)

September 2nd, 2009

Summit Group has worked on an evolving project using the Microsoft Dynamics CRM platform over a couple of years. In the beginning, we set out to build a training registration system for clients in the training center industry. (Companies that run computer training as their core business.) This set of customizations was initially marketed under the name Summit TCM. We built some extentions that utilized some basic entities to manage registrations, link them to people/companies and tapped into the Service Scheduling module. Again with some extensions were able to link events in the calendar to registrations and then people.

We have been able to take this basic set of extensions for the purpose of managing technical training and bend them further to managing any type of  class registration, including soft skills training sessions, arts and musical training, etc. And we have also moved this even further to do just general event manegement for some of our clients who have a need to track events, places, people, etc. With the flexibility of the CRM platform, we have been able to transform Dynamics CRM from being a place to just keep track of customer interactions - to stretch into an entire registration, scheduling, and event management platform. Adding this to basic CRM functionality around opportunity and pipeline/revenue reporting we have a pretty powerful solution now to deliver to service businesses that have a need for registration and event management.

Microsoft SQL Server 2005 - Maintenance Plan Best Practices

August 27th, 2009

Recently, I’ve had some questions about best practices and tips and tricks for SQL Backups.  Questions ranging from how often should backups be run and how long they should be kept for to the right types of backups to do on a regular basis.  The simple answer to these questions is “whatever works best in your environment”.  Let’s examine some scenarios to help you understand which approach is best for you.

The first example we’re going to look at is utilizing Full Recovery in your database environment.  When your database is set to full recovery, you are enabling your company to experience less data loss in the event of a catastrophic failure.  Full recovery is ideal for organizations that cannot afford to lose more than an hour or two of data entry.  This is because multiple, smaller backups are run throughout the regular business day.  Here’s how it works:

Whenever a transaction is entered into CRM or GP, there is a record of the transaction stored in the transaction log database.  In full recovery mode, these transactions remain in the transaction log database until they are removed via Transaction Log Backups.  These backups truncate (delete) the transaction log and store the transactions that have already been committed to the live database.  In the event of a catastrophic failure, this enables the users to restore the last full backup taken, plus restore the transaction logs of the uncommitted transactions, and bring the database back to the point of the last transaction log backup.

If your database is in full recovery mode and you do not have transaction log backups running, your transaction log database is probably getting huge because those uncommitted transactions are not getting truncated from the database.  If this is the case, you’ll want to run a transaction log backup first, and then manually shrink the size of your transaction log database (you’ll notice that the used space drops dramatically after this backup, but the free space remains high).

The other type of recovery mode you can run in your SQL environment is Simple Recovery.  In simple recovery mode, transactions are truncated from the transaction log database once they are committed.  Transactions are committed once the database hits what is called a Checkpoint.  Once this checkpoint occurs, transactions are committed to the database, and the transaction log is truncated.  This ensures that the size of the transaction log database does not get out of hand, and doesn’t require having transaction log backups running throughout the day.

The downfall to simple recovery for organizations who cannot afford a great amount of data loss is that there is not the ability to run transaction log backups throughout the day.  If you need backups to run throughout the day, you’ll need to run full backups when the system resources are not being utilized (like over lunch or coffee breaks).  Typically, companies running in simple recovery mode run nightly backups, and if something were to happen during the day, they would reenter the transactions up to the last full backup.

The advantage to having a database in simple recovery mode is the ease of use in setting up and monitoring the maintenance plans.  You only need to run full backups nightly (or as frequently as you would like).  There is no need to run transaction log backups to truncate the transaction log database as these are truncated at the checkpoints throughout the day.

Hopefully this will help you decide which SQL Maintenance plan to setup for your organization.  If you need any help determining an appropriate plan for your particular organization, please feel free to contact me and we will create a plan that works best for your organization.