Skip to content

phpmyadmin/website

Repository files navigation

Website for phpMyAdmin

Django code for phpMyAdmin's website.

https://codecov.io/github/phpmyadmin/website/coverage.svg?branch=master https://app.codacy.com/project/badge/Grade/4cfc116f766947dcad6c006b295aafc2

Requirements

Website needs Python 3.7, additional dependencies are listed in requirements.txt.

Security announcements and news

Edit announcements and news entries in the web UI.

Security issues are not publicly visible as long as they are marked as draft. They are accessible through a separate URL (you can click View on the site link while editing).

Page generating

Each page has its own template. For most things it means inclusion of other templates to generate full page.

Menu

Menu is configured in data/menu.py, the first element always means page name second menu item title.

Themes

Themes require additional metadata, which is stored in data/themes.py.

Awards

All awards are listed in data/awards.py.

Screenshots

All screenshots are listed in data/screenshots.py.

Development

For development, first install dependencies. The ones needed for running the server are listed in requirements.txt, for running testsuite in requirements-test.txt. You can install them using your distribution (the package names will usually add python- prefix) or using pip:

pip install -r requirements-test.txt

You will need to apply migrations before loading test data:

./manage.py migrate

You might want to import some data to have at least some content on the website:

./manage.py loaddata pmaweb/fixtures/test_data.json

Once you have all dependencies, you can start development server:

./manage.py runserver

It will listed on port 8080 by default (you can change this by parameters).

To run test-suite execute:

./manage.py test

To add a new user (for /admin/):

./manage.py createsuperuser

Deployment

Cron jobs:

# Update translation stats
./manage.py fetch_translations
# Update planet posts
./manage.py fetch_planet

File releases scan:

# Import new releases from file storage
./manage.py import_files
# Import new themes from file storage
./manage.py import_themes

License

The website generator is licensed under GNU GPL version 2 or later.

Website itself uses some MIT licensed Javascript libraries:

The website content is licensed under Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.