trackdown
R package for collaborative writing and editing of R Markdown (or Sweave) documents in Google Docs.
Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
3 of 12 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.3%) to scientific vocabulary
Keywords
markdown
r
r-package
reproducible-research
rstats
Keywords from Contributors
tidyverse
literate-programming
rmarkdown
ropensci
summary-statistics
unconf
unconf17
latex
book
bookdown
Last synced: 6 months ago
·
JSON representation
Repository
R package for collaborative writing and editing of R Markdown (or Sweave) documents in Google Docs.
Basic Info
- Host: GitHub
- Owner: ClaudioZandonella
- License: gpl-3.0
- Language: HTML
- Default Branch: main
- Homepage: https://ClaudioZandonella.github.io/trackdown/
- Size: 24.8 MB
Statistics
- Stars: 226
- Watchers: 8
- Forks: 15
- Open Issues: 27
- Releases: 7
Topics
markdown
r
r-package
reproducible-research
rstats
Created over 7 years ago
· Last pushed over 2 years ago
Metadata Files
Readme
Contributing
License
Code of conduct
README.Rmd
---
output: github_document
---
```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
echo = TRUE,
eval = FALSE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# trackdown - R package for improving collaborative writing
[](https://www.repostatus.org/#active)
[](https://CRAN.R-project.org/package=trackdown)
[](https://github.com/claudiozandonella/trackdown/actions/workflows/check-standard.yaml)
[](https://app.codecov.io/gh/claudiozandonella/trackdown)
[](https://doi.org/10.5281/zenodo.5167319)
## Overview
The `trackdown` package offers a simple solution for collaborative writing and editing of R Markdown (or Quarto / Sweave) documents. Using `trackdown`, the local `.Rmd` (or Quarto / `.Rnw`) file can be uploaded as a plain-text file to Google Drive. By taking advantage of the easily readable Markdown (or LaTeX) syntax and the well-known online interface offered by Google Docs, collaborators can easily contribute to the writing and editing process. After integrating all authors’ contributions, the final document can be downloaded and rendered locally.
> From `trackdown` v1.3.0 [currently only available on GitHub], the `trackdown` package introduces the `rich_text` feature and uses its own API credentials.
>
> - **`rich_text` {style="vertical-align:middle"}** - Upload *rich* documents to Google Docs where important text that should not be changed is automatically highlighted (e.g., placeholders hiding the code, header of the document, code chunks, and in-line code). This prevents collaborators from inadvertently making changes to the code which might corrupt the file. See [rich-text feature details]( https://claudiozandonella.github.io/trackdown/articles/trackdown-features.html#rich-text).
> - **API Credentials** - Now, `trackdown` uses its own Google API credentials (OAuth client ID and secret). This requires Google authentication and to enable *“Trackdown R Package”*. The project is undergoing Google verification so it is already available but Google displays a warning message (see details at [issue comment](https://github.com/ClaudioZandonella/trackdown/issues/28#issuecomment-1057195007)). Don't worry `trackdown` uses the same system as the `googledrive` package that was previously used. See details on privacy policy at `vignette("trackdown-privacy-policy")`).
> - [**IMPORTANT**] We currently reached the maximum number of users for the API credentails. Installing the development `trackdown` from GitHub will require to create your own API credentials. Please, see instructions at https://claudiozandonella.github.io/trackdown/articles/oauth-client-configuration.html
> - **Quarto** documents now supported!!
## Installation {#install}
You can install the released version from
[CRAN](https://CRAN.R-project.org/package=trackdown) with:
```{r}
install.packages("trackdown")
```
To install the development version from [GitHub](https://github.com/ClaudioZandonella/trackdown/), run the following code:
```{r}
# install.packages("remotes")
remotes::install_github("claudiozandonella/trackdown",
build_vignettes = TRUE)
library(trackdown)
```
## The `trackdown` Workflow {#workflow}
During the collaborative writing/editing of an `.Rmd` (or **Quarto** / `.Rnw`) document, it is important to employ different workflows for computer code and narrative text:
- **Code** - Collaborative code writing is done most efficiently by following a traditional **Git**-based workflow using an online repository (e.g., GitHub or GitLab).
- **Narrative Text** - Collaborative writing of narrative text is done most efficiently using **Google Docs** which provides a familiar and simple online interface that allows multiple users to simultaneously write/edit the same document.
Thus, the workflow’s main idea is simple: Upload the `.Rmd` (or Quarto / `.Rnw`) document to Google Drive to collaboratively write/edit the narrative text in Google Docs; download the document locally to continue working on the code while harnessing the power of Git for version control and collaboration. This iterative process of uploading to and downloading from Google Drive continues until the desired results are obtained. The workflow can be summarized as:
> Collaborative **code** writing using **Git** & collaborative writing of **narrative text** using **Google Docs**
```{r, echo = FALSE, eval=TRUE, results='asis', fig.alt = 'Brief video of the trackdown workflow: upload the file to Google Docs, share the file with cllaborators for reviewing/editing, download the file to integrate the changes'}
add_video <- function(){
if(isTRUE(trackdown:::.is_pkgdown)){
# pakgdown code
video_text <- ''
} else {
# Github code
video_text <- c(
'',
'',
'
',
'',
' ')
}
cat(video_text, sep = "\n")
invisible(NULL)
}
add_video()
```
### Functions {#functions}
`trackdown` offers different functions to manage the workflow:
- `upload_file()` uploads a file for the first time to Google Drive.
- `update_file()` updates the content of an existing file in Google Drive with the contents of a local file.
- `download_file()` downloads the edited version of a file from Google Drive and updates the local version.
- `render_file()` downloads a file from Google Drive and renders it locally.
### Special Features {#spec-feat}
`trackdown` offers additional features to facilitate the collaborative writing and editing of documents in Google Docs. In particular, it is possible to:
- **Hide Code:** Code in the header of the document (YAML header or LaTeX preamble) and code chunks are removed from the document when uploading to Google Drive and are automatically restored during download. This prevents collaborators from inadvertently making changes to the code which might corrupt the file and allows them to focus on the narrative text.
- **Rich Text {style="vertical-align:middle"}:** Upload *rich* documents to Google Docs. Important text that should not be changed is automatically highlighted (e.g., placeholders hiding the code, header of the document, code chunks, and in-line code). This prevents collaborators from inadvertently making changes to the code which might corrupt the file.
- **Upload Output:** The actual output document (i.e., the rendered file) can be uploaded to Google Drive in conjunction with the `.Rmd` (or Quarto / `.Rnw`) document. This helps collaborators to evaluate the overall layout including figures and tables and allows them to add comments to suggest and discuss changes.
- **Use Google Drive shared drives:** The documents can be uploaded to either a personal Google Drive or to a shared drive to facilitate collaboration.
### Advantages of Google Docs {#google-docs}
Google Docs offers users a familiar, intuitive, and free web-based interface that allows multiple users to simultaneously write/edit the same document. In Google Docs it is possible to:
- track changes (incl. accepting/rejecting suggestions)
- add comments to suggest and discuss changes
- check spelling and grammar errors (potentially integrating third-party services like Grammarly)
Moreover, Google Docs allows anyone to contribute to the writing/editing of the document. No programming experience is required, users can just focus on writing/editing the narrative text.
Note that not all collaborators have to have a Google account (although this is recommended to utilize all Google Docs features). Only the person who manages the `trackdown` workflow needs to have a Google account to upload files to Google Drive. Other collaborators can be invited to contribute to the document using a shared link (See [Instructions](https://support.google.com/drive/answer/2494822?co=GENIE.Platform%3DDesktop&hl=en&oco=0)).
### Documentation and Vignettes {#doc-vignette}
All documentation is available at .
To know more about `trackdown`, please reference:
- `vignette("trackdown-features")` for a detailed description of the function arguments and features.
- `vignette("trackdown-workflow")` for a workflow example and discussion of how to collaborate on narrative text and code.
- `vignette("trackdown-tech-notes")` for details regarding technical details like authentication and file management.
- Guide to create personal credentials https://claudiozandonella.github.io/trackdown/articles/oauth-client-configuration.html
## Extending `trackdown`
Workflows and solutions proposed by other users:
- **Synchronizing Multiple Documents ([link](https://gist.github.com/smithjd/aaf71b5a6575a0d4a1e4ac3168c4c682)).** GitHub Gist by [John David Smith](https://github.com/smithjd) to automatically keep track of multiple documents from multiple authors detecting local and online changes. It can be used to manage a [Distill website](https://rstudio.github.io/distill/website.html).
## Contributing to `trackdown` {#contrib}
Development of the `trackdown` package is an ongoing project, surely there are many issues to fix and features to propose/add. Anyone is welcome to contribute to the development.
Please note that this project is released under a [Contributor Code of Conduct](https://www.contributor-covenant.org/). By contributing to this project, you agree to abide by its terms.
See [Community guidelines](https://github.com/claudiozandonella/trackdown/blob/develop/CONTRIBUTING.md) for further information.
## Citation {#cit}
To cite `trackdown` in publications use:
Emily Kothe, Claudio Zandonella Callegher, Filippo Gambarota, Janosch
Linkersdörfer and Mathew Ling (2021). trackdown: Collaborative Writing and
Editing of R Markdown (or Quarto / Sweave) Documents in Google Drive.
https://doi.org/10.5281/zenodo.5167320.
The BibTeX entry is:
```
@Manual{,
title = {trackdown: Collaborative Writing and Editing of R Markdown (or Quarto / Sweave) Documents in Google Drive},
author = {Emily Kothe and Claudio Zandonella Callegher and Filippo Gambarota and Janosch Linkersdörfer and Mathew Ling},
year = {2021},
note = {R package version 1.1.1},
url = {https://github.com/claudiozandonella/trackdown},
doi = {10.5281/zenodo.5772942},
}
```
## Privacy
[Privacy policy](https://claudiozandonella.github.io/trackdown/articles/trackdown-privacy-policy.html)
Owner
- Name: Claudio Zandonella Callegher
- Login: ClaudioZandonella
- Kind: user
- Location: Bolzano, Italy
- Company: Eurac Research Institute for Renewable Energy
- Website: https://claudiozandonella.netlify.app/
- Twitter: ClaudioZandone1
- Repositories: 25
- Profile: https://github.com/ClaudioZandonella
I fell in love with data science! Collecting data, formulating hypotheses, and building models - this is a very creative and exciting process!
GitHub Events
Total
- Issues event: 2
- Watch event: 11
- Issue comment event: 5
- Pull request event: 1
- Fork event: 2
Last Year
- Issues event: 2
- Watch event: 11
- Issue comment event: 5
- Pull request event: 1
- Fork event: 2
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Claudio Zandonella | c****a@g****m | 297 |
| Filippo Gambarota | f****a@g****m | 46 |
| Maëlle Salmon | m****n@y****e | 15 |
| Mathew Ling | m****g@d****u | 7 |
| Janosch Linkersdörfer | j****r@u****u | 4 |
| Ben Marwick | b****k@h****m | 4 |
| Emily Kothe | e****e@d****u | 2 |
| Allan Just | a****t@g****m | 2 |
| mone27 | s****o@m****t | 1 |
| chainsawriot | c****y@g****m | 1 |
| Kirill Müller | k****r | 1 |
| Janosch Linkersdörfer | j****r@t****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 59
- Total pull requests: 13
- Average time to close issues: 2 months
- Average time to close pull requests: about 2 months
- Total issue authors: 32
- Total pull request authors: 8
- Average comments per issue: 2.95
- Average comments per pull request: 1.38
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 0.5
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ClaudioZandonella (11)
- maelle (11)
- ekothe (4)
- januz (3)
- dfranquesa (2)
- krlmlr (2)
- albert-ying (1)
- smithjd (1)
- jbeaulie (1)
- arnold-c (1)
- Dobrokhotov1989 (1)
- arnaudgallou (1)
- Irazall (1)
- daaronr (1)
- weiyangtham (1)
Pull Request Authors
- maelle (6)
- benmarwick (1)
- kalenkovich (1)
- mone27 (1)
- chainsawriot (1)
- allanjust (1)
- krlmlr (1)
- ekothe (1)
- simschul (1)
Top Labels
Issue Labels
new-feature (3)
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- cran 248 last-month
- Total docker downloads: 21,613
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 3
(may contain duplicates) - Total versions: 4
- Total maintainers: 1
cran.r-project.org: trackdown
Collaborative Editing of Rmd (or Rnw) Documents in Google Drive
- Homepage: https://github.com/claudiozandonella/trackdown/
- Documentation: http://cran.r-project.org/web/packages/trackdown/trackdown.pdf
- License: GPL-3
-
Latest release: 1.1.1
published about 4 years ago
Rankings
Docker downloads count: 0.6%
Stargazers count: 2.2%
Forks count: 5.2%
Average: 15.5%
Dependent repos count: 16.5%
Dependent packages count: 28.7%
Downloads: 40.0%
Maintainers (1)
Last synced:
6 months ago
conda-forge.org: r-trackdown
- Homepage: https://github.com/claudiozandonella/trackdown/, https://claudiozandonella.github.io/trackdown/
- License: GPL-3.0-only
-
Latest release: 1.1.1
published about 4 years ago
Rankings
Stargazers count: 26.1%
Dependent repos count: 34.0%
Average: 38.4%
Forks count: 42.2%
Dependent packages count: 51.2%
Last synced:
6 months ago
Dependencies
DESCRIPTION
cran
- R >= 3.5 depends
- cli >= 3.0.0 imports
- gargle >= 1.2.0 imports
- googledrive > 1.0.1 imports
- rmarkdown * imports
- covr * suggests
- devtools * suggests
- httr * suggests
- knitr * suggests
- pagedown * suggests
- sodium * suggests
- testthat >= 3.0.0 suggests
- vcr * suggests
.github/workflows/check-standard.yaml
actions
- actions/checkout v3 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml
actions
- actions/checkout v3 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite