We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

All about djangoproject.com

00:00

Formal Metadata

Title
All about djangoproject.com
Title of Series
Number of Parts
141
Author
Contributors
License
CC Attribution - NonCommercial - ShareAlike 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
The [djangoproject] 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.
114
131
CAN busWebsiteProjective planeHome pageComputer animationLecture/Conference
CodeMobile appFocus (optics)Software developerSource codeSoftware frameworkLattice (order)WebsiteBitRevision controlAsynchronous Transfer ModeComputer animationLecture/Conference
Multiplication signWebsiteProjective planeGroup actionSoftware industryPlatonic solidComputer animation
Projective planeSheaf (mathematics)WebsiteWeb pageWeb 2.0Software frameworkMultiplication signPlanningComputer animation
CodeInclusion mapRevision controlRCSRepository (publishing)MereologyInformationStability theoryGastropod shellSource codeComputer configurationInstallation artVertex (graph theory)SoftwareFAQState transition systemReading (process)Series (mathematics)File archiverWebsiteMultiplication signInformationRevision controlSoftware developerProjective planeWeb pageInstallation artMereologySoftware maintenancePlanningSheaf (mathematics)Graph (mathematics)Different (Kate Ryan album)Analytic setFrequencyVideo gameWeb 2.0
Group actionSoftware frameworkMultiplication signSoftware developerProcess (computing)
Module (mathematics)Price indexContent (media)MereologyInformationWritingInterface (computing)View (database)Process (computing)Form (programming)DatabaseComputerEndliche ModelltheorieBlogExplosionWebsiteFAQRevision controlOnline helpTable (information)SoftwareFormal languageComputer programmingDependent and independent variablesPatch (Unix)Mobile appSoftware testingTemplate (C++)Fluid staticsGeneric programmingProbability density functionReading (process)Latent heatCore dumpFunctional (mathematics)Multiplication signWeb pageRevision controlSingle-precision floating-point formatConnected spaceProbability density functionContent (media)MereologyComputerFile formatDifferent (Kate Ryan album)Data structureFile archiverComputer fileStructural loadComputer animation
Reading (process)Revision controlPersonal computerFile formatInformationComputer animation
WordWeb 2.0Projective planeFunctional (mathematics)Revision controlWebsiteComputer animation
Search engine (computing)Multiplication signWebsiteProjective planeDigital photographyFunctional (mathematics)
Revision controlResultantImplementationWordRevision controlResultantoutputComputer animation
Revision controlContent (media)SoftwareOnline helpCodeComputer programmingInstallation artPatch (Unix)Mobile appMereologyTemplate (C++)View (database)Generic programmingSoftware testingWebsiteComputer fileFluid staticsFormal languageMoment (mathematics)Electronic mailing listMenu (computing)Search engine (computing)CuboidTranslation (relic)Content (media)Right angleComputer animation
Revision controlOnline helpFormal languageOnline helpElectronic mailing listRevision controlMenu (computing)Computer animation
String (computer science)Source codeInternationalization and localizationRevision controlOpen sourceProjective planePhysical systemProcess (computing)TrailGroup actionTranslation (relic)Sheaf (mathematics)Sound effectMetric systemBacktrackingDigital rights managementSoftware bugInstance (computer science)Computer animation
Interface (computing)WebsiteSoftware developerDigital photographyCore dumpMeeting/Interview
Open setCryptographyCodeLoginFunction (mathematics)Extension (kinesiology)WikiClosed setRandom numberEuclidean vectorRevision controlSoftware bugPatch (Unix)Software testingSoftware frameworkEmailPhysical systemFAQSoftwareOnline helpCodecCone penetration testInternet forumElectronic mailing listThermal expansionBlogLink (knot theory)Event horizonInformationView (database)Data modelExecution unitLoop (music)Personal digital assistantWaveSource codeTerm (mathematics)Chief information officerLink (knot theory)EmailWeb pageMetric systemSheaf (mathematics)Software developerInformationWhiteboardSoftwareDifferent (Kate Ryan album)Web 2.0WebsiteProjective planeEvent horizonElectronic mailing listStress (mechanics)Software frameworkBlogFilter <Stochastik>Parameter (computer programming)Multiplication signInternet forumServer (computing)NumberAreaBitData structureArithmetic progressionComputer animationXML
Storage area networkView (database)Point (geometry)WebsiteDesign of experimentsComputer animationMeeting/Interview
SoftwareWebsiteQR codeWebsiteInformationTraffic reportingMathematical analysisProjective planeMoment (mathematics)Computer programmingExpert systemDigital photographyDataflowMereologyGroup actionFeedbackArchaeological field surveySystem callSheaf (mathematics)ResultantComputer animation
Projective planePoint (geometry)WebsiteDigital photographyRepository (publishing)Meeting/Interview
Information securityCodeGroup actionWeb pageAsynchronous Transfer ModeClosed setOpen setQuicksortIndependence (probability theory)Content (media)Common Language InfrastructureMereologyWebsiteOnline helpProjective planePresentation of a groupLink (knot theory)Shared memoryComputer animation
Context awarenessShared memoryInformationWebsiteQR codePresentation of a groupCodeComputer animation
Lattice (order)Sheaf (mathematics)Multiplication signWhiteboardRepository (publishing)Universe (mathematics)Roundness (object)Revision controlLocal ringCodeGroup actionInformation securityPoint (geometry)WebsiteLocal GroupBlogElectronic program guideBitSimilarity (geometry)Self-organizationContent (media)Traffic reportingMereologyEmailInformationArchaeological field surveyComputerSoftwareEvent horizonDigital rights managementLecture/ConferenceMeeting/Interview
Transcript: English(auto-generated)
So hello, everyone, and thanks for having me. I'm very happy to be here with you in Prague. And I'll try to tell you all about the Django project website. But to be more precise, I want to tell you all I know
about the Django project website. This is the homepage of the Django project website. You might think that it's the same as in the past years, but I can assure you that a lot of people are working and maintaining and adding new features to this website. Like the dark mode version, added a few months ago,
together with other accessibility improvements. I'm helping myself maintaining the website, adding new features. So I want to tell you all I know about this website. But first, I want to introduce myself a bit. I'm Paolo Macchiore. I'm the CTO of 20TAB, a platonic software company based in Italy.
I'm a contributor to Django project, the SF member. And I also organize some Django workshop. And I'm helping Paico in Italian and organizing lately the Python group in Pescara, my own time in Italy.
Now, I want to tell my personal knowledge journey with the Django project website. The first section of the Django project website that I have visited is the download section. In this picture, I'm in my first conference ever.
It was the Plon conference in 2007. At that time, I was using Zoop, another web framework based in Python. But during the conference, someone talked to me about Django. The first thing I did was going to the download page of the website.
This was the aspect at the time. It already contained all the information to download Django 0.96 as a compressed archive or development version using subversion. And this is the same download page as you can see today.
It has a new theme. It also contains more information about different Django version and all the methods to download and install as a Python package. In the same page, you can also find this interesting graph with the present and future Django version.
I found it very useful to plan project maintenance based on the period and the date of release for new version and also the end of life for other version. Personally, after downloading hits, I haven't used Django right
after that. But when I decided to give a try, I went in another section of the web page, the documentation part. In this other picture, I'm in a group of Zoop developer at EuroPython 2011. It was organized in Florence. In that conference, I attended for the first time two talks
about Django and were presented by Simon Willison, one of the main creators of Django, and Tom Christie, the creator of Django REST Framework. And they inspired me to study more Django. So to do that, I went in the documentation. And this is the documentation at the time.
It was very basic and there is no search function or other feature. But it already contain the tutorial that helped me a lot as newcomers to do the first steps in Django. This is the same documentation today. It has the same clear structure,
but it has more and more contents. Other than show you the content over page like this one, there's a new interesting feature that I found useful and I want to show you right now. And the first is the offline documentation, the load function.
Thanks to RedoDocs, you can download version of the documentation in different formats and you can find them more useful for you. This is the HTML version that you can download as a single compressed archive. I personally have every time I copy locally on my computer and I use when I don't have any connection on my computer.
The theme is a little different, but the content are the same that you can find online. This is the PDF version of the documentation and I found very convenient to share because it's only one file. You can distribute with other people and it's also very easy
to take notes on it or highlight some part if you want. And finally, the format that I found more useful is the EPUB version. You can see here in my book reader and I found very, very useful traveling around or where I can't or don't want
to open my personal computer so I can read information in it. Another documentation feature very important for me is the full text search. Today is, it has a lot of feature. It's multilingual. It's based on Postgres and it does highlighting
and support web search syntax. After using the old version or the search function of the Django project website, I tried myself to improve it. This is another photo from the Django sprint that organized at Europython 2017 in Rimi.
I proposed to work on Django project website trying to use this full text search based on Postgres because at that time was using an external search engine. And after that sprint, I worked in the pull request and in few months we replaced totally the external search engine
and we start using only Django to provide this functionality. Here you can see an example, the full text search feature I've integrated since the first implementation. As you can see, it's on French version, the documentation.
Also the input text is in French and there are many feature you can use like exact phrase search, word removal. The results are in French too and there is the first implementation of highlighting the word you search for. And other than French, currently Django documentation
for the search engine can potentially support 28 different language 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 selector menu that you can see expanded from the right. It is all over the content, but it closes immediately when you select another language. And this is the same menu in the mobile version. You can see more clearly all the language you can select.
The list is long enough, but we can be even longer counting on how big our community is. So we need help from everyone. Also you, maybe. To translate the Django documentation in more languages and to help newcomers to start reading and studying documentation in other languages than this one.
So please join the Django translation project. It is on France effects. It helps other people and you can see here the dashboard with some metrics on it. More and more people are joining in the last version.
So it's easy to contribute. And also, personally, after using Django for so long only in English, I decided to join the Italian translation group and started helping them to have a version, a public version of this documentation.
As you can see, the process can be also fun to contribute and it's very, very interesting. I learned a lot trying to translate things. I ever read only in English. The back tracker was the next Django project with a section I started using after the documentation.
And you can find it in this subdomain in which is hosted in instance of track, which is an open source project management and backtracking system still written in Python.
This photo, I'm at the end of the sprint at DjangoCon Europe in 2017 with two Django Core developers, Mark and Marcus, who helped me in my work in my first ever Django issue. And other than reviewing my pull request, they also helped me starting using the issue tracker, which is a bit different from other interface in the Django website.
And this is my very first issue I created in the Django back tracker. You can read this traction on how to use the web tracker and the correct workflow, but I suggest you to start reading other issue from other people and then try
to open yourself an issue for the first time and as I did six years ago. The Django issue tracker contain a lot of issues and searching on it can be intimidating. But you can use these other resource in the website,
the dashboard subdomain, and it try to help you to navigate all the issue and read all the metrics. This is a screenshot of the development dashboard. I took some days ago, but the number today can be different. As you can see, it show easy to read metrics and also has a link
to preset filters for the issue tracker. It contain more metrics if you scroll down with the page. If you want to contribute to the Django project, I would suggest you to bookmark this page, because it's easy to check every day what is going on
and you can concentrate in maybe you want to read the easy to newcomer issue or pull request to review. So it's very, very convenient to access all these resources without searching by yourself in the issue tracker. There are other section on the website
that I only discovered after this one. And the first is the community section. I used this section to find all the Django community resources as different mailing lists and more essentially also in the forum and the discourse server.
In this same page, you also can scroll down and find the Django RSS feed section. It has been very useful to me to be updated on the Django community and also to find the new articles and new blog related to the argument to Django. And as you can see, you can expand one of this section
and you can see the latest item in every section. And more important, you can also add the feed or your blog to be added in this list. And I did the same some years ago. Other than community blog, I also started reading the official blog
in the Django project website. It contains all the events and also news published since the first Django release. Personally, I found very funny and interesting reading the very first post from the first area of Django as you can see in this screenshot
because it's a way for me to understand our Django community born and growing up and also to find story interesting from people that started this community and this framework. In this same page, you can also find aside the upcoming events
in the Django community like for example the DjangoCon in Europe, US, and Australia. And this year, we also have the DjangoCon Africa for the first time. One of the last section I ever read as a user was the one about Django software foundation because it also was one
of the most difficult to find. It contains a lot of very interesting information about Django and its foundation. And I found this page late in my career as a Django user but then when I found it, I learned more about the foundation, its goal and I found also the list
of people involved, the member, the board. And unfortunately, it's not well organized and a bit difficult to navigate. The last section I want to show you, it's very important for the foundation and it's the fundraising section
where you can donate some money to the foundation and they can then distribute to different conference or Django's workshop and other initiative. In this section, you can find the list of all the sponsor that donated. And you can also donate if you want.
You can also do a one-time donation or recording one and also the user experience in this page is not the best one. You can also try to donate in the GitHub section. But we are trying to work on this page
and we are doing something about that. I took this picture during PyCon Italia, 2023 in Florence. These are two of my colleagues, Laura and Virginia, and they gave a talk on the work we are doing
to improve the DjangoProject.com. They are both experienced UX designer and they are helping us analyzing the situation of the Django website from their point of view. During the last DjangoCon US in San Diego, a former Django fellow, Carlton Will, the treasurer
of that moment, asked me as a CTO to help the foundation to improve the user experience of the website. And we were happy to help. So our user expert did the analysis in a few steps. They bruised on the website, looked for things
that can be improved and they did a lot of analyzing on this part. They made a report with results and the most prominent issue were related to accessibility, culture action, not uniform, and navigation flow disrupted
and also inconsistent programs. So after analyzing it, we decided to open a survey and interview people from the community. So the first step is just the user survey and my colleagues, Virginia and Laura, made the survey
after the analyzing work. I strongly invite you to scan these QR codes and briefly answer the survey question. It will only take very few minutes, I think two or three minutes. You will only find question on your experience in this website
and also with all the section I talked to you about, the donation one, and your feedback will be very useful to the Django community and this foundation to improve how we can let people have a better user experience and help them to find the information they want. So please answer and contribute to this project.
And the last photo is from Django Home Europe 2022 in Porto. I'm here with Joel and Sara, two very active contributors in the Django project repository.
And the GitHub repository was the main point to contribute to the Django project website and I started doing it some years ago. So I invite you all to go there and start reading some issue you can be interested in. You can also try to take in charge some of this issue.
A lot of them are very, very small and also you can propose a request to fix some of this issue because any help from the community is very, very appreciated. I hope I have been able to tell you all I know about the Django project website and if you want,
you can download this presentation because it's released with a Creative Commons license and I'll share you the link in a minute. So as a 20 tab, we'll share information about our contribution mission with the Django website and you can find out more about our company using these contacts.
And to find out more about my personal work in Django and also to download this presentation, you can scan these square codes or you can contact me in these contacts. So thanks.
I only have to ask a favor. I have a tradition to take a picture with my audience if you don't mind. There are people who don't want to show.
Thank you, Paolo. Now we will have our five and maybe even a little bit more question and answer section. Please stand up. Can you hear, ask your questions? While you are thinking about your questions, maybe I can ask Paolo.
I'm tech community manager. I'm not writing code by day right now. Is there any way I can help? Yes, for example, answering the survey, it will also very useful to understand how people can enter the website, maybe searching not technical stuff
like about the foundation, the events, how money are spent from the foundation, some initiative like Django Girls or similar and you can also help opening issue, for example, if you find something that is not working properly
in your computer, in the website in particular, or maybe you can find some accessibility issue that are very, very important for us. We are trying to improve in these aspects to let also everyone to read the content and to also, you can read, for example,
to the meeting report from the board because everything is open also then. How we spend money and there are election about it. You can find story and blog post news. So there are a lot of not technical stuff that you can find or you can try to improve.
Thank you, happy to help. Anyone else? Hi, what do you suggest if a local groups or perhaps also university want to host a Django workshop?
Do you think it's better to just ask through the website or you have direct contact with the community and also if there is perhaps some examples of workshops based on how much time would last? Could be a great point for university
to take on board your workshop. You can go in the Django Software Foundation section. There are contents you can ask directly to be supported in your initiative that promote Django or that are trying to promote Django with not more represented people.
It's very common to organize Django girls workshop because it's ready to use. You can download the guide. Everything is prepared. There is every step for people but if you are organizing a local meetup, for example, I joined the Django Day in Copenhagen last year
and they did something very similar. The foundation are open to every initiative. So let's try to ask. Great, thank you, thank you. Hey, thanks for this talk. Just curious how many people are actively working
on the content of documentation of Django. I imagine it's a lot of work with all the security fix for example, need to be synchronized with older version of the documentation. Yeah, usually the documentation is something you have to add when you modify something.
So contributing to the Django repository itself, you have to add new section in the release notes or you have to fix at the same times information about it. And sometimes we received also poor request to improve some section that are not clear
or that are based on information that now is not valid anymore because things change. And there is also a specific group that work on the security issue because you can contact them directly
before something very dangerous can happen in some version and there is a specific email you can contact if you find something like that. And they work, it's a small team elected, and they work together to fix it as soon as possible and release news about it only when the comment
that fixed this part of the documentation part is already released. Right, thank you. Thank you. If there is no more questions, let's give a round of applause to Paolo. Thank you.

Recommendations