Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full review of tutorials-early website #127

Closed
wants to merge 677 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
677 commits
Select commit Hold shift + click to select a range
216da8f
clean entry sentence
avallecam Mar 30, 2024
918edc8
add incidence2 package as prep for rt episode
avallecam Mar 30, 2024
65914cd
fix writing using grammarly
avallecam Mar 30, 2024
9ec8cf7
importing packages quietly
Degoot-AM Apr 1, 2024
e016c42
Merge branch 'main' into fix-read-describe-cases
Degoot-AM Apr 1, 2024
ac49ebb
add context on transmissibility package
avallecam Mar 28, 2024
d8a5477
use specific namespace for EpiNow2 dist_spec()
avallecam Mar 28, 2024
7e3fc38
fix typo
avallecam Mar 28, 2024
f8264f2
clarify action
avallecam Mar 28, 2024
29cf9c0
clarify reference to model fit in figure
avallecam Mar 28, 2024
5d67ec2
make NA visible
avallecam Mar 28, 2024
0038780
relocate lognormal distribution step to get_params
avallecam Mar 28, 2024
3425871
clarify the aim of epiparameter
avallecam Mar 28, 2024
b39cd2b
rename episode
avallecam Mar 28, 2024
8911139
relocate from time periods 2 distributions callout
avallecam Mar 28, 2024
dfb3d0c
fix NA expression in callout title
avallecam Mar 28, 2024
654744d
rephrase challenge to an open exploration of delay
avallecam Mar 28, 2024
4eb3e89
relocate closure and specify challenges section
avallecam Mar 28, 2024
d5bde80
clean redundant outputs
avallecam Mar 28, 2024
e8ab04a
rewrite episode wrapup and episodes connection
avallecam Mar 28, 2024
3fd652e
remove reduntant output in intro and rewrite text
avallecam Mar 28, 2024
dc7e8e3
move warning after all analysis steps
avallecam Mar 28, 2024
5e850d6
move discussion to a stand-alone callout
avallecam Mar 28, 2024
d20cf52
add lognormal step and code completion tip
avallecam Mar 28, 2024
4eab703
move influenza challenge to functions episode
avallecam Mar 28, 2024
3f2204a
move ebola challenge to end of episode
avallecam Mar 28, 2024
819b5dd
add detail to challenges
avallecam Mar 28, 2024
7ca068e
edits to pass lintr checks
avallecam Mar 28, 2024
0c06fbb
copy rt episode in middle of delays episodes
avallecam Mar 30, 2024
922fce3
use incidence2 as input for epinow2
avallecam Apr 2, 2024
36be13d
relocate spoiler on reducing computation time
avallecam Apr 2, 2024
ab55c48
rephrase spoiler title and sentece
avallecam Apr 2, 2024
6e16638
add optional dplyr step
avallecam Apr 2, 2024
1da6ac4
Add edit suggestions from code review
avallecam Apr 2, 2024
2199599
rephrase paragraph + relocate reference
avallecam Apr 2, 2024
886b05c
remove space before colon (#41)
avallecam Apr 2, 2024
0f6fc2c
use simpler dplyr code + add spolier on incidence2
avallecam Apr 2, 2024
2cc9158
add colunm name stuff
Degoot-AM Apr 3, 2024
e3c92cb
replacing missing values
Degoot-AM Apr 4, 2024
11562f2
add converting to numeric values
Degoot-AM Apr 4, 2024
38cb2be
add sectioning
Degoot-AM Apr 4, 2024
3d23a96
update episodes/clean-data.Rmd
Karim-Mane Apr 5, 2024
87f9aca
update episodes/describe-cases.Rmd
Karim-Mane Apr 5, 2024
c900566
update episodes/read-cases.Rmd
Karim-Mane Apr 5, 2024
48c4bcb
update episodes/simple-analysis.Rmd
Karim-Mane Apr 5, 2024
275ac5a
fix linters
Karim-Mane Apr 5, 2024
cb586d2
linting all files
Degoot-AM Apr 5, 2024
c6b77b9
add dictionary_based substitution section
Degoot-AM Apr 6, 2024
7ad7914
Add time span section
Degoot-AM Apr 6, 2024
bc46bc8
add check sequence of dates section
Degoot-AM Apr 6, 2024
4e14722
add multiple operations at once section.
Degoot-AM Apr 7, 2024
afb867e
review episodes/clean-data.Rmd
Karim-Mane Apr 8, 2024
8f67960
fix linters
Karim-Mane Apr 8, 2024
16e513a
add reporting sections
Degoot-AM Apr 8, 2024
8326df6
add linelist section.
Degoot-AM Apr 8, 2024
47cb257
separate intro paragraph
avallecam Apr 8, 2024
1854214
rewrite incidence2 use cases + relocate i2extras
avallecam Apr 8, 2024
b5a5a2c
change brackets to full sentence.
avallecam Apr 8, 2024
6d489c1
clarify infectious disease stages
avallecam Apr 8, 2024
cdbe5ba
detail why to access delays in question
avallecam Apr 8, 2024
1975815
add specific time periods in prereq
avallecam Apr 8, 2024
d548302
show replacement of mean and sd
avallecam Apr 8, 2024
a8243cb
update setup page + hexlogo wall
avallecam Apr 8, 2024
bcf5432
remove italics from paragraph
avallecam Apr 8, 2024
ac560c7
edit epiparameter introduction problems to solve
avallecam Apr 8, 2024
9ea2a08
pass lintr checks
avallecam Apr 8, 2024
d056143
text edit + remove text not shown
avallecam Apr 8, 2024
52df779
improve readability + use strength sync Rt episode
avallecam Apr 8, 2024
1f7b3b9
add typo edits
avallecam Apr 8, 2024
d5f3042
remove mention to the example_confirmed object
avallecam Apr 8, 2024
be3e369
add edits from PR #19
avallecam Apr 8, 2024
ae16850
add edit typos and required fixes
avallecam Apr 8, 2024
f1c0f55
clear writing of intro sentence
avallecam Apr 8, 2024
c6bf12b
update title
avallecam Apr 8, 2024
ba7371e
move the shortcut callout to challenges + intro
avallecam Apr 8, 2024
3235631
homogenize with update in episode one
avallecam Apr 8, 2024
7f7887c
change distribution functions figure to callout
avallecam Apr 8, 2024
904d81e
show benefit of epiparameter for lognormal distr
avallecam Apr 8, 2024
265d991
add line to introduce plot by date of infection
avallecam Apr 8, 2024
0816dcf
clarify text from the adjusting for delays section
avallecam Apr 8, 2024
fabe4f0
suggest add a created reporting delay object
avallecam Apr 8, 2024
d392b6f
add print report
Degoot-AM Apr 9, 2024
1158b34
add EDA
Degoot-AM Apr 9, 2024
c1985c7
add simulation data
Degoot-AM Apr 9, 2024
334db52
add synthetic data
Degoot-AM Apr 9, 2024
230fc5f
add tracetheme
Degoot-AM Apr 9, 2024
5836db8
add key points section
Degoot-AM Apr 9, 2024
de6cbe9
add questions section
Degoot-AM Apr 9, 2024
7a50094
add epi-curves
Degoot-AM Apr 9, 2024
d84cc5a
add complete data
Degoot-AM Apr 9, 2024
5eaa916
change title
Degoot-AM Apr 16, 2024
3b0d452
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
fb4ceb4
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
4f6b53f
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
ab543ae
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
88a98f0
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
17e1680
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
6b42190
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
0490700
replace library
Degoot-AM Apr 16, 2024
c3ac84b
Update episodes/read-cases.Rmd
Degoot-AM Apr 16, 2024
cf31e1b
fix here issues
Degoot-AM Apr 16, 2024
4a30890
fix issues
Degoot-AM Apr 16, 2024
f9d6e58
fix lintr issues
Degoot-AM Apr 16, 2024
91b5c36
replace laodnamespace with library
Degoot-AM Apr 17, 2024
5fe1350
replace library
Degoot-AM Apr 17, 2024
b792a69
add keypoints section
Degoot-AM Apr 17, 2024
3d44420
change early to simple
Degoot-AM Apr 17, 2024
5fc05de
adjust times for teaching and exercises
Degoot-AM Apr 18, 2024
486775b
Update episodes/describe-cases.Rmd
Degoot-AM Apr 24, 2024
9d5661b
Update episodes/read-cases.Rmd
Degoot-AM Apr 24, 2024
62b7b45
Update episodes/read-cases.Rmd
Degoot-AM Apr 24, 2024
aa86824
Update episodes/clean-data.Rmd
Degoot-AM Apr 24, 2024
42a74eb
Update episodes/clean-data.Rmd
Degoot-AM Apr 24, 2024
d9e1738
separate dev denvironment from learning environment
Degoot-AM Apr 25, 2024
05228be
added zip file
Degoot-AM Apr 25, 2024
65f5d3d
fix zip data issues
Degoot-AM Apr 26, 2024
0faddc4
add iinline spaces and explanations
Degoot-AM Apr 26, 2024
e5c9a43
fix linter issue
Degoot-AM Apr 26, 2024
1f956a0
fix error messages in preliminary rendering
avallecam Apr 29, 2024
576a77e
Merge remote-tracking branch 'origin/fix-read-describe-cases'
Degoot-AM Apr 29, 2024
a442bcc
update installation steps + alternatives (#55)
avallecam Apr 29, 2024
a024810
rearrange + make epinow() in one line (#56 # 58)
avallecam Apr 29, 2024
1e3ff27
fix the package input after introduction (#60)
avallecam Apr 29, 2024
23ba25e
add namespace reminder (#63)
avallecam Apr 29, 2024
313eca9
add rtools installation for epinow2 (#65)
avallecam Apr 29, 2024
fef09f9
add double colon reminder after all intros
avallecam May 4, 2024
fcfec5d
relocate bayesian callout after intro
avallecam May 4, 2024
b76178e
update installation code for rtools (#65)
avallecam May 4, 2024
861b150
make chunk visible to learner
avallecam May 4, 2024
63601ff
activate the rt priors chunk
avallecam May 4, 2024
0366db6
Update timings based on training trial schedule
Bisaloo Apr 18, 2024
d0d3b08
Change the title from " Accessing and using delays to Quantify transm…
Degoot-AM Apr 18, 2024
e7dd062
Update episodes/describe-cases.Rmd
Degoot-AM Jun 3, 2024
343795a
fix learning objective
avallecam Jun 12, 2024
89278c2
fix typo
avallecam Jun 12, 2024
12a7d42
fix typo edit
avallecam Jun 13, 2024
f52b11d
fix typos in clean file
avallecam Jun 13, 2024
5651183
fix typos in delay episodes
avallecam Jun 13, 2024
197ac68
add fixed proposed for clean episode
avallecam Jun 13, 2024
5a6a98e
fix links for the early repository
avallecam Jun 13, 2024
a41eb46
fix writing
avallecam Jun 14, 2024
19fec9f
Update episodes/clean-data.Rmd
Degoot-AM Jun 14, 2024
dbdca74
Update episodes/clean-data.Rmd
Degoot-AM Jun 14, 2024
00e5f67
fix code for tutorial to run
avallecam Jun 14, 2024
41ecd4c
required to make the latest version to run
avallecam Jun 14, 2024
e1eef53
Update episodes/simple-analysis.Rmd
Degoot-AM Jun 17, 2024
8e139ca
fix setup page naming
avallecam Jun 17, 2024
f91648d
fix typo in setup
avallecam Jun 17, 2024
8a4c3b3
fit website title
avallecam Jun 17, 2024
55d2907
add content on table in setup
avallecam Jun 17, 2024
0deaf0f
add edit suggestions to read-cases
avallecam Jun 17, 2024
3a5020c
add edit suggestion to clean-data
avallecam Jun 17, 2024
7b47afd
add edit suggestion to describe-cases
avallecam Jun 17, 2024
fef7380
add edit suggestion to simple-analysis
avallecam Jun 17, 2024
9ea01ed
add namespace after intro
avallecam Jun 17, 2024
4124452
add namespace reminder
avallecam Jun 17, 2024
d3f6eab
add add early task packages + links to setup
avallecam Jun 17, 2024
d81c717
fix lintr checks
avallecam Jun 17, 2024
1115218
organize table of episode
Degoot-AM Apr 18, 2024
80c4302
reverse the order of pre-requists
Degoot-AM Apr 18, 2024
251105a
Repalce Q with q in word `Quantify` in the title
Degoot-AM Apr 18, 2024
6ea5470
fix article in intro
avallecam Jun 17, 2024
104b409
update renv and packages
avallecam Jun 18, 2024
1698ea2
fix read episode issue
avallecam Jun 18, 2024
1df1c3c
update activate and packages after lesson build
avallecam Jun 18, 2024
4e70173
homologize with latest epinow2 version
avallecam Jun 18, 2024
3408950
update delay episode with epinow2 1.5.2
avallecam Jun 18, 2024
f407b81
remove episode to tutorials middle
avallecam Jun 18, 2024
dcaa9a0
remove duplicated callout box on namespace
avallecam Jun 18, 2024
883b9fc
remove long print outputs
avallecam Jun 18, 2024
6ca721d
rename delays-reuse to delays-access
avallecam Jun 18, 2024
a822279
add namespace to conflict on discretise
avallecam Jun 18, 2024
90f0a0c
rename delays file in config
avallecam Jun 18, 2024
2054fe8
fix epinow to data argument
avallecam Jun 18, 2024
e7336ba
move delays and rt to tutorials middle
avallecam Jun 18, 2024
509b9e3
update config after moving episodes
avallecam Jun 18, 2024
aafeeba
update setup installation after move delays and rt
avallecam Jun 18, 2024
7dcb85f
update cleanepi to cran version 1.0.2
avallecam Jun 18, 2024
5206f39
update renv line in epiparameter
avallecam Jun 18, 2024
2523571
change terms for workshop to tutorial
avallecam Jun 18, 2024
42f31f2
add steps to rstudio project and github account
avallecam Jun 19, 2024
55959aa
fix writing to create folder
avallecam Jun 19, 2024
102cbbe
fix the checklist render
Degoot-AM Jun 20, 2024
e50ab8c
add cumulative cases
Degoot-AM Jun 20, 2024
7c4a77f
add peak estimation section
Degoot-AM Jun 20, 2024
e307c3f
remove {i2extras}
Degoot-AM Jun 20, 2024
5818e17
Apply suggestions from code review
avallecam Jun 24, 2024
ce76e96
add simple ggplot visualiziton
Degoot-AM Jun 24, 2024
77e4270
groups visualization with ggplot2
Degoot-AM Jun 24, 2024
7179d84
correcting typos
Degoot-AM Jun 24, 2024
4b1cec9
add text edits from review
avallecam Jun 24, 2024
96b2683
activate chunk for check dates
avallecam Jun 25, 2024
3af1a27
remove two tagging to include this in a formative assessment
avallecam Sep 5, 2024
3a8c41c
remove arguments from standardize_column_names()
avallecam Sep 4, 2024
b5b49ce
add data validation step
Degoot-AM Jul 9, 2024
ebe5091
Apply suggestions from code review from Andree
Degoot-AM Aug 1, 2024
b08ad34
Added challenge for lost tags action.
Degoot-AM Aug 1, 2024
6cd5635
Made callout for usage of linelist
Degoot-AM Aug 1, 2024
8b38eae
moved tagged-only
Degoot-AM Aug 1, 2024
dea90fa
simplified validation step.
Degoot-AM Aug 1, 2024
0bc3865
add spolier for non-defalut tags
Degoot-AM Aug 1, 2024
f44ffc7
change http to https
Degoot-AM Aug 1, 2024
2c97fe4
add alt text to images
Degoot-AM Aug 1, 2024
43ff094
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
38cf1fc
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
28830fc
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
2aad4ea
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
d5ea4cb
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
b7c9d5e
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
cd556dc
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
4d5d394
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
0808c46
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
c2f1dc0
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
fd5c766
add new changes from PR#95
Degoot-AM Sep 10, 2024
2b11b6b
add changes to address #75
Degoot-AM Sep 10, 2024
8930ec1
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
0a7bf99
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
d3687bb
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
3745350
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
a3a22bf
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
42a2df3
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
098a6da
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
1787d57
Update episodes/clean-data.Rmd
Degoot-AM Sep 10, 2024
059aec2
remove bullet + inline code (fix #109)
avallecam Sep 12, 2024
32d1ee1
fix the length of output and text spelling.
avallecam Sep 12, 2024
a08e4d1
add one more line to the challenges intro
avallecam Sep 12, 2024
8e09456
add tidyverse and suggest tag names function
avallecam Sep 12, 2024
6e865b2
relocate challenge messages
avallecam Sep 12, 2024
d0a429f
homogenize the use of pipe (fix #96)
avallecam Sep 13, 2024
57257fb
fix lintr checks
avallecam Sep 13, 2024
35ebc7d
call tidyverse from start to import the pipe
avallecam Sep 13, 2024
f1bb9de
replace object name for linelist data (fix #99)
avallecam Sep 16, 2024
42abbd5
add question connecting lost tag and validation
avallecam Sep 16, 2024
0a48cd3
use tibble outputs and remove head() (fix #100)
avallecam Sep 16, 2024
5af712c
remove trailing white spaces
avallecam Sep 16, 2024
86499f4
add hint solution to validate challenge (fix #120)
avallecam Sep 16, 2024
5cc9eb8
add solution to error warning challenge (fix #115)
avallecam Sep 16, 2024
7cfe91d
add extra paragraph to solution about safeguarding
avallecam Sep 16, 2024
ec12828
reorder tag, validate, safeguard before tags_df()
avallecam Sep 16, 2024
964e127
add variable loss in the discussion box
avallecam Sep 16, 2024
0e641b7
fix writing of solutions and discussions
avallecam Sep 16, 2024
d136f4a
clean spaces between lines and chunks + typos
avallecam Sep 16, 2024
02ab391
fix linting issues
avallecam Sep 16, 2024
146c506
remove head() from episodes (fix #122)
avallecam Sep 17, 2024
197fc03
move all package loading functions to introduction
avallecam Sep 17, 2024
481ee11
remove trailing white spaces and fix identation
avallecam Sep 17, 2024
05eb590
add typo edit suggestions
avallecam Sep 30, 2024
8ffb214
fix bullet in challenge (fix #128)
avallecam Sep 30, 2024
6517cd7
add new callouts from review
avallecam Sep 30, 2024
4fa26d6
add all code edit suggestions
avallecam Sep 30, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ are okay.

This update is run ~~weekly or~~ on demand.

### 03 Maintain: Update Pacakge Cache (update-cache.yaml)
### 03 Maintain: Update Package Cache (update-cache.yaml)

For lessons that have generated content, we use {renv} to ensure that the output
is stable. This is controlled by a single lockfile which documents the packages
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]

name: lint

jobs:
lint:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
RENV_PATHS_ROOT: ~/.local/share/renv/
steps:
- uses: actions/checkout@v3

- uses: r-lib/actions/setup-r@v2
with:
use-public-rspm: true

- name: "Setup Lesson Engine"
uses: carpentries/actions/setup-sandpaper@main
with:
cache-version: ${{ secrets.CACHE_VERSION }}

- name: "Setup Package Cache"
uses: carpentries/actions/setup-lesson-deps@main
with:
cache-version: ${{ secrets.CACHE_VERSION }}

- uses: r-lib/actions/setup-r-dependencies@v2
with:
packages: any::lintr

- name: Lint
run: lintr::lint_dir("episodes")
shell: Rscript {0}
env:
LINTR_ERROR_ON_LINT: true
2 changes: 1 addition & 1 deletion .github/workflows/sandpaper-version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.11.12
0.16.1
20 changes: 20 additions & 0 deletions .lintr
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
linters: all_linters(
packages = "lintr",
object_name_linter = NULL,
implicit_integer_linter = NULL,
brace_linter = NULL,
extraction_operator_linter = NULL,
missing_package_linter = NULL,
library_call_linter = NULL,
namespace_linter = NULL,
undesirable_function_linter(
modify_defaults(
default_undesirable_functions,
library = NULL # this is fine in Rmd files
)
),
unused_import_linter(
allow_ns_usage = TRUE,
except_packages = c("bit64", "data.table", "tidyverse")
)
)
8 changes: 5 additions & 3 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ title: "Contributor Code of Conduct"
---

As contributors and maintainers of this project,
we pledge to follow the [The Carpentries Code of Conduct][coc].
we pledge to follow the [The Epiverse-TRACE Code of Conduct][coc].

<!--
Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by following our [reporting guidelines][coc-reporting].
-->

[coc-reporting]: https://forms.gle/guKqVXPk6K43jPn59
[coc]: https://github.com/epiverse-trace/.github/blob/main/CODE_OF_CONDUCT.md

[coc-reporting]: https://docs.carpentries.org/topic_folders/policies/incident-reporting.html
[coc]: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html
159 changes: 140 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
## Contributing

[The Carpentries][cp-site] ([Software Carpentry][swc-site], [Data
Carpentry][dc-site], and [Library Carpentry][lc-site]) are open source
projects, and we welcome contributions of all kinds: new lessons, fixes to
[The Epiverse-TRACE][cp-site] is an open source
project, and we welcome contributions of all kinds: new documentation, fixes to
existing material, bug reports, and reviews of proposed changes are all
welcome.

Expand All @@ -11,7 +10,7 @@ welcome.
By contributing, you agree that we may redistribute your work under [our
license](LICENSE.md). In exchange, we will address your issues and/or assess
your change proposal as promptly as we can, and help you become a member of our
community. Everyone involved in [The Carpentries][cp-site] agrees to abide by
community. Everyone involved in [Epiverse-TRACE][cp-site] agrees to abide by
our [code of conduct](CODE_OF_CONDUCT.md).

### How to Contribute
Expand All @@ -32,14 +31,14 @@ introduce yourself and to meet some of our community members.
3. If you are comfortable with Git, and would like to add or change material,
you can submit a pull request (PR). Instructions for doing this are
[included below](#using-github). For inspiration about changes that need to
be made, check out the [list of open issues][issues] across the Carpentries.
be made, check out the [list of open issues][issues].

Note: if you want to build the website locally, please refer to [The Workbench
documentation][template-doc].

### Where to Contribute

1. If you wish to change this lesson, add issues and pull requests here.
1. If you wish to change this tutorial, add issues and pull requests here.
2. If you wish to change the template used for workshop websites, please refer
to [The Workbench documentation][template-doc].

Expand All @@ -50,18 +49,17 @@ There are many ways to contribute, from writing new exercises and improving
existing ones to updating or filling in the documentation and submitting [bug
reports][issues] about things that do not work, are not clear, or are missing.
If you are looking for ideas, please see [the list of issues for this
repository][repo-issues], or the issues for [Data Carpentry][dc-issues],
[Library Carpentry][lc-issues], and [Software Carpentry][swc-issues] projects.
repository][repo-issues].

Comments on issues and reviews of pull requests are just as welcome: we are
smarter together than we are on our own. **Reviews from novices and newcomers
are particularly valuable**: it's easy for people who have been using these
lessons for a while to forget how impenetrable some of this material can be, so
tutorials for a while to forget how impenetrable some of this material can be, so
fresh eyes are always welcome.

### What *Not* to Contribute

Our lessons already contain more material than we can cover in a typical
Our tutorials already contain more material than we can cover in a typical
workshop, so we are usually *not* looking for more concepts or tools to add to
them. As a rule, if you want to introduce a new idea, you must (a) estimate how
long it will take to teach and (b) explain what you would take out to make room
Expand All @@ -70,9 +68,117 @@ second, to think hard about priorities.

We are also not looking for exercises or other material that only run on one
platform. Our workshops typically contain a mixture of Windows, macOS, and
Linux users; in order to be usable, our lessons must run equally well on all
Linux users; in order to be usable, our tutorials must run equally well on all
three.

### Contribution roles

For a tutorial your role could be of a __Developer__, __Reviewer__, or __Maintainer__. Our goal is to keep an homogeneous package environment among Developers and Reviewers of a “feature branch” different to main. This implies that:

- We will use [`sandpaper::use_package_cache()`](https://carpentries.github.io/sandpaper/reference/package_cache.html#background) in the R project.
- The Developer will need to register the package version to use in a `renv.lock` file.
- The Reviewer will need to restore environment defined by Developer, if needs to build the website locally.


#### Developer:

You can follow these steps:

- [Update](https://carpentries.github.io/workbench/#updating) the set of workbench packages:

```r
install.packages(c("sandpaper", "varnish", "pegboard", "tinkr"),
repos = c("https://carpentries.r-universe.dev/", getOption("repos")))
```

To contribute with a new episode:

- [Create](https://happygitwithr.com/git-branches#create-a-new-branch) a new feature branch. Write in there your contribution.
- Create an Issue to report the start of your WIP feature branch. Add the [WIP label](https://github.com/epiverse-trace/tutorials/labels/WIP) to it. This aims to keep one contributor per feature branch.
- [Create](https://carpentries.github.io/sandpaper-docs/aio.html#episodes) a new episode with `sandpaper::create_episode_md("Episode Name")`

If you need to work with the most recent versions of packages:

- Use [`sandpaper::update_cache()`](https://carpentries.github.io/sandpaper/reference/dependency_management.html). This will:
+ Fetch updates from CRAN or GitHub,
+ Update the `renv.lock` file with package specific versions, and
+ Update the cache. This is located in a folder called `renv/library/` in the same directory of the `renv.lock`, only visible locally.
- Push the updated `renv.lock` file to the GitHub “development branch”.

If you need to work with a specific stable version of a package:

- Use [`sandpaper::pin_version()`](https://carpentries.github.io/sandpaper/articles/building-with-renv.html#pinning-specific-package-versions). This will:
+ Update the `renv.lock` file with the specific version,
+ Update the cache.
- Push the updated `renv.lock` file.

If you need the version of a package that is not programmatically loaded, i.e., is loaded as part of the dependency tree of an specific package:

- [Create](https://carpentries.github.io/sandpaper/articles/building-with-renv.html#adding-new-packages-to-the-cache) an `episodes/install.R` file that lists the installation scripts for the packages in your lesson.
- Run the `episodes/install.R` file to install the list of packages.
- Run `sandpaper::update_cache()`. Before you accept the update, verify that the expected version number is listed as an update. After this, review the `renv.lock` file if this modified the file as expected.

To merge your new episodes:

- Make a Pull request (PR). You can follow the stesp on [using GitHub](#using-github).

#### Reviewer:

You can follow these steps:

- [Install](https://carpentries.github.io/workbench/#installation) the set of workbench packages:

```r
install.packages(c("sandpaper", "varnish", "pegboard", "tinkr"),
repos = c("https://carpentries.r-universe.dev/", getOption("repos")))
```

- [Clone](https://happygitwithr.com/new-github-first.html#new-rstudio-project-via-git) the repository or [Pull](https://www.epirhandbook.com/en/version-control-and-collaboration-with-git-and-github.html?q=github#in-rstudio-1) to update the branch to review on Rstudio.
- [Checkout](https://happygitwithr.com/git-branches#switching-branches) or [Switch](https://rstudio.github.io/cheatsheets/html/rstudio-ide.html#version-control) to the branch to review.
- Use [`sandpaper::manage_deps()`](https://carpentries.github.io/sandpaper/reference/dependency_management.html) to align the packages in your cache with the ones in the `renv.lock` file (defined by the Developer).
- You may need to manually install certain packages used in the lesson - please check the output in case [`sandpaper::manage_deps()`](https://carpentries.github.io/sandpaper/reference/dependency_management.html) fails. This can be resolved on a trial and error basis.
- Render lesson with [`sandpaper::build_lesson()`](https://carpentries.github.io/sandpaper/reference/build_lesson.html). This will open an HTML tab in your browser to review. This HTML format is how the website is going to look like online.
- Make any edit suggestion to the `.Rmd` files inside the `episodes/` folder of the branch under review. For big changes, [create an issue][issues] first.

If you have issues at the Render step, follow these two steps:

- Verify or wait until the branch is under Pull Request (PR) with all checks passed.
- Access to the [`md-outputs-PR-##` branch][repo-branches] on GitHub to read the `.md` files for each episode.

Consider that:

- The number `##` is equal to the PR number.
- `.md` files contain [generated lesson content](https://carpentries.github.io/sandpaper-docs/deployment.html) for review with knitted text, code, and figures.
- These `.md` files generate the `.html` of the website and look similar to how it's going to look like online.
<!-- - Locally, after switching to the review branch in Rstudio, you can use the [Visual editor](https://posit.co/blog/exploring-rstudio-visual-markdown-editor/), or Preview it as an HTML file (which later you will need to delete).-->
- Make any edit suggestions in the [PR online on GitHub](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request).

#### Maintainer:

You can follow this reference:

- Update steps above from any discussion on [issues][repo-issues].
- Review how to [maintain a Healthy Infrastructure](https://carpentries.github.io/sandpaper-docs/update.html).
- Review how to [Automate a Pull Request](https://carpentries.github.io/sandpaper-docs/pull-request.html#automated-pull-requests).
- Review topics on [Collaborative Lesson Development](https://carpentries.github.io/lesson-development-training/)

### Writing guidelines

To write a new episode, follow these guidelines

- Add new `.Rmd` files to the `episode/` folder.
- Add file name to the `config.yaml` under `episodes:` in the order you want the tutorials to appear in.
- Add required data sets to the `episodes/data/` folder.
- Add glossary terms to `learners/reference.md`.
- Add commonly used links to `links.md`.
- Add a visible callout for prerequisites at the beginning following the [ETK modules notation](https://github.com/epiverse-trace/tutorials/issues/19).
- Add an [introduction section](https://github.com/epiverse-trace/tutorials/issues/17) with the expected summative assessment.
- Add diagrams using Diagrammer with greek letters for parameters to [visually represent mathematical models](https://github.com/epiverse-trace/tutorials/issues/21).
- Use [callouts](https://carpentries.github.io/sandpaper-docs/instructor/component-guide.html) for complementary concepts and function arguments details.
- Review how callouts need to be [coded in plain text](https://github.com/carpentries/sandpaper-docs/blob/main/learners/component-guide.md?plain=1).
- Review when to use the [spoiler snipped](https://carpentries.github.io/sandpaper-docs/aio.html#use-spoilers-instead-of-floating-solution-blocks).
- Request a review via PR.

### Using GitHub

If you choose to contribute via GitHub, you may want to look at [How to
Expand All @@ -93,19 +199,33 @@ Each lesson has a team of maintainers who review issues and pull requests or
encourage others to do so. The maintainers are community volunteers, and have
final say over what gets merged into the lesson.

#### Rebase

- If you need to get the latest commits in the `main` branch to use them in your development, we recommend rebasing your feature branch. Rebase will keep the [commit history linear](https://epiverse-trace.github.io/blueprints/git-branching-merging.html#merging-pull-requests-merge-commits-vs-squash-and-merge-vs-rebase-and-merge). First, make sure that you are the only contributor in the `feature` branch, then:
- In the local repository, follow all these five steps:
1. Switch to the `main` branch: `git checkout main`
2. Pull the `main` branch: `git pull`
3. Switch to your `feature` branch: `git checkout feature`
4. [Rebase](https://docs.gitlab.com/ee/topics/git/git_rebase.html) your `feature` branch onto `main` branch: `git rebase main`
5. Push your rebased `featured` branch using the `--force` option (this must be a forced update): `git push --force`
- In the remote repository, only if you are in a PR:
- Update your PR branch with [Update with Rebase](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/keeping-your-pull-request-in-sync-with-the-base-branch#updating-your-pull-request-branch).
- To pull changes to your local repository from an updated PR branch with rebase in the remote, run: `git pull --rebase`
<!-- - Go to Git tab in the environments pane. Click on `Pull options` > `Pull with rebase`.-->

### Other Resources

The Carpentries is a global organisation with volunteers and learners all over
The Epiverse-TRACE is a global organisation with volunteers and learners all over
the world. We share values of inclusivity and a passion for sharing knowledge,
teaching and learning. There are several ways to connect with The Carpentries
community listed at <https://carpentries.org/connect/> including via social
teaching and learning. There are several ways to connect with The Epiverse-TRACE
community listed at <https://github.com/epiverse-trace/> including via social
media, slack, newsletters, and email lists. You can also [reach us by
email][contact].

[repo]: https://example.com/FIXME
[repo-issues]: https://example.com/FIXME/issues
[contact]: mailto:[email protected]
[cp-site]: https://carpentries.org/
[repo]: https://github.com/epiverse-trace/tutorials-early
[repo-issues]: https://github.com/epiverse-trace/tutorials-early/issues
[contact]: mailto:[email protected]
[cp-site]: https://epiverse-trace.github.io/
[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
[dc-lessons]: https://datacarpentry.org/lessons/
[dc-site]: https://datacarpentry.org/
Expand All @@ -114,10 +234,11 @@ email][contact].
[github-flow]: https://guides.github.com/introduction/flow/
[github-join]: https://github.com/join
[how-contribute]: https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
[issues]: https://carpentries.org/help-wanted-issues/
[issues]: https://github.com/epiverse-trace/tutorials/issues
[lc-issues]: https://github.com/issues?q=user%3ALibraryCarpentry
[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
[swc-lessons]: https://software-carpentry.org/lessons/
[swc-site]: https://software-carpentry.org/
[lc-site]: https://librarycarpentry.org/
[template-doc]: https://carpentries.github.io/workbench/
[repo-branches]: https://github.com/epiverse-trace/tutorials/branches
17 changes: 6 additions & 11 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ title: "Licenses"

## Instructional Material

All Carpentries (Software Carpentry, Data Carpentry, and Library Carpentry)
The tutorials in this repository are developed by Epiverse-TRACE, based on the [lesson template from the Carpentries](https://github.com/carpentries/workbench-template-rmd) (template under CC BY license).

All Epiverse-TRACE
instructional material is made available under the [Creative Commons
Attribution license][cc-by-human]. The following is a human-readable summary of
(and not a substitute for) the [full legal text of the CC BY 4.0
Expand All @@ -23,8 +25,8 @@ terms.
Under the following terms:

- **Attribution**---You must give appropriate credit (mentioning that your work
is derived from work that is Copyright (c) The Carpentries and, where
practical, linking to <https://carpentries.org/>), provide a [link to the
is derived from work that is Copyright (c) Epiverse-TRACE, where
practical, linking to <https://epiverse-trace.github.io/>), provide a [link to the
license][cc-by-human], and indicate if changes were made. You may do so in
any reasonable manner, but not in any way that suggests the licensor endorses
you or your use.
Expand All @@ -45,7 +47,7 @@ Notices:
## Software

Except where otherwise noted, the example programs and other software provided
by The Carpentries are made available under the [OSI][osi]-approved [MIT
by Epiverse-TRACE are made available under the [OSI][osi]-approved [MIT
license][mit-license].

Permission is hereby granted, free of charge, to any person obtaining a copy of
Expand All @@ -66,14 +68,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

## Trademark

"The Carpentries", "Software Carpentry", "Data Carpentry", and "Library
Carpentry" and their respective logos are registered trademarks of [Community
Initiatives][ci].

[cc-by-human]: https://creativecommons.org/licenses/by/4.0/
[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode
[mit-license]: https://opensource.org/licenses/mit-license.html
[ci]: https://communityin.org/
[osi]: https://opensource.org
Loading
Loading