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/