Release of MyLibrary Home Library Organizer 4.3

The release of the home library cataloger MyLibrary 4.3 has taken place. The program code is written in C++ and is available (GitHub, GitFlic) under the GPLv3 license. The graphical user interface is implemented using the GTK4 library. The program is adapted for operation in Linux and Windows operating systems. For Arch Linux users, a build script for a ready-made package is available in AUR. For Windows users, an experimental installer is provided.

MyLibrary catalogs book files in formats fb2, epub, pdf, djvu, odt, txt, md, both directly accessible and packed in archives (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), and creates its own database without modifying the original files or changing their locations. The fbd format (a book file packed in an archive along with a file with an fbd extension containing the description tag of the fb2 format) is also available for cataloging. Any files can be stored in the fbd format, not just books. The integrity of the collection and its changes are monitored by creating a database of file and archive hash sums.

The program implements book searching based on various criteria (author's last name, first name, patronymic, book title, series, genre) and reading through the program set as default in the system for opening the corresponding file formats. When selecting a book, a synopsis and cover are displayed if available. Support is provided for displaying the list of files in the collection; the list of books in a specific file; the list of authors in the collection; and the list of books for which the user has created notes.

Various operations can be performed on the collection: updating (which involves checking the entire collection and verifying the hash sums of available files), quick updating (without recalculating hash sums), exporting and importing the collection database, adding books to the collection and removing books from the collection, adding folders with books to the collection, adding archives with books to the collection (including packaging books and/or folders during the addition), copying collection books to any folder, moving books from one collection to another. Manual editing of book records in the database is available. A bookmarking mechanism for quick access to books has been created. There is an option to create user notes for books. An interface for creating and connecting plugins is optionally available. Documentation for the libraries MLBookProc, MLPluginIfc, and XMLParserCPP (included in the project) can be opened if created during the build process.

Significant changes:

  • Methods for working with XML files have been moved to the XMLParserCPP library (included in the MLBookProc library, can be used completely independently).
  • Documentation for the XMLParserCPP library has been created.
  • Errors in handling incorrectly formatted XML files have been fixed.
  • The MLBookProc library has been updated to use std::exception as the error indicator.
  • Some methods and classes of the MLBookProc library have been deprecated (details in the documentation).
  • In the std::thread-based build, explicit thread distribution across CPU cores has been added for some functions.
  • The display of book covers has been accelerated.
  • Search functions have been improved.
  • Text encoding handling has been enhanced.
  • The quick update function has been enhanced to check for file presence in archives.

The usage recommendations for the program have also been updated. In particular, the following can be noted:

  • The search string 'Last Name' can be used as a universal search string for authors. This means users can enter a last name, first name, patronymic, and/or pseudonym of the author, not just the last name.
  • Books in the collection can be hosted externally server. In this case, users need to configure access to server via the SMB protocol, after which they can mount the parent folder of the collection on client machines using gvfs, kio-fuse, or similar tools (keeping authentication throughout the session if required). If everything is set up correctly, MyLibrary will be able to work with network-mounted folders just like local ones, without any additional configuration. To speed up the process, after connecting via SMB, collections can only be created on one PC, after which the export and import features of the collection database can be used.

Additionally, the MLInpxPlugin has been updated, intended for importing collections from inpx files (available under GPLv3 on altlinux.space and GitHub). For Arch Linux users, a build script for a ready package is available in AUR. Changes in the new version include the addition of explicit thread distribution across CPU cores in the std::thread-based build.

The MLFBDPlugin has also been updated, which is intended for creating files in fbd format. In the new version, the plugin has been transitioned to using the XMLParserCPP library for saving files in XML format, and some minor bugs have been fixed.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster