Sunday, August 03, 2014

US Judge orders MSFT to hand over data stored in the EU

As I have previously discussed (on Software Advice in this article) the US laws regarding the rights for the US legal authorities to order US owned companies to hand over data is very strong. Hence, if one has sensitive data that might be of interest to any government agencies in the US, one should think once or twice about storing it in a data center owned by a US company (like Salesforce.com, Amazon, Microsoft, Google etc.).

A recent case in in New York has shown that this is not on theory but very much practice. In this case regarding an email account probably on outlook.com however the difference to SalesForce.com or CRM Online is purely academic.

On the positive side, Microsoft are fighting back trying to protect their customer, something I am very happy about. I do hope they do this for all customers.

The other direct positive side to this of course, is that Microsoft CRM can be aquired from other sources than from companies based in USA. For instance a standard CRM On-premise installation, or a partner hosted installation, which there are many service providers of, like Midpoint and our my own company CRM-Konsulterna in Sweden. SalesForce.com on the other hand, do not have this option, so if you have sensitive data, be careful, it might be ordered into the wrong hands.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Thursday, July 03, 2014

Collation and MVP Renewal

When working with CRM systems in non-English countries you often need to take certain aspects into consideration that might have very dire consequences if set incorrectly, one of these is the database collation.

The collation of the database is simplified how it orders characters. For those of you not used to working with multi-language installation with odd characters this might not be something you have considered. As I am Swedish let me give you an example. The Swedish alphabet looks as follows:

abcdefghijklmnopqrstuvwxyzåäö

However using the collation that is default when using English as language in an on premise installation, which is "Latin1_General_CI_AI" (CI= Case Insensitive, AI = Accent Insensitive) the Swedish alphabet would be sorted as follows:

aäåbcdefghijklmnoöpqrstuvwxyz

This is why when installing an organization that is to be used in Sweden, despite the fact that you might have chose to have English as base language, that you need to select the collation that sorts the Swedish characters correctly which for CRM is "Finnish_Swedish_CI_AS".

On-premise setup of CRM - ability to select Finnish_Swedish_CI_AS collation
despite using English as base language

When setting up an organization in CRM online, you cannot chose the collation explicitly which is regrettable and I hope there will be some advanced setting in the future which will allow for this when provisioning new organizations. Check out what happened when I provisioned a new organization in English indicating that I was in Sweden.

The first pick list is for country - I selected "Sweden", the last is for language and I changed from "Swedish" to "English", which were the two only options.
After going through all the three steps you are shown a last instance configuration step.
In the instance configuration screen you can select the base language but there is no selector for collation. I selected "Engelska", which if you have any imagination, means "English".
After, a few seconds, yes, the new installation process is great and really fast, my org is up and running and I jump in to contacts and create to contact and check out the sorting. Any bets?
As you can see selecting English language will also implicitly select Latin1_General _CI_AI as collation which is incorrect from a Swedish perspective, I would have liked to see Östen Svensson at the end of the list, not sorted as "O". 

Collations are integral to the configuration of the SQL database and there are many features of the database like ORDER BY and indexes that depend on the collation why changing collation of a database is very very tricky. It is actually so tricky that it is not supported if you manage to do it with an on-premise, which I have heard rumours of that some people have managed to do. On an online you cannot request it. You will be recommended to migrate the data from the old org to the new.

So let's hope Microsoft will enhance the provisioning experience for CRM Online so that it includes a selector for collation. In the meantime, if you need a special setup, like the one I tried to set up above, English with Finnish_Swedish_CI_AS collation on CRM online I would suggest contacting Microsoft Online support to get their assistance in setting up the instance correctly. Hopefully they can assist in this.

And on another note, I was awarded the MVP award for the third year! A great honour and this very article is dedicated to the very award as two of my fellow MVP:s Shan McArthur and Niel Benson provided with background information to this article. I extend to you a humble thanks!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Tuesday, June 24, 2014

Some aspects of the composite address fields in CRM 2013

Dynamics CRM 2013 has brought many changes and some are great and some might still need some tweeking. I for one am still looking forward to be able to customized some of the new Composite fields with the fly-outs that can be seen for instance in the name of a Contact or the addresses.

There is much to be said about addresses in CRM by the way, I have previously written posts on this
and in CRM 2013 there is still interesting aspects on this as the address names are not set, in the Composite address fields why you need to make sure that these are properly set if you are going to use the address lookup functions that are available in for instance the quote, order or Invoice entity. My strong advice is also that the addresses of account and Contact be defined, for example, account address1 is visiting address and account address2 is postal address. The reason for this is it simplifies searching a lot when everyone knows what address1 is, and you can also have a workflow or Other logic that sets the addressname correspondlingly.

