Notika MyLibrary 5.0 mājas bibliotēkas kataloga izlaišana. Programmas kods ir uzrakstīts programmēšanas valodā C++ un ir pieejams (GitHub, GitFlic) saskaņā ar GPLv3 licenci. Lietotāja grafiskais saskarnis ir izstrādāts, izmantojot Qt6 bibliotēku. Programma ir pielāgota darbam operētājsistēmās, kas pieder Linux un Windows ģimenei. Arch Linux lietotājiem pieejams AUR pieejams gatavota pakotņu montēšanas skripts. Windows lietotājiem pieejams ir eksperimentāls instalētājs.
MyLibrary katalogizē grāmatu failus formātos fb2, epub, pdf, djvu, odt, txt, md, pieejamus tieši, kā arī iepakotus arhīvos (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) un izveido savu datubāzi, nemainot sākotnējos failus un to atrašanās vietas. Katalogizācijai ir pieejams arī fbd formāts (grāmatas fails, kas iepakots arhīvā kopā ar fbd paplašinājuma failu, kas satur fb2 formāta description tagu). Fbd formātā var glabāt jebkādus failus, ne tikai grāmatas. Kolekcijas integritātes kontrole un tās izmaiņas tiek veikta, izveidojot failu un arhīvu hash summu datubāzi.
Tiek nodrošināta grāmatu meklēšana pēc dažādiem kritērijiem (autore uzvārds, vārds, tēva vārds, grāmatas nosaukums, sērija, žanrs) un tās lasīšana caur programmu, kas noklusējuma iestatīta sistēmā attiecīgo failu formātu atvēršanai. Izvēloties grāmatu, tiek rādīta grāmatas anotācija un vāka attēls, ja tādi ir pieejami. Atbalsta failu saraksta, kas ietilpst kolekcijā; konkrētā failā iekļauto grāmatu saraksta; kolekcijas autoru saraksta; grāmatu saraksta, kurām lietotājs ir izveidojis piezīmes, attēlošanu.
Ir pieejamas dažādas operācijas ar kolekciju: atjaunināšana (notiek visa kolekcijas pārbaude un salīdzināšana ar pieejamo failu hash summām), ātra atjaunināšana (salīdzina failu izmērus), kolekcijas datubāzes eksportēšana un importēšana, grāmatu pievienošana kolekcijai un grāmatu dzēšana no kolekcijas, grāmatu mapju pievienošana kolekcijai, grāmatu arhīvu pievienošana kolekcijai, grāmatu kolekcijas kopēšana jebkurā mapē. Pieejama manuāla grāmatu ierakstu rediģēšana datubāzē. Ir izveidota grāmatu ātrās piekļuves grāmatzīmju mehānisms. Ir iespēja veidot lietotāja piezīmes pie grāmatām. Pieejams saskarnes interfeiss paplašinājumu izveidei un pieslēgšanai.
MyLibrary var strādāt ar kolekcijām, kas atrodas ārējā serverī (attiecīgajiem mapēm un failiem jābūt pieejamiem SMB protokola caurules un jābūt piestiprinātiem lokālajā datorā, izmantojot gvfs, kio-fuse vai līdzīgus rīkus).
Būtiskas izmaiņas:
- Projekts ir pārgājis uz jauna veida datubāzes (kolekcijas, grāmatzīmes, piezīmes).
- Pievienots saderības slānis ar vecām datu bāzēm: kolekcijas, kas izveidotas iepriekšējās programmas versijās, tiek ielādētas un darbojas ierobežotā funkcionalitātē (izslēgtas datu bāzes rediģēšanas funkcijas un dažas citas), grāmatzīmes un piezīmes — bez jebkādiem ierobežojumiem (vecās datu bāzes tiks automātiski konvertētas jaunajās, kad tiks mainītas piezīmes vai grāmatzīmes).
- Grafiskais interfeiss ir pārgājis uz Qt6 izmantošanu. Mainīta kolekciju izveides funkcijas uzvedība — tagad kolekcijā var pievienot nejaušu mapju un atbalstītu failu komplektu.
- Mainīta kolekciju atjaunināšanas funkcijas uzvedība. Mēģinot atjaunot novecojušas un inpx kolekcijas, tās tiks pārveidotas par nativām. Atjaunojot nativās kolekcijas – ja ātrais atjauninājums tiek veikts - tiek pārbaudīti failu eksistēšana un izmēri, ja faila izmērs ir mainījies – tiks veikta tā atkārtota analīze. Parastā atjaunināšanā tiek pārbaudītas failu hash summas, nevis izmēri.
- Mainīta esošu kolekciju grāmatu pievienošanas funkcijas uzvedība. Jaunas grāmatas tagad tiek pievienotas datu bāzei, neslēdzot attiecīgos failus.
- Uzlabota meklēšanas algoritmu darbība.
- Paātrināta kolekcijas autoru rādīšanas funkcija.
- Pārstrādāts MLBookProc bibliotēkas API un spraudņu pieslēgšanas bibliotēka.
- Uzlabota XML failu analīzes bibliotēkas darbība, pievienota sākotnējā atbalsta versija HTML formātam.
- Izslēgta iespēja izveidot dokumentāciju iekšējām bibliotēkām PDF formātā. Tā vietā pievienota dokumentācija man lapu veidā. Dokumentācija HTML formātā – bez izmaiņām.
- Tagad būvniecībai nepieciešama C++20 standarta atbalsts kompilatoram.
- Obligāti jābūt OpenMP standarta atbalstam kompilatoram.
- Mainīti būvēšanas scenāriji un būvēšanas iespējas.
- Citi nelieli uzlabojumi un izmaiņas.
Papildus jāatzīmē MLFBDPlugin spraudņa atjauninājums (pieejams GPLv3 licenci uz altlinux.space un GitHub, Arch Linux lietotājiem pieejams AUR), kas paredzēts failu izveidei FBD formātā un ir pieejams (altlinux.space, GitHub, AUR (archlinux.org)) zem GPLv3 licences. Jaunajā versijā spraudnis pārsniedz uz Qt6 izmantošanu.
MLInpxPlugin spraudņu repozitoriji ir pārvērsti arhīva režīmā – spraudņa funkcionalitāte ir iekļauta galvenajā programmā.
Avots: linux.org.ru
