Changelog
TODO
- fix saving text finishing: enabled column may no be null (DB error)
- text finishing with text rotation setting
- config settings for plugins or plugin templates (like parameters for plugins, but settings/configs)
- show which finishing failed (with error message) in finishing preview
- when updating system only run "collectstatic" when static folder contains changes
- when updating system only run "pip install" when requirements.txt changed
- admin frontend, editing for finishings, contexts, trees/treebeard, etc.
- implement new context plugin: weather (for given coordinates or picture coordinates)
- implement new context plugin: calendar (for adding current date/time/week/year info)
- database reconnect to avoid "server is gone" (on source update), https://stackoverflow.com/questions/59773675/why-am-i-getting-the-mysql-server-has-gone-away-exception-in-django
- configure email in profile and notify user on update errors
- in edit/delete forms/views check if given instance exists, if not redirect to listing pages
- make update and edit consistent (templates, views, forms, urls & pages), same logic everywhere, maybe base classes/templates
- auto mount usb sticks or access network shares (useful for "directory" source)
- is a network/USB mount helpful for filesystem source?
v0.5.0 - not yet released
- start providing Docker based setup
- update to Django 4.2.20, Jinja2 3.1.6, requests 2.31.0, jsonpickle 3.2.2
- create some documentation pages and add workflows
- frontend: set display status via API will ignore auto on/off now
- frontend: upload items from remote device to frontend to show them
- frontend: show startup message on initial background screen
- frontend: show application logs on 3rd console
- frontend: include versions in status submission
- frontend: use serializer for client API to be more robust
- frontend: configure options for auto update check and auto install
- frontend: configure option for keystroke registration
- frontend: make external storages available in media directory automatically
- config: support rotation in text finishing plugin
- config: add settings with global variables
- config: !! global variables are now used in source, finishing plugins !!
- config: new directory source to read files from media directory
- config: validate finishing fields and sorting query for correct syntax
- config: item sorting ranks now based on weight gaps
- config: wrap all plugin config values into ResultValue to be more failsafe
- config: refactor plugin storage to use django-entangled for JSON config
- config: separate models into modules
- config: replace format strings with Jinja templating for model expressions
- config: !! update all model expression to Jinja templating !!
- config: support tree structures in finishings (for grouping)
- config: switch to use Jinja2 templats in "data" plugin
- config: ignore duplicates when updating source items
- config: extend length for text in text plugin
- config: add "globals" plugin to inject global server parameters
- config: improve data_check command (generators, chunks)
- config: some dashboard improvements (media/version info, short dates, resources)
- config: start JSON exports and imports for frame configuration
- config: add query evaluation popup for sorting queries
v0.4.0 - 2023-04-09
- frontend: refactor frontend rendering, add website renderer
- frontend: render date time in frontend's timezone
- frontend: configure/disable display status submission information
- frontend: use hit endpoint via POST and submit thumbnails
- frontend: refactor/simplify frontend capability handling
- frontend: improve quality on picture watermark
- frontend: redirect user for config changes or action to origin page
- frontend: configure timezone to use
- config: add "setup" command to create/modify initial config settings
- config: add "data_check" command to verify data model/files integrity
- config: render date time in user's timezone
- config: pages to view and edit profile, including new timezone setting
- config: integrate thumbnails in different pages (frames, displays, items)
- config: introduced frame context management (inject data to finishing, e.g. exif, geo)
- config: add update interval per frame source
- config, api: add data model, use for display item thumbnails
- config, frontend, api: refactor finishing fields into plugin config
- config: enhance dashboard and add own dashboard to display pages
- config, frontend: refactor device capability into own file
- config: extend alignment and add custom position/coordinates to merge plugin
- api: implement new display item hit endpoint via POST
- api: include version information in user-agent
v0.3.0 - 2023-01-11
- frontend: auto-update and refresh display settings per interval
- frontend: use custom messages when saving configuration (redirect to startup page)
- frontend: refactor startup screen to own pages (can be used for different things now)
- frontend: add current revision to app version info and in display status
- frontend: activate latest item - if available - when restarting application
- frontend: introduced a new frontend API
- frontend: refactor views into own packages (setup, dashboard, system, status)
- frontend: check sudo commands before execution (avoid security warnings)
- config, frontend: refactor jobs / scheduler
- config: add new image finishing plugin
- config: replace source update with scheduler job and run auto-updates
- config: fix mapping app fields in display status
- api: refactor urls and views into own packages (config, later frontend)
v0.2.0 - 2023-01-03
- frontend: provide buttons to check for updates and install updates
- frontend: show version information in own frontend page
- frontend: add button in display frontend page to load next item
- frontend, config: submit display status information
- frontend: keep current item in own file, not only in numbered files
- frontend: extend network check for static/LAN configurations
- frontend: fix not starting keyboard monitoring when commands missing
- config: fix setting external ID when updating items
- api: make all endpoint read-only endpoints
v0.1.0 - 2022-12-24
- first release version with all basic features