Add comprehensive documentation for URL namespacing
Summary
-
New how-to guide: "Working with URLs and API Endpoints" that covers:
- URL naming conventions (kolibri:namespace:resource_endpoint)
- How to define URLs in Django backend (ViewSets, routers, custom URLs)
- How to use URLs in JavaScript frontend (direct access, API Resources)
- Complete explanation of the backend-to-frontend URL pipeline
- Best practices and debugging tips
- Advanced topics (custom endpoints, direct endpoint access)
-
Updated existing API endpoints documentation with URL namespacing overview and cross-reference to the new guide
-
Updated frontend core architecture documentation to explain URL namespacing with practical examples
-
Added the new guide to the howtos index
The documentation explains how URL namespacing works implicitly in the API resource layer and explicitly in frontend code (e.g., urls['kolibri:core:driveinfo-list']), providing developers with a complete understanding of the system.
References
Fixes #9435
Reviewer guidance
:exclamation: 🤖 Generated with Claude Code :exclamation:
Are there any parts that are too verbose, and just add fluff rather than useful variation? Are there any explicitly duplicative parts? Any inaccuracies?
Build Artifacts
| Asset type | Download link |
|---|---|
| PEX file | kolibri-0.19.0b1.dev0_git.60.g3eae1bdc.pex |
| Windows Installer (EXE) | kolibri-0.19.0b1.dev0+git.60.g3eae1bdc-windows-setup-unsigned.exe |
| Debian Package | kolibri_0.19.0b1.dev0+git.60.g3eae1bdc-0ubuntu1_all.deb |
| Mac Installer (DMG) | kolibri-0.19.0b1.dev0+git.60.g3eae1bdc.dmg |
| Android Package (APK) | kolibri-0.19.0b1.dev0+git.60.g3eae1bdc-0.1.6-debug.apk |
| Raspberry Pi Image | kolibri-pi-image-0.19.0b1.dev0+git.60.g3eae1bdc.zip |
| TAR file | kolibri-0.19.0b1.dev0+git.60.g3eae1bdc.tar.gz |
| WHL file | kolibri-0.19.0b1.dev0+git.60.g3eae1bdc-py2.py3-none-any.whl |
This is potentially still a little verbose for my taste - but I'd rather have input from others about whether these are useful additional examples and documentation or just unnecessary verbiage.