Skip to content
Shea Craig edited this page Mar 26, 2018 · 1 revision

Plugin Overview

Plugins provide a way to customize data reporting for Sal. Plugins, primarily, work with the Machine table in Sal, and process data about machines to accomplish their goals. Only deployed machines are included in plugin output by default (although a plugin can get the full Machine list if needed).

There are several types of plugins, used for different data visualization purposes. Plugins can run scripts on client machines and collect data, which gets stashed in the Sal database.

Plugins have an OS family property that determines for which client machines the plugin and associated scripts should be included. For example, you would not want a graph of FileVault encryption status to include Windows clients, as they obviously do not use that technology.

Types of Plugins

Sal uses three different types of plugins to display charts, visualize data, and to display filtered machine lists based on that data.

The main dashboard page, the business unit dashboard, and the machine group dashboard, all display 'widget' plugins. Widgets are flowed into rows in the dashboard layout, and tend to represent a single concept. Some widgets display charts, and allow a user to click on the data to display machines which are represented by that piece of data.

'Machine detail plugins' are displayed on the machine detail page only. Machine detail plugins display data about a single machine, and are also flowed into the layout, below all of the standard machine detail page elements.

'Reports' are plugins that are displayed by themselves on a full page. Reports are useful for displaying more complex data, or groups of related data, since there is a lot more space. Reports process and display data for whichever viewing context they were linked from, either all computers, or for a specific business unit or machine group. Reports, like Widgets, may also link to filtered lists of machines based on the report's data.

Plugin Scripts

Plugins may include any number of executable script files. During a client machine's Munki run, the sal-scripts preflight will determine which plugins are active on the server. Scripts are then downloaded to the client machine for execution during the postflight stage of the Munki run. Plugin scripts then stash their output, and the postflight script submits them to Sal, where they get added to a plugin results table in the database.

Clone this wiki locally