34  Getting help

This chapter explains how to ask for help. Questions can range from detailed troubleshooting to general advice. To ensure a constructive dialogue, please read this entire page before reaching out. Thank you for respecting the time and effort it takes to provide one-on-one support.

Links to

Summary

Before you post a question, please work through the steps explained in this chapter.

  • Follow the code of conduct.
  • Search existing posts.
  • Update your R packages.
  • If troubleshooting:
    • Attribute the error.
    • Write a reprex.

34.1 Before you post

Code of conduct

Please note that the traits.build project adheres to a Contributor Code of Conduct, as specified in austraits.build. By contributing to this project you agree to abide by its terms.

Search existing issues

Please check if your question already has an answer. You can search the GitHub Repositories:

Try troubleshooting

For specific errors or other issues, please read this chapter’s section on troubleshooting. Please try to work through the steps yourself before posting a question.

34.2 Troubleshooting

It is okay to reach out if you are struggling to solve a specific problem in a specific project: an error message, a part of the code you are not sure how to write, or any experience with traits.build that is incorrect, unwelcome, unexpected, or confusing. However, please follow the guidelines below and take an active role in the troubleshooting process.

Update your R packages

If the error is a bug in traits.build or austraits, it is possible the bug has already been fixed in a newer version. Before posting, please try again with the latest CRAN release of traits.build (or austraits), then again with the GitHub development version if needed. Please see http://traitecoevo.github.io/traits.build/#installation for installation instructions.

Attribute the error

The traits.build package itself is often not usually the cause of problems that arise in traits.build pipelines. Most issues come from the user-defined R code, or data files that the pipeline calls, as well as other R packages on your system. So before you post a question, please attempt to troubleshoot and figure out if traits.build is actually the source of the trouble, or if the error comes from another package or your own code. The tips in the adding datasets or common data issues chapters may help. If the culprit turns out to be a non-traits.build issue, then please ask your question in a non-traits.build forum and write the question accordingly.

Write a reprex

To set up the discussion for success, please provide the complete context of the problem, including a reprex. The purpose of a reprex, or reproducible example1, is to eliminate the knowledge gaps, misunderstandings, and hidden assumptions where bugs hide. A reprex is a sample of complete, self-contained, runnable code that fully emulates and reproduces the problem. The code should look clean and readable, be as short and concise as possible, run in as few seconds as possible, and contain only the details most relevant to troubleshooting. You can embed the code inline in your question, or you can upload it to a public repository and post the link. Regardless, please expect that anyone trying to help will read all the code and run the enclosed _targets.R file on their own private computer. This process is hands-on and empirical, so please make it as quick and easy as possible for the people who volunteer their valuable time and energy to answer questions.

The following posts explain how to write a good reprex.

34.3 Contact

There are many ways to reach out.

Maintainer

To contact the maintainer directly, please post to the relevant public GitHub Discussions page of the package.2 Examples:

GitHub makes it easy to search for and link to public discussions. Not only does this help users solve their own problems, it also helps the maintainer avoid repetition. So please use discussions instead of private emails, instant messages, or mentions on social media.


  1. Also known as a minimal reproducible example or minimal working example.↩︎

  2. You may need to create a free GitHub account, but the process is straightforward.↩︎