Link Search Menu Expand Document

First App Step

We encourage most apps to use the standardized sourceFileUpload appStep module as their first app step. It offers well-tested code for users to upload multiple data-packages for:

  • organizing their work
  • renaming samples
  • performing comparative data analyses

However, some apps may wish to enforce the analysis of only a single data package per encounter. Such apps should instead write their own custom appStep module to be used as the first app step.

Specific requirements of first appStep modules

A first appStep module follows the same structure as any appStep module, but with the following important additional members of its return value list:

# <appStep>/<appStep>_server.R
appStepServer <- function(id, options, bookmark, locks) {
    moduleServer(id, function(input, output, session) {
    list( # the module's return value
        outcomes = list(
            analysisSetName = reactive(...) # used for default naming of bookmark files
        ),
        loadSourceFile = function(incomingFile, suppressUnlink) # data passed from the universal launch page
    )
})}

The analysisSetName outcome must be provided, typically from a user input, as it is used to construct standardized bookmark names.

The loadSourceFile function is required to load the incoming data package file. Please use str(incomingFile) when writing your appStep module to understand how the file metadata are communicated.