Skip to contents

There are two scenarios:

  • A: You want to create SIA modules, but don’t have any R package at hand.
  • B: You have an existing R package and want to add one or more SIA modules to it.

A: Create a Module Package

An RStudio project template is shipped within SIAtools. In RStudio, navigate to File > New Project > New Directory > ShinyItemAnalysis Module Project1. Alternatively, you can achieve the same programmatically with:

SIAtools::create_module_project("path/to/your/new/project")

Further instructions will pop up in the console of your new project. Then, just proceed with the steps delineated in scenario B:

B: Add Module(s) to Your Package

To create a new SIA module in your existing package, simply call:

SIAtools::add_module(name = "my_module")

SIAtools will then check your package, create a so-called SIA Module Manifest and generate the actual .R file with a pre-populated template code for your new module. SIA modules are in fact standard shiny modules, prepared to work like add-ons or extensions in the ShinyItemAnalysis interactive app, so you develop your module just like any other shiny app. If you are new to this, learn more at https://shiny.posit.co/.

However, SIA modules are not standalone apps, so they are not directly runnable. That’s why we’ve prepared an easy way to preview your in-development module without needing to install your package and testing it in the SIA app. Just run

SIAtools::preview_module()

and check your progress iteratively. In RStudio, you can even use our SIAtools addin to preview the module whose source code file is currently open and active. You’ll find it in Addins menu or in your command palette, which is especially handy. Keyboard shortcut is also available, see our edit_rstudio_shortcuts() function for details.

For further information on some special cases you may encounter during the module development, please refer to other vignettes. If you plan to use any objects, such as data or fitted models from the SIA app, you might be especially interested in vignette("imports", "SIAtools").