<?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-8615790520070527171</id><updated>2012-02-16T04:18:45.017-06:00</updated><category term='business processes'/><category term='continuous integration'/><category term='website development'/><category term='Project Paperweight'/><category term='CRM'/><category term='process automation'/><category term='macros'/><category term='unit testing'/><category term='communication'/><category term='Microsoft Dynamics CRM'/><category term='workflows'/><category term='xRM'/><category term='e-commerce'/><title type='text'>Lucas on Information Systems</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-5713591881972090235</id><published>2011-04-01T09:27:00.001-05:00</published><updated>2011-04-01T09:35:48.748-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='unit testing'/><category scheme='http://www.blogger.com/atom/ns#' term='continuous integration'/><title type='text'>Unit testing Microsoft Dynamics CRM code</title><summary type='text'>If you're developing code that runs against Dynamics CRM, you know you should be testing it, right? As a developer first and foremost, I always believed that tests and documentation got in the way of the important - and more fun - stuff, but as I transitioned into a management role with responsibility for my company's Dynamics CRM system, I began to appreciate the value of the less-fun stuff.

In</summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/5713591881972090235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/04/unit-testing-microsoft-dynamics-crm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/5713591881972090235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/5713591881972090235'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/04/unit-testing-microsoft-dynamics-crm.html' title='Unit testing Microsoft Dynamics CRM code'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-957435179084581174</id><published>2011-03-21T08:40:00.000-05:00</published><updated>2011-03-21T08:40:28.389-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><title type='text'>Dynamically setting field requirement levels in Microsoft Dynamics CRM</title><summary type='text'>In Dynamics CRM you may have a field you want to be required some of the time, but not required, or maybe not even enabled, the rest of the time. In this post I'll show you how to dynamically enable/disable and set/unset the required attribute of CRM form fields using JavaScript.

Let's say you have a delivery restaurant that sells pizza and wings. You could store the order attributes in CRM on a</summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/957435179084581174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/03/dynamically-setting-field-requirement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/957435179084581174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/957435179084581174'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/03/dynamically-setting-field-requirement.html' title='Dynamically setting field requirement levels in Microsoft Dynamics CRM'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-2223812939471172375</id><published>2011-03-17T23:00:00.003-05:00</published><updated>2011-03-18T09:15:18.365-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business processes'/><title type='text'>It's all about the requirements - part two</title><summary type='text'>In my last post, I shared a few observations on the problems that result from trying to complete an information systems project without good requirements. In this post I'm going to talk about how to avoid that problem.
I'm not going to presume to tell you how to put together the perfect requirements documentation in a single blog post, but I have a few real-world tips to point you in the right </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/2223812939471172375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/03/its-all-about-requirements-part-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/2223812939471172375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/2223812939471172375'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/03/its-all-about-requirements-part-two.html' title='It&apos;s all about the requirements - part two'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-3573636007817665549</id><published>2011-03-17T17:19:00.004-05:00</published><updated>2011-03-17T17:20:49.673-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='business processes'/><title type='text'>It's all about the requirements - part one</title><summary type='text'>I've seen lots of information systems projects fail for lots of reasons, but the reason that trumps all others is a lack of clear requirements established at the beginning of the project. Yes, that's right, more important than technology, people, scheduling or even process, is for stakeholders to initially agree on the set of conditions that have to be met for the project to be considered </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/3573636007817665549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/03/its-all-about-requirements-part-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/3573636007817665549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/3573636007817665549'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/03/its-all-about-requirements-part-one.html' title='It&apos;s all about the requirements - part one'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-5554049096417106079</id><published>2011-03-17T14:36:00.000-05:00</published><updated>2011-03-17T14:36:57.567-05:00</updated><title type='text'>Using internal rate of return to evaluate technology projects</title><summary type='text'>One of the most basic and most important functions of technology management is to evaluate projects to determine whether your organization should invest time and resources in them. As fundamental as this function is, too many people do it the wrong way. I initially wrote a draft version of this post that outlined a variety of wrong ways to evaluate projects, but I gave up on it because it was too</summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/5554049096417106079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/03/using-internal-rate-of-return-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/5554049096417106079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/5554049096417106079'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/03/using-internal-rate-of-return-to.html' title='Using internal rate of return to evaluate technology projects'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-7203985231550746303</id><published>2011-03-15T14:24:00.002-05:00</published><updated>2011-03-17T16:53:16.733-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><title type='text'>Activity coding in Dynamics CRM</title><summary type='text'>At a previous job, we had used GoldMine (version 6.7 was where we parted ways) as our CRM system before moving to Dynamics CRM. At the time - maybe it's still done this way - GoldMine allowed you to code activities with a hierarchy of references, codes and results. We used reference to separate activities either by department or broad functional grouping (e.g. "service" was a separate reference </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/7203985231550746303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2011/03/activity-coding-in-dynamics-crm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/7203985231550746303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/7203985231550746303'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2011/03/activity-coding-in-dynamics-crm.html' title='Activity coding in Dynamics CRM'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-1035568350036599342</id><published>2010-06-02T09:00:00.004-05:00</published><updated>2011-03-15T14:14:19.699-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='process automation'/><category scheme='http://www.blogger.com/atom/ns#' term='macros'/><title type='text'>A macros system for Dynamics CRM - part three</title><summary type='text'>In part one of this series, I explained the basic idea behind a macros system for Dynamics CRM and a situation in which you'd want to use it instead of a workflow for process automation. I explained the structure of the macros system and showed the CRM entity form customizations that are required to implement it in part two. In this final part I'll show the ASP.Net code that does the heavy </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/1035568350036599342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2010/06/macros-system-for-dynamics-crm-part.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/1035568350036599342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/1035568350036599342'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2010/06/macros-system-for-dynamics-crm-part.html' title='A macros system for Dynamics CRM - part three'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-4561746454185446575</id><published>2010-05-24T09:00:00.003-05:00</published><updated>2010-05-24T09:09:18.532-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='process automation'/><category scheme='http://www.blogger.com/atom/ns#' term='macros'/><title type='text'>A macros system for Dynamics CRM - part two</title><summary type='text'>In part one of this series, I explained the basic idea of what a macros system for Dynamics CRM is and a situation in which you'd want to use it instead of a workflow for process automation. In this post I'll explain the structure of the macros system and show the CRM entity form customizations that will be required to implement it.

