Monday, October 28, 2013

Microsoft Dynamics CRM 2013 Adding a custom button to the Home Grid

 

Today I received a call from a customer that had been upgraded to Microsoft Dynamics CRM 2013, and was looking for the custom buttons we created on MS Dynamics CRM 2011 and now with the upgrade they are not display or not showing for the Entity Home Grid.

Immediately went and  look for the buttons and realized the custom button  was not available anymore, the JavaScript web resource the button called was there and enabled, next on my plan was to add the buttons back.

In this case I when and look for a CRM 2013 Ribbon tool, and found a beta version for Ribbon Work Bench 2013, that help me to create the buttons I need for the customer

Develop1 – Ribbon Workbench for CRM 2013

Ribbon0

The only limitation is that by default the entity will only display 5 elements (buttons) on the navigation at any time, so depending on the need the button will need to move back to the initial of the list, in the other case it will end up on the “…” list items

Let me show you about this limitation or what I called the Quick 5.

Ribbon1

Not on the Quick 5 buttons

Ribbon2

 

Hope this will help you in the same way help me to understand the new CRM 2013 UI and Navigation.

 

Abe Saldana

This is my personal opinion and not represent my employer or Microsoft

CRM 2013 Custom Site Map section and Ribbon Button

 

Working on updating and upgrading solutions to the new UI for CRM 2013, we encounter that the customer and sometimes even us (Developers and Customizers) are lost in the new CRM 2013 navigation, and need to remember where we put the custom entities and how the development was assigned to the original sections (Sales, Service, Marketing, Settings). for that reason I used the Sitemap tool and created a section called “Custom Area” and added the custom entities to that section or tab.

These are some of the screen shots I got for the  demo version I created as a proof of concept

NAVIGATION1

then next I was able to add custom entities to the navigation tab

NAVIGATION2

when I created the Sitemap I was able to see the custom area as part of the entity definition and configuration, also I was able to assign the custom entity or other entities to the same custom area, like in the previous screen shoot I was able to assign the Account entity.

NAVIGATION3

 

Using the SiteMap tool (XRMToolBox by Tanguy92 )

The sitemap tool used to customize the navigation was a CRM 2011 version, so you can use the tool and make updates to  CRM 2013

 

NAVIGATION4

 

Our customer is now happier to find the custom entities and related information on a single location.

This will help is some cases, however having an option for the customer to continue be productive and not to be looking all over the navigation and try to remember the location that was on the previous version site map; at the end is better to have a happier customer than been annoyed by the upgrade.

 

Abe Saldana

This is my personal opinion and not represent my employer or Microsoft.

Friday, September 27, 2013

How to add a Subgrid Ribbon Context Button to Update a field using oData!

I got the request on one of my projects for Dynamics CRM 2011, to add a button for the subgrid context, that when the user selected one of more than one record the button will be enable and the button will update one of the status fields for the Event Attendance, not the most common thing for me, however I decided to tackle the request.

I used the following Tool Visual Ribbon Editor, and you will see screenshots for the button configuration.


























Created the Button and called "Attendance", the next step is to create the Actions and the Enable Rules















in the actions I created a JavaScript function with the name "processrecords" a lot of imagination on the function name. Added to the library EventAttendee_Ribbon.js  web resource file, and the most important part was the CRM Parameter


Cmd Parameters: SelectedControlSelectedItemIds (this will pass the parameters for the function and then assign the Grid Selected ID’s)






















Next the options for Enable the button when selecting 1 or more records from the subgrid.

Applies to: SelectedEntity
Maximum:
Minimun: 1

























Save and Publish the button configuration, update the web resources for the JavaScript

Testing the Button and selecting a couple of records


















Final Test Results and Validation.




















The following is the Javescript code I used to update the values for the record. the code was using oData and JQuery to update the selected records.

 in the same web resourse file I included the Jquery.js, also the SDZK.Rest.js and finally the code on the next image



Hope this help you in your projects.


Abe Saldana.





Thursday, September 26, 2013

Dynamics CRM 2013 Search for available content!

Looking for more thing related to the new Microsoft Dynamics CRM 2013 release and what new documentation I can find, had to make a search with the following results.

Check the results:

Dynamics CRM 2013 Search results

You will find documentation for:

  • Microsoft Dynamics CRM 2013 Implementation Guide
  • Microsoft Dynamics CRM 2013 performance counters
  • Connectivity and Firewall Port Requirements for Microsoft Dynamics CRM 2013
  • Using multi-tenancy in Microsoft Dynamics CRM 2013 to address challenges in enterprise business environments
  • Microsoft Dynamics CRM 2013 Software Development Kit (SDK)
  • Microsoft Dynamics CRM 2013 Custom Code Validation Tool


Abe Saldana

Thursday, July 28, 2011

Update Rollup 3 for Microsoft Dynamics CRM 2011 is available

 

Update Rollup 3 for Microsoft Dynamics CRM 2011 is available.  you can find the download  on the following location:

http://www.microsoft.com/download/en/details.aspx?id=26912

Rollup Summary information

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

The build number of the update packages for the following components is 5.0.9688.1244.

The file names for the 32-bit versions of the update rollup packages are as follows:

  • CRM2011-Client-KB2547347-LangID-i386.exe
  • CRM2011-Router-KB2547347-LangID-i386.exe
  • CRM2011-Bids-KB2547347-LangID-i386.exe
  • CRM2011-Mui-KB2547347-LangID-i386.exe
The file names for the 64-bit versions of the update packages are as follows:
  • CRM2011-Server-KB2547347-LangID-amd64.exe
  • CRM2011-Client-KB2547347-LangID-amd64.exe
  • CRM2011-Mui-KB2547347-LangID-amd64.exe
  • CRM2011-Router-KB2547347-LangID-amd64.exe
  • CRM2011-Srs-KB2547347-LangID-amd64.3exe

 

