Skip to contents

Overview

runGlassExample("connect-workflow") opens a Shiny page designed to be published to Posit Connect. It demonstrates a practical review workflow:

  • filters define the active queue with glassSelect() and glassMultiSelect()
  • glassTabsUI(orientation = "vertical", indicator = "solid") guides users through intake, exploration, and approval
  • updateGlassTabBadge() keeps tab badges aligned with the filtered data
  • updateGlassTabsUI() moves reviewers to the next stage from server actions
  • theme = "auto" follows Bootstrap 5 / bslib light and dark modes

Run locally

library(glasstabs)

if (interactive()) {
  runGlassExample("connect-workflow")
}

Manifest

The example folder ships with a manifest.json generated by rsconnect::writeManifest(). The app adapts to the installed glasstabs version: it uses the enhanced indicator, orientation, and theme = "auto" arguments when available, and falls back to the CRAN-compatible tab API when Connect restores the CRAN package from the manifest. Regenerate the manifest after changing the app or its dependencies:

rsconnect::writeManifest(appDir = "inst/examples/connect-workflow")

Deploy to Posit Connect

The example is a self-contained Shiny app folder with app.R and manifest.json. In a package checkout, deploy it directly:

rsconnect::deployApp(
  appDir = "inst/examples/connect-workflow",
  appName = "glasstabs-connect-workflow",
  appTitle = "glasstabs Connect Workflow"
)

If you are deploying from an installed package, copy the example folder first:

example_dir <- system.file("examples", "connect-workflow", package = "glasstabs")
file.copy(example_dir, "connect-workflow", recursive = TRUE)

rsconnect::deployApp(
  appDir = "connect-workflow",
  appName = "glasstabs-connect-workflow",
  appTitle = "glasstabs Connect Workflow"
)

Workflow pattern

The page uses a common Connect pattern: make the first screen the actual work surface, keep controls near the content they affect, and expose state through badges and compact metrics. That makes the app useful as a scheduled report, review queue, or operational handoff page without adding a separate landing screen.