As I mentioned in part one, the idea underlying the macros </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/4561746454185446575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2010/05/macros-system-for-dynamics-crm-part-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/4561746454185446575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/4561746454185446575'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2010/05/macros-system-for-dynamics-crm-part-two.html' title='A macros system for Dynamics CRM - part two'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_qHS2wM7KD40/S_ldxm_5QNI/AAAAAAAAAAw/c9_fn20rSBY/s72-c/iframe_general.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-3767090196761506673</id><published>2010-05-20T08:53:00.001-05:00</published><updated>2010-05-20T08:56:35.647-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='workflows'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='process automation'/><category scheme='http://www.blogger.com/atom/ns#' term='macros'/><title type='text'>A macros system for Dynamics CRM - part one</title><summary type='text'>Workflows in Dynamics CRM can do a lot, but a significant limitation is that they're asynchronous. If you need to automate server-side code execution and interact with the user at the same time, you're out of luck. This is where you can use something that I call a macros system.

This is the first of a three-post series in which I will:
outline a business problem that a macros system can solve
</summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/3767090196761506673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2010/05/macros-system-for-dynamics-crm-part-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/3767090196761506673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/3767090196761506673'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2010/05/macros-system-for-dynamics-crm-part-one.html' title='A macros system for Dynamics CRM - part one'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-2739120634175795371</id><published>2010-05-17T14:24:00.001-05:00</published><updated>2010-05-17T14:26:47.612-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='xRM'/><category scheme='http://www.blogger.com/atom/ns#' term='CRM'/><title type='text'>The problems with xRM</title><summary type='text'>For the past year or so, I've been hearing the Microsoft Dynamics CRM community talking about the concept of xRM. Supposedly xRM is the idea that you can do all sorts of custom development on top of the MS CRM platform instead of using it just for traditional CRM kinds of tasks.

To that I say, "big deal."

To clarify, I think that using MS CRM as a platform for custom development is generally a </summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/2739120634175795371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2010/05/problems-with-xrm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/2739120634175795371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/2739120634175795371'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2010/05/problems-with-xrm.html' title='The problems with xRM'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615790520070527171.post-1497303263636375460</id><published>2010-05-17T10:30:00.005-05:00</published><updated>2011-03-17T17:17:47.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='e-commerce'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Paperweight'/><category scheme='http://www.blogger.com/atom/ns#' term='business processes'/><category scheme='http://www.blogger.com/atom/ns#' term='website development'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><title type='text'>You can't always get what you want</title><summary type='text'>I was going to kick off my new blog with an inspiring post about who I am and what I believe and why you should care about what I have to say. Then I realized that was lame. You'll decide whether you want to be here based on the utility and/or entertainment value of what I share, not some rambling manifesto. So, without further adieu, let's jump right into things . . .

As a young, and admittedly</summary><link rel='replies' type='application/atom+xml' href='http://lucasonis.blogspot.com/feeds/1497303263636375460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://lucasonis.blogspot.com/2010/05/you-cant-always-get-what-you-want.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/1497303263636375460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615790520070527171/posts/default/1497303263636375460'/><link rel='alternate' type='text/html' href='http://lucasonis.blogspot.com/2010/05/you-cant-always-get-what-you-want.html' title='You can&apos;t always get what you want'/><author><name>Lucas Alexander</name><uri>http://www.blogger.com/profile/16218461365473077308</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://3.bp.blogspot.com/_qHS2wM7KD40/S_Fs-CJPtiI/AAAAAAAAAAM/uG2wtNdmsPM/S220/diesel.jpg'/></author><thr:total>0</thr:total></entry></feed>
