<?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-7849455512724481341</id><updated>2011-04-22T01:32:15.955+02:00</updated><category term='C#'/><category term='Code example'/><category term='Unsupported'/><category term='4.0'/><category term='Microsoft Dynamics CRM'/><category term='Javascript'/><category term='SDK'/><title type='text'>Hans Nellestijn Microsoft Dynamics CRM</title><subtitle type='html'>Started on december 30, 2007.
Here I will frequently post messages about (Microsoft Dynamics) CRM, (Web) Software Development and sometimes other subjects which have my intrest</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.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-7849455512724481341.post-2602184742567982608</id><published>2008-07-30T22:40:00.011+02:00</published><updated>2008-08-30T12:47:46.032+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='4.0'/><title type='text'>Microsoft CRM 4.0 development for on-premise, internet facing and multi tenancy</title><content type='html'>The last couple of weeks I spend to make our product "full crm 4.0 compliant". The foundation for our product was build on crm 3.0 wich was already succesfully "migrated" to crm 4.0 (i.e. all the code still accesses the 2006 (3.0) webservices). But now the product really is fully 4.0 compliant. So, what does that mean:&lt;ul&gt;&lt;li&gt;the 2006 (3.0) webservices are not used anymore&lt;/li&gt;&lt;li&gt;all callouts are replaced by plugins&lt;/li&gt;&lt;li&gt;support for both on-premise and internet facing deployments&lt;/li&gt;&lt;li&gt;support for multi tenancy&lt;/li&gt;&lt;li&gt;support for live deployment is postponed until that's available in europe&lt;/li&gt;&lt;li&gt;(full) support for the offline client is also postponed (my personal opinion is that "always online" has the future, which is made possible now with internet facing deployment)&lt;/li&gt;&lt;/ul&gt;In the coming period I want to write a number of articles about all the strugles (and solutions) we had to make it all work. Among the subjects will be:&lt;ul&gt;&lt;li&gt;what is the difference between on-premise and internet facing deployment and how does that affect your code (and other customizations)?&lt;/li&gt;&lt;li&gt;what is multi tenancy, how did Microsoft implement it in crm 4.0 and how does that affect your code (and other customizations)?&lt;/li&gt;&lt;li&gt;the beauty and pain of plugins&lt;/li&gt;&lt;li&gt;a solution for accessing filtered views in internet facing deployments&lt;/li&gt;&lt;li&gt;good resources on the web&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So, keep an eye on this blog. It will be updated soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-2602184742567982608?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/2602184742567982608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=2602184742567982608' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/2602184742567982608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/2602184742567982608'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/07/microsft-crm-40-development-for-on.html' title='Microsoft CRM 4.0 development for on-premise, internet facing and multi tenancy'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-1670090994075094828</id><published>2008-02-11T21:32:00.001+01:00</published><updated>2008-02-13T11:03:05.279+01:00</updated><title type='text'>ACI Gold Certified Partner</title><content type='html'>&lt;a href="http://www.aci.nl" target="_blank" oncontextmenu="alert('Sorry, you have to earn this ;-)');return false;"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_MDg-cO0rfig/R7CxQM4_U0I/AAAAAAAAAHE/NDTFFQsPaDg/s320/aci_gold_partner.jpg" border="0" alt="Visit ACI Website (Dutch)" id="BLOGGER_PHOTO_ID_5165823664490238786" /&gt;&lt;/a&gt;&lt;br /&gt;As of last week, the company I work for is a Microsoft Gold Certified Partner.&lt;br /&gt;In relatively short time (less then one year) we achieved two competencies, a certified Microsoft CRM ISV solution and some great customer references. Yes, I can say that I am proud!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aci.nl" target="_blank"&gt;Click&lt;/a&gt; on the logo to visit our company's website (Dutch).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-1670090994075094828?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/1670090994075094828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/1670090994075094828'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/02/aci-gold-certified-partner.html' title='ACI Gold Certified Partner'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_MDg-cO0rfig/R7CxQM4_U0I/AAAAAAAAAHE/NDTFFQsPaDg/s72-c/aci_gold_partner.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-8557640846004758229</id><published>2008-01-24T17:47:00.000+01:00</published><updated>2008-02-08T21:09:11.678+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Unsupported'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='4.0'/><title type='text'>My 1st impression of migrating to Microsoft Dynamics CRM 4.0</title><content type='html'>The last couple of days I started with investigating how to make our Microsoft Dynamics CRM 3.0 add-on(s) ready for CRM 4.0. Until now I didn't have the time to really dive into CRM 4.0 and I had only seen some demo's and read a number of articles about it. The knowledge I had made me quite optimistic about "migrating" our solution(s). But I have to confess: after studying the SDK 4.0 and playing around with some things, I'm afraid I have to change my estimates.&lt;br /&gt;Untill now I encountered the following issues:&lt;ul&gt;&lt;li&gt;existing code (i.e, all of &lt;em&gt;our &lt;/em&gt;code) which makes use of the crm webservices does not work without recompiling against the new webservices;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;recompiling against the new webservices forces you to change your code (e.g. datatype crmFloat has changed);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;url's are dynamically changed by the crm website, so relative references to own pages will not work anymore (e.g. custom url's in the sitemap);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;for some reason (I still have to find out why) modified attribute values in any precallout entityXml are not saved (is the dynamic entity xml schema changed?);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;new callouts (plugins) can only be activated (registered) by code which you have to develop &lt;em&gt;yourself &lt;/em&gt;(unbelievable that Microsoft hasn't made a good working, complete GUI for that);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;modifying the query (fetchxml) for lookups in JavaScript is not possible anymore;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the used (Generic)Identity for impersonation is not of type windowsuser anymore but some CrmIdentity type from which I don't know how to cast;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;All of these issues, and probably I will walk into more, can be solved, but I am really disappointed that Microsoft has changed these kind of things &lt;em&gt;without clear documentation how to solve these issues&lt;/em&gt;.&lt;br /&gt;How am I going to tell my boss that it takes (pretty much) longer than expected to be CRM 4.0 compliant?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-8557640846004758229?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/8557640846004758229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=8557640846004758229' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/8557640846004758229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/8557640846004758229'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/01/my-1st-impression-of-migrating-to.html' title='My 1st impression of migrating to Microsoft Dynamics CRM 4.0'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-5836833984065323545</id><published>2008-01-19T23:46:00.000+01:00</published><updated>2008-01-22T10:00:04.786+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Code example'/><category scheme='http://www.blogger.com/atom/ns#' term='Unsupported'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Dynamically accessing the field mappings area between Opportunity Product, Quote Product, Salesorder Product and Invoice Product</title><content type='html'>In a lot of projects we do for our customers with Microsoft Dynamics CRM 3.0 I find it very usefull that, though the relationships are not existing, it is still possible to access the field mappings areas to specify mappings between Opportunity Product, Quote Product, Salesorder Product and Invoice Product. This &lt;a href="http://support.microsoft.com/kb/914921" target="_blank"&gt;Microsoft Support Article&lt;/a&gt; tells how to do this.&lt;br /&gt;&lt;br /&gt;(Custom) mappings between those entities are wanted when custom fields are added to them. When converting an opportunity to a quote, or quote to salesorder or salesorder to invoice, you want the underlying details to be copied completely, &lt;em&gt;including your own custom fields&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;But, it is not that easy to do. You have to open pretty complex webpages (i.e. webservice descriptions and webservice result xml) which most (functional) consultants haven't seen before and than copy and paste guid's (who want's to deal with guids?) into the final field mappings area url to do the job. Above all, this has to be done physically on the CRM server itself (at least the first steps).&lt;br /&gt;So, I decided to include the (links to the) mapping pages into our standard product settings module. Pretty easy to do. Nothing else than hyperlinks to the following url (as documented in the Microsoft Support Article):&lt;br /&gt;&lt;br /&gt;&lt;div class="codeexample"&gt;&lt;font color="darkblue"&gt; http://&lt;em&gt;&lt;strong&gt;crmserver:5555&lt;/strong&gt;&lt;/em&gt;/tools/systemcustomization/relationships/mappings/mappinglist.aspx?mappingid=&lt;em&gt;&lt;strong&gt;{mapid}&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/div&gt;where &lt;em&gt;&lt;strong&gt;crmserver:5555&lt;/strong&gt;&lt;/em&gt; needs to be replaced by the correct server:port address. And &lt;em&gt;&lt;strong&gt;{mapid}&lt;/strong&gt;&lt;/em&gt; must contain the id (guid) of the specific field mapping area.&lt;br /&gt;&lt;br /&gt;But: how to dynamically obtain the correct mapid? (Microsoft Support says in their article mentioned that those id's differ for each environment!).&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://support.microsoft.com/kb/914921" target="_blank"&gt;Microsoft Support Article&lt;/a&gt; describes how to obtain the mapid's:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;open a url displaying the description for webservice "EntityMap"&lt;br /&gt;&lt;li&gt;click a hyperlink to display the webmethod "RetrieveEntityMaps"&lt;br /&gt;&lt;li&gt;as test parameter, fill in the specific source entityname and click "Invoke"&lt;br /&gt;&lt;li&gt;find in the displayed result xml the correct mapid and copy this&lt;br /&gt;&lt;li&gt;(now you can paste the mapid into the final url (see above) to bring up the desired mappings area)&lt;/ol&gt;&lt;br /&gt;Step 1 to 4 can be easily automated in a C# method which returns the mapid (e.g. a webmethod which can be called from Javascript, or inside an .aspx code-behind page). Here's the code:&lt;br /&gt;&lt;br /&gt;&lt;div class="codeexample"&gt;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;getMapId(&lt;font color="#0000ff"&gt;string&lt;/font&gt;&amp;nbsp;entityFrom,&amp;nbsp;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;entityTo)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#004080"&gt;try&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//create&amp;nbsp;httprequest&amp;nbsp;to&amp;nbsp;call the&amp;nbsp;"RetrieveEntityMaps"&amp;nbsp;webmethod&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;urlFromRegistry&amp;nbsp;=&amp;nbsp;(&lt;font color="#0000ff"&gt;string&lt;/font&gt;)&lt;font color="#008080"&gt;Registry&lt;/font&gt;.LocalMachine.CreateSubKey(&lt;font color="#800000"&gt;"SOFTWARE\\Microsoft\\MSCRM"&lt;/font&gt;).GetValue(&lt;font color="#800000"&gt;"ServerURL"&lt;/font&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;uri&amp;nbsp;=&amp;nbsp;&lt;font color="#008080"&gt;Path&lt;/font&gt;.Combine(urlFromRegistry,&amp;nbsp;&lt;font color="#800000"&gt;"entitymap.asmx/RetrieveEntityMaps"&lt;/font&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;data&amp;nbsp;=&amp;nbsp;&lt;font color="#800000"&gt;"entityName="&lt;/font&gt;&amp;nbsp;+&amp;nbsp;entityFrom;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;HttpWebRequest&amp;nbsp;&lt;/font&gt;req&amp;nbsp;=&amp;nbsp;(&lt;font color="#008080"&gt;HttpWebRequest&lt;/font&gt;)&lt;font color="#008080"&gt;HttpWebRequest&lt;/font&gt;.Create(uri);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.Method&amp;nbsp;=&amp;nbsp;&lt;font color="#008080"&gt;WebRequestMethods&lt;/font&gt;.&lt;font color="#008080"&gt;Http&lt;/font&gt;.Post;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.UseDefaultCredentials&amp;nbsp;=&amp;nbsp;&lt;font color="#0000ff"&gt;true&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.ContentLength&amp;nbsp;=&amp;nbsp;data.Length;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;req.ContentType&amp;nbsp;=&amp;nbsp;&lt;font color="#800000"&gt;"application/x-www-form-urlencoded"&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//and&amp;nbsp;add&amp;nbsp;the&amp;nbsp;parameter&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;StreamWriter&amp;nbsp;&lt;/font&gt;wr&amp;nbsp;=&amp;nbsp;&lt;font color="#0000ff"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="#008080"&gt;StreamWriter&lt;/font&gt;(req.GetRequestStream());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wr.Write(data);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wr.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//get&amp;nbsp;the&amp;nbsp;response&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;HttpWebResponse&amp;nbsp;&lt;/font&gt;resp&amp;nbsp;=&amp;nbsp;(&lt;font color="#008080"&gt;HttpWebResponse&lt;/font&gt;)req.GetResponse();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//load&amp;nbsp;it&amp;nbsp;into&amp;nbsp;a&amp;nbsp;XmlDocument&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;XmlDocument&amp;nbsp;&lt;/font&gt;doc&amp;nbsp;=&amp;nbsp;&lt;font color="#0000ff"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="#008080"&gt;XmlDocument&lt;/font&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;doc.Load(resp.GetResponseStream());&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resp.Close();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//Select&amp;nbsp;the&amp;nbsp;mapid&amp;nbsp;using&amp;nbsp;a&amp;nbsp;Xpath&amp;nbsp;expression&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;XmlNamespaceManager&amp;nbsp;&lt;/font&gt;nsmgr&amp;nbsp;=&amp;nbsp;&lt;font color="#0000ff"&gt;new&amp;nbsp;&lt;/font&gt;&lt;font color="#008080"&gt;XmlNamespaceManager&lt;/font&gt;(doc.NameTable);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nsmgr.AddNamespace(&lt;font color="#800000"&gt;"ns"&lt;/font&gt;,&amp;nbsp;&lt;font color="#800000"&gt;"http://schemas.microsoft.com/crm/2006/WebServices"&lt;/font&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;string&amp;nbsp;&lt;/font&gt;xPath&amp;nbsp;=&amp;nbsp;&lt;font color="#800000"&gt;"//ns:entitymap[ns:targetentityname&amp;nbsp;=&amp;nbsp;'"&lt;/font&gt;&amp;nbsp;+&amp;nbsp;entityTo&amp;nbsp;+&amp;nbsp;&lt;font color="#800000"&gt;"']/ns:entitymapid"&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008080"&gt;XmlNode&amp;nbsp;&lt;/font&gt;node&amp;nbsp;=&amp;nbsp;doc.SelectSingleNode(xPath,&amp;nbsp;nsmgr);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//Return&amp;nbsp;the&amp;nbsp;InnerText&amp;nbsp;of&amp;nbsp;the&amp;nbsp;found&amp;nbsp;node&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;if&amp;nbsp;&lt;/font&gt;(node&amp;nbsp;!=&amp;nbsp;null)&amp;nbsp;&lt;font color="#0000ff"&gt;return&amp;nbsp;&lt;/font&gt;node.InnerText;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="#800000"&gt;""&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;catch&amp;nbsp;&lt;/font&gt;(Exception&amp;nbsp;e)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt;//probably&amp;nbsp;an&amp;nbsp;authorization&amp;nbsp;error...&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;return&amp;nbsp;&lt;/font&gt;&lt;font color="#800000"&gt;""&lt;/font&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;Note that this code uses undocumented CRM features (at least not documented in the SDK). This makes it unsupported (but I bet it will continue working in 4.0, though I haven't tested it yet).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-5836833984065323545?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/5836833984065323545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=5836833984065323545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/5836833984065323545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/5836833984065323545'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/01/dynamically-accessing-field-mappings.html' title='Dynamically accessing the field mappings area between Opportunity Product, Quote Product, Salesorder Product and Invoice Product'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-4299324181748360929</id><published>2008-01-12T09:36:00.000+01:00</published><updated>2008-01-12T10:03:44.174+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><title type='text'>Microsoft Dynamics CRM 4.0 Language Pack: Spanish &amp; Dutch now available!</title><content type='html'>2 new language packs are available now; Dutch (my home language!) and Spanish.&lt;br /&gt;Microsoft Dynamics CRM 4.0 Language Packs contain translated text, such as labels, error messages, and Help.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By installing a Language Pack on the server that is running Microsoft Dynamics CRM 4.0 and then enabling the language in the Microsoft Dynamics CRM 4.0 Web application, users can view Microsoft Dynamics CRM 4.0 in a language other than the base language of the installation.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=50761E58-6040-4CF3-853A-F5AB535F7194&amp;displaylang=en" target="_blank"&gt;Download page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-4299324181748360929?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/4299324181748360929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/4299324181748360929'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/01/microsoft-dynamics-crm-40-language-pack.html' title='Microsoft Dynamics CRM 4.0 Language Pack: Spanish &amp; Dutch now available!'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-6063027662037974608</id><published>2008-01-12T09:33:00.000+01:00</published><updated>2008-01-12T10:02:07.681+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><title type='text'>Microsoft Dynamics CRM 4.0 SDK available!</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_MDg-cO0rfig/R4iB-1dLkAI/AAAAAAAAAGQ/ZXeGf4DVmyc/s1600-h/mscrm.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_MDg-cO0rfig/R4iB-1dLkAI/AAAAAAAAAGQ/ZXeGf4DVmyc/s320/mscrm.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5154512690026876930" /&gt;&lt;/a&gt;&lt;br /&gt;The Microsoft Dynamics CRM 4.0 Software Development Kit (SDK) is now available.&lt;br /&gt;It contains all new information about creating plug-ins, working with custom workflow activities, using the new Web services, using new data management features, and much more.&lt;br /&gt;&lt;br /&gt;For now, only a downloadable version is available. The online version will follow soon.&lt;br /&gt;Future releases will include the ISV Guide and Report Writers Guide.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&amp;DisplayLang=en" target="_blank"&gt;Download page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-6063027662037974608?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6063027662037974608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6063027662037974608'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/01/microsoft-dynamics-crm-40-sdk-available.html' title='Microsoft Dynamics CRM 4.0 SDK available!'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_MDg-cO0rfig/R4iB-1dLkAI/AAAAAAAAAGQ/ZXeGf4DVmyc/s72-c/mscrm.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-6491269110891366954</id><published>2008-01-06T09:52:00.001+01:00</published><updated>2008-07-02T22:42:54.296+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><title type='text'>Hans's scale of supportability; is a customization supported or not?</title><content type='html'>Often I hear questions about whether some customization is supported or not.&lt;br /&gt;Actually, I think it is not that clear to say what the exact definition of "supported customizations" is. When you search on the web, you can find a lot of (almost the same) definitions. In addition, I will give here my own definition:&lt;br&gt;&lt;br&gt;&lt;em&gt;A supported customization is a customization which uses only techniques which are documented in the SDK. This assures (when correctly implemented) that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the customization will continue functioning even after an upgrade;&lt;/li&gt;&lt;li&gt;the standard CRM functionality will continue functioning (both before and after an upgrade);&lt;/li&gt;&lt;li&gt;Microsoft will give support on it when it breaks (because this would mean that their SDK is not correct).&lt;/li&gt;&lt;/ul&gt;&lt;/em&gt;&lt;br /&gt;So, does this mean that we (we, CRM developers) only have to implement solutions which meet the above criteria? No, I don't think so. Moreover, even to build a solution which meets the "Certified for Microsoft CRM" criteria you don't have to stay exactly to the SDK documentation (I know this from my own experience).&lt;br /&gt;All you need to do is use your common sense.&lt;br /&gt;To do that, I have made my own &lt;strong&gt;scale of supportability&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Class A: &lt;em&gt;fully supported&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;These are fully supported customizations, only using techniques documented in the SDK.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Class B: &lt;em&gt;fully supported with unsupported cosmetic features&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;These are also customizations only using techniques documented in the SDK.&lt;br /&gt;But these customizations also contain some not documented tricks. Those unsupported tricks however are limited to GUI adjustments by using undocumented features in the application's HTML output. These include Javascripts which add icons/buttons or colorize fields/labels within forms and views, or Javascripts which hide items in the navigator pane. Bottom line is, to be class B (and not C or lower), that the chance of breaking functionality after an upgrade is not that big, and when it breaks it shouldn't be to difficult to repair.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Class C: &lt;em&gt;smart but breakable&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Class C customizations mostly are the prettiest ones. They offer a lot of extra functionality, but are not supported and will break for sure after an upgrade. These are the solutions which change (or even replace) system files of the application. Examples are modified (or completely replaced) aspx files to extend grid- and formviews, extended system Javascript files or implementation of http handlers.&lt;br /&gt;These kind of modifications actually change the contents of system files and folders so they never survive any upgrading or re-installation (without using specific tools/procedures for those customizations). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Class D: &lt;em&gt;bypassing the application's business logic&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Don't do this! When you bypass the application's logic your customization is probably already broken when you deploy it. You just don't know it yet.&lt;br /&gt;Bypassing the application's logic is done when retrieving data directly from the database tables (as opposed to filteredviews) using sql. Also (even worse) updating data in the database tables directly using sql is a guarantee for problems, sooner or later. &lt;br /&gt;Another class D customization to my opinion is to overrule authorization by impersonation techniques.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally I want to say: don't be scared to do an unsupported customization sometimes. But: use common sense. Be aware when you do something unsupported and estimate your chances of surviving future releases... and the effort needed if not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-6491269110891366954?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/6491269110891366954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=6491269110891366954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6491269110891366954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6491269110891366954'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2008/01/hanss-scale-of-supportability-is.html' title='Hans&apos;s scale of supportability; is a customization supported or not?'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-3764477909750605234</id><published>2007-12-30T17:23:00.000+01:00</published><updated>2007-12-30T23:07:48.351+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><title type='text'>Price calculation in Microsoft Dynamics CRM</title><content type='html'>Here I will give an overview of how price calculation in Microsoft Dynamics CRM works. This covers the product catalog with pricelists etcetera, but also the end-user experience for this (opportunities, quotes, salesorders). &lt;br /&gt;I've searched a lot on the web, but couldn't find any good resources about this (and it's not all that self-explaining...)&lt;br /&gt;&lt;br /&gt;&lt;-&lt;em&gt;under construction&lt;/em&gt;-&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-3764477909750605234?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/3764477909750605234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=3764477909750605234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/3764477909750605234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/3764477909750605234'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2007/12/price-calculation-in-microsoft-dynamics.html' title='Price calculation in Microsoft Dynamics CRM'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-6726105431046853780</id><published>2007-12-30T17:20:00.000+01:00</published><updated>2008-01-01T11:33:46.066+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><title type='text'>Pitfalls on converting an opportunity to a quote to a salesorder</title><content type='html'>This post will explain some pitfalls on converting an opportunity to a quote, or converting a quote to a salesorder in Microsoft Dynamics CRM. Actually, it will explain some unexpected (unwanted) behaviours around these three entities in general...&lt;br /&gt;&lt;br /&gt;&lt;-&lt;em&gt;under construction&lt;/em&gt;-&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-6726105431046853780?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/6726105431046853780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=6726105431046853780' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6726105431046853780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6726105431046853780'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2007/12/convert-photo-to-black-and-white-in.html' title='Pitfalls on converting an opportunity to a quote to a salesorder'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-8590356733206829724</id><published>2007-12-30T17:16:00.000+01:00</published><updated>2007-12-31T18:05:44.119+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics CRM'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='SDK'/><title type='text'>A "supported" way to manipulate main views with Javascript</title><content type='html'>Here I will describe a "supported" way to manipulate main views with Javascript in Microsoft Dynamics CRM. That is, how to get my own Javascript into a main view.&lt;br /&gt;When searching the web and asking some people it seemed not possible to do this without either editing the aspx pages or use advanced technologies like implementing a http handler, which is all definitely unsupported. But, late at night, when I couldn't sleep (don't worry, it was not because of this subject), I thought of a solution which is not unsupported (at least, not that unsupported)...&lt;br /&gt;&lt;br /&gt;&lt;-&lt;em&gt;under construction&lt;/em&gt;-&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-8590356733206829724?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hansnellestijn.blogspot.com/feeds/8590356733206829724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7849455512724481341&amp;postID=8590356733206829724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/8590356733206829724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/8590356733206829724'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2007/12/supported-way-to-manipulate-main-views.html' title='A &quot;supported&quot; way to manipulate main views with Javascript'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7849455512724481341.post-6104442692762009521</id><published>2007-12-30T13:07:00.000+01:00</published><updated>2007-12-30T21:23:15.999+01:00</updated><title type='text'>My first blog post (ever)</title><content type='html'>Hello. Well, this is my first blog post. Actually, it is my first blog post ever...&lt;br /&gt;With everybody around me having his own blog, I thought it's now the time to start my own. I have no idea how this blog will grow, but my intention is to make it a blog with "professional" content about my experiences in software development.&lt;br /&gt;Wel, so far my first post. Let's see how soon I will post the next...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7849455512724481341-6104442692762009521?l=hansnellestijn.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6104442692762009521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7849455512724481341/posts/default/6104442692762009521'/><link rel='alternate' type='text/html' href='http://hansnellestijn.blogspot.com/2007/12/my-first-blog-post-ever.html' title='My first blog post (ever)'/><author><name>Hans Nellestijn</name><uri>http://www.blogger.com/profile/00306151561900901772</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_MDg-cO0rfig/R3eOIVdLj0I/AAAAAAAAAB8/Cw1ZLm7wqgw/S220/hanszw.jpg'/></author></entry></feed>
