palleagermark: Authoring Best Practice checks that use XML based input
In AX7 you can pretty easily write and deploy your own Best Practice checks. The process of doing so, is described in this article on the wiki.
Some of the standard Best Practice checks use XML files as input. These XML files are found under your local packages folder, in ..\PackagesLocalDirectory\Bin\BPExtensions\RuleXml
The following is an example of how you can write your own Best Practice check that uses an XML file as input. The check itself is used to check the naming of table extensions. We want to check that a certain prefix is part of the name, and that it is put in the correct place in the overall name. The prefix to look for is specified in the XML file.
The XML file looks like this:
YOUR PREFIX HERE
The file is stored in ..\PackagesLocalDirectory\Bin\BPExtensions\RuleXml and the name is MVPProductPrefix.xml. The name is important, as a reference is made to it from the code.
Your Best Practice class needs to extend either DetectorWithXMLDataFile or MetadataDetectorWithXMLDataFile depending on the type of your check. In this case we extend MetadataDetectorWithXMLDataFile since we will be looking at table extension names.
Included in your solution your need to add a data contract class for the XML file. This class must extend from RulePatternsBase.
The framework and the base classes will then do the rest of the work with loading the XML file, de-serialize it and caching it.
Here is the code:
And here is the code for the diagnostic item:
I'd like to thank Joris de Gruyter for helpful hints on how to solve this. And .NET Reflector has been a great tool to look into the standard Best Practice dll's to figure out how they work (Microsoft MVPs get a free license for .NET Reflector from Redgate).
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
|palleagermark: The enum that is specified in the input XML file does not exist in Microsoft Dynamics AX||Blog bot||DAX Blogs||0||14.06.2013 13:11|
|axStart: Best practice checks.||Blog bot||DAX Blogs||0||11.03.2013 21:11|
|palleagermark: XML transformation from Excel spreadsheet||Blog bot||DAX Blogs||0||22.11.2012 14:11|
|Rahul Sharma: Microsoft Dynamics CRM 2011 Fetch XML based Custom Reports||Blog bot||Dynamics CRM: Blogs||0||15.04.2011 00:12|
|Microsoft Dynamics CRM Team Blog: Fetch-Xml based Reports: Bits & Pieces||Blog bot||Dynamics CRM: Blogs||0||24.02.2011 21:11|
|Опции темы||Поиск в этой теме|