And just to say this again as I too often run into it, do not add fields to the account or Contact entities regarding address as the built in ones are linked by the platform to the Customer address entity and you need to fully understand how this linking is done and be able to mimic its behaviour for new fields before adding a new address field, otherwise you might be painting yourself into a corner, as the saying is in Sweden.

A nice new feature that I noticed when working with the Composite address fields is that they adapt the layout of the address to the country. See the following example:


Setting of the address in the fly-out
Postal address with Swedish format


Postal address with English format, by changing Country/Region to England.
 

Not sure if you can find any formatting information in CRM regarding this that can be used for Reporting or similar, that would be great though so if anyone knows anything about where this formatting is stored, please leave a comment.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Monday, June 23, 2014

Troubleshooting networking issues

I often run into people in the CRM field who are very good at one or two things, they might be great programmers or a fantastic trainer. However, one of the skills I believe my customers appreciate that I bring to them is not the extreme depth in a certain field but a very good knowledge of many areas all concerning CRM. This ranges from subject as varied as management Consulting to nitty gritty network fixing, or just troubleshooting why that Outlook client won't work as it should.

And it is in troubleshooting that I think that the breadth of knowledge often does you most value as it helps me to back off from the problem and view it from a different perspective. I also believe that despite the fact that you might have a fancy business card, you should get your hands really dirty to understand what is really going on and what the people are the programmers or technicians are talking about.

And the most important thing about troubleshooting, make sure you have friends, you can never know it all, but with enough friends, there are no limits to what you can know and fix! The best way to get a friend help you in troubleshooting is to help them of course.

I have recently been working a lot with networking and trying to configure RRAS which we use at our lab Environment and I struck a wall and used the Power of social media to ask if there was anyone around that could lend a hand. Thankfully there was, my friend Pete McCollough came back and we met up at a cafe and after some collaborative troubleshooting we found the error and Pete said a wise word that I will remember and would like to share, that being

- Networking is not very complex, but extremely specific

Which he had to explain to me of course as I am only a half-wit. What he meant was that compared to for instance programming Networking is not in its architecture very complex, however, not two systems are identical and usually every component has some part that has been manually configured which turns the troubleshooting hard by trying to find your way around an unknown maze.

In this case I had simply forgotten that our hosting partner had a firewall that blocked 443 and 80 why no traffic got through. I had check the other Three firewalls that the traffic passed about 15 times, but that didn't matter. I so wished I had a debugger that worked for network traffic.

I was also informed that the following blog ranks this blog among the top 50 CRM blogs in the World which of course is very honouring. Maybe I am not a half-wit after all or maybe just lucky.

http://getvoip.com/blog/2014/06/23/great-crm-blogs

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Sunday, June 08, 2014

Unable to publish all in CRM 2013

I am working with a Customer now who is very savvy an wants to do a lot himself, which I generally encourage as this one of the inherent strengths of Dynamics CRM  and it would be sad to take it away. Of course we need a healthy discussion on where the line should be drawn on where he should stop configuring and I continue. In larger systems, you also need to take sandboxing/QA instancing into this perspective which of course makes it a bit trickier but this Customer is not so large so they can, at least for the time being, do their configuring directly in the system. It is always a matter of weighing the costs against the benifits.

However, we suddenly ran into a problem when we couldn't run "Publish All" any more. It just showed a dialog with a cryptic message mentioning object with id [1] missing.

My first thought was that this must be in relation to one specific entity so I started trying to publish one entity at a time (starting with the ones we have changed a lot) and I quite quickly noticed that I got an error when trying to publish Opportunity but not other entities.

I then created a new solution, added Opportunity to this and included all dependencies, and made sure to publish all dependencies Before trying to publish Opportunity, just to make sure that there wasn't some error in CRM:s causality of publishing. After doing this, I finally go an error message which said something useful, it said that a saved Query of a specifc GUID was missing. This probably meant that this Query was being used on a form in a subgrid and had been removed and when trying to publish, it would not, as the view did not exist.

I opened the form, went through all the subgrids and made sure that the selected view was an existing selection, saved and published the form and it worked. After this publish all also worked.

So the general conclusion is that you should be careful when deleting views as these might be used in subgrids, and the second conclusion is that Microsoft hopefuly will add a dependency blocker that disallows the deletion of a view that is being used in a subgrid.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Friday, May 30, 2014

Issues with the new Plugin Registration tool

As you might have noticed there is a new version of the plugin registration tool out with the new version of the SDK 6.1 released in may 2014. It has gotten a nice facelift in the UI and can now be found in the Tools directory.

