A new AX screencasts is now available on Channel9. It shows 10 small demos that will make you more effecient as an MorphX / X++ developer.
Here is the link:
[Update: Media issue has been resolved.]
In AX4 we added Unicode support. On one hand it seems like a minor thing, it is just the storage format of strings - on the other hand it literally opens up a new world of opportunities. From a technical perspective it was a major surgical challenge; not many system files remained untouched in the process.
The same is very much true for the effort we have just completed in AX6: We have extended the ID range of concepts such as Classes, Tables, Base Enums, Extended Data Types, etc. from 16 bit to 32 bit. This certainly was a major surgical challenge; most files in the system had to be updated; still from business logic and other consumers it is still just an integer. What about the opportunities? First of all (which is very important here at Microsoft, but of little significance to everyone else) it enables Microsoft to not "run-out-of-IDs" and continue development with without disruptions. Secondly; the wider range gets us one big step closer to solving the ID problem. Now we have a range wide enough to contain solutions from various sources; we just need to figure out how to avoid conflicts between solutions other and already installed bits.
This will be the last sneak-preview for a while. We are now starting a new milestone, and I'll be back with more once I have more features to describe.
THIS POST IS PROVIDED AS-IS AND CONFERS NO RIGHTS.
Today we built the first official build of Dynamics AX ever that does not run on AOD files. Starting today Dynamics AX's model database is stored in a Microsoft SQL Server database.
Seen from within MorphX you hardly notice the difference. Everything works as it used to; there are no new feautures; but yet it feels different. The responsiveness of MorphX has slowly been deteriorating as the number of elements in the model has grown over the last releases. Today the speed is back. Navigating the AOT is suddently a pleasure again. Meta data heavy operations, like searching, completes an order of magnitude faster. For example; searching all methods on forms for any text completes in 2 seconds.
But wait a minute; AOD files were not just a database, they were also a deployment vehicle - what is the replacement? Dynamics AX supports a new file format: axmodel-files. (extension: "axmodel", example: "AxSYS.axmodel"). These are binary files, and provides the same deployment capabilites as AOD files did - and yet they are less than half size. Using a new tool you can import/export axmodel files to/from SQL. You can also import AOD files into SQL.
So far we have aimed at providing 1-to-1 parity with AOD files; but the potential of this is amazing - I hardly know where to start...
To night we celebrate this major achievement with the team.
THIS POST IS PROVIDED AS-IS; AND CONFERS NO RIGHTS.
I've just handed over my final edits to my chapters of the upcoming "Inside Dynamics AX 2009" book to MS-Press. A big THANK-YOU is due to the book's technical reviewer Arijit Basu. He has diligently reviewed every single paragraph and added suggestions for improvements, corrected inaccuracies, highlighted ambiguities, pointed out missing information and spotted occasional blunders. He has also ensured that all the examples in the book are working as expected, and the figures are illustrative. I've not counted how many hundreds of comments Arijit has added to my chapters, but I'm very pleased with the thorough review. (I can now rest assure that the content is not too far from the mark.) Arijit; this book would not have had the high quality - if it were not for your massive review effort.
Please visit Arijit's blog at: http://daxguy.blogspot.com/
These days the first milestone of AX6 is being completed. It means the first wave of new functionality has been implemented, tested and documented. As always; it is an exciting time to be working on AX...
One of the features coming in MorphX in AX6 is set of improvements in the X++ Unit Test framework.
First of all the unit test framework in AX6 is leveraging the new attribute feature in the X++ langauge. For example; you can use an attribute to declaratively specify the target class for your test (i.e. the class that is being tested by this unit test). Here is how:
Starting in AX6; you can also use attributes to mark which methods on the unit test class are test methods:
If you are using both unit testing and a version control system, you can benefit from marking your most critical test methods as check-in-tests. When setting up the version control system, you can specify which test project to run during check-in, and whether to run all unit test methods, or only the unit test methods that are marked as check-in-tests. During a check-in process the specified unit tests will be executed, and only if they all succeed the check-in will be submitted. This gives you the flexibility to run the most critical unit tests during the check-in process, while still having a full suite of unit tests that can be run on-demand. Here is how to mark a method as a check-in-test:
This posting is provided "AS IS" with no warranties, and confers no rights.
At Microsoft, we are committed to software and technology innovation that helps people and organizations around the world improve the environment. Our goals are to reduce the impact of our operations and products and to be a leader in environmental responsibility.
For more information see: http://www.microsoft.com/environment/
Also see the Microsoft Dynamics AX Environmental Sustainability Dashboard:
More Dynamics; one of the Gold Sponsors on Convergence 2009; has just released what I find to be a very interesting product: migrax™. migrax™ can assist in migrating AX solutions from version 3 and version 4 to AX2009.
The approach taken is quite different from the code upgrade tools available in AX. The existing AX code upgrade tools live inside MorphX; and can harvest the benefits of MorphX, such as access to the AOT, Compare tools, BP tools, etc. However; living inside MorphX also induces certain limitations; for example all editing has to go through the AOT modeling API.
migrax™ does it differently. It is an external application. You start by loading your solution as an XPO file. It will be converted to XML and persisted in a database inside migrax™. Using XML techniques migrax™ is able to automatically resolve most code conflicts and produce an XPO file upgraded to Dynamics AX 2009.
migrax™ is capable of solving logical conflicts caused when the standard application (typically in the SYS layer) changes, and the changed element has been customized. migrax™ is by-nature not capable of resolving conceptual conflicts, like conflicting or redundant functionality. Here a set of human eyes is still needed.
One might argue that migrax™ is competing with the standard tool set in MorphX in upgrading code. I have a different perspective. The goal for me is to enable customers and partners to upgrade to Dynamics AX 2009 as seamless as possible. Having a larger tool box is a benefit to everyone.
Make sure to check-out the migrax™ site, and visit More Dynamics at Convergence 2009 in New Orleans.
Dr. Eliyahu Goldratt has just published a comforting article on the opportunities arising in the wake of "the impression of an economic crisis".
It is well worth a read.
Dr. Goldratt is the author of The Goal, a novel illustrating his Theory of Constraints.
At Convergence in Copenhagen 2008 Morten Jensen (PM in the MorphX Team) and I were interviewed by Ben Riga on the version control integration in Dynamics AX 2009.
In AX 4 we first introduced version control with integration to SourceSafe. In AX 2009, we introduced Team Foundation Server (TFS) support as well as a MorphX VCS a low –end home-brew version control. I demo the MorphX VCS feature showing how it integrates Check In/Check Out functionality directly into the AX IDE. MorphX VCS is included with Dynamics AX. The target for this low-end VCS is VARs maintaining numerous client system customizations on the same code base.
Version Control is just one leg of the Dynamics AX team’s commitment to Engineering Excellence. They’ve also integrated unit testing and best practices policy enforcement. The Dynamics AX team uses this integration themselves integrating with Source Depot (an internal Microsoft versioning system). They are looking at moving to TFS.
See the full interview and demos at Channel 9.
Today I installed the beta version of Windows 7 on my laptop on top of my Vista. My Vista already had an AX installation, but it didn't work after the upgrade to Windows 7. So I re-installed the developer flavour of Dynamics AX 2009 (all on one box), and pointed it at my exisitng DB. And without having to install any drivers or other updates I had AX2009 RTM running on Windows 7.
If you get the chance; make sure to take Windows 7 for a spin.