10. Адміністративна частина сайту та автоматизація побудови інтерфейсу редагування БД
ADO в Delphi AJAX Android C++ CakePHP CMS COM CSS Delphi Flash Flex HTML Internet Java JavaScript MySQL PHP RIA SCORM Silverlight SQL UML XML Бази даних Веб-розробка Генетичні алгоритми ГІС Гітара Дизайн Економіка Інтелектуальні СДН Колір Масаж Математика Медицина Музика Нечітка логіка ООП Патерни Подання знань Розкрутка сайту, SEO САПР Сесії в PHP Системне програмування Системний аналіз Тестологія Тестування ПЗ Фреймворки Штучний інтелект
|
Знання
→
CMS — системи керування вмістом
→
Розробка систем керування контентом (CMS) – архітектурні та інфологічні засади
![]() ![]() 10. Адміністративна частина сайту та автоматизація побудови інтерфейсу редагування БДСтруктура класів бібліотеки автоматизованої побудови інтерфейсу редагування БДКлас поля – FieldКлас Field інкапсулює усю логіку роботи з полем таблиці, що включає:
Клас таблиці – TableКлас таблиці інкапсулює логіку роботи з таблицею:
Ключові описові властивості класу таблиці:
Властивості класу для організації різних режимів відображення та обробки дій:
Організація роботи застосунку з точки зору HTTP-параметрів
Ключовим параметром HTTP, який сповіщає про наміри користувача, є параметр action – у ньому передається на сервер дія, яку виконує користувач (рис.18). Якщо параметр дії не встановлено, застосовується дія по замовчуванню – перегляд таблиці. Рис.18. Схема роботи скрипта редагування таблиці БД Особливості форми редагування записуДля успішної реалізації редагування запису разом із новим значенням ключового поля потрібно також обов’язково передавати старе значення. Старе значення ключового поля попередньо публікується у формі редагування у прихованому вигляді (hidden). Таким чином, після надсилання форми на сервер об’єкт таблиці має можливість коректно побудувати SQL-запит на зміну запису, вказавши в секції WHERE старе значення ключового поля. Підготовка скрипта та мета-опис таблиціНа етапі мета-опису таблиці необхідно здійснити наступні кроки:
Режим перегляду таблиціДля відображення таблиці в режимі перегляду виконуютьсч наступні дії:
Обробка даних html-форми та генерація SQL-запитівПісля приходу даних форми на сервер у вигляді POST-запиту клас таблиці запускає необхідний метод. Якщо, форма надіслана з метою редагування існуючого запису, метод-обробник редагування здійснює такі кроки:
Якщо, форма надіслана з метою додавання запису, метод-обробник додавання здійснює такі кроки:
Якщо, форма надіслана з метою видалення запису, метод-обробник видалення здійснює такі кроки:
Lookup-поля вибору як засіб реалізації зв'язку один-до-багатьох в інтерфейсі редагуванняLookup-поля та реляційна модельПід lookup-полем або полем підстановки розуміють такий елемент введення даних в поле запису таблиці, який дозволяє обрати значення із списку, а сам список формується на основі даних іншої таблиці (рис.19). Lookup-поле відповідає реляційному відношенню один-до-багатьох. Lookup-поле належить таблиці, що представляє сторону «багато» та фактично служить для редагування значень зовнішнього ключа (рис.20). Щоб надати користувачу зручний інтерфейс у вигляді випадаючого списку підписів та позбавити його необхідності оперувати із значеннями зовнішнього ключа створюється даний елемент інтерфейсу. У формуванні lookup-поля беруть участь три поля:
Таблиця зі сторони «один» є джерелом значень для зовнішнього ключа таблиці «багато». Відповідно значення отримуються із колонки первинного ключа. Значення для відображення в інтерфейсі редагування отримуються із колонки підписів. Значення первинних ключів не відображаються в інтерфейсі користувача-редактора таблиці, натомість редактор оперує підписами, замість яких на рівні html-форми та SQL-запиту підставляються значення ключів. Рис. 20. Реляційна схема побудови lookup-поля Реалізація lookup-поля в бібліотеці автоматизованої побудови інтерфейсу редагування БДДля реалізації lookup-поля в бібліотеці достатньо внести необхідні доопрацювання в клас поля Field, який буде інкапсулювати в собі усю логіку роботи з даним елементом керування. На рівні класу таблиці робота з полем підстановки відбуватиметься прозоро та не потребуватиме додаткових змін у коді класу. На рівні класу Field слід передбачити:
На рівні обробки форм редагування та додавання запису для роботи з lookup не потрібно здійснювати додаткових доопрацювань, так як в POST-запит на етапі відправки форми попадатиме коректне значення ключа lookup-поля, що обумовлюється використанням html-елементів керування з принципом ключ-значення. Користувацький інтерфейс головний-детальний служить для редагування даних, що реалізують відношення один-до-багатьох (рис. 21). Даний інтерфейс є одним із найпоширеніших в застосунках баз даних. Рис. 21. Приклад інтерфейсу головний-детальний Реалізація даної функціональності передбачає створення класу-нащадка Table – SubTable. Екземпляр SubTable відповідає за відображення та редагування таблиці «детальний». SubTable міститиме мета-інформацію про зв'язок з «головною» таблицею (ім’я поля SubTable, що є зовнішнім ключем на «головну»). У клас таблиці Table необхідно внести зміни, що дозволять зберігати інформацію про наявність детальної таблиці (посилання на екземпляр SubTable). При відображенні Table серед колонок також з’явиться стовпець, що містить посилання-перехід до «детальної», відповідно до поточного запису «головної» (рис.22). У свою чергу стандартний інтерфейс SubTable буде доповнено навігаційними можливостями повернення до відповідної «гололвної» таблиці (рис.23). Рис. 22. Приклад таблиці «головний» із колонкою для посилань на «детальну». Тут, «Значення фільтра» - посилання на «детальну» таблицю Рис. 23. Приклад таблиці «детальний» із навігаційними елементами повернення до «головної» © Титенко С. В. Інформація курсу по матеріалам: Web-орієнтовані інформаційні системи. Методичні вказівки до вивчення дисципліни для студентів напряму підготовки 6.050103 «Програмна інженерія» / Титенко С. В. – К.: НТУУ «КПІ» 2015. – 51с. Зверніть увагу на додаткові посиланняЯкщо вас цікавить...Головний розділСторінки, близькі за змістомзагрузка...
|
Теми розділу
Сторінки, близькі за змістом
|
Copyright © 2008—2022 Портал Знань.
При використанні матеріалів посилання, для інтернет-ресурсів — гіперпосилання, на Znannya.org обов'язкове.
Зв'язок
|
НТУУ "КПІ" Інженерія програмного забезпечення КПІ Лабораторія СЕТ |
|