Website Team Meeting notes

24 Apr 2025

Attendees: Saptak, Storm, Jason, Sanyam, Alex, Sarah, Tobias and Paolo

Agenda

Action items

  • Saptak: Create a meeting poll for next month
  • Tobias: let us know about Security reporting process
  • Sarah: Onboarding the 2 new members
  • Saptak: Create a SECURITY.md and update README on how to report
  • Storm: to contribute a security.txt file
  • Jason: Triaging Process document
  • Triaging open PRs and currently open tickets
  • Everyone: Read through the UX analysis and other documents so we can discuss in next meeting
  • Tobias: Staging preview site
  • Request for access to Sentry/other analytics to ops@djangoproject.com
  • Research about aggregate traffic analytics

Notes:

  • Introductions!
    • Sarah: France, DSF, Django a11y team
    • Paulo: Italy, DSF, Also part of Python Italy
    • Saptak: Web Dev, India, Django a11y team
    • Storm: Based in netherlands, worked in Django for quite some time, Wagtail core team
    • Alex: based in Barcelona, Spain.
    • Jason: based in the USA, keeps calling himself ‘new to Django’ but has worked with it for the past three years
    • Sanyam: based out of Canada. Web developer since over a decade.
  • Agenda
    • What has been done before the working group
  • What are the responsibilities of the Website WG
    • Maintaining djangoproject.com
    • Triaging tickets
    • We do not handle the content of the website, there will likely be a new working group for that
    • The idea of the working group is to have a group of people responsible for these tasks
    • If there are tickets for new features, we can (help) develop those features
    • We can propose new features, create an issue for it
    • Example improvements
      • Images in blogs, markdown for posts
    • Right now, we are using GitHub issues
    • There is also a project of long-term goals for the website
      • Let’s discuss this in detail in another meeting
  • Things done before the WG
    • There are open PRs, some are almost ready to go

    • We hope to close some of these PRs during the DjangoCon Dublin sprint

    • Would be nice to define the process of triaging a ticket for the website

      • Using labels for tagging the issues
      • GitHub projects for triaging
      • Automatically close very old issues
    • If you have any opinions related to this, please reach out

    • UX study by 20tab: forum, PDF report, article by Thibaud

      • Study done by former employer of Paulo
      • Usability / accessibility issues uncovered
      • Survey with the community
      • Usability expert
      • Interview with user selected from Survey
      • Interview with someone from the DSF board
      • Sorted pain points in order
      • Example pain point: accessibility of dark theme
      • Helpful to read this, get everyone on the same page
    • New design for the website?

      • Previous design was made ~15 years ago, contributed by a company
      • Likely needs a sponsor for a new design
    • Design contribution discussions

      • Helpful to read this as well
      • Includes things like information architecture, inconsistent use of gray colors
  • Style guideline
    • Past contributions did not always follow this guideline, resulting in inconsistency
    • Turns out this style guideline document is hard to find
  • Probable next steps
    • Read through the documents
    • Look for a designer?
  • Tobias joins us from DjangoCon
    • Based in the USA, works at Caktus
  • Need of security reporting
    • There currently is no way of reporting security issues
    • Need to set up an email to receive reports
    • You should all have been invited to the GitHub website working group team, you should all have been invited to this team.
      • If not, please reach out to Sarah
  • Two new potential members we have to vote on
    • (adding members requires a vote from the team)
    • Ülgen Sarıkavak self nomination
      • Already a DSF member
      • Vote: accepted as member
      • Tobias abstained from voting
    • Adam Zapletal self nomination
      • Has contributions and was on the previous maintainer team:
      • Vote: accepted as member
      • Tobias abstained from voting
    • “Direct membership: new members may self-nominate; the WG will vote (50%+1) to approve/deny new members. The WG will vote for New Chair/Co-Chairs and decision to appoint will be based on gaining majority votes.”
  • Action items for next meeting
    • When to have the next meeting?
    • Timezones are a bit of an issue
    • Action: Saptak to organize a new poll for the next meeting
    • Meeting cadence: once a month
    • Discuss asynchronous on Slack
    • Action: Tobias security reporting process
    • Action for all: read the UX analysis of the website and other documents from this meeting (design contribution discussion, style guideline)
    • Triaging process document
  • Website OPS team (Tobias)
    • Deploying new versions of the website
    • Upgrading database
    • Anything related to the infrastructure
    • Do we have a staging environment?
    • We had a staging environment, but no one appeared to use it. Can bring it back.
    • Economic cost of having a staging environment?
    • We get sponsorships from AWS, we send an email once a year to receive credit
    • Need to set up CI/CD for automatic deployments
    • Any other questions around the infrastructure and deploying?
    • Do we have tracking on the website? Not sure
      • Thibaud mentioned Google Search Console
    • Do we need anyone else on the Sentry team?
    • Reach to ops@djangoproject.com for access to analytics / Sentry
  • Anyone okay with volunteering to start the triaging process document?
    • Jason volunteers
  • Use plausible for analytics?
    • Privacy friendly
    • Doesn’t require a GDPR consent banner
    • Self hosting? Generally we don’t do this and use sponsored accounts instead
    • Fastly sponsors us with free CDN services
  • Action: add a SECURITY.md file to the website
