Request a topic or
contact an Arke consultant
404-812-3123
Arke Systems Blog | Useful technical and business information straight from Arke.

Arke Systems Blog

Useful technical and business information straight from Arke.

About the author

Author Name is someone.
E-mail me Send mail

Recent comments

Archive

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2024

Hiding and Changing Left Navigation Items in CRM 4.0 Entity Screens

First off, I want to give a big thank you to Jeremy Winchell for writing up the post that got me started in the right direction for this solution.

For those of you that customize Microsoft Dynamics CRM 4.0, like I do, then likely one of the things you repeatedly run into is clients and users that need to have better names for their actions.  Changing these names on the main navigation page relatively simple, but what about on all the other pages, like Contacts, Accounts, etc.?  These, for whatever reason Microsoft had, aren't removable or changeable.  It's a really painful oversight to have to tell a client that even though you have renamed "Products" to "Hardware", they're going to have to remember that it's still going to be "Products" in a few places.  Hopefully the next version of CRM will have the capability to alter and remove these natively, but until then, we'll have to roll our own.

 Warning, the following actions are not supported or even documented by Microsoft.  Use at your own risk.

Now that the disclaimer is out of the way, let's take a look at the meat of the solution.  First, go to the customization area of the Entity you want to change, and open its form view.  In there, click Form Properties and enable JavaScript for the OnLoad action.  The link above has pictures if you're not sure how to get there.

Now you will need the JavaScript:
document.getElementById("%variableName%").style.display = "none"

So in this line, %variableName% is the variable related to the button on the left-hand nav.  “none” will hide this element entirely.  (Also, make sure if you copy and paste that you don’t end up with retarded Word-style quotes.  That happened to me and I spent 10 minutes trying to find a typo in my code)

If you want to change the display name of a button, then you have a bit more work to do.

Again, the JavaScript:
document.getElementById("%variableName%").innerHTML= "<img src=\"%imageLocation%\" /> %displayName%";

Here, you will see that we’re using innerHTML to actually change the content of that button.  Now you don’t have to have the image code in here, but if you leave it out, then your link won’t have an image anymore, and will just be text.  If you want to keep the image, the best thing I have found is to use the IE Dev Toolbar and then look at that button’s properties (to get the IE Dev toolbar on a popup screen, hit Ctrl+N).  You will see the link to the default image there.  This is going to be different for every CRM install, so I have not included it on the table below. Then just change the Display Name with whatever you want the button to actually say, and you’re set!  Note that the quotes around the image location have to be escaped.

Below is a list of the links, their variable names, and their default Title.  From there, making changes to the left nav of any entity in CRM should be simple.   You will see repeats of some.  The reason for that is because MS was not 100% internally consistent in its naming scheme.  For example, Cases is IDed by both navService and navCases, depending on where you are.  For those, I would either try both, or check on the screen itself.

Link

Link ID Name

Default Title

Activities

navActivities

View Activities

Campaign Activities

navCampaignActivities

View Campaign Activities

Campaign Responses

navCampaignResponses

View Campaign Responses

Campaigns

navCampaignsInSFA

View Campaigns

Campaigns

navCampaignsInList

View Campaigns

Cases

navService

View Cases

Cases

navCases

View Cases

Competitors

navComp

View Competitors

Competitors

navComps

View Competitors

Contacts

navContacts

View Contacts

Contacts Excluded

navBulkOperationFailures

View Contacts Excluded

Contacts Selected

navTargetedMembers

View Contacts Selected

Contract Lines

navContractLines

View Contract Lines

Contracts

navContracts

View Contracts

Documents

navDoc

View Documents

E-mail Messages Created

navBulkOperationSuccesses

View E-mail Messages Created

Existing Products

navExistingProducts

View Existing Products

History

navActivityHistory

View History

Information

navInfo

View general information about this record

Invoices

navInvoices

View Invoices

Marketing List Members

navListMember

View Marketing List Members

Marketing Lists

navListsInSFA

View Marketing Lists

More Addresses

navAddresses

More Addresses

Opportunities

navOpps

View Opportunities

Orders

navOrders

View Orders

Other Contacts

navContacts

View Other Contacts

Planning Tasks

navTasks

View Planning Tasks

Price List Items

navPrices

View Price List Items

Products

navProducts

View Products

Quick Campaigns

navMiniCampaignsForList

View QuickCampaigns

Quotes

navQuotes

View Quotes

Related Campaigns

navCampaigns

View Related Campaigns

Relationships

navRelationships

View Relationships

Sales Literature

navCollaterals

