Notifications
Announcements
No record found.
Hello group!
I have downloaded the new version 17 update for the development virtual machines in dynamics 365 and in the compilation section new checks appear, which we can see below marked in yellow, which point to Socratex Checks and AppChecker Logs
I have searched the internet for information about SocrateX but cannot find anything relevant. Know someone from some documentation to be able to understand its operation and most of all the purpose and differences between SocrateX and BaseX for the validation of best practices
Greetings to all
Thanks
Moved to the Dynamics 365 Finance forum.
Hi Jesus,
Socratex is a checker which will query the coding for possible wrong coding in a more advanced way compared to the standard best practice checks. I got early insights about two years ago, but don't have extensive notes. I think it would be good if Microsoft can add this checker to the documentation pages.
Joris dG Can you chime in on this topic?
Here is a good blog post with on this topic: Application Checker: enforcing better coding practices?.
Let's also mention AppChecker GitHub page.
Hello, I do know the App Checker and its functionality, I currently use it to validate the best practices. My question or doubt is oriented to Socratex, I want to know what difference it has with App Checker, what is its purpose, I cannot find this information on the internet. Thanks
My understanding is that Socratex (Source Code Reasoning and Trait Extraction) is a tool for code analysis and exploration in general. And App Checker uses Socratex for a specific task - to identify and report certain pre-definined patterns.
This is what Microsoft says about Socratex on GitHub:
This tool allows you to reason over source code as if it were data stored in a database. It works by submitting queries in the XQuery language towards a server where a dedicated XML database handles the queries against a repository of XML documents that describe the source code corpus is a specific language. The tool offers a rich editing experience for the XQuery queries, and is able to show the code that is identified by the rule by interpreting the resulting XML results.
This tool allows you to reason over source code as if it were data stored in a database. It works by submitting queries in the XQuery language towards a server where a dedicated XML database handles the queries against a repository of XML documents that describe the source code corpus is a specific language.
The tool offers a rich editing experience for the XQuery queries, and is able to show the code that is identified by the rule by interpreting the resulting XML results.
We started the AppChecker idea with Socratex as a backend. However, Socratex is heavy-handed and requires a bunch of setup (which also doesn't work in hosted builds) so we decided to stop using it for AppChecker. However, we know some people really love Socratex (so do we, actually) so we kept the option in there.
I recognize it's confusing. But what USED TO BE the appchecker that required the baseX install etc. is now gone back to its original codename "socratex". AppChecker as the feature, is now inside the compiler itself.
We will do better at documenting these things when we have a clearer roadmap on how we will be using or enforcing these features.
Thanks Joris,
I am interested in the documentation that you publish since I want to know how to use the tools fully and be able to comply with the best practices that Microsoft asks for in the customizations that it makes for D365
Greetings
Once we have settled where we're going by when and with which rules, we'll document it. For now, consider it an experimental feature.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
André Arnaud de Cal... 449 Super User 2025 Season 2
Martin Dráb 422 Most Valuable Professional
BillurSamdancioglu 239 Most Valuable Professional