Por favor, use este identificador para citar o enlazar este ítem: http://elartu.tntu.edu.ua/handle/lib/52721
Título : Розробка модуля попередньої підготовки текстового контенту для CMS Magento
Otros títulos : Development of a Text Content Pre-Processing Module for the Magento CMS
Autor : Цимбалістий, Назарій Романович
Tsymbalistyi, Nazariy
Affiliation: Тернопільський національний технічний університет імені ім. І. Пулюя
Bibliographic reference (2015): Цимбалістий Н. Р. Розробка модуля попередньої підготовки текстового контенту для CMS Magento : робота на здобуття кваліфікаційного ступеня бакалавра : спец. 122 - комп’ютерні науки / наук. кер. В. А. Готович. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2026. 78 с.
Fecha de publicación : 25-jun-2026
Submitted date: 11-jun-2026
Date of entry: 25-jun-2026
Editorial : Тернопільський національний технічний університет імені ім. І. Пулюя
Country (code): UA
Place of the edition/event: Тернопіль
Supervisor: Готович, Володимир Анатолійович
Gotovych, Volodymyr
UDC: 004.896:004.65
Palabras clave : 122
комп’ютерні науки
препроцесор контенту
пакетна обробка
e-commerce
content preprocessor
magento
pyqt5
beautifulsoup4
mvc
batch processing
Page range: 78
Resumen : Кваліфікаційна робота присвячена розробці програмного модуля попередньої підготовки текстового HTML-контенту для системи управління контентом Magento. Актуальність роботи зумовлена відсутністю спеціалізованих десктопних інструментів для автоматизованого очищення та конвертації контенту відповідно до специфічних вимог платформи Magento 2. У першому розділі проведено аналіз предметної області: досліджено архітектуру CMS Magento та її вимоги до вхідного HTML-контенту, розглянуто типові проблеми при імпорті контенту товарів, обґрунтовано вибір технологічного стеку та архітектурного патерну MVC, сформульовано функціональні та нефункціональні вимоги до модуля. У другому розділі описано проектування модуля: розроблено структуру класів за патерном MVC, спроектовано алгоритми очищення HTML, форматування plain-text та конвертації контенту для чотирьох типів полів Magento 2. Описано архітектуру сервісного шару та механізм взаємодії компонентів через Qt-сигнали. У третьому розділі описано реалізацію та тестування: наведено ключові фрагменти програмного коду, описано графічний інтерфейс з підтримкою одиночного та пакетного режимів роботи, представлено систему модульного тестування на основі pytest. Наведено результати тестування на реальних даних. Об'єкт дослідження: процес підготовки текстового HTML-контенту для завантаження в CMS Magento. Предмет дослідження: методи та алгоритми автоматизованого очищення, нормалізації та конвертації HTML-розмітки відповідно до вимог платформи Magento 2.
The qualification work is dedicated to the development of a software module for pre-processing HTML text content for the Magento content management system. The relevance of the work is determined by the lack of specialized desktop tools for automated cleaning and conversion of content according to the specific requirements of the Magento 2 platform. The first section provides an analysis of the subject domain: the Magento CMS architecture and its HTML content requirements are studied, typical problems in importing product content are identified, the technology stack and MVC architectural pattern are justified, and functional and non-functional requirements for the module are formulated. The second section describes the module design: the class structure based on the MVC pattern is developed, algorithms for HTML cleaning, plain-text formatting, and content conversion for four types of Magento 2 fields are designed. The architecture of the service layer and the mechanism of component interaction via Qt signals are described. The third section covers implementation and testing: key code fragments are presented, the graphical user interface supporting single and batch processing modes is described, and the unit testing system based on pytest is introduced. Testing results on real data are presented. Object of research: the process of preparing text HTML content for loading into the Magento CMS. Subject of research: methods and algorithms for automated cleaning, normalization and conversion of HTML markup in accordance with the requirements of the Magento 2 platform.
Descripción : Роботу виконано на кафедрі комп'ютерних наук Тернопільського національного технічного університету імені Івана Пулюя. Захист відбудеться 25.06.2026р. на засіданні екзаменаційної комісії №31 у Тернопільському національному технічному університеті імені Івана Пулюя
Content: РОЗДІЛ 1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ОБҐРУНТУВАННЯ ПІДХОДІВ ДО РОЗРОБКИ МОДУЛЯ ПІДГОТОВКИ КОНТЕНТУ ДЛЯ CMS MAGENTO 14 1.1 Загальна характеристика платформи CMS Magento та її місце на ринку електронної комерції 14 1.2 Архітектура Magento 2 в контексті задачі управління контентом 16 1.3 Детальний аналіз вимог Magento 2 до HTML-контенту полів товарної картки 18 1.3.1 Поле description – повний HTML-опис товару 18 1.3.2 Поле short_description – короткий опис 18 1.3.3 Поля CMS Static Block і CMS Page 19 1.4 Аналіз типових джерел контенту та проблем сумісності 19 1.4.1 Контент з Microsoft Word і Google Docs 19 1.4.2 Контент із прайс-листів постачальників 20 1.5 Огляд та порівняльний аналіз існуючих інструментів підготовки контенту 20 1.5.1 Онлайн-сервіси очищення HTML 20 1.5.2 Вбудовані засоби Magento 21 1.5.3 Програмні бібліотеки 21 1.6 Обґрунтування вибору технологічного стеку 22 1.6.1 Мова програмування Python 22 1.6.2 Фреймворк PyQt5 для GUI 23 1.6.3 Бібліотека BeautifulSoup4 24 1.6.4 Бібліотека pandas 24 1.7 Архітектурний патерн MVC та його застосування у модулі підготовки контенту 25 1.8 Аналіз алгоритмів очищення та нормалізації HTML 26 1.9 Постановка задачі розробки модуля підготовки контенту для CMS Magento 27 1.9.1 Функціональні вимоги 27 1.9.2 Нефункціональні вимоги 28 1.10 Висновки до першого розділу 28 РОЗДІЛ 2. ПРОЕКТУВАННЯ МОДУЛЯ ПОПЕРЕДНЬОЇ ПІДГОТОВКИ ТЕКСТОВОГО КОНТЕНТУ ДЛЯ CMS MAGENTO 30 2.1 Загальна архітектура модуля та структура проекту 30 2.2 Проектування шару моделей 31 2.2.1 Клас ContentItem 32 2.2.2 Клас ProcessingResult 33 2.2.3 Клас AppSettings 34 2.2.4 Клас BatchTask 35 2.3 Проектування сервісного шару 36 2.3.1 Сервіс HtmlCleaner 36 2.3.2 Сервіс MagentoConverter 37 2.3.3 Сервіс BatchProcessor та алгоритм визначення кодування 39 2.4 Проектування шару контролерів 40 2.4.1 Клас MainController – pipeline обробки 41 2.4.2 Клас BatchController – фонове виконання через QThread 42 2.4.3 Клас SettingsController – синхронізація налаштувань 42 2.5 Проектування графічного інтерфейсу користувача 42 2.6 Проектування системи валідації вхідних даних 44 2.7 Проектування системи логування 44 2.8 Проектування системи констант 45 2.9 Діаграма взаємодії компонентів при обробці контенту 45 2.10 Висновки до другого розділу 47 РОЗДІЛ 3. РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ МОДУЛЯ ПОПЕРЕДНЬОЇ ПІДГОТОВКИ ТЕКСТОВОГО КОНТЕНТУ ДЛЯ CMS MAGENTO 48 3.1 Організація процесу розробки та середовище виконання 48 3.2 Реалізація точки входу та ініціалізації застосунку 49 3.3 Реалізація шару моделей 50 3.3.1 Реалізація класу ContentItem 50 3.3.2 Реалізація класу ProcessingResult 50 3.4 Реалізація сервісу HtmlCleaner 50 3.4.1 Метод clean_html() – основний алгоритм 51 3.4.2 Метод _get_text_with_links() та нормалізація пробілів 51 3.5 Реалізація сервісу MagentoConverter 52 3.5.1 Диспетчер та методи конвертації 52 3.5.2 Методи санітизації атрибутів та генерації SEO-метаданих 53 3.6 Реалізація сервісу TextFormatter 53 3.6.1 Виявлення та конвертація URL і email 53 3.6.2 Автоматичне виявлення та форматування списків 54 3.7 Реалізація контролерів та механізму Qt-сигналів 54 3.7.1 Реалізація BatchController – фонове виконання 55 3.8 Реалізація графічного інтерфейсу 55 3.8.1 Реалізація вкладки EditorTab 56 3.8.2 Реалізація вкладок PreviewTab та SettingsTab 57 3.9 Реалізація системи модульного тестування 58 3.10 Результати виконання тестів та вимірювання покриття 58 3.11 Висновки до третього розділу 61 РОЗДІЛ 4. БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ, ОСНОВИ ОХОРОНИ ПРАЦІ 62 4.1 Критичні стани людини 62 4.2 Заходи, що покращують умови праці оператора 65 4.3 Висновки до четвертого розділу 68 ВИСНОВКИ 70 ПЕРЕЛІК ДЖЕРЕЛ 74 ДОДАТКИ
URI : http://elartu.tntu.edu.ua/handle/lib/52721
Copyright owner: © Цимбалістий Назарій Романович, 2026
References (Ukraine): 1. Global retail e-commerce sales 2022–2030 [Електронний ресурс] // Statista. – 2026. – Режим доступу: https://www.statista.com/statistics/379046/worldwide-retail-e-commerce-sales/ (дата звернення: 12.05.2026).
2. Готович В. А., Мачужак А. В. Застосування методології CI/CD для автоматизації процесів тестування та розгортання програмного забезпечення // XI Міжнародна науково-практична конференція молодих учених та студентів „Актуальні задачі сучасних технологій“, 7-8 грудня 2022 року. – Т. : ТНТУ, 2022. – С. 131–132. – (Комп’ютерно-інформаційні технології та системи зв’язку)
3. Anaya M. Clean Code in Python: Develop maintainable and efficient code. 2nd ed. – Birmingham: Packt Publishing, 2021. – 422 p.
4. Product workspace [Електронний ресурс] // Adobe Commerce Documentation. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/catalog/products/product-workspace (дата звернення: 12.05.2026).
5. Козак В. І., Готович В. А. Дослідження варіантів проектування інтерфейсу користувача в інформаційних інтерактивних аналітичних панелях // Матеріали XII Міжнародної науково-практичної конференції молодих учених та студентів „Актуальні задачі сучасних технологій“. – ФОП Паляниця В. А., 2023. – С. 385–386
6. Shopify: The All-in-One Commerce Platform [Електронний ресурс] // Shopify. – Режим доступу: https://www.shopify.com/ (дата звернення: 13.05.2026).
7. SaaS Ecommerce: Fast, Secure, and Scalable Solutions [Електронний ресурс] // BigCommerce. – 2026. – Режим доступу: https://www.bigcommerce.com/articles/ecommerce/saas-ecommerce/ (дата звернення: 14.05.2026).
8. Product attributes overview [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/catalog/product-attributes/product-attributes (дата звернення: 14.05.2026).
9. Module Overview [Електронний ресурс] // Adobe Commerce Developer Documentation. – 2024. – Режим доступу: https://developer.adobe.com/commerce/php/architecture/modules/overview/ (дата звернення: 15.05.2026).
10. Learn about catalog import options that come native with Adobe Commerce [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-learn/tutorials/catalog/catalog-import (дата звернення: 15.05.2026).
11. Cache management [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/systems/tools/cache-management (дата звернення: 16.05.2026).
12. Product settings – Content [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/catalog/products/settings/product-content (дата звернення: 16.05.2026).
13. Product data attributes reference [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/systems/data-transfer/data-attributes-product (дата звернення: 16.05.2026).
14. Add and remove pages [Електронний ресурс] // Adobe Commerce Documentation. – 2026. – Режим доступу: https://experienceleague.adobe.com/en/docs/commerce-admin/content-design/elements/pages/page-add (дата звернення: 16.05.2026).
15. Raggett D. Clean up your Web pages with HTML TIDY [Електронний ресурс] // W3C. – Режим доступу: https://www.w3.org/People/Raggett/tidy/ (дата звернення: 17.05.2026).
16. Codec registry and base classes [Електронний ресурс] // Python Documentation. – Режим доступу: https://docs.python.org/3/library/codecs.html (дата звернення: 18.05.2026).
17. PrestaShop: Create an online shop easily [Електронний ресурс] // PrestaShop. – Режим доступу: https://prestashop.com/ (дата звернення: 18.05.2026).
18. WooCommerce – WordPress plugin [Електронний ресурс] // WordPress.org. – Режим доступу: https://wordpress.org/plugins/woocommerce/ (дата звернення: 18.05.2026).
19. HTML Cleaner – Word To HTML Converter [Електронний ресурс]. – Режим доступу: https://html-cleaner.com/ (дата звернення: 20.05.2026).
20. DirtyMarkup: HTML Beautifier [Електронний ресурс]. – Режим доступу: https://www.10bestdesign.com/dirtymarkup/ (дата звернення: 21.05.2026).
21. Tidy Documentation [Електронний ресурс] // HTML Tidy. – Режим доступу: https://www.html-tidy.org/documentation/ (дата звернення: 07.06.2026).
22. Configure the TinyMCE editor [Електронний ресурс] // Adobe Commerce Developer Documentation. – Режим доступу: https://developer.adobe.com/commerce/frontend-core/ui-components/components/wysiwyg/configure-tinymce-editor/ (дата звернення: 07.06.2026).
23. Готович В. А., Граб Д. В. Актуальність задачі розробки модуля інформаційної системи для управління IT-проєктами // Збірник тез доповідей XIІI Міжнародної науково-практичної конференції молодих учених та студентів «АКТУАЛЬНІ ЗАДАЧІ СУЧАСНИХ ТЕХНОЛОГІЙ» – Тернопіль, 11-12 грудня 2024 року. с. 426-427
24. Beautiful Soup 4.4.0 documentation [Електронний ресурс]. – Режим доступу: https://beautiful-soup-4.readthedocs.io/en/latest/ (дата звернення: 24.05.2026).
25. DOMPurify [Електронний ресурс] // GitHub, Cure53. – Режим доступу: https://github.com/cure53/DOMPurify (дата звернення: 07.06.2026).
26. DOMDocument – Manual [Електронний ресурс] // PHP Manual. – Режим доступу: https://www.php.net/manual/en/class.domdocument.php (дата звернення: 24.05.2026).
27. Typing – Support for type hints [Електронний ресурс] // Python Documentation. – Режим доступу: https://docs.python.org/3/library/typing.html (дата звернення: 24.05.2026).
28. Chandrakar S., Bahadure N. B. Python GUI with PyQt: Learn to build modern and stunning GUIs in Python with PyQt5 and Qt Designer. – New Delhi: BPB Publications, 2023. – 440 p.
29. QThread Class [Електронний ресурс] // Qt Documentation. – Режим доступу: https://doc.qt.io/qt-6/qthread.html (дата звернення: 24.05.2026).
30. IO tools (text, CSV, HDF5, …) [Електронний ресурс] // pandas Documentation. – Режим доступу: https://pandas.pydata.org/docs/user_guide/io.html (дата звернення: 24.05.2026).
31. Готович В. А., Ралік І. Р. Програмне забезпечення на основі клієнт-серверної архітектури для обліку реалізації товарів в торгівлі // Матеріали XI Міжнародної науково-практичної конференції молодих учених та студентів „Актуальні задачі сучасних технологій “. – ТНТУ, 2022. – С. 126
32. Signals and Slots [Електронний ресурс] // Qt for Python Documentation. – Режим доступу: https://doc.qt.io/qtforpython-6/tutorials/basictutorial/signals_and_slots.html (дата звернення: 24.05.2026).
33. HTML parsing [Електронний ресурс] // WHATWG HTML Living Standard. – Режим доступу: https://html.spec.whatwg.org/multipage/parsing.html (дата звернення: 24.05.2026).
34. Cross Site Scripting Prevention Cheat Sheet [Електронний ресурс] // OWASP Cheat Sheet Series. – Режим доступу: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html (дата звернення: 26.05.2026).
35. Шимчук Г. В., Назаревич О. Б., Литвиненко Я. В., Готович В. А., Никитюк В. В. та ін. Грід-системи та технології хмарних обчислень. Навчальний посібник для здобувачів освітнього рівня «магістр» спеціальностей F3 «Комп’ютерні науки», F6 «Інформаційні системи та технології». – ФОП Паляниця В. А., 2025.
36. Logging handlers [Електронний ресурс] // Python Documentation. – Режим доступу: https://docs.python.org/3/library/logging.handlers.html (дата звернення: 26.05.2026).
37. Okken B. Python Testing with pytest: Simple, Rapid, Effective, and Scalable. 2nd ed. – Raleigh: Pragmatic Bookshelf, 2022. – 248 p.
38. Як надати першу допомогу: загальні правила [Електронний ресурс] // Міністерство охорони здоров’я України. – Режим доступу до ресурсу: https://moz.gov.ua/uk/jak-nadati-pershu-dopomogu-zagalni-pravila (дата звернення: 02.06.2026).
39. Сєріков Я. О., Коженевські Л. Ф., Хворост М. В. Безпека життєдіяльності та охорона праці : підручник : у 2 ч. Ч. 1 : Безпека життєдіяльності. – Харків : ХНУМГ ім. О. М. Бекетова ; Краків : ЄАС, 2021. – 255 с. – ISBN 978-966-695-529-9.
40. Про екстрену медичну допомогу : Закон України від 05.07.2012 № 5081-VI [Електронний ресурс] // Верховна Рада України. – Режим доступу до ресурсу: https://zakon.rada.gov.ua/go/5081-17 (дата звернення: 03.06.2026).
41. Сокуренко В. В., Бандурка О. М., Бортник С. М. та ін. Безпека життєдіяльності та охорона праці : підручник / за заг. ред. В. В. Сокуренка. – Харків : ХНУВС, 2021. – 308 с. – ISBN 978-966-610-248-8.
42. Державні санітарні правила і норми роботи з візуальними дисплейними терміналами електронно-обчислювальних машин : ДСанПіН 3.3.2.007-98 [Електронний ресурс] // Верховна Рада України. – Режим доступу до ресурсу: https://zakon.rada.gov.ua/go/v0007282-98 (дата звернення: 03.06.2026).
43. Порядок надання домедичної допомоги постраждалим при підозрі на шок : Наказ МОЗ України від 16.06.2014 № 398 [Електронний ресурс] // Верховна Рада України. – Режим доступу до ресурсу: https://zakon.rada.gov.ua/go/z0762-14 (дата звернення: 03.06.2026).
Content type: Bachelor Thesis
Aparece en las colecciones: 122 — Компʼютерні науки, F3 Комп’ютерні науки (бакалаври)

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
2026_KRB_SN-42_Tsymbalistyi_NR.pdfДипломна робота5,34 MBAdobe PDFVisualizar/Abrir


Los ítems de DSpace están protegidos por copyright, con todos los derechos reservados, a menos que se indique lo contrario.

Herramientas de Administrador