Thursday, August 16, 2012

Connecting to CRM online Office 365 From webresource Utility

I was trying to connect to the office 365 env via the webresource utility tool provided in the SDK.

I was getting the error that MetaData Cannot be resolved and i noticed that the URL is pointing to https://dev.orgname.crm.dynamics.com/XRMServices/2011/Discovery.svc

but when i see the actual url for the discovery service in the developer resources section of the customization then its a different url

https://disco.orgname.crm.dynamics.com/XRMServices/2011/Discovery.svc

So to resolve this issue i had to make a minor change in the code for the webresource utility tool. 

Open the webresource utility solution and in the DataAccess folder open ConsolelessServerConnection.cs

locate the method with the below signature
public virtual ServerConnection.Configuration GetServerConfiguration(string server, string orgName, string user, string pw, string domain )

and change  config.DiscoveryUri =
new Uri(String.Format("https://dev.{0}/XRMServices/2011/Discovery.svc", config.ServerAddress));

to

config.DiscoveryUri =
new Uri(String.Format("https://disco.{0}/XRMServices/2011/Discovery.svc", config.ServerAddress));

This will resolve the issue.

We might have to go the same change for other tools also. so just incase if you face similar issue then you can try this


Thursday, July 26, 2012

Encrypt web.cong files


Below are the steps to do this

1) Encrypt appsettings in web.config using Aspnet_regiis.exe
using Aspnet_regiis.exe you can encrypt whole section only not a particular key.so when you need to encrypt a particular key in appSettings things get complicated. Here is a roundabout way of doing this. Modify your web.config



2) Under AppSettings you can add any key value pairs.

Also secureAppSettings is the name i had given. You can give any. Save this web.config file and go to visual studio command prompt

3) Type

aspnet_regiis -pef secureAppSettings  “ur web.config path”  -prov DataProtectionConfigurationProvider


4) In code you can access it as usual

NameValueCollection secureAppSettings = (NameValueCollection)ConfigurationManager.GetSection("secureAppSettings")
String str= secureAppSettings["ipwd"];


For example to decrypt identity section
aspnet_regiis -pdf "system.web/identity" "C:\Inetpub\sampleapplication"



Tuesday, June 19, 2012

Jquery Mobile Dialog when ajax is disabled

Click Here:

Normally, dialog boxes in JQM do not require full HTML pages, just HTML snippets (e.g. :layout => nil) as they are loaded via AJAX and work like jQuery UI dialogs.

However, when you set "$.mobile.ajaxEnabled = false" JQM will no longer load dialogs via ajax, EVEN if you set "data-ajax=true" on the dialog links. That seems like a bug to me, ignoring "data-ajax=true". A patch to fix the problem:
diff --git js/jquery.mobile.navigation.js js/jquery.mobile.navigation.js
index f85a491..181b9c9 100755
--- js/jquery.mobile.navigation.js
+++ js/jquery.mobile.navigation.js
@@ -1322,10 +1322,11 @@
                        var baseUrl = getClosestBaseUrl( $link ),
 
                                //get href, if defined, otherwise default to empty hash
-                               href = path.makeUrlAbsolute( $link.attr( "href" ) || "#", baseUrl );
+                               href = path.makeUrlAbsolute( $link.attr( "href" ) || "#", baseUrl ),
+        isTargetDialog = $link.data("rel") === "dialog";
 
                        //if ajax is disabled, exit early
-                       if( !$.mobile.ajaxEnabled && !path.isEmbeddedPage( href ) ){
+                       if( !$.mobile.ajaxEnabled && !isTargetDialog && !path.isEmbeddedPage( href ) ){
                                httpCleanup();
                                //use default click handling
                                return;

Monday, May 28, 2012

CRM Fetch XML Execute Tool

This tool is developed to execute custom fetch xml to get the results from the connected crm environment
please feel free to post your suggestions to improve this tool

you can find the source code and the executable from the below link.

https://crm2011fetchexecute.codeplex.com/