2 Likes

5 Jun 2025

Attendees: Sarah A, Ülgen, Mark, Storm, Alex, Saptak, Adam

Agenda

  • Review Action Items
  • UX analysis
  • Policy on PR approval and merge
    • Permissions of the team
  • Birthday of Django
  • Monthly meeting schedule

Review action items

  • Saptak: Create a meeting poll for next month
  • Tobias: let us know about Security reporting process
  • Sarah: Onboarding the 2 new members
  • Saptak: Create a SECURITY.md and update README on how to report
  • Storm to contribute a security.txt file
  • Jason: Triaging Process document
  • Triaging open PRs and currently open tickets
  • Everyone: Read through the UX analysis and other documents so we can discuss in next meeting
  • Tobias: Staging preview site
  • Request for access to Sentry/other analytics to OPS team
  • Research about aggregate traffic analytics

Action items

  • Storm: Update the security.txt PR
  • Everyone: Review security.md and security.txt PR
  • Jason: Triaging Process document
  • Saptak: Look at PRs to fix docker instructions
  • Adam: Triaging open PRs and currently open tickets
  • Sarah: Request for access to Sentry/other analytics to OPS team
  • Alex: Research about aggregate traffic analytics
  • Sarah, Alex: Look into how to improve Django fundraising UI/UX to make it more visible and appealing
  • Saptak: Create an issue and track about Django birthday banner
  • Saptak: Fix a time for monthly calls

