11.9 Bookmarking Challenges

  • You must be extra cautious if your app relies on random number generation. Bookmarking will not generate the same results unless you make your process reproducible.

    • Suggested solution: repeatable() : returns a wrapped version of a random data function that always uses the same seed when called.
    • rnormA <- repeatable(rnorm)
  • Be sure to give your tabs an id when using tabsetPanel()

  • Be cautious of what you share. If your app requires sensitive information, use setBookmarkExclude() somewhere in the server to ensure that they do not get included in your bookmark.

    • setBookmarkExclude(c("secret1", "secret2"))
  • If you use reactiveValues() to manually manage our reactive state, use onBookmark() instead of onBookmarked(). This will be discussed more in Ch.16 and more details can be found in Advanced Bookmarking