<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2596183451100264867</id><updated>2011-11-06T16:04:27.944-05:00</updated><category term='CRM2011 Plugin'/><category term='CRM ISV.Config'/><category term='CRM CLR SQL'/><category term='Bad Day'/><category term='Add-ons'/><category term='javascript'/><category term='CRM'/><category term='IVR'/><category term='SDK'/><category term='SQL Server'/><title type='text'>ALTAI xRM Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-4416092681550033104</id><published>2011-08-27T17:04:00.000-04:00</published><updated>2011-08-27T17:04:49.100-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM2011 Plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM CLR SQL'/><title type='text'>Removing a CRM2011 Pluging which does not want to be removed...</title><content type='html'>When all else fails, and you have backupd you system twice...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;use ????_MSCRM&lt;br /&gt;--- derived from http://mayankp.wordpress.com/2010/07/28/plug-in-type-with-id-guid-does-not-exist/&lt;br /&gt;go&lt;br /&gt;declare @PluginAssemblyId uniqueidentifier&lt;br /&gt;select @PluginAssemblyId = PluginAssemblyId from [PluginAssemblyBase] where Name = 'financialInterface'&lt;br /&gt;select * from [PluginAssemblyBase]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&lt;br /&gt;select * from [PluginAssemblyBaseIds]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;select * from [PluginTypeBaseIds]&lt;br /&gt;where&amp;nbsp; [PluginTypeId]&amp;nbsp; &lt;a href="mailto:=@PluginAssemblyId"&gt;=@PluginAssemblyId&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;select * from [PluginTypeBase]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;Select SdkMessageProcessingStepId,*&amp;nbsp; FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId in &lt;br /&gt;&amp;nbsp;(&amp;nbsp;&amp;nbsp;&amp;nbsp; select PluginTypeId from [PluginTypeBase]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;SELECT * FROM [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] in &lt;br /&gt;&amp;nbsp;(Select&lt;br /&gt;&amp;nbsp; SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp; where PluginTypeId&amp;nbsp;&amp;nbsp; in&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select PluginTypeId from [PluginTypeBase]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; -- /***************************************************************Start the deletes if all looks right...&amp;nbsp; /&lt;br /&gt;&amp;nbsp;begin tran&lt;br /&gt;&amp;nbsp;--The DELETE statement conflicted with the REFERENCE constraint "FK_SdkMessageProcessingStepId". &lt;br /&gt;&amp;nbsp;--The conflict occurred in database "OSBA_MSCRM", table "dbo.SdkMessageProcessingStepBase", column 'SdkMessageProcessingStepId'.&lt;br /&gt;&lt;br /&gt;delete&amp;nbsp;&amp;nbsp; FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId in &lt;br /&gt;&amp;nbsp;(&amp;nbsp;&amp;nbsp;&amp;nbsp; select PluginTypeId from [PluginTypeBase]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) &lt;br /&gt;&amp;nbsp;delete from&amp;nbsp;&amp;nbsp;&amp;nbsp; [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] in &lt;br /&gt;&amp;nbsp;(Select&lt;br /&gt;&amp;nbsp; SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp; where PluginTypeId&amp;nbsp;&amp;nbsp; in&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;select PluginTypeId from [PluginTypeBase]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt;)&lt;br /&gt;delete from [PluginAssemblyBase]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;&lt;br /&gt;delete from [PluginAssemblyBaseIds]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;delete from [PluginTypeBaseIds]&lt;br /&gt;where&amp;nbsp; [PluginTypeId]&amp;nbsp; &lt;a href="mailto:=@PluginAssemblyId"&gt;=@PluginAssemblyId&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;delete from [PluginTypeBase]&lt;br /&gt;where&amp;nbsp; PluginAssemblyId&amp;nbsp; = @PluginAssemblyId&lt;br /&gt;rollback or commit&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;/*&amp;nbsp; Find phantom&amp;nbsp; &lt;br /&gt;select * from PluginTypeBaseIds where PluginTypeId = '{54d67125-81be-40eb-9a61-00b139c62094}'&lt;br /&gt;&amp;nbsp;(e.g. select * from PluginTypeBaseIds where PluginTypeId = 'FB270B8E-B48D-DF11-8D06-18A90547D5EE')&lt;br /&gt;&lt;br /&gt;SELECT * FROM PluginTypeBase where PluginTypeId = '{54d67125-81be-40eb-9a61-00b139c62094}'&lt;br /&gt;&lt;br /&gt;SELECT * FROM [SdkMessageProcessingStepBase] where PluginTypeId = '{54d67125-81be-40eb-9a61-00b139c62094}'&lt;br /&gt;select * from [SdkMessageProcessingStepBase] &lt;br /&gt;where PluginTypeId not in ( select PluginTypeId&amp;nbsp; from PluginTypeBaseIds ) &lt;br /&gt;and Name like 'Altai.finan%'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;SELECT * FROM [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] in (Select&lt;br /&gt;&amp;nbsp;SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId not in (select PluginTypeId&amp;nbsp; from PluginTypeBaseIds))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SELECT * FROM [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] in (Select&lt;br /&gt;&amp;nbsp;SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId = '{54d67125-81be-40eb-9a61-00b139c62094}')&lt;br /&gt;&lt;br /&gt;SELECT * FROM [SdkMessageProcessingStepImageBase] &lt;br /&gt;where [SdkMessageProcessingStepId] in (Select&lt;br /&gt;&amp;nbsp;SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where SdkMessageProcessingStepId = '{FBD15E5F-64B8-E011-AB4F-00155D00051E}')&lt;br /&gt;&amp;nbsp;--FBD15E5F-64B8-E011-AB4F-00155D00051E&lt;br /&gt;&lt;br /&gt;&amp;nbsp;(Select SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId = '{54d67125-81be-40eb-9a61-00b139c62094}') &lt;br /&gt;&lt;br /&gt;&amp;nbsp;--{FBD15E5F-64B8-E011-AB4F-00155D00051E}&lt;br /&gt;SELECT * FROM [SdkMessageProcessingStepSecureConfigBase]&lt;br /&gt;-- Work from the bottom up....&lt;br /&gt;/*&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;begin tran&lt;br /&gt;delete FROM [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] in (Select&lt;br /&gt;&amp;nbsp;SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase]&lt;br /&gt;&amp;nbsp;where PluginTypeId not in (select PluginTypeId&amp;nbsp; from PluginTypeBaseIds))&lt;br /&gt;&lt;br /&gt;&amp;nbsp; rollback&lt;br /&gt;&amp;nbsp;commit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;begin tran&lt;br /&gt;delete from [SdkMessageProcessingStepBase] where PluginTypeId not in &lt;br /&gt;( select PluginTypeId&amp;nbsp; from PluginTypeBaseIds ) and Name like 'Altai.finan%'&lt;br /&gt;&amp;nbsp;rollback&lt;br /&gt;&amp;nbsp;commit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;cleanup&lt;br /&gt;&lt;br /&gt;&amp;nbsp;delete from [SdkMessageProcessingStepBaseIds] where [SdkMessageProcessingStepId] not&amp;nbsp; in (Select&lt;br /&gt;&amp;nbsp;SdkMessageProcessingStepId FROM [SdkMessageProcessingStepBase] ) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;begin tran &lt;br /&gt;&amp;nbsp;Delete&amp;nbsp; from&amp;nbsp;&amp;nbsp; [SdkMessageProcessingStepBase] where PluginTypeId = '{825c8382-4da6-4969-8c2b-7f26dbf65ccb}' &lt;br /&gt;rollback&lt;br /&gt;delete form&amp;nbsp; [SdkMessageProcessingStepSecureConfigBase]&lt;br /&gt;commit&lt;br /&gt;begin tran&lt;br /&gt;SELECT * FROM [SdkMessageProcessingStepImageBase] where [SdkMessageProcessingStepId] = '{FBD15E5F-64B8-E011-AB4F-00155D00051E}'&lt;br /&gt;*/ &lt;br /&gt;select * from [PluginTypeBaseIds]&amp;nbsp; &lt;br /&gt;where PluginTypeId not in (select PluginTypeId from [PluginTypeBase])&lt;br /&gt;and PluginTypeId &amp;lt;&amp;gt;&amp;nbsp; '{6ECDC53E-EF93-4B01-A4FF-CB78E779B88B}'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;--delete from [PluginAssemblyBase]&lt;br /&gt;--where&amp;nbsp; PluginAssemblyId&amp;nbsp; = '{D7DCD169-7214-4D91-B075-FB517D94B643}'&lt;br /&gt;--or PluginAssemblyIdUnique = '{DD1F22B3-D6F1-43AD-A808-855A6934273A}'&lt;br /&gt;--delete from [PluginAssemblyBaseIds]&lt;br /&gt;--where&amp;nbsp; PluginAssemblyId&amp;nbsp; = '{D7DCD169-7214-4D91-B075-FB517D94B643}'&lt;br /&gt;--delete from [PluginTypeBase]&lt;br /&gt;--where&amp;nbsp; PluginAssemblyId&amp;nbsp; = '{D7DCD169-7214-4D91-B075-FB517D94B643}'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;--delete from [PluginTypeBaseIds]&amp;nbsp; &lt;br /&gt;--where PluginTypeId not in (select PluginTypeId from [PluginTypeBase])&lt;br /&gt;--and PluginTypeId &amp;lt;&amp;gt;&amp;nbsp; '{6ECDC53E-EF93-4B01-A4FF-CB78E779B88B}'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-4416092681550033104?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/4416092681550033104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2011/08/removing-crm2011-pluging-which-does-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/4416092681550033104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/4416092681550033104'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2011/08/removing-crm2011-pluging-which-does-not.html' title='Removing a CRM2011 Pluging which does not want to be removed...'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-2479440321431822957</id><published>2011-07-11T11:46:00.002-04:00</published><updated>2011-07-11T13:46:17.728-04:00</updated><title type='text'>10 Reasons Why Nonprofits Have Upgraded To Microsoft Dynamics CRM 2011</title><content type='html'>&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;The nonprofit world went from limited choices for association management software (AMS) to a dizzying array of options.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;When Microsoft introduced &lt;a href="http://crm.dynamics.com/"&gt;Dynamics CRM&lt;/a&gt; the design of the system allowed for industry specific configurations like nonprofit association management and this platform is a game changer.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;The following list contains the top reasons nonprofit clients have given for upgrading their AMS to Microsoft Dynamics CRM:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Low Initial and Ongoing Cost&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Whether it's monthly using CRM Online or hosted on-premise a Microsoft Dynamics CRM solution can be dramatically less than similar solutions.&amp;nbsp; And if your association is a 501c3 you may qualify for &lt;a href="http://www.microsoft.com/licensing/licensing-options/for-industries.aspx#tab=4"&gt;Microsoft's&amp;nbsp;charity pricing&lt;/a&gt;. Plus the architecture allows you to make changes and create new features on your own at no charge.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Easy Configuration and Changes&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Microsoft CRM is built to be easily modified by your organization.&amp;nbsp; This gives you amazing flexibility to modify the solution to match changes in your association.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Native Outlook Integration&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;This is one of the most powerful features. You can access all the functions of your association management solution right in Outlook without having to launch another program.&amp;nbsp; Plus all the contacts, appointments, tasks and even emails are synced with all users to create a central database of member information and staff contact.&amp;nbsp; And if you sync Outlook with your smartphone then your CRM is&amp;nbsp;everywhere you go.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Export to Excel&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Need a new report and don't want to wait for someone to design it?&amp;nbsp; Using the Advanced Find you can create unlimited views of your data and with a single click export it to Excel.&amp;nbsp; And it is dynamic so you have the latest data in your worksheet or pivot table.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Regular Upgrades&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Most software vendors delay upgrades but not Microsoft.&amp;nbsp; With a proven history of regular feature rich upgrades you are assured that the Microsoft resources are hard at work on the next release.&amp;nbsp; There&amp;nbsp;are more Microsoft engineers working on CRM than all the current AMS vendors combined.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Access to Data&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;The structure of CRM gives you transparent access to all&amp;nbsp;your data.&amp;nbsp; It is your data after all, shouldn't you have complete access?&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Hosting Options&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Microsoft gives you the option to host CRM on your server locally or in the cloud at CRM online.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;Systems Integration&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;Using Microsoft GP or QuickBooks for accounting?&amp;nbsp;&amp;nbsp;Want to integrate&amp;nbsp;with other systems like social media?&amp;nbsp;&amp;nbsp; Microsoft CRM integrates with other&amp;nbsp;systems&amp;nbsp;from simple web services to complex integrations.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;9.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b&gt;Member Portal&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;A Member Portal not only extends CRM data like contact&amp;nbsp;info and&amp;nbsp;events registration, it can use the CRM to create new Portal&amp;nbsp;pages.&amp;nbsp;&amp;nbsp;This gives you the ability to create new member pages without needing a web programmer.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;10.&amp;nbsp;&amp;nbsp;&lt;b&gt; It’s a Microsoft Product&lt;/b&gt; – An enterprise level industry leader and the fastest growing CRM system worldwide.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;a href="http://www.altaisystems.com/"&gt;Altai Systems&lt;/a&gt; is a Washington, DC area CRM Technology Consulting firm specializing in Microsoft Dynamics CRM 2011 for non-profit association management with offices in Maryland, Florida, Pennsylvania and Texas. Their signature solution, &lt;a href="http://www.altaisystems.com/AltaiProducts/AltaiMembership/tabid/207/Default.aspx"&gt;Altai Membership&lt;/a&gt;, is a full-feature Microsoft Dynamics CRM solution and is implementing on version 2011 online and on-premise.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0in 0in 10pt;"&gt;&lt;span style="font-family: Calibri;"&gt;For more information on Microsoft Dynamics CRM 2011 and Altai Membership solutions for not-for-profits, contact David Mangold at &lt;a href="mailto:sales@altaisystems.com"&gt;sales@altaisystems.com&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-2479440321431822957?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/2479440321431822957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2011/07/10-reasons-why-nonprofits-have-upgraded.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2479440321431822957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2479440321431822957'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2011/07/10-reasons-why-nonprofits-have-upgraded.html' title='10 Reasons Why Nonprofits Have Upgraded To Microsoft Dynamics CRM 2011'/><author><name>David Mangold</name><uri>http://www.blogger.com/profile/17907344648765119699</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_HOWJ4up7KE0/TBjU5abFOYI/AAAAAAAAAAM/zeQuFfJrYA0/S220/dave_.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-3726416476849281310</id><published>2011-02-17T13:48:00.000-05:00</published><updated>2011-02-17T13:48:57.305-05:00</updated><title type='text'>CRM 2011, Removing partitioning from SQL Enterprise Database</title><content type='html'>In Microsoft CRM-2011, during the install, if the CRM installer sees that you are using SQL Enterprise, it will install partitioning schemes and functions into the database.&amp;nbsp;&amp;nbsp; This is dandy until you need to restore this database to SQL- Standard Editon.&amp;nbsp; You cannot restore an enterprise database into sql standard.&lt;br /&gt;&lt;br /&gt;Luckly this partitioning is done only for the AuditBase Table.&amp;nbsp;&amp;nbsp; There are ways of moving and reconfiguring partitioning, but to keep this simple, my solution is to simply dump the audit table.&amp;nbsp; If you want to back up the audit table and restore the data, you can do that also....&lt;br /&gt;&lt;br /&gt;Please backup your database before doing any of the procedures described below.&amp;nbsp; In fact you should only do the following on a copy of your production database.&amp;nbsp; Never do this on a production database or you will be working all weekend and ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is a query to remove it so you can backup and restore this database to SQL Standard....&lt;br /&gt;&lt;br /&gt;Dont just execute this query, but run each section at a time and look at the results and my comments...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--lets work with the correct database&lt;br /&gt;USE [YOURCOMPANYNAME_MSCRM]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;--&amp;nbsp;&amp;nbsp; *****READ AND UNDERSTAND&amp;nbsp;&amp;nbsp;&amp;nbsp; ARE YOU NOW IN THE CORRECT DATABSE.&amp;nbsp; PLEASE DOUBECHECK&lt;br /&gt;--what tables use partitioning....&lt;br /&gt;&lt;br /&gt;SELECT O.Name as TableName, I.Name as IndexName, I.Type, I.type_desc as IndexType, ps.name as PartitionSchema&lt;br /&gt;&lt;br /&gt;FROM sys.objects O&lt;br /&gt;&lt;br /&gt;INNER JOIN sys.partitions p on P.object_id = O.object_id&lt;br /&gt;&lt;br /&gt;INNER JOIN sys.indexes i on p.object_id = i.object_id and p.index_id = i.index_id&lt;br /&gt;&lt;br /&gt;INNER JOIN sys.data_spaces ds on i.data_space_id = ds.data_space_id&lt;br /&gt;&lt;br /&gt;INNER JOIN sys.partition_schemes ps on ds.data_space_id = ps.data_space_id&lt;br /&gt;&lt;br /&gt;WHERE p.partition_number = 1&lt;br /&gt;&lt;br /&gt;go&lt;br /&gt;--&amp;nbsp;&amp;nbsp; *****READ AND UNDERSTAND&amp;nbsp;&amp;nbsp; This better just produce the AuditBase table.&amp;nbsp; If there are more, then you may need to move partitions vs recreate....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Its only the Audit table, lets drop and recreate...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/****** Object: View [dbo].[Audit] Script Date: 02/17/2011 12:49:47 ******/&lt;br /&gt;&lt;br /&gt;DROP VIEW [dbo].[Audit]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;/****** Object: Table [dbo].[AuditBase] Script Date: 02/17/2011 12:49:46 ******/&lt;br /&gt;&lt;br /&gt;ALTER TABLE [dbo].[AuditBase] DROP CONSTRAINT [DF_AuditBase_AuditId]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;DROP TABLE [dbo].[AuditBase]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;/****** Object: Table [dbo].[AuditBase] Script Date: 02/17/2011 12:49:46 ******/&lt;br /&gt;&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE TABLE [dbo].[AuditBase](&lt;br /&gt;&lt;br /&gt;[AttributeMask] [nvarchar](max) NULL,&lt;br /&gt;&lt;br /&gt;[TransactionId] [uniqueidentifier] NOT NULL,&lt;br /&gt;&lt;br /&gt;[Action] [int] NULL,&lt;br /&gt;&lt;br /&gt;[ObjectId] [uniqueidentifier] NOT NULL,&lt;br /&gt;&lt;br /&gt;[ObjectIdName] [nvarchar](1) NULL,&lt;br /&gt;&lt;br /&gt;[UserId] [uniqueidentifier] NOT NULL,&lt;br /&gt;&lt;br /&gt;[ChangeData] [nvarchar](max) NULL,&lt;br /&gt;&lt;br /&gt;[CreatedOn] [datetime] NOT NULL,&lt;br /&gt;&lt;br /&gt;[Operation] [int] NOT NULL,&lt;br /&gt;&lt;br /&gt;[AuditId] [uniqueidentifier] NOT NULL CONSTRAINT [DF_AuditBase_AuditId] DEFAULT (newsequentialid()),&lt;br /&gt;&lt;br /&gt;[CallingUserId] [uniqueidentifier] NULL,&lt;br /&gt;&lt;br /&gt;[ObjectTypeCode] [int] NULL&lt;br /&gt;&lt;br /&gt;) ON [AuditPScheme]([CreatedOn])&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE UNIQUE CLUSTERED INDEX [cndx_PrimaryKey_Audit] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[CreatedOn] DESC,&lt;br /&gt;&lt;br /&gt;[AuditId] DESC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE NONCLUSTERED INDEX [fndx_ObjectTypeCode] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[ObjectTypeCode] ASC&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;WHERE ([ObjectTypeCode] IS NOT NULL)&lt;br /&gt;&lt;br /&gt;WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE NONCLUSTERED INDEX [ndx_ObjectId] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[ObjectId] ASC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE NONCLUSTERED INDEX [ndx_PrimaryKey_Audit] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[AuditId] ASC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE UNIQUE NONCLUSTERED INDEX [ndx_PrimaryKey_Audit_Primary] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[CreatedOn] DESC,&lt;br /&gt;&lt;br /&gt;[AuditId] DESC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE NONCLUSTERED INDEX [ndx_SystemManaged_Audit] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[CreatedOn] ASC,&lt;br /&gt;&lt;br /&gt;[CallingUserId] ASC,&lt;br /&gt;&lt;br /&gt;[Action] ASC,&lt;br /&gt;&lt;br /&gt;[Operation] ASC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;CREATE NONCLUSTERED INDEX [ndx_UserId] ON [dbo].[AuditBase] &lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;[UserId] ASC&lt;br /&gt;&lt;br /&gt;)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;/****** Object: View [dbo].[Audit] Script Date: 02/17/2011 12:49:47 ******/&lt;br /&gt;&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;-- base view for Audit&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;create view [dbo].[Audit]&lt;br /&gt;&lt;br /&gt;(&lt;br /&gt;&lt;br /&gt;-- logical attributes&lt;br /&gt;&lt;br /&gt;[UserIdName],&lt;br /&gt;&lt;br /&gt;[CallingUserIdName],&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- physical attributes&lt;br /&gt;&lt;br /&gt;[AttributeMask],&lt;br /&gt;&lt;br /&gt;[TransactionId],&lt;br /&gt;&lt;br /&gt;[Action],&lt;br /&gt;&lt;br /&gt;[ObjectId],&lt;br /&gt;&lt;br /&gt;[UserId],&lt;br /&gt;&lt;br /&gt;[ChangeData],&lt;br /&gt;&lt;br /&gt;[CreatedOn],&lt;br /&gt;&lt;br /&gt;[Operation],&lt;br /&gt;&lt;br /&gt;[AuditId],&lt;br /&gt;&lt;br /&gt;[CallingUserId],&lt;br /&gt;&lt;br /&gt;[ObjectTypeCode],&lt;br /&gt;&lt;br /&gt;[ObjectIdName]&lt;br /&gt;&lt;br /&gt;) with view_metadata as&lt;br /&gt;&lt;br /&gt;select&lt;br /&gt;&lt;br /&gt;-- logical attributes&lt;br /&gt;&lt;br /&gt;[lk_audit_userid].[FullName],&lt;br /&gt;&lt;br /&gt;[lk_audit_callinguserid].[FullName],&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-- physical attribute&lt;br /&gt;&lt;br /&gt;[AuditBase].[AttributeMask],&lt;br /&gt;&lt;br /&gt;[AuditBase].[TransactionId],&lt;br /&gt;&lt;br /&gt;[AuditBase].[Action],&lt;br /&gt;&lt;br /&gt;[AuditBase].[ObjectId],&lt;br /&gt;&lt;br /&gt;[AuditBase].[UserId],&lt;br /&gt;&lt;br /&gt;[AuditBase].[ChangeData],&lt;br /&gt;&lt;br /&gt;[AuditBase].[CreatedOn],&lt;br /&gt;&lt;br /&gt;[AuditBase].[Operation],&lt;br /&gt;&lt;br /&gt;[AuditBase].[AuditId],&lt;br /&gt;&lt;br /&gt;[AuditBase].[CallingUserId],&lt;br /&gt;&lt;br /&gt;[AuditBase].[ObjectTypeCode],&lt;br /&gt;&lt;br /&gt;[AuditBase].[ObjectIdName]&lt;br /&gt;&lt;br /&gt;from [AuditBase] &lt;br /&gt;&lt;br /&gt;left join [SystemUserBase] [lk_audit_callinguserid] with(nolock) on ([AuditBase].[CallingUserId] = [lk_audit_callinguserid].[SystemUserId])&lt;br /&gt;&lt;br /&gt;left join [SystemUserBase] [lk_audit_userid] with(nolock) on ([AuditBase].[UserId] = [lk_audit_userid].[SystemUserId])&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;/****** Object: PartitionScheme [AuditPScheme] Script Date: 02/17/2011 12:59:16 ******/&lt;br /&gt;&lt;br /&gt;DROP PARTITION SCHEME [AuditPScheme]&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;DROP PARTITION FUNCTION AuditPFN;&lt;br /&gt;&lt;br /&gt;GO&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-3726416476849281310?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/3726416476849281310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2011/02/crm-2011-removing-partitioning-from-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/3726416476849281310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/3726416476849281310'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2011/02/crm-2011-removing-partitioning-from-sql.html' title='CRM 2011, Removing partitioning from SQL Enterprise Database'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-1254924624757931602</id><published>2011-01-27T12:06:00.001-05:00</published><updated>2011-01-27T12:16:49.051-05:00</updated><title type='text'>When choosing an Association Mangement Solution look past the features.</title><content type='html'>Industry specific applications like non-profit&amp;nbsp;association management solutions (AMS)&amp;nbsp;are all&amp;nbsp;sounding the same at the feature level.&amp;nbsp;They all offer similar features and even blur when compared.&amp;nbsp;But to see the real difference you must look past the features and focus on the underlying technology. This is what will determine how a solution will 1) give you the flexibility to adjust the system to meet your processes (and not vise versa); 2) scale to match your growth; and 3) upgrade to stay&amp;nbsp;current with new trends in business and technology.&amp;nbsp; Otherwise you will be in a constant loop of convert and replace.&lt;br /&gt;&lt;br /&gt;When Microsoft&amp;nbsp;designed their CRM to allow the system to be configured for business processes outside of sales management, they created an application development platform that&amp;nbsp;has no equal.&amp;nbsp;Consider this, if an application developer&amp;nbsp;has no ownership of the underlying technology or the integrations between the system components,&amp;nbsp;then it is a custom solution&amp;nbsp;with&amp;nbsp;a very&amp;nbsp;limited upgrade path.&amp;nbsp;In fact custom solutions avoid upgrades to limit the cascading effect of unknown compatibility to legacy components and code.&amp;nbsp;Survey the development team and the consensus will be to avoid major system upgrades.&lt;br /&gt;Using Microsoft CRM as the foundation for an industry vertical application like Association Management&amp;nbsp;frees&amp;nbsp;us up from version control and compatibility of the OS, database, security layer,&amp;nbsp;user interface, and integrations&amp;nbsp;with Outlook, Excel, Word and even SharePoint and GP.&amp;nbsp; All owned and developed by Microsoft. Plus what application development company has the resources dedicated to the underlying technology that results in the over 500 v2011&amp;nbsp;enhancements to an already&amp;nbsp;solid platform like CRM. &lt;br /&gt;&lt;br /&gt;Don't get me wrong, features are important and there are some real inovations out there.&amp;nbsp;My contention is that investing in a solution based on current features doesn't guarantee future innovation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-1254924624757931602?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/1254924624757931602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2011/01/when-choosing-association-mangement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/1254924624757931602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/1254924624757931602'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2011/01/when-choosing-association-mangement.html' title='When choosing an Association Mangement Solution look past the features.'/><author><name>David Mangold</name><uri>http://www.blogger.com/profile/17907344648765119699</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_HOWJ4up7KE0/TBjU5abFOYI/AAAAAAAAAAM/zeQuFfJrYA0/S220/dave_.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-3415169055835304287</id><published>2010-12-05T09:15:00.000-05:00</published><updated>2010-12-05T09:15:46.364-05:00</updated><title type='text'>iPhone vs DroidX</title><content type='html'>I have both. iPhone3 &amp;amp; DroidX. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The android is aggravating. A few examples: Want visual voice mail? Add 2$/month for a Verizon app that does not always work. Want callerid to show the city? add $15. I feel like I am being nickel and dimed (and I am) Apps are fixed. There are 2 dozen or so apps that you can’t get rid of. Some ass at Verizon made deals so these apps are fixed in the Verizon Android OS(Blockbuster video rental for example) These fixed apps take prime real-estate, but you cannot remove or move them.&lt;br /&gt;&lt;br /&gt;3 way calls are 10 times easier on the iPHONE. Want to merge in a call? On the iPhone its one button. On the android, it’s much tougher if you need to make the 3rd call.&lt;br /&gt;&lt;br /&gt;Mp3 player compared to iPod in iphone. Don’t kid yourself. It’s not close. The android market is clunky, gross and quite frankly is years behind Apple.&lt;br /&gt;&lt;br /&gt;The Android requires a pin to be entered once you connect it to exchange. You cannot get rid of it. &lt;br /&gt;&lt;br /&gt;The Android takes nice video, I like the camera better. If I was a unix hacker, I guess it would be much more fun. The android has a hotspot. I love that. I can change the battery. I can tweak power and can get a couple of days out of phone.&lt;br /&gt;&lt;br /&gt;The bottom line for me is that the android specs don’t translate to ease of use.&lt;br /&gt;&lt;br /&gt;When the next iPhone with a hotspot comes out, I will break my DroidX contract.&lt;br /&gt;&lt;br /&gt;Mike&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-3415169055835304287?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/3415169055835304287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/12/iphone-vs-droidx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/3415169055835304287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/3415169055835304287'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/12/iphone-vs-droidx.html' title='iPhone vs DroidX'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-8861330218820642692</id><published>2010-12-01T18:22:00.002-05:00</published><updated>2010-12-01T18:22:18.100-05:00</updated><title type='text'>Find that pesky workflow that is blocking the Entity!</title><content type='html'>Crm Exception: Message: Cannot Delete Entity: Mbscrm_payment. It is used in a published workflow or used as primary entity in a draft workflow., ErrorCode: -2147200980&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Find that workflow&lt;br /&gt;&lt;br /&gt;select ParentWorkflowIdName, * from workflow &lt;br /&gt;&lt;br /&gt;where Workflowid in (&lt;br /&gt;&lt;br /&gt;select distinct Workflowid from USLAX_MSCRM.dbo.WorkflowDependencyBase where ParameterName like '%mbscrm_payment%')&lt;br /&gt;&lt;br /&gt;and StatusCode = 2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-8861330218820642692?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/8861330218820642692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/12/find-that-pesky-workflow-that-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8861330218820642692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8861330218820642692'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/12/find-that-pesky-workflow-that-is.html' title='Find that pesky workflow that is blocking the Entity!'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-2836093367460034106</id><published>2010-11-19T10:58:00.001-05:00</published><updated>2010-11-19T11:00:40.576-05:00</updated><title type='text'>Deploying Web Parts to Microsoft SharePoint 2010</title><content type='html'>From Dan, one of our Prolific SharePoint Devlopers and Bloggers..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://crmvoyager.wordpress.com/2010/11/19/deploying-web-parts-to-microsoft-sharepoint/"&gt;http://crmvoyager.wordpress.com/2010/11/19/deploying-web-parts-to-microsoft-sharepoint/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Background&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft SharePoint allows developers to build custom UI pieces called Web Parts that plug into a standard SharePoint page at design time. These Web Parts can be extremely powerful, but unfortunately deployment scenarios can be confusing since Web Parts are just one small part of the SharePoint extensibility story and the documentation can be difficult to decipher as a result. In this post I’m going to go through the most straightforward deployment scenario, perhaps mentioning other possibilities in passing, to be covered in later articles.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Although there are other ways to get code deployed to SharePoint, the main mechanism by which custom or third-party code is introduced to a running SharePoint environment is via the SharePoint solution package. Solutions typically have a .wsp file extension, and are actually archives in the Microsoft .cab file format. Solution packages contain an XML manifest file, .NET assemblies and other resources.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One other important thing to note regarding the layout of a SharePoint solution is that a solution may contain one or more features. Features are units of functionality that may be enabled and disabled from within SharePoint. The relationship between features and solutions allows quite a bit of flexibility when setting up the capabilities of individual site collections, but again poses many opportunities for error and confusion.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The last thing to note before we get started with an example is that as of SharePoint 2010 solutions may be deployed in a sandbox environment in addition to being deployed at the farm level. It is possible to deploy the same solution at many levels, but unpredictable behavior may result if the features from both deployments of the solution are available in the same site.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating the Package&lt;br /&gt;&lt;br /&gt;We are going to build a .wsp package using Visual Studio 2010 and deploy it at the farm level of a fresh installation of Windows Sharepoint Foundation 2010. Assuming you already have a Web Part project in your Visual Studio solution, all we need to do is check a few properties on the project and build the package. Take a look at the following screenshot of the project properties for the Web Part project. The most important things here are the Sandboxed Solution and Assembly Deployment Target. We will need to create a non-sandboxed package in order to accommodate visual web parts — that is, web parts whose layout is determined by an ascx user control. Visual Studio has a special project type for visual Web Parts and it will generate an error if we try to build a sandboxed package that contains visual web parts. The second issue is that for a farm-level deployment we must use the global assembly cache, hence the Assembly Deployment Target setting.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio project properties pane&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://crmvoyager.files.wordpress.com/2010/11/visual-studio-properties.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="210" ox="true" src="http://crmvoyager.files.wordpress.com/2010/11/visual-studio-properties.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once these settings are checked and we are sure that our web parts are included in the feature and the feature is included in the package, we can build the .wsp file. The build is triggered via the project context menu. Open the menu and select Package in order to build the .wsp, which will appear in the /bin folder of the Web Part project.&lt;br /&gt;&lt;br /&gt;Creating the .wsp Package in Visual Studio&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://crmvoyager.files.wordpress.com/2010/11/visual-studio-package.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="259" ox="true" src="http://crmvoyager.files.wordpress.com/2010/11/visual-studio-package.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Deploying the Code&lt;br /&gt;&lt;br /&gt;Now that we have the .wsp file, we need to pull the package into SharePoint. SharePoint provides a scriptable tool called stsadm as well as a PowerShell cmdlet, since the PowerShell interface is what Microsoft will be moving forward with in the future, I’ll stick with using the cmdlet. We’ll need to have access to the SharePoint Central Administration site in order to complete the deployment. Open the SharePoint Management Shell from the Start menu and type the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: black;"&gt;Add-SPSolution -LiteralPath c:\path\to\solution.wsp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Notice that the full path to the package is necessary.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once the solution is added, we should browse to the System Settings area and click on Manage Farm Solutions as seen here:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Taking a Look at the Installed Package&lt;br /&gt;&lt;div class="separator" style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;"&gt;&lt;a href="http://crmvoyager.files.wordpress.com/2010/11/central-admin.png" imageanchor="1" style="clear: left; cssfloat: left; float: left; height: 178px; margin-bottom: 1em; margin-right: 1em; width: 536px;"&gt;&lt;img border="0" height="304" ox="true" src="http://crmvoyager.files.wordpress.com/2010/11/central-admin.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This lets us see the added package and deploy it to any site collections that we wish to use the features on. Since we are deploying the .wsp files from the farm level, we “push” the solution down to the individual site collections, making the features visible to the sites. Once the feature is enabled the web parts should be visible in the web part gallery.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There are several other paths that we could have taken to get our code onto the SharePoint server, but this will suffice for the time being. Hopefully this helps out others in their journey to deploy code successfully to SharePoint.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-2836093367460034106?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/2836093367460034106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/11/deploying-web-parts-to-microsoft.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2836093367460034106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2836093367460034106'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/11/deploying-web-parts-to-microsoft.html' title='Deploying Web Parts to Microsoft SharePoint 2010'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-6907967620010384465</id><published>2010-10-14T22:11:00.000-04:00</published><updated>2010-10-14T22:11:26.146-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM CLR SQL'/><title type='text'>Introducing AltaiWorkflowSProc     Its free baby!</title><content type='html'>I think I have AADD, so setting up a Microsoft CRM workflows that wait around for something that might happen next year are really not my cup of tea. We have been looking for an easy to USE CRM scheduler that can run workflows as a task for records that need to be updated. Sometimes want these tasks to run weekly, daily, every 3rd Monday, etc... &lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;This tool allows any SQL techie to create a process that calls CRM workflows on a timed basis for only the records that need to be processed. You don’t need to create workflows that wait around forever and never run. You can pre-process millions of records and just run workflows against those records that need to be updated.&lt;br /&gt;&lt;br /&gt;Obviously we use these kinds of tools for our Association Clients that want to manage their membership automatically.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;Included are install scripts, 2 dlls that get sucked into SQL server and a few examples on how to call the workflow &lt;br /&gt;You will need to do the following:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install the DLL’s Simply update and run the scripts.&lt;/li&gt;&lt;li&gt;Write any workflow you need&lt;/li&gt;&lt;li&gt;Update the include proc for you specific needs.&lt;/li&gt;&lt;li&gt;Call us for the DLLs. They are free, but we want you in our CRM database… If we don’t like you there may be a beer fee ;&amp;gt;)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;At a high level, you are installing a a DLL that is called by a stored procedure and runs a DLL that calls CRM workflow and starts it for an entity.&lt;br /&gt;&lt;br /&gt;Technically speaking this uses the SQL Server 2008R2 CLR to call CRM and run specific workflows. Security is stored in SQL so you could update CRM online in a batch mode if you wished. You would need to download a Entity name and GUID into a free copy of SQL server, then call this routine which can go to CRM online and update records.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.altaisystems.com/altaiproducts/Installing%20AltaiWorkflowSProc.pdf"&gt;Here are the scripts.&amp;nbsp; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mike&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-6907967620010384465?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/6907967620010384465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/10/introducing-altaiworkflowsproc-its-free.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6907967620010384465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6907967620010384465'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/10/introducing-altaiworkflowsproc-its-free.html' title='Introducing AltaiWorkflowSProc     Its free baby!'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-2635767909956539871</id><published>2010-09-29T13:24:00.000-04:00</published><updated>2010-09-29T13:24:53.090-04:00</updated><title type='text'>CRM Agile Delivery</title><content type='html'>&lt;i&gt;i  could write a book on CRM delivery, but here are some random Wednesday “quick” thoughts…&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My 4th grade teachers always said don’t write anything without knowing the audience.  Sorry…&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We are working with a prospect that has almost 700 Gigs of CRM data and an addition Terabyte of data in a marketing database.  The size of the organization /project is equal to the size of the data.  They ask about our success factors and I kept thinking that when faced with large tasks, the first step is breaking in down into small tasks.  Why do we tend to break down the tasks?  My next thought was… we do it because we are not smart enough to understand and comprehend huge tasks.  My next thought was that we have been doing parts of agile coding for years and recently we are doing more and more formal agile development, but we also use agile in other areas…&lt;br /&gt;&lt;br /&gt;Do don’t just use an agile development process, but we try to use an Agile Delivery Processes if at all possible.&lt;br /&gt;&lt;br /&gt;Much of Agile methodology focuses on a cyclic process and daily builds.  This is for one simple reason.  People can only handle so much information and change on a daily basis.   Big, software with thousands of features delivered on Wednesday after 16 hours of marathon training on Monday and Tuesday is pretty stressful on everyone.  Someday I’ll explain why “stress”  = risk.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Agile Prototyping.&lt;/b&gt;  As we implement, we are working with key users to make sure we are incorporating their ideas and pain points into our solutions.  People resist changes that make their life more difficult, and it’s your job(and my job)  to understand what reduces stress in the workforce.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Agile Delivery&lt;/b&gt;.  If possible, as we deliver, we try not to force a “big bang” on our users.  If possible we are trying to give them more features every day.  We try to deliver our software suing an agile component replacement that takes out one piece of legacy software for each delivery cycle.  We try to build automate systems for testing so we don’t have users doing double entry.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Component Replacement Methodology.&lt;/b&gt;  Try to replace one component at a time when interfacing a business System(CRM, ERP, etc..), with a legacy system.   Build temporary bridges between legacy systems and new systems so that users are not doing double entry.  An example of a temporary bridge:  If you are replacing a feed from a marketing subsystem to a new CRM system, it may be worth it to build a temporary activity bridge from the new CRM system to the old CRM reports so the old reports and new reports can be tied out.  Otherwise one would have to double enter the data.   Temporary bridges have to be weighed, but sometimes they are easy and save double entry which reduces stress.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Agile Training.&lt;/b&gt;  We like to train in 2-4 hour increments.  We don’t do 8 hour training sessions because it does not work.  People learn a little, go back and play a little and then come back into training with fantastic questions and a much better understanding.&lt;br /&gt;&lt;br /&gt;So take a big project, break it up into many small 4 hour projects, put a good project manager on it to make sure the small projects are part of the big project and you will have success.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I’m out of time…. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Mike Frye&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-2635767909956539871?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/2635767909956539871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/09/crm-agile-delivery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2635767909956539871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2635767909956539871'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/09/crm-agile-delivery.html' title='CRM Agile Delivery'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-2965294162794334483</id><published>2010-09-13T21:20:00.001-04:00</published><updated>2010-09-29T13:23:11.123-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bad Day'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Restore a SQL database with audit logs and a point in time.</title><content type='html'>If your reading this, you are having a bad day.&amp;nbsp; Lets say your day went to hell in a handbasket at 1.10 in the afternoon. &lt;br /&gt;&lt;br /&gt;Here is how you recover your CRM,etc. database to a point in time...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;--this restores the database, but leaves the database in a “in recovery’ state.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;RESTORE DATABASE SolomonApplication&lt;br /&gt;FROM DISK = 'F:\FryeRestore0913\SolomonApplication_backup_201009121930.bak'&lt;br /&gt;WITH&lt;br /&gt;MOVE 'SolomonApplication_Data' TO 'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\SolomonApplication.mdf',&lt;br /&gt;MOVE 'SolomonApplication_Log' TO 'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\SolomonApplication_1.ldf',&lt;br /&gt;NORECOVERY &lt;br /&gt;&lt;br /&gt;&lt;b&gt;--this takes the restored database and moves it forware in time to the time of the log.  Again the database is not ready yet...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;RESTORE LOG SolomonApplication&lt;br /&gt;FROM DISK = 'F:\FryeRestore0913\SolomonApplication_backup_201009130900.trn'&lt;br /&gt;WITH NORECOVERY &lt;br /&gt;&lt;b&gt;… do for each log….&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;RESTORE LOG SolomonApplication&lt;br /&gt;FROM DISK = 'F:\FryeRestore0913\SolomonApplication_backup_201009131231.trn'&lt;br /&gt;WITH RECOVERY &lt;br /&gt;&lt;br /&gt;&lt;b&gt;---or --- to a pont in time&lt;/b&gt;&lt;br /&gt;RESTORE LOG SolomonApplication&lt;br /&gt;FROM DISK = 'F:\FryeRestore0913\SolomonApplication_backup_201009131231.trn'&lt;br /&gt;WITH RECOVERY , &lt;br /&gt;STOPAT = 'Sept 10, 2010 13:01:00 PM'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hey, now your day is a bit better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-2965294162794334483?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/2965294162794334483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/09/restore-sql-database-wiht-audit-logs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2965294162794334483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2965294162794334483'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/09/restore-sql-database-wiht-audit-logs.html' title='Restore a SQL database with audit logs and a point in time.'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-8158015235641901584</id><published>2010-06-07T22:55:00.000-04:00</published><updated>2010-06-07T22:55:31.584-04:00</updated><title type='text'>The report parameter 'P1' is read-only and cannot be modified. (rsReadOnlyReportParameter)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Onk7VIyGc0c/TA2wnJ1c2fI/AAAAAAAAAHE/bW2Xy3rGjx8/s1600/ParameterP1Issue.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" qu="true" src="http://4.bp.blogspot.com/_Onk7VIyGc0c/TA2wnJ1c2fI/AAAAAAAAAHE/bW2Xy3rGjx8/s640/ParameterP1Issue.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;If you found this error, here is the issue.&lt;br /&gt;CRM appends the P1 parameter.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;You need to make sure it is not hidden(readOnly).&amp;nbsp; Use ReportManager to edit settings.&lt;br /&gt;&lt;br /&gt;Please send 1 beer to 752 Oak Grove Cir.&amp;nbsp; Severna Park MD 21146&amp;nbsp;&amp;nbsp; ;&amp;gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-8158015235641901584?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/8158015235641901584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/06/report-parameter-p1-is-read-only-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8158015235641901584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8158015235641901584'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/06/report-parameter-p1-is-read-only-and.html' title='The report parameter &apos;P1&apos; is read-only and cannot be modified. (rsReadOnlyReportParameter)'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Onk7VIyGc0c/TA2wnJ1c2fI/AAAAAAAAAHE/bW2Xy3rGjx8/s72-c/ParameterP1Issue.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-8555412094948351145</id><published>2010-04-24T13:49:00.002-04:00</published><updated>2010-04-24T13:49:52.571-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>CRM Phone Number formatting with extensions...</title><content type='html'>// Get the field that fired the event.&lt;br /&gt;var oField = event.srcElement;&lt;br /&gt;&lt;br /&gt;// Validate the field information.&lt;br /&gt;if (typeof (oField) != "undefined" &amp;&amp; oField != null) {&lt;br /&gt;&lt;br /&gt;// get any extension and then store it and remove if from phone number....&lt;br /&gt;    var extension = "";&lt;br /&gt;    try {&lt;br /&gt;        if (oField.DataValue.toLowerCase().indexOf("x") &gt; 5)&lt;br /&gt;            extension = oField.DataValue.substring(oField.DataValue.toUpperCase().indexOf("X"));&lt;br /&gt;        oField.DataValue = oField.DataValue.substring(0, oField.DataValue.toLowerCase().indexOf("x"));&lt;br /&gt;    }&lt;br /&gt;    catch (Error) {&lt;br /&gt;        extension = "";&lt;br /&gt;    }&lt;br /&gt;    // Remove any non-numeric characters. &lt;br /&gt;    var sTmp = oField.DataValue.replace(/[^0-9]/g, "");&lt;br /&gt;&lt;br /&gt;    // If the number has a valid length, format the number.&lt;br /&gt;    switch (sTmp.length) {&lt;br /&gt;        case "4105551212".length:&lt;br /&gt;            oField.DataValue = "" + sTmp.substr(0, 3) + "-" +&lt;br /&gt;  sTmp.substr(3, 3) + "-" + sTmp.substr(6, 4);&lt;br /&gt;            break;&lt;br /&gt;&lt;br /&gt;        case "5551212".length:&lt;br /&gt;            oField.DataValue = sTmp.substr(0, 3) + "-" +&lt;br /&gt;  sTmp.substr(3, 4);&lt;br /&gt;            break;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (extension.length &gt; 0) oField.DataValue += extension;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-8555412094948351145?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/8555412094948351145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/04/crm-phone-number-formatting-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8555412094948351145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/8555412094948351145'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/04/crm-phone-number-formatting-with.html' title='CRM Phone Number formatting with extensions...'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-111610587102316640</id><published>2010-04-08T12:08:00.000-04:00</published><updated>2010-04-19T00:06:39.034-04:00</updated><title type='text'>Microsoft rolls out CRM for Nonprofits</title><content type='html'>Microsoft rolls out CRM for Nonprofits&lt;br /&gt;&lt;br /&gt;&lt;a href="https://offers.crmchoice.com/nonprofit/"&gt;https://offers.crmchoice.com/nonprofit/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is an outstanding answer to the SFDC NFP solution and about 1/5 the price!  We are looking forward to supporting this NFP soluton set and also giving customer the ability to upgrade components to our full blown NFP solutions set for larger organizations.   More coming later after we finish unwraping our new gift from MS!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-111610587102316640?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/111610587102316640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/04/microsoft-rolls-out-crm-for-nonprofits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/111610587102316640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/111610587102316640'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/04/microsoft-rolls-out-crm-for-nonprofits.html' title='Microsoft rolls out CRM for Nonprofits'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-7999157893609012697</id><published>2010-03-12T08:32:00.000-05:00</published><updated>2010-03-12T11:05:17.424-05:00</updated><title type='text'>Association Membership and website integration....</title><content type='html'>Tom writes:&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Hi folks,&lt;br /&gt;&lt;br /&gt;I'm co-presenting at a conference for non-profits on the topic of database - website integration, and am looking for good examples to highlight in the session. I'd like to show examples of how integration can improve the user's experience and the value he/she gets from a session, and how it helps the organization. This would include improving the organization's ability to achieve its goals with that user (take actions, raise awareness of issues, get involved, etc. etc.) and more generally gather information that can feed into other marketing and services activities.&lt;br /&gt;&lt;br /&gt;It would be great to include some examples of generic versus personalized presentations such as seeing a public site page and then the same page after the user logs in.&lt;br /&gt;&lt;br /&gt;Examples will be fully credited, of course, and I welcome ideas from associations and vendors alike. Also happy to share back whatever I receive.&lt;br /&gt;Getting your database and website talking is a common topic of interest.&lt;br /&gt;&lt;br /&gt;Thanks in advance.&lt;br /&gt;&lt;br /&gt;Cheers&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hi Tom&lt;br /&gt;We have been doing web site integrations to AMS’s for a long time.  Here is my pre-coffee a.m. opinion…&lt;br /&gt;&lt;br /&gt;Most integrations revolve around getting the member authenticated to the web site and allowing that member to perform basic standard functions, i.e. (become a member, renew membership, edit my contact info, edit my organizations contact info, join and un-join from different committees, donate, etc…)&lt;br /&gt;&lt;br /&gt;Next is the integration of an AMS to manage memberships in portals and social networking groups.  There are areas where you integrate the ability to join, the AMS, but the portals and social networking sites will/should take a life of their own.   Most AMS/CRM systems have the ability to technically integrate to facebook, twitter, linkedin, etc…, but the thought process of what we do with those integrations and how we use those integrations is in its infancy(IMHO)  Social network interfaces are very different and based not on what the association wants, but what the membership wants.(should be the same, right?)&lt;br /&gt;&lt;br /&gt;For us, the really fun integrations involve integrating the AMS/CRM to systems that manage or solve complex issues.  Certifications and Event management come to mind, but more will soon.   A neat example is one of our clients, Imagine America.  IA allows members of the military (and other groups) to apply for many hundreds of scholarships.  They have many thousands of applicants apply online monthly, and the application allows them to pick a college, pick a major, fill out a survey and apply to the school.  Next the college (corporate member) gets notified of the application, and goes online to approve/disapprove the app., the student gets notified all along the way.   IA is able to manage thousands of applications a month with no extra staff.    Technically, these types of integrations need to work 24/7(or 23.999/6.999) so the integrations involve member data, computer events(if that old SQL server is having an issue or the email server is down, we need to know, the user does not need to know and we need to queue), security, etc…  Also integrations must be affordable, so a long term road map is suggested, compromises must be made IN ADVANCE, and not every interface needs to be done today.&lt;br /&gt;&lt;br /&gt;For us, technically the interfaces fall into 3 groups.&lt;br /&gt;a) Import/Export.  I.E. this is for websites that really have their own databases that manage members, groups, etc…  We need to keep the AMS/CRM system synced to the web database.  yawnnnnnn… &lt;br /&gt;b) Web services &amp; direct connect.   This is for websites that communicate directly with the AMS.  Direct connect bolts one website to one AMS.  I.M.H.O is the least expensive, but you have to like the look&amp;feel of “their” website.   Web services allow many different websites to bolt to many different AMS’s.  &lt;br /&gt;c) Portal Part Control.  Our latest favorite, our CRM/AMS communicates to the web by portal parts.  I.e.  Login on, edit my contact info, and register for an event. Etc.    We allow the AMS to control the part, etc from within the AMS.  I.e. The AMS user can add/remove the fields, change web part functionality etc by just updating the part manager in the AMS.  No developer needed here!, but the association can edit the UI/ skins, content, look and feels, move web parts around, etc…  &lt;br /&gt;One could really write a book about this, but the above is a synopsis of what we see in the marketplace.&lt;br /&gt;&lt;br /&gt;Mike Frye&lt;br /&gt;Partner Altai Systems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-7999157893609012697?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/7999157893609012697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/03/association-membership-and-website.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/7999157893609012697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/7999157893609012697'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/03/association-membership-and-website.html' title='Association Membership and website integration....'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-4924028501920818168</id><published>2010-03-10T13:13:00.000-05:00</published><updated>2010-03-10T13:18:37.685-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRM ISV.Config'/><title type='text'>
 Your isv.config file got trashed....</title><content type='html'>Did your ISV Config file get ruined.   Those are simple CR LF marks in the javascript.  Its easy to fix.&lt;br /&gt;&lt;br /&gt;Just go into Visual Studio and do the following replace...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_Onk7VIyGc0c/S5fiTvgIEJI/AAAAAAAAADQ/UD3xrfS0Jco/s1600-h/replace.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 248px; height: 320px;" src="http://4.bp.blogspot.com/_Onk7VIyGc0c/S5fiTvgIEJI/AAAAAAAAADQ/UD3xrfS0Jco/s320/replace.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5447071103124508818" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-4924028501920818168?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/4924028501920818168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/03/your-isvconfig-file-got-trashed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/4924028501920818168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/4924028501920818168'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/03/your-isvconfig-file-got-trashed.html' title='&amp;#xD;&amp;#xA; Your isv.config file got trashed....'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Onk7VIyGc0c/S5fiTvgIEJI/AAAAAAAAADQ/UD3xrfS0Jco/s72-c/replace.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-1335112726838315849</id><published>2010-02-18T22:51:00.000-05:00</published><updated>2010-02-18T22:54:52.844-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IVR'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Add-ons'/><title type='text'>TellMe  IVR Solutions</title><content type='html'>TellMe is Microsoft IVR solution for both incoming and outgoing voice calls tied into a wide variety of data sources. More than 40 million people use Tellme every month to reach the people, businesses and information they need on the phone and on the go. Businesses use Tellme to create a better experience for their callers. Tellme improves the way phones connect people and businesses with each other. &lt;br /&gt;&lt;br /&gt;Our add-in allows for customers to use the Notifier service to make automatic phone calls based upon user selected accounts. Based upon that phone call, TellMe can either leave a voicemail or engage in an IVR exchange. &lt;br /&gt;&lt;br /&gt;Our add-in works from the CRM workflow, so imagine the possibilities:&lt;br /&gt;Client Service Call - Call and let them know someone is coming...&lt;br /&gt;New Client, Call with important info....&lt;br /&gt;&lt;br /&gt;The posiblities are endless...&lt;br /&gt;&lt;br /&gt;This was written for a bank with many thousands of CRM seats...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-1335112726838315849?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/1335112726838315849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/02/tellme-ivr-solutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/1335112726838315849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/1335112726838315849'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/02/tellme-ivr-solutions.html' title='TellMe  IVR Solutions'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-6650937298617631458</id><published>2010-01-21T17:39:00.000-05:00</published><updated>2010-01-21T18:01:59.059-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Forcing a CRM Wildcard Lookup</title><content type='html'>if (crmForm.all.USPTO_fundid.DataValue == null) {&lt;br /&gt;    try {&lt;br /&gt;    &lt;br /&gt;        var lookupItem = new Array();&lt;br /&gt;        lookupItem[0] = new LookupControlItem("", 10010, "*" + USPTO_glaccountsegment3id+"*");&lt;br /&gt;        crmForm.all.USPTO_fundid.DataValue = lookupItem;&lt;br /&gt;        crmForm.all.USPTO_fundid.Lookup(true); // Pop the lookup&lt;br /&gt;        // Set the form control value to the lookupItem that you just created.&lt;br /&gt;    }&lt;br /&gt;    catch (err) {&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-6650937298617631458?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/6650937298617631458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2010/01/forcing-crm-wildcard-lookup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6650937298617631458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6650937298617631458'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2010/01/forcing-crm-wildcard-lookup.html' title='Forcing a CRM Wildcard Lookup'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-6358060513882881600</id><published>2009-12-21T22:37:00.000-05:00</published><updated>2009-12-22T08:10:01.724-05:00</updated><title type='text'>Fun Javascript CRM Month is off by one....</title><content type='html'>Why does this always come up with the wrong date???&lt;br /&gt;&lt;br /&gt; try{&lt;br /&gt;    &lt;br /&gt;    inhabc_monthenddate = crmForm.all.habc_monthenddate.DataValue.getUTCFullYear().toString()+'/'+&lt;br /&gt;   crmForm.all.habc_monthenddate.DataValue.getUTCMonth().toString()&lt;br /&gt;    crmForm.all.habc_monthenddate.DataValue.getUTCDate().toString();&lt;br /&gt;} catch(err) {inhabc_monthenddate='';}&lt;br /&gt;&lt;br /&gt; Because Javascript numbers months from 0 to 11.   &lt;br /&gt;&lt;br /&gt; try{&lt;br /&gt;    var ismonth =  crmForm.all.habc_monthenddate.DataValue.getUTCMonth()+1;&lt;br /&gt;    inhabc_monthenddate = crmForm.all.habc_monthenddate.DataValue.getUTCFullYear().toString()+'/'+&lt;br /&gt;    ismonth.toString()+'/'+&lt;br /&gt;    crmForm.all.habc_monthenddate.DataValue.getUTCDate().toString();&lt;br /&gt;} catch(err) {inhabc_monthenddate='';}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-6358060513882881600?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/6358060513882881600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2009/12/fun-javascript-crm-month-is-off-by-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6358060513882881600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/6358060513882881600'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2009/12/fun-javascript-crm-month-is-off-by-one.html' title='Fun Javascript CRM Month is off by one....'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2596183451100264867.post-2914598570847355146</id><published>2009-12-20T19:23:00.000-05:00</published><updated>2009-12-20T19:31:44.794-05:00</updated><title type='text'>Hiding unnecessary menus in MSCRM</title><content type='html'>You removed pricelevel from the form and now that it is back, CRM does not know how to properly call the price level lookup. &lt;br /&gt;&lt;br /&gt;Need to hide navbar items and control user interaction a bit better?&lt;br /&gt;&lt;br /&gt;Here is a java script that will hide CRM nav bar items...&lt;br /&gt;Put this in the onload of a form..&lt;br /&gt;&lt;br /&gt;var navBar = document.getElementById("crmNavBar"); &lt;br /&gt;var optionItems=navBar.getElementsByTagName("nobr"); &lt;br /&gt;for (i=0; i{ &lt;br /&gt;if ((optionItems[i].innerText == "Travel") &amp;&amp; (optionItems[i].parentElement) )&lt;br /&gt;optionItems[i].parentElement.style.display="none"; &lt;br /&gt;&lt;br /&gt;if ((optionItems[i].innerText == "Intake") &amp;&amp; (optionItems[i].parentElement) )&lt;br /&gt;optionItems[i].parentElement.style.display="none"; &lt;br /&gt;if ((optionItems[i].innerText == "Social Services") &amp;&amp; (optionItems[i].parentElement) )&lt;br /&gt;optionItems[i].parentElement.style.display="none"; &lt;br /&gt;if ((optionItems[i].innerText == "Dossier") &amp;&amp; (optionItems[i].parentElement) )&lt;br /&gt;optionItems[i].parentElement.style.display="none"; &lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2596183451100264867-2914598570847355146?l=altaixrm.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://altaixrm.blogspot.com/feeds/2914598570847355146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://altaixrm.blogspot.com/2009/12/hiding-unnecessary-menus-in-mscrm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2914598570847355146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2596183451100264867/posts/default/2914598570847355146'/><link rel='alternate' type='text/html' href='http://altaixrm.blogspot.com/2009/12/hiding-unnecessary-menus-in-mscrm.html' title='Hiding unnecessary menus in MSCRM'/><author><name>ALTAI Systems</name><uri>http://www.blogger.com/profile/11151440689743912139</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://photos1.blogger.com/img/6/8394/320/mekids.jpg'/></author><thr:total>0</thr:total></entry></feed>
