Monday, November 10, 2008

Javascript function for Yes/No Message box

The message box used here is a VB message box. to use VB in JScript, execScript function is used.

function window.confirm(str)
{
execScript("n = msgbox('" +str+ "','4132', 'Title')", 'vbscript');
return( n == 6);
}

.Net to Javascript Conversion Tool

http://www.stunnware.com/crm2/topic.aspx?id=JSWebService

JScript Scripts for User info and User Roles for Client Side

based on some sources and my alterations:
Bill Owens : http://billoncrmtech.blogspot.com/2008/07/client-side-scripting-retrieving.html
Ronald Lehman : http://ronaldlemmen.blogspot.com/2006/05/finally-there-show-and-hide-fields.html

function getUserRoles( userId)
{
try
{
var command = new RemoteCommand("UserManager", "GetUserRoles");
command.SetParameter("userIds", "" + userId + "");
var oResult = command.Execute();
if (oResult.Success)
{
return oResult.ReturnValue;
}
}
catch(e)
{
alert("Error while retrieving roles.");
}
return null;
}
function userHasRole( userId, roleName, roles)
{
if ( roles == null)
roles = getUserRoles( userId);
if (roles != null)
{
// alert( result);
var oXml = new ActiveXObject("Microsoft.XMLDOM");
oXml.resolveExternals = false;
oXml.async = false;
oXml.loadXML( roles);
roleNode = oXml.selectSingleNode("/roles/role[name='" + roleName + "']");
// alert( "roleNode = " + roleNode );
if (roleNode != null)
{
// if (roleNode.selectSingleNode("roleid[@checked='true']") != null)
if (roleNode.selectSingleNode("roleid") != null)
return true;
}
}
return false;
}

function getUserData()
{
var xml = "" +
"" +
"" +
GenerateAuthenticationHeader() +
" " +
" " +
" " +
" systemuser" +
" " +
" " +
" businessunitid" +
" firstname" +
" fullname" +
" lastname" +
" organizationid" +
" systemuserid" +
"
" +
"
" +
" false" +
" " +
" And" +
" " +
" " +
" systemuserid" +
" EqualUserId" +
"
" +
"
" +
"
" +
"
" +
"
" +
"
" +
"
" +
"";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
var resultXml = xmlHttpRequest.responseXML;
var entityNode = resultXml.selectSingleNode("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");
var firstNameNode = entityNode.selectSingleNode("q1:firstname");
var lastNameNode = entityNode.selectSingleNode("q1:lastname");
var fullNameNode = entityNode.selectSingleNode("q1:fullname");
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid");
var businessUnitIdNode = entityNode.selectSingleNode("q1:businessunitid");
var organizationIdNode = entityNode.selectSingleNode("q1:organizationid");
var result = new Object;
result.firstName = (firstNameNode == null) ? null : firstNameNode.text;
result.lastName = (lastNameNode == null) ? null : lastNameNode.text;
result.fullName = ( fullNameNode == null) ? null : fullNameNode.text;
result.userId = (systemUserIdNode == null) ? null : systemUserIdNode.text;
result.unitId = (businessUnitIdNode == null) ? null : businessUnitIdNode.text;
result.organizationId = (organizationIdNode == null) ? null : organizationIdNode.text;
return result;
}

Sunday, October 5, 2008

CRM and SQL Execution

Accessing a SQL Database from a Microsoft Dynamics CRM Plug-in. Shows also how to impersonate users in SQL using "EXECTE AS LOGIN=" command.

CRM sites

Top 14 Microsoft Dynamics CRM Sites and Downloads

CRM and E-mail router on Exchange

Microsoft Dynamics CRM E-mail Router and Exchange 2007: Keeping it Secure

Email router configuration XML file explained

CRM and Reporting services

How it Works: SQL Server Reporting Services and Dynamics CRM
http://blogs.msdn.com/crm/archive/2008/07/18/how-it-works-sql-server-reporting-services-and-dynamics-crm.aspx

CRM Screen casts

Microsoft Dynamics CRM Interviews and Screencasts from July 2008

Microsoft Dynamics CRM Online Video Gallery from July 2008

Blog Posts on CRM Accelerators due in Q3 2008

CRM Accelerators – Part I – Analytics Accelerator

CRM and ISA server

Publishing Microsoft CRM 4.0 through ISA Server 2006 : Blog post on CRMBlog

CRM and Instant Messaging

Tracking Instant Message Conversations in Microsoft Dynamics CRM, using MS Office Communicator.

CRM Programmed Custom Workflow

Custom Workflow Activity for matching email addresses to customers

Saturday, October 4, 2008

Handling Effects of Using AsyncOperation in CRM

Post on Managing size of AsyncOperationBase table in CRM 4.0.
http://blogs.msdn.com/crm/archive/2008/07/29/managing-size-of-asyncoperationbase-table-in-crm-4-0.aspx

Videos on CRM joint with and other MS products

Created by Girish Raja and Ben Riga.

http://blogs.msdn.com/crm/archive/2008/08/18/the-dynamics-duo-dynamics-super-heroes.aspx

Offline and Online Synchronization in Microsoft Dynamics CRM

