MyLibrary 5.0

MyLibrary 5.0 MyLibrary 5.0 MyLibrary 5.0 MyLibrary 5.0

Took place Release of the MyLibrary 5.0 home library cataloger. The program code is written in C++ and is available (GitHub, GitFlic) under the GPLv3 license. The graphical user interface is implemented using the Qt6 library. The program is adapted for operation in Linux and Windows operating systems. For Arch Linux users, the AUR is available build script of the packaged application is ready. For Windows users is available an experimental installer is available.

MyLibrary catalogs book files in fb2, epub, pdf, djvu, odt, txt, md formats, both directly available 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 (a book file packed in an archive with a file with the fbd extension containing the fb2 format description tag) 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 checksums.

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 an external server (the corresponding folders and files must be accessible via the SMB protocol and mounted on the local computer using gvfs, kio-fuse, or their analogs).

Significant changes:

  • The project has been translated to use a new type databases (collections, bookmarks, notes).
  • A compatibility layer with older 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 are unrestricted (old databases will be automatically converted to new ones when notes or bookmarks are modified).
  • The graphical interface has been updated to use Qt6. The behavior of the collection creation function has changed—now, you can add any arbitrary set of folders and supported files to a collection.
  • The behavior of the collection update function has been modified. When attempting to update outdated and inpx collections, they will be converted to native ones. When updating native collections—if a quick update is performed—the existence and sizes of files are checked; if the file size has changed, it will be re-parsed. In a standard update, hashes of files 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 is now available in the form of man pages. 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 MLFBDPlugin has been updated (available under GPLv3 license at altlinux.space and GitHub, for Arch Linux users is available in AUR), designed for creating files in fbd format and available (altlinux.space, GitHub, AUR (archlinux.org)) under GPLv3 license. In the new version, the plugin has been updated to use Qt6.

The repositories for the MLInpxPlugin have been switched to archive mode – the plugin's functionality is included in the main program.

Source: linux.org.ru

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