djangoproject.com icon indicating copy to clipboard operation
djangoproject.com copied to clipboard

Site-wide search

Open thibaudcolas opened this issue 10 months ago • 3 comments

Part of recommendations from user research report in #1496

Currently search is only available for documentation. Integrate this site-wide / for all site content.

Recommendations

Relevant parts of the report:

Improving internal search tools could further simplify the user experience, enabling users to quickly find what they need without having to resort to external search engines.

Working on this

I’d recommend starting with a feasibility analysis – list the steps needed for this to happen, report back in a comment here. Share any assumptions for others to validate.

thibaudcolas avatar Mar 26 '24 07:03 thibaudcolas

I'd personally appreciate this - I just looked on djangoproject.com and was trying to look around for some materials related to volunteering for the Foundation, and was having a hard time. Sitewide search would be really helpful.

brainwane avatar Jun 13 '24 14:06 brainwane

Discussed at today’s WG meeting:

  • We want to proceed with a combined docs + "other content sources" search

  • BE implementation is reasonably close to accommodating this already

  • [ ] Needed sources: static Django templates; flatpages; meeting notes; blog posts; etc

  • [ ] UX task: #1229 @thibaudcolas

  • [ ] @jacklinke review available content sources and steps to surface them in search results

thibaudcolas avatar Sep 26 '24 16:09 thibaudcolas

Here is the list of views with associated templates and/or models (with the potentially-useful model fields) to consider for indexing.

The listed templates are those containing significant text content, or which serve as endpoints with content loaded from models - I did not include base templates and snippets.

I am sure we can whittle this list down, but I hope it works as a starting point.

aggregator/

  • LocalDjangoCommunitiesListView: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/aggregator/local-django-community.html
    • LocalDjangoCommunity: models.py
      • name
      • description
      • slug
      • city
      • country
      • continent
      • website_url
      • event_site_url

blog/

  • BlogArchiveIndexView, BlogYearArchiveView, BlogMonthArchiveView, BlogDayArchiveView, BlogDateDetailView: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/blog/entry_archive.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/blog/entry_archive_day.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/blog/entry_archive_month.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/blog/entry_archive_year.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/blog/entry_detail.html
    • Entry: models.py
      • headline
      • slug
      • summary
      • summary_html
      • body
      • body_html
      • author
    • Event: models.py
      • headline
      • location

djangoproject/urls/www.py

  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/diversity/index.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/diversity/changes.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/changes.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/enforcement.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/faq.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/index.html
  • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/conduct/reporting.html

foundation/

  • MeetingArchiveIndex, MeetingArchiveYear, MeetingArchiveMonth, MeetingDetail: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/meeting_archive.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/meeting_archive_day.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/meeting_archive_month.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/meeting_archive_year.html
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/meeting_detail.html
    • Meeting: models.py
      • title
      • slug
      • leader
      • board_attendees
      • non_board_attendees
      • treasurer_report
      • treasurer_report_html
  • CoreDevelopers: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/foundation/coreawardcohort_list.html
    • CoreAwardCohort: models.py
      • name
      • description

fundraising/

  • index: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/fundraising/index.html
    • Testimonial: models.py
      • author
      • body
  • manage_donations: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/fundraising/manage-donations.html

members/

  • IndividualMemberListView: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/members/individualmember_list.html
    • IndividualMember: models.py
      • name
      • slug
      • description
  • corporate_member_list_view: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/members/corporatemember_list.html
    • CorporateMember: models.py
      • display_name
      • description
      • contact_name
  • TeamsListView: views.py
    • https://github.com/django/djangoproject.com/blob/main/djangoproject/templates/members/team_list.html
    • Team: models.py
      • name
      • slug
      • description

jacklinke avatar Sep 26 '24 19:09 jacklinke