Thursday, October 4, 2007
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
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:
<tr><td>First name</td><td><input type="text" name="firstname"></td></tr>
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"/>
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
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:
Friday, April 27, 2007
One of several things will happen:
1. All the bees will all die off, 75% of the world's population will starve, war will break out over the food that is left, the few people that survive will barely be subsisting and not be contributing to the global warming any more, and a new species of insect will take the place of the bees.
2. The bees that do survive CCD will have superior genetic material, their honey will be prized and, thanks to short sighted entrepreneurs, all their honey will be sold to the Chinese for $100/oz which will leave nothing for them to live thru the winter on, and they will die - see scenario #1
3. Similar to #2 except that the bees with superior genetic makeup will create "super" bees with "hive intelligence." They will start their own government, sell the royal jelly to the Chinese as an aphrodisiac for $15000 per oz, buy up all the world's assets under an assumed name and force all mankind to live in the outback of Australia to act out the "Road Warrior" (a Mel Gibson movie) for their entertainment.
Wednesday, April 25, 2007
I realized today that there is a database function (found under the Programmability/Functions/Table-valued Functions) available to me in CRM called fn_GetFormatStrings() that returns most of the number formats I would need. The function returns a single record (you query it in SSRS like it was a table) and each field contains the number formatting string. Each field is named something appropriate, such as "NumberFormat_2_Precision" and the string looks like this: "###,###,###,##0.00;-###,###,###,##0.00;0.00". So to make use of that, we have created a query in the RDL called DSNumberFormat that pulls that one record and then in the Format for that textbox, we make a reference to that using the expression
Tuesday, April 24, 2007
Last year a client asked me to develop some reports for MS CRM using SQL Server Reporting Services (SSRS). I have decided to post some of the things I have learned here so that others may benefit from this useful (although quirky) tool.