CfMD - C/AL code requirements

alex9alex9 Member Posts: 97
edited 2013-05-10 in NAV Three Tier
I am trying to clean code in our solution to meet CfMD software test requirements.
Microsoft Software Solution Test Guidelines reads:
1.4
...
Within modified objects, you must clearly delimit your code from the standard Microsoft Dynamics NAV code. You can use comments to indicate where your modifications begin and where they end. You should also comment your code’s functionality.
Questions:
1.Let's say, I need to remove (comment out) some standard NAV code. What's the proper way to do that? Should it be like that, or any other way?
  IF EmptyLine THEN BEGIN
    LastDocType := "Document Type";
    LastDocNo := "Document No.";
    //LastLineNo := "Line No.";  // ABC7.01 - commented
    LastDate := "Posting Date";
    EXIT;
  END;
2. How to indicate if I changed field's properties? Should I put my tag in field description then?
3. How to indicate other possible changes which are not in code, but in object properties? Or, say, new controls on reports? Such changes will be visible to LionBridge when they compare txt files. Is it necessary to tag them somehow for CfMD testing purposes?

If somebody can share his own experience, it would be really appreciated.

Comments

  • jglathejglathe Member Posts: 639
    Hi Alex,
    alex9 wrote:
    If somebody can share his own experience, it would be really appreciated.
    Sure... First off, we did pass the software test for our AddOn in early 2012. Our AddOn is mainly an extension of standard functionality, with a few additional objects. We have commented our code sections with a starting delimiter and an ending delimiter, and a functional comment in the documentation section. As for reports: we avoided this by creating copies of the standard reports we've changed, and "disabled" the standard reports.
    Commenting changed field properties is like you suggest: add a comment in the documentation field of the field.
    In NAV2013 reports you can only add comments in the C/AL part... or so do I assume. Maybe it's possible to do it on field level, I'm afraid it's a waste of time. A good functional comment in the documentation trigger should do.
    Personally, I think the effort for certification was a major waste of money and time. It has something to do with how Microsoft sets the bar, and who is doing the test. The requirements (in 2011) listed things Microsoft itself didn't adhere to, and lots of paperwork no-one needs or reads. We made help files for Classic and RTC, Microsoft didn't do this for the changes 2009SP1->2009R2. Go figure. And now to the fun part: You spend $$$$ for this test, you will pass (we needed 2 shots, bought the pass for sure package), and what do you have? Nothing. You won't have your granules, or a CfMD logo, because the requirements are a bit more than the software test. To get the cert (and the granules), you need at least 10 paying customers for your AddOn, silver ERP competence, 24/7 support facility, source code escrow (WTF? What a scam), and the good will of someone at Microsoft actually reading and understanding what you want. So, this would mean that you have to sell your AddOn 10x (or so) in the customer numbers range, without any protection. From NAV2013 on, you can buy/rent yourself your granules range, effectively. But this is possible for everybody who is willing to pay up every quarter to Microsoft. For this, you won't need the software test.
    So, what was CfMD good for? To get better marketing? Maybe, but in my eyes it's as effective as stating "Designed for RTC". Everybody who has actual work to do will keep off.

    with best regards

    Jens
  • alex9alex9 Member Posts: 97
    Hi Jens,
    thank you for detailed reply!

    You mentioned you passed software test from the second attempt. If test company doesn't like something, I think they send you list of things to be fixed. Is it possible to discuss certain things from the list with the test vendor after that, and elaborate some of them? As far as I know, they are just using some tools, i.e. to compare code and find out if extensions are properly tagged. Do they give a chance to explain some exceptions, etc.? And what happens on a second attempt? Are they reviewing fixed issues, or processing the whole test again? Which means, they may find some other issues not found at the first time. :)

    In other words, how flexible the software test vendor and what's the best strategy to work with them?

    Speaking about the whole CfMD purpose - as far as I understand, it is very costly to sell add-on without having CfMD for NAV2013, due to new licencing rules. That's why our company is doing this process. My part is software test, and my colleagues are working on other parts of the puzzle. I hope, in the long run Microsoft will make this process less complicated.

    Thanks again,
    Alex.
  • jglathejglathe Member Posts: 639
    Hi Alex,
    alex9 wrote:
    Is it possible to discuss certain things from the list with the test vendor after that, and elaborate some of them? As far as I know, they are just using some tools, i.e. to compare code and find out if extensions are properly tagged. Do they give a chance to explain some exceptions, etc.? And what happens on a second attempt? Are they reviewing fixed issues, or processing the whole test again? Which means, they may find some other issues not found at the first time. :)

    In other words, how flexible the software test vendor and what's the best strategy to work with them?
    My suggestion would be to buy the pass-for-sure package. That's good risk management. As for flexibility, willing to discuss, and complete list of issues: Well I don't think so. We didn't have the feeling that the tester was qualified to do what we paid for. Buying pass-for-sure is a good way to minimize their chance to earn money with it, too. Maybe it's different when you have a contact at Microsoft who is actually listening and wanting you to succeed.

    with best regards

    Jens
Sign In or Register to comment.