However, I have had some issues when working with my on-premise org (it worked fine with online). I got the following error when trying to register a step on a plugin assembly.


Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Assembly file name (CRMKonsulterna.Modelon.Plugins.dll) is in invalid format. Only file name is allowed.
Detail: <OrganizationServiceFault xmlns="
http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorCode>-2147204719</ErrorCode>
  <ErrorDetails xmlns:a="
http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>Assembly file name (CRMKonsulterna.Modelon.Plugins.dll) is in invalid format. Only file name is allowed.</Message>
  <Timestamp>2014-05-30T06:58:51.0596986Z</Timestamp>
  <InnerFault>
    <ErrorCode>-2147204719</ErrorCode>
    <ErrorDetails xmlns:a="
http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>Assembly file name (CRMKonsulterna.Modelon.Plugins.dll) is in invalid format. Only file name is allowed.</Message>
    <Timestamp>2014-05-30T06:58:51.0596986Z</Timestamp>
    <InnerFault i:nil="true" />
    <TraceText i:nil="true" />
  </InnerFault>
  <TraceText i:nil="true" />
</OrganizationServiceFault>

Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.Xrm.Sdk.IOrganizationService.Create(Entity entity)
   at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.CreateCore(Entity entity)
   at Microsoft.Crm.Tools.PluginRegistration.RegistrationHelper.RegisterStep(CrmOrganization org, CrmPluginStep step)
   at Microsoft.Crm.Tools.PluginRegistration.StepRegistrationForm.btnRegister_Click(Object sender, EventArgs e)


I'm including it all here for searchability. I have highlighted the message that is the interesting part.

