Skip to content

Commit 5585423

Browse files
authored
feat(process): add content development process to the handbook
2 parents 2b6be04 + 7058286 commit 5585423

File tree

6 files changed

+68
-28
lines changed

6 files changed

+68
-28
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# pyOpenSci's Content Development Process
2+
3+
pyOpenSci develops and maintains several online resources, including:
4+
5+
* a [Python packaging guidebook](https://www.pyopensci.org/python-package-guide/) that provides
6+
recommendations and best practices for creating and sharing Python code.
7+
* [online lessons](https://www.pyopensci.org/lessons) teach scientists critical open science skills including packaging, [writing cleaner code](https://www.pyopensci.org/lessons/clean-modular-code/intro-clean-code.html#intro-clean-code), [sharing code](https://www.pyopensci.org/lessons/publish-share-code/intro.html) and [collaborating on Github](https://www.pyopensci.org/lessons/github-git/intro.html) and making their work open and [citable](https://www.pyopensci.org/lessons/publish-share-code/cite-code.html).
8+
9+
A core value of pyOpenSci is making science more inclusive by ensuring our content is accessible and beginner-friendly. This commitment allows more people to participate in science.
10+
11+
To uphold this value, pyOpenSci has developed a review process to ensure that all of its online content is:
12+
13+
- **Accurate**
14+
- **Accessible**, and
15+
- **Beginner-friendly**.
16+
17+
This page overviews that process, which applies to all technical content and lessons created for the pyOpenSci website.
18+
19+
20+
:::{figure} /images/guidebook-living-document.png
21+
:alt: Flowchart illustrating the pyOpenSci content review process. The process starts with 'Expert Feedback,' followed by 'Community Review (2 rounds),' then moves to 'Sprints / Bug Bashes,' and concludes with a 'Living Document' represented by a growing vine with leaves and flowers.
22+
23+
pyOpenSci has a review process that ensures that all the content published online is
24+
technically accurate and accessible to those who are new to the topic.
25+
:::
26+
27+
## Roles and Responsibilities
28+
29+
Several "types" of contributors are critical to achieving the pyOpenScis content goals.
30+
31+
* **Content Authors**: Write early drafts with research to ensure accuracy. Engage with content experts for initial reviews. Content authors are often but not always pyOpenSci staff or a part of the [pyOpenSci core contributor teams](https://github.com/orgs/pyOpenSci/teams).
32+
* **Content Experts**: Provide early feedback on drafts to ensure technical accuracy. This feedback is most often provided online, ideally on GitHub, but sometimes via Slack or Discord. This feedback ensures the initial drafts capture important topics and concepts accurately.
33+
* **Community Reviewers**: Participate in the GitHub pull request review process,
34+
providing feedback within the designated review period. Generally, the Pull Request associated with the new content will be provided as a link to the community in Slack and left open for review for a specific period of time.
35+
* **Moderators**: Oversee the review process, manage conflicts, and ensure that the
36+
final content meets pyOpenSci accessibility and accuracy standards.
37+
* **Decision-Makers**: Facilitate consensus and make final decisions on content approval. Typically, the Executive Director of pyOpenSci makes final decisions when consensus can't be reached. However, more often, the community is able to achieve consensus and merge content.
38+
39+
### Where reviews happen
40+
41+
Content reviews most often occur on GitHub through the standard Pull Request review process; however, in some instances raw content is generated first in a platform such as Google Docs or HackMD.
42+
43+
Review timelines vary but often range between 1-2 weeks for new content. Reviewers are
44+
encouraged to provide feedback on clarity, accuracy, and accessibility. Once a review is complete, the pull request authors document and address all review comments, and the pull request is merged.
45+
46+
When possible, pyOpenSci aims for a rapid iteration of content where we merge more quickly, pilot the materials in online events and make updates based on feedback rather than long iterative review processes around a single pull request.
47+
48+
In some cases, we will have multiple rounds of review for individual content sections.
49+
50+
51+
:::{admonition} Conflicts of interest around tools
52+
53+
If we are teaching new tools, it is important that content participants in the review process disclose any potential
54+
conflicts of interest, including tools that they actively maintain, contribute to or have authored.
55+
:::

community/index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ scientific Python community.
1313

1414
:::{toctree}
1515
:maxdepth: 2
16-
:caption: Social Media
16+
:caption: Community Platforms & Channels
1717

1818
Social Media <social>
1919
Slack <slack>
@@ -34,8 +34,9 @@ GitHub permissions <github/permissions>
3434

3535
:::{toctree}
3636
:maxdepth: 2
37-
:caption: pyOpenSci Events
37+
:caption: Events & Content Development
3838

3939
Events <events/intro>
4040
pyOpenSci Sprints <events/sprints>
41+
Content Development <content-development-process>
4142
:::

conf.py

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
11
# Configuration file for the Sphinx documentation builder.
2-
#
3-
# This file only contains a selection of the most common options. For a full
4-
# list see the documentation:
5-
# https://www.sphinx-doc.org/en/master/usage/configuration.html
6-
72
# -- Path setup --------------------------------------------------------------
8-
9-
# If extensions (or modules to document with autodoc) are in another directory,
10-
# add these directories to sys.path here. If the directory is relative to the
11-
# documentation root, use os.path.abspath to make it absolute, like shown here.
12-
#
13-
# import os
14-
# import sys
15-
# sys.path.insert(0, os.path.abspath('.'))
16-
173
from datetime import datetime
184
import subprocess
195

206
current_year = datetime.now().year
217
organization_name = "pyOpenSci"
228

239
# -- Project information -----------------------------------------------------
24-
2510
project = "pyOpenSci Handbook"
2611
copyright = f"{current_year}, {organization_name}"
2712
author = "pyOpenSci"
@@ -107,7 +92,7 @@
10792
"navigation_depth": 3,
10893
"show_toc_level": 1,
10994
# "navbar_align": "left", # [left, content, right] For testing that the navbar items align properly
110-
"github_url": "https://github.com/pyopensci/governance",
95+
"github_url": "https://github.com/pyopensci/handbook",
11196
"footer_start": ["copyright"],
11297
"footer_end": [],
11398
}
@@ -118,14 +103,14 @@
118103

119104
html_context = {
120105
"github_user": "pyopensci",
121-
"github_repo": "governance",
106+
"github_repo": "handbook",
122107
"github_version": "main",
123108
}
124109

125110
# Add any paths that contain templates here, relative to this directory.
126111
templates_path = ["_templates"]
127112

128-
# List of patterns, relative to source directory, that match files and
113+
# List of patterns relative to source directory that match files and
129114
# directories to ignore when looking for source files.
130115
# This pattern also affects html_static_path and html_extra_path.
131116
exclude_patterns = [
@@ -139,7 +124,7 @@
139124
]
140125

141126
# For sitemap generation
142-
html_baseurl = "https://www.pyopensci.org/governance/"
127+
html_baseurl = "https://www.pyopensci.org/handbook/"
143128
sitemap_url_scheme = "{link}"
144129

145130
# -- Options for HTML output -------------------------------------------------
@@ -149,13 +134,13 @@
149134
html_js_files = ["matomo.js"]
150135

151136

152-
# Add any paths that contain custom static files (such as style sheets) here,
153-
# relative to this directory. They are copied after the builtin static files,
154-
# so a file named "default.css" will overwrite the builtin "default.css".
137+
# Add paths containing custom static files (such as style sheets) here,
138+
# relative to this directory. They are copied after the built-in static files,
139+
# so a file named "default.css" will overwrite the built-in "default.css".
155140
html_static_path = ["_static"]
156141

157142
# Social cards
158-
ogp_site_url = "https://www.pyopensci.org/governance/"
143+
ogp_site_url = "https://www.pyopensci.org/handbook/"
159144
ogp_social_cards = {
160145
"line_color": "#6D597A",
161146
"image": "_static/logo-dark-mode.png",

governance/index.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Governance, Structure & Values
22

33
## About
4+
45
pyOpenSci is a fiscally sponsored nonprofit organization whose mission is to build diverse,
56
supportive community around the free and open Python tools that drive open
67
science.
@@ -11,7 +12,6 @@ pyOpenSci supports open science through
1112
* **Mentorship:** We will build out a community program where diverse community members are mentored in skills needed to contribute to open source software, which in turn will propel their open science skills forward.
1213
* **Training:** pyOpenSci will provide training in skills needed to contribute to open source software.
1314

14-
1515
```{toctree}
1616
:hidden:
1717
:caption: Organization Structure
@@ -22,7 +22,6 @@ structure
2222
Code of Conduct <../CODE_OF_CONDUCT.md>
2323
```
2424

25-
2625
```{toctree}
2726
:hidden:
2827
:caption: Reference Information

governance/structure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ The editors oversee 3-4 packages a year.
109109

110110
The Editor in Chief role is a rotating position
111111
that is held by someone on the editorial board. [More on this position can be
112-
found in the contributing guide here.](https://www.pyopensci.org/software-peer-review/how-to/editor-in-chief-guide.html).
112+
found in the pyOpenSci software peer review guide here.](https://www.pyopensci.org/software-peer-review/how-to/editor-in-chief-guide.html)
113113

114114
### Volunteer reviewers
115115

images/guidebook-living-document.png

29.8 KB
Loading

0 commit comments

Comments
 (0)