โปรแกรมจัดทำรายการหนังสือสำหรับห้องสมุดส่วนตัว MyLibrary เวอร์ชัน 4.0 ได้ถูกปล่อยออกมาแล้ว โค้ดโปรแกรมเขียนด้วยภาษา C++ และสามารถดาวน์โหลดได้ (GitHub, GitFlic) ภายใต้ใบอนุญาต GPLv3 ส่วนติดต่อผู้ใช้แบบกราฟิกนั้นใช้ไลบรารี GTK4 โปรแกรมนี้ได้รับการดัดแปลงให้ใช้งานได้บนระบบปฏิบัติการตระกูลต่อไปนี้: Linux и Windowsสำหรับผู้ใช้ Arch Linux มีสคริปต์สร้างแพ็กเกจสำเร็จรูปให้ใช้งานใน AUR แล้ว สำหรับผู้ใช้งาน Windows มีโปรแกรมติดตั้งเวอร์ชันทดลองให้ใช้งาน
MyLibrary แค็ตตาล็อกไฟล์หนังสือในรูปแบบ fb2, epub, pdf, djvu ทั้งที่มีอยู่โดยตรงและจัดแพคเกจไว้ในไฟล์เก็บถาวร (zip, 7z, jar, cpio, iso, tar, tar.gz, tar.bz2, tar.xz, rar) และ สร้างฐานข้อมูลของตัวเองโดยไม่ต้องเปลี่ยนไฟล์ต้นฉบับหรือเปลี่ยนตำแหน่ง การควบคุมความสมบูรณ์ของคอลเลกชันและการเปลี่ยนแปลงนั้นดำเนินการโดยการสร้างฐานข้อมูลผลรวมแฮชของไฟล์และไฟล์เก็บถาวร
ได้นำระบบค้นหาหนังสือโดยใช้เกณฑ์ต่างๆ (นามสกุล ชื่อจริง ชื่อกลางของผู้แต่ง ชื่อหนังสือ ชุดหนังสือ ประเภท) และการอ่านผ่านโปรแกรมที่ติดตั้งไว้ตามค่าเริ่มต้นในระบบเพื่อเปิดไฟล์ในรูปแบบที่สอดคล้องกัน เมื่อคุณเลือกหนังสือ ระบบจะแสดงเนื้อเรื่องย่อและปกหนังสือ หากมี รองรับการแสดงรายการไฟล์ที่รวมอยู่ในคอลเลกชัน รายชื่อหนังสือที่รวมอยู่ในไฟล์เฉพาะ; รายชื่อผู้แต่งของคอลเลกชัน รายการหนังสือที่ผู้ใช้สร้างบันทึกเอาไว้
สามารถดำเนินการต่างๆ กับคอลเลกชันได้ เช่น การอัปเดต (คอลเลกชันทั้งหมดจะได้รับการตรวจสอบและยืนยันผลรวมแฮชของไฟล์ที่มีอยู่), การอัปเดตอย่างรวดเร็ว (โดยไม่ต้องคำนวณผลรวมแฮชใหม่), การส่งออกและนำเข้าฐานข้อมูลคอลเลกชัน, การเพิ่มหนังสือเข้าในคอลเลกชันและการลบหนังสือออกจากคอลเลกชัน, การเพิ่มโฟลเดอร์ที่มีหนังสือเข้าในคอลเลกชัน, การเพิ่มไฟล์เก็บถาวรที่มีหนังสือเข้าในคอลเลกชัน, การคัดลอกหนังสือจากคอลเลกชันไปยังโฟลเดอร์ที่ต้องการ, การย้ายหนังสือจากคอลเลกชันหนึ่งไปยังอีกคอลเลกชันหนึ่ง สามารถแก้ไขบันทึกหนังสือด้วยตนเองในฐานข้อมูลได้ มีการสร้างกลไกการคั่นหน้าเพื่อให้เข้าถึงหนังสือได้รวดเร็ว เป็นไปได้ที่จะสร้างบันทึกที่กำหนดเองสำหรับหนังสือได้ อินเทอร์เฟซสำหรับการสร้างและการเชื่อมต่อปลั๊กอินเป็นทางเลือก สามารถเปิดเอกสารสำหรับไลบรารี MLBookProc และ MLPluginIfc (รวมอยู่ในโครงการ) ได้ หากมีการสร้างเอกสารดังกล่าวในระหว่างกระบวนการสร้าง
การเปลี่ยนแปลงที่สำคัญ:
- ฟังก์ชันสำหรับการทำงานกับคอลเลกชัน บุ๊กมาร์ก และบันทึกจะถูกย้ายไปยังไลบรารี MLBookProc ที่แยกต่างหาก (สามารถใช้เป็นโครงการที่แยกจากกันโดยสมบูรณ์ได้)
- เพิ่มอินเทอร์เฟซเสริมสำหรับการสร้างและการเชื่อมต่อปลั๊กอิน (MLPluginIfc)

- รองรับการทำงานแบบมัลติเธรดบนพื้นฐานของ OpenMP (มีตัวเลือกการสร้างที่เทียบเท่ากันในด้านฟังก์ชันอยู่ 2 แบบ ได้แก่ บนพื้นฐานของ OpenMP หรือบนพื้นฐานของ std::thread)
- ปรับปรุงประสิทธิภาพของตัวเลือกการสร้างบนพื้นฐาน OpenMP (ดู README)
- ปรับปรุงการปรับสมดุลการโหลด CPU ในรูปแบบการสร้างที่ใช้ std::thread แล้ว
- เพิ่มความสามารถในการสร้างบันทึกที่กำหนดเองสำหรับหนังสือ

- เพิ่มฟังก์ชั่นการแสดงชื่อผู้เขียนคอลเลคชั่น

- เพิ่มฟังก์ชั่นการแสดงหนังสือในคอลเลคชั่นพร้อมบันทึกของผู้ใช้
- ฟังก์ชันสำหรับการวิเคราะห์ไฟล์ที่มีมาร์กอัป XML ได้รับการพัฒนาใหม่
- แก้ไขข้อผิดพลาดในการทำงานกับหนังสือในรูปแบบ djvu
- เพิ่มความสามารถในการปรับแต่งสีของเฟรมวิดเจ็ต Gtk::Frame (ผู้ใช้ที่เปลี่ยนการตั้งค่าลักษณะที่ปรากฏจะต้องเพิ่มส่วนแทรก "#MLFrame {border-color: black;}" ลงในไฟล์ ~/.config/MyLibrary/MLStyles.css ด้วยตนเอง หรือลบไฟล์นี้แล้วกำหนดค่าลักษณะที่ปรากฏใหม่)
- มีการสร้างเอกสารสำหรับไลบรารี MLBookProc แล้ว

- มีการสร้างเอกสารสำหรับ MLPluginIfc แล้ว
- ตัวเลือกการสร้าง USE_TBB ได้ถูกลบออก (หากจำเป็น ไลบรารี tbb จะเชื่อมต่อโดยอัตโนมัติแล้ว)
- การเปลี่ยนแปลงและการปรับปรุงเล็กน้อยอื่น ๆ
สิ่งที่ควรทราบอีกอย่างคือการเปิดตัวปลั๊กอิน MLInpxPlugin ปลั๊กอินนี้ออกแบบมาเพื่อนำเข้าชุดหนังสือจากไฟล์ "inpx" และสามารถดาวน์โหลดได้จาก (altlinux.space, GitHub) ภายใต้ใบอนุญาต GPLv3 สำหรับผู้ใช้ Arch Linux Linux มีสคริปต์สร้างแพ็กเกจสำเร็จรูปให้ใช้งานใน AUR แล้ว สำหรับผู้ใช้งาน Windows ได้มีการเตรียมโปรแกรมติดตั้งแบบทดลองไว้แล้ว
ที่มา: opennet.ru