article that explains Offline and Online Synchronization in Microsoft Dynamics CRM

Data Migration Manager Tips and Tricks

http://blogs.msdn.com/crm/archive/2008/09/02/data-migration-manager-tips-and-tricks.aspx

Managing a telemarketing campaign Blog Post

Managing a telemarketing campaign by Guy Riddle.

Explanation on Excel Pivot Table uning Reports in CRM

The explanation includes adding the excel file to the reports in the CRM and integrating them into the CRM environment.

http://blogs.msdn.com/crm/archive/2008/09/26/simplified-pivot-table-integration.aspx

Intrenet Facing Deployment Basics

http://blogs.msdn.com/crm/archive/2008/09/19/internet-facing-deployment-ifd-installation-basics.aspx

Sonoma : Mobility Webinar recorded

https://www117.livemeeting.com/cc/sonomapartners1/view?id=CJ8J7G

Explanation on CRM import by Sonoma

Sonoma blog entry : Known issues and related support articles for Outlook client in CRM 4.0

http://blog.sonomapartners.com/2008/03/using-the-nativ.html

Sonoma partners detailed Recent Known issues and related support articles for Outlook client in CRM 4.0

Known issues and related support articles for Outlook client in CRM 4.0
http://blog.sonomapartners.com/2008/06/known-issues-an.html

Saturday, February 16, 2008

CRM downloads

all recent downloads :
http://rc.crm.dynamics.com/rc/regcont/en_us/op/articles/downloads.aspx

Microsoft Dynamics CRM 4.0 Demonstration Tools :
http://blogs.msdn.com/mscrmfreak/archive/2008/02/04/available-microsoft-dynamics-crm-4-0-demonstration-tools.aspx

download the tool here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=634508DC-1762-40D6-B745-B3BDE05D7012&displaylang=en

Demonstration tool:
http://download.microsoft.com/download/1/5/7/1577a806-a5dd-4f4b-9f48-791dc86c09da/MSDYCRM40_Demonstration%20Tools.exe

Change User language

use sql statement :

update usersettings set UILanguageId = 1037

Problem when activating a Language pack

A Workaround for failure in MUI Provisioning. After installing the language pack and trying to activate the language in the system, you get an error and the event in event viewer is telling this error :

MUI Provisioning failed. Error: Cannot insert duplicate key row in object 'dbo.LocalizedLabel' with unique index 'ndx_LocalizedLabel_ForSingleSelect'.
The statement has been terminated.

the solution is to execute the statement in the organization MSCRM database:

DELETE FROM MetadataSchema.LocalizedLabel WHERE customizationlevel = 2

It seems that the problem was submitted to MS support and there should be a hotfix.

this is taken from these post :
http://blogs.msdn.com/mscrmfreak/archive/2008/02/02/mui-provisioning-failed-workaround.aspx
http://blogs.msdn.com/mscrmfreak/archive/2008/01/10/available-dutch-language-pack-for-microsoft-dynamics-crm-4-0.aspx#7379061 ( look in the comments)

Wednesday, February 6, 2008

Disabling IIS Loopback Check

An Article that describes the procedure :
Error message when you try to access a server locally by using its FQDN or its CNAME alias after you install Windows Server 2003 Service Pack 1: "Access denied" or "No network provider accepted the given network path"


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

Saturday, February 2, 2008

Using CLR Integration in SQL Server 2005

Enabling CLR on sql server 2005 command :
EXEC sp_configure @configname = ’clr enabled’, @configvalue = 1
RECONFIGURE WITH OVERRIDE

Discussion on CLR Integration in SQL Server 2005 benefits and alternatives
http://msdn2.microsoft.com/en-us/library/ms345136.aspx

An Intro to CLR Integration in SQL Server 2005 By Sahil Malik
http://www.developer.com/net/net/article.php/3528601

Simple SQL CLR Integration By Amit Anajwala : Simple how to for begginers
http://www.sqlservercentral.com/articles/Development/simplesqlclrintegration/2023/

Using CLR Integration in SQL 05 for Writing Stored Procedures By Jesse Smith.
http://www.informit.com/articles/article.aspx?p=715008


Series of articles on developer.com By Sahil Malik

1. Writing Database Objects in CLR
http://www.developer.com/net/net/article.php/3548331

2. Writing Database Objects in CLR: Advanced Scenarios
http://www.developer.com/net/net/article.php/3550341

3. Solving the Mysteries of SQLCLR and System.Transactions
http://www.developer.com/net/net/article.php/3556571

Saturday, January 12, 2008

Presentation for Developing CRM 3

PDF format
http://download.microsoft.com/documents/australia/teched2005/BI209_Patterson.pdf

CRM Internet facing Deployment problems

Check this blog. The poster had some problems and fixed them using database settings.
The main fix is to set the server FQDN name in the database.

http://www.sharepointy.com/Lists/Categories/Category.aspx?Name=CRM%204%2e0

CRM Queue Gadget

Gadget that monitors a user Queue in CRM
created by Akezyt and hase a link to source on getDotNet

http://blogs.msdn.com/akezyt/archive/2007/08/03/crm-queue-gadget.aspx

Tuesday, January 1, 2008