All about djangoproject.com with Paolo Melchiorre

This video features Paolo Melchiorre at DjangoCon US 2023 in Durham, North Carolina, USA.

All about djangoproject.com with Paolo Melchiorre
0:26:10
Published November 22, 2023
275 views

The djangoproject.com website is the showcase of the Django project and is the result of contributions from many people. In this talk, we'll update you on its development and learn how to contribute to it.

This talk was presented at: https://2023.djangocon.us/talks/all-about-djangoproject-com/

LINKS:
Follow Paolo Melchiorre 👇
On GitHub: https://github.com/pauloxnet
On Twitter: https://twitter.com/pauloxnet
Website: https://www.paulox.net

Follow DjangCon US 👇
https://fosstodon.org/@djangocon
https://twitter.com/djangocon

Follow DEFNA 👇
https://www.defna.org/

Video production by the presenter and DjangoCon US 2023 volunteers.

Summary

Paolo Melchiorre describes the Django project website through his own experience, covering its download pages, documentation, offline formats, multilingual full-text search, translation project, issue tracker, community resources, blog, events, DSF information, and fundraising. He explains how he contributed PostgreSQL-based documentation search and urges others to contribute through translations, issue reviews, code, and community participation. He also outlines ongoing UX research by 20Tab for the Django Software Foundation, including analysis, surveys, interviews, and possible future working groups, arguing that the site’s main need is clearer organization and better discoverability rather than separating Django and the DSF.

Key takeaways

  • The Django website provides downloads, release timelines, documentation, community links, news, events, DSF information, and fundraising resources.
  • Django’s documentation can be downloaded in HTML, PDF, and EPUB formats, and its PostgreSQL-based search can support many languages and search syntaxes.
  • More documentation translations are needed because they lower barriers for people who do not speak English; contributors can help through Transifex.
  • The issue tracker and development dashboard help newcomers find blocking issues, new features, and review opportunities.
  • UX research is being conducted through site analysis, user surveys, and interviews to improve accessibility, information architecture, and navigation.
  • New contributors should begin by reading the Django news and getting involved in the community before moving into technical contributions.

Summarised automatically from the transcript.

Transcript

3,698 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:22

Speaker 1: Thank you. So hello everyone and thanks for having me. I'm very happy to be here with you in Durham for the first time in North Carolina. I'll try to tell you about the Django project website. And to be more precise, I want to tell you all I know about the Django project website This is the home page of the Django Project website. You may think that it's the same as in the past year, but I can assure you that a lot of people are helping to maintain and adding new features to it like the dark mode version added a few months ago together with other accessibility improvements and I'm helping to maintain

1:07

Speaker 1: and adding new features to the projects to the website. So I want to tell you all I know about this website, but first I'll present a bit myself I'm Paulo Macchiore and I'm the CTO of 20Tub. I'm a contributor of the Django project and ESF member I'm a Django Girls coach and organizer. I'm one of the co-organizers of PyCon Italia, which took place in Florence. I'm also organizer at a local meetup in Pescara, my hometown, about Python, of course. And now I'll tell you about my personal knowledge journey of the Django project website. So the first section of the Django Project website that I ever

1:55

Speaker 1: visited was the download section Uh in this picture I'm um my first conference ever. It was the Plon conference in two thousand seven. At the time I was using Zoop, another web framework based on Python, but during the conference, someone talked to me about Django, and so I went to the website to try to download it for the first time And this is was the aspect of the website at that time. It already contained all the information to download Django 096. uh as a compressed archive or uh the development version using subversion. And this is the same Download pages as you can see today.

2:40

Speaker 1: It has a new theme, also contain more information about different versions and methods to download and install Django as a Python package. On the same page you can also find a very interesting section. This is the graph with the present and future Django version. I found it very useful to plan the project maintenance based on the date of release for new release and end of live release. I haven't used Django right after I downloaded it for the first time. But uh when I decided to give it a try, I went into the documentation to start studying better.

3:26

Speaker 1: This are the picture I'm in the group of job job developers at Europe 2011 in Florence. And at the conference, I attended for the first time two talks based on Django. And those talk was presented by Tom Christie and Simon Willison. And they inspired me to start study Django for sure. And I started for from the documentation page. This is the Django documentation at the time. It was very basic and did not have a search function or other things, but it already contained the tutorial that helped me a lot. uh in my first step with Django. And this is the same documentation today.

4:12

Speaker 1: It has the same clear structure, but yeah it has more content. Other than showing you the content of hold the page like this one, it has a new interesting feature that I found useful and I want to show with you now. The first one is the offline documentation download function. Thanks to Read the Docs, you can download a version of the documentation in the format that are most useful for your needs. This is the HTML version of the documentation that you can download as a single compressed file. I have a copy of this locally to use when I don't have any connection on my computer. This instead is the P

