The Dashboard crontroller displays information about recent jobs, recent uploads, etc.


new DashboardController()



_getJobOutcomeAndTimestamp() → {Array.<string>}

This returns formatted information about the outcome of a job and when that outcome occurred. The return value is a two-element array of strings. The first element describes the outcome. The second is the date on which the outcome occurred.


_getRecentJobSummaries() → {Array.<object>}

This returns summary info about the ten most recent jobs. The return value is an array of objects, each of which has three string properties. Object.name is the job name. Object.outcome is the name and outcome of the last attempted action. Object.date is the date at which the job last completed.


_getRepoReportDescriptions() → {Array.<object>}

This returns an array of objects describing all of the reports available from all of the viable repository clients.

Internally, this calls RepositoryBase#provides to get the title, description, and function to call for each report.

This adds an id to each description record, so the Dashboard controller can map each report to the HTML element that will display its output.

Each item in the returned array will have properies id, title, description, and method.


_getRepoRows(repoReports) → {Array.<Array.<object>>}

This returns a list of report rows to be displayed in the dashboard. Each row has up to two reports. (Because we're using the brain dead Handlebars templating library, we have to format our data structures precisely before rendering them. And, by the way, templates should be brain dead, because when they start thinking, they become evil, like PHP and React.)

Name Type Description

A list of repo report summary objects, which can be obtained from DashboardController#_getRepoReportDescriptions.


_getViableRepoClients() → {Array.<RepositoryBase>}

This returns a list of repository clients that look like they can return data from remote repository. To find a list of viable repository clients, DART first gets a list of all RemoteRepository objects. If the RemoteRepository object includes a RemoteRepository#pluginId, this function creates an instance of the plugin and calls the plugin's RepositoryBase#hasRequiredConnectionInfo method. If the method returns true, the instantiated client will be returned in the list of viable repo clients.



This collects and renders all of the data to be displayed in the Dashboard. The data includes information about currently running jobs, recently defined jobs, and information fetched from any remote repositories DART can connect to.