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

feat(content): Add external communications page #79

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
127 changes: 127 additions & 0 deletions organization/external-communications.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# External Communications

pyOpenSci uses a multitude of platforms for external communication, in order to both maintain communication with our current community, as well as grow our community. Our external communications fall under the broad categories of email, the pyOpenSci blog, pyOpenSci newsletters, and social media platforms. This section details each of those broad categories, as well as the specific platforms used within each, and provides relevant links and insights into the purpose, strategy, and associated processes for each platform.

## Email

pyOpenSci does not send unsolicited bulk emails, and all emails contain an unsubscribe link. Emails from pyOpenSci are sent to communicate with potential volunteers, share the monthly version of the newsletter, and to keep registered event participants up-to-date on logistics. pyOpenSci will also reach out to event attendees with pre- and/or post-surveys, along with follow-up reminders, as needed.

### Mailchimp
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our August 14 check-in, we discussed canceling MailChimp. Did that decision change?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it didn't - this PR went up before then! I'll go through and make adjustments.


pyOpenSci uses [Mailchimp](https://mailchimp.com/) as a catch-all bulk emailing service. Anyone interested in subscribing to the pyOpenSci mailing list and receiving our monthly newsletter can do so by [signing up here](https://eepurl.com/iM7SOM). We also use Mailchimp to communicate with individuals who have signed up to volunteer as a [reviewer](https://forms.gle/Mps4UsRHTyF66cdg7) and/or [editor](https://forms.gle/aFAMBjrdU7f7zMP89) as part of our [open software peer review process](https://www.pyopensci.org/about-peer-review/index.html).

### EventBrite

pyOpenSci uses [EventBrite](https://eventbrite.com) to manage event sign-ups. Anyone who has registered for a pyOpenSci event through EventBrite will be contacted through the EventBrite service regarding event updates and logistics. pyOpenSci may also upload EventBrite contacts to Mailchimp or SurveyMonkey for the purposes of sending out pre- and/or post-surveys.

### SurveyMonkey

[SurveyMonkey](https://www.surveymonkey.com/) is used to send out pre- and/or post-surveys to attendees of pyOpenSci events. This can include in-person or online events such as workshops, talks, and sprints. SurveyMonkey is used due to its ease of use, integration with HubSpot, and ability to send out survey reminder emails.

### HubSpot

[HubSpot](https://hubspot.com/) is pyOpenSci's customer relationship management (CRM) platform. Although HubSpot has email capabilities, pyOpenSci does not currently use this functionality.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we discussed using this platform for email instead of mailchimp as a way to consolidate.


## Linktree

All of our active sites, platforms, and social media accounts are located in a Linktr.ee account, which is shared in the Description of our social media sites where applicable.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please explain what linktree is and why we use it. then you can talk about the how after.


Accessing and editing Linktr.ee:
* Login at linktr.ee (credentials are in Bitwarden)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we mention Bitwarden here, I suggest adding a section on what Bitwarden is and how we use it to the guide in this pr. Then you can link to that section here.

* Click on “Admin”
* Add new links by clicking on the “Add link” button, or edit existing links by clicking on the pencil next to the title and//or URL
* Current linktr.ee: https://linktr.ee/pyopensci

## Blog

Our [pyOpenSci blog lives on our website](https://www.pyopensci.org/blog), which is driven by Jekyll and hosted currently on GitHub pages. [The code for the website is in the GitHub repository, here](https://github.com/pyOpenSci/pyopensci.github.io).

### Blog goals

The goals of our blog include:
* Writing for the broader open science community
* Sharing news and updates related to pyOpenSci
* Build domain authority through SEO strategies
Comment on lines +41 to +44
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The goals of our blog include:
* Writing for the broader open science community
* Sharing news and updates related to pyOpenSci
* Build domain authority through SEO strategies
The goals of the pyOpenSci blog include:
* Promotion of pyOpenSci accepted scientific Python packages
* Celebration and recognition of pyOpenSci community members
* Discussion of modern topics, tools, and resources that are of use to the broader open science and scientific Python community
* Share pyOpenSci news and updates related
* Build domain authority around Python, open science and open source through search engine optimization (SEO)


### How to add a new blog post

There are two main groups of people who submit blog posts to the pyOpenSci blog: pyOpenSci employees, and package authors/maintainers for packages that have been accepted into the [pyOpenSci ecosystem](https://www.pyopensci.org/python-packages.html). If you are not in one of these two groups, but would like to submit a blog post to pyOpenSci, please reach out to us at [[email protected]](mailto:[email protected]) to discuss your post prior to writing it and submitting a PR.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are two main groups of people who submit blog posts to the pyOpenSci blog: pyOpenSci employees, and package authors/maintainers for packages that have been accepted into the [pyOpenSci ecosystem](https://www.pyopensci.org/python-packages.html). If you are not in one of these two groups, but would like to submit a blog post to pyOpenSci, please reach out to us at [[email protected]](mailto:[email protected]) to discuss your post prior to writing it and submitting a PR.
There are two groups of people who submit blog posts to the pyOpenSci blog: pyOpenSci staff, and package authors/maintainers of [pyOpenSci packages](https://www.pyopensci.org/python-packages.html). If you are not in one of these two groups, but would like to submit a blog post to pyOpenSci, please reach out to us at [[email protected]](mailto:[email protected]) to discuss your post prior to writing it and submitting a PR.


**Writing a blog post**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Writing a blog post**
**How to submit a blog post to pyOpenSci**


The following processes for writing a blog post should be used by both pyOpenSci employees as well as guest posts:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The following processes for writing a blog post should be used by both pyOpenSci employees as well as guest posts:
The pyOpenSci blog post submission process defined below should be used by everyone submitting a blog post.

1. Fork the pyOpenSci website repo: [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Fork the pyOpenSci website repo: [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).
1. Fork the pyOpenSci website GitHub repository: [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).

2. Work on your blog post locally. Be sure to include alt text as needed, and create an author page if you do not already have one.
3. Submit a pull request from your fork of the website repo to [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).
Comment on lines +54 to +55
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Work on your blog post locally. Be sure to include alt text as needed, and create an author page if you do not already have one.
3. Submit a pull request from your fork of the website repo to [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).
2. Work on your blog post locally. Be sure to include alt text for all images submitted, and create an author page if you do not already have one.
3. Submit a pull request from your fork of the website repo to [https://github.com/pyOpenSci/pyopensci.github.io](https://github.com/pyOpenSci/pyopensci.github.io).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it will be clear what "create an author page is" I suggest including that in a separate set of steps in this PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also suggest showing syntax for adding alt text here in a code block using myst.

4. Make sure that the blog post passes CI checks that look for spelling errors, broken links and more. Please note that occasionally the `htmlproofer` check will fail because the URL does not exist yet. We have implemented a fix for this, but it occasionally does not work.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When reading this, it will be unclear what htmlproofer is.

i suggest adding information about html proofer here in more detail and with screenshots.

https://www.pyopensci.org/handbook/community/github/continuous-integration.html#website-ci-checks

then you can link to it from here.

5. Request review of the blog post. A member of the pyOpenSci staff should always review any new content being added to the website.
6. Once you have an approving review, the pull request can be merged. In the case of guest blog posts, a member of the pyOpenSci team will merge your post.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
6. Once you have an approving review, the pull request can be merged. In the case of guest blog posts, a member of the pyOpenSci team will merge your post.
6. Once you have an approving review, the pull request can be merged. In the case of guest blog posts, a member of pyOpenSci's staff or contributor team will merge your post.


pyOpenSci has GitHub organization-wide policies in place that require all pull requests are reviewed before being merged. In some instances, we may bypass those if the PR is a small fix or critical update. In most cases a review is preferred.

**A note on guest blog posts**

Anyone who has had their package accepted into the pyOpenSci ecosystem is encouraged to submit a blog post (or series of blog posts) about their review experience and/or their package. When submitting your blog post, please include the following YAML elements:

```
layout: single
title: "The title of your blog post"
excerpt: "One to five sentences summarizing your post. This text will appear on our [blog landing page](https://pyopensci.org/blog)"
author: "Your name"
permalink: /blog/url-for-your-post.html
header:
overlay_image: images/headers/your-blog-post-header-image.png
overlay_filter: rgba(20, 13, 36, 0.8)
categories:
- blog-post
- community
classes: wide
toc: true
comments: true
---
```
Comment on lines +62 to +82
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**A note on guest blog posts**
Anyone who has had their package accepted into the pyOpenSci ecosystem is encouraged to submit a blog post (or series of blog posts) about their review experience and/or their package. When submitting your blog post, please include the following YAML elements:
```
layout: single
title: "The title of your blog post"
excerpt: "One to five sentences summarizing your post. This text will appear on our [blog landing page](https://pyopensci.org/blog)"
author: "Your name"
permalink: /blog/url-for-your-post.html
header:
overlay_image: images/headers/your-blog-post-header-image.png
overlay_filter: rgba(20, 13, 36, 0.8)
categories:
- blog-post
- community
classes: wide
toc: true
comments: true
---
```
:::{admonition} Yaml elements required for blog posts
:class: tip
All package authors, maintainers (and users) of a pyOpenSci-accepted package are welcome and encourage to submit a blog post (or series of blog posts) about their review experience and/or the use of the package. When submitting your blog post, please include the following YAML elements:

layout: single
title: "The title of your blog post"
excerpt: "One to five sentences summarizing your post. This text will appear on our blog landing page"
author: "Your name"
permalink: /blog/url-for-your-post.html
header:
overlay_image: images/headers/your-blog-post-header-image.png
overlay_filter: rgba(20, 13, 36, 0.8)
categories:

  • blog-post
  • community
    classes: wide
    toc: true
    comments: true

:::

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i just made this correction here - please check the build to ensure it's correct!


For more information on how pyOpenSci uses GitHub, please refer to the [GitHub section of our handbook](https://www.pyopensci.org/handbook/community/github/intro.html).

### Promoting blog posts

All blog posts should be promoted, regardless of whether or not they were written by a guest or a pyOpenSci employee! For promotion, coordinate with the Community Manager to ensure that there’s a tailored message for each of the following platforms:
* Slack
* Discourse
* BlueSky
* LinkedIn
* Fosstodon

In addition to pyOpenSci promotions, we monitor social media for any personal posts authors have created to promote their post, boost accordingly.

Comment on lines +95 to +96
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In addition to pyOpenSci promotions, we monitor social media for any personal posts authors have created to promote their post, boost accordingly.
In addition to pyOpenSci social outreach, we monitor social media for any personal posts that authors have created. To promote these posts, we will repost.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm not sure the intent of this sentence but I tried to rewrite. Please rewrite as you see fit.

## Newsletters

We publish two newsletters:
* A weekly newsletter on LinkedIn, published on Thursdays
* A monthly newsletter published on LinkedIn and sent to all Mailchimp subscribers
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flaggin mailchimp. If we made a decision after august 14 that i've forgotten you can remind me!


The weekly LinkedIn newsletter has three main categories:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Please add an example of how each of these posts is structured .

then please also add what metrics are used to track success of these items. each section should include goals of the platform, target audience, metrics of success.

* The monthly round-up edition, sharing and celebrating pyOpenSci and community wins over the past month
* A monthly "Community News" edition, which shares conversations, discussions, and decisions that have taken place in Slack as well as on Discourse and GitHub, that are relevant to the broader community
* Re-posts of interesting pyOpenSci blog posts

When a newsletter post is a re-post from the pyOpenSci blog, it's important to include text and a link back to the original blog post, indicating where the post was originally published. This prevents link cannibalisation, where different links with the same content compete for keyword rankings. We want all keyword rankings to be directed back to the pyOpenSci website wherever possible.

## YouTube

The [pyOpenSci YouTube channel](https://youtube.com/@pyopensci) is still under development, and currently only has one published video. While we are still in the process of developing a YouTube strategy, the best practices for YouTube videos include the following:
* Provide accurate captions
* Create an eye-catching thumbnail for each video, using a similar design aesthetic for videos that occur in a series
* Use timestamps in the video description
* Promote the video on socials within the first 20 minutes of the video launching
* Use no more than two hashtags per video

## Discourse

pyOpenSci also maintains a [public Discourse forum](https://pyopensci.discourse.group/). Unlike Slack, which has restricted access, anyone is able to join and participate in Discourse. Discourse is a place to announce new packages in our ecosystem, to post memos to the community, as well as to announce meetings and other events. We also want the community to use it to ask questions around peer review and packaging.

At this point in time pyOpenSci has not developed a robust Discourse strategy for community engagement, but continues to discuss the platform and how we would like to use it in our quarterly social media strategy meetings.

## Zenodo

Zenodo is a general-purpose research repository where any research output can be shared by its users, where pyOpenSci maintains a [community group](https://zenodo.org/communities/pyopensci?q=&l=list&p=1&s=10&sort=newest). When pyOpenSci staff give a presentation, they will update the community group with their talk materials. In addition, when community members give presentations, they have the option of adding them to the pyOpenSci Zenodo community group.
7 changes: 6 additions & 1 deletion organization/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Organization

In this section we will add organizational processes.
:::{toctree}
:hidden:
:caption: External Communications

External Communications <external-communications>
:::