Release of the MyLibrary 5.0 home library catalog

The release of the MyLibrary 5.0 home library cataloger has taken place. The program code is written in C++ and is available (GitHub, GitFlic) under the GPLv3 license. The user interface is implemented using the Qt6 library. The program is adapted to work on Linux and Windows operating systems. For Arch Linux users, a build script for a ready package is available in AUR. An experimental installer is available for Windows users.

MyLibrary catalogs book files in fb2, epub, pdf, djvu, odt, txt, md formats, both accessible directly and packed in archives (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar), and creates its own database without altering the original files or changing their locations. The fbd format (book file packed in an archive along with a file with an fbd extension containing a description tag in fb2 format) is also available for cataloging. Any files can be stored in the fbd format, not just books. Integrity checking of the collection and its changes is performed 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 are possible with the collection: updating (a check of the entire collection and verification of checksums of available files is carried out), fast updating (file sizes are compared), 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, copying collection books to any folder. Manual editing of book records in the database is available. A bookmarking mechanism for quick access to books has been created. There is a feature for creating user notes for books. An interface for creating and connecting plugins is available.

MyLibrary can work with collections located on external server (the relevant folders and files must be accessible via the SMB protocol and mounted on the local computer using gvfs, kio-fuse, or their equivalents).

Significant changes:

  • The project has switched to using a new type of database (collections, bookmarks, notes).
  • A compatibility layer with old databases has been added: collections created in previous versions of the program are loaded and operate in a limited functionality mode (database editing features and some others are disabled), while bookmarks and notes have no restrictions (old databases will be automatically converted to new ones when bookmarks or notes are modified).
  • The graphical interface has been transitioned to use Qt6. Release of the MyLibrary 5.0 home library catalog
  • The behavior of the collection creation function has been changed — now an arbitrary set of folders and supported files can be added to a collection. Release of the MyLibrary 5.0 home library catalog
  • A feature for creating collections from inpx files has been added. The contents of inpx files will be loaded "on the fly" when switching to the corresponding collection. Inpx collections operate in a limited functionality mode (database editing features and some others are disabled). Release of the MyLibrary 5.0 home library catalog
  • The behavior of the collection update function has been changed. When attempting to update deprecated and inpx collections, they will be converted to native ones. During the update of native collections, in the case of a fast update, the presence and sizes of files are checked; if the file size has changed, it will be re-parsed. For a regular update, file hashes are checked instead of sizes.
  • The behavior of adding books to an existing collection has been changed. New books are now added to the database without moving the corresponding files.
  • Search algorithms have been improved.
  • The function for displaying collection authors has been accelerated.
  • The API of the MLBookProc library and the plugin connection library has been redesigned.
  • The XML file parsing library has been improved, with initial support for the HTML format added.
  • The ability to create documentation for internal libraries in PDF format has been disabled. Instead, documentation in the form of man pages has been added. The documentation in HTML format remains unchanged.
  • Support for C++20 standard by the compiler is now required for building.
  • Support for the OpenMP standard by the compiler has been made mandatory.
  • Build scripts and build options have been modified.
  • Other minor changes and improvements.

Additionally, the update of the MLFBDPlugin (available under GPLv3 on altlinux.space and GitHub; for Arch Linux users, it is available in AUR), designed to create files in fbd format, can be noted. In the new version, the plugin has been switched to use Qt6. Release of the MyLibrary 5.0 home library catalog

The first release of the MLArchiverPlugin can also be noted. The plugin is intended for creating and editing archives and is available (altlinux.space, GitHub, AUR) under GPLv3.

The repositories of the MLInpxPlugin have been switched to archive mode — the functionality of the plugin has been incorporated into the main program.

Source: opennet.ru

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