ClaudioZandonella / trackdown

R package for collaborative writing and editing of R Markdown (or Sweave) documents in Google Docs.
https://ClaudioZandonella.github.io/trackdown/
GNU General Public License v3.0
214 stars 14 forks source link
markdown r r-package reproducible-research rstats

trackdown - R package for improving collaborative writing

Project Status: Active – The project has reached a stable, usable
state and is being actively
developed. CRANstatus R-CMD-check codecov DOI

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 <img src="man/figures/lifecycle-experimental.svg" style="vertical-align:middle" alt="experimental" /> - 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.
  • 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). 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

You can install the released version from CRAN with:

install.packages("trackdown")

To install the development version from GitHub, run the following code:

# install.packages("remotes")
remotes::install_github("claudiozandonella/trackdown",
                         build_vignettes = TRUE)
library(trackdown)

The trackdown 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:

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

Functions

trackdown offers different functions to manage the workflow:

Special Features

trackdown offers additional features to facilitate the collaborative writing and editing of documents in Google Docs. In particular, it is possible to:

Advantages of 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:

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).

Documentation and Vignettes

All documentation is available at https://claudiozandonella.github.io/trackdown/.

To know more about trackdown, please reference:

Extending trackdown

Workflows and solutions proposed by other users:

Contributing to trackdown

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. By contributing to this project, you agree to abide by its terms.

See Community guidelines for further information.

Citation

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