When retrying it in the older version of Plugin Registration tool, it works just fine, as long as I re-register the assemblyfile. If I keep the assembly file and try to register the step in the older version (6.0.0001.0061) I will still get the error, so I did have to unregister the entire assembly and register it all over. This also only seems to show up when registering to disk (I havn't tried registereing to GAC as I seldom use that).

Also do note that despite right clicking on the assembly-plugin and pressing "Add step" it seems to omit this information in the form for registering the step so make sure that your step is registered on the correct assembly. I got a bit confused and registered quite a few on ActivityFeeds until I noticed this.

For reference, this is for Plugin Registration Tool version 6.1.0.519 and I am testing it on CRM 2013 UR2 Onpremise.

I am also quite sure these bugs will be fixed soon by Microsoft, but it might be a good idea to keep a copy of the older Plugin registration tool just in case.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Friday, May 09, 2014

CRM UG Sweden growing

This wednesday we had Another great meeting with the Swedish Dynamics CRM User Group. As an MVP I have the privilage of being able to join these meetings and listening and taking part in the discussions when all these different companies share their concerns, problems and successes with their CRM systems and implementation Projects. It is fascinating to see the bredth of companies that attend, from companies with 2 CRM users to companies with 3000 users. It is an amazing system that can fit that large a difference in what is needed. I sometimes Think that we Work so hard with our every day problems that we might not recognize this simple fact.

The CRM UG in Sweden is new and the Group is rather small, the last meeting we were about 12 people but you can already feel the Power that comes from users meeting other users and sharing their experiences. I am hoping to be able to go to the large CRM UG conference in S:t Louis which promises to be something else.

The next meeting will be on the 3:rd of september and the agenda is not set yet, but it will probably be about a member show case, probably one of the larger companies that is member, and we were also discussing having a presentation on popular 3:rd party Products, but that remains to be seen.

Click this link: http://www.crmug.com/events/crmugsweden9314 to register.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Wednesday, April 30, 2014

Resco javascript Fetch all account example

I have recently been working on a Proof-of-concept for a customer with the Resco.net mobile platform. It is the first time I have been working deeply with it and I really like it. The woodford customization tool is very powerful and easy to use. It also allows customizers to add custom components such as offline html and js-components that can be used to extend the built in functionality where the standard forms do not meet the customer’s requirements.

In this case my customer wanted me to prove that it was possible to create an overview screen for an account showing lots of related information on a single screen. As Resco does not intrinsically support subgrids, like Microsoft Dynamics CRM does, you have to create this with a custom html which loads this data from the offline Resco storage. In theory this shouldn’t be too hard. It proved to be a bit more of a challenge, especially since the Resco Woodford manual contained some errors why I thought it might be a good idea to publish an example of how a complete code example of how to fetch a list of accounts wrapped in a working html-page that can just be copy-pasted into a file and tested out. This was one of the issues I had as just getting a simple base-line to work from was quite a lot of work.

So, without any more bells and whistles, here is the code:

<!DOCTYPE html>
<html>
<head>
    <title>Account List</title>
<script type="text/javascript" src="JSBridge.js"></script>
<script type="text/javascript">

function writeError(text) {
var error = document.getElementById("errortext");
error.innerHTML = error.innerHTML + "
"
+ text;
}

function callbackAccountsLoaded(res)
{
    writeError("In callbackAccountsLoaded")
    writeError(res);
}
 
function callbackAccountsFailure(res)
{
    writeError("callbackAccountsFailure")
    writeError(res);
}

function onAccountLoad() {
    try {
        writeError("Start!");

        var account = new MobileCRM.FetchXml.Entity("account");
        account.addAttribute("name");
        account.filter = new MobileCRM.FetchXml.Filter();
        account.filter.where("statuscode", "eq", 1); // which have “Active” status

        var fetch = new MobileCRM.FetchXml.Fetch(account);
        writeError("Sending");
        fetch.execute("Array", function (res) { callbackAccountsLoaded(res); }, function (err) { callbackAccountsFailure(err); }, null);
    }
    catch (e)
    {
        errortext("Error: " + e.message);
    }
}
</script>
</head>
<body onload="onAccountLoad();">
<div style="height:300px;" id="errortext"></div>
</body>
</html>

Some of the important points here are:

1.      account.filter.where needs to be used instead of using account.where directly as indicated in the example in the Woodford manual. It also needs to be instantiated with the “MobileCRM.FetchXml.Filter();”

2.      The fetch.execute is referencing two callback functions, one for success and one for failure. Make sure these references exist and have the correct number of arguments.

3.      I have not found any decent way of debugging javascripts within Resco. I would be more than happy to be corrected here. Using alerts will not work on all platforms (Resco indicates alerts do not work on Windows 8 RT for instance). Hence I have created the errortext-method which outputs text in a log-file manner to a div at the end. Make sure that the height is enough.

4.      To be able to load information on the currently edited object, if the iFrame is shown in the context of an account for instance, then MobileCRM.UI.EntityForm.requestObject() has to be used.

5.      The first parameter of fetch.execute indicates how the result is to be formatted. In this example I have chosen “Array”, but there are other choices like “JSON” and “XML” as well. Please refer to the Woodford manual for more information on this.

6.      Do try to use try-catch around a lot of this as any errors will otherwise just not show when run. If there is an error, you can display the message and at least get an idea of what was wrong.

7.      When developing, I like to use Windows 8/8.1 and maybe a CRM Online/IFD environment as that will allow me to install the Windows 8 version of the Resco CRM to try it out. The different platform clients for Resco are 95% identical, some UI differences and I have seen some other differences as well, but in general, it will speed up development a lot and you will only have to do the final development tests on the iPad/Android device.

If I get a lot of interest in this, I will publish more on this subject. As mentioned earlier, I havn’t found that much community content on Resco, the mobile client I currently feel is the premier choice, as the Microsoft Mobile client is a bit simpler in its design, features and also customizabilities.


Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Tuesday, April 22, 2014

Server side Sync Trouble shooting

I have been working with a Proof-of-concept for the lates couple of Days and have been setting up the server side sync for a CRM on-premise system. First of all I would just like to share that it is a really nice new feature, I really like the fact that we now can have an option to not have to use the email router. With the new spring release, it will also be available for CRM Online, but only CRM-Online to Exchange Online (O365) not hybrid Environments (ex. CRM Online to Exchange on-premise or vice versa).

However, I did run into some issues as none of the emails that I sent to the email account connected to the queue showed up in the queue.

The Server Sync is handled by the MSCRMAsyncService and if you switch on logging in CRM (which can be done using adding the registry key "TraceEnabled" and setting it to 1 or using Power Shell)  you will get the logging of the server sync in the async tracing loggs. It turned out that I had a missmatch in email addresses which CRM apparently didn't like and you can only have one email address for a queue, but it was easily fixed once I knew the problem. I just wonder how I would troubleshoot this if I got this in CRM Online... hopefully MSFT will be adding additional logging to the server sync functionality.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Wednesday, March 12, 2014

Recording of data modeling session

Today, well soon yesterday, I held the presentation for www.XrmVirtual.com on Data modeling in Dynamics
CRM. It is a bit hard to know if people liked it but some of the comments were very positive so I think it was appreciated.

If you were unable to attend, you can find the recording here: http://t.co/69AMqzQPUW and if you have/had any questions regarding this, please feel free to use the comments below to ask these. Do note that I moderate all comments to avoid getting spam, why it may take some time until your comment is published.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Saturday, March 08, 2014

XrmVirtual Presentation on Tuesday

On Tuesday I am doing my first presentation for www.xrmvirtual.com. The presentation will be on data modeling in Dynamics CRM and I will be discussing general aspects of this and also specific Dynamics CRM aspects that are important to consider when modeling data.

Areas that I will be discussing are Concept exploration and definition and how these relate to entity maps. Some of the peculiar aspects of Dynamics CRM that you need to take into consideration when modeling data. I have one hour and I am sure I will fill it to the brim. If not, make sure to prepare any questions. I will post a link to the recording of the presentation when it is done here and any questions on the subject can of course be discussed here as well.

It is scheduled to be held on Tuesday the 11:th of march at 12:00 EST / 17:00 CET. A recording will be made available later if you are unable to join live.

To join, please use this LiveMeeting link: https://www.livemeeting.com/cc/usergroups/join?id=PPQ8P9&role=attend


Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Monday, February 10, 2014

Deployment types

The Power of Choice has for a long time been a slogan for the deployment options for Microsoft Dynamics CRM and I agree, I Think that all the different options for suppling a Customer with Microsoft Dynamics CRM are a great unique advantage that this CRM system compared to other CRM system which typically can only be gotten in one of the flavors. In this post I will try to discuss the different options, what I Think are the pros and cons of the each version. Do note that I will be discussion more than 3, as the SPLA option can be twisted into several subsets.

I will admit before even writing further, that the list below will be incomplete as there are so many different perspectives that can be taken when analysing this.

CRM Online
Microsoft CRM Online is now probably the most common platform for Microsoft Dynamics CRM. It is in essence Microsoft Dynamics CRM hosted by Microsoft provisioned using the Office 365 billing portal (yes, there are still some old Microsoft Id/LiveID/CTP orgs left, but not for long). Microsoft have promised a release cadance of new features of at least once every 6 months.

Pros:
- Very Quick startup
- 30 day trial that can be converted to full
- No need of any server hardware
- No up-front costs (CAPEX)
- High reliability
- Very common platform - ease of use for 3:rd party Products
- Free service support, within limits
- Multiinstance (1 free if more than 25 users)
- Can be connected to Federated AD
- Competitive pricing, especially for small to medium organizations

Cons:
- Limited space (approx 100 GB) if not special arrangements.
- Cannot decide where data will be located
- Limited configuration options - ex. collation settings
- No SQL access
- Delivery organization is distant from Customer
- Forced updates, can be postponed up to max 90 Days
- Difficult to integrate to due to difficulty of getting  reliable outgoing IP
- Not available in all geographies of the World
- Complicated/impossible to set up local development Environments with identical features


SPLA Shared Environment (Partner Hosted)
SPLA Shared Environment is very similar to CRM Online with the difference that the hosting is not done by Microsoft but by Another Microsoft partner. The Customer buys Dynamics CRM as a service directly from the partner. However, there is sometimes a third party involved as well, the CRM Reseller, which is the Microsoft partner that was responsible for making the sales. It is based on the on-premise why it will not have all the latest features as the on-premise release cadence is about once per year.

Pros:
- Quick startup. Provisioning depending on partner. Not as fast as CRM Online.
- Delivery closer to Customer
- No limitations on database size
- Updates often not "bleeding edge" to ensure stability
- Easier to integrate with than CRM Online due to known delivery parameters
- Full configurations options.
- Usually no up-front costs. (No CAPEX)
- Easy to scale users on a month-to-month basis
- A Service Access License (SAL), gives user acccess to any number of instances. How this is faced to Customer is up to SPLA partner.
- Backup/Restore features can be used in database with manual help of SPLA partner

Cons:
- Forced updates with less postponing functionality than CRM Online
- SQL Access often not possible
- New features will not be available as quickly as for CRM Online
- Complex relationship can cause problems
- CRM reseller will very seldom be getting the recognition for sold seats for SPLA due to a very ineffective process from Microsoft

SPLA Dedicated Environemnt with VPN
The most common way of SPLA Dynamics CRM delivery is for many organizations to share one large deployment. However, an alternative to a normal on-premise may also be a dedicated SPLA Dynamics CRM Server with a VPN link to the Customers site to connect to their AD. This way the Customer can have a "behind the firewall" CRM while still getting the advantage of an OPEX solution, i.e. not having to pay for servers, maintainence, full license fees etc. It is otherwise very similar to an on-premise solution as a dedicated server has to be installed for the Customer and only the infrastructure level of resource sharing, not CRM deployment level will be applicable.

Pros:
- More OPEX based set-up than standard on-premise but with almost similar flexibility of on-premise.
- Easy to scale users on a month-to-month basis
- Can utilize the full Resources of a large service providers back-end systems, with virtual server redundancy etc. which might not be available at the Customers site.
- SQL Access
- No limit on data
- A Service Access License (SAL), gives user acccess to any number of instances
- Backup/Restore features can be used in database

Cons:
- Cannot be used in all businesses due to policies of data storage etc.
- Might not be available at all CRM Hosting partners
- Due to SPLA licensing agreement, the Customer's personell cannot have administrator access to the SPLA licensed servers.
- Complex relationsship can cause problems
- CRM reseller will very seldom be getting the recognition for sold seats for SPLA due to a very ineffective process from Microsoft
- Longer startup. Installation, configuration etc.

SPLA In-sourcing
SPLA In-sourcing is when the SPLA outsourcer prepares an entire server or servers and puts these inside the Customer site and hosts the service from there. This might seem a bit odd but is fully doable, but must be seen as just this, a service provider from the inside, not a Customer server with an alternative license agreement. The Customer is not allowed to have any adminstrator access on this server.

Pros:
- OPEX based license delivery
- Easy to scale users on a month-to-month basis
- SQL Access
- No limit on data
- A Service Access License (SAL), gives user acccess to any number of instances
- Can have full access to customers back-end systems
- Backup/Restore features can be used in database

Cons:
- Can be hard to manage for CRM-reseller/SPLA-Admin due to accessability issues
- CRM reseller need tight relationsship with SPLA-partner to deliver
- Complex relationship can cause problems
- CRM reseller will very seldom be getting the recognition for sold seats for SPLA due to a very ineffective process from Microsoft
- Longer startup. Installation, configuration etc.

On-premise
The On-premise CRM licensing/deployment type is the most common for larger organizations. It means that the Customer buys their own license from the CRM reseller or directly from Microsoft using their existing purchasing channels in which case the CRM reseller will get a kick-back.
The CRM-Server will be installed in the companie's server environment.

Pros:
- Different licensing options available, from boxed licenses, volume licensing with both leasing and subscription licensing to let the Customer choose CAPEX or OPEX focus as they see fit.
- Each Client Access License (CAL) can be used for all instances and servers.
- Full SQL Access
- Backup/Restore features can be used in database
- Can have full access to companies back-end systems

Cons:
- Each server will need a separate server license, which can result in substantial costs when creating load balanced Environments, scaled out environements and then replicating this setup in Q/A and test deployments.
- Licensing not as dynamic as SPLA in changing number of users. Usually volume licensing checking user Count every year. Better fit for large organization.
- Longer startup. Installation, configuration etc.
- Will not be automatically pushed to next version like Online, risk of being "left behind" - there are still CRM 4.0 On-premise systems around where companies have not gotten around to upgrading. No partner to push either.

A final note
Do note that these are some of my personal reflections on the pros and cons of each of these deployment options and I am sure that you can come up with a couple of more and if you do, please share those in the comments below. I do get quite a lot of spam so I have moderation switched on, but if your comment is legit, I will allow it. I might also have gotten something wrong, and if I did, please let me know as soon as possible, so that I can get that fixed!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Sunday, February 09, 2014

First Techie After Work in 2014

It's time again for Techie After Work! So if you are a Dyn CRM Techie and Work or live Close to Stockholm, make sure to head over to Scandic Anglais on Feb 27:th at 5 pm where we'll have a couple of beers and discuss CRM mobility, apps and custom built UI:s. As usual Alan Varcoe (Cinteros), Peter Björkmarker (Intuni) and myself will be hosting the event together with Microsoft.

It will also be a great time to meet the new CRM Partner Technology Strategist Elin Ståhl, so make sure you book  it in you calendar, the previous events have been very popular and it is a great way to get to know your techie peers.

And remember, if you are not a techie, you are not welcome. :)


Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Monday, November 25, 2013

