Tuesday, June 12, 2007

Moving my blog to a different location

Hello! This is my second attempt to setup a blog and use all the available time to continue sharing my CRM development experiences.

Initially I started the blog at crmbuzz.blogspot.com , but I want it to have more flexibility so I got the domain name and created this blog CrmBuzz.net.

I will be porting all the previous post to this blog and continue updating on a weekly basis initially

Stay tuned for more crm buzz.

Check the Articles section you would find information related to the ISV process and SDK Code related solutions


Abe Saldana
http://www.crmbuzz.net
or
http://blog.crmbuzz.net

Tuesday, February 13, 2007

MS Dynamics CRM Analytics Foundation FREE!

What is Microsoft Dynamics CRM Analytics Foundation?

Microsoft Dynamics CRM Analytics Foundation is a business intelligence solution accelerator for Microsoft Dynamics CRM 3.0 customers and partners. With Analytics Foundation, executives can better track and manage business performance with dashboards and KPIs. Managers and employees can create reports quickly and make better decisions. Sales, marketing, and service employees can identify and act on new opportunities to grow revenue and improve business efficiency with predictive analytics.

Analytics Foundation includes an OLAP cube (UDM) built on the default Microsoft CRM 3.0 schema, dashboards for sales and service, and predictive analytics such as product recommendation, lead potential rating, marketing list generation, and more. Analytics Foundation leverages data management and analytics technologies from the Microsoft Business Intelligence suite of products including SQL Server 2005, SharePoint, Business Scorecard Manager, Excel, and PerformancePoint Server 2007 (when available).

Where do I get it?

http://www.codeplex.com/crmanalytics



Sample Screenshots

Figure 1: Service dashboard in SharePoint with scorecards, KPIs, and supporting reports.


Figure 2: Ad-hoc reporting of Microsoft Dynamics CRM 3.0 data in Excel 2007. The spreadsheet is connected to Analytics Foundation OLAP cube (UDM).



Figure 3: Predictive lead potential rating in Microsoft Dynamics CRM 3.0. Automatic scoring of leads is based on their likelihood to convert to successful opportunities.



REQUIREMENTS:
* Microsoft Dynamics CRM 3.0
* Windows Server 2003 Enterprise Edition with Service Pack 1
* SQL Server 2005 Enterprise Edition
* Internet Information Services (IIS)
* Both .NET Framework 1.1 and 2.0
* Office SharePoint Portal Server 2003 or Windows SharePoint Services with SP2
* Business Scorecard Manager 2005 (required for editing and creating new scorecards)
* Visual Studio 2005
* Excel 2007 (recommended)

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



Friday, August 11, 2006

Mycrosoft Dynamics CRM VPC and Documentation

Microsoft Dynamics CRM 3.0 Virtual PC Demonstration

if anybody out there need to use the Microsoft Dynamics CRM 3.0 Virtual PC Demonstration that is available here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=a8edfc7b-01d8-4500-845b-01370d4eed21&DisplayLang=en


I started working with the VPC and making presentations for Management and some key people on the Customer Care department, also I'm using the VPC for development and customization, when I make my custom modifications I keep a log on all the changes (on paper) and then I export all those changes to a shared folder that will make the transition from the VPC to the real Development (QA) server.

Having the capability to make the modifications on this VPC demo version allow me to make faster changes and give me the options that when some thing is finished and tested, I can just close the VPC and erase all changes I made previously so next time I can start from a fresh copy and continue with the customizations

Well at the time I'm waiting for the opportunity so I can make the upgrade from version 1.2 to 3.0, also I been using the planning forms for documentation and requirements gathering, these forms are available here:

http://www.microsoft.com/downloads/details.aspx?FamilyID=269d900e-8442-4086-92a9-7fc851bc5985&DisplayLang=en


When you are ready to make the installation I recommend to follow the Implementation Guide, the document will guide you through the installation and implementation you can find and download at:

http://www.microsoft.com/downloads/details.aspx?familyid=1FF067F8-4F77-40F0-AE9C-68ADA7D4F16A&displaylang=en

I will be publishing an Assembly to extend the Workflow process, the assembly will have some Date manipulation and other string and regular expression public methods, I will be posing the address and the documentation for the assembly.

Thursday, July 27, 2006

MS CRM 3.0 learning and training

A couple of weeks ago I started working with MS CRM 3.0 for my company’s Customer Care department, this project is interesting and exiting at the same time, working on a new product and new infrastructure give me the motivation to continue learning, I will be installing and work on the configuration initially, but the plans are that I need to work on the integration for CRM and GP, taking some time before I started working on the development environment and our production staging area.

I was looking for more information on the Customization for the applications and found some link that point all the time to the same book, “Working With Microsoft Dynamics CRM 3.0” Microsoft Press, I started reading and getting to understand the application and the framework, I will start my feed on CRM and the configuration and customizations I will be making, so this is going to be more than a work on progress type a blog





Please post some comments or questions for the things I need to look for before I go though the installation and customization or code modifications