Comments (1)
The storage format will be modified with time adding new features or due to other reasons. The library is supposed to be used by several apps on different devices and potentially on different platforms (Android, iOS, Linux, macOS, Windows). These apps can work with the same data synchronized between devices. This way, apps can use different versions of the library although version of tags storage can be the same on devices hosting these apps.
That's why:
-
The library must be able to handle loading of older versions of the storage and upgrading them.
Migrations mechanism can be implemented to allow this. Every critical source modification should add new migration.
Storage upgrade must be confirmed by user and must involve saving original storage as backup. -
The library must be able to handle loading of newer versions of the storage and ignoring newer features.
We can separate features in the storage from each other, loading only supported ones.
It really seems to be over-complication for now. The storage structure is really simple at the moment. When the format will need to change we must implement migration. For now only newer features are planned, which can be implemented as separate entity with separate storage.
from ark-navigator.
Related Issues (20)
- Move resources with their associated data
- Corrupted PDF file can crash root opening
- JSON error during PlainStatsStorage initialization HOT 1
- Support Lottie HOT 1
- UninitializedPropertyAccessException crash when browsing device folders HOT 1
- Improve output of test step in CI
- Use atomic files and new storage locations
- Create onboarding instructions
- Replace logging from Log class with Timber HOT 1
- Improve dependencies catalogue in build.gradle (app)
- [UI/UX] Last folder item is covered by the floating Add button
- SonarCloud integration and warnings HOT 3
- Fix Lint warnings/errors with local Analysis tool
- Introduce crashlytics tools to monitor crash
- Introduce analytics along with dashboard to monitor traffic from feature
- Enable global code format using .editorconfig in Android studio
- Aggregated mode is broken HOT 4
- Tags On/Off toggle
- Bump `arklib` version to `0d25eb0` HOT 1
- "As-is" sorting issues
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ark-navigator.