Our website down - vulnerabilities of online services

As some of you might have noticed, my Company website is at the time of Writing this currently down. Well, it isn't actually down, you just cannot reach it, as Microsoft moved it to Another server and the DNS's don't match any longer. We are working to get it rectified as soon as possible.

This does, however, show an inherent weakness in the online delivery model, as the service provider might choose to move the service and if you are not 100% in sync with how that is delivered and to be integrated with, you risk a stop in the services.

This was also evident, a few week ago when a client of mine who uses CRM Online with an integration to an on-premise integration had a sudden stop in the entire integration between the two systems. After some intense troubleshooting, we found that the source of the error was a timeshift of 9 minutes between the on-premise and online services rendering the SSL links invalid, why all Connections broke. After correcting the timeshift, it all started working.

Keep this in mind when working with online services.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Wednesday, November 20, 2013

Bugs and suggestions


What might be unknown to many CRM people is that Microsoft has a tool for managing bugs and suggestions called Connect. This can be found on connect.microsoft.com. So if you have any suggestions on how you think CRM should be enhanced, don't keep it to your self, add it to connect, and tell your friends, blog about it. After you have added a suggestion, other people can vote on an item and the more votes and item gets, the more attention Microsoft will give it.

I added two suggestions today, so feel free to go in and vote!