Notes

  • Review Action Items

    • Saptak created the poll, that’s why we here
    • Sarah onboarded the new members
    • Saptak created a SECURITY.md PR
    • Storm created the security.txt PR, needs some rework to align with Saptak’s PR
    • Jason: triaging process document
      • Jason isn’t here, will ask on Slack and move to next meeting
    • Triaging open PRs – Adam
      • Created a document with open PRs
      • Many PRs are in an actionable state, closed a few that were not active
      • Adam happy to do some triage and (gently) ping people to review
      • Currently the djangoproject.com repo has a lot of open issues and PRs, which is generally not an amazing sign of good health
      • Saptak suggests using GitHub project boards more, let’s move the document to the board
      • We currently have a project board already but not in a useful state right now
      • Alex: Instructions for local setup are currently not correct, there is a PR that corrects the instructions. Can we prioritize this please.
    • Everyone read UX analysis
      • Website probably needs a lot of upgrades in the UX space (things like search)
      • How do we want to approach the UX improvements?
    • Tobias to setup staging preview site
      • done
    • Request for access to Sentry/other analytics to ops@djangoproject.com
      • Still ongoing
    • Research about aggregate traffic analytics
      • Storm got some screenshots for Django analytics from Thibaud
      • Are these analytics good enough? Do we want more analytics?
      • We need to determine what we are interested in gathering data about
      • Is anyone interested in taking this as an action to investigate further (what are we interested / what information do we have right now)
  • UX analysis

    • One pressing request from the fundraising working group about improving the fundraising page.
    • Pages are flatpages, meaning they have to be edited through the Django admin
    • What changes does the fundraising team want to make? A: expect issues on the repository soon
      • Make the fundraising page more visible by linking to it from elsewhere
    • From the study PDF: “perception of a lack of emphasis on the support and donations page”
    • Someone to take a look at Support Django and suggest improvements
      • Volunteers? Sarah/Alex
    • Flatpages like /foundation can only be edited through the admin. Can we give members of the working group access to the admin?
      • Work in progress, discussing with the Ops team
    • Feel free to suggest UX improvements for the site, please create an issue
    • For things that need a design, we need a design volunteer
  • Policy on PR approval and merge

    • Permissions of the team
    • Came up on Slack, some confusion on when something is good to merge
    • Right now, everybody on the working group has access and can merge PRs; it is not supposed to work that way. We want a dedicated mergers team but we need to set up that team on GitHub first.
      • This is described in the website working group proposal document
    • Baptiste has been merging a lot of PRs, will his role change?
      • Since the working group now exists and has members that can merge, he might be less active than before
  • Birthday of Django

    • The official birthday is in July (believe it is the 14th)
    • There has been discussion about placing a banner on the site or create a special birthday site
    • No design yet for a banner, but this all would need to happen before the birthday
    • There is already someone external to the working group working on the birthday site, check out the #birthday channel on the DSF slack if you are interested
  • Monthly meeting schedule

    • We are a large group, scheduling is hard
    • Will try to pick a date, like every last Thursday of the month
    • Does this day and time work for most of the people here in the call?
      • Looks like it
    • Anything for the structure of the meeting? Does this pattern of reviewing actions, and agenda work
  • Any other business? Some questions from Ülgen

    • How do we manage GitHub team memberships?

    • How do we manage rules (such as branch protection) for repos?

      • As mentioned earlier, the merge access will be restricted to a select group
      • Believe we have recently set up branch protections
    • Do we have the deployment process documented?

      • The OPs team manage deployment through an ansible playbook
    • Why do we have a blog on the website that looks like part of the documentation? Who can write on “weblog”? They look like “official” content.

      • The content of the weblog is not in the scope of the website working group
      • Not sure who has permission to write on the weblog
      • Ülgen asked the question because it looks like part of the official documentation
      • Weblog in question: News & Events | Django
      • It is all official content, but aside from release announcements it is now also used to publish more content, like information about Djangonaut Space. It is all official and sanctioned/endorsed by the board.
1 Like

3 Jul 2025

Attendees: Adam, Alex, Mark, Saptak, Sarah

Agenda

  • Review Action Items
  • Inactive members

Review action items

  • Storm: Update the security.txt PR
  • Everyone: Review security.md and security.txt PR
  • Jason: Triaging Process document
  • Saptak: Look at PRs to fix docker instructions
  • Adam: Triaging open PRs and currently open tickets
  • Sarah: Request for access to Sentry/other analytics to ops@djangoproject.com
  • Alex: Research about aggregate traffic analytics
  • Sarah, Alex: Look into how to improve Django fundraising UI/UX to make it more visible and appealing
  • Saptak: Create an issue and track about Django birthday banner
  • Saptak: Fix a time for monthly calls

Action items

  • Storm: Update the security.txt PR
  • Everyone: Review security.md and security.txt PR
  • Saptak: Triaging & reviewing process document
  • Alex & Ulgen: send the docker PRs already open and Ulgen can push a new PR that solves some of the old PR problems
  • Sarah: check access for the website with the ops team
  • Sarah: see details with the in-kind donor Fastly
  • Alex: Check with Stephanie regarding Django fundraising UI/UX
  • Saptak: Talk with Thibaud about the design of banner for Django birthday
  • Sarah: create a vote about removal of Eric
  • Sarah: Define what actually means inactive
  • Saptak, Alex & Ulgen: review the docker setup for the website
  • Saptak: Look into improving the contribution guidelines

