Don't use MS CRM! It is not worth the ulcer you will get!
Yesterday I reached the breaking point with regards to MS CRM.
We needed to push a build to staging, so the customer can start acceptance testing. The way we built it, we have a central CRM development server, and each developer is working mostly locally, but against the same server. I don't like it, but the CRM doesn't really give me much choice.
At any rate, we started the move by trying to move the customizations from the development server to the production server. Naturally, there is no way to diff things, so I have no idea what changed since we last went to production.
The import process failed, some SQL error. There is a reason that I use the term "some SQL error", that is the entire information that I have about this error. checking the event log, trace files, etc reveals no further information. That went beyond annoying. We ended up having to do import of entity by entity, and doesn't merge by hand for the entities that failed to import successfully.
As you can imagine, that took: (a) time, (b) aggravation.
Both development and production machines has the same version installed, and it is not as if I was trying to do something out of the ordinary, it is supposed to be a common operation.
I had enough with this in lapsus alumni platform. I officially declare it as a nightmare platform.
MS CRM - don't bother even trying, you will thank me for it.
Comments
Oh, how I love those kind of errors: Something bad happened. Good bye.
You could do a SQL trace on the SQL server while the install is running. That would probably get you more information.
I would add ESRI's ArcGIS Server ADF (a GIS platform).
Weird errors, minimal documentation, zero flexbility for anything not done with a designer.
And also...
http://blogs.microsoft.co.il/blogs/dorony/archive/2007/02/09/No-Excuse.aspx
those who have played with asp 3.0 will remember the funny "unspecified error" thing.
I could...
Or I could never touch this piece of useless bits ever again.
If I have to pull out the big guns, then the application is not worth using at all.
Maybe it's a kind of game a 'quest' for programmers. You know those kind of it where you need to take this, pull that, push here, then stand there, jump exactly 3 times etc
There's no excuse for bad error messages. You found the SQL logs, right? (in Enterprise Manager, or MSSQL\LOG\ERRORLOG.*).
Haven't worked with MS CRM, but I'm surprised by the comment that "there is no way to diff things." Are you working directly in the test database? I started my last big DB project working that way. Things got much simpler when I started using ApexSQL Edit with version control. All changes are made to text files (one file per stored proc, trigger, etc.). Each file includes a DROP and CREATE statement. These files are run against whichever database needs to be changed. ApexSQL Edit includes a deployment module, but I just write little batch files with osql commands to patch about 15 databases at once. The text files are stored in SourceSafe so I can do dfff's, versions, rollbacks, etc. Changing schemas while maintaining live data gets a little tricky but can still be accomplished with custom TSQL scripts.
Mark,
MS CRM doesn't let me work with the DB directly, I can work with that.
All the changes are made internally, and there is no way to get the stuff out in a diff format.
I understand what you feel. I have worked with another piece of the Microsoft Business Platform (Navision or Dynamics Nav) and I felt exactly like you.
I don't know CRM but knowing Navision your post not surprise me.
Why do you not diff the customizations XML from both environments to see what the problem is? This usually happens to us when a data type changes on a custom attribute. No, CRM doesn't do it natively but it should take about 2 minutes to do using your favorite diff tool.
Honestly, we've written hundreds of thousands of lines of code across three-four developers using CRM3 as our platform for the past 11 months, and while we occasionally have a hiccup we have managed to release a pretty stable, well-liked CRM application for our mobile sales force. 3rd party plugins from other companies are our biggest challenge, unfortunately.
Dwain,
The problem wasn't how to diff things, the problem is that it should NOT happen, and such things are all too common in this flustermess that is called the CRM.
Sure, I can do workarounds, but when I find out that most of my time goes on the workarounds...
You know it's only a matter of time before the MS CRM team tries to hire you.
@J.P.
I have a feeling Ayende wouldn't accept that position for a $million a year. =)
(actually, maybe he would...)
You think MS CRM is a nightmare platform?
We are currently migrating a Sharepoint 2007 development project from developer machines to a "build" machine.
Ulcer you say? I'd be happy to slip into a coma to avoid the problems we are facing.
Comment preview