View Sales Literature

Sales Literature

navSalesLit

View Sales Literature

Sub-Accounts

navSubAct

View Sub-Accounts

Sub-Contacts

navSubContacts

View Sub-Contacts

Substitutes

navSubs

View Substitutes

Target Marketing Lists

navTargetLists

View Target Marketing Lists

Target Products

navTargetProducts

View Target Products

Workflows

navAsyncOperations

View Workflows

Write-In Products

navWriteInProducts

View Write-In Products

 

So now you should have all the tools you need to customize the Entity Screens into something useful for your clients and users.  And don't forget, if you break something, you can always just delete the JavaScript and start over.


Posted by Wayne Walton on Tuesday, October 14, 2008 2:30 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Server 2008 Enterprise on Virtual PC 2007

Microsoft has updated Virtual PC 2007 to support a few more guests.  One of those guests is Windows Server 2008 Standard.  I bold a very important word there.  Windows Server 2008 Enterprise will install in a VM, but after that, most everything won't work.  Windows Update fails, Internet Explorer crashes.  Most importantly, SQL Server 2008 won't install, and it will throw an error saying that your .NET 2.0 version is incorrect.

So make sure that if you're putting VPC images of Server 2008 together that you're using Server 2008 Standard, the only version supported on Virtual PC 2007.  Also, if you're still having trouble, make sure your VPC version is 6.0.192.0.  The older versions don't work right with Server 2008 at all.


Categories: Server 2008
Posted by Wayne Walton on Wednesday, September 24, 2008 12:50 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Reporting Services issues with CRM on Windows Server 2008

I recently tried installing CRM on a Windows Server 2008 machine.  I ran into a couple issues described below, along with their fixes.  I threw these notes down, so I may be missing something.  But hopefully, it'll be a start for anyone setting this up on Server 2008.

 

The migration error:

Make sure that the application pool that Reporting is running under is in Classic Mode.

 

401.2 errors:

I fought with this one for a while.  There are a couple of things you'll need to do:

  • Make sure that all authentication modes except for "Windows Authentication" is disabled.
  • Make sure that the App Pool user is a local admin on the machine

Unable to connect to the reporting service:

You'll need to open the RSWebApplication.config file located in the ReportsManager folder.  Remove the value from the <ReportServerVirtualDirectory> field and enter the full url without the ending / in the <ReportServerUrl> field.  For example: <ReportServerUrl>http://reports.contoso.com/ReportServer</ReportServerUrl>

 

When I tried installing CRM 4.0 I got the following error during installation:

"Action microsoft.crm.setup.server.rsconfigaction failed. The specified path is not a metabase path."

The solutions is addressed in the following KB article:

KB947060

Specifically, you need to add the <reportserverurl> configuration entry.  Very similar to what we had to do earlier with reporting services.


Posted by trenton adams on Monday, September 8, 2008 7:07 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Upgrading to Subversion 1.5.* on a Debian Box

  1. # apt-get clean
  2. Edit the following configuration file  /etc/apt/apt.conf.d/70debconf
  3. Add the following line to the configuration file:
    1. APT::Cache-Limit "16777216";
  4. Save and Exit
  5. Edit the following configuration file /etc/apt/sources.list
  6. Add the following two lines: 
    1. deb http://ftp.us.debian.org/debian/ sid main 
    2. deb-src http://ftp.us.debian.org/debian/ sid main
  7. Save and Exit
  8. # apt-get update
  9. # apt-get install subversion

Posted by trenton adams on Saturday, September 6, 2008 3:41 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Resetting the Mac Mini

I recently upgraded our office Mac Mini from 1GB of RAM to 2GB.  Afterwards I was having a number of issues with the machine.  Event with Macs using the Intel chipset there are still a number of differences in the system and startup procedures.  The Mac has a number of system controllers that cache settings, and occasionally become corrupt.  In the PC world, we don't have to worry about this, so it doesn't come directly to mind that you have to reset these controllers after making changes.

Resetting the Mac Mini:

Parameter RAM (PRAM) and Nonvolatile RAM (NVRAM):    Hold down Option-Apple-P-R while turning the power on.  Continue to hold until you hear the start sound twice. http://support.apple.com/kb/HT1379

Symptoms of corrupted PRAM/NVRAM - System unresponsive, Will not go past the Apple Load screen, frequent crashes or video problems.

 

System Management Controller (SMC):    Unplug all the cables (power, video, keyboard, etc.) from the mini.  Wait 15 seconds plug all cables back in.  DO NOT Hold down the power button while plugging in the power cable.  Turn on the mini. http://support.apple.com/kb/HT1543