First, I think it would be a good idea to be able to supportedly change the logo in the left hand corner. This is done by companies today in an unsupported way which of course is bad, so it would be better to do enable a supported way to do it. Not that it is something I generally encourage, but many companies find this important.

I also think that the logic when using multiple forms of the latest form being used, to be the defaulted the next time a record of the entity is opened often is not what is required, why a default form for each role per entity would be very good.

Connect is also the Tools which is used for bugs during the TAP and beta programs if you are part of these.

I am currently in Bellevue close to Seattle on the MVP Summit, meeting the other MVP:s and the CRM Product team which is great! Joel Lindstrom and I held a presentation to the Product team today and they are a great crowd who are really interested in listening to our opinions. We are lucky to have them and they are really working hard to give us an excellent Product so giving them good input on things we feel the Product can be enhanced, is really a just doing our part of the development. It is easy to complain about something not being as you would like it to, but try to be constructive and formulate that into a suggestion instead and register it on connect and you may get it. Do keep in mind that they have a lot of things to try to triage and it might take some time, but if they don't know, you might never get it.

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Friday, November 15, 2013

CRM User Group in Sweden

When users of CRM from different companies and organizations meet and talk about their CRM systems, it is often very interesting to hear the conversations and they usually end up getting lots of new ideas about what they can do with their CRM system. Their partner might also have suggested some of these Changes but the partner is not perceived to be fully objective from the users perspective why they are often more open to listen to other CRM users.

