Tuesday, 8 July 2008

My coding practice vs. your practice

your program (n): a maze of non-sequiturs littered with clever-clever tricks and irrelevant comments. Compare MY PROGRAM.

my program (n): a gem of algorithmic precision, offering the most sublime balance between compact, efficient coding on the one hand, and fully commented legibility for posterity on the other. Compare YOUR PROGRAM.

Monday, 7 July 2008

How to close a form after a certain timespan

Sometimes it would be really nice if a form closes automatically after a certain timespan. I found it particulary useful in ShopFloorControl, where end-users might not have a mouse to point to close on a form.

On the forms run:

public void run()
{
str JmgJobId;
// Define variable for timeout
// Created with new int on JmgParameters
int TimeOut = JmgParameters::find().JmgRegistredOnJobPromptTime;

// Check if there is a parm
if(element.args().parm())
{
JmgJobId = element.args().parm();
jobIdTxt.text(JmgJobId);
}

super();

// Close form after TimeOut
this.setTimeOut(identifierstr(close),TimeOut);
}



Sunday, 25 May 2008

DAX 2009 RTM ready on Partner Source

Here it comes - the RTM of 2009. You can download it from ParterSource (requires a ParterSource access as always). I've been experimenting with the TAP for some time now, and I must say that I like it more and more every time I open it. The project module is changed substatially compare with 4.0 which might prolong the learning curve.

Along side the actual RTM there is also an upgrade-document if you plan to upgrade already exsisting Axaptas to Dynamics AX 2009, and I'm glad to find out that there is an option of upgrading directly from 3.0 to 2009, which really eases application upgrades and transitions.

I can't wait to get going with the DAX 2009.

Happy hacking

Monday, 19 May 2008

WinMerge - a nifty little compare-tool

When checking for consistency between labels I use a nifty little tool called WinMerge. It's OpenSouce and has a shell-integration which eases daily use. It can be downloaded from here

Monday, 28 April 2008

Inside Microsoft Dynamics AX 4.0 free e-book

Harish Mohanbabu was kind enough - per proxy qua his blog - to bring to my attention that MS has release a free e-book edition of Inside Microsoft Dynamics AX 4.0 here as a pdf. I quite like the book as it serves both as an introduction to general X++ development and as a reference guide for more specific programming problems.

Friday, 18 April 2008

Applying agile software development to Dynamics AX development part I

Ever since I wrote my thesis at university, I've pondered the fine art of software development methodologies. During my last year at the University of Southern Denmark I "shopped around" and followed a myriad of software related courses, e.g. Agile software development, User-centered software development, and other iterative and waterfall based software development processes. These development methodologies all have ther merits and flaws, which will be well known to any software developer and the process of merging business processes and software development processes is notoriously difficult, though it is of the utmost importance in order to achieve the best results, business- and softwarewise.

The courses I followed at university were mainly concered with the whole development process(es) from early conceptualization to post-installation maintenance, including GUI-development and Business Intelligence reports. Therefore when I started developing (or should I say customizing -a point to which I will return later) Dynamics AX for customers, my craze - User-Centered Design - slowly fell to the background. Is customizing an ERP-programme, such as Dynamics AX, merely a question of replicating exsisting business processes, with some optimization, and merging them into a new ERP-application or is the development of an ERP-solution an almost god given chance to take a critical bird's eye view of the whole organization and try to optimize business processes all the way r0und? The latter would seem the obvious answer but this again begs another question, viz.: can business processes be optimized isolated from the software development process, when the software has a central place in today's organizations? No. Of course it cannot.

All to rarely is there any substantial software development theory included in the business development plan for the implementation of a ERP-system. Traditional user-experience studies / examinations are left behind, because the UI is developed for us, as part of the standard application in the Dynamics-series, and it is 'just' (I know I'm a bit hard here - but I'm trying to get my point through) a question of rearranging data-presentation, based on the customer's prior ERP-system or an external system. All too often does the customer say something like 'that's not the way it was in the other system' when confronted with an newer version of, lets say Dynamics AX.

So the big question is: how do we - as software developers and business consultants - merge the two worlds and come-up with a process which will lead to sound business optimization and software development integrity?

Friday, 11 April 2008

More new stuff from Dynamics AX 2009 - Developer Documentation improvements

During the week I had some more time for myself and my Dynamics AX 2009 CTP3. I've dived into the depths of the developer side of the CTP a bit more and discovered many new things and improvement compated to the previous versions. I looked at version control breifly in a previous post which I am looking forward to seeing in action when multiple developers are working on the same installation at the same time.

When browsing through the tables I found a new entity on the property of the table, DeveloperDocumentation which at first sight appears just to be a simple label. But the truth is much more interesting which became clear when I found a new node in the Add-in node of e.g. InventTable. DeveloperDocumentation is referenced to - it appears - the Dynamics AX SDK, which can be found online. Though it exsisted in 4.0 and 3.0 for that case, in 2009 it is wastly more elaborate. In Dynamics AX 2009 it is integrated in the MorphX IDE, as developers might recognize from other IDE's - Visual Studio etc. Yes - I know that AX developers might have gotten used to having the SDK open in a browser window next to Dynamics AX, but once again the consolidation of development envirionments, which was set forth in a MS road-map earlier, shines through, and I like it. The developer documentation was available in earlier versions of AX but the most commen result was "There is no information on the topic". The developer documentation in 2009 pretty much provides the information which is available from the online SDK but is updated and streamlined with e.g. Visual Studio's SDK, which - as you might know - also can be accessed from within the studio itself. The developer documentation node is also available for other elements in the AOT - classes, EDTs - just in case you were wondering.