
Московский государственный технический университет им. Н.Э. Баумана
Педагогический практикум: «Введение в разработку на движке QForm»
Выполнил: магистрант группы РК6-17
Цветков Николай
Проверил:
Доцент, к.т.н. Жук Д.М.
Москва, 2014
Оглавление
Введение 2
Основы 3
Секция <list> 4
Секция <form> 4
Примеры 4
Синтаксис QForm 6
Особенности синтаксиса XML 6
Синтаксис XML 6
«Недопустимые» символы и секция CDATA 6
Особенности синтаксиса QForm 7
Условный оператор if() в QForm 7
Переменные QForm и их обозначения 8
Условные обозначения на QWiki 8
Общий вид файла на языке QForm 10
Основные секции (тэги) формы 12
<list> — Основной список 13
Составляющие тэги списка 13
Тэги <reports>, <text>, <sql>, <legend> 14
<reports> 14
<text> 14
<sql> 16
<legend> 16
Основной тэг — тэг <cols> 17
<form> — Описание формы ввода информации 18
Состав тэга <form> 18
Встроенные списки 19
Заключение 20
Введение
Данная работа содержит часть руководства разработчика для разработки приложений в framework QForm. Данный framework был использован при разработке полномасштабной АСУ «Промышленная безопасность и Охрана труда» (АСУ ПБиОТ). Данная часть руководства разработчика включена в полную версию данного Руководства и используется в качестве справочной информации программистами-разработчиками и системными аналитиками. Фрагменты руководства ниже и некоторые друние, более подробные описания, были разработаны и внедрены автором данного педагогического практикума во времена работы его в данной организации.
QForm – это движок (engine), написанный на PHP (серверная часть) и JavaScript (клиентская часть), предназначенных для показа списка, формы ввода информации и ее сохранения в БД на основе данных из XML-файла. QFrom относится к классу RAD-систем (Rapid Application Development). QForm позволяет быстро создавать качественные WEB-приложения (использующие технологию AJAX) для работы с базой данных. Как правило, приложения, работающие с БД, состоят из списков (таблиц), показывающих данные, и средств для их создания и редактирования (формы ввода информации). Так же присутствуют дополнительные сервисные элементы (поиск, сортировка, фильтрация и др.) QForm позволяет легко создавать и управлять всеми этими элементами.
QForm использует:
JQuery (http://jquery.com/)
MySQL (http://www.mysql.com/)
Bootstrap (http://getbootstrap.com/)
В данный момент этот движок активно развивается разработчиками и используется в дальнейшем развитии указанной выше АСУ. Помимо этого, данный движок был использован и используется для разработки нескольких менее масштабных проектов, например, CRM-системы и системы ведения закупок для небольшой организации.
Основы
Описания форм, списков и другие компоненты системы хранятся в отдельных файлах в формате XML (http://citforum.ru/internet/xml/index.shtml). Подробнее все используемые теги описаны в соответствующих разделах справки. Ниже приводится только общее описание структуры файла.
Типовая структура XML-файла описания выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<!-- Описание формы ввода информации. Версия 1.0.3 -->
<qform version="2.0.2" debug="0">
...............
Здесь размещается некоторая служебная информация, общая для всей описываемой сущности
...............
<list>
<text>
...............
...............
</text>
<sql key="id">
...............
...............
</sql>
<cols>
...............
...............
...............
</cols>
<filters>
...............
...............
</filters>
</list>
<form width="640">
<text>
...............
...............
</text>
<elements>
...............
...............
</elements>
</form>
</qform>
Параметр version служит для указания номера версии. В настоящее время не используется, но зарезервирован для будущих реализаций.
В начале файла помещаются строки, описывающие права доступа к данному файлу (точнее к той информации, которая будет показана пользователю.
Секция <list>
Размещаемые в данной секции описания служат для настройки показа списка информации. Информация показывается пользователю в виде таблицы, описание которой задается различными тегами (секциями в XML-файле).
В секции <text> указываются различные тексты, показываемые пользователю: заголовки, информационные сообщения до и после списка и пр.
В секции <sql> задается SQL-запрос, который извлечет информацию и БД для ее последующего показа в списке.
В секции <cols> описываются колонки таблицы, которая будет показываться пользователю. Это наиболее важная часть секции <list>.
Данная секция подробно описана в разделе списки.
В секции <filters> описываются доступные пользователям средства фильтрации данных. Данная секция подробно описана в разделе фильтры.
Секция <form>
В секции <text> указываются различные тексты, показываемые пользователю пр отображении формы: заголовки, информационные сообщения и пр.
В секции <elements> описываются поля ввода информации. Это наиболее важная часть секции <form>.
Данная секция подробно описана в разделе формы.