Идентификация проектных проблем в электронных формах
Иллюстрации
Показать всеИзобретение относится к технологиям для идентификации проектных проблем в течение процесса генерации электронных форм. Техническим результатом является увеличение эффективности идентификации и уведомления об ошибках при проектировании проектных форм. В способе идентификации проектных ошибок принимают регулирующую директиву, выбранную первым пользователем, проектирующим электронную форму в первой среде выполнения, регулирующая директива указывает вторую среду выполнения, причем вторая среда отличается от первой, на основе регулирующей директивы автоматически идентифицируют набор проектных ошибок, которые могут иметь место при работе электронной формы во второй среде выполнения, генерируют список, в котором приведен этот набор проектных ошибок, отображают упомянутый список в пользовательском интерфейсе. 3 н. и 16 з.п. ф-лы, 14 ил.
Реферат
Предшествующий уровень техники
В процессе проектирования электронной формы (формы, которая заполняется на компьютере) с помощью программы для проектирования электронных форм может возникнуть множество ошибок. Ошибки могут возникнуть в различные моменты в течение процесса проектирования, и они могут быть связаны с различными проблемами, такими как проблемы импорта, проблемы форматирования, проблемы совместимости, проблемы времени выполнения и т.п.
Ошибка несовместимости по местоположению является одним из примеров частых ошибок. Ошибка несовместимости по местоположению может возникнуть из-за того, что некоторые электронные формы имеют функциональные возможности, которые работают, когда электронная форма используется на автономном компьютере, но не работают, когда электронная форма используется в иной среде времени выполнения. Например, если электронная форма спроектирована для использования на автономном компьютере, то в электронной форме будут доступны более сложные возможности, такие как проверка правописания и файловые вложения, которые будут внедрены как функциональные возможности. Тем не менее, если та же электронная форма будет размещена на web-сервере, так чтобы ее можно было заполнять посредством web-браузера, то более сложные возможности будут недоступны, что, соответственно, приведет к ошибке несовместимости по местоположению.
Ошибка несовместимости по местоположению является лишь одной из множества возможных проектных ошибок, которые могут возникнуть в процессе проектирования электронной формы. Потенциальные проектные ошибки могут иметь различную степень серьезности и масштаб. Определенные ошибки препятствуют работе электронной формы, тогда как более сложные ошибки могут привести к некорректной работе электронной формы. Состояния ошибки в электронных формах нежелательны, поскольку они могут привести к неудовлетворительному взаимодействию с конечным пользователем электронной формы. Кроме того, состояния ошибки в электронных формах могут нарушить целостность данных, которые электронная форма должна сохранять.
Поскольку ошибки нежелательны, важно и полезно идентифицировать и устранять их в течение процесса проектирования. Для способствования идентификации и удаления ошибок программы проектирования электронных форм отмечают или выводят сообщения о потенциальных проектных ошибках в течение выполнения этапа или процесса, который связан с определенным типом ошибки. Вывод этого предупреждения часто является единственным моментом, когда пользователь программы для проектирования электронных форм уведомляется о проектной проблеме, являющейся ошибкой или потенциальной возможностью возникновения ошибки. Например, уведомление об ошибке импорта может быть выведено пользователю программы для проектирования электронных форм только в течение импорта файла. В качестве другого примера, уведомление об ошибке несовместимости может быть выведено пользователю программы для проектирования электронных форм только в течение фазы публикации электронной формы. Таким образом, идентификация и устранение одной ошибки может потребовать много времени, поскольку ошибка не устраняется непосредственно после ее идентификации. Подобный спорадический способ уведомления пользователя об ошибках может привести к увеличению времени, требуемого для процессов проектирования, а также для идентификации и устранения ошибки.
При проектировании электронной формы существует ряд потенциальных источников ошибок. Для многих из этих источников ошибок уведомления об ошибке генерируются только тогда, когда происходит ошибка или когда при определенном действии, таком как публикация электронной формы, выявляется наличие ошибки. Различные источники и способы идентификации ошибок делают сложным уведомление пользователя обо всех ошибках, которые существуют или потенциально существуют в заданное время. Наряду с тем, что уведомление об ошибках полезно для пользователя программы для проектирования электронных форм, вышеописанные способы идентификации и уведомления об ошибках могут быть неудобны, нестабильны и крайне неэффективны.
Сущность изобретения
Раздел "Сущность изобретения" приведен, чтобы представить в упрощенной форме выборку концепций, которые подробно описываются ниже в разделе "Подробное описание". Раздел "Сущность изобретения" не предназначен ни для определения ключевых или существенных признаков заявленного изобретения, ни для использования в качестве вспомогательного средства при определении объема сущности формулы изобретения.
Раскрыта технология для идентификации проектных проблем в течение процесса генерации электронных форм. В одном подходе принимается выбираемая пользователем среда выполнения, которая должна быть применена к электронной форме. В электронной форме выполняется проверка проекта формы. Уведомляющий объект генерирует список проектных проблем, идентифицированных посредством проверки проекта формы. Список проектных проблем отображается в интерфейсе пользователя.
Перечень чертежей
Прилагаемые чертежи, которые включены в состав данного описания и являются его частью, иллюстрируют варианты осуществления технологии для идентификации проектных проблем в электронных формах и вместе с описанием служат для разъяснения описанных ниже принципов. На чертежах:
фиг.1 - схема примера компьютерной системы 100, используемой согласно вариантам осуществления настоящей технологии для идентификации проектных проблем в электронных формах;
фиг.2 - схема одного варианта осуществления настоящей системы для идентификации проектных проблем в электронных формах;
фиг.3 - схема одного варианта осуществления интерфейса пользователя настоящей системы для идентификации проектных проблем в электронных формах;
фиг.4 - схема одного варианта осуществления фрейма приложения, в котором используется настоящая система для идентификации проектных проблем в электронных формах;
фиг.5 - схема последовательности операций, выполняемых согласно одному варианту осуществления настоящей технологии для идентификации проектных проблем в электронных формах;
фиг.6 - схема последовательности операций, выполняемых согласно одному варианту осуществления настоящей технологии для идентификации проектных проблем в электронных формах;
фиг.7 - схема одного варианта осуществления диалогового окна настоящей системы для идентификации проектных проблем в электронных формах;
фиг.8 - схема одного варианта осуществления диалогового окна настоящей системы для идентификации проектных проблем в электронных формах;
фиг.9А - схема одного варианта осуществления области задач средства проверки (контролера) проекта настоящей системы для идентификации проектных проблем в электронных формах;
фиг.9В - схема одного варианта осуществления области задач контролера проекта настоящей системы для идентификации проектных проблем в электронных формах;
фиг.9С - схема одного варианта осуществления области задач контролера проекта настоящей системы для идентификации проектных проблем в электронных формах;
фиг.10 - схема одного варианта осуществления области проектирования и области задач контролера проекта настоящей системы для идентификации проектных проблем в электронных формах;
фиг.11 - схема одного варианта осуществления области проектирования и области задач контролера проекта настоящей системы для идентификации проектных проблем в электронных формах;
фиг.12 - схема одного варианта осуществления области проектирования и области задач контролера проекта настоящей системы для идентификации проектных проблем в электронных формах.
Следует отметить, что упомянутые чертежи не вычерчены в масштабе, если не указано иного.
Подробное описание
Ниже подробно описаны варианты осуществления технологии для идентификации проектных проблем в электронных формах, примеры которых проиллюстрированы в прилагаемых чертежах. Несмотря на то что технология для идентификации проектных проблем в электронных формах описана в привязке к различным вариантам осуществления, следует понимать, что эти варианты осуществления не предназначены для ограничения настоящей технологии для идентификации проектных проблем в электронных формах. Наоборот, представленная технология для идентификации проектных проблем в электронных формах подразумевается охватывающей альтернативы, модификации и эквиваленты, которые подпадают под объем различных вариантов осуществления, определяемый прилагаемой формулой изобретения. Сверх того, в следующем подробном описании ряд особых деталей изложен, чтобы предоставить подробное и полное понимание настоящей технологии для идентификации проектных проблем в электронных формах. Тем не менее, настоящая технология для идентификации проектных проблем в электронных формах может быть применена без этих конкретных деталей. В других случаях хорошо известные способы, процедуры, компоненты и схемы подробно не описаны, чтобы не усложнять описание аспектов настоящих вариантов осуществления.
Если специально не указано иного, следует понимать, что в настоящем подробном описании такие термины, как "принимать", "выполнять", "генерировать", "отображать", "выбирать", "прокручивать", "выделять", "представлять", "проверять", "идентифицировать", "сообщать", "запрашивать", "предотвращать", "предоставлять", "обновлять" и т.п. относятся к действиям и процессам компьютерной системы или иного схожего электронного вычислительного устройства. Компьютерная система или схожее электронное вычислительное устройство манипулирует и преобразует данные, представленные как физические (электронные) величины в регистрах и памяти компьютерной системы, в другие данные, схожим образом представленные как физические величины в памяти или регистрах или ином подобном устройстве хранения, передачи или отображения информации. Настоящая технология для идентификации проектных проблем в электронных формах также хорошо подходит для других компьютерных систем, таких как, например, оптические и механические компьютеры. В добавление, следует понимать, что в вариантах осуществления настоящей технологии для идентификации проектных проблем в электронных формах один или более этапов могут быть выполнены вручную.
Ссылаясь на фиг.1, части технологии для идентификации проектных проблем в электронных формах состоят из читаемых и исполняемых компьютером инструкций, которые хранятся, например, в используемых компьютером носителях компьютерной системы. То есть фиг.1 иллюстрирует один пример типа компьютера, который может использоваться для реализации вариантов осуществления настоящей технологии для идентификации проектных проблем в электронных формах. Фиг.1 иллюстрирует пример компьютерной системы 100, используемой согласно вариантам осуществления настоящей технологии для идентификации проектных проблем в электронных формах. Очевидно, что показанная на фиг.1 система является лишь примером и настоящая технология для идентификации проектных проблем в электронных формах может работать на или во множестве различных компьютерных систем, включающих в себя сетевые компьютерные системы общего назначения, встроенные компьютерные системы, маршрутизаторы, коммутаторы, серверные устройства, клиентские устройства, различные промежуточные устройства/узлы, автономные компьютерные системы и т.п. Как показано на фиг.1, компьютерная система 100 хорошо приспособлена для того, чтобы соединяться с периферийными машиночитаемыми носителями 102, такими как, например, дискеты, компакт-диски и т.п.
Система 100 с фиг.1 включает в себя шину 104 адреса/данных для передачи информации, а также процессор 106А, соединенный с шиной 104, для обработки информации и инструкций. Как показано на фиг.1, система 100 также хорошо приспособлена к многопроцессорному окружению, в котором присутствует множество процессоров 106A, 106B и 106C. Кроме того, система 100 также хорошо подходит для того, чтобы иметь один процессор, такой как, например, процессор 106А. Процессоры 106A, 106B и 106C могут быть микропроцессорами любого типа. Система 100 также включает в себя функциональные возможности хранения данных, такие как используемая компьютером энергозависимая память 108, например ОЗУ, соединенная с шиной 104, для хранения информации инструкций для процессоров 106A, 106B и 106C. Система 100 также включает в себя используемую компьютером энергонезависимую память 110, например ПЗУ, соединенную с шиной 104 для хранения статической информации и инструкций для процессоров 106A, 106B и 106C. В системе 100 также присутствует блок 112 хранения данных (например, магнитный или оптический диск и привод диска), соединенный с шиной 104 для хранения информации и инструкций. Система 100 также включает в себя опциональное алфавитно-цифровое устройство 114 ввода, включающее в себя алфавитно-цифровые и функциональные клавиши, соединенное с шиной 104 для передачи информации и выборов команд в процессор 106A или процессоры 106A, 106B и 106C. Система 100 также включает в себя опциональное управляющее устройство 116 с курсором, соединенное с шиной 104 для передачи информации ввода пользователя и выборов команд в процессор 106A или 106A, 106B и 106C. Система 100 настоящего варианта осуществления также включает в себя опциональное устройство 118 отображения, соединенное с шиной 104 для отображения информации.
Ссылаясь на фиг.1, опциональное устройство 118 отображения может представлять собой жидкокристаллический дисплей, электронно-лучевую трубку, плазменное устройство отображения или иное устройство отображения, подходящее для создания графических изображений и алфавитно-цифровых знаков, распознаваемых пользователем. Опциональное устройство 116 управления с курсором предоставляет возможность пользователю компьютера динамически сигнализировать перемещение видимого символа (курсора) по экрану устройства 118 отображения. Известно множество реализаций устройства 116 управления с курсором, в том числе трекбол, мышь, сенсорная панель, джойстик или специальные клавиши на алфавитно-цифровом устройстве 114 ввода, способные сигнализировать перемещение в заданном направлении или вид перемещения. Также очевидно, что курсор может быть направлен и/или активирован посредством ввода с алфавитно-цифрового устройства 114 ввода путем использования особых клавиш и последовательностей команд клавиш. Система 100 также хорошо подходит для того, чтобы курсор направлялся посредством другого средства, такого как, например, голосовые команды. Система 100 также включает в себя устройство 120 ввода/вывода для соединения системы 100 с внешними модулями. Например, в одном варианте осуществления устройство 120 ввода/вывода представляет собой модем для установления проводного или беспроводного соединения между системой 100 и внешний сетью, такой как, но не ограничиваясь этим, Интернет. Ниже приведено более подробное описание настоящей технологии для идентификации проектных проблем в электронных формах.
Ссылаясь на фиг.1, показаны различные другие компоненты для системы 100. В частности, операционная система 122, приложения 124, модули 126 и данные 128 показаны как хранящиеся в одном из или некоторой комбинации используемой компьютером энергозависимой памяти 108, например в ОЗУ, и блоке 112 хранения данных. В одном варианте осуществления настоящая технология для идентификации проектных проблем в электронных формах, например, хранится как приложение 124 или модуль 126 в ячейках памяти внутри ОЗУ 108 и областях памяти в блоке 112 хранения данных.
Общее описание технологии для идентификации проектных проблем в электронных формах
В качестве обзора в одном варианте осуществления целью настоящей технологии для идентификации проектных проблем в электронных формах является способ идентификации проектных проблем, которые могут возникнуть в течение процесса проектирования электронной формы. В одном варианте осуществления эти проектные проблемы идентифицируются посредством множества объектов-контролеров проекта. Уведомляющий объект собирает и классифицирует идентифицированные проектные проблемы и форматирует их для отображения пользователю в одной панели задач контролера проекта в интерфейсе пользователя. Это консолидированное представление списка идентифицированных проектных проблем предоставляет пользователю единообразное средство для распознавания и взаимодействия с потенциальными проблемами в течение всего проектирования электронной формы. Кроме того, в различных вариантах осуществления это единое представление списка проектных проблем служит в качестве исходной точки для различных функций. Эти функции включают в себя, например, выявление источников проектных проблем в проектируемой форме, исправление проектных проблем и быстрое удостоверение в том, что проектные проблемы в электронной форме были исправлены.
На фиг.2 представлена схема одного варианта осуществления системы 200 для идентификации проектных проблем в электронных формах. В следующем описании сначала приведено описание физической структуры настоящей системы для идентификации проектных проблем в электронных формах. Далее следует описание работы настоящего изобретения. Что касается физической структуры, то система 200 состоит из контролера 210 проекта формы, уведомляющего объекта 220, интерфейса 230 пользователя и шины 240 для передачи сообщений. Контролер 210 проекта формы соединен с уведомляющим объектом 220 через шину 240. Интерфейс 230 пользователя соединен с уведомляющим объектом 220 посредством двунаправленного соединения.
Контролер 210 проекта формы служит в качестве центрального объекта-контролера проекта для регистрации множества клиентских объектов-контролеров проекта формы, которые включают в себя: контролер 211 совместимости времени выполнения, контролер 212 обратной совместимости, контролер 213 ошибки связывания, контролер 214 ошибки частей решения, контролер 215 ошибки импорта и контролер 216 совместимости в автономном режиме (режиме офф-лайн). Несмотря на то что показаны шесть объектов-контролеров (211-216), следует понимать, что возможно использование большего или меньшего количества таких объектов. Каждый объект-контролер (211-216) проекта формы предназначен для проверки конкретного источника ошибок в электронной форме. Например, контролер 211 совместимости времени выполнения проверяет конкретно наличие ошибок совместимости времени выполнения в электронной форме.
Когда какое-либо действие инициирует начальную проверку ошибок или обновление проверки ошибок электронной формы, объект-контролер 210 проекта опрашивает зарегистрированные клиентские объекты-контролеры 211-216 проекта формы на предмет списка потенциальных проектных ошибок. Далее, потенциальные проектные ошибки сообщаются в уведомляющий объект 220. В одном варианте осуществления каждый клиентский объект соединен с шиной 240 и независимым образом сообщает потенциальные проектные ошибки в уведомляющий объект 220. В еще одном варианте осуществления потенциальные проектные ошибки, идентифицированные клиентскими объектами 211-216, передаются через объект-контролер 210 проекта в уведомляющий объект 220. В одном варианте осуществления отдельные объекты-контролеры 211-216 проекта также генерируют предупредительные сообщения на основании идентифицированных потенциальных проектных ошибок. Все сгенерированные предупредительные сообщения также принимаются уведомляющим объектом 220.
Уведомляющий объект 220 консолидирует полученные сообщения о потенциальных ошибках, чтобы сгенерировать единый список связанных проектных проблем. В варианте осуществления, где уведомляющий объект 220 также принимает предупреждения, эти предупреждения также доступны для консолидации в списке связанных проектных проблем. В одном варианте осуществления уведомляющий объект 220 также содержит логику для генерации предупреждений на основании потенциальных проектных ошибок, о которых в него поступили сообщения. В таком варианте осуществления эти предупреждения также доступны для компиляции в список проектных проблем, который генерируется уведомляющим объектом 220. Консолидированный список проектных проблем может содержать в себе потенциальные проектные ошибки, предупреждения или некоторую комбинацию потенциальных проектных ошибок и предупреждений.
Интерфейс 230 пользователя соединен с уведомляющим объектом 220 для получения списка проектных проблем, скомпилированных уведомляющим объектом 220. Интерфейс 230 пользователя также предоставляет в уведомляющий объект 230 выбранную информацию, которая принимается в ответ на взаимодействие пользователя с различными частями интерфейса 230 пользователя. В качестве примера, в одном варианте осуществления интерфейс 230 пользователя предоставляет в уведомляющий объект 220 регулирующие директивы для форматирования электронной формы. Уведомляющий объект 220 использует эту регулирующую информацию, чтобы регулировать генерацию списков проектных проблем. В добавление, в одном варианте осуществления уведомляющий объект 220 также передает эту информацию в контролер 210 проекта формы для использования при регулировании клиентских объектов-контролеров (211-216) проекта формы в части ошибок, наличие которых требуется проверить.
Фиг.3 представляет собой схему одного варианта осуществления интерфейса 230 пользователя настоящей системы 200 для идентификации проектных проблем в электронных формах. В представленном на фиг.3 варианте осуществления интерфейс 230 пользователя состоит из фрейма 331 приложения, области 332 проектирования, диалоговых окон 333 и панели 334 задач контролера проекта.
На фиг.3 фрейм 331 приложения представляет собой область верхнего уровня, где все элементы интерфейса 230 пользователя могут отображаться пользователю. Каркас 331 приложения подходит для включения в его состав других элементов интерфейса пользователя, таких как известные элементы в типичных вычислительных окружениях для графических интерфейсов пользователя. Диалоговые окна 333 используются для выполнения различных функций, таких как предоставление пользователю информации, вывод пользователю запросов на предоставление информации, предоставление пользователю выбираемой ссылки или некоторая комбинация этих и других известных применений диалоговых окон. Область 332 проектирования интерфейса 230 пользователя предназначена для проектирования электронной формы. Область 322 проектирования отображает электронную форму и также используется для предоставления возможности взаимодействия с пользователем. Панель 334 задач контролера проекта в интерфейсе 230 пользователя предназначена для отображения проектных проблем, таких как предупреждения и потенциальные проектные ошибки, которые были идентифицированы в электронной форме, разрабатываемой в области 332 проектирования.
Фиг.4 представляет собой схему одного варианта осуществления фрейма 331 приложения, в котором используется настоящая система 200 для идентификации проектных проблем в электронных формах. Каркас 331 приложения с фиг.4 иллюстрирует примеры представлений выпадающего меню 410 и панели 420 инструментов, основанной на иконках. Меню 410 и панель 420 инструментов используются совместно с областью 332 проектирования и панелью 334 задач контролера проекта. Пустая область 332 проектирования формы с фиг.4 представляет собой изображение, которое еще не содержит элементов электронной формы. На фиг.4 область 334 задач контролера проекта показана без каких-либо предупреждений или потенциальных проектных ошибок. Функциональные возможности, связанные с вариантом осуществления области 334 задач контролера проекта, описаны более подробно ниже со ссылкой на фиг.9A, 9B и 9C.
В следующем описании подробно изложен порядок работы настоящей технологии для идентификации проектных проблем в электронной форме. Ссылаясь на фиг.5 и 6, схемы 500 и 600 последовательности операций иллюстрируют примеры этапов, используемых различными вариантами осуществления настоящей технологии для идентификации проектных проблем в электронных формах. Схемы 500 и 600 последовательности операций включают в себя процессы, которые в различных вариантах осуществления выполняются процессором под управлением читаемых и выполняемых компьютером инструкций. Читаемые и исполняемые компьютером инструкции хранятся, например, в средствах хранения информации, таких как используемая компьютером энергозависимая память 108, используемая компьютером энергонезависимая память 110 и/или блок 112 хранения данных с фиг.1. Читаемые и исполняемые компьютером инструкции используются, чтобы управлять или работать вместе с, например, процессором 106A или процессорами 106A, 106B и 106C с фиг.1. Несмотря на то что в схемах 500 и 600 последовательности операций раскрыты конкретные этапы, эти этапы являются лишь примерами. То есть варианты осуществления хорошо подходят для выполнения различных других этапов или вариаций этапов, указанных в схемах 500 и 600 последовательности операций. Очевидно, что этапы в схемах 500 и 600 последовательности операций могут быть выполнены в порядке, отличающемся от показанного, и что могут быть выполнены не все этапы из схем 500 и 600 последовательности операций.
Ссылаясь на схему 500 последовательности операций с фиг.5, на этапе 502 настоящая технология для идентификации проектных проблем в электронных формах принимает выбранную пользователем среду выполнения, которую требуется применить к электронной форме. Среда выполнения представляет собой выбор совместимости, выполняемый пользователем посредством интерфейса 230 пользователя, причем он определяет, в каких средах предполагается применять электронную форму. Это важный выбор, поскольку каждая среда выполнения может предлагать различный набор свойств приложения, которые будут использоваться с электронной формой. Кроме того, каждый выбор среды выполнения, по существу, налагает различные группы требований для конструирования электронной формы.
Например, среда выполнения, как правило, специфицирует платформу, на которой предполагается использовать электронную форму, например персональный компьютер, сервер или электронную форму с web-доступом, в которую данные вводятся из удаленного местоположения. Прием выбора среды выполнения регулирует идентификацию проектных проблем в электронной форме. В одном варианте осуществления настоящая технология для идентификации проектных проблем в электронных формах выводит пользователю запрос среды выполнения в качестве начального этапа процесса проектирования электронной формы. Принятая среда выполнения является одним из множества регулирующих директив, которые управляют набором правил, используемых для проверки потенциальных проектных ошибок, которые могут возникнуть в течение проектирования электронной формы. В одном варианте осуществления среда выполнения принимается в ответ на пользовательский выбор, который выполняется в любой момент в течение процесса проектирования электронной формы. Это полезно в тех случаях, когда пользователь может изменить выбранную среду выполнения после начала проектирования электронной формы. Такой подход также предоставляет возможность пользователю видеть типы проектных проблем, которые могут возникнуть, если электронная форма, спроектированная для одной среды выполнения, используется в другой среде выполнения.
На фиг.7 показана схема одного варианта осуществления диалогового окна 700 настоящей системы 200 для идентификации проектных проблем в электронных формах. Диалоговое окно 700 представляет собой пример диалогового окна, которое может быть представлено, чтобы запросить у пользователя информацию в начале процесса проектирования электронной формы. Выбираемая область 705 предоставляет возможность пользователю сделать выбор, который инициирует проектирование нового шаблона электронной формы. Выбираемая область 705 содержит область 710, которая запрашивает у пользователя выбор ввода совместимости из выпадающего меню, которое содержит множество сред, для совместимости с которыми может быть спроектирована электронная форма. Выбор совместимости может содержать среду выполнения, версию программы проектирования электронных форм, для совместимости с которой будет спроектирована электронная форма, или некоторую комбинацию этих опций. Выбираемая область 705 также содержит область 720, которая запрашивает у пользователя ввод из множества выбираемых иконок. Каждая выбираемая иконка в области 720 предоставляет возможность выбора источника данных для электронной формы. Источниками данных являются такие локации, как web-служба, база данных, Расширяемый Язык Разметки (XML) и т.п.
Одна область 730 выбора ввода предоставляет пользователю возможность открыть шаблон электронной формы из любого источника из множества выбираемых источников. Еще одна область 740 выбора ввода предоставляет пользователю ссылку на выбираемый список электронных форм, которые могут быть заполнены. После выполнения выборов ввода пользователь нажимает кнопку 750 OK, чтобы закрыть диалоговое окно 700 и перейти к выбранным действиям. Альтернативно, пользователь может выбрать кнопку 760 Отменить, чтобы закрыть диалоговое окно 700 и продолжить без вовлечения выбранных действий.
На фиг.8 показана схема одного варианта осуществления диалогового окна 800 настоящей системы 200 для идентификации проектных проблем в электронных формах. Диалоговое окно 800 представляет собой еще один пример диалогового окна, представляемого, чтобы запросить у пользователя информацию. Диалоговое окно 800 хорошо подходит для предоставления возможности пользователю делать выборы относительно проекта электронной формы в любой момент в течение процесса проектирования электронной формы. Выбираемая область 810 запрашивает у пользователя выбор совместимости времени выполнения из выпадающего меню. Выбор совместимости времени выполнения содержит: среду выполнения, для работы в которой будет спроектирована электронная форма, версию программы проектирования электронных форм, для совместимости с которой будет спроектирована электронная форма, или некоторую комбинацию этих двух опций. Выбираемая область 820 является конкретным примером класса выбираемых областей для обеспечения возможности проверки совместимости, которая опционально может быть включена в состав диалогового окна 800. Как показано, выбираемая область 820 запрашивает пользователя отметить или отменить отметку выбора, который приведет к генерации отчетов, в которых приводится список проблем совместимости структуры, относящихся к предыдущим версиям программы проектирования электронных форм. После выполнения выборов ввода пользователь нажимает кнопку 830 OK, чтобы закрыть диалоговое окно 800 и перейти к выбранным действиям. Альтернативно, пользователь может выбрать кнопку 840 Отменить, чтобы закрыть диалоговое окно 800 и продолжить без вовлечения выбранных действий.
Ссылаясь вновь на фиг.5, на этапе 504 настоящая технология для идентификации проектных проблем в электронных формах выполняет проверку проекта электронной формы. Проверка проекта формы идентифицирует состояния потенциальной проектной ошибки, которые являются или могут стать проектными проблемами электронной формы. В одном варианте осуществления проверка проекта формы выполняется автоматически в ответ на действия пользователя, которые могут изменить форму так, что появляется вероятность возникновения потенциальных проектных ошибок, которые ранее не были идентифицированы. Например, после импорта документа электронной формы автоматически выполняется проверка проекта формы, чтобы идентифицировать потенциальные проектные ошибки, которые могут возникнуть в результате импорта файла. В еще одном варианте осуществления пользователь также может селективно инициировать проверку проекту формы. Селективная инициация выполняется, например, в ответ на взаимодействие пользователя с кнопкой обновления, которая предоставлена в части интерфейса 230 пользователя. Инструмент селективного обновления полезен для обновления списка проектных проблем после того, как в проектируемой электронной форме были сделаны изменения.
Проверка проекта формы выполняется посредством множества отдельных объектов-контролеров проекта формы (211-216 с фиг.2). Каждый отдельный объект-контролер проекта формы (например, 211) выделен для проверки электронной формы в части одной категории или источника ошибок. В одном варианте осуществления объекты-контролеры 211-216 проекта формы управляются так, чтобы выполнять проверку на проектные ошибки по правилам, которые соответствуют установленной регулирующей директиве среды выполнения. В еще одном варианте осуществления некоторые объекты-контролеры проекта управляются так, чтобы выполнять проверку на ошибки, такие как ошибки времени выполнения, тогда как другие объекты-контролеры проекта следуют другим регулирующим директивам и проверяют на наличие иных ошибок. В других вариантах осуществления в добавление к среде выполнения другие регулирующие директивы управляют проектными ошибками, которые были проверены и идентифицированы различными объектами-контролерами 211-216 проекта.
В одном варианте осуществления список клиентских объектов-контролеров 211-216 проекта формы, зарегистрированных в контролере 210 проекта формы, является расширяемым. Расширяемость предоставляет возможность пользователю добавлять дополнительные клиентские объекты-контролеры проекта, которые не являются частью исходного набора объектов-контролеров проекта, поставленных с программным обеспечением контролера проекта электронной формы. Такой вариант осуществления представляет возможность добавления новых функциональных возможностей. В одном варианте осуществления расширяемость также обеспечивает возможность добавления объектов-контролеров проекта, спроектированных третьей стороной и сконфигурированных так, чтобы работать с программным обеспечением для проектирования электронных форм.
В одном варианте осуществления клиентские объекты-контролеры 211-216 проекта состоят из статических объектов-контролеров проекта формы и динамических объектов-контролеров проекта формы. Статические объекты-контролеры проекта формы, такие как контролер 215 ошибок импорта, выполняют проверку структуры только в ответ на событие, такое как импорт файла или вложения. Впоследствии, когда выполняются проверки обновления, статические объекты-контролеры проекта выполняют только проверку сгенерированного списка проектных проблем и удаляют ошибки и предупреждения, которые больше не применимы. Динамические объекты-контролеры проекта формы, такие как контролер 212 обратной совместимости, проверяют на наличие ошибок, которые могут возникнуть в различные моменты и в различных местах в структуре электронной формы, в противоположность ошибкам, которые возникают только в определенных точках процесса проектирования, например при создании или публикации. В одном варианте осуществления динамические объекты-контролеры проекта формы выполняют полную проверку проекта электронной формы каждый раз, когда они используются для проверки на наличие проектных ошибок или для обновления списка проектных проблем, который уже был сгенерирован.
На этапе 506 с фиг.5 настоящая технология для идентификации проектных проблем в электронных формах генерирует список проектных проблем, идентифицированных посредством проверки проекта формы. Список потенциальных проектных ошибок генерируется уведомляющим объектом 220. Список проектных проблем состоит из потенциальных проектных ошибок и предупреждений, которые хранятся в уведомляющем объекте 220. В одном варианте осуществления этот список структурирован по категориям, причем каждая категория содержит списки соответствующих потенциальных проектных ошибок и предупреждений. Например, в одном варианте осуществления каждая категория в сгенерированном списке соответствует непосредственно одному или более объектам-контролерам 211-216 проекта, каждый из которых используется для выполнения проверки для определенной категории или источника ошибок. На