by Gustaf Westerlund | Oct 2, 2009
This is a bit off topic but I thought that some of you might be interested anyway. If you don’t have a Sony Ericsson P1i or similar, you can stop reading now.
I like to listen to audio books on my Sony Ericsson P1i but it is a bit problematic since the phone doesn’t support normal playlists with relative addresses and you cannot select a directory and play all files in the directory either. This is problematic when you have an audio book that you have ripped from your bought CD box since you don’t want to play the tracks in any order.
The phone also requires the absolute path of the playlist to use the drive “D:” and nothing else. This is very strange and I think it is a big flaw with an otherwise good phone.
To ease my troubles I created a small program that can create the m3u files in the correct format to support the P1i and I don’t see any reason why I shouldn’t share it since it only took an hour or two to create.
Just copy the directory with the mp3:s to the memory stick and run the program and select the directory and enter a fitting name for the m3u file and click run. The m3u file is created. Enjoy.
http://www.westerlund.info/files/P1iM3UMaker.zip
Not much CRM or SharePoint but it’s free! Right?
Gustaf Westerlund
Microsoft Dynamics CRM Architect
Logica
www.logica.com
by Gustaf Westerlund | Sep 11, 2009
I used VPC:s all the time and we often clone VPC:s to all project members. However, there is a very tricky part of VPC:s and Microsoft CRM environments and this concerns SID:s.
As you might know, each windows machine has a SID, which is supposed to be a unique identifier for the machine. Exactly when it is used, I am not certain of but I know that you can get into a whole lot of strange trouble if you have two computers with the same SID on the same LAN.
It can easily be changed on any normal windows machine or server with forinstance the tool newsid. However, there is one type of machine that you cannot change SID on and that is a domain controller.
To ease the managing of normal VPC:s it is usually best to create VPC:s that contain everything in one. That is, Windows server, Domain controller, SQL Server, Reporting Services, Visual Studio 2008 and, of course, CRM.
So, we have several VPC:s that have the same SID and we have people sitting next to eachother running them at the same time. The only network setting that can be selected, to still conect to the internet in the VPC is hence, Shared Networking.
This setting is actually a small local network in it self with a NAT (Network Address Translation)/ DHCP server/switch in the VPC host program.
I noticed a problem today when I started up a VPC and noted that I had forgotten to connect the network cable. After I had inserted the network cable and my host PC had full access, I still had problems getting an IP address and a propper connection to the internet from my VPC.
After some fiddeling with trying to run ipconfig /release, ipconfig /renew and sleeping the VPC, I finally shut down the host program and opened the VPC again after which I ran ipconfig /renew, finally it worked.
My interpretation of this is that the NAT/DHCP server need to have a working network connection in the VPC to intitialize properly. Since I didn’t, it just miss started and my VPC:s never got any proper IP:s. The only possible way of restarting it is to restart the VPC host program. After it has been started, you just have to run ipconfig /renew to get a new IP from the VPC DHCP/NAT server.
Gustaf Westerlund
Microsoft Dynamics CRM Architect
Logica
www.logica.com
by Gustaf Westerlund | Sep 2, 2009
Plugins are a very useful technique and can be used to lots of different things. But sometimes things don’t work like you expect them to…
Here at Logica Sweden we have developed a CRM Framework with lots of nice tools to aid your everyday CRM development. The architect behind this hasn’t been me but my fellow CRM architect Daniel Halan. This framework is contained in a dll and it is used in plugins.
The problem I was facing was that when I updated the framwork and rebuilt my plugins, to the assembly directory, it also put the framework dll in this directory. But when I tried to run it I got the most weird errors saying that it could not find methods, constructors and similar. If I installed the framework dll in the GAC then it would all work fine. This is something that I would like to avoid, however, since it is a bit cumbersome when developing.
After some collective debugging we found the error, plugins don’t use the dll:s in the assembly directory, but the dll:s in C:Program FilesMicrosoft CRMCRMWebbin (or similar depending on where you have installed CRM).
So, make sure you put your referenced dll:s in the correct directory and happy coding!
Gustaf Westerlund
Microsoft Dynamics CRM Architect
Logica
www.logica.com
by Gustaf Westerlund | Jul 7, 2009
I read David Jennaway’s blog today (http://mscrmuk.blogspot.com/) and he was happy that he was listed at 100 on the list of the most influential Dynamics Professionals in the World. I had a look through the list and found that the head of our “Microsoft Empowering Team” at Logica (I represent Dynamics CRM in this team) and also the head of our Dynamics Practice globaly, Thomas Olfsson at position nr 9 in the entire world!
Have a look at the list you self here: http://dynamicsworld.co.uk/index.html
Gustaf Westerlund
Microsoft Dynamics CRM Architect
Logica
www.logica.com
by Gustaf Westerlund | Jun 5, 2009
When creating workflows there are some things that have to be taken into account. One thing that you might not know the details about is the Scope in “Options for Automatic Workflows”. There are four options that are very similar to the options used for setting up security roles. They are:
– User
– Business Unit
– Parent: Child Business Unit
– Organization
Bellow the selection of the scope, there are some workflow triggering options, like starting the workflow when on create or when an attribute has changed.
The meaning of this is that dependent on the scope you have selected, the triggering will be set up, based on the user who owns the workflow.
So, for instance, if I select “User” in scope and then select triggering on attribute change, and I am the owner of the workflow, then it will only trigger when I make a change to the object.
If scope is set to Organization, it will trigger for all users in the tennant which is why this is most often used. Note however that user is set as default, so you’ll have to change this when creating the workflow if you want it to work for someone else than yourself.
This is a useful tool since it can allow powerusers to create their own workflows to help them with their work without actually enabling this for everyone else.
As I have mentioned earlier, the workflow functionality is very powerful, and even thought there are protections agains infinite recursions and such, there is still the risk that semi skilled powerusers creating workflows that put a heavy load on the asyncservice, so I would be a bit reluctant on letting them use this. Thorough training is a must before and try to teach them to keep the workflows simple. If you have several custom workflow activities, for instance, activities for integrating with other systems, I would be very careful since it is hard, if not impossible to restrict a custom workflow activity to just a selected amount of users.
Gustaf Westerlund
Microsoft Dynamics CRM Architect
Logica
www.logica.com
Recent Comments