-
-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GitBook: [#57] Added Roadmap Information
- Loading branch information
1 parent
7c9c627
commit 2f9ff95
Showing
4 changed files
with
30 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -42,5 +42,6 @@ | |
|
||
*** | ||
|
||
* [Roadmap](roadmap.md) | ||
* [Credits](credits.md) | ||
* [Sponsors](sponsors.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Roadmap | ||
|
||
I maintain this to the best of my ability given my relatively limited spare time. However, I do have some plans for improvement in the future! | ||
|
||
Please do contribute (code or just opinions) if you would like to and have the time to! | ||
|
||
## Migrate to SQL internally | ||
|
||
Before v2, this plugin used an 'sqflite' database to store tiles. However, I removed this in order to add support for multiple stores. | ||
|
||
Whilst this impacted both functionality and performance positivley at the time, there are now bottlenecks caused by the reliance on the native filesystem. These include, but are by no means limited to: | ||
|
||
* Struggles with sanitizing the tile name to convert it to a file name that is suitable on every device - harder than you might think, given the large number of differing restrictions set by differing filesystems/operating systems. | ||
* Limitations to the speed of the import/export functionality: stores must first be compressed (and uncompressed on the other side) into a ZIP format. For a larger number of tiles, this can be quite slow! | ||
* Limitations to the speed of statistic fetching: reading each tile to find its length (size) and summing this up doesn't sound like it would take long, but it does. It's also quite memory inefficient. This was partially resolved by the statistic caching introduced in v5, but is not ideal. | ||
* The whole storage structure being easily edited and broken by a curious user. This also includes the fact that the bulk download functionality can very easily lead to copying: whilst keeping them as blobs in an SQL table won't stop this, it will make it significantly more difficult. | ||
|
||
Migrating to SQL won't be easy and will take time - I haven't even chosen a database package yet! Additionally, the non-asynchronus statistic getters are likely to have to be removed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters