| | 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) |