Major features unique to Prism for AL (compared to Prism for C/AL)

  • Merged object view (shows extension declarations inline)
  • Module dependency graph
  • Object outline

Supported versions

  • Business Central 15
  • Business Central 16 (tested with 16.0)

Release notes

Prism for AL 0.9.2 (released September 2nd, 2020)
ID Type Description
1033 Feature Support for XMLPort objects
1032 Feature Support for Query objects
1015 Feature UI: Reports to show RequestPage when present
1059 Feature .NET Core Migration
1080 Feature Improved error message when workspace contains two modules with the same id
1068 Feature Logging of parse errors: only log fragment of code, not full object
1066 Feature Disable command line argument support.
1065 Feature Verbose log level user switch
1085 Bugfix Parse error on properties APIVersion, CharAllowed, SignDisplacement, SqlTimestamp and SqlDataType
1092 Bugfix Parse error when flowfield has empty CONST expression: CONST()
1091 Bugfix Parse error when ApplicationArea is empty
1074 Bugfix Parse error when in enum expressions when value is a keyword, e.g. MyEnum::Actions
1072 Bugfix Parse Exception 'syntax error'. Last token was 'T_SEMICOLON' - happens when source has an 'empty property', i.e. extra ';' between properties
1078 Bugfix Report top level properties and triggers not displayed
1086 Bugfix "Save Object Dependencies" report missed entries and did not print object id
1084 Bugfix Table dependency in AccessByPermission property not found
1083 Bugfix Installer language changed to English (was mixed Danish and English)
1079 Bugfix Navigation to report data item fails
Prism for AL 0.9.1 (released July 10th, 2020)
ID Description
987 Use symbol file when package manifest has ShowMyCode=false setting
1041 Procedure overloading (resolution and find usages)
1037 Full support for Interface objects
1057 Allow higher memory usage (enabled 64-bit processes)
1058 Object outline: added 'using' and 'used by' sections
1042 Explore table relations enabled (was disabled in previous preview)
979 System function resolution completed including links to Microsoft's documentation

Known preview limitations

  • Handling of 'application dependency' ('application' and 'propagateDependencies' elements in app.json, issues #1023 and #1070)
  • Unsupported object types (only source code view supported):
    • Enum (issue #1034)
    • EnumExtension (issue #1035)
    • PageCustomization (issue #1036)
    • Profile (issue #1038)
    • ControlAddIn (issue #1039)
    • DotNet (issue #1040)
  • Object types with limitations:
    • Pages: missing page views (issue #1016)
  • Transfer field mapping must include extended fields (issue #1020)
  • Name resolution: respect protected keyword (issue #982)
  • Name resolution: respect app.json InternalsVisibleTo (issue #981)

Planned features

Our top priority is to eliminate known preview limitations.

Further features planned:

  • Open solution from server (issue #975)
  • Add module name to search result (issue #1001)
  • Reports menu: add module name to reports (issue #1003)
  • VS Code integration, so Prism functionality can be invoked directly from VS Code

Download

Statical Prism for AL Standard Edition (SE) Preview 0.9.2

Getting Started

  • Install Prism for AL from the Download section
  • Open a VS Code folder or workspace file
  • During opening, Prism will:
    • Analyze module dependencies
    • Unpack and cache module dependencies (from .alpackages folder), so subsequent store opening is quicker
    • Analyze and index source code residing in the VS code project itself (single folder or multiple folders in case of workspace file)
    • Analyze and index source code in dependencies when ShowMyCode=true, otherwise index symbol file
  • Browse code of whole solution (for dependencies with ShowMyCode false, we cannot access the source code)
  • Use unique features for Prism for AL
  • Use 'good old' Prism functionality across the whole code base, e.g.:
    • Find usages of objects, procedures (including event publishers), triggers, variables, parameters
    • Find field usages including (where is field updated/read)
    • Find system function usages on objects, e.g. Insert/Modify
    • Procedure and Field name search

Feedback

Your feedback is more than welcome!

Please send your feedback via Prism's built-in feedback facility or by email to feedback@stati-cal.com.