| Philip's profilePhilip RichardsonBlogLists | Help |
|
|
May 04 My Blog Has MovedMy blog URL has now moved!
Please update your links:
Traffic has picked up on the new URL (and gone done on the old one). Please update your RSS Readers, OPML files and links. May 01 Another new CRM BlogCharles Eliot has just started a blog on msdn.com! Charles is our 'slave driver' on Titan..... CRM Team BlogToday the CRM Program Management (PM) team launched our blog: http://blogs.msdn.com/crm. Our aim to is publish a healthy stream of CRM content for customers, partners and prospects to consume. Feel free to post comments on the site with feedback and suggestions. April 26 Looking for PlayersIf you aren't a Microsoft FTE you can ignore this post.
I recently posted on our Fantasy-RPG's public folder:
If you are a loyal microserf looking for some regular gaming action - then we have a good game for you. Our group is a mix of PMs, devs and testers (in the past the PMs have been the GMs - what does that say?). April 21 Private vs Public CommunitiesI received an email this moring inviting me to join a private Microsoft CRM mailing list. This invitation provoked some interesting thoughts and sparked an interesting mail thread within the team.
In the end I decided not to join the private community (they were looking for MVPs, product team people etc). My #1 goal is to work on Titan. Unfortunately anything else is secondary (I'm a Feature PM not an Evangelist): therefore any time spent in a private community would be time not spent in a public one.
In the end one simply has to ask themself: what would Robert Scoble do? April 11 New Record GUID'sAaron Elder (Invoke Systems) informs us that we can specify the GUID of records when we create them. As Aaron points out this is an awesome integration feature if the native system uses the uniqueidentifier data type. The Form AssistantIt's no secret in the CRM team that I'm not a fan of the Form Assistant (it's that thing that appears on the right hand side of some of the CRM form and gives you lookup info for related entities). I should also point out that the Form Assistant is the 'pet feature' of Sayta's (my VP) Technical Assistant - so my dislike for the feature is bound to get me into trouble.
If you want to remove the Form assistant here is the attribute to change in the ImportExport xml file:
<forms> <entity name="account" objecttypecode="1"> <form type="main" id="{b053a39a-041a-4356-acef-ddf00182762b}" enablerelatedinformation="false" relatedInformationCollapsed="true">The one you are after is 'enablerelatedinformation'. By default this is set to true. Simply change it to false and then import the file back to CRM and run a publish. If you really dislike the form asssitant then a find replace for enablerelatedinformation="true" with enablerelatedinformation="false" might be a good idea.
Remember: run a back up of the database before doing this kind of stuff and like always this is inspirational not instructional.
This posting is provided "AS IS" with no warranties, and confers no rights.
Microsoft CRM Customer Portal SampleJohn Straumann has posted a cool sample over on his blog of a Microsoft CRM Customer Portal. This sample shows how you can connect Microsoft CRM to your company's external web presence - exposing appropriate information to your customers. The sample uses a mix of the Filtered View and Web Services provided by Microsoft CRM 3.0. April 03 Convergence MunichSince Jim posted about this I'm guessing it's public: Convergence Europe is in Munich (in November). After the marathon drinking sessions at Dallas this year I'm not sure my liver could handle the Euros and their endless appetite for grog and the Bavarians with their love for strong wheat beer and giant pretzels. With any luck I'm in big trouble for going 'slideless' during my Dallas Convergence presentation so I won't be invited to present at Munich (my liver and cholesterol levels will be thankful). Besides I think I want to go to North Africa on holidays in November: Tangiers, Casablana and maybe even Tripoli (is that even legal??!?). Programmatically Modifying PicklistsI have been infected with the Program Management cold (again). I suspect our competitors are placing germs in our building's air conditioner. The following post is taken from a reply I sent on an internal CRM mailing list - regarding the method to programmatically modify picklists. I thought it might be useful to a broader audience. Please excuse it's sketchy nature. Remember - blogs are inspirational not instructional.
Here is the methodology for getting to the account picklists (but it works with pretty much any entity).
ExportXmlRequest exportRequest = new ExportXmlRequest(); exportRequest.ParameterXml = @"<importexportxml> <entities> <entity>account</entity> </entities> <nodes/> </importexportxml>";
ExportXmlResponse entities = (ExportXmlResponse)service.Execute(exportRequest);
Now you will have string containing the Account ImportExport.xml. Load this into a XML document.
Now parse throught the Attributes element looking for picklist attributes: <attribute PhysicalName="PreferredContactMethodCode"> <Type>picklist</Type> <ValidForCreateApi>1</ValidForCreateApi> <ValidForUpdateApi>1</ValidForUpdateApi> <ValidForReadApi>1</ValidForReadApi> <DisplayMask>ValidForAdvancedFind|ValidForForm|ValidForGrid</DisplayMask> <Description>Preferred contact method for the account.</Description> </attribute>
The actual picklist values are in the FieldXml element (not in the attributes - this is the trap for young players). <field name="preferredcontactmethodcode" requiredlevel="na" defaultvalue="1"> <displaynames> <displayname description="Preferred Method of Contact" languagecode="1033" /> </displaynames> <options nextvalue="7"> <option value="1"> <labels> <label description="Any" languagecode="1033" /> </labels> </option> <option value="2"> <labels> <label description="E-mail" languagecode="1033" /> </labels> </option> <option value="3"> <labels> <label description="Phone" languagecode="1033" /> </labels> </option> <option value="4"> <labels> <label description="Fax" languagecode="1033" /> </labels> </option> <option value="5"> <labels> <label description="Mail" languagecode="1033" /> </labels> </option> </options> </field>
Now you can edit these values here and then re-import the data back to CRM the ImportXml and Publish web service messages.
Hint: don’t get distracted by the languagecode …. these are not the droids you are looking for. This posting is provided "AS IS" with no warranties, and confers no rights.
March 30 Customization and Source ControlThere was a couple of questions at Convergence last week regarding 'management' of customizations (eg. source control) and CRM 3.0. Recently I took ownership of the ImportExport APIs as part of my feature set - so I thought I would ponder some of the uses of these APIs.
We actually provide some web service method for managing customizations. The six relevant messages are: ImportAllXml, ImportXml, ExportAllXml, ExportXml, PublishAllXml and PublishXml. All six are documented in our SDK and sample code is provided (they are in the following folder: ..sdk samples\reference\crmserviceapi\importexport). For example here is the code to extract the entire customizations xml from a CRM server:
So now you have it an XML file - what do you do. Save it to the file system? How about considering the following options:
If you are a partner or a large customer I'd strongly recommend that you have some kind of build process customized for your unique needs.
This posting is provided "AS IS" with no warranties, and confers no rights.
March 29 Why you should use RSS and CRMSo many of you will already be aware of the new RSS connector for CRM 3.0. You can download it from Microsoft.com here. For some technical background on the connector Michaeljon Miller the connector's creator has a great post on his blog.
Why should you care about RSS? The impact of the pub/sub model is already having a huge impact on the way that people consume the internet. I believe the next wave of feed consumption will be inside organizations. If you are an IT Person: consider how you want to get important information into the hands of your users. If you are a Business Person: consider how you want your information to be delivered - why can't you have your latest Opportunities delivered like your morning news in RSS? If you are a Partner: consider the solutions you could build on top of RSS - an industry standard format with dozens of multi platform clients (and baked into IE7 and Vista).
CRM is already a very strong SOA platform with it's powerful and flexible web services. With this new connector - you can make CRM the RSS 'hub' of your organization. Entity Diagrams for CRM 3.0We have released a set of visio diagrams of the out of the box CRM 3.0 entities. It can be downloaded from Microsoft.com here.
Tip: When you create a new Entity with CRM it creates two database tables (dbo.<entityname>Base and dbo.<entityname>ExtensionBase), a basic view (dbo.<entityname>) and a Filtered View (dbo.Filtered<entityname>). You can easily point Visio at your SQL database to add these to your diagrams or using the SQL database diagram feature. March 28 ConvergedConvergence is now winding down. I'm hiding out in the speakers room eating Danish Pastries.
Highlights:
- Annoucement of CRM Hosted (our Service Provider offering).
- Drinking every night of the conference until 2:00am.
- Jeroboam restaurant.
- Meeting lots of customers and partners.
Lowlights:
- The Palms restaurant. Woke up in the middle of the night sweating and threw up.
- Drinking every night of the conference until 2:00am.
March 26 Convergence SundayI'm currently at the Microsoft CRM Expo booth at Convergence. Feel free to stop by to say 'Hi' or to ask any tricky CRM questions. I'll be here until 6:00pm.
Tonight I'll be at the CRM Customer Party. If are an existing CRM customer at Convergence - stop by the booth and pick up an invite. March 23 Convergence BeginsI'm now in Dallas - here for the Microsoft Convergence conference. On the weekend I've got my focus groups to run and on Monday I'll be presenting a session. For the rest of the time I'll just be hanging out. My 'hanging out' duties include lab patrol, booth duty and being a good drinking buddy for colleagues/customers/partners.
If you are a Convergence attendee and you want to catch up then ping me with Rio (the networking thing) or MSN Message me (philip@philiprichardson.org). Please: no stalkers.
On the technical front I am really 'digging' ASP.NET and the new SQL Express (gone are the days when I'd load SQL Dev Edition). My new found love for SQL Express came as a bit of shock to me having been 'less than friends' with the old version of the desktop database.
Sometime this week (in between hard work and hangovers) I hope to get my hands dirty with AJAX. March 07 Custom Entity IconsI discovered an interesting feature today. I always thought that CRM stored custom icons in the inetpub folder. However it turns out that the custom entity icons are stored in the database (in the form xml).
<Icon type="GridIcon">R0lGODlhEAAQANUzAP//s9nYh7+/fc/Pj9CkG9TJe//3n8+iG//xl/TQcPXsqc/HfM/PhP/+4///9f/Vcf/90tnZpc/Kf7+/if/8vcTEj9nZl//qjenLcdnZiP/de//6pNTFd8nJi9TPgf/Qat/fqunYftCkF//WcKmpc//geru5rP/9l//Ra//1j//uiNmmGv/ogv//8v//33l3a9KkEv//mf//zP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADMALAAAAAAQABAAAAaNwJlwSCwKYcikUmmawRytqHTagr2cDZd2y3VZnRCZODKpgMTiL4wCAHRIgwHJ0gaoN7EYI5MXCPIxagYnhIQBJAGFaggpjSkSJB6OKWoXKpcqJAuYl2osn58FIaCfaholqCUkHKhKVzAPI7IjGAmyMAoEL00wHyi/wL8wIrtHK8fIyAfFQiYvz9DRTUJBADs=</Icon> </Icons> These are then rendered with an aspx page which takes the encoded image from the database and displays it as an image (naturally these are also cached for performance). All the 'application' icons are stored in the file system.
The good news here is: when moving between different implementations - your icons will come over with the ImportExport.xml and you don't have to worry about deploying custom icons out to load balanced servers.
This posting is provided "AS IS" with no warranties, and confers no rights.
February 28 Convergencebloggers.NetAfter my last post I received an email from one of site admins for: http://convergencebloggers.net/.
It's in the same vein as the TechEd Bloggers and PDC Bloggers. Check it out and add your blog. Calling Convergence BloggersAre there any other bloggers (or blog readers) out there heading to Convergence?
Is there 'general interest' in having an unofficial blogospheric get together? If nothing has been organized yet - I'm happy to co-ordinate something.
If you are interested leave me a comment on this post or email me (philip@philiprichardson.org).
This posting is provided "AS IS" with no warranties, and confers no rights.
|
|
|