4:58

Speaker 1: PDF version of the documentation. In this case is as it appears in my document document reader on Linux. I found it very useful to share because it's only one file and it's also easy to take notes on it and put highlights and some other things you want. And finally, the format that I found more useful for me is the EPUB 1. You can see how it appears in my ebook reader, and I have to admit that I use a lot during my journey when I don't have Or I can choose my personal computer traveling around. Another documentation feature important for me is the full-text search.

5:44

Speaker 1: Today it's uh multilingual is based on Postgres and it's uh added more uh more and more features during during the year. But after using an old version of of it, I tried to improve it personally. This is a photo of the Django sprints that I organized after the EuroPython 2017 in Rimini. I propose to work on the Django project website trying to use the full text search based on Postgres to replace an older one with an external search engine. And in the following months after that first sprint, I created an official pull request with a complete working version of Postgres-based full

6:29

Speaker 1: text search. And that was merged in a few weeks. And here you can see an example or all the full text searcher feature I've integrated since the first implementation. Here we have a French version of the Django documentation. Also the input text is in French and it uses some web search syntaxes. like exact phrase search and word removal. And we can also see the first implementation of the word highlights in the results. This is how you can see from your mobile phone. But other than French, currently the Django documentation full text search engine can potentially support 28 different languages.

7:17

Speaker 1: out of the box thanks to Postgres. This is the complete list. However, only seven of them have a public translation of the documentation at the moment. To find the other translation of the documentation, you can use the language menu and you can see it expand from the right. It's over the content in this screenshot, but it close after you select the language you want. And this is the same menu in the mobile version of the documentation. You can see more clearly all the language you can select. The list is long enough But it can be even longer counting on how big our community is. We need the help of all of you to translate the Django documentation in many other languages.

8:06

Speaker 1: So please join the Django Translation Project on Transiffects to help translate the documentation in your language You can see the dashboard with some metrics on TransFX that usually increase after the release of a new Django version. After using the Django documentation for a long time in English, I joined the Italian Django translation group to help them translate the documentation. And we finally reached the requirement amount of translated words to be added in the website. As you can see in the screenshot, the process other than very interesting can also be funny. And so I invite you again, please help us to translate the documentation in other languages because it lowers

8:52

Speaker 1: a lot the barriers for newcomers that don't speak English in a lot of countries. The backtracker was the next Django project website section I started using after the documentation. You can find it in this subdomain, you can read here, and which is hosted by an instance of TRAC , an open source project management system over Python. In this photo, I'm at the end of the Sprints DjangoCon Europe 2017 in Florence with two Django Core developers, Mark Tamnil and Markus Alterman. And they helped me a lot in my first. A very first Django issue. I opened it in that time and my reviewing my pull request

9:40

Speaker 1: and they also helped me to use for the first time the issue tracker. And this is the very first issue that I created in the Django uh bug tracker at the time. You can read the instruction on how better use the tracker on how open an issue, but I suggest to you to Try to open your issue for the first time and to learn how to use it as I did seven years ago for the first time. The Django issue tracker contains a lot of issues and searching on it can be intimidating because there is a lot of uh work done there. But you can use the dashboard subdomain to try to navigate all the issue and read metrics about the

10:27

Speaker 1: development status. This is a screenshot of development dashboard. I took that some days ago, but the number today can be different. As you can see, it's easy to read metrics and links to process filters To get started with Django contribution, you can select to work on blocking feature or new feature, or you can choose to review other issue from other person. If you want to contribute to the Django project, I will suggest you to bookmark this webpage because it's easy to read day-by-day information on the Django development status. There are other sections on the website that I only discovered after this previous one.

11:15

Speaker 1: The first is the community section. I use this section to find all the Django community resources, such as the different mailing lists, and more recently also the forum and the chat server. On this same page you can also find the Django or RSS feeds section. It has been very useful to me to be updated on Django community. and also to find so many new article and blog posts related to Django. And as you can see you can expand one section to see the latest items in every section and you can also add your blog feed. I had my the blog feed uh the feed of my blog years ago and you can uh do the same with yours

12:06

Speaker 1: if you have now But other than the community blog, I also started reading the official blog uh on the Jaggon Project website. It contains all the events and the new uh news published since the first Django release. In fact, I found it very interesting reading very old posts. From the first area of Django. It helped me to understand how Django community was born and grew up. And on this same page you can find the upcoming events on the Django community, like for example, this very Django Con US. or the upcoming DjangoCon Africa. One of the last sections I ever read

12:53

