It’s been quite a while, but Nested Folders are finally here!
We just released the new 2.12.0 Testflight that, amongst other things, brings support for nested folders.
This new version of Panels has a new Library engine based on the device File System.
The current version of Panels has a database-based library and a closed data container inside the app sandbox. This has some implications:
- The files are stored inside a private folder that users can’t access. They are organized in a non-user-friendly way.
- For easy access, files are stored in a flat structure. All the files are in the same folder, the same level, regardless of their organization in the Library. Also, each file is wrapped in a folder named after the file binary hash. This avoids name-clashing problems.
- The library source of truth is the database. Even if a file is in the app sandbox, it won’t appear in the Library until a reference to it is added to the database. The reference not only contains information about the comic location but also about its organization.
- Collections are stored in the database. They are registries in a table, and they have a list of contained comics.
- If that reference is lost, restoring the comic is quite complicated because there’s no way to know in which collection that comic should appear.
- Supporting nested collections while keeping this model is very challenging.
We’ve completely revamped the logic to organize the Library with a completely different approach in this new version.
- Files are now stored in a folder structure that mimics the library organization.
- Each collection is now a folder in disk, and you can have folders inside folders. Hence, Panels will now support nested collections .
- The source of truth is the file system. If the database gets deleted, the app can reconstruct the Library completely, based on the files and folders on the disk.
- The data container is now user-friendly. It’s open, and you can access it from the Files app. You can now organize your content from outside Panels, or back it up.
A nice feature in Panels, is that you can have the same comic in multiple collections without taking more space.
That’s why we are translating this feature in the file system as symbolic links.
In the new Panels, you’ll be able to either copy a file into another folder (will duplicate it and occupy double the space) or link it using a symbolic link (it will create a weak reference to the file without increasing the used space).
We have removed the “Add to collection” feature and, instead, we have implemented a copy-paste-like approach. You now can copy one or more files and then duplicate, move or link them in a different location.
We are looking forward to all your feedback.