mfp's two cents

...on Dynamics AX Development!

  • mfp's two cents

    Channel 9 Screencast: 10 MorphX tricks in 10 minutes


    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.]

  • mfp's two cents

    AX6 sneak preview - elements with 32 bit IDs


    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.  


  • mfp's two cents

    AX6 sneak preview - SQL AOD


    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...

    • Performance can be further improved as the subsystems querying the meta data store starts levarging the powers of SQL. For example; the ISAM database used for the AOD files (and still used by temp tables) doesn't support joins. Due to this many subsystems are overly chatty when reading meta data as they query row-by-row.
    • Solving the element ID problem is now possible, as we can leverage the flexibilty and powers in SQL for modifying and extending the model schema.
    • Capabilities... There are so many cool scenarios we can enable - but you'll have to wait for an sneak preview after the next milestone to learn more. But to get you thinking: What deployment capabilties did AOD files lack?

    To night we celebrate this major achievement with the team. 


  • mfp's two cents

    Thank you - Arijit Basu!


    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:

  • mfp's two cents

    AX6 sneak preview - X++ Unit test improvements


    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:

    class MyTestCase extends SysTestCase

    Starting in AX6; you can also use attributes to mark which methods on the unit test class are test methods:

    public void myTest()

    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:

    public void myCheckInTest()
    Using test projects in AX6 to group your unit tests brings even more benefits. When running the test project, you now get the results visible directly in the project as small icons - and when hovering over a failed unit test, you get the failure message. 

    This posting is provided "AS IS" with no warranties, and confers no rights.

  • mfp's two cents

    Innovating to improve the planet


    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:

    Also see the Microsoft Dynamics AX Environmental Sustainability Dashboard:

  • mfp's two cents

    migrax(tm): A new way to do code upgrade.


    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.

  • mfp's two cents

    The Power of Cause and Effect.


    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.

  • mfp's two cents

    Dynamics AX 2009 Version Control Interview


    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.

  • mfp's two cents

    Microsoft Dynamics AX 2009 on Windows 7


    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.







Page 14 of 22 (215 items) «1213141516»