The last post went over a lot of improvements for the GUI side, but really, my main concern is with the library backend system. This is most likely the component I’ll work on first, since well, it should be done within a reasonable amount of time and also should have an immediate improvement.
Calibre appears to use a directory structure for managing the library, along with a database. I haven’t yet looked at the code, but it appears to copy the file. I’m assuming that a symbolic link is created on *nix systems. However, I’m assuming that it is a copy on Windows. Regardless, I don’t believe it should be even using a directory structure in the first place and should use the original directory for any conversions and reading.
I’m sure there is a reasonable explanation for doing this. With a small library, the disk space, on modern machines, won’t matter if the files are copied. However, those with a large library or little available disk space will soon find the duplication disruptive.
Proposed Solution
Use more database? I mean, this is an obvious solution. A database is currently already being used for metadata and other elements. Of course, I also think that Calibre might also be editing the files as well. In this sense, copying the file for modification in case something bad happens does make sense. However, I would rather use the home directory, whether Windows or Linux or Mac OS X.
Probably spend some time this weekend going over the code and see what is possible. Might even go to the forums and find out why the current structure is used. If it appears that it can be completed quickly, I might start this weekend and hope to finish up by next weekend.
Possibly Related Posts:
- Game Engine Development and Open Source
- Plans for Base CMS
- Project Plans
- Usability Testing Software Development
- Motivations for Programming
Comments are closed.