PecanProject / pecan

The Predictive Ecosystem Analyzer (PEcAn) is an integrated ecological bioinformatics toolbox.
www.pecanproject.org
Other
203 stars 235 forks source link

Shiny app catalog #907

Open ashiklom opened 8 years ago

ashiklom commented 8 years ago

Per PEcAn meeting on July 12, 2016, we should figure out an effective way to manage multiple Shiny apps as well as better integration of the Shiny apps into our existing web interface.

A good place for ideas is the official Shiny gallery.

My idea was to develop and debug Shiny apps in isolation, but then display their final version in a single Shiny app via something like a navbar or navlist. This approach is discussed in this Shiny article on modules.

An alternative (preferred by @robkooper and @mdietze) is to create a catalog of isolated Shiny apps that share some basic functions stored in the PEcAn.visualization (or some other) R package. One way to do this is to place a Shiny app directly in the directory containing the shiny apps (i.e. pecan/shiny). This requires placing the required simple server.R and ui.R scripts in that main directory (pecan/shiny/server.R and pecan/shiny/ui.R). I tested this with a demo Shiny app, but have not tested it with links. The kink in this is that it requires some sort of clever handling of URLs, depending on the way Shiny Server and Apache are set up.

Or, instead of a Shiny app, you can just make the pecan/shiny directory a working website (pecan/shiny/index.html, etc.) that links to the apps.

robkooper commented 8 years ago

we can have /pecan/shin/ redirect to for example /pecan/shiny/catalog and make that a shiny app that shows all folders below. If they have an icon, show the icon, etc. We just have to tell people that in their shiny apps we expect there to be an icon and we can use the README.md that is there to show some information about the app, as well as pull the authors from the DESCRIPTION file.

mdietze commented 8 years ago

Ok, we'll just want to make sure that the redirect from the current page passes the right workflow$id to the catalog, and from there on to the app. Might also be cool if the catalog could also know / figure out which apps were relevant (e.g. don't pass a single run to the sensitivity analysis app)

github-actions[bot] commented 4 years ago

This issue is stale because it has been open 365 days with no activity.