Symptoms of corrupted SMC:  Fan runs constantly and loudly.  Performance problems. Computer sleep problems.

 

 

Power Management Unit (PMU) on older minis:    Unplug all the cables (power, video, keyboard, etc.) from the mini.  Wait 10 seconds plug all cables but the power cable back in.  Hold down the power button while plugging in the power cable.  Release the power button. Turn on the mini http://support.apple.com/kb/HT2183

Symptoms of corrupted PMU.  System won't start, peripherals won't work.


Categories: Mac | OSX
Posted by trenton adams on Friday, August 15, 2008 3:45 PM
Permalink | Comments (0) | Post RSSRSS comment feed

WSS 3 Tool Version 1.2 for Visual Studio 2008 Released

Tools for developing custom SharePoint applications: Visual Studio project templates for Web Parts, site definitions, and list definitions; and a stand-alone utility program, the SharePoint Solution Generator.

http://www.microsoft.com/downloads/details.aspx?FamilyID=7BF65B28-06E2-4E87-9BAD-086E32185E68&displaylang=en


Posted by eric stoll on Friday, June 27, 2008 1:48 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Troubleshooting IIS Authentication Problems - 401.1 HTTP Error

I ran into a strange authentication problem in IIS on Windows Server 2003 SP1.  The website is configured for integrated authentication only.  I can authenticate and access the website no problem from any workstation on the network.  But from the console, I cannot access the website--it gives me a 401.1 HTTP error.  Strange.  The server can talk to the domain because I logged into the machine.  DNS looked good.

I ran across this little utility called AuthDiag.  http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en

AuthDiag directed me to a strange error message in the security logs, which led me to this KB article.

http://support.microsoft.com/default.aspx?scid=kb;en-us;896861

Specifically from the article...

This issue occurs if you install Microsoft Windows XP Service Pack 2 (SP2) or Microsoft Windows Server 2003 Service Pack 1 (SP1). Windows XP SP2 and Windows Server 2003 SP1 include a loopback check security feature that is designed to help prevent reflection attacks on your computer. Therefore, authentication fails if the FQDN or the custom host header that you use does not match the local computer name.

I decided to go with option 1 and set DisableLoopbackCheck to 1 and this fixed my problem.


Posted by eric stoll on Thursday, June 26, 2008 9:49 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Troubleshooting CRM 4 Issues

CRM can be challenging to troubleshoot with log files scattered across several servers and often underlying problems that don't even appear in the logs.  I stumbled upon this diagnostic tool that was helpful in finding the problem with an SRS install.  Enjoy!

http://blogs.msdn.com/benlec/archive/2008/03/04/crmdiagtool4-for-microsoft-crm-4-0-has-been-released.aspx


Posted by eric stoll on Wednesday, June 25, 2008 7:21 PM
Permalink | Comments (0) | Post RSSRSS comment feed

DotNetNuke Endless Redirects

I just wanted to post a little tidbit about the newer versions of DNN.  Specifically, I just installed DNN 4.8.4.  It went through the install process just fine and after that I tried to open the home page of the default portal.  I got stuck in an endless loop of redirects back to the home page.  In previous versions of DNN, this behavior was usually a result of a misconfigured PortalAlias table.  After spending time troubleshooting it from that angle I had to just start debugging the code.  I found a gem in the Page_Error handler in PageBase.vb that was causing my issue.

 

If objBasePortalException.Message.Contains("System.Web.Extensions") Then
    ' suppress AJAX error in Medium Trust
    Response.Redirect(strURL)

 

Googling for the exception message led me to this post http://www.dotnetnuke.com/Community/Forums/tabid/795/forumid/111/threadid/200731/scope/posts/Default.aspx.  Because I am using VS2008, my solution was to change the web site build settings to target the 3.5 framework instead of 2.0 so that the build would include references to ASP.NET AJAX.  Changing the build target to 3.5 fixed the problem.


Posted by eric stoll on Thursday, June 19, 2008 6:18 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Firefox 3 Release Tomorrow

Tomorrow, June 17th, is the long-awaited release of Firefox 3.  I have been using version 3 for quite a while now, and I've been using it at work since the Developer Tools were made compatible. It vastly improves both its performance and memory footprint over version 2, so the biggest complaints people have had about Firefox should be resolved.

Also, for you Opera users, 9.5 is out as well.


Posted by Wayne Walton on Monday, June 16, 2008 11:41 AM
Permalink | Comments (0) | Post RSSRSS comment feed