datatracker/notes/Notes_from_PLAN
2021-07-09 16:36:05 +00:00

109 lines
4.1 KiB
Plaintext

This was extraced from the Datatracker PLAN on 9Jul. Items from the PLAN were moved into tickets.
Notes
Updated: $Date$
===========================
* Consistency fix: in settings.py, name directory settings consistently with
..._DIR; reserving ..._PATH for settings with PATH semantics (':'-separated lists
of directories)
* For documents with Yang modules, add links to the extracted modules (possibly in
multiple formats -- pyang can generate a large number of alternative formats)
* When we get to the point where we can produce pdf from xml+media, remove the
pdf upload possibility -- it's a definite attack vector. Possibly start scanning
pdf files for /JS and /JavaScript (and workarounds to hide Javascript)
* Add one or more API description pages with examples of common queries
* Add role lists and additional relevant information to the personal profile
pages
* Increase the requirements on valid email addresses in draft submissions --
contacting authors is hard if they don't provide an email address.
* Make it possible to let time run backwards in the database (creation timestamps,
universal changelog)
* Change slugs which were limited by the former 8-character slug length limit
to be more readable (needs both code changes and migrations).
* Additional charts, various statistics views.
* For graphing and mapping various numbers relative to country population,
integrate population data from the world bank,
http://databank.worldbank.org/data/reports.aspx?source=2&series=SP.POP.TOTL&country=
(or some other source, if a better is found). WorldOmeters has running counters,
but ask for a lot of money for even one.
* Notable New Django Features in 1.8:
+ New data types: UUIDField, DurationField
+ Query Expressions (enhanced expressivity, conditionals, database functions)
+ Improved TestCase fixture loading, additional .setUpTestData() method.
- Support for alternative template engines
- Security enhancements (request/response cycle middleware)
- PostgreSQL-specific fields
* Notable New Django Features in 1.9:
+ New on_commit() hook, for post-commit actions, for instance sending email
+ Password validation option with pluggable validators
+ Running tests in parallel
+ DateTimeFields can be queried with date
- Permission mixins for class-based views
- New admin style
* WG document state slug renaming.
adopt-wg -> adopted-by-wg
c-adopt -> candidate-for-wg-adoption
chair-w -> waiting-for-chair-goahead
dead -> dead-wg-draft
info -> adopted-for-wg-info-only
parked
sub-pub -> submitted-for-publication
wg-cand -> wg-candidate
wg-doc -> wg-document
wg-lc -> wg-last-call
writeupw -> waiting-for-shepherd-writeup
* Clean up and normalise the use of canceled / cancelled. User-visible
strings should already be all CANCELLED except when manually entered.
* DjangoCon Europe 2017 Notes:
- Add tracing of Django Query methods from code through templates to the
sql_queries list provided by 'django.template.context_processors.debug'
(DONE)
- Consider rewriting user switches using feature flags, for instance with
gargoyle.
- There is now a Django-REST-Framework add-on app which makes it easier to
do something similar with DRF as with Tastypie. As Tastypie is not being
actively maintained, and DRF seems to have better performance, consider
building /api/v2 using DRF and drf-schema-adapter / drf-auto-endpoint.
- Consider adding JWT (RFC7519) support for /api/v1 /api/v2, to generate an
access token from a login, and use that instead of session support for
access control to access limited endpoints.
- Once we're on Django 3.5, start using static type annotations to improve
early discovery of incorrect function/method usage. There are add-on
files avaliable for Django which provide type annotation for Django
functions and methods, and the Python stdlib is type annotated starting
with Python 3.5. Check static typing violations with 'mypy'.
- Consider providing a user-selectable option to import photos from
gravatar.
- Consider using django-12factor to apply part of the 12-factor app
philosophy: https://12factor.net/