NEWS.md
crunchyServer()
around your usual shiny::shinyServer()
function to enforce Crunch authentication and to be able to supply custom authorization rules, which you can set with setCrunchyAuthorization()
. Wrap your UI body (inside shiny::shinyUI()
, the part after any tags$head()
or other headers) in crunchyBody()
to conditionally show your app when the current user is authenticated. Add crunchyPublicBody()
to specify what unauthenticated users will see, and crunchyUnauthorizedBody()
for what authenticated but not authorized users will see.shiny::bootstrapPage()
types directly: no need for a crunch-
prefixed version of them. Now you can use navbarPage
, fillPage
, etc. just as you would for any shiny
app, and when the crunchy
package is loaded, Crunch authentication and other enhancements will automatically be loaded.shinyUser()
to return a reactive
object yielding the CrunchUser currently viewing the app. This function also ensures that the current user is authenticated with the Crunch API.withCrunchyProgress()
context to report progress from the Crunch API (for example, when exporting data) as a progress bar in a Shiny app using shiny::withProgress()
.crunch
package: (1) finding and loading a dataset, and (2) creating an array or multiple response variable.vignette("flexdashboards", package="crunchy")
.crunchNavbarPage
for Crunchy version of navbarPage
(#2)