Speaker 1: on the website as a user was the one about the Django Software Foundation. It contains a lot of very interesting information about the Django and its foundation. I found this page late in my career as a Django user and contributor and I learned more about the foundation its goal and found the list of DSF members and read about the DSF board. But unfortunately this section is not so well organized and it's not easy to navigate it. The last section I want to show you is very important for the Django Software Foundation and it's the fundraising section where you can donate some money. In this section, you can find the list of the sponsor, the explanation on how

13:38

Speaker 1: the money will be used, and of course a form to make one-time or recurring donation to the Jungle Software Foundation. The user experience in this section can be better, as others in website, to help people to find more easily the information they need to let the foundation communicate more effectively with the community. But luckily we are doing something about this section. I took this picture during the PyConitalia 2023 in Florence where two of my colleagues, Laura and Virginia, gave a talk about the work done by TrentyTab, the company I work for. on the Django project website. They are both experienced

14:24

Speaker 1: user experience designer and they are helping to us to analyze the current situation of the Django website from the point of view of the user experience. During the last DjangoCon US in San Diego, uh Carten and Will, that is here, asked me as a CTO of 20Tab to help the DSF to improve the experience on the website And we were happy to help and slowly started to work on that on that field. So our user user experience expert analyzed in a few steps the um they brought on the website, looked for improvement. and they did this type of research separately separately and they then compared the score and the

15:10

Speaker 1: alights that could be improved. After that they made a report with the results and analysis with a relevant issue that were related to accessibility, information architecture and user experience. and there was some very interesting find that we did. But after that We decided to do a second phase that consists of collecting feedback from a user because the best way to improve the user experience is to ask them. And so we plan to do hits with a survey, interviews, and collaborating with the community. The first step is just the user survey.

15:58

Speaker 1: Virginia and Laura made the survey after the analysis work to find out more about some point. So I strongly invite you to scan this QR code and briefly answer the survey question. It will only take a few minutes. We already opened it uh in May, in June in the jungle during the Django Con Europe and we collected a lot of answer, but we want also collect answer from users from US or other countries that are here to have a more diverse base of answer and working on it You will find the question on your experience with the website. So no complicated question. And

16:43

Speaker 1: we ask your feedback as Django user. uh about the website and it will be very very useful to us to go next next level The survey still will be still open for a short time, so I invite you to scan it and two ones where it it will be very very short And after that, in agreement with the DSR board, we decided to proceed with a phase of more in-depth interviews with some user who gave their availability in the survey. And you will find in the survey a question asking you if you are available to an in-depth interview. Yeah, and we are choosing different type of person, newcomers, experiment, user, contributor

17:32

Speaker 1: or other type of people to uh go more in deep in some um part of the user experience. So we'll start in the next few weeks and if you want to participate as a um in in uh as a volunteer uh you can fill the question uh the survey and uh participate. In this photo, I'm DjangoCon Europe 2022 in Porto with Chol and Sarah, two very active contributors to the Django project repository. The GitHub repository was the main point to contribute to the Django project website itself and I started doing it some years ago. So I invite you to go on the GitHub repository and read

18:19

Speaker 1: start reading some issue you can be interested in. There are tags that can help you to filter on that issue and you can also try to take charge of some of uh this issue and propose a pull request to fix them. Any new app will be very very appreciated. I hope I've been able to tell you all I know about the Django project website from my experience. If you want, you can download this uh slides because are released with creative common license and I'll show you in a bit the URL. 20Tab as a company will share information about our contribution to the Jungle website And you can find out more about using in this context.

19:06

Speaker 1: And instead, to find more about my work in Django. you can use all these contacts here and I already uploaded the the slides uh on on my website and you can find it with this QR code So thanks for listening and if you have some question here

19:34

Speaker 2: Thank you, Paolo. Um when you got to the DSF page, you had said you sort of discovered that fairly late in your experience with Django and on the website. From your professional experience, is it appropriate that Django and the DSF both exist on the same website and in the same sort of user experience? Or might we be better off in separating them somehow?

19:59

Speaker 1: We will find out more after the survey results, but from my point of view, it's correct that they are in the same website. because uh you can find technical answer to your question in the documentation, you can find fundraising, news, and it's correct also to find uh what foundation uh are promoting this this we this uh software this community uh the only problem now it's very difficult to find and it also if you when you find the uh the jungle software foundation it's all it's hard to find the um uh reports from the meeting and uh uh member lists and similar things

20:45

Speaker 1: so uh it will be more important to um to re organize information and let people know more in advance or before when they started uh navigating in the website that there is someone that are working for them and uh it's uh I think it it can be also a way to let them decide that the um to contribute back because they will know where to go or to which people to ask for help or offer their their service. Thank you. Thank you. Great question. Other questions?

21:26

Speaker 3: Thank you for the talk. So the Django project website has no tracking whatsoever. Is I would assume that's somewhat un unusual. I'm just asking, would it be helpful if For a week or something, there was some analytics so you could see heat maps or get a sense of mobile versus desktop among users, or do you not need that?

21:46

Speaker 1: Sorry, I haven't there is a lot of things. Sorry,

21:48

Speaker 3: the question is, would it be helpful in redesigning the website if there were some analytics based on real usage? Because right now there's none.

21:56

Speaker 1: Okay. For other customer, we're starting using something alternative to Google Analytics. We start using Plausible, I think. It's an analytics that don't collect data for user in particular, but only aggregated data. So also in Europe there is a lot of restriction. about uh the privacy of people and so in the that way we are able to not add the warning on the cookie uh policy because they don't collect any cookie at all So it can be an uh a good way to collect aggregated data on user w without um any uh

22:42

Speaker 1: problem uh from the privacy point of view um but it can also for sure be helpful also to see where people uh found some more information navigate more or where people are stuck or where people can find uh the paths of information so it can be helpful

23:03

Speaker 4: Next questions.

23:06

Speaker 5: Great talk.

23:07

Speaker 4: Thank you. You talked about a couple of different events that happened. where you worked with these teams to identify and start working on solving some of the problems with the website. Do you know of any plans to do these in regular sprints at at regular events? Or are there events or groups planned to just have a concerted focus on this?

23:30

Speaker 1: I show you some picture of uh sprints I decided to propose in other conference to work on that But I think after we've um finished our work in analyzing what 's the status now we can also start a working group. because they are uh they are um uh released uh they announced a few days ago uh to work on what we want to do after that We received a lot of um suggestion uh or requests to add things or feature from a lot of people, but the best way to do it is before stop collect data from people user and when we have we have all this data we can say okay there is a lot of work to do we can organize a sprint and conference we can organize a working group

24:20

Speaker 1: um I don't know a channel in the Discord server in the forum we can do a lot of of these things but we can do in a better way if we know more before starting

24:32

Speaker 5: Thank you for that question. Next questions I got a question for you, Paulo. Say someone has just touched Django, they're interested in contributing. What would be a good place to start?

24:49

Speaker 1: Sorry?

24:50

Speaker 5: So say there's someone new to Django, hasn't been involved in Django project very much, and they wanted to give back. How would you suggest? What would be first steps that you would recommend?

25:00

Speaker 1: Yeah, uh the first step is Go in the news section, the Django project website, start reading. In the last weeks there have been a lot of news. and there are election ongoing, there are uh uh conferences, uh working group and uh I don't know a lot of things going on. Start reading from them and then you find that After being involved in the community, you will start also being involved in the development I think the technical part is important for us , especially in the first part of our approach to a software, but the community part is more important if you want to uh be a better member of the community, improve as a person, as I did.

25:49

Speaker 1: When I started giving back, I learned more and more than when I only used the software. So get involved.

25:58

Speaker 5: Let's thank Paulo. Thank you for being here.

26:00

Speaker 1: Thank you.

Questions this talk answers

How can I download Django documentation for offline use?

The Django documentation can be downloaded as HTML, PDF, or EPUB files. The speaker finds the EPUB format especially useful when traveling without an internet connection.

Discussed at 4:12

How does Django documentation search work?

Django provides multilingual full-text search powered by PostgreSQL, including search syntax such as exact phrases and word exclusion, with highlighted results. PostgreSQL can support many languages, although only some currently have translated documentation.

Discussed at 4:58

Where can I find Django community news and events?

The Django website’s Community section links to mailing lists, the forum, chat, RSS feeds, the official blog, and upcoming community events. You can also add your own blog feed to the community feeds.

Discussed at 11:15

How can I help improve the Django project website?

You can review issues in the website’s GitHub repository, filter them with tags, take ownership of an issue, and submit a pull request. User feedback through surveys and interviews is also being collected to guide improvements.

Discussed at 18:19

Should Django and the Django Software Foundation be on the same website?

The speaker thinks keeping them together is appropriate because the site combines technical documentation, community information, news, and fundraising. The main problem is that the foundation’s information is difficult to find, so the information architecture should be reorganized.

Discussed at 19:59

Would privacy-friendly analytics help redesign the Django website?

Yes. Aggregated, cookie-free analytics such as Plausible could show how users navigate, where they get stuck, and which information they use most, without collecting personally identifying data.

Discussed at 21:56

Will there be regular Django website sprints or a working group?

Possibly, but the team wants to finish gathering and analyzing user feedback first. After that, they may organize conference sprints, a working group, or dedicated discussion spaces in the Discord server or forum.

Discussed at 23:30

How can I start contributing to Django?

A newcomer should begin by reading the news section to learn what is happening in the community, then become involved before moving into development work. For technical contributions, the issue tracker and its dashboard help you find blocking features, new features, or issues to review.

Discussed at 25:00

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Paolo Melchiorre

More videos from DjangoCon US