by Nelson Johnson. This blog covers lessons learned and best practices on building apps in the Dynamics Power Platform. The name is derived from my domain, Eccountable.com
Sunday, April 13, 2008
Install and Delete MS CRM organization from deployment manager
For one client however, I needed two copies running at one time (for testing and development purposes) with each one installed as its own organization. The process was very simple. The client created a backup of their CRM4 version from their server and I restored it on my laptop. Then using the deployment manger, you can Import that DB as a new CRM organization. During this process it will ask you where your SSRS is located so be prepared for that. For development of reports, I created a separate virtual folder in SSRS for that client so that I never overlap my customer customizations.
During this process, it will re-assign ownership of all the records because of the way Active Directory works; the GUID's of CRM users in their domain would be different from users in my laptop's domain. For my purposes, I just let the system assign them all to my admin account. This whole reassignment process can take a while to run if you have a large database.
When I was done, I decided that I wanted to delete the extra organization, but there wasn't any evidence of an organization Delete function in deployment manager, just a Disable link. After a bit of poking around, I discovered that you must first Disable the organization, then you will get the options to either re-enable it or delete it. When you choose to delete, it will _not_ delete the database; you can do this on your own.
Wednesday, March 5, 2008
MS CRM Horizontal scroll bar
Here were some options we came up with (assuming IE 7):
1. Use the Internet Explorer Zoom feature – when you open the CRM opportunity list, hold down the control key and roll the mouse center wheel and it will zoom in/out so that you can see more data, albeit smaller.
2. Make the width of the columns narrower – this will make them all visible, but with the font at that size, the data will be mostly hidden.
3. Get him a bigger screen and use a slightly higher resolution (like 1280 x 1024) – this should make it easy to see and give you visibility of all the fields.
4. He could use an Excel add-in tool from Prosoft Systems, and he would have visibility to all the data in all 4 business areas
5. Change the default Text Size of the browser to be "Larger" so that when the view is rendered in its IFrame, it will be too large for the window width and force IE to render a horizontal scroll bar.
Hope this helps someone! If you have any other suggestions, please share them.
Wednesday, February 27, 2008
CRM 4.0 upgrade error
The attachments missing parent object IDs in database.
Since this did not make much sense to me, I did some research and found that I could launch the setup with a command line parameter:
setupserver.exe /L c:\crmlog.txt
and after reading that log, it appeared that many activities were being scanned and it hit an error:
Check OrphanAnnotationValidator...
the key words here are 'orphan' and 'annotation' which suggested to me that there were records in the annotation table that did not connect properly to another table.
It turns out that one of my programmers had manually converted some activities into the system using SSIS and left the ObjectID field blank on some records in the AnnotationBase table, so I deleted those records using this SQL statement:
delete from dbo.AnnotationBase
where isnull(objectid ,'fd6fc64e-5165-dc11-baa3-001a6b7af693')
= 'fd6fc64e-5165-dc11-baa3-001a6b7af693'
this statement will scan the AnnotationBase table, and for each record that has a Null ObjectID field (my invalid records), it will treat that field as though it has the GIUD 'fd6fc64e-5165-dc11-baa3-001a6b7af693'
(a unique identifier) so that it can compare it with the same GUID, therefore only the records with a null ObjectID will be found and deleted.
and then I re-started the upgrade and it got me past the error so I could continue the upgrade.
SQL 2005 SP2 Error during install
C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB921896_sqlrun_sql.msp.log
and it was HUGE! it took forever, but I finally found this message burried in the log:
---------- clip -----------
MSI (s) (98!44) [22:27:08:640]: Product: Microsoft SQL Server 2005 -- Error 28062. SQL Server Setup cannot install files to the compressed or encrypted folder: D:\Program Files\Microsoft SQL Server\. To continue, make sure that your installation directories are not compressed or encrypted, or specify a different directory, and then run SQL Server Setup again.
Error 28062. SQL Server Setup cannot install files to the compressed or encrypted folder: D:\Program Files\Microsoft SQL Server\. To continue, make sure that your installation directories are not compressed or encrypted, or specify a different directory, and then run SQL Server Setup again.
---------- clip -----------
and sure enough, someone had compressed the entire SQL server folder. So I uncompressed it and re-ran the SP2 update and it worked fine.
Hope this helps!
Thursday, October 4, 2007
Installing a DRAC 5 card in a PowerEdge 2900
So being the geek that I am, I opened up the 2900 and poked around inside. it was immediately obvious that there were 2 ribbon cable connectors on the middle of the motherboard that were labeled RAC1 and RAC2. The problem is that the nearest compatible expansion slots were 6 inches away and there was a lot of other hardware between those connectors and the bus slot. I pulled out the internal fan housing (two easy blue tabs), looked around and noticed that there were some blue mounting poles hanging under part of the internal framework, and the DRAC had several holes in a similar pattern. There was also a black hole cover in the back of the machine that would offer just the right space for the ethernet connector when the DRAC is mounted on the poles. It was clear at that point that the DRAC was not going to be inserted in a regular expansion bus slot.
I removed the black hole cover and installed the DRAC on the blue poles. Then started looking at the ribbon cables. I discovered that they are very close in size, but one is slightly larger. I was careful to attach the cable with the red ribbon connecting to pin 1 on both the DRAC and the motherboard connectors. I installed cable 2 first, then cable 1 because it was just going to be easier that way.
I replaced the fan housing (a simple slide in system) and had to be careful to not damage the new RAC cable which ir right up against it. After closing up the machine and powering it back on, the POST reported the existence of the new RAC and assigned it an IP address.
Now I need to figure out how to use it! I susect that the instructions and software are somewhere on the original disks that came with the PE 2900.
Let me know if you have some experience with setting up a RAC.
Thursday, July 5, 2007
CFIMPORT's gives customers customization control
I have read mixed reviews over CFIMPORT and I feel that I have to weigh in on the subject. I think there is another very useful application of CFImport that people are missing, and that is the ability to give customers a way to safely incorporate their web design into an existing system with a lower security risk.
First of all though, you have to understand that I am a very lazy programmer. I _hate_ coding TABLE tags for layout, not just because they are drudgery, but for all the good practices of separating User Interface (UI) from business logic (BL). So instead of a block of code like this:
<form method="post"> <table> <tr><td>First name</td><td><input type="text" name="firstname"></td></tr> </table> <input type="submit"> </form> |
I would prefer to write this:
<cfimport prefix="dsp" taglib="forms"> ... <dsp:beginform layout="singlecolumn" action="index.cfm" > <dsp:input type="text" label="First Name" name="Firstname" required="Yes" size="25"/> </dsp:beginform> |
And then I have a framework of modules that handle the UI, BL, and DAL (data access layer) aspects.
In my case, (unline many of you folks that have tight control over access to your code) I have some clients that I host a Farcry CMS system for them, and they like to change things around without calling me all the time.
Aside from the obvious fact that fewer lines of code = better maintainability, I can put the code containing the <dsp:...> tags in a location the customer can access them to change the <dsp:...> tags as much as they want - as long as I prevent them from writing any CF or other script code, they can now create pages to their hearts content and I dont have to worry about them crashing or hacking my system, and they can do some fancy forms and such.
Ironicaly, I ended up witing this article in Dreamweaver and hand coding TABLE tags around my code snippets because I didnt see an easy way to highlight my code in this blogging tool.
Thursday, May 3, 2007
SSRS Report Design Tips and Tricks
Best Practices - which includes sections on performance, rendering, page size, logs, parameter passing, and how to switch from a 2005 version back to a SSRS 2000 version.
Report Samples - sections on using custom code for aggregations, passing images into the report, data from multiple sources, changing the report at runtime, resetting page numbers (usefull for muti-page invoices and such), using matrix controls to make data run across the page instead of down, and creating 'Green bar' reports.
You can download the document here:
http://download.microsoft.com/download/2/7/c/27cd7357-2649-4035-84af-e9c47df4329c/ReportDesignTips.doc