Reference manual

Solution page

The Solution page is a dashboard of the open object store: what the store is, how many objects it holds, and a grid of cards on its health and make-up. Use it to size up an unknown solution, to find the custom and the largest objects, and to see what failed to parse. The page only reads the objects; it changes nothing.

Opening it

  • Select Solution in the rail of the Workspace window.
  • Open a store in which some objects fail to parse: the workspace window then opens on this page.

The page is on the rail while Show Solution page is on, on the Settings page. It is on by default.

Prism for C/AL Solution page with the store, its counts and the first row of dashboard cards
1 2 3 4
The Solution page of a directory store.
#NameDescription
1Edit dashboardHides and restores cards. See Hide and restore cards.
2 Reload workspace Closes the object store and opens it again, for example after the files changed on disk. Open tabs and view state are lost, so with Confirm closing object store on, Prism asks first.
3Store and countsWhat the store is and how many objects, types, granules, version tags and parse errors it holds. See Counts.
4CardsEleven cards on the health and make-up of the store, three to a row; scroll the page for the rest. See Cards.

For a mirror, the title row also shows a Mirror chip that reads Idle or Synchronizing. Hover over it for the synchronization status.

Counts

Prism for C/AL Solution page headline card with the store kind, name and path and the strip of counts
1 2 3 4 5 6 7
The store and its counts.
#NameDescription
1Reveal in ExplorerThe icon of the kind of store. Select it to show the store in Windows Explorer.
2StoreThe kind of store (File, Folder or Mirror), its name and its full path.
3ObjectsThe objects in the store. The drill-down lists every object, with object type chips.
4TypesThe object types that occur. The drill-down lists every object, with object type chips.
5GranulesThe NAV licensing granules that occur. The drill-down lists every object, with a chip per granule.
6Version tagsThe version tag prefixes that occur, such as NAVW1 or NAVDK. The drill-down shows a row per object and tag, with a chip per tag: an object with three tags shows three times.
7Parse errorsThe objects that failed to parse; red, with an error mark, when there are any. The drill-down lists the failed objects with their diagnostic, with a chip per cause (Parse signature).

Select a count to list what it counts in a drill-down popup.

Cards

The cards stand three to a row, in the order below. Each card has a title and a one-line subtitle saying what it measures.

Prism for C/AL Solution page cards Custom vs. stock, Object types and Health
1 2 3
The first row of cards: the make-up and health of the store.
#CardShowsSelect a row to
1 Custom vs. stock The objects split into four groups, tested in this order: Partner add-on (an add-on or other-product version tag; the tags are listed), Country localisation (a country version tag other than W1; the countries are listed), Custom (50000+) (ids from 50000) and Microsoft baseline (the rest). The headline is the largest group's percentage. Each row shows its count, percentage and a bar; empty groups are left out. List the group's objects.
2 Object types The count of each object type, in the order Table, Page, Form, Report, Codeunit, Query, XMLport, Dataport, MenuSuite, with a bar relative to the largest. List the objects of that type.
3 Health Parse errors and Unnamed objects, each with a count that is green at zero. The heart icon is green when both are zero, amber for unnamed objects and red for parse errors. This card cannot be hidden. List the failed objects, grouped by cause, or the unnamed objects.
Prism for C/AL Solution page cards Granule / ID ranges, Version tags and Source
1 2 3
The second row of cards: granules, version tags and where the objects come from.
#CardShowsSelect a row to
1 Granule / ID ranges The objects per NAV licensing granule, with the lowest and highest id seen in each. The top six show; select +N more for the rest and Show top 6 to fold them again. List the granule's objects.
2 Version tags The version tag prefixes found in the version lists, such as W1, a country, an add-on or a partner, with a description and a count. The top six show; select +N more for the rest. List the objects that carry the tag.
3 Source Where the objects come from. For a file: Size, Modified, Encoding and Folder. For a folder: Files, Size, Modified and Folder. No drill-down.
Prism for C/AL Solution page cards Recently modified, Recent changes and Largest objects
1 2 3
The third row of cards: recent activity and the largest objects.
#CardShowsSelect a row to
1 Recently modified The ten objects with the latest Date and Time in their object header, with how long ago. Hover over the time for the date. An amber dot marks objects with Modified = Yes. Open the object.
2 Recent changes The last ten Git commits that touched the store's path: subject, short SHA, author and time. Hover over a commit and select the copy button to copy its SHA. Without a Git repository, the card says why, shows Last modified on disk and a chart of the objects' header dates by month. No drill-down.
3 Largest objects The ten largest customer-range objects. See Find the largest custom objects. Open the object.
Prism for C/AL Solution page cards Translation coverage and Layer composition
The last row of cards: translations and version tag layers.
#CardShowsSelect a row to
1 Translation coverage The number of translatable caption sites (CaptionML, OptionCaptionML, ToolTipML and the like) and languages, and per language how many sites have a translation. The base chip names the base language: the one present on the most sites. List the objects missing that language, each with Missing N of M captions. The base language has no drill-down.
2 Layer composition How many version tags each object carries: Untagged, 1 tag, 2 tags, 3 tags or 4+ tags, with count, percentage and a bar. List the objects with that many tags.

Drill-down popups

Selecting a count or a card row opens a popup listing the objects behind it. The popup closes when you open an object. Drag its bottom-right corner to resize it.

Prism for C/AL drill-down popup listing parse errors with a search box and filter chips
1 2 3 4 5 6 7
The drill-down popup of the parse errors.
#NameDescription
1SearchKeeps the rows whose type, id, name, detail or category contain the text, in any case. This is a plain text search, not the object index search syntax.
2Object typeA chip per object type, with its count. Select chips to show only those types. A chip that would leave no rows is disabled.
3Clear filtersClears every selected chip.
4CategoryA second row of chips for the category of the list, such as the cause of a parse error (Parse signature), a Granule or a Version tag. Shown when it differs from the object type.
5StatusN items, or M of N match and the search text.
6Copy allCopies the visible rows to the clipboard as tab-separated text with the columns Type, Id, Name and Detail.
7RowType, id, name, a category badge and a detail such as the diagnostic. Select the row to open the object on the Objects page. Hover over it and select the copy button for Copy diagnostic info to clipboard.

Find the largest custom objects

Use this to find the custom objects that carry the most code, for example to estimate an upgrade. The Largest objects card ranks the customer-range objects, ids from 50000, by the size of their source in characters, shown in KB. Report layouts (RDLDATA and WORDLAYOUT) are left out of the size; report sections count.

Prism for C/AL Largest objects card with its object type list open
1 2 3
The Largest objects card, choosing an object type.
#NameDescription
1Object typeReads All types or the type shown. Select it to choose a type.
2Type listAll types and each object type in the customer range.
3ObjectType, id, name, size in KB and a bar. Select it to open the object.
  1. On the Solution page, find the Largest objects card. It shows the ten largest objects of all types, with bars scaled to the largest shown.
  2. To rank one object type, select the button in the card's title row, which reads All types, and choose a type. The button shows only when the customer range holds more than one object type.
  3. Select a row to open the object.

The card then shows that type's ten largest objects, and the button names the type. Choose All types to return.

List the objects that failed to parse

Use this when the Solution icon on the rail carries an error mark.

  1. Select the Parse errors count, or the Parse errors row of the Health card.
  2. Select a chip under the category to see the objects that fail for one cause.
  3. Select a row to open the object, or select Copy all to send the list on.

The object view shows the parse error in place of the object. See Troubleshooting for what to do next. The Object Errors window lists the same objects.

Find objects missing a translation

  1. On the Translation coverage card, select the row of the language.
  2. In the popup, read Missing N of M captions per object; select a row to open the object.

Hide and restore cards

Prism for C/AL Solution page in edit mode with a hidden card on the Hidden cards strip and a cross on each card
1 2 3 4
The dashboard in edit mode, with one card hidden.
#NameDescription
1Done editing dashboardThe Edit dashboard button while edit mode is on. Select it to finish.
2Hidden cardsA chip per hidden card. Select a chip to restore that card.
3Restore allRestores every hidden card.
4Hide this cardThe cross on a card. Health has none.
  1. Select Edit dashboard in the title row. Each card shows a cross, except Health, which always shows.
  2. Select a card's cross (Hide this card) to hide it.
  3. To restore a card, select its chip on the Hidden cards: strip, or select Restore all.
  4. Select the button again (Done editing dashboard) to finish.

Prism remembers the hidden cards, and they stay hidden for every store you open.