Highlights of Update Rollup 3

·         69 total fixes

·         24 customer-escalated issues (see KB for details)

 

 

 

Abe.

Tuesday, July 19, 2011

Performance Toolkit for Microsoft Dynamics CRM 2011

My customer was reminding me about server performance, looking for answers I got internally (Microsoft) the Performance Toolkit for Microsoft Dynamics CRM 2011, the following is the external (partner) link for the Performance Toolkit

http://dynamics.pinpoint.microsoft.com/en-us/applications/performance-toolkit-for-microsoft-dynamics-crm-2011-12884915630

Press the “Try It” button on the left column,  to login and download.

Application Description

“The Performance Toolkit is designed to formalize performance testing for Microsoft Dynamics CRM 2011. This Toolkit is highly customizable and can be used by Microsoft Dynamics CRM partners and customers to collect performance data to support decisions related to their CRM 2011 on-premise deployments”

Abe.

Building a CRM 2011 Virtual Machine–Video Walkthrough

Working on a customer site, I was in the need to create a Virtual Machine to test a CRM 2011 deployment, I was looking on my notes and found the following link on how to create a CRM 2011 Virtual Machine step by step, I was able to get my VM up and ready faster than me looking to my old notes.

Hope you enjoy the following post from Girish Raja and video form David Yack.

http://blogs.msdn.com/b/girishr/archive/2011/01/26/building-a-crm-2011-virtual-machine-video-walkthrough.aspx

Abe.

Thursday, July 14, 2011

SCOM Management Pack for Microsoft Dynamics CRM 2011 is now Available…

 

The System Center Monitoring Pack for Microsoft Dynamics CRM 2011 enables you to administer the Microsoft Dynamics CRM 2011 application in Microsoft System Center Operations Manager (SCOM) 2007 SP1 and System Center Operations Manager 2007 R2

By managing these Microsoft Dynamics CRM components in Operations Manager, the administrator can respond quickly to critical events and key performance indicators, and take action to prevent service outages, reduce the resolution time for alert conditions, and increase the overall availability and performance of the Microsoft Dynamics CRM system.

Monitoring Pack and Documentation is available on the following location

http://www.microsoft.com/download/en/details.aspx?id=26795

  To import the Monitoring Pack:

  1. On a System Center Operations Manager server, open the Administration console.
  2. Right click on the Management Packs node, and then click Import Management Packs.
  3. Follow the instructions to import the Management Pack.

 

Abe.

Tuesday, July 12, 2011

Returning My Blog to Bloggers and retake blogging..

The time has come to return and continue blogging about Microsoft Dynamics CRM 4.0 and now 2011.

I had been busy working on many projects, some of these are really interesting others are not so much but learning some good tricks and code among other things.

New information and categories will be added to my blog for MS CRM 2011 and PowerShell scripting is now the new way to get thinks done, I will be posting small scripts I been using to deploy CRM 4.0 and 2011 on Windows Server 2008 R2 (64bit) servers.

Keep connected I will be providing more information soon.

Abe.

Friday, February 09, 2007

Purging rows on Princiapl Object Access

[Disclaimer:All postings are provided "AS IS" with no warranties, and confer no rights.]

Purging some tables on Crm is simple as calling the delete service and make sure that everything continues running properly, but when you have more than 10 million rows on one table (PrincipalObjectAccess) how do you will be able to take the delete process on stages?

[MS Crm support response: There is an un-supported option that you could try if you want to get rid of all sharing that is currently setup in CRM. You could directly update the PrincipalObjectAccess table and set the AccessRightsMask and InheritedAccessRightsMask columns to 0. Then we have a deletion service that will go through and automatically clean up that table. This is not technically supported, but if you want to remove all sharing this could be an option that you could do.

Ok that is awesome, but how to identify the rows that are not in use or ready to be deleted.

This is one of the Sql scripts to get the total of rows ready to be deleted and terminated

declare @totalRows int
declare @ToDelete int
declare @ToDeleteMarked int

SELECT @totalRows = count( * )
FROM PrincipalObjectAccess (nolock)

SELECT @ToDelete= count( *)
FROM PrincipalObjectAccess (nolock)
where AccessRightsMask = 0
and InheritedAccessRightsMask > 0

SELECT @ToDeleteMarked= count( *)
FROM PrincipalObjectAccess (nolock)
where AccessRightsMask = 0
and InheritedAccessRightsMask = 0

Select @totalRows as TotalRows,
@ToDelete as ToDelete,
(@totalRows - @ToDelete) as RemainingRows,
@ToDeleteMarked as ToDeleteMarked

Using the previous script will give you the totals only the following script is the one that will update your columns and marked the rows for deletion..

[IMPORTANT: Make sure that you have SQL database backups before trying this and know that you may have to restore your databases if you run into issues. Also this can ONLY be done if you want to remove ALL sharing. There is not a way to leave some sharing intact. ]

SELECT top 500000 *
into #TempPOAFROM
PrincipalObjectAccess (nolock)
where AccessRightsMask = 0
and InheritedAccessRightsMask > 0

update PrincipalObjectAccess
set InheritedAccessRightsMask = 0
where rowguid in (Select rowguid from #tempPOA)

drop table #TempPOA

After finishing marking all the rows for deletion, now you can run the delete service, stop the service (not required) then run the following dos command

C:\Program Files\Microsoft CRM\Server\bin\CrmDeletionService.exe -runonce

[NOTE: -runonce = Clean up database right now.]

we schedule the deletion service to run only once a day, on a business downtime, this process will keep your tables purged and on optimal conditions

regards,
Abe SaldaƱa