Thursday, August 27, 2009

Dynamics CRM Demonstration Tools (Data Generator)

When creating demo environments for sales presenations I like to add a lot of test data to my systems and make it relevant to the custom to which I'm presenting. Microsoft released a tool called "Microsoft CRM Demonstration Tools" which you can download here.

This tool has several useful features:
-Data Generator
-Date Mover
-Dependent Picklist Creator
-Generate Emails
-Generate Entity Icons
-Site Map Editor
-String Replacer

The tool I use the most is the data generator. This allows me to create XML files which will automatically generate entity records in my demo system.

I first go into the demonstration tools and generate an XML file with all the fields I want to populate and put in at least one test value for each field to ensure that I get my data formatted right.

Next I need to get some sample data. For some of it I look around the internet but for the basics I use a great OpenSource tool called GenerateData which you can install on any web server using PHP and MySQL, or you can use their online instance of the tool. This allows you to generate test data for names, addresses, random words, dates, and more.

I usually edit the XML in Visual Studio and reformat it into a more readable XML format which also allows me to expand and contract the nodes. After you load the file in just go to Edit -> Advanced -> Format Document

The problem with editing the document in Visual Studio though is that the Demonstration Tools will not accept an XML file that has any line breaks for paces between the tags. This is when I crack open my favorite text editor called TextPad. I past and then do a select all of the XML data in TextPad. I then go to Edit -> Joint Lines (Ctrl+J).

Next I go to Search -> Replace (F8) and look for "> <" and replace it with "><" to remove the space between the tags.

Finally I try clicking on the line directly beneath the text to ensure that there is no line break after the text. After I save all the info I go back into the Demonstration Tools -> Data Generator, click the Open... button and select the file I created. Ensure that your data is the way you want it, choose the number of records to generate, and click Generate Data. You now have a customized record set to show your customer.

On a final note I use differencing disks on my VPC to quickly set up multiple test/demo environments. If you only use one VPC but you want to delete your old test data before you load in new data you can this tool to create batch delete jobs without using the SDK.

Friday, August 21, 2009

No "Edit Page" link for standard aspx page in SharePoint

Many times user create aspx pages within SharePoint designer and then add web part zones to them so they can add data. There are several problems with this, the first being that you will never get a link for "Edit Page". This means you have to open the page in SharePoint designer every time you want to do a modification.

There is a way to get around this. Add the follow to the end of the url : ?PageView=Shared&ToolPaneView=2

Example: www.sharepoint.com/sites/Test/Documents/newdoc.aspx?PageView=Shared&ToolPaneView=2

You will now be able to see the Edit drop down on all the web parts although it may look a little wonky.

Fix Error "Microsoft Dynamics CRM Mail Merge is already running"

When trying to do multiple mail merges I many time get a pop-up error stating "Microsoft Dynamics CRM Mail Merge is already running". Here is how to fix it.


Close out of Internet Explorer, Word, and Outlook. Yah I know it sounds easy but It took me a while to figure out since I kept Internet Explorer open to seach on how to fix the problem :)

You can also find out more information on how to troubleshoot common CRM 4.0 mail merge problems in this Microsoft Knowledge Base article.

http://support.microsoft.com/kb/946273

--Rick

CRM 4.0 - System Jobs always stuck in "Waiting"

I had just re-isntalled CRM so that I could set it up as an IFD (Internet Facing Deployment) server. Also CRM is set up through an ISA firewall and using SSL. I had to update several fields in the MSCRM_CONFIG database just to get everything to work correctly. I will post another entry with how to get everything workign in IFD mode through ISA correctly.

Now here is what happened.... So one day I was running some test marketing campaign e-mails from CRM and I noticed they were not being sent out. I checkout out the system job page and noticed they were all stuck in the Waiting condition. I tried moving them to Resume but they would just go back into the Waiting condition.

I looked around the web and found out that apparently I had missed a database field update that was not included on the website I found that talked about IFD setup. It's "AsyncSdkRootDomain" and can be found under the DeploymentProperties table.

Here is how to fix it. I have pieced this together from several other people who's pages are linked below.

-Run this SQL command to see your current settings:

Select NVarCharColumn
from DeploymentProperties
where ColumnName='ADSdkRootDomain'
or ColumnName='ADWebApplicationRootDomain'
or ColumnName='AsyncSdkRootDomain';


-You will most like get results that look like this.. where <server> is your server name, and $lt;port> is the port number you are running the CRM website under:

'<server>:<port>'
'<server>:<port>'
''


-Run the follow SQL script to update the value for "AsyncSdkRootDomain". Make sure to replace with your server name and with the port number you are running your CRM website under.

Update DeploymentProperties
Set NVarCharColumn = '<server>:<port>'
Where ColumnName = 'AsyncSdkRootDomain';

-Now restart IIS (open a command prompt and run IISRESET)
-Restart the CRM Async service on the server.

You should be back up and running smoothly.

Here are the articles I read that gave me all the info in this article:
http://www.sadev.co.za/node/155
http://www.themssforum.com/Crm/System-Jobs/

Set up CRM 4.0 Authentication in ISA Server

So you have CRM 4.0 and ISA server. You also want to use the IFD (Internet Facing Deployment) feature of CRM. Well here is what you need to know. This information helped me and I will update and add to it soon....