This is why User Groups are such a good idea. They bring great value to the companies that have invested in CRM, by creating a forum where they can discuss common issues with other users or just get a better understanding of how other users have chosen to implement CRM.

For partners this is also a great idea, to get their customers, the users of their CRM systems to engage in the User Groups will increase their interest in CRM as they will see what else can be done with the system.

As there is a global CRM User Group called CRMUG (www.crmug.com) and all MVP:s are granted a free membership and I also noted that there was no local chapter here in Sweden, I contacted them and a friend of mine, Fredrik Neiderud at TeraCom Group who used to be a CRM Consultant but now has changed sides represents the user side. We decided to start the Swedish chapter of CRMUG and have now also got the support of Microsoft representative Fredrik Wolbe. As I am only part of CRMUG as an MVP, and CRMUG is supposed to be by users for users, Fredrik will be the chairman of the chapter.

We have also booked the first meeting to be on December the 11:th 3 pm at Microsoft in Akalla outside Stockholm. If you would like to join us please sign up as a member on www.crmug.com and then register your attendance on this page: http://www.crmug.com/events/crmugsweden121113?date=2013-12. Do note that the time on the site is in East coast time and not CET why it might be a bit off. I will be having a presentation on CRM 2013 and there will be a round table on upgrading to CRM 2013. We will of course also talk about the future of CRM UG in Sweden.

There are several different membership options, if you are a CRM user, there is a free basic membership that is required for attending the meeting.

I hope we can all help in creating a vibrant user community in Sweden that will boost our Dynamics CRM usage!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Monday, November 11, 2013

Mobile Client App (MoCA) on non-english CRM 2013

The Mobile Client App (MoCA) that Microsoft have made as part of the CRM 2013 release is really nice but it is still an early version so to get it up and running on a non-English CRM here is what you need to do. As I Work in Swedish, this is based on my experiences in Swedish and you might have different experiences in other languages.

Install MoCA
First of all, the Store in Windows 8 is by default set to only showing Apps in your local language, as the MoCA hasn't been released in Swedish, in my case, I have to change this.

To do this, open the Marketplace from the Tiles-screens, and swipe from the right or put your mouse on the Lower right hand corner. Select settings (or what ever it is called in your language).

You should now see a screen that looks something like this, but in you language:
Store settings - make sure the one about finding apps in your language is set to "No"
There should be two selectors, one with the caption saying something like
  1. Make finding apps in your language easier
  2. Make it easier to find apps which aid disabilities
Make sure that the first one is set to "No".

