A avut loc lansarea catalogatorului de biblioteci de acasă MyLibrary 4.3. Codul programului este scris în limbajul de programare C++ și este disponibil (GitHub, GitFlic) sub licența GPLv3. Interfața grafică a utilizatorului este realizată cu ajutorul bibliotecii GTK4. Programul este adaptat pentru a funcționa pe sistemele de operare din familia Linux și Windows. Pentru utilizatorii Arch Linux, un script de construire a pachetului este disponibil în AUR. Pentru utilizatorii Windows, este disponibil un installer experimental.
MyLibrary cataloghează fișierele de cărți în formatele fb2, epub, pdf, djvu, odt, txt, md, atât cele disponibile direct, cât și cele arhivate (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) și creează o bază de date proprie, fără a modifica fișierele originale sau a le schimba pozițiile. Pentru catalogare este disponibil și formatul fbd (fișier de carte arhivat împreună cu un fișier cu extensia fbd care conține eticheta description în format fb2). În formatul fbd pot fi stocate orice fișiere, nu doar cărți. Controlul integrității colecției și al modificărilor acesteia se realizează prin crearea unei baze de date de hash-uri ale fișierelor și arhivelor.
S-a implementat căutarea cărților după diferite criterii (nume, prenume, patronim al autorului, titlul cărții, serie, gen) și citirea acestora prin programul setat implicit în sistem pentru deschiderea formatelor de fișiere corespunzătoare. Atunci când se selectează o carte, se afișează rezumatul și coperta cărții, dacă sunt disponibile. Se suportă afișarea listei de fișiere incluse în colecție; lista cărților dintr-un anumit fișier; lista autorilor colecției; lista cărților pentru care utilizatorul a creat notițe.
Sunt posibile diverse operațiuni cu colecția: actualizare (se efectuează o verificare întreaga a colecției și compararea hash-urilor fișierelor disponibile), actualizare rapidă (fără recalcularea hash-urilor), export și import al bazei de date a colecției, adăugarea cărților în colecție și eliminarea cărților din colecție, adăugarea de foldere cu cărți în colecție, adăugarea de arhive cu cărți în colecție (inclusiv împachetarea cărților și/sau folderelor în timpul adăugării), copierea cărților din colecție într-un folder arbitrar, mutarea cărților dintr-o colecție în alta. Este disponibilă editarea manuală a înregistrărilor despre cărți în baza de date. A fost creat un mecanism de marcaje pentru acces rapid la cărți. Există posibilitatea de a crea note personalizate pentru cărți. Opțional, este disponibilă o interfață pentru crearea și conectarea plugin-urilor. Există posibilitatea de a deschide documentația pentru bibliotecile MLBookProc, MLPluginIfc și XMLParserCPP (care fac parte din proiect), dacă aceasta a fost creată în timpul construirii.
Modificări semnificative:
- Metodele pentru lucrul cu fișiere XML sunt incluse în biblioteca XMLParserCPP (care face parte din biblioteca MLBookProc și poate fi utilizată complet independent).
- Pentru biblioteca XMLParserCPP, a fost creată documentația.
- Au fost corectate erorile în procesarea fișierelor XML incorect formulate.
- Biblioteca MLBookProc a fost convertită pentru a folosi std::exception ca indicator de erori.
- Unele metode și clase din biblioteca MLBookProc au fost marcate ca fiind învechite (detalii în documentație).
- În construcția bazată pe std::thread, s-a adăugat o distribuție explicită a firelor de execuție pe nucleele procesorului pentru unele funcții.
- A fost accelerată afișarea coperților de cărți.
- A fost îmbunătățită funcționalitatea căutărilor.
- A fost îmbunătățit modul de gestionare a codificărilor textului.
- Funcția de actualizare rapidă a colecției a fost extinsă cu o verificare a existenței fișierelor în arhive.
De asemenea, au fost actualizate recomandările pentru utilizarea programului. În special, se poate menționa următoarele:
- Strigătul de căutare „Nume de familie” poate fi utilizat ca un șir de căutare universal pentru autori. Adică, utilizatorii pot introduce numele de familie, prenumele, patronimul și/sau pseudonimul autorului, nu doar numele de familie.
- Cărțile din colecție pot fi găzduite pe un externe server. În acest caz, utilizatorii trebuie să configureze accesul la server prin protocolul SMB, după care să monteze pe mașinile-client directorul părinte al colecției folosind gvfs, kio-fuse sau echivalente (menținând autentificarea pe durata sesiuni, dacă este necesar). Dacă totul a fost configurat corect, MyLibrary va putea funcționa cu folderele conectate în rețea la fel ca și cu cele locale, fără setări suplimentare. Pentru a accelera funcționarea, după conectarea prin protocolul SMB, colecțiile pot fi create doar pe un singur PC, după care se poate utiliza funcțiile de export și import a bazei de date a colecției.
De asemenea, se remarcă actualizarea pluginului MLInpxPlugin, destinat importului colecțiilor din fișiere inpx (disponibil sub licența GPLv3 pe altlinux.space și GitHub). Pentru utilizatorii Arch Linux, un script de construcție a pachetului este disponibil în AUR. Schimbările din noua versiune constau în adăugarea distribuției explicite a firelor de execuție pe nucleele procesorului în construcția bazată pe std::thread.
De asemenea, se remarcă actualizarea pluginului MLFBDPlugin, destinat creării fișierelor în format fbd. În noua versiune, pluginul a fost convertit pentru a utiliza biblioteca XMLParserCPP pentru salvarea fișierelor în format XML, iar unele erori au fost corectate.
Sursa: opennet.ro