Notes

  • Review Action Items

    • Triaging and reviewing process document: Saptak will create the document and everyone can review and improve it
    • Alex can send over old PRs on docker improvement to Saptak
      • Ulgen: The old docker PRs might be problematic, but has a working setup that he can create a PR
      • Saptak: Review the PRs for docker fix
    • Adam: trying to stay up with all the open PRs. Would like to discuss few PRs at the end of the PR
    • Sarah has sent an email for the analytics and is waiting for a response.
    • Sarah will check with ops related to access on admin
    • Alex: We don’t have the functionality, but we may have to update plan. We do have accesslogs of the server, but might be tricky to aggregate.
      • Sarah will check with Fastly about our plans
      • Alex will try to create an accesslog scrape and try to get an aggregated data
    • Django fundraising UI/UX
      • Alex talked with Stephanie, has a shared slack channel, and needs to ask what is the status and what needs to be done.
  • Inactive members

    • Few members are inactives, need to see if they are still happy to be part of the team
    • Sarah to improve the text to describe inactive members
      • We think only the working group needs to review.
  • Some PR discussion

    • There are 3 PRs which are trying to add link to the outdated banner.
      • Ulgen opened the first PR and the issue is assigned to them, but others are trying to open PR because of the good-first-issue label. THis is there with other PRs as well.
      • Alex: If it is assigned to someone, others can be closed maybe?
    • Don’t know about the power and responsibility?
      • Adam: Feels like we don’t have a lot of authority. Baptiste and Paolo were usually the one who made the final call. Should we be making the final call? Don’t know how to move forward with PRs, what to close and resolve the PR?
      • Mark: Have lost the ability to merge.
        • In the WG doc, its only the chair and co-chair but it might change after 6 months depending on activeness of some members
      • Ulgen: the project is not easily installable to actually test them locally? Docker thing is blocking so primarily focused on that. Would make it easier to contribute
      • Adam: don’t use docker personally but there is a lot of value on fixing up the docker setup and help onboarding
      • Alex: has docker setup working on my end, wants it to be good enough to push it
    • Contribution guidelines
      • Ulgen: there are some guidelines in the Django repository. Can we say somewhere, that Website is also following those guidelines.
      • Maybe if the good first issue is not urgent and unassigned, leave it for new contributors
  • Adam can share some PRs that we can look into every week beginning.

  • Adam has been maintaining a project board with ready to merge category.

  • Adam and Jason will be in DjangoCon US. Adam will try to do a lightning talk

7 Aug 2025

Attendees: Saptak, Sanyam, Ülgen, Sarah, Baptiste, Adam, Storm, Alex, Jason

Apologies: Paolo, Tobias

Agenda

Review action items

  • Storm: Update the security.txt PR

  • Everyone: Review security.md and security.txt PR

  • Jason: Triaging & reviewing process document Website Triage (draft)

  • Alex & Ulgen: send the docker PRs already open and Ulgen can push a new PR that solves some of the old PR problems

  • Sarah: check access for the website with the ops team

  • Sarah: see details with the in-kind donor Fastly

  • Alex: Check with Stephanie regarding Django fundraising UI/UX~~

  • Saptak: Talk with Thibaud about the design of banner for Django birthday~~

    • Thibaud said nothing as such was planned, hence no action was needed.
  • Sarah: create a vote about removal of Eric

  • Sarah: Define what actually means inactive

  • Saptak, Alex & Ulgen: review the docker setup for the website

  • Saptak: Look into improving the contribution guidelines

Action items

  • Storm: Update the security.txt PR

  • Everyone: Review and comment Website Triage (draft)

  • Sarah: check access for the website with the ops team

  • Baptiste: see about access to matrix with Fastly (for website stats) and can we ask for more access

  • Sarah: Define what actually means inactive

  • Saptak, Alex, Sanyam & Ulgen: review the docker setup for the website

  • Saptak: Look into improving the contribution guidelines

Questions

  • Do we have the deployment process documented?

    • If so, can we move it under the repo?
  • What do we think about the Djangonaut Space program?

