Zdarzyło się wydanie katalogizatora domowej biblioteki MyLibrary 5.0. Kod programu został napisany w języku C++ i jest dostępny (GitHub, GitFlic) na licencji GPLv3. Interfejs graficzny został zrealizowany przy użyciu biblioteki Qt6. Program został dostosowany do pracy w systemach operacyjnych rodziny Linux i Windows. Dla użytkowników Arch Linux w AUR dostępne skrypt budowy gotowego pakietu. Dla użytkowników Windows dostępne eksperymentalny instalator.
MyLibrary katalogizuje pliki książek w formatach fb2, epub, pdf, djvu, odt, txt, md, zarówno jako bezpośrednio dostępne, jak i spakowane w archiwa (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) i tworzy własną bazę danych, nie zmieniając oryginalnych plików ani ich lokalizacji. Dla katalogizacji dostępny jest również format fbd (plik książki spakowany w archiwum razem z plikiem z rozszerzeniem fbd, zawierającym tag description w formacie fb2). W formacie fbd mogą być przechowywane dowolne pliki, nie tylko książki. Kontrola integralności kolekcji i jej zmian odbywa się poprzez tworzenie bazy danych sum kontrolnych plików i archiwów.
Zrealizowano wyszukiwanie książek według różnych kryteriów (nazwisko, imię, imię ojca autora, tytuł książki, seria, gatunek) oraz ich czytanie za pomocą programu, domyślnie ustawionego w systemie do otwierania odpowiednich formatów plików. Po wyborze książki wyświetlane są streszczenie i okładka książki, jeśli są dostępne. Obsługiwane jest wyświetlanie listy plików wchodzących w skład kolekcji; listy książek wchodzących w dany plik; listy autorów kolekcji; listy książek, do których użytkownik stworzył notatki.
Możliwości różnorodnych operacji z kolekcją: aktualizacja (sprawdzana jest cała kolekcja i porównywane są sumy kontrolne dostępnych plików), szybka aktualizacja (porównywane są rozmiary plików), eksport i import bazy danych kolekcji, dodawanie książek do kolekcji i usuwanie książek z kolekcji, dodawanie do kolekcji folderów z książkami, dodawanie do kolekcji archiwów z książkami, kopiowanie książek z kolekcji do dowolnego folderu. Dostępne jest ręczne edytowanie zapisów o książkach w bazie danych. Stworzono mechanizm zakładek dla szybkiego dostępu do książek. Istnieje możliwość tworzenia użytkowniczych notatek do książek. Dostępny jest interfejs do tworzenia i podłączania wtyczek.
MyLibrary może działać z kolekcjami znajdującymi się na zewnętrznym serwerze (odpowiednie foldery i pliki muszą być dostępne przez protokół SMB i zamontowane na lokalnym komputerze za pomocą gvfs, kio-fuse lub ich odpowiedników).
Znaczące zmiany:
- Projekt został przetłumaczony na nowy typ baz danych (kolekcje, zakładki, notatki).
- Dodano warstwę zgodności ze starymi bazami danych: kolekcje utworzone w poprzednich wersjach programu są ładowane i działają w trybie ograniczonej funkcjonalności (wyłączone funkcje edytowania bazy danych oraz inne), zakładki i notatki – bez żadnych ograniczeń (stare bazy zostaną automatycznie przekształcone w nowe przy modyfikacji notatek lub zakładek).
- Interfejs graficzny został przetłumaczony na Qt6. Zmieniono zachowanie funkcji tworzenia kolekcji – teraz do kolekcji można dodawać dowolny zestaw folderów oraz obsługiwanych plików.
- Zmieniono zachowanie funkcji aktualizacji kolekcji. Przy próbie aktualizacji przestarzałych i inpx kolekcji zostaną one przekształcone w natywne. Przy aktualizacji natywnych kolekcji – w przypadku szybkiej aktualizacji – sprawdzane są istnienie i rozmiary plików; jeśli rozmiar pliku się zmienił, zostanie dokonana jego ponowna analiza. Przy zwykłej aktualizacji zamiast rozmiarów sprawdzane są sumy kontrolne plików.
- Zmieniono zachowanie funkcji dodawania książek do istniejącej kolekcji. Nowe książki są teraz dodawane do bazy danych bez przenoszenia odpowiednich plików.
- Poprawiono działanie algorytmów wyszukiwania.
- Przyspieszono działanie funkcji wyświetlania autorów kolekcji.
- Przeprojektowano API biblioteki MLBookProc i biblioteki do podłączania wtyczek.
- Poprawiono działanie biblioteki analizy plików xml, dodano wstępną obsługę formatu html.
- Wyłączono możliwość tworzenia dokumentacji wewnętrznych bibliotek w formacie pdf. Zamiast tego dodano dokumentację w postaci stron man. Dokumentacja w formacie html – bez zmian.
- Do kompilacji wymagana jest teraz obsługa standardu C++20 przez kompilator.
- Obowiązkowo wprowadzono wsparcie dla standardu OpenMP przez kompilator.
- Zmieniono skrypty budowy i opcje budowy.
- Inne drobne zmiany i ulepszenia.
Dodatkowo można zauważyć aktualizację wtyczki MLFBDPlugin (dostępnej na licencji GPLv3 na altlinux.space i GitHub, dla użytkowników Arch Linux dostępne w AUR), przeznaczonego do tworzenia plików w formacie fbd i dostępne (altlinux.space, GitHub, AUR (archlinux.org)) na licencji GPLv3. W nowej wersji wtyczka została przetłumaczona na użycie Qt6.
Repozytoria wtyczki MLInpxPlugin zostały przeniesione do trybu archiwalnego – funkcjonalność wtyczki została włączona do głównego programu.
Źródło: linux.org.ru
