Giter Club home page Giter Club logo

code.djangoproject.com's Introduction

Configuration for Django's Trac instance (code.djangoproject.com)

Local install

Getting a local Trac install running is a bit tricky. Here are a few tricks that can help:

  • Follow the installation instructions in djangoproject/README.rst (especially the database creation).
  • Use trac-admin ./trac-env/ permission add anonymous TRAC_ADMIN to give all permissions to the anonymous user.
  • Use the command DJANGO_SETTINGS_MODULE=tracdjangoplugin.settings TRAC_ENV=`pwd`/trac-env gunicorn tracdjangoplugin.wsgi:application --bind 0.0.0.0:9000 --workers=1 --reload to serve Trac locally.
  • If you've modified the trackhack.scss file, use sassc scss/trachacks.scss trac-env/htdocs/css/trachacks.css -s compressed to compile it to CSS.

Using Docker

  • Install Docker
  • pip install docker-compose
  • Create a secrets.json file at the root of the repository (next to Dockerfile), containing something like:

    {
      "secret_key": "xyz",
      "db_host": "localhost",
      "db_password": "secret"
    }
  • docker-compose up --build
  • Follow instructions above to create/load the DB, grant permissions, create the config, etc. For example:

    docker-compose up --build
    export DATABASE_URL=postgres://code.djangoproject:secret@db/code.djangoproject
    docker-compose exec -T db psql $DATABASE_URL < ../djangoproject.com/tracdb/trac.sql
    docker-compose exec trac trac-admin /code/trac-env/ permission add anonymous TRAC_ADMIN

Using Podman

It may be possible to use Podman for local development to more closely simulate production. The above Docker instructions should work for Podman as well, however, be aware that podman-compose is not as well battle-tested as docker-compose (e.g., it may require pruning or forcefully stopping a container before it will rebuild properly).

How to port the CSS from djangoproject.com