Notes

  • New member: Baptiste Mispelon

    • You should have received access, if not talk to Saptak or Sarah

    • Intro: Baptiste is on the Django ops team, has maintained the website for a while before the Website WG was established

  • Review Action Items

    • Storm: Update the security.txt PR

      • Haven’t gotten around to it, sorry. Will do it soon after our meeting
    • Everyone to Review security.txt and security.md PR, the security.md PR has received feedback

    • Jason: triaging & reviewing process document

    • Alex & Ulgen: send the docker PRs already open

      • Saptak to take an action to review new PR
    • Sarah: check access for the website with the ops team

      • Can’t give our mailing list access, which would be the easiest way to include everyone on the team. Need to give out individual email addresses to the ops team
    • Sarah: see details with the in-kind donor Fastly

      • Access needs to be granted per account, not 100% sure how permissions work but it appears you get a lot of (unnecessary) access. We need to be careful with this.

      • Metrics are a separate product, not currently enabled for our account

      • During Django office hours, enabling analytics (google analytics / plausible) was discussed. Might be easier if the Fastly route turns out to be too hard.

      • Someone said they (Thibaud?) were going to check with Fastly and see if metrics can be enabled

    • Alex: Check with Stephanie regarding Django fundraising UI/UX

      • Currently, the only concrete thing the website working group can do is related to moving the diamond and platinum sponsors, see message from Catherine in #fundraising-and-website-wg in Slack
    • Saptak: Talk with Thibaud about the design of banner for Django birthday

      • Thibaud said nothing as such was planned, hence no action was needed.
    • Sarah: create a vote about removal of Eric

      • Done that on Slack, all in favor
    • Sarah: Define what actually means inactive

      • Haven’t done this yet
    • Saptak, Alex & Ulgen: review the docker setup for the website

      • Currently on Alex’s backlog of pull requests to review

      • Sanyam happy to help review

    • Saptak: Look into improving the contribution guidelines

      • Haven’t done this yet, added a new action item for next time
  • Fundraising Slack threads with Catherine Holmes (Adam)

    • Adam opened a PR for the social media links in the footer, PR #2152 is currently in a reviewable state

    • Should we open issues for the things she asked for and assign them?

    • Saptak: I would prefer we create issues

    • Can Catherine create the issues herself or does she not have GitHub access? Sarah will check

  • Issue clean up meetings? (Adam)

    • Could be productive if a small group of working group members could meet and discuss some of the old issues and find the way forward (close / clear doubts / give direction)

    • Anyone interested in helping out with this?

    • It is hard to make a dent if there are a lot of open issues, some are quite old and still valid. We can’t just close everything that is old.

    • Historical context: there used to be a stale issue closing bot, but it was removed as it was considered too aggressive

    • Maybe better if we go through the oldest issues and decided what to do with them every couple of months

  • Added flatpages-extra #2144 - Improvements to flatpages. (Baptiste)

    • Most of the code is in a separate package :wink:

    • Changing flatpages as a content editor is hard, this attempts to make the process smoother

    • Originally wanted to develop the improvements just for djangoproject.com, but might as well be a package

    • Haven’t received feedback from Catherine on this yet

    • Other related issue: history/changelog for a page isn’t great. Baptiste’s package improves this by allowing you to write a ‘git commit’-like message for your change.

    • Do we need to review the package code?

    • Currently in a GitHub repository, not as a PR. Not sure how easy it would be to review a repository

    • Can we preview changes like this one?

    • That’s the next agenda item, currently there is no way to do this.

  • Preview branch proposal (baptiste)

    • Essentially, there is a branch called ‘preview’ on the repository

    • The tooling would be changed to deploy the preview branch

    • Will this be automated? No, the current deployment script requires docker images that are only created for tags

    • Can we automate this?

    • The proposal tries to minimize changes to the deployment script, making it easier to implement, improve it later

    • For clarity: how would this work? If we merge the improvements to flatpages PR for example?

      • Merge to preview branch

      • Deploy preview branch, manual command that needs to be run

    • Who is going to be doing the deployments?

      • Ping Baptiste, or the operations team
    • Not ideal, very manual process, but this is the easiest way to begin making changes and utilize the preview server

  • Deployment process on staging

    • Same as above, staging/preview are the same thing
  • Any other questions / discussions?

    • Do we have the deployment process documented?

      • Baptiste: currently not documented, though the deployment script (ansible playbook) is in a private GitHub repository. Hard to give out access as it contains many secrets. It also exposes the way infrastructure isset up which the operations team would like to keep private.

      • Baptiste happy to jot down how the deployment process works from a high level

      • We should document that someone from ops needs to be pinged to deploy changes

      • Ülgen tried to improve/refactor the dockerfile, makes it hard to make changes if it is unknown how the docker image is used by the infrastructure

    • What do we think about the Djangonaut Space program? – Ülgen

      • Tim Schilling asked if we wanted contributions (to the djangoproject.com website)

      • We’d need a clearer backlog of issues and documentation around making contributions

      • Is this something we want to get involved with?

      • We could identify ‘easy / low hanging fruit’ issues and reserve them from the program. One of us (mentors) would check with the mentee what they are interested in and what they need to work on it.

    • Adam started a Javascript refactor for the site, together with Baptiste

      • Going well, but I need reviews.

      • There is a PR open Moved and simplified fundraising-heart.js #2143, small one to review

      • Striving to remove jquery usage next month

      • In short: more PRs coming soon

      • Some of them need to be deployed and checked on the staging site to make sure nothing breaks

