-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Dev] MediaElch Development Roadmap 2023 #847
Comments
bugwelle
changed the title
[Dev] MediaElch Development Roadmap 2020
[Dev] MediaElch Development Roadmap 2021
Jan 2, 2021
bugwelle
changed the title
[Dev] MediaElch Development Roadmap 2021
[Dev] MediaElch Development Roadmap 2022
Jan 4, 2022
bugwelle
changed the title
[Dev] MediaElch Development Roadmap 2022
[Dev] MediaElch Development Roadmap 2023
Feb 11, 2023
Remaining issues:
That being said, as per #1710 I'm limiting myself to bugfixes. Anyone reading this is free to implement the above, but I'm not sure that I will ever get the time to do so myself. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is an often-updated issue that exists for discussing decisions regarding MediaElch's development and a continuation of #743.
What is this issue?
This issue lists and describes planned features and other design decisions. It is intended for MediaElch's developers and may go into technical details. All of these issues are neither bug reports nor feature requests. They're not big enough to create new issues for them. But other developers may want to try and fix one of the issues below so I thought: Why not share my thoughts?
It's also easier to keep track of one issue with all development design decisions than to have multiple smaller issues.
Table of Contents
(order: importance from highest to lowest)
New movie scraper interfaceNew TV show scraper interfaceRemove singletons for dialogsUse CTest and CDashBetter loggingSeparation of UI and Business Logic
As of 2019-12-30 MediaElch's UI and business logic are still highly coupled. This has quite a few draw backs like:
mediaelch_cli
is dependant onQt5Widgets
As an example the TvShowFileSearcher depends on the TvShowFilesWidget to display all shows. This should be decoupled.
New movie scraper interfaceSee #1163New TV show scraper interfaceSee #1163Remove singletons for dialogsSingletons need to be initialized at startup. This is not needed for dialogs like "TvShowSearch.ui". It only makes MediaElch start slower and makes it use more RAM.See #980
Test file searchers
We need test cases for testing our file searchers. How could this be done?
We already have a bash script that generates a lot of movie/tv show/concert/artist subfolders that can be used to test MediaElch. We could load all details of every media entry and store all of that in a
.tar.gz
on Dropbox (or whatever cloud hoster there is). The.tar.gz
can then be downloaded for automated testing.May be useful: https://kodi.wiki/view/Samples
Test full-disk ("no space left") situations
I'm pretty sure that MediaElch won't work well if the disk is full. We need to test that.
A python or bash script would be nice that sets up a temporary filesystem -- with only a few megabytes or gigabytes disk space -- mounts it, loads a few movies and checks how MediaElch handles out-of-disk-space situations. I've never done that but I know that one can also create an in-memory filesystem. This may speed up tests a lot.
Continuous Deployment
MediaElch already deploys nightly versions for Windows and macOS. We should also update mediaelch-nightly in the Ubuntu PPA. See e.g. https://github.com/subsurface/subsurface/tree/master/packaging/ubuntu
CMake Windows build
The CMake build does not work on Windows because it can't find ZLIB. It's really annoying and I didn't get it to work (I never develop on Windows...).
On Linux and macOS we install ZLIB using a package manager but we can't on Windows. We could use https://cliutils.gitlab.io/modern-cmake/chapters/projects/fetch.html :)
CMake Windows Wix Package
Using CPack we should be able to create a Wix installer.
See
Add macOS Updater
Use https://sparkle-project.org/
Use CTest and CDash
Maybe use CDash. Seems useful.CMake docs: https://gitlab.kitware.com/cmake/community/wikis/homeToo many limitations IMHO.
Better logging
use e.g. https://doc.qt.io/qt-5/qloggingcategory.html#detailsDone with #1278 . More categories can easily be added.
Better Parallel Filesearch
See also https://kate-editor.org/post/2021/2021-01-29-search-in-files-multi-threading/
Other stuff
For result/error combinations, we could use https://www.kdab.com/tuple-pair-cpp-apis/
The text was updated successfully, but these errors were encountered: