| 1 | This is a list of tasks that the Channels project needs doing that comes under the remit of Django's MOSS grant; anything on this page is eligible for funding via the grant with '''pre-approval''' from the Django MOSS committee; you'll get in touch with the committee, discuss the work and your history with open-source contribution (we strongly prefer that you have a proven track record on at least a few things) and the amount you'd like to be paid. |
| 2 | |
| 3 | If you're interested in working on one of these tasks, get in touch with Andrew Godwin <andrew@aeracode.org> as a first point of contact; he can help talk you through what's involved, and help judge/refine your proposal before it goes to the committee. |
| 4 | |
| 5 | == Tasks == |
| 6 | |
| 7 | * HTTP/2 support for Daphne (based on upcoming Twisted HTTP/2 support) (https://github.com/andrewgodwin/channels/issues/14) |
| 8 | * Generic WebSocket and base consumers |
| 9 | * Messaging (IRC/Slack/etc.) interface server and ASGI spec extension |
| 10 | * Full test suite for Daphne HTTP/WS encoding to ASGI |
| 11 | * Tests for file and streaming response handling inside Django |
| 12 | * Port Daphne to run on asyncio or write a second ASGI HTTP/WS interface server on it |
| 13 | * Additional tutorials (written or video) |
| 14 | * Scheduled task/delay interface server (https://github.com/andrewgodwin/channels/issues/115) |
| 15 | * Automated load testing setup and runner based on AWS/Azure/etc (https://github.com/andrewgodwin/channels/issues/28) |
| 16 | * In-page debugging help for websocket consumers (ideas and implementation needed) |
| 17 | |
| 18 | |
| 19 | == Completed Tasks == |
| 20 | |
| 21 | These have already been done and paid for: |
| 22 | |
| 23 | * Write specification for channel layer backends (ASGI) |
| 24 | * Write reference memory-only backend |
| 25 | * Write test ORM-driven backend |
| 26 | * Write production-ready Redis backend |
| 27 | * Write conformance test suite for specification |
| 28 | * Write ASGI-compatible HTTP + WebSocket mixed-mode server |
| 29 | * Write WebSocket benchmark suite |
| 30 | * ASGIRequest subclass and decoding from ASGI |
| 31 | * Response encoding to ASGI |
| 32 | * ASGI-compatible Handler and path into view layer |
| 33 | * Streaming and file response support |
| 34 | * HTTP authentication support |
| 35 | * Sessions based on reply channel not cookies |
| 36 | * Channel session authentication support |
| 37 | * Runserver integration with Daphne (inc. autoreload) |
| 38 | * Routing system for channels similar to URLs |
| 39 | * runworker command for running workers in production |
| 40 | * Optional in-order enforcement for WebSocket consumers |
| 41 | * Tutorial documentation |
| 42 | * Deployment/Scaling documentation |
| 43 | * Reference/Concepts documentation |
| 44 | * Example projects (channels-examples) |