Die Veröffentlichung des Katalogisierers für die private Bibliothek MyLibrary 4.3 hat stattgefunden. Der Programmcode ist in C++ geschrieben und ist (GitHub, GitFlic) unter der GPLv3-Lizenz verfügbar. Die Benutzeroberfläche wurde mit der GTK4-Bibliothek realisiert. Das Programm ist für die Verwendung auf Betriebssystemen der Linux-Familie und Windows angepasst. Für Arch Linux-Benutzer ist im AUR ein Build-Skript für das fertige Paket verfügbar. Für Windows-Benutzer steht ein experimenteller Installer zur Verfügung.
MyLibrary katalogisiert Buchdateien im Format fb2, epub, pdf, djvu, odt, txt, md, sowohl direkt als auch in Archiven (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) und erstellt eine eigene Datenbank, ohne die Quelltexte zu ändern oder ihre Position zu verändern. Für die Katalogisierung ist auch das Format fbd verfügbar (eine Buchdatei, die in einem Archiv zusammen mit einer fbd-Datei verpackt ist, die den Tag „description“ im fb2-Format enthält). Im fbd-Format können beliebige Dateien gespeichert werden, nicht nur Bücher. Die Integrität der Sammlung und deren Änderungen wird durch die Erstellung einer Datenbank mit Hash-Summen der Dateien und Archive sichergestellt.
Es wird eine Buchsuche nach verschiedenen Kriterien (Nachname, Vorname, Vatersname des Autors, Buchtitel, Serie, Genre) sowie deren Lesemöglichkeit über das im System standardmäßig installierte Programm für die entsprechenden Dateiformate angeboten. Bei Auswahl eines Buches werden die Zusammenfassung und das Cover des Buches angezeigt, sofern diese verfügbar sind. Es wird eine Liste der Dateien, die zur Sammlung gehören, sowie eine Liste der Bücher, die in einer bestimmten Datei enthalten sind, eine Liste der Autoren der Sammlung und eine Liste der Bücher, für die der Benutzer Notizen erstellt hat, unterstützt.
Es sind verschiedene Operationen mit der Sammlung möglich: Aktualisierung (es wird die gesamte Sammlung überprüft und die Hash-Summen der verfügbaren Dateien werden abgeglichen), schnelle Aktualisierung (ohne Neuberechnung der Hash-Summen), Export und Import der Sammlungsdatenbank, Hinzufügen von Büchern zur Sammlung und Entfernen von Büchern aus der Sammlung, Hinzufügen von Ordnern mit Büchern zur Sammlung, Hinzufügen von Archiven mit Büchern zur Sammlung (einschließlich der Verpackung von Büchern und/oder Ordnern während des Hinzufügens), Kopieren von Büchern der Sammlung in einen beliebigen Ordner, Verschieben von Büchern von einer Sammlung in eine andere. Manuelle Bearbeitung von Bucheinträgen in der Datenbank ist verfügbar. Ein Lesezeichen-Mechanismus wurde eingerichtet, um einen schnellen Zugang zu Büchern zu ermöglichen. Es besteht die Möglichkeit, benutzerdefinierte Notizen zu Büchern zu erstellen. Optional ist eine Schnittstelle zur Erstellung und Integration von Plugins verfügbar. Es besteht die Möglichkeit, die Dokumentation für die Bibliotheken MLBookProc, MLPluginIfc und XMLParserCPP (die Teil des Projekts sind) zu öffnen, sofern diese im Laufe der Erstellung erstellt wurde.
Wesentliche Änderungen:
- Die Methoden zur Arbeit mit XML-Dateien wurden in die Bibliothek XMLParserCPP ausgegliedert (die Teil der Bibliothek MLBookProc ist, aber vollständig unabhängig verwendet werden kann).
- Für die Bibliothek XMLParserCPP wurde eine Dokumentation erstellt.
- Fehler beim Verarbeiten von falsch formatierten XML-Dateien wurden behoben.
- Die Bibliothek MLBookProc wurde auf die Verwendung von std::exception als Fehlerindikator umgestellt.
- Einige Methoden und Klassen der Bibliothek MLBookProc wurden als veraltet markiert (Details in der Dokumentation).
- In der Version basierend auf std::thread wurde für einige Funktionen eine explizite Verteilung der Threads auf die CPU-Kerne hinzugefügt.
- Die Anzeige der Buchcover wurde beschleunigt.
- Die Suchfunktionen wurden verbessert.
- Die Arbeit mit Textkodierungen wurde optimiert.
- In die Funktion zur schnellen Aktualisierung der Sammlung wurde eine Überprüfung auf das Vorhandensein von Dateien in Archiven hinzugefügt.
Auch die Empfehlungen zur Nutzung des Programms wurden aktualisiert. Besonders hervorzuheben sind folgende Punkte:
- Der Suchbegriff „Nachname“ kann als universeller Suchbegriff für Autoren verwendet werden. Das heißt, Benutzer können darin den Nachnamen, Vornamen, Zweitnamen und/oder das Pseudonym des Autors eingeben und nicht nur den Nachnamen.
- Die Bücher der Sammlung können auf einem externen Serverplatziert werden. In diesem Fall müssen die Benutzer den Zugriff auf zu einem Server über das SMB-Protokoll konfigurieren und anschließend den übergeordneten Ordner der Sammlung auf den Clientmaschinen mithilfe von gvfs, kio-fuse oder ähnlichem einbinden (unter Beibehaltung der Authentifizierung während der Sitzung, falls erforderlich). Wenn alles korrekt konfiguriert wurde, kann MyLibrary mit über das Netzwerk verbundenen Ordnern ebenso arbeiten wie mit lokalen, ohne zusätzliche Einstellungen. Um die Leistung zu steigern, können Sammlungen nach der Verbindung über das SMB-Protokoll nur auf einem PC erstellt werden, anschließend können die Funktionen zum Exportieren und Importieren der Datenbank der Sammlung genutzt werden.
Zusätzlich ist das Update des Plugins MLInpxPlugin erwähnenswert, das für den Import von Sammlungen aus inpx-Dateien vorgesehen ist (verfügbar unter der GPLv3-Lizenz auf altlinux.space und GitHub). Für Arch Linux-Benutzer steht im AUR ein Build-Skript für das fertige Paket zur Verfügung. Die Änderungen in der neuen Version bestehen hauptsächlich in der Hinzufügung einer expliziten Verteilung der Threads auf die CPU-Kerne in der Version basierend auf std::thread.
Außerdem wurde das Plugin MLFBDPlugin aktualisiert, das für die Erstellung von Dateien im fbd-Format vorgesehen ist. In der neuen Version wurde das Plugin auf die Verwendung der Bibliothek XMLParserCPP umgestellt, um Dateien im XML-Format zu speichern, und einige Mängel wurden behoben.
Quelle: opennet.ru
