diff --git a/NEWS.md b/NEWS.md index add902624..457d41831 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,6 @@ # Changes in release 4.4.0 +- Extend `plot_graph()` to display subcomponents. Check out arguments `from`, `mode`, `order`, and `shrink_edges`. The [graphing vignette](https://github.com/wlandau-lilly/drake/blob/master/vignettes/graph.Rmd) has demonstrations. - Add `"future_lapply"` parallelism: parallel backends supported by the [future](https://github.com/HenrikBengtsson/future) and [future.batchtools](https://github.com/HenrikBengtsson/future.batchtools) packages. See `?backend` for examples and the [parallelism vignette](https://github.com/wlandau-lilly/drake/blob/master/vignettes/parallelism.Rmd) for an introductory tutorial. More advanced instruction can be found in the `future` and `future.batchtools` packages themselves. - Cache diagnostic information of targets that fail and retrieve diagnostic info with `diagnose()`. - Add an optional `hook` argument to `make()` to wrap around `build()`. That way, users can more easily control the side effects of distributed jobs. For example, to redirect error messages to a file in `make(..., parallelism = "Makefile", jobs = 2, hook = my_hook)`, `my_hook` should be something like `function(code){withr::with_message_sink("messages.txt", code)}`. diff --git a/README.md b/README.md index 21af4d7e5..5323dd378 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ The [CRAN page](https://CRAN.R-project.org/package=drake) links to multiple rend ```r vignette(package = "drake") # List the vignettes. vignette("drake") # High-level intro. +vignette("graph") # Visualilze the workflow graph. vignette("quickstart") # Walk through a simple example. vignette("parallelism") # Extensive prallel computing functionality. vignette("storage") # Learn how drake stores your stuff. @@ -235,9 +236,10 @@ Similarly to imported functions like `reg2()`, `drake` reacts to changes in 1. Upstream targets. 1. For [dynamic knitr reports](https://yihui.name/knitr) (with `knit('your_report.Rmd')` as a command in your workflow plan data frame), targets and imports mentioned in calls to `readd()` and `loadd()` in the code chunks to be evaluated. `Drake` treats these targets and imports as dependencies of the compiled output target (say, 'report.md'). -See the `quickstart` vignette for demonstrations of `drake`'s reproducibility and reactivity. +See the `quickstart` vignette for demonstrations of `drake`'s reproducibility and reactivity. See the `graph` vignette for a detailed walkthrough of the visualizations. ```r +vignette("graph") vignette("quickstart") ``` diff --git a/vignettes/caution.Rmd b/vignettes/caution.Rmd index 7f9de933a..ddb748b32 100644 --- a/vignettes/caution.Rmd +++ b/vignettes/caution.Rmd @@ -246,7 +246,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` diff --git a/vignettes/drake.Rmd b/vignettes/drake.Rmd index 703674bc2..3b29f46f5 100644 --- a/vignettes/drake.Rmd +++ b/vignettes/drake.Rmd @@ -191,6 +191,7 @@ The [CRAN page](https://CRAN.R-project.org/package=drake) links to multiple rend ```{r vignettesdrakermd, eval = FALSE} vignette(package = "drake") # List the vignettes. vignette("drake") # High-level intro. +vignette("graph") # Visualilze the workflow graph. vignette("quickstart") # Walk through a simple example. vignette("parallelism") # Lots of parallel computing support. vignette("storage") # Learn how drake stores your stuff. @@ -233,9 +234,10 @@ Similarly to imported functions like `reg2()`, `drake` reacts to changes in 1. Upstream targets. 1. For [dynamic knitr reports](https://yihui.name/knitr/) (with `knit('your_report.Rmd')` as a command in your workflow plan data frame), targets and imports mentioned in calls to `readd()` and `loadd()` in the code chunks to be evaluated. `Drake` treats these targets and imports as dependencies of the compiled output target (say, `report.md`). -See the `quickstart` vignette for demonstrations of `drake`'s reproducibility and reactivity. +See the `quickstart` vignette for demonstrations of `drake`'s reproducibility and reactivity. See the `graph` vignette for a walkthrough of the workflow plan visualizations. ```{r drakermdquickvignette, eval = FALSE} +vignette("graph") vignette("quickstart") ``` @@ -262,7 +264,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` diff --git a/vignettes/graph.Rmd b/vignettes/graph.Rmd index 52a5eadb1..70141318e 100644 --- a/vignettes/graph.Rmd +++ b/vignettes/graph.Rmd @@ -29,7 +29,7 @@ plot_graph(my_plan) ``` @@ -50,7 +50,7 @@ plot_graph(my_plan) But after a `make()`, we are all caught up. @@ -67,7 +67,7 @@ plot_graph(my_plan) ``` @@ -81,7 +81,7 @@ plot_graph(my_plan, targets_only = TRUE) ``` @@ -94,7 +94,7 @@ plot_graph(my_plan, from = c("regression2_small", "regression2_large")) ``` @@ -107,7 +107,7 @@ plot_graph(my_plan, from = "small", mode = "in") ``` @@ -120,7 +120,7 @@ plot_graph(my_plan, from = "small", mode = "all", order = 1) ``` @@ -138,7 +138,7 @@ plot_graph( ``` diff --git a/vignettes/parallelism.Rmd b/vignettes/parallelism.Rmd index 7620a737e..9d16e6254 100644 --- a/vignettes/parallelism.Rmd +++ b/vignettes/parallelism.Rmd @@ -39,7 +39,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` diff --git a/vignettes/quickstart.Rmd b/vignettes/quickstart.Rmd index 816bf9a3c..6f0092f83 100644 --- a/vignettes/quickstart.Rmd +++ b/vignettes/quickstart.Rmd @@ -129,7 +129,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` @@ -274,7 +274,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` @@ -329,7 +329,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ``` diff --git a/vignettes/timing.Rmd b/vignettes/timing.Rmd index 7e7673738..2b47fff1c 100644 --- a/vignettes/timing.Rmd +++ b/vignettes/timing.Rmd @@ -116,7 +116,7 @@ plot_graph(my_plan, width = "100%", height = "500px") ```