After this, click on the back-Arrow in the top left-hand corner.

You should now be back in the Store. Just type the following text (without citation marks):
"Microsoft Dynamics CRM" and press enter.

You should now see a list of Apps and the first one should be the right one, or otherwise it should be in the list any way. It looks like this:


The Microsoft Dynamics CRM Mobile Client App (MoCA)
Now, all you have to do is install the app.
 
Add English Language
What I noted was the that MoCA client will not work if you try to connect it to a Swedish version of CRM Online unless you first enable English in it. Hence this is what we have to do.
 
If you are running an On-premise, you will have to install the English MUI-pack/language pack and you will also have to configure your CRM to be Internet Facing (IFD) which I will not go into in this article but is described in the implementation guide in great depth.
 
Before continuing with configuring the MoCA, go back to your CRM and enable English. This is done by going to Settings->Administration->Languages. Select English and then press "Use".
 
A spinner will show and it will take some time until the language has been provisioned for the organization.
 
Adding English to the CRM Organization
 
Configure MoCA
When English has been added, the MoCA can be configured. It will be in English but it will at least work. Let's hope Microsoft will probably release MoCA in other languages soon.
 

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Saturday, October 26, 2013

New features of CRM 2013 Online and now in Swedish!

Just provisioned a CRM Online with Swedish settings and if you had not noticed it before, you will now be getting the new and beautiful CRM 2013 and in Swedish. With the previous releases we had to wait for a month or two, but not this time.

Main dashboard of CRM 2013 - I guess asking for demo data in Swedish would be stretching it

For those of you who have not had the time to look that much into CRM 2013, there are some main areas that you should notice.

1. New navigation. The navigation has moved from the left hand side to the top, and folds out. I Think this is great as it removes a lot of the clutter on the screen an frees a lot of real estate. From a more subjective perspective it also makes the application be perceived as simpler to use which will increase user adoption.

The new navigation on Dynamics CRM 2013 - expands from the top
2. Flat browsing. Almost all pop-up windows have been removed. This is a huge change, and some might be scared now and wonder how am I going to be able to compare to accounts, not to worry, just press the right button and select "Open in new Window" and it will open in a separate window, but in general everything will happen in the same window. This is also a huge plus when using the system on a tablet.

Flat browsing in CRM 2013 - Ex. when adding a phone call in an account, this is done in a small inline window.
3. Auto save. Previously, in CRM 2011 and earlier versions, users were required to save each form explicitly, the data inputted was not "sticky". This has now changed and the data inputted will now remain as inputted without any need for pressing save buttons from the users. I think this is a great feature as it makes the use of the application faster and easier, however, for users coming from CRM 2011, you do have to be a bit aware as the system does behave a bit different in this perspective. For example, if you open an account, check which values exist in a picklist/dropdown and just happen to pick one and then move to some other part of the system, you selection has been saved. This was not the case in earlier versions.

4. Processes driven UI. This is really a great feature of CRM. It allows you to see where in a processes you are. This can be any process which can span across several different entities. There are two processes included from the beginning, one for Lead-Opportunity and one for Case. The processes are of course customizable and can be put into solutions (solution aware).


Processed driven UI as seen in the Lead entity. When qualified, the process will continue in the opportunity entity.

There are of course heaps of other new features around, including a mobile client MoCA, that is now included in the CRM license, but I think these features are among the most outstanding additions to the system. We did already see a preview of some of these in Polaris, but they were very limited at that time. And as Always, this is a brand new version of an extremely dynamic product, if Microsoft have missed getting a corner right, report it on Microsoft connect, ask your friends to vote for it and have faith that it will be rectified, after all, Rome was not built in a day, and I do love Dynamics CRM a whole lot more than Rome!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se

Friday, September 13, 2013

Interview with Markus Erlandsson

Yesterday I was interviewed by Markus Erlandsson who has just started up a new blog called CRM Rocks which is an audio-blog, which is quite uncommon in the Dynamics CRM Community.

He asked me if I would consent to do an interview, I thought it was an interesting new take and I am also a big fan of anybody trying to bring value to the Dynamics Community. It doesn't have to be bleeding edge or include 5000 lines of C# code to be good, there is good use for blogs and other content of a lighter level as well.

Markus' initiative with his new audio blog brings a personal side to the CRM Community and I hope he gets to interview some of the other interesting personalities around so if he asks you, please try to make time, it's for the good of the Community!

I would also like to wish Markus the best of luck with his new blog. Give it your best, and be persistant!

Gustaf Westerlund
MVP, CEO and owner at CRM-konsulterna AB
www.crmkonsulterna.se