Today is ZBB for Milestone 1 for the next version of Dynamics AX. ZBB is short for Zero Bug Bounce, which basically means all known defects introduced since last release must be fixed. For the Partner Productivity team it means that all known defects in the new Code Upgrade toolbox are fixed. It also means I get to do what I like the most: Share exciting technology with you!
A big thank you is due to everyone who helped make this happen. All the cool ideas stem from talks with customers, partners and from online surveys. Thank you for providing us your valuable feedback!
Please notice that the icons and text resources below are not finalized yet.
This dialog replaces the dialog you used to get, when you click "Create upgrade project". As you can see, you now have more options. For the normal upgrade conflicts, you are still able to delete obsolete elements (those casting a shadow on an identical element in the lower layer). A new option is to "Auto-resolve property conflicts". Enabling this will automatically resolve conflicts where one property is changed in Your revision, and another property is changed in Their revision on the same AOT node. If the same property is changed in both Yours and Theirs it will still be marked as a conflict.
With the new toolbox you can also create upgrade projects for stale code, that needs to be revisited. By stale code I mean code that violates certain practices, and must be updated before going live. Basically the feature runs the best practice tool on your code and looks for certain types of violations and creates an upgrade project with the violating elements.
The Upgrade Project
The upgrade project itself also offers new functionality. Each conflict, and resolved conflict will have a new icon on the individual node. This makes it quite easy to get an overview of where conflicts are, and where to pay attention. As you work your way through the conflicts, you can mark a conflict as resolved, and the conflict icon changes from a red alert to a green checkmark.
The compare dialog has also had a facelift. First off all the stylesheet has been updated to include some nice gradients. While this is merely eye-candy we also added many new cool features. First of all the compare dialog can now be started by a short-cut key (CTRL-G), and it is promoted to be at the same level as Find in the context menu. This should save you for some mouseclick. Secondly your preferences are now being stored, so the next time you open compare, you don't have to select (again) what you want to compare. And as if that wasn't enough, more information is now available to assist you making the right decisions more easily. For properties the Original value is now included, so you now can see both: Yours, Theirs and Original in the same window.
Do you need to tell your boss when you'll be done with your work? I do. For code upgrade the help is near. You can now print a report, that is fully configurable with estimates for solving the detected conflicts of the various types. The estimates are broken down to the same granularity as the detected conflicts, which is on a per node level. Please note, that the data in the screenshot is staged, and not really meaningful.
At Convergence in Dallas next week, my team will be present. They will share the same information as in this post. If you are there, make sure to pay them a visit.
This posting is provided "AS IS" with no warranties, and confers no rights.
The next installment of AX screencasts is now available on Channel9. It is a 38 minute video on Application Fundamentals in Dynamics AX 4.0.
Here is the link:
I've attached the PowerPoint slide deck to this post. The deck contains a transcript of the talk in the slide notes. If you prefer reading to my voice, I won't blame you, and this is where you should go.
I have just re-encoded my Channel9 screencasts, so they now deliver a better audio experience. The video is still sub-optimal, as I have to abide to the 20mb file limit on Channel9. I have favored high resolution (1024x768) so you can see what is going on during the demos, over color depth and smoothness.
Watch them at:
Do you want to know what ERP systems are -- how they are used and programmed? Then you may want to sign up for this crash course!
Since you are reading my blog, you are probably well educated in ERP systems, if not, continue reading...
Enterprise Resource Planning (ERP) systems are integrated information systems that support and enable the work processes performed in modern companies. Such processes include purchasing, selling, invoicing, production and many more processes, often specialized depending on industry and ultimately customized for the individual company. ERP systems keep track of large amounts of information on business transactions, inventory, suppliers, employees, customers, etc., and provide functionality for aggregating and analyzing this information for management, reporting and controlling purposes. Nowadays they are the backbone of large and medium-sized enterprises -- omnipresent, yet unnoticed by the casual observer.
I'll be giving a talk on Microsoft Dynamics AX architecture as part of the course.
Date/time: January 30th, 9:00-16:30 and January 31st, 2007, 9:00-15:00Location: DIKU (http://www.diku.dk/), Little Auditorium
More information and registration: http://www.3gerp.org/crash-course/
A brand new AX screencasts is now available on Channel9. It explains how exception handling in X++ and how exceptions are integrated with the Infolog in Dynamics AX 4.0.
For years I had been planning to read Steve McConnell's Code Complete. It is one of these books that constantly is quoted. I remember the technical lead in Damgaard's early days had a copy of the book, he often referred to it, but didn't promote it within the organization. So last spring during a 10 week paternity leave, I read the whole thing, cover-to-cover. The only thing I regret is that I didn't do it earlier.
This holiday season I planned a quick read-through of one of Steve McConnell's other works: Rapid Development. This book was published in 1996, and I expected the contents to be somewhat outdated by more recent development methodologies. However, Rapid Development is not another methodology, it is "just" a bible of common sense that can be applied during software development to achieve rapid (as in fast, speedy, not slow) development. I'm now half way through the book, and I find myself looking forward to opening the book each night. I've also caught my self rereading some of the paragraphs, not because they are poorly written, or because I'm half asleep, but because they are oh-so-true! This book deserves more than a quick skim, even in 2007.
If you ever are going to write a single line of code, you must read: Code Complete.
If you ever are going to manage, lead, or hire someone to do a software project, you must read: Rapid Development.
If this was true for all the people I interact with, my life would be so much more fun. I cannot recommend these books any clearer.
Congratulations to Junior Alonso Aguilar Meléndez from Costa Rica.
A signed copy of "Inside Dynamics AX 4.0" is on its way.
You can now download the localized version of 4.0 SP1. It supports the following 32 countries/regions:
Austria, Australia, Belgium, Brazil, Canada, China, Czech Republic, Denmark, Estonia, Finland, France, Germany, Hungary, Iceland, India, Italy, Ireland, Latvia, Lithuania, Malaysia, Mexico, Netherlands, New Zealand, Poland, Russia, Singapore, South Africa, Spain, Switzerland, United Kingdom, United States and Turkey.
You can download it from Partner Source:https://mbs.microsoft.com/partnersource/downloads/servicepack/ax40sp1_download.htm
And from Customer Source:https://mbs.microsoft.com/customersource/support/downloads/servicepacks/ax40sp1_download.htm
If you still haven't participated in the crossword challenge you can still make it. Today is the final day of entry - tomorrow I'll be drawing the winner.
I will of course use X++ to help me find the winner. I will generate a random number (n), and winner will be n'th reply in my Outlook mail folder containing the right responses. Here is the code I'll use (Yes, I've received 33 responses so far):
#define.NumberOfResponses(33) RandomGenerate random = RandomGenerate::construct(); ; random.parmSeed(TextBuffer::strHashKey(guid2str(newGuid()))); print random.randomInt(1, #NumberOfResponses); pause;
In many of the replies I've received were expressed how much fun it was to solve this puzzle. I really apprecieate all the comments, and I have a small surprise for you. Try to enter this URL in the help system in Axapta 3.0: "crossword://development".
The next installment of AX screencasts is now available on Channel9. It is a 30 minute video on Smart customizations in Dynamics AX 4.0.
Over the coming months I plan to create more screencasts on general development topics in Dynamics AX. If there are any specific topics you would like a screencast to cover, please let me know.