shinyscholar 0.1.0
- The template has been created mainly through the removal of
functionality from Wallaceand the addition of basic
functionality to demonstrate how modules can be used.
- These are the key features which have been retained:
- Automatic loading of modules
- Saving and loading of the current app state
- Creating Rmarkdown files for reproducing the workflow outside of the
application
- Logging errors
- These changes have been made:
- common- the data structure passed between modules -
has been changed from a- list()containing- spp <- reactiveValues()to an- R6::R6Class().
- Due to objects inside commonnot being inherently
reactive, event triggers have been added using{gargoyle}
- A Code tab has been added to the Visualization panel to allow the
code for each module and the function that each module calls to be
viewed.
- Unit tests for each module have been created using
{shinytest2}in addition to unit tests for the function
that the module calls.
- Added a new function - run_module()which can be
used to run a single module.
Removed in 0.2.2 use- run_<app name>()or- load_file_path
- Added a new function create_template()which can be
used to create a skeleton app.
- Added a Dockerfile which can be used to run the app on a
shiny-server.
- Added show_loading_modal()which uses{shinybusy}to display a modal whilst slow functions are
running.
shinyscholar 0.1.1
- Added save_and_load()to automate adding the lines to
modules which facilitate saving and loading of input values.
- Added an introduction using {rintrojs}which is only
shown to users on their first visit.
shinyscholar 0.1.2
- Moved mapping, introduction, code, save and load functionality out
of server into core_modules.
- Passed parent_sessionto the modules enabling switching
to the results, map and table tab from within modules and addedshow_table(),show_results()andshow_table()to simplify code.
- Added rep_renvmodule to enable capturing
dependencies.
shinyscholar 0.2.0
- Added ability to run functions asynchronously using
shiny::ExtendedTask().
- Modules that do not produce results now have a placeholder informing
the user.
- Updated writeLog()to use icons for different
events.
- Updated save_and_load()to ignore manually added lines
and fix indenting.
- Added metadata()to semi-automate adding code for
reproducibility.
- Module function file names now take the form of
<identifier>_f.Rto prevent confusion between the
function and module file.
- Objects are all passed to printVecAsis()when
generating the Rmarkdown, removing the need to manually wrap strings in
the.Rmdfiles.
- Use {shinyAce}to display formatted code incore_codemodule.
shinyscholar 0.2.1
- The select_queryandselect_asyncmodules
in the demonstration app have been re-written to use a different
API.
shinyscholar 0.2.2
- Removed run_module()as it was not maintainable.
- Moved all packages to Suggests unless they are required for
development of new applications.
- Added asyncLog()to improve logging from inside async
functions.
- Updated run_<app name>()to take a load file as
an argument which is loaded automatically.
- Creating load_file_pathcontaining the path to a save
file will attempt to load it on app start up.
- Made create_template(),metadata()andsave_and_load()more robust.
shinyscholar 0.2.3
- Fixed bug caused by being on CRAN
- Fixed bug in module ordering in global.R
shinyscholar 0.2.4
- Simplified and improved printVecAsis()by usingdputto support improved reproducibility e.g. by including
dataframes directly
- Removed all remnants of map when include_mapisFALSEincreate_template()
- Install packages created by create_template()in
tests
- Only run markdown tests when pandoc is installed
shinyscholar 0.2.5
- Fix bug in writeLog when type = warning
- Skip tests that download files on Fedora systems
- Module runbuttons can be pressed using the Enter
key
shinyscholar 0.3.0
Bug fixes
- Fixed core_codemodule when no function exists
- Break up very long lines in the markdown so that they can be read in
again
- Disabled register_module()as it has not been
refactored to work for created apps
- Made loading process more robust by adding the app name
- Made loading fault-tolerant if deprecated commonobjects exist
Changes
- Tidied up library()calls
- Removed unnecessary gargoyle::andleaflet::scoping
New features
- Entries in the logger are now restored on load and made available in
testing
- Added plot_autoandplot_semimodules to
the example app that run automatically and semi-automatically
respectively
- Added ability to control generated markdown chunks using
asischunks and example toplot_hist.Rmd
- Added common$reset()andreset_data()to
reset thecommonobject and remove all outputs
- Added an area to the UI for including global options available
inside all modules
- Added an options to create_template()andcreate_module()to include adownloadButtonanddownloadHandlerto modules that is only visible once
the module runs successfully
- Rewrote create_template()andcreate_module()so thatcreate_module()creates the module function and tests
- Switched to use shinyWidgets::radioGroupButtons()for
module selection menu
- Added a description of the package structure to the README
shinyscholar 0.4.0
Bug fixes
- Fixed UI generation in create_template()
- Enter key no longer reruns a module when an error message is
displayed
- Fixed API calls in select_query()andselect_async()
Changes
- Stopped running {shinytest2}tests on CRAN
- Migrated from {promises}to{mirai}for
running async tasks
- Migrated to {bslib}layout functions and various UI
tweaks
- Added a small footer linking to the CRAN package to generated
apps
shinyscholar 0.4.1
- Fix half-baked bslib migration
- Further UI tweaks
shinyscholar 0.4.2
- Various tweaks to ensure that created apps pass
R CMD check
- Removed {magrittr}dependency and migrated to native
pipes, increasing R dependency to v4.1.0
- create_module()now creates skeleton functions that
include- {roxygen2}tags
shinyscholar 0.4.3
- create_template()now creates- testthat.Rfile
- Fixed create_module()module function calls for async
apps containing a map
- Saving apps now only stores data in common(i.e. excludingcommon$tasks)
- Updated README with clarifications