Taken from original posting: http://forums.microsoft.com/Dynamics/ShowPost.aspx?PostID=2915997&SiteID=27

1. Enable just Basic HTTP Authentication on the Web Listener in ISA
2. In the Authentication tab of the Firewall Policy for the CRM, select "No authentication, but client may authenticate directly".
3. In the To tab of the Firewall Policy for the CRM, make sure "Foreward original host header" and "Requests appear to come from the original client" is selected.
4. In the Users tab of the Firewall Policy for the CRM, make sure it is "All Users" Instead of "All Authenticated Users" (CRUCUAL STEP)
5. Apply the settings in ISA.
6. Now go to "Internet Settings" on the client computer, and navigate to the security tab.
7. Click custom level on the trusted site, and scroll to the very bottom and select “Automatic logon with current user name and password”.
8. Add the CRM url to the trusted sites without the prefix (aka. not http://crm.company.com and just crm.company.com).
9. Navigate to http://crm.company.com and type in your login credentials. AND CLICK REMEBER PASSWORD.
10. Run the configuration wizard, and it should work

Hope this helps, I was struggling with this for days and nights.

E-mail me at bkootnekoff@gmail.com This e-mail address is being protected from spambots. You need JavaScript enabled to view it if you guys run into any more issues.

Brennan

Blank Page With JavaScript Error 'Object Expected'

I had just installed reporting services and the reporting services connector. Suddenly my CRM web client is only showing me a blue screen and will not go to the main page. My office neighbor could see the screen but no images were being displayed.

There was a javascript error that said the following:

Error on page
Line: 194
Char: 1
Error: Object expected
Code: 0
URL: http://localhost:5555/orgname

Here is what I did to fix:

-Go into the IIS Manager and select properties for the CRM Website.

-Remove Anonymous access from the site.

-Apply the properties

-Go back in and turn Anonymous access back on and re-apply the change.

Now navigate back to your site. Voila! It worked for me.

cPanel - Backup

After having my e-mail accidentally removed and LunarPages.com charging me $75 dollars to have it restored I created a backup script to download the automated cPanel backups. I found a lot of other backups on the internet that used PHP and Perl to do this but since I was using cPanel proxy they would not work.

This script can be set up using windows scheduling service. I have it run one a week. Additionally using the /d switch and the 'backups' setting you can make it delete old backups. Eg. If you want to keep the 3 most recent backups then set the 'backups' equal to 3. Please let me know if you have any comment or suggestion for this script.

Click here to download

cPanel/Horde - Proxy

If you are like me and work in the corporate world you are restricted to ports 80 and 443. I found this great php program that will allow you to run cPanel and Horde on port 80.

Click here to go to the developer’s site and download the program

http://sourceforge.net/projects/cpanelproxy/

Expand a VHD drive and partition - "How To & Video"

When creating a virtual hard drive in Microsoft Virtual PC the default drive size is 16GB. This seems like a lot of space but it quickly dwindles as you do development. Typically I set the drive size to something much larger if I'm creating the virtual machine from scratch. Unfortunately many times I use SYSPREP images to speed up the process and these images are set to the default 16GB. In order to expand these drives out there are two tools which you need.

Tools

The first tool you will need is VHD Resizer. This tool allows you to expand the size of the VHD file and also change it from fixed size to dynamic or vice versa.

Download VHD Resizer (requires free registration)

The second tool required is the Gparted LiveCD. This is an open source tool that can be used to increase the size of the partition on the drive after you have increased the VHD size.

Download GParted LiveCD ISO Image

GParted Homepage

Demonstration


Excel Services Compatibility Checker

A while back I had a customer who wished to use Excel Services to do some project reporting dashboards. After initially uploading the Excel file and configuring Excel Services accordingly I tried opening it with the Excel Web Access web part. The follow error appeared on the screen.

This and many other things within Excel that can cause similar errors including adding images or query tables. If you are using one excel sheet to populate several dashboard it can extremely frustrating when a simple change to your Excel file causes them all to display an error screen.

After searching around for a while I came upon the Excel Services Compatibility Checker. This tool is available as a download and it allows you to determine what items within your Excel file will cause Excel Services to error out before you upload the file. Thus avoiding the annoyance of all your dashboards breaking because someone though it would be cool to add an image to the file.


Click here for the Excel Services Compatibility Checker download page.
Click here for information on the most recent build of the tool.

Wednesday, August 19, 2009

SQL Server Integration Services (SSIS) Development Tips

Here are some SSIS devlopment tips and tricks.

-Before debugging your solution re-save it or Visual Studio is more likely to crash.
-Editing package configuration documents in Visual Studio (Click Here)
-Making SSIS packages portable. (Click Here)
-more to come...

Monday, August 17, 2009

CRM 4.0 Development Tips

Here are a list of items to think about when developing.

Entities:
-Add an informaiton bar to the form form. (Click Here for Instructions)
-Update SiteMap Description field. These descriptions are displayed in the Outlook client.(

Workflows
-If you re-deploye a custom workflow activity dll you may need to delete and recreate those steps in the workflows which were using it.
-Web Services: When you are in the Execute method of a workflow you do not need to specify all the connection items to connect to the CRM web services. All that information is already there you just need to create a new instance of the service. (Example)

Other:
CRM Tools Blog: This site offers a collection of tools that I find very useful and time saving when developing in CRM.