Learn R Programming


title: "Periscope Shiny Application Framework" output: html_document: self_contained: yes

periscope was originally developed as the core Shiny component for bioinformatics and systems biology analysis applications. It provides a predefined but flexible template for new Shiny applications with a default dashboard layout, three locations for user alerts, a nice busy indicator and logging features.

One of the most important features of the shiny applications created with this framework is the separation by file of functionality that exists in one of the three shiny scopes: global, server-global, and server-local. The framework forces application developers to consciously consider scoping in Shiny applications by making scoping distinctions very clear without interfering with normal application development. Scoping consideration is important for performance and scaling, which is critical when working with large datasets and/or across many users. In addition to providing a template application, the framework also contains a number of convenient modules: a (multi)file download button module and a downloadable table module for example.

Installation

periscope is available for installation from CRAN or you can install the latest version of periscope from GitHub as follows:

devtools::install_github('cb4ds/periscope')

Examples

These are included to get you started. You can either start with an empty application or an application that includes samples of the components that you can use within your application. There is extensive package documentation and full Vignettes are also available to help you with all the options.

Empty application

library(periscope)
create_new_application('emptyapp', location = tempdir())
runApp('emptyapp')

Sample application - no right sidebar

library(periscope)
create_new_application("sampleapp1", location = tempdir(), sampleapp = TRUE)
runApp('sampleapp1')

Sample application - including a right sidebar

library(periscope)
create_new_application("sampleapp2", location = tempdir(), sampleapp = TRUE, rightsidebar = TRUE)
runApp('sampleapp2')

Copy Link

Version

Install

install.packages('periscope')

Monthly Downloads

392

Version

1.0.4

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

November 6th, 2023

Functions in periscope (1.0.4)

periscope

Periscope Shiny Application Framework
ui_tooltip

Insert a standardized tooltip
remove_reset_button

Remove the reset button from an existing application.
downloadFile

downloadFile Module
add_left_sidebar

Add the left sidebar to an existing application.
add_ui_body

Add UI Elements to the Body area
add_reset_button

Add the reset button to an existing application.
add_ui_sidebar_right

Add UI Elements to the Right Sidebar
add_ui_sidebar_advanced

Add UI Elements to the Sidebar (Advanced Tab)
add_right_sidebar

Add the right sidebar to an existing application.
downloadFileButton

downloadFileButton UI
create_new_application

Create a new templated framework application
add_ui_sidebar_basic

Add UI Elements to the Sidebar (Basic Tab)
logging-entrypoints

Entry points for logging actions
get_url_parameters

Get URL Parameters
downloadablePlot

downloadablePlot Module
downloadFile_AvailableTypes

downloadFile Helper
downloadableTableUI

downloadableTable UI
downloadableTable

downloadableTable Module
downloadFile_ValidateTypes

downloadFile Helper
downloadablePlotUI

downloadablePlot UI
set_app_parameters

Set Application Parameters