4 Sept 2025

Attendees: Jason, Storm, Sarah, Alex, Baptiste, Adam, Tobias

Apologies: Saptak, Ülgen, Mark

Agenda

  • Review Action Items
  • Fundraising WG support request
  • Review PR Next Step

Action items

  • Everyone: review the security document PR
  • Everyone: Review and comment Website Triage (draft)
  • Sarah: check access for the website with the ops team
  • Baptiste: see about access to matrix with Fastly (for website stats) and can we ask for more access
  • Sarah: Define what actually means inactive
  • Saptak, Alex, Sanyam & Ulgen: review the docker setup for the website
  • Saptak: Look into improving the contribution guidelines
  • Sarah: review PRs to merge
  • Sarah: contact Fundraising WG for the Baptiste’s improvements for flatpages when it’s deployed
  • Tobias: update translations and instructions (#2174)

Review action items

  • Storm: Update the security.txt PR (done)
  • Everyone: review the security document PR
  • Everyone: Review and comment Website Triage (draft)
  • Sarah: check access for the website with the ops team
  • Baptiste: see about access to matrix with Fastly (for website stats) and can we ask for more access
  • Sarah: Define what actually means inactive
  • Saptak, Alex, Sanyam & Ulgen: review the docker setup for the website
  • Saptak: Look into improving the contribution guidelines

Questions

  • (add questions here)

Notes

  • ÂĄHappy birthday Alex! :confetti_ball:

  • Review action items

    • Storm: Update the security.txt PR (done)
    • Everyone: Review and comment Website Triage (draft)
      • Let’s review this next meeting together. We expect everyone to have read it by next meeting
    • Sarah: check access for the website with the ops team
      • Not fully done
      • Only Saptak and Sarah have access to Google Search Console
      • We can only provide access to individual accounts
      • If you have a need for access to the Search Console, please ask!
      • For the admin site, only Saptak and Sarah have access. Same applies, if you need access please ask
    • Baptiste: see about access to matrix with Fastly (for website stats) and can we ask for more access
      • Haven’t contacted Fastly yet
    • Sarah: Define what actually means inactive
      • Started a draft, but not finished yet
      • Intend to finish and share at the end of meet
      • Question: has Eric been removed? A: yes, but only charter needs to be updated
    • Saptak, Alex, Sanyam & Ulgen: review the docker setup for the website
      • Ulgen mentioned this on Slack, anyone aware of current status?
      • Waiting for push of working setup
      • There is also a PR for debian docker image update
      • Baptiste pushed above PR to preview server, but there are some issues with setting up Tract
        • Fun story: accidentally ran import query on production instead of preview server. All is good now
      • There are some quirks to figure out when updating the Ubuntu server that runs the production website
    • Saptak: Look into improving the contribution guidelines
      • Saptak is not here, skipping
  • Fundraising working group – Sarah

    • Pushing for page in editable HTML, because editing through the admin is hard
    • Baptiste has a PR in the works to make the flatpages easier to edit
    • Sarah will check with fundraising team to see if Baptiste’s PR works for them
    • Requires the PR to be deployed to preview server, seems doable to do this by the end of the week
    • If the updated flatpages doesn’t work out, we can swap this for editable HTML
  • Any other business?