|Calibre2opds User Guide||Developer Guide|
This is the Central site for Calibre2opds
Here we talk about upcoming features and publish official releases. This site will also act as the central site giving links to where you can download calibre2opds and get support for calibre2opds. If you have questions about calibre2opds then please use the Related Tools sub-forum of the Calibre forum.
- Useful Links
- Issue Register: GitHub includes the capability for recording issues against a project. This is now used to track issues relating to Calibre2opds. If you merely have a question about Calibre2opds then it is recommended that you raise this in the Calibre sub-forum as mentioned above. The idea is to try and use the Issue register for items that are going to result in a code change to Calibre rather than more generic queries.
The Issues Register is used to handle:
- Bug Reports:
You can register any bugs that you encounter. In addition you can provide evidence and feedback on any bug. You will also see what progress (if any) has been made in fixing it. You can also browse the list of known issues to see if something you encounter is already been seen before.
- Feature Requests:
If you want to raise an enhancement request then proceed as if you were raising a bug. This makes it visible to the developers and provides a mechanism for keeping track of status. Ideally you should include the words 'Feature Request' in the issue title to help show which issues are for enhancements rather than for reporting bugs in the existing release..
- Bug Reports:
- Forum: The Related Tools section of the Calibre forum is a good place to ask questions about calibre2odps.
Case Sensitivity in file/folder names in the Calibre Library
In a perfect world the case of file and folder names inside a Calibre library will match the values stored in the Calibre metadata database. However if Calibre is running on a system with a case insensitive file system (e.g Windows) if a case mismatch between the Calibre database and the underlying file system actually happens it is ignored and as a result the user is unaware of such mismatches. If the Calibre library and/or the calibre2opds generated catalog are then run on a case sensitive system (e.g. Linux) then this case mismatch matters. A visible symptom of such a case mismatch in a calibre2opds generated catalog is that the catalog cannot find the underlying eBook files for those books that are affected.
Calibre2opds has now been upgraded to detect such mismatches in case between the Calibre metadata database and the underlying file system. This is handled at two levels:
- The first level is to write warning messages to the calibre2opds log. The user can then peruse the log and use the Calibre program to correct such mismatches. The simplest way to do this in Calibre is to edit the Author by adding an extra character at the end and press OK. Having done this rename the author back to the correct value and press OK again. This double rename strategy will result in the underlying files matching the case set in the calibre metadata database.
- The second level is a new option in calibre2opds (on the Main tab) to get Calibre2opds to automatically rename files to match the case stored in the Calibre database. A secondary benefit of using this approach is that the resulting Calibre library can now be migrated to a system (e.g. Linux) without calibre losing track of the books in the library. One word of caution is that since this option actually changes (slightly) the names of the files in the Calibre library it is advisable to make a backup of your library the first time you use it in case something goes wrong. It is not believed that this is likely as extensive testing has been done to try and avoid it becoming an issue but until feedback is obtained on real-world usage such a precaution is just common sense.
Which of the above approaches is used is up to the user. Feedback on how effective/useful the two options are in real world usage would be appreciated. To help make it more obvious to end-users that there is information of potential interest in the Calibre2opds log file the dialog displayed at the end of a generation run now also displays the counts (if any) of error or warning messages written to the current log. The user can then select the option on the Tools menu to view the current log file to see what messages were logged.
Use Updog.co to continue using Dropbox!
Dropbox has discontinued supporting the ‘Public Folder’ feature that many Calibre2opds users have made use of to host a Calibre2otds generated catalog that can then be used when away from home.
It is now possible to still use Dropbox to host a Calibre2opds generated catalog by fronting it with the service offered by updog.co. Details on how to go about getting the combination of Updog+Dropbox to host your calibre library are covered in the Calibre2opds Online User Guide.
Updog has announced that their service is being shut down on February 8th 2020. Feedback on suitable alternatives would be welcomed.
Issue register now being done via GitHub
Calibre2opds has in the past used the JetBrains YouTrack product for handling issues and feature requests. Unfortunately JetBrains decided the calibre2opds project no longer meets their requirements for providing a free license for Open Source projects and have thus not renewed the projects license for YouTrack. The project could not justify the cost of a paid-for license so as a result we will now use GitHub for handling both Source and Issues going forward.
A list of issues previously handled via YouTrack are included in the Release Notes that are included with each Calibre2opds release. Previous issues to gitHub unless work is being done on them but for those that we do the reference numbers of the form #c2o-nnn that are listed there will be included in any issues that are repeated on GitHub.
The gitHub Issues system does not provide the same level of capability for categorising issues but hopefully will be sufficient to meet our needs. We will continue to treat Feature Requests for enhancements as ‘Issues’. For such requests please include the word ‘Feature Request’ in the title of the issue so it is easier to tell which issues are about bugs and which ones are about new features.