Assumes that code.djangoproject.com and djangoproject.com are stored in the same directory (adjust paths if needed).

  1. Copy the generated CSS: cp ../djangoproject.com/static/css/*.css trac-env/htdocs/css/
  2. Copy _utils.scss (needed by trackahacks.scss): cp ../djangoproject.com/static/scss/_utils.scss scss/
  3. Copy the javascript directory: cp -rT ../djangoproject.com/static/js trac-env/htdocs/js
  4. Compile trackhacks.scss: make compile-scss

How to recreate trac.sql after upgrading Trac

Start with a clean slate:

docker-compose down
sh -c 'cd ../djangoproject.com && git checkout tracdb/trac.sql'

Bring up database and Trac via docker-compose:

docker-compose up --build -d
export DATABASE_URL=postgres://code.djangoproject:secret@db/code.djangoproject
docker-compose exec -T db psql $DATABASE_URL < ../djangoproject.com/tracdb/trac.sql
docker-compose exec trac /venv/bin/trac-admin /code/trac-env/ upgrade
docker-compose exec db pg_dump --column-inserts -d $DATABASE_URL > ../djangoproject.com/tracdb/trac.sql

Note:

  • There's no need to run the trac-admin ... wiki upgrade command
  • Be careful with changes that trac-admin ... upgrade makes to trac.ini. We usually don't want them.
  • Review the diff carefully to make sure no unexpected database changes are inadvertently included.

code.djangoproject.com's People

Contributors

aaugustin avatar adamzap avatar apollo13 avatar bmispelon avatar carltongibson avatar charettes avatar dependabot[bot] avatar django-bot avatar felixxm avatar gabejackson avatar jacobian avatar jacobtylerwalls avatar jezdez avatar jphalip avatar markush avatar mayoroftuesday avatar mxsasha avatar olasitarska avatar prestontimmons avatar skyjur avatar stroebjo avatar timgraham avatar tobiasmcnulty avatar treyhunner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

code.djangoproject.com's Issues

Logout nav item style

Has some imperfect styling that increases the entire nav area's height, this'll fix it:

li form.trac-logout { display: inline-block !important; }
li form.trac-logout button {
	height: auto;
}

Trac recommends creating tickets to incorrect ticket tracker

When presented with a Trac error, code.djangoproject.com says "To that end, you could create a ticket." (see screenshot) with a link to Django's Trac ticket tracker. After using the link to report code.djangoproject.com tickets (see https://code.djangoproject.com/ticket/24216) I was told I should instead use https://github.com/django/code.djangoproject.com/issues. I think it would be helpful to update this message to reflect the preferred ticket tracker.

internal-error-django

Add new ticket type - "Docs"

I think it's quite common type of problems for any framework / program. Can't find it, the only remaining option is to use broad "Uncategorized".

No access to Wiki page history

I was trying to see the list of previous versions of the page https://code.djangoproject.com/wiki/CommitterTips but there is no link to this list anywhere on the page. The only way I could follow its history was to use the highly non-obvious "last modified" link to get to the diff of the last change, and proceed from there by manually editing the version number in the URL.

White background CSS on input and textarea elements makes dark themes bad

These days you can enable a dark theme on Firefox. In addition to inverting most of the browser's chrome so that it's black, dark themes also invert the input elements on every page so that by default you're writing white text on a black background. (I find this to be nuts, but the theory is that the input elements are drawn by the OS, and should match the theme — fine, whatever.)

Anyway, this works fine much of the time, but lots of sites assume a light theme or have never tested a dark theme. Among such sites is code.djangoproject.com. On this website, if you have a dark themed browser and you type into the input box you get white text on a white background. Why? Because somewhere in the CSS the background of inputs and text areas is set to white. This overrides the dark theme, which would normally make the background black.

That can be OK, but code.djangoproject.com doesn't set the color of the text in these elements, so you get the default from the theme, which is also white. The result: White text (from the theme) on a white background (from the CSS).

The solution is either:

  1. Remove the background color from the CSS so that the theme can do its normal thing, or
  2. Explicitly set the color of the text in input elements and textareas.

I tried to sort this out, but couldn't find the rule in the scss file. Weird. Anyway, hopefully this is a super easy one, if I've explained it properly.

doc-floating-warning & fragment links

On pages with the #dev-warning, #outdated-warning, .doc-floating-warning, etc. fixed bar at top, some JS is being used to fix positioning after load so fragment links (foo#section) align you properly (so the heading isn't obscured by the fixed bar at top), but... it's not very reliable, and requires JS.

Example pages that should have this yellow or red bar at top:
https://docs.djangoproject.com/en/dev/releases/1.7/#app-registry-consistency
https://docs.djangoproject.com/en/1.7/releases/1.7/#app-registry-consistency

You can compensate for such top bars without JS, with CSS alone kinda like this:
.section > span[id]:first-child { padding-top: 38px; }

The 'logout' button is ineffective

Clicking 'logout' is ineffective - if you click 'DjangoProject Login' afterwards then you are logged straight back in again without being asked for any username or password.

I am using Chrome 46.0.2490.86m (64-bit) on Windows.

Trac doesn't show "logged in as xxx" anymore

After logging in with github, the navigation looks like this:
custom_query_ django-_2015-05-01_13 03 31

It used to say "logged in as xxx" and the "DjangoProject login" link was not there.

Maybe that's related to the recent Trac update?

Login with github is creating an infinite redirect loop

Hello!

I tried to login to code.django.com with my GitHub account. After authorizing django, I get redirected to https://code.djangoproject.com/github/oauth?code=[...]&state=[...] which redirects me to the same location again, and again, and aga—.

screenshot

Direct link to login (if you want to test if it works or not): https://code.djangoproject.com/github/login

I cannot reproduce it on Chrome. Only on my firefox profile.

Firefox Profile

Your user agent: Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0
Other HTTP headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: fr,en;q=0.8,en-GB;q=0.7,en-US;q=0.5,tr;q=0.3,de;q=0.2
Host: next.duckduckgo.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0
COOKIE: 5=2; aj=m; ad=en_US
DNT: 1
UPGRADE-INSECURE-REQUESTS: 1

Chromium Profile

Your user agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
Other HTTP headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Host: duckduckgo.com
Referer: https://duckduckgo.com/
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
UPGRADE-INSECURE-REQUESTS: 1

Note: I "disable" (target URL is put instead of previous URL) HTTP referrers if the target base domain is different from the previous one.

Edit: it looks like the referrers are causing this infinite loop. Disabling this module fixes it. But this issue shouldn't occur—still.

Improve UX of ticket flags with an explanation of next steps

The idea is to add something to tickethacks.js which translates the "Has patch", "Needs documentation", etc. flags to a prominently displayed paragraph that explains how to move the ticket forward.

For example, "Has patch=Yes" and the rest "no" would say, "To move this ticket forward, a community member needs to review the patch using the patch review checklist and either mark the ticket as "Ready for checkin" if everything looks good, or leave comments for improvement and mark the ticket as "Patch needs improvement".

I'll be happy to provide further guidance on this for anyone interested in tackling the implementation.

Can't access trac "Session ID not set"

Hello,

I can't access trac website. I got the following error:

Traceback (most recent call last):
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/api.py", line 514, in send_error
    data, 'text/html')
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/chrome.py", line 968, in render_template
    message = Markup(req.session.pop('chrome.%s.%d'
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/api.py", line 316, in __getattr__
    value = self.callbacks[name](self)
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/main.py", line 268, in _get_session
    return Session(self.env, req)
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/session.py", line 206, in __init__
    self.get_session(sid)
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/session.py", line 235, in get_session
    self.bake_cookie()
  File "/home/www/trac/venv/local/lib/python2.7/site-packages/trac/web/session.py", line 214, in bake_cookie
    assert self.sid, 'Session ID not set'
AssertionError: Session ID not set

But I can access it in private mode

Thanks,

Trac GitHub login error: MissingTokenError

Originally reported here

I am using Firefox 35 on Fedora 20.

Every time I log in by clicking "GitHub Login" near the top of all code.djangoproject.com pages Trac reports an internal error and I am presented with the error page attached. If I navigate away from this error page I am actually logged in, so this error doesn't stop me from using the site as a logged in user. You can see in the screenshot it says "logged in as jdufresne".

I do use various Firefox add-ons, so perhaps that may be an issue? Beyond typical web developer add-ons, my add-ons can manipulate cookies and HTTP referer. I do have cookies enabled for .djangoproject.com and .github.com so I don't think that is it.

I have reproduced this on multiple boxes that share the same Firefox profile and OS.

internal-error-django

Round ticket reported interval to hours, etc.

In ticket change history I saw time difference displayed like "Opened 109 minutes ago". I think the better practice is to round it to hours, for example "Opened 2 hours ago". I see it used on many sites and in my opinion it's more human readable and friendly.

You are here as breadcrumbs

Hi,

Django's documentation is staggering. I really like the "You are here" path in the right sidebar in order to navigate more easily.

In effect, they function as breadcrumbs. For me, it would be more clear if we included those as a breadcrumb path in a small font size just below or to the right of the page heading.

New Ticket Login Confusing

Django's CONTRIBUTING guide currently points to the New Ticket page: https://code.djangoproject.com/newticket

If you're not logged in, this won't work:
dango new ticket report

If you click the "do so" link, you get a login that makes it look like you need to create a new account:
django new ticket report login

Hmm... Now how do I create an account? If I click cancel, by the way, I go here:
django new ticket report login cancel

OK, no good. At this point, I commenced clicking around the site for a while. I finally ended up at https://code.djangoproject.com/. While that is a separate subdomain, it looks on the project page like only one of many pages. On this page, there is a link that says "log in with a Github account." Finally, I clicked this link, logged in, and went back to file my bug.

I think my confusion (and perhaps many others') could be mitigated by:

  1. Adding a "login with Github link" to the new ticket page, and/or adding a "create a Django Project account" link. According to the DRY principle, this suggests:
  2. Adding a unified login page to which both https://code.djangoproject.com/ and the default "not logged in" pages will point to. This login page will have all the options, so that none of them get forgotten or need to be maintained separately.
  3. Possibly making a "log in" button more prominent on the Django Project site. This is a bigger design decision though.
  4. Give the "Authorization required." page links to login/registration options.

Trac notification emails sent via IPv6 are being flagged as spam by gmail

Gmail is flagging Trac notifications from code.djangoproject.com as spam, with a link to https://support.google.com/mail/answer/81126?hl=en-GB#authentication.

Here are the email headers. Would it be possible to create an SPF record for the IP address sending the emails?

Delivered-To: alasdair@...
Received: by 10.194.190.44 with SMTP id gn12csp2126929wjc;
        Tue, 28 Apr 2015 07:52:23 -0700 (PDT)
X-Received: by 10.140.235.68 with SMTP id g65mr1217528qhc.96.1430232742966;
        Tue, 28 Apr 2015 07:52:22 -0700 (PDT)
Return-Path: <[email protected]>
Received: from djangoproject.com ([2001:4802:7801:102:be76:4eff:fe20:789f])
        by mx.google.com with ESMTP id d74si18594161qhc.132.2015.04.28.07.52.22
        for <alasdair@...>;
        Tue, 28 Apr 2015 07:52:22 -0700 (PDT)
Received-SPF: none (google.com: [email protected] does not designate permitted sender hosts) client-ip=2001:4802:7801:102:be76:4eff:fe20:789f;
Authentication-Results: mx.google.com;
       spf=none (google.com: [email protected] does not designate permitted sender hosts) [email protected]
Received: from djangoproject.com (ip6-localhost [127.0.0.1])
    by djangoproject.com (Postfix) with ESMTP id 870826A304;
    Tue, 28 Apr 2015 14:50:58 +0000 (UTC)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
From: "Django" <[email protected]>
X-Trac-Version: 1.0.5
Precedence: bulk
Cc: [email protected]
Auto-Submitted: auto-generated
X-Mailer: Trac 1.0.5, by Edgewall Software
X-Trac-Project: Django
Date: Tue, 28 Apr 2015 14:50:58 -0000
Reply-To: [email protected]
X-URL: https://code.djangoproject.com/
Subject: Re: [Django] #24714: Use more specific assertions than assertEqual
 in tests
X-Trac-Ticket-URL: https://code.djangoproject.com/ticket/24714#comment:8
Message-ID: <[email protected]>
References: <[email protected]>
X-Trac-Ticket-ID: 24714
In-Reply-To: <[email protected]>

"core developer" badge not working anymore

There used to be a "core developer" badge in the comments of tickets but it seems to have disapeared.

It seems it might have been caused by Trac's update where it now shows the user's full name ("Baptiste Mispelon") instead of their GitHub username ("bmispelon") like it did before.

The javascript hack that added the badge relied on being able to extract the username and therefore doesn't work anymore.

Update versions on wiki start page

The information on https://code.djangoproject.com/wiki#Djangoreleaseprocess is out of date. Please could somebody with WIKI_ADMIN privileges update it?

  • 1.9 is the current stable branch
  • 1.8 is now the LTS branch, not LTS and stable. Note typo of repeated 'branch branch' as well.
  • 1.7 is no longer supported.

Perhaps it would be better for this wiki page to link to somewhere else, e.g. https://www.djangoproject.com/download/#supported-versions, so that it doesn't need to be updated for each release.

Trac looks "weird" after redesign

Crossposting: #23997

I mostly like the new design. There is one thing though that I'd consider a bug: the Trac forms.

  • There font size in the filters is way too small.
  • This description field is overlapping with the side menu
    trac1
    trac3
    trac2

Mark a ticket with multiple versions?

Hello

I'm new to django and the community, if this ticket is opened in the wrong place, please point me to the right one. Thanks in advance.

I just started browsing the tickets in https://code.djangoproject.com and noticed that it is not possible to mark an item as valid for more than one version of django.

I also found that when a ticket applies to more than 1 version, it is marked as the lowest version it applies to.

Don't know if this has been discussed before, but I think it would be useful to have the ability to mark a ticket as valid for more than one version, this would so that when a search is performed, all the relevant tickets for the version you are looking for show up.

I for instance am using version 1.8.1 already, but found one of the tickets that was marked as 1.7, even though it also applies to 1.8 and master. Would have saved me some time if it was marked 1.8.

Cheers

active (current) page in menu is not highlighted

Hi,

I like the new layout very much.

A small improvement could be to highlight the current page in the top menu.

For example, we could use light green as a color for the active page if we are on that page or a subpage. If we want the effect to differ from the mouse-over effect, we could add an underline to the mouse-over.

It is a small detail that helps people figuring out where they are.

Font of Query table too big

body, th, tr font-size is currently set at medium, which results in 16px and a table so wide that it doesn't fit on a 13'' monitor...

Also, the table overlaps the bottom part of the "Useful links" section.

ReCAPTCHA is Still Broken

Upgrading to v2 didn't seem to work yet, in fact - it's so broken that I can't comment on the ticket on the Trac!

Here's the SS:
screen shot 2018-02-02 at 10 18 42 am

Solution for design problems on mobile phones

I have a solution for design problems on mobile phones. You need to add
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1.0, minimum-scale=1.0, maximum-scale=1.0">
to a head tag of your base site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.