Skip to content

Commit

Permalink
Replace redirect with initial NTC handbook
Browse files Browse the repository at this point in the history
Remove index.html with meta refresh redirect

Delete CNAME

Create CNAME

Delete CNAME

Create CNAME

Simplify contributing md

Update getting-started with new content

Update code-of-conduct links

Update code-of-conduct.md

Update code-of-conduct.md

Update contributing.md

Update getting-started.md

Update steering-committee.md

Flatten getting-started into index
  • Loading branch information
lediur committed Nov 9, 2024
1 parent 3a0ae21 commit 6e72e6b
Show file tree
Hide file tree
Showing 16 changed files with 1,215 additions and 10 deletions.
18 changes: 18 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: ci
on:
push:
branches:
- master
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs-material
- run: pip install mkdocs-roamlinks-plugin
- run: pip install mkdocs-mermaid2-plugin
- run: mkdocs gh-deploy --force
37 changes: 37 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Created by https://www.toptal.com/developers/gitignore/api/macos
# Edit at https://www.toptal.com/developers/gitignore?templates=macos

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

# End of https://www.toptal.com/developers/gitignore/api/macos
4 changes: 4 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"MD013": false,
"MD026": false
}
5 changes: 5 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM squidfunk/mkdocs-material

RUN pip install mkdocs-roamlinks-plugin

RUN pip install mkdocs-mermaid2-plugin
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# NTC Handbook

This README should lay technical tasks like how to build the handbook
frontend locally. This README is not part of the handbook, it's part
of the frontend build process.

## Editing the handbook via GitHub

In GitHub, navigate to the file you want to edit and click the edit button.

Click "Commit changes...".

Click "Commit changes".

## Running locally

To develop on our handbook (everything in [/docs](./docs)), it's best to use
Docker. But if not, it's also possible to use a virtual environment.

```shell
docker build -t handbook:latest .
```

Run a live session locally.

```shell
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs handbook
```

## Running locally without Docker

Create a virtual environment and activate it.

```shell
python3 -m venv venv
source vent/bin/activate
```

pip install the same plugins listed in the Dockerfile.

```shell
mkdocs serve
```
65 changes: 65 additions & 0 deletions docs/code-of-conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# NTC Code of Conduct

All NTC members are bound by the [DSA code of conduct for members](https://www.dsausa.org/dsa-code-of-conduct-for-members/).

## Community expectations

### Guidelines for Respectful Discussion
Adapted from: [DSA's Guidelines for Respectful Discussion](https://www.dsausa.org/organize/respectful_discussion/)

#### Assume good faith in your fellow comrades
Assume good faith in each other. Please try to speak from experience, speak for yourself, and actively listen to each other. When someone makes a point, repeat what you heard, summarize, and ask clarifying questions like “did you mean X” or “what makes you say that” to get more information. Encourage yourself and others to maintain a positive attitude, honor the work of others, avoid defensiveness, be open to legitimate critique and challenge oppressive behaviors in ways that help people grow. We want to “call each other *in*” rather than calling each other out — in other words, if you are challenging someone’s ideas or behavior, do it respectfully, and if you are being challenged, receive it respectfully. Remember, mistakes will be made, nobody is perfect.

#### Know whether you need to "step up" or "step back
Help create a safe and inclusive space for everybody. Please respect others by recognizing how often, much, and loud you’re speaking and whether or not you’re dominating conversation. Step back to leave space for others to voice their opinions and feelings. If the facilitator of the meeting asks you to wrap up, recognize that you should step back. This especially applies to participants who have privileged backgrounds. On the other hand, if you don’t often speak up, we encourage you to do so now!

#### Please ask yourself "Why am I Talking/Why am I typing"? (WAIT)
We have a limited amount of time for discussion and to accomplish the tasks before us. When in discussion, please ask yourself "Why am I talking (WAIT)?" Consider whether or not what you want to say has already been said, whether what you want to say is on topic or if there’s a better time and place to say it, and other methods for showing how you feel about the conversation (nodding your head, liking posts on the Forum, etc.)

#### Please recognize and respect others feelings, background, and cultural differences
Many people have different levels of experience, knowledge, and feelings in social justice and radical activism and all participants should respect and embrace this diversity. Many people from different backgrounds have different definitions of what it means to be an "activist" or "radical." While we all don’t have to agree on everything, we should respect our diversity of opinions. Recognize that everyone has a piece of the truth, everybody can learn, and everybody has the ability to teach and share something. Don’t use language that’s clearly oppressive or hurtful. Please, refrain from using acronyms or complicated language that could exclude others.

#### We have “one mic” so do not interrupt or speak while others are talking
Many of us will have different opinions on matters. However, speaking while others are talking or adding comments when they cannot respond appropriately does not build community. If you have a disagreement, wait for your turn to address it. This is basic politeness.

#### In meetings: Respect the facilitator when they use Progressive Stack
Progressive Stack is a form of leading discussions which involves a facilitator keeping a list of names of people who wish to speak. The facilitator scans the group during discussion and if someone wishes to speak, they raise their hand and catch the facilitator’s eye. The facilitator nods and makes eye contact to indicate the person is now put on the list to speak, and then the person can put their hand down so it does not distract other discussion participants. On Zoom meetings, this may be done by typing "Stack" into the chat. However, the facilitator does not simply write a list of names in the order that people raise their hand. Rather, if someone who has not spoken raises their hand, they go to the top of the list. If someone who is of an oppressed group raises their hand, they go to the top of the list unless they have already contributed significantly to the discussion.

#### Have a sense of humor
Who said movement building can’t be fun? This is a great opportunity for people to get to know one another, building lasting friendships and relationships, to laugh, love, and build a movement.

And, as always, please inform NTC Steering of inappropriate behavior immediately.

### On the Forum

* Introduce yourself in the [Introduction thread 🔐](https://discussion.dsausa.org/t/introductions/31764) so everyone knows who you are!
* Use `@here` and `@channel` notifications in the Forum Chat sparingly, especially in large channels. Before you ping, think: does everyone in here need to be notified?
* Use threads to organize conversations.
* Use your real/chosen name for a handle. If you need to change your Forum handle, reach out to NTC Steering!
* Do not share developer keys or application secrets in the Forum chat or in Forum threads. Even if you delete them they are visible in our past posts.
* Use an encrypted service such as the NTC's Vaultwarden Password Manager, or use the Forum's encrypted DMs feature.
* Only share secrets when necessary! Follow the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege): least amount of access needed to accomplish your work.
* Because of the sensitivity of our work, there is no expectation of privacy on the Forum; if necessary for security reasons or to assist with a grievance, admins may (with the consent of the steering committee) review logs and past conversations.
* Inactive members may be periodically removed from the Forum; if this occurs you will be notified and given opportunity to re-join the NTC!
* Forum membership is necessary for NTC related work but does not confer any special membership status.

### On Calls
* Respect the facilitator and the agenda
* Follow the Guidelines for Respectful Discussion: WAIT, speaking from your own experiences, and ask clarifying questions!
* Type "Stack" in the Zoom chat to be added to Stack.
* Keep yourself muted until you're ready to speak
* If you can, turn your camera on! It's more friendly and it's a great way to get to know one another.

### Forbidden Conduct
Behaviors that are insulting, demeaning, exclusionary or harassing are not welcome in our community or spaces (public or private). This includes, but is not limited to:

- Violence, threats of violence, or violent language directed against another person.
- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
- Posting sexually explicit or violent material.
- Posting (or threatening to post) other people's personally identifying information ("doxxing").
- Personal insults, especially those that are discriminatory.
- Unwelcome sexual attention.
- Deliberate intimidation, stalking or following, online or off.
- Sustained or repeated disruption of our work (e.g. by spamming, trolling, flaming, baiting or other attention-stealing behavior), online or off.
- Repeated harassment of others. In general, if someone asks you to stop, then stop.
- Advocating for, or encouraging, any of the above behavior.
12 changes: 12 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Contributing to the Handbook

Want to make a contribution to the handbook? It's easy! Just follow these simple steps.

1. Visit the GitHub repository at https://github.com/dsa-ntc/handbook.tech.dsausa.org
2. In the `docs/` folder, click on the document you want to edit.
3. Click the "edit" button in the top right.
4. Make your edits.
5. When you're done, click "Commit changes" and make a pull request.
6. We'll review your changes!

If you're in NTC, you can request direct write access to this repo.
48 changes: 48 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Welcome to the DSA National Tech Committee!

This page is to help onboard you and get you acclimated.

This handbook is a [living document](https://en.wikipedia.org/wiki/Living_document). It’s likely that some processes will seem foggy, unresponsive or just poorly-documented. Other documentation will fall out of date. When you see something like this, please follow the steps in the [How to Contribute article](./contributing.md) to help us improve.

> [!IMPORTANT]
> Links marked with 🔐 are on the DSA Discussion Forum, which is members only. If you don't have access, [visit this link to sign up](https://optin.dsausa.org/).
# Steering Committee

The current SC members can be found in the [article on the NTC's organizational structure 🔐](https://discussion.dsausa.org/t/ntc-organizational-structure/30927).

To contact the NTC Steering Committee, message us on the Discussion Forum or email us at <[email protected]>.

# Committees

## Formation Services
Committee Chair: Ty S
- [Chapter Websites 🔐](https://discussion.dsausa.org/t/chapter-website-team-docs/30979)
- [Wordpress 🔐](https://discussion.dsausa.org/t/wordpress-team-docs/30980)
- [OpenSlides 🔐](https://discussion.dsausa.org/t/openslides-team-docs/31508)
- [BUS 🔐](https://discussion.dsausa.org/t/bus-team-docs/31506)
- [Vaultwarden 🔐](https://discussion.dsausa.org/t/vaultwarden-team-docs/31505)
- [Vitalization 🔐](https://discussion.dsausa.org/t/vitalization-team-docs/30973)

## Member Services
Committee Chair: Jen M
- [myDSA 🔐](https://discussion.dsausa.org/t/mydsa-team-docs/30982)
- [Discussion Board 🔐](https://discussion.dsausa.org/t/discussion-board-team-docs/30983)
- [ActionKit template development 🔐](https://discussion.dsausa.org/t/actionkit-team-docs/31509)
- [Learning Management System (LMS) 🔐](https://discussion.dsausa.org/t/lms-team-docs/31510)

## Engagement
Committee Chair: Christina W
- [Mobilization 🔐](https://discussion.dsausa.org/t/mobilization-team-docs/30974)
- [Newletter 🔐](https://discussion.dsausa.org/t/newsletter-team-docs/30975)
- [NTC Website 🔐](https://discussion.dsausa.org/t/ntc-website-team-docs/30977)
- [Retention 🔐](https://discussion.dsausa.org/t/retention-team-docs/30976)

## Inactive
- [Tech Liaison 🔐](https://discussion.dsausa.org/t/tech-liaison-team-docs/30978)
- [DSA UI 🔐](https://discussion.dsausa.org/t/dsa-ui-team-docs/30981)
- [Single Sign-On 🔐](https://discussion.dsausa.org/t/sso-team-docs/31511)

# Contributing

You can help improve this handbook. Follow our [Contribution Guide](./contributing.md).
17 changes: 17 additions & 0 deletions docs/javascripts/mathjax.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
window.MathJax = {
tex: {
inlineMath: [["\\(", "\\)"]],
displayMath: [["\\[", "\\]"]],
processEscapes: true,
processEnvironments: true
},
options: {
ignoreHtmlClass: ".*|",
processHtmlClass: "arithmatex"
}
};

document$.subscribe(() => {
MathJax.typesetPromise()
})

26 changes: 26 additions & 0 deletions docs/organizational-structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## The NTC's place within DSA

The NTC is a national committee of the DSA. National committees are volunteer organizations that contribute technical or professional expertise or skills to DSA's organzing and operations. The NTC in particular researches and implements tech solutions for DSA's national leadership and local chapters.

## Leadership

The NTC is led by a **[Steering Committee (SC)](./steering-committee.md)** of 7 members. Members of the SC are selected per the National Political Committee's (NPC) open applications standards once a year, and serve from October 1st to the following September 30th. Applications are reviewed by the NPC's liaison to the NTC, and passed to the NPC with recommendations and comments for approval. Annual applications for SC candidacy open in August, with new SC members being confirmed at the end of September.

The SC meets twice a month and publishes meeting minutes, which can be found in the NTC Google Drive. Such meetings are generally open to NTC's membership, unless they pertain to sensitive issues such as security. Current members of the NTC SC can be found **[here](https://docs.google.com/spreadsheets/d/1n3i9pnLHmOJ4yOFM9rBIzuDEoakuzphUpMMTPc2iY4A/edit?usp=sharing)**.

As a national committee, the NTC and the SC answer directly to the National Political Committee (NPC, mentioned above) - the 16-member elected body that is DSA's primary political leadership and "board of directors". The SC is responsible for coordinating between the NPC, DSA's national membership, staff, and the NTC membership to determine priorities and meet the technological needs of the organization.

## Subcommittees and Projects

The work of the NTC is presently coordinated across three "subcommittees".
1. **Formation Services Subcommittee** - responsible for projects supporting local chapters and other national committees and working groups
2. **Member Services Subcommittee** - responsible for projects supporting DSA membership
3. **Engagement Subcommittee** - responsible for communications and projects that internally support the NTC

Each subcommittee is led by a member of the SC, who is called the "liaison" for that subcommittee. The individual projects taken on by the subcommittee are generally led by "**[stewards](./stewards.md)**", who act as project or product managers. Check each tab of **[this document](https://docs.google.com/spreadsheets/d/1n3i9pnLHmOJ4yOFM9rBIzuDEoakuzphUpMMTPc2iY4A/edit?usp=sharing)** to see the current projects and their stewards within each subcommittee.

The process for proposing that a new project or subcommittee be created is fairly open. NTC members may prepare a proposal document that would act as the charter for the subcommittee or project and submit it to the SC. The SC will provide feedback, and vote on whether to establish the subcommittee or project formally. See the NTC Google Drive for examples of past proposals and charter documents.

## Membership

Any DSA member in good standing can become a member of the NTC by **[indicating interest](https://tech.dsausa.org/join-us/)** and going through the onboarding process, including a meeting with an organizer authorized by the SC. NTC members are volunteer contributors to its work. Members are generally channelled to subcommittees and projects that match their skills and interests during on-boarding to the NTC, but they can get involved where and how they want, and to the extent that they are able.
28 changes: 28 additions & 0 deletions docs/steering-committee.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Steering Committee
The Steering Committee (SC) is the leadership body of the NTC. Its members
serve 1-year terms, running from October 1st to September 30th the following
year, during which they report to the National Political Committee (NPC) and
are responsible for coordinating between the NPC, DSA's national membership,
staff, and the NTC membership to determine priorities and meet the
technological needs of the organization.

## Steering Committee Positions
The SC consists of eight total members: a chair from the National Political
Committee (NPC), three officers with varying roles, three subcommittee
liaisons and one at-large NTC member. Seven of the eight positions are
selected via open application per the NPC's standards. Those members include:

1. Vice Chair (one of the three NTC officers)
2. Tools Coordinator (one of the three NTC officers)
3. Secretary (one of the three NTC officers)
4. Liaison to the Members Subcommittee
5. Liaison to the Formations Subcommittee
6. Liaison to the Engagement Subcommittee
7. At-Large NTC Member

## Relevant Resources

Many details about the SC can be found in Article IV of the NTC [bylaws 🔐](https://discussion.dsausa.org/t/governance-docs/30924).

The current SC members can be found in the [article on the NTC's organizational structure 🔐](https://discussion.dsausa.org/t/ntc-organizational-structure/30927).

16 changes: 16 additions & 0 deletions docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[data-md-color-scheme="dsared"] {
--md-primary-fg-color: #EC1F27;
--md-primary-fg-color--light: #ff413d;
--md-primary-fg-color--dark: #af090f;
}

[data-md-color-scheme="dsared-dark"] {
--md-primary-fg-color: #6d0609;
--md-primary-fg-color--light: #F4797E;
--md-default-bg-color: #3B3838;
--md-typeset-color: #fff;
--md-default-fg-color--light: #F4797E;
--md-accent-fg-color: #F4797E;

--md-typeset-a-color: #F4797E
}
10 changes: 0 additions & 10 deletions index.html

This file was deleted.

Loading

0 comments on commit 6e72e6b

Please sign in to comment.