Creates ready-to-use templated application files using the periscope2
framework. The application can be created either empty (default) or with a
sample/documented example application.
create_application(
name,
location,
sample_app = FALSE,
left_sidebar = TRUE,
right_sidebar = FALSE
)
name for the new application and directory
base path for creation of name
whether to create a sample shiny application
whether the left sidebar should be enabled. It can be TRUE/FALSE
parameter to set the right sidebar. It can be TRUE/FALSE
no return value, creates application folder structure and files
The name
directory must not exist in location
. If the code
detects that this directory exists it will abort the creation process with
a warning and will not create an application template.
Use only filesystem-compatible characters in the name (ideally w/o spaces)
name
-- log (log files)
-- program (user application)
-- -- config (application configuration files)
-- -- data (user application data)
-- -- fxn (user application function)
-- -- modules (application modules files)
-- www (supporting shiny files)
-- -- css (application css files)
-- -- img (application image files)
-- -- js (application js files)
All user application creation and modifications will be done in
the program directory. The names & locations
of the framework-provided .R files should not be changed or the framework
will fail to work as expected.
name/program/config directory :
Use this location for configuration files.
name/program/data directory :
Use this location for data files. There is a .gitignore file
included in this directory to prevent accidental versioning of data
name/program/fxn directory :
Use this location for supporting and helper R files.
name/program/modules directory :
Use this location for application new modules files.
name/program/global.R :
Use this location for code that would have previously resided in global.R
and for setting application parameters using
set_app_parameters. Anything placed in this file will
be accessible across all user sessions as well as within the UI context.
name/program/server_global.R :
Use this location for code that would have previously resided in server.R
above (i.e. outside of) the call to shinyServer(...)
. Anything placed
in this file will be accessible across all user sessions.
name/program/server_local.R :
Use this location for code that would have previously resided in server.R
inside of the call to shinyServer(...)
. Anything placed in this
file will be accessible only within a single user session.
name/program/ui_body.R :
Create body UI elements in this file and register them with the
framework using a call to add_ui_body
name/program/ui_footer.R :
Create footer UI elements in this file and register them with the
framework using a call to add_ui_footer
name/program/ui_header.R :
Create header UI elements in this file and register them with the
framework using a call to add_ui_header
name/program/ui_left_sidebar.R :
Create sidebar UI elements in this file and register them with the
framework using a call to add_ui_left_sidebar
name/program/ui_right_sidebar.R :
Create right sidebar UI elements in this file and register them with the
framework using a call to add_ui_right_sidebar
name/www/css/custom.css :
This is the application custom styling css file. User can update
application different parts style using this file.
name/www/js/custom.js :
This is the application custom javascript file.
name/www/periscope_style.yaml :
This is the application custom styling yaml file. User can update
application different parts style using this file.
Do not modify the following files:
name\global.R
name\server.R
name\ui.R
name\www\img\loader.gif
name\www\img\tooltip.png
# sample app named 'mytestapp' created in a temp dir
location <- tempdir()
create_application(name = 'mytestapp', location = location, sample_app = TRUE)
#> periscope2 application mytestapp was created successfully at /tmp/RtmpFaw2np
unlink(paste0(location,'/mytestapp'), TRUE)
# sample app named 'mytestapp' with a right sidebar using a custom icon created in a temp dir
location <- tempdir()
create_application(name = 'mytestapp', location = location, sample_app = TRUE, right_sidebar = TRUE)
#> periscope2 application mytestapp was created successfully at /tmp/RtmpFaw2np
unlink(paste0(location,'/mytestapp'), TRUE)
# blank app named 'myblankapp' created in a temp dir
location <- tempdir()
create_application(name = 'myblankapp', location = location)
#> periscope2 application myblankapp was created successfully at /tmp/RtmpFaw2np
unlink(paste0(location,'/myblankapp'), TRUE)
# blank app named 'myblankapp' without a left sidebar created in a temp dir
location <- tempdir()
create_application(name = 'myblankapp', location = location, left_sidebar = FALSE)
#> periscope2 application myblankapp was created successfully at /tmp/RtmpFaw2np
unlink(paste0(location,'/myblankapp'), TRUE)