Using TFS 2010 in AX 2012

This question is answered

Hi,

I'm trying to setup TFS 2010 in my DAX 2012. My company using one AOS which is Microsoft called it "Shared AOS Development Environment". Problem is, How to lock object which is being Checked out by other user.

I've read Microsoft white paper "Developing Solutions for AX in a Shared AOS Development Environment.pdf" and yes it is said with Shared AOS environment and by setting Workspace to Public, meaning everyone can check out object anytime and also check in anytime.

But what if we still need to lock the object being check out ? Is there a possiblity to do that ? I saw there is lock menu in TFS Team explorer, try to lock it, and also try to set Check out options to NOT enable mulitple check out by clear it, but both approach seems not working. We are still able to check out and check in any object while it is being check out by other developer. And the fact that if the last person try to check in object which already being modified, AX only return info saying cannot save because object in the server is newer, there is no options to merge it like what MSDN said.(http://msdn.microsoft.com/en-us/library/bb385983)

Is there any suggestion how to lock objects ? Kindly help.

Many thanks,
Anton

 

 

 

 

 

Verified Answer
  • I believe public workspaces are no way to go. The problem is that objects are checked out for the owner of the workspace, effectively all developers are the same user from TFS perspective,

    I had a client with exactly the same requirement and I changed AX to support private workspaces on per-user bases (with pretty simple configuration). If you will urging me, I can publish the source code.

    Of course, as soon as you use private workspaces, you can disable multiple checkouts, configure AX to use exclusive locks for specific file types of use manual locks.

  • I (finally) published the code and add some comments that hopefully clarifies the situation a bit more. See this blog post.

All Replies
  • I believe public workspaces are no way to go. The problem is that objects are checked out for the owner of the workspace, effectively all developers are the same user from TFS perspective,

    I had a client with exactly the same requirement and I changed AX to support private workspaces on per-user bases (with pretty simple configuration). If you will urging me, I can publish the source code.

    Of course, as soon as you use private workspaces, you can disable multiple checkouts, configure AX to use exclusive locks for specific file types of use manual locks.

  • Hi Martin,

    Thank you for your explanation. Honestly, I've looked into your blog before (regarding Shared environment), that is why I changed Workspace to Public. :)

    As you spoke about AX modification, I am very interest because it looks like my company will still using 1 shared AOS.

    FYI, I've tried to use Public-limited, it rans as it was said (do anything except check in and administer), but unfortunately it's lack of information when other user (not the owner) try to check in. It only says "Unable to check in...".  haha....

    Anyway, looking forward for your code. Thanks again.

  • Hi

    I've wondered whether it might be possible to produce a hybrid solution to this problem using the MorphX version control lock mechanism alongside TFS for the actual version control. MorphX version control just inserts a record into the SysVersionControlMorphXLockTable table when you check out an element. I can't see any reason why the TFS code couldn't use the same mechanism alongside its own mechanism so that user level locking would work even if you use a public workspace.

    Regards

    Malcolm Burtt

    K3 Retail

  • I (finally) published the code and add some comments that hopefully clarifies the situation a bit more. See this blog post.