Reference manual

Opening an object store

Prism for C/AL reads C/AL objects exported as text. The objects you open together are an object store: one object text file (a file store), a directory of object text files (a directory store), or a mirror of a NAV database (a mirror store). Each object store opens in its own Workspace window.

In one text fileexported from C/SIDE In a folder of object files,e.g. under version control In a NAV databaseyou can reach Prism exports it with finsql.exe Where are your objects? File storeOpen file… Directory storeOpen folder… MirrorOpen mirror… Workspacewindow In one text fileexported from C/SIDE In a folder of objectfiles, e.g. underversion control In a NAV databaseyou can reach exported with finsql.exe Where are your objects? File storeOpen file… Directory storeOpen folder… MirrorOpen mirror… Workspace window
Where your objects are decides the kind of store, and the Home page button that opens it.

Prism for C/AL does not read .fob files, and it does not read objects straight from a database: a mirror exports them to text first.

Every store you open is added to the recent stores on the Home page and to File › Recent in the control panel. Opening a store that is already open brings its workspace window to the front.

Open a file store

A file store is one object text file (.txt) exported from the Dynamics NAV development environment. Use it when you have an export of some or all objects in one file.

  1. Select Open file… on the Home page, or File › Open › Object Text File… in the control panel.
  2. In the Open Object Text File dialog, select the file and select Open.

Prism shows its progress while it loads the objects, then opens the workspace window.

Open a directory store

A directory store is a folder of object text files, one object per file, such as the working folder of a version control repository. Prism reads three layouts, each with its own command under File › Open in the control panel.

Prism for C/AL control panel with File › Open open and the tooltip of Object Text Directory (Default Structure) showing the folder layout
1 2 3 4
The commands for the three directory layouts.
#NameDescription
1Object Text Directory (Unstructured *.txt)…Opens a folder of object text files in any layout.
2Object Text Directory (Default Structure)…Opens a folder in the Prism layout.
3Object Text Directory (ReVision Structure)…Opens a folder in the ReVision layout.
4Layout tooltipHover over the Default or ReVision command to see the folder layout it expects.
LayoutFilesOpen it with
Unstructured Any *.txt files in the folder and its subfolders, named as you like. Open folder… on the Home page, or File › Open › Object Text Directory (Unstructured *.txt)…
Prism (default structure) One subfolder per object type, one file per object id: table\18.txt, codeunit\1.txt. Open Prism folder… on the Home page, or File › Open › Object Text Directory (Default Structure)…
ReVision One subfolder per object type, files named by type and padded id: Table\Table 0000000018.txt, Codeunit\Codeunit 0000000001.txt. File › Open › Object Text Directory (ReVision Structure)… only. The Home page has no button for it.
  1. Choose the command for your layout from the table. If you are unsure, use the unstructured layout: it reads any folder of object text files.
  2. Select the folder and confirm.

For an unstructured directory, you choose which files and folders Prism reads under Unstructured Directory Store on the Settings page. This helps when the folder also holds files that are not objects.

SettingEffect
File name inclusion filterOnly files whose names match are read, for example table*.txt.
File name exclusion filterFiles whose names match are skipped.
Directory name exclusion filterFolders whose names match are skipped, for example .git or temp_*|tmp_*.

A filter is one or more patterns separated by |. In a pattern, * stands for any run of characters and ? for one character. An empty filter filters nothing.

Open a mirror

A mirror is a local copy of the objects of a NAV database. Prism exports the objects as text through the development environment (finsql.exe) and keeps the copy in sync in the background. You define mirrors, including their service tier, on the Mirrors.

Prism for C/AL Open Database Mirror dialog listing mirrors with their status, server, database, NAV adapter and synchronization
1 2 3 4 5 6 7 8
The Open Database Mirror dialog.
#NameDescription
1Status dotGreen when the last synchronization succeeded, red when it failed, grey when the mirror has not been synchronized.
2Mirror NameThe name you gave the mirror.
3Server NameThe SQL Server of the database.
4Database NameThe NAV database.
5NAV AdapterThe development environment Prism exports with.
6Sync.Whether background synchronization is on.
7OKOpens the selected mirror.
8CancelCloses the dialog.
  1. Select Open mirror… on the Home page. Or choose the mirror under File › Open › Mirror in the control panel, or select Open mirror on the Mirrors page; Prism then opens it straight away.
  2. In the Open Database Mirror dialog, select a mirror and select OK, or double-click it.

When no mirror is defined yet, Open mirror… takes you to the Mirrors page instead. A mirror opens only once it has been synchronized; otherwise Prism says Mirror has not been synchronized, yet. While a mirror synchronizes, the workspace window's status bar and the Solution page show it.

Save a store as a directory store

Use this to split a file store into one file per object, for example to put the objects under version control.

  1. In the workspace window, choose File › Save As › Object Text Directory (Default Structure)… for the Prism layout, or File › Save As › Object Text Directory (ReVision Structure)… for the ReVision layout.
  2. Select an empty folder. For a folder that is not empty, Prism says Error saving store: "Directory is not empty. Please select an empty directory." and writes nothing; choose the command again and select an empty folder.

Prism writes one file per object. Open the folder later as a directory store with the same layout.

Object encoding

Prism reads object files with the Default object encoding from the Settings page. When the setting is empty, Prism uses the OEM code page of Windows. A mirror can override the encoding in its own settings. The Source card on the Solution page shows the encoding a file store was read with.

Loading an object store

While Prism loads an object store, it shows a progress window.

Prism for C/AL progress window while it loads an object store, with counts of scanned, parsed, indexed and failed objects
1 2 3 4 5 6 7 8
Loading an object store.
#NameDescription
1HeadingOpening and the name of the store.
2PathWhere the store is.
3Progress barRuns without a value while Prism looks for files, then fills up as Prism parses and indexes the objects.
4ScannedObjects found.
5ParsedObjects parsed.
6IndexedObjects indexed.
7FailedObjects that could not be parsed. You find them on the Solution page and in the Object Errors window.
8CancelStops loading. The button reads Cancelling until Prism has stopped. Closing the window does the same.

When loading fails, the progress window closes and Prism says Open Store: "<path> could not be loaded." with the reason below. See An object store cannot be loaded.

Reload an object store

Prism reads a file or directory store once, when it opens it. Reload the store when the files change on disk, for example after you pull from version control.

  1. Select Reload workspace on the Solution page.
  2. If Confirm closing object store is on, on the Settings page, confirm Reload workspace?.

Prism closes the store and opens it again with the same encoding. Open tabs and view state are lost. You can also close the workspace window and, in the control panel, press Ctrl+1 to Ctrl+9 to open the first to ninth store in File › Recent.