👋 This guide is our main resource for contributors interested in working on Wagtail as part of Outreachy internships. Please read through it all, top to bottom.
Where possible, we prefer you use Wagtail’s community channels rather than reaching out to mentors or coordinators directly. We use:
- The Wagtail Slack, in particular #outreachy
- GitHub Discussions
We build Wagtail, a popular content management system. It's built on Python, by an active and engaged open source community, which has grown rapidly since Wagtail's release in 2014. Wagtail is available in over 40 languages, and used by some of the world's best-known organizations, including NASA, Google, Mozilla, MIT, and the UK's National Health Service, as well as museums, universities, non-profits, governments, banks, studios, restaurants, startups and bloggers around the world.
We use the same eligibility criteria as every other participating organization. In particular,
- Contributors / applicants must have been pre-approved by Outreachy in order to be eligible to take part in the contribution period during our project.
- You can only be accepted as an Outreachy intern once.
- You must not have a full-time job or contracting position during the Outreachy internship.
- University students must have 42 consecutive days free from school and exams during the internship period.
We expect participants to go through a set of initial tasks as they start to get involved with Wagtail’s community, ahead of their application. This is for you to get to know Wagtail as a project and community, and get a sense of how we can work together. It also helps mentors assess the skills of candidates, so we can decide which projects we can take on with you.
No matter which specific project idea you’re interested in, we expect all participants to demonstrate:
- A good understanding of Outreachy.
- Awareness of how open source contributors collaborate: clear and effective communication, use of english, online etiquette, code of conduct.
- An interest in learning and collaboration: improving in response to feedback, asking questions when appropriate, and helping other contributors.
- Awareness of how the Wagtail project works: communication channels, contribution guidelines.
- Knowledge of git and GitHub: coders or not, those are fundamental tools for how we work as a community.
The best thing you can do to improve your chances of being accepted as an Outreachy intern with Wagtail is to start being involved now. Make yourself known to the community. Go through our recommended tasks below, recommended learning resources, and help fellow contributors who are going through the same process. Try to contribute to an area related to the project you will be applying for. When the time comes to evaluate applications, you will be a known individual.
We're here to help, but we can't watch you every step of the way. We need to see motivation from you. Your activities before the application process are the best way to demonstrate this. Any application submitted late, from people we haven’t heard from before, will still be considered but might be met with skepticism.
We use checklists so all candidates demonstrate their interest and skills with the same process. They will help you get started and make sure you’re on the right track.
This is the first checklist for candidates to go through.
- Read the official Outreachy Applicant Guide. All of it.
- Read the official Outreachy Internship Guide.
- If you haven’t already, create a GitHub account.
- Introduce yourself on our Welcome to Wagtail! Introductions discussion thread.
- And-or introduce yourself on the Wagtail Slack in #new-contributors.
- Set up your own personal blog. Blogging is a fundamental part of Outreachy, and generally a good way to solidify learnings. You can use a personal website if you want to, or keep it simple and use a platform like Dev.to, Hashnode, or Medium.
For participants already experienced with GitHub and Markdown, feel free to go through all the suggested tasks in a single pull request.
This checklist helps you demonstrate your understanding of how people use GitHub to collaborate.
- Read through How to contribute to open source
- Read Open source etiquette
- Make your first pull request with us! Add your name to the list of participants in 2023/README.md.
And now, we will want you to start using GitHub so we can review your progress over time, your research ahead of the application, and provide feedback.
- Make a fork this repository, then add a new folder inside
2023/
with your name as the folder name. Inside that folder, add aREADME.md
file, and copy-paste the introduction you posted earlier. Submit this to our project as a pull request. - Read through GitHub’s Markdown formatting documentation
- Now make another pull request to your own README file, adding a Markdown table with links to:
- Your GitHub profile
- Your personal website / blog
- Your preferred social profiles if any
- Update your pull request to add a new
## Tasks
section to your README file, and copy-paste our contributor guide’s checklists into it, marking each item as completed or not according to your progress.
To stand out as an applicant,
- Help others with their pull requests – spotting steps they might have missed, or suggesting improvements to their pull requests.
- Demonstrate good awareness of open source etiquette when creating your pull requests (for example, adding an appropriate title and description, even if very concise).
With this checklist, we expect you to demonstrate an ability to do research and learn new things. All tasks here will require updating your participant file within your fork of the outreachy
repository in the 2023/
folder, and making pull requests.
- Create a new
## Research
section in your personal file, with a list of links to the resources you’ve found most useful so far in trying to understand Wagtail as a project and the specific project tasks you’re interested in. Make sure to use full Markdown link syntax ([link text](link url)
), so we can understand your choice of resources. - Write a short blog post describing things you’ve learned recently, and share it with us. The post must be in English, include at least one image, be less than 500 words, and score a Grade 7 or lower on https://hemingwayapp.com/. You can describe any recent learnings – share a list of the last few articles you read and liked, or focus on one specific thing you’ve been learning. It can be a broad area or a very narrow subject. It doesn’t have to be about tech. The post has to be posted on a publicly-available platform (for example Dev.to, Hashnode, Medium, your own website, anywhere public), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
🚧 This checklist is for candidates interested in working on the Accessibility features documentation project.
- Write a short blog post which demonstrates your understanding of accessibility. In English, with at least one image, less than 500 words. Demonstrate your understanding based on past experiences. For example, any specific accessibility improvements you’ve done in the past, or specific issues you identified. The more specific the better. The post has to be posted on a publicly-available platform (for example Dev.to, Hashnode, Medium, your own website, anywhere public), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
- Write a short blog post which demonstrates your expertise in technical writing. In English, with at least one image, less than 500 words. Demonstrate your expertise based on past experiences. For example, any specific documentation writing you’ve done in the past, or other technical writing you’ve made. The more specific the better. The post has to be posted on a publicly-available platform (for example Dev.to, Hashnode, Medium, your own website, anywhere public), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
- Ask @thibaudcolas via email or on Slack to give you editor access to a Wagtail website. Once you’ve received access, we ask you to create a new page to try out some of Wagtail’s accessibility features.
- With your access to the demo site and by reviewing our user guide, identify a feature of Wagtail which isn’t documented, and report it back on the guide project issue tracker. Make sure to explain what the feature is, why and how you think it should be documented.
- Draft the new content to document the feature of Wagtail which you’ve reported isn’t documented. Add it to the issue you created as a new comment, so we can provide feedback.
- Ask @thibaudcolas via email or on Slack to give you editor access to guide.wagtail.org. Once you’ve received access, we ask you to make the necessary changes in the CMS to add the feature documentation.
- TBC – Additional tasks specific to the Outreachy application process.
🚧 This checklist is for candidates interested in working on the Adopt generic class based views across the Wagtail admin project.
- Write a short blog post which demonstrates your understanding of Django, in less than 500 words. This can be an intro to an existing project of yours, or perhaps explanation of a specific code snippet you’re particularly proud of, or explanation of a specific problem you worked on. The more specific to your own experience the better. The post has to be posted on a publicly-available platform (Dev.to, Hashnode, Medium, your own website), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
- Go through Wagtail’s tutorial: Your first Wagtail site. With the level of Django expertise needed for this project, we expect you to be able to complete it autonomously in less than 2 hours. If you get stuck, ask for help on Slack or GitHub Discussions.
- Go through Wagtail’s guide: Your first contribution.
- Find a first issue to work on within Wagtail, based on the guidance in section "5. Finding an issue". In particular, report back whether you can reproduce the problem/scenario described in the issue, and any notes / thoughts about how to solve it.
- Contribute a solution to the issue you selected based on guidance in section "6. Contributing a solution".
- TBC – Additional tasks specific to the Outreachy application process.
🚧 This checklist is for candidates interested in working on the Wagtail.org website accessibility project.
- Write a short blog post which demonstrates your understanding of accessibility. In English, with at least one image, less than 500 words. Demonstrate your understanding based on past experiences. For example, any specific accessibility improvements you’ve done in the past, or specific issues you identified. The more specific the better. The post has to be posted on a publicly-available platform (Dev.to, Hashnode, Medium, your own website), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
- Write a short blog post which demonstrates your understanding of Django, in less than 500 words. This can be an intro to an existing project of yours, or perhaps explanation of a specific code snippet you’re particularly proud of, or explanation of a specific problem you worked on. The more specific to your own experience the better. The post has to be posted on a publicly-available platform (Dev.to, Hashnode, Medium, your own website), and you must also add it as a new section in your personal file in this repository (so we can provide feedback on the contents).
- Go through Wagtail’s tutorial: Your first Wagtail site. If you get stuck, ask for help on Slack or GitHub Discussions.
- Set up wagtail.org in Gitpod, via the "Open in Gitpod" link in the README.
- Find an accessibility issue on the live wagtail.org website, and report it on the project’s issue tracker, with appropriate details (title, description, screenshot if applicable, why you think this is an accessibility issue).
- Fork the wagtail.org repository and set up your own copy for development, either in Gitpod or on your own computer.
- Contribute a solution to the issue you selected, by reproducing it on your copy of the project, and submitting a pull request to the main project.
- TBC – Additional tasks specific to the Outreachy application process.