Solution page
The Solution page shows what the open workspace consists of: every module Prism resolved, in dependency order, with its publisher, version, role and origin, and a dashboard with the workspace's health issues, object counts, AL settings and Git status. Select a module to see its details, its dependencies, the modules that use it, its namespaces and its translations. Use it to size up a solution and to check that every dependency resolved as you expect.
Opening it
- Select Solution in the rail of the Workspace window.
- Right-click an object or a module in the Objects panel and select Go to Module: the page opens with that module selected.
To open every workspace on this page, set Start action to Show solution view on the Settings page.

| # | Name | Description |
|---|---|---|
| 1 | Search |
Filters the modules by publisher, name, version and module id. A version range such as
1.0..2.0 (or 1.0.. or ..2.0) keeps the modules whose version
lies in the range; add text to the range to match both.
|
| 2 | # | The module's place in the Topological order of the module dependencies. |
| 3 | Publisher | The publisher, from the module's manifest. |
| 4 | Name | The module name. A red symbol after it means one or more of its dependencies did not resolve: hover over it to see whether symbols are missing (download symbols and reload the workspace) or the dependencies were not found in the workspace. |
| 5 | Version | The module's version. |
| 6 | Constraint | The version the other modules of the workspace require of it, combined, such as ≥23.0.0.0. |
| 7 | Role | The kind of module: PLATFORM, SYSTEM (System and System Application), BASE (Base Application), APP (Application), TEST or EXT (an extension). Hover over a chip for its description. |
| 8 | Origin | Where the module comes from: a workspace folder or a package. See Origin column. |
| 9 | Total object count | The number of objects in all resolved modules and the number of object types. |
| 10 | Object count per object type | The number of objects of each type; extension types beside the type they extend. |
| 11 | Export solution metrics | Saves the solution metrics to an Excel (.xlsx) file, for example to estimate the size of a customer solution. |
| 12 | Explore file system | Opens the File explorer window on the workspace folders and the packages the workspace uses. |
| 13 | Reveal workspace | Shows the workspace folder or .code-workspace file in File Explorer. |
| 14 | Reveal selected item | Scrolls the list to the selected module, when it is out of view. Available while a module is selected. |
| 15 | AL Settings | The AL settings of the workspace, cascaded from your user settings and the workspace settings. See AL Settings. |
Further columns to the right of Origin count, per module, the files with errors, the candidate discoveries, the dependencies, the modules that use it and the translation files that target it; hover over a column header for its meaning. The error column is shown only when files have errors; see Parse errors. Select a module to show its tabs on the right, starting with the Module tab.
Origin column
The Origin column shows a symbol for where Prism found the module. Hover over it for the same description.
| Symbol | Meaning |
|---|---|
| Source symbol | An app.json file in a workspace folder. |
| Source symbol, green | A workspace folder under Git version control that tracks a remote repository. |
| Source symbol, caution color | A workspace folder under local Git version control only. |
| Package symbol | An .app file from the package cache. |
| Package symbol, caution color | A package only search depth All loads, as a dependency of a dependency. “AL: Download symbols” in Visual Studio Code does not update it, so it may be outdated. |
| Symbols symbol, caution color | A package without AL source files: Prism has its symbols but not its code. |
Dashboard
With no module selected, the right side of the page shows the dashboard of the whole workspace, as expanders:
- Diagnostics (“Workspace health issues”), when there are any. See below.
- Object metrics: the object counts, legend rows 9 and 10 above.
- AL Settings: the settings from your user settings and the workspace. See AL Settings.
- Git, when all modules of the workspace are in one Git repository. See Git.
| # | Row | Description |
|---|---|---|
| 1 | Unresolved modules | The number of dependencies Prism could not resolve. Select the link for the Modules tab. When the workspace also has runtime packages, a note explains that Prism cannot read them, as they are encrypted. |
| 2 | Compilation unit errors | The number of files with errors. Select the link for the Compilation units tab. |
| 3 | Graph translation syntax errors, Graph translation name resolution errors | Internal Prism for AL errors while building the code graph. Select the link for the CodeGraph tab. |
| 4 | Nested project advisories | app.json files found inside workspace folders. Prism leaves these nested projects out of
the workspace. Each is listed with its severity, its path, which you can select to show it in File
Explorer, and a description.
|
| 5 | Missing package directories |
Folders that an al.packageCachePath setting names but that do not exist. Prism read no
packages from them, so the dependencies expected there are unresolved, or come from the package
cache when Search Package Cache is on.
|
| 6 | Modules not updated by “AL: Download symbols” |
The modules that search depth All loaded as dependencies of dependencies. “AL:
Download symbols” in Visual Studio Code downloads only direct dependencies, the dependencies from
app.json's application and platform, and propagated
dependencies, so nothing updates these modules and they may be outdated.
|
Module tab
The Module tab shows the selected module's details: mostly from its manifest, but also from Prism's module resolution, its object metrics and its settings files.

| # | Name | Description |
|---|---|---|
| 1 | Discovery |
Where Prism found the module that it uses: the path, which you can select to open, and, for a
package, which al.packageCachePath setting led to it. To see the other versions Prism
considered, use the Discovery tab.
|
| 2 | Core, Environment, Code and Miscellaneous |
The module data from app.json for a workspace folder, or from NavxManifest.xml
for a package (.app file).
|
| 3 | Object metrics | The number of objects of each type in the module. |
| 4 | Module graph | Shows the Module graph page with the module highlighted. |
| 5 | Collapse | Collapses all expanders. |
| 6 | Expand | Expands all expanders. |
| 7 | Close module view | Closes the module's tabs and shows the dashboard again, with no module selected. |
Below Object metrics, more expanders appear for some modules only, so the screenshot does not show them:
- AL Settings, for a module from a workspace folder. See AL Settings.
- Launch Settings, when the module folder has a
.vscode\launch.jsonfile. See Launch Settings. - Directory App Props, when the module folder or a folder above it has a
Directory.App.Props.jsonfile. See Directory App Props. - Git, when the workspace spans more than one Git repository, for the module's own repository. See Git.
AL Settings
AL Settings shows the AL settings Prism reads, layer by layer: your Visual Studio Code user settings, the workspace settings and, on a module's tab, the module's own settings. On the dashboard it shows the user and workspace layers. It is collapsed until you expand it.
| # | Name | Description |
|---|---|---|
| 1 | Show all settings | Off by default: only the settings with a value are listed. On: settings with no value are listed as well. |
| 2 | Search | Filters the settings. |
| 3 | Group | A heading over a group of related settings. |
| 4 | Setting | The setting's name, such as al.packageCachePath, with a row below for each layer that sets it: user, workspace and module. |
| 5 | Overriding layer | A check mark after a layer's name marks the value in effect, which overrides the layers above it, such as “This workspace value overrides the user value”. The overridden values are dimmed. |
| 6 | Value | A list is shown as chips: over eight items, the first five and Show N more (then Show fewer). An object is shown as a table. A value nested too deep ends in “N more not shown here; the full value is in the settings file”. |
For al.packageCachePath, an active row shows the value Prism loaded when it opened
the workspace; a change to it takes effect when you reload the workspace.
Launch Settings
Launch Settings (“Visual Studio Code launch configurations”) shows the configurations in the
module's .vscode\launch.json, the ones Visual Studio Code uses to publish and debug the app. Prism
watches the file and shows a change within a second. It is collapsed until you expand it.
| # | Name | Description |
|---|---|---|
| 1 | File | The path of launch.json. Select it to open the file in the program Windows associates with it. If the file cannot be read, a red banner gives the reason, such as “Invalid JSON”. |
| 2 | Show all settings | Off by default. On: each configuration also lists the properties Prism does not show by default, dimmed and in italics. |
| 3 | Configuration | A launch configuration, by its name. |
| 4 | Properties |
The configuration's properties that are set, of type, request,
environmentType, environmentName, server,
serverInstance, port, authentication, startupObject
(type and id), breakOnError, launchBrowser,
enableLongRunningSqlStatements and enableSqlInformationDebugger.
|
Directory App Props
Directory App Props (“Inherited variables and properties from Directory.App.Props.json”) shows
the Directory.App.Props.json file nearest to the module folder, in the folder itself or a folder
above it, whose variables and properties the module's app.json inherits. It is collapsed until
you expand it.
| # | Name | Description |
|---|---|---|
| 1 | File | The path of the file. Select it to open the file. If the file cannot be read, a red banner gives the reason. |
| 2 | Search | Keeps the variables and properties whose name or value contains the text. |
| 3 | Variables | The file's variables, by name, with their values. |
| 4 | Properties | The app.json properties the file sets, with their values. |
Git
Git (“Version control metadata”) shows the state of a Git repository as a timeline, newest at the top. It shows on the dashboard when all modules are in one repository, and on each module's tab when the workspace spans several repositories. It is expanded by default.
| # | Name | Description |
|---|---|---|
| 1 | Uncommitted changes | Shown when the working tree has changes: the number of added (+), updated (~) and deleted (-) files, and the commits ahead of and behind the remote branch. |
| 2 | HEAD | The commit checked out, in bold, with a chip naming the branch. |
| 3 | Commit | One of the ten most recent commits: its subject, with an issue reference such as (#3789) kept in view, the author and how long ago. The author and time are left out where they repeat the row above. Hover over a row for the subject, the full SHA, the author and the exact time. |
| 4 | Copy commit SHA to clipboard | Appears on the row under the pointer. Copies the commit's SHA. |
While Prism reads the history, three placeholder rows hold its place. When there is no history to show, the expander shows the branch name, the short SHA of HEAD with a copy button, and its commit message.
Discovery tab
The Discovery tab lists every Package file and workspace folder that Prism for AL considered for the module while loading, and shows which one it chose.

| # | Name | Description |
|---|---|---|
| 1 | Go | Select the link symbol, or double-click the row, to show the Discovery page with the module selected. |
| 2 | Used | Marks the candidate that module resolution chose. |
| 3 | Path | The path of the .app file or workspace folder. |
Usings tab
The Usings tab lists the modules the selected module depends on, one row per dependency.

| # | Name | Description |
|---|---|---|
| 1 | Go | Select the link symbol, or double-click the row, to select the dependency in the module list. |
| 2 | Publisher | The publisher of the dependency. |
| 3 | Name | The name of the dependency. |
| 4 | Version | The version of the dependency that Prism resolved. |
| 5 | Constraint | The version the selected module requires of the dependency. |
| 6 | Status | Empty when the dependency resolved. Anything here is a module resolution error; hover over it for the details. |
| 7 | Kind |
Where the dependency comes from:
|
Usages tab
The Usages tab lists the modules that depend on the selected module, one row per module.

| # | Name | Description |
|---|---|---|
| 1 | Go | Select the link symbol, or double-click the row, to select the depending module in the module list. |
| 2 | Publisher | The publisher of the depending module. |
| 3 | Name | The name of the depending module. |
| 4 | Version | The version of the depending module. |
Namespaces tab
The Namespaces tab lists the namespaces declared in the selected module's files, one row per namespace.

| # | Name | Description |
|---|---|---|
| 1 | Go | Select the link symbol, or double-click the row, to show the namespace on the Namespaces page. |
| 2 | Namespace | The full namespace name. |
Translations tab
The Translations tab lists the XLIFF files that translate something in the selected module, one row per combination of file, source language and target language.

| # | Name | Description |
|---|---|---|
| 1 | Go |
Select the symbol, or double-click the row, to show the translation file in File Explorer. Works for
XLIFF files in a workspace folder, not for those inside .app files.
|
| 2 | External | Marks a translation file that belongs to another module. |
| 3 | Origin | The module that contains the XLIFF file: Internal for the selected module, otherwise the name of the owning module. |
| 4 | Source | The source language of the translation. |
| 5 | Target | The target language of the translation. |
| 6 | File | The name of the XLIFF file. |