aircox/notes.md
Chris Tactic 55123c386d #132 | #121: backoffice / dev-1.0-121 (#131)
cfr #121

Co-authored-by: Christophe Siraut <d@tobald.eu.org>
Co-authored-by: bkfox <thomas bkfox net>
Co-authored-by: Thomas Kairos <thomas@bkfox.net>
Reviewed-on: #131
Co-authored-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
Co-committed-by: Chris Tactic <ctactic@noreply.git.radiocampus.be>
2024-04-28 22:02:09 +02:00

100 lines
2.8 KiB
Markdown
Executable File

# TODO
- card: url
- page header:
- content inline
- responsive
- remove vue-carousel
- statistics & monitor
# Proposals
- diffusion list view for a program + link on program page view
- add podcast list to playlist
- pause on "space" key
##############
This file is used as a reminder, can be used as crappy documentation too.
- player
- monitor interface
- statistics interface
- traduction
- hot reload
Améliorations:
- calendar dashboard
- accessibilité
- player: playlist
# for the 1.0
- logs:
- do not add track if between two consecutive diffusions
- run tests:
- streamer: dealer & streams hours (to localtime)
x diffusions: update & check algorithms
x check in templates
x diffusion page date info
- streamer:
- restart running streamer on demand
- add restart button for the streamer
\--> rewrite streamer for client-server controller
\--> move liquidsoap control on commands/streamer.py
- cms:
x button to select the current station
- section's title: format with current page info e.g. "The diffusions of {program.name}" -- perhaps use pass **context
- section exclude: exclude a section for a given page type
- category page
- for timetable, logs, etc. make station optional
- django's message css displayed on pages when element is modified (remove bullet)
- articles preview in different format
# conventions
## coding style
* name of classes relative to a class:
- metaclass: `class_name + 'Meta'`
- base classes: `class_name + 'Base'`
* import and naming:
- the imported "models" file in the same application is named "models"
- the imported "models" file from another application is named with the application's name
- to avoid conflict:
- django's settings can be named "main_settings"
## aircox.cms
* icons: cropped to 32x32
* cover in list items: cropped 64x64
# To discuss / To think
- aircox_cms.signals: handle renaming of the program if the article's title has
not been changed -> need to cache of the title at __init__
- ensure per station website for all generated publications
- aircox_cms: remove "station" fields when it is possible in the pages & sections
# Long term TODO
programs:
- sounds monitor: max_size of path, take in account
- archives can be set afterwards for rerun, so check must be done
at the same time we monitor
- logs: archive functionnality
- tools:
- track stats for diffusions
cms:
- player support diffusions with multiple archive files
- comments -> remove/edit by the author
# For the next version:
## Refactorisation
- move into `aircox_streamer`: `Log`, `Port`
- move into `aircox_cms`: `Page`, `NavItem`, `Category`, `StaticPage`, etc.
- use TextChoice and IntegerChoices in models fields enums