04-03-2011 01:31 PM - edited 04-03-2011 01:36 PM
First, let me preface this by saying that I have worked with 7.5.2 for close to a year now, and I feel that I am an above average developer in terms of skills. And also, if I sound harsh in my assessment, that's because I am being harsh. I welcome the opportunity to be "set in my place" by someone who can show me the error of my ways. But until then...
I am extremely unimpressed with Process Orchestration for a number of reasons... but these reasons translate to my overall dissatisfaction with the documentation for SalesLogix in general.
For one, the API documentation is flat-out useless. My company has invested in the Developer training videos. While I have had issues with the content in the past (mostly because it is out-of-date), I have relied heavily on them to at least get me going in the right direction. In this case, the documentation as well as the videos totally miss out on the "nuances" that have plagued my experience. No substantive discussion is made on the exact deployment process you need to do in order to get things going quickly. I'm not talking about changing ProcessLib and ProcessStart; I'm talking about the need to start services in a specific manner in order to just get the app registered for listening... or how valuable the DBEventing shortcut can be in debugging... why do I have to hunt around the net, scraping together bits of knowledge here and there, to put it all together, when this should be in the developer documentation? Or in the developer videos?
Even if they WERE in the documentation, it wouldn't be able to address the bugs that I've discovered. For example, the documentation does not discuss the fact that the SLXTRIGGERS table is modified whenever you add a new Workflow. Why is this relevant? Because in following the Developer video tutorial, I encountered a bug where all CRUD operations for my entities came crashing down. I got errors along the lines of "Unspecified Error". And after hunting and hunting around for information, it turns out that there is a bug (I don't know if it's documented or not, but if it is, how about putting it in an updated video?) where the COLUMN_IDS column is not correctly populated when a new record is inserted to SLXTRIGGERS. It is always NULL. Once I updated this, it "worked - meaning my CRUD operations resumed normally (by the way, I can replicate this again and again. It is a step in my personal process for deployment and testing now. Happens every single time).
Throw this in along with the frustrations I was working through regarding the right order to start/stop DBEventing and I have wasted over a week just in trying to get a simple PropertyChanged event to fire correctly. Never mind that when I try to do anything more complex, such as sending an email (again, using the dev tutorial as a guideline), I get yet another cryptic error.
I can handle the bugs - who can reasonably expect perfection?! - but what I cannot handle is the lack of partipation on behalf of support to update the tools that my employer pays for in order for me to execute the goals they want completed through SalesLogix. It's bad enough that there is little in the way of community participation (it seems as if the only participants here are BPMs, and other websites suffer from the same problems with out of date content). But if we as an organization turn to Sage as a provider of CRM solutions, I feel it is reasonable to expect that in return Sage provides as much as possible to arm developers with accurate and detailed knowledge about their products. This is not a singular example, either. You only have to look through this forum to find other instances where incomplete or incorrect documentation has caused problems.
Thanks for providing a forum where I can voice my opinion. As I said before, please feel free to correct and guide me to where the answers lie, because I haven't found them.
From a Frustrated Developer
PS - asking me to "upgrade to 7.5.3" is not an acceptable answer in my opinion. Being locked in to 7.5.2 for business reasons has little to do with effectively communicating issues to developers and accurately updating documentation.