Гибкое редактирование гетерогенных документов

Иллюстрации

Показать все

Изобретение относится к способу, системе для гибкого редактирования гетерогенных документов. Техническим результатом является расширение функциональных возможностей обработки документов за счет организации единого рабочего пространства. Различные типы документов можно организовывать на универсальной и динамически изменяемой подложке рабочего пространства образом, указывающим на отношения между документами. Подложка рабочего пространства сконфигурирована для одновременного размещения различных редакторов для редактирования различных типов документов. Соответственно, варианты осуществления представленного изобретения обеспечивают редактирование документов различных типов в едином контексте и образом, сохраняющим отношения между документами. 3 н. и 17 з.п. ф-лы, 5 ил.

Реферат

Уровень техники

Компьютерные системы и соответствующая технология влияют на многие аспекты общества. В самом деле, способность компьютерной системы обрабатывать информацию преобразила наш образ жизни и работы. В настоящее время компьютерные системы рутинно выполняют многие задачи (например, редактирование текста, создание расписаний, учет и т.п.), которые до появления компьютерных систем выполнялись вручную. В последнее время компьютерные системы связывают друг с другом и другими электронными устройствами, формируя проводные и беспроводные компьютерные сети, по которым компьютеры и другие электронные устройства могут передавать электронные данные. Соответственно, выполнение многих вычислительных задач распределяется между несколькими компьютерными системами и/или несколькими различными вычислительными компонентами.

Многие вычислительные задачи включают в себя программу-приложение, манипулирующую данными в соответствии с командами пользователя, для реализации намерений пользователя в файле данных. Например, текстовый редактор может изменять содержимое редактируемого текстового документа в соответствии с командами пользователя, принятыми через пользовательский интерфейс текстового редактора. Другие программы-приложения можно использовать для манипулирования электронными таблицами, записями в базе данных, изображениями, исполняемым кодом программного обеспечения и т.п.

В некоторых окружениях программы-приложения (например, редакторы моделей) даже можно использовать для создания и манипулирования моделями. Например, коммерческие предприятия и другие сущности могут использовать редакторы моделей для создания и изменения моделей, описывающих процессы и системы. Такие модели обычно называют блок-схемами, схемами процессов, потоковыми схемами, диаграммами процессов и/или схемами управления. В других случаях редакторы моделей можно использовать для создания и редактирования моделей, иллюстрирующих организационные взаимодействия между ресурсами в системе. Чаще всего такие модели называют организационными схемами. Однако в более широком смысле редакторы моделей можно использовать для создания и изменения моделей, показывающих практически любой тип взаимодействия между различными объектами.

Программы-приложения обычно разрабатываются для манипулирования документами (например, изолированными в иерархично организованной файловой системе) в отдельных окнах. Для обеспечения манипулирования документами часто используют многодисплейный интерфейс (MDI). MDI использует несколько раздельных окон в рамках одного компьютера или модели вкладок.

Большая часть подходов MDI создает проблемы несколькими различными путями. По меньшей мере одна сложность возникает при переключении контекста при перемещении между документами. Например, в MDI каждое окно обычно имеет независимую рамку (либо раздельный контейнер). Таким образом, до определенной степени документы и их содержимое отделены друг от друга. В результате, операционная система (или другой управляющий компонент, функционирующий как оболочка) должна управлять каскадом окон и синхронизировать состояние командных областей. Например, пользователь может желать обрабатывать несколько различных типов данных. При использовании программы просмотра репозитория от пользователя может потребоваться постоянно переключать контексты (окна) между различными типами данных.

Раздельные контейнеры также приводят к разрыву функциональности, при котором часть относящегося к документу функционала обеспечивает операционная система или оболочка, а другую часть относящегося к документу функционала обеспечивает документ. Например, при использовании обычных поисковых механизмов результаты отображаются в отдельном окне задачи в оболочке.

Далее, взаимодействия между документами, особенно документами разных типов, обычно не входят в первичные операции. Например, редактирование вложенного или встроенного документа обычно требует внешнего запуска редактора, совместимого с вложенным или встроенным документом. По меньшей мере отчасти из-за использования отдельных редакторов бывает сложно определить отношения между документами. Другим общим подходом является связывание и включение объектов ("OLE"), при котором открывается то же самое приложение, но разобщенным образом.

Дополнительно, документами обычно управляют в ограниченном фиксированном пространстве экрана, используя операционную систему, либо ими управляют напрямую, только внутри приложения (например, через включенные в приложение ограниченные методы управления окнами). Ни один из механизмов не сохраняет пользовательскую организацию для более эффективного извлечения при последующем использовании документа. Например, большая часть операционных систем поддерживает открытые приложения в одном простом списке в общедоступном месте.

Во многих окружениях приложения также страдают от ограниченной пространственной оптимизации. Например, все документы обычно отображаются в прямоугольных окнах, невзирая на форму содержания, плюс командную область также могут повторить для каждого окна (т.е. уложенный SDI). Также многие приложения страдают от ограниченного масштабирования. Т.е. приложения не очень хорошо масштабируются при увеличении размеров и разрешения экранов, так же как и к поддержке нескольких мониторов (например, многие приложения повторяют командные области).

Краткое описание

Представленное изобретение распространяется на способы, системы и компьютерные программные продукты для гибкого редактирования гетерогенных документов. Общее рабочее пространство конфигурируется для редактирования документов из множества различных типов данных. Общее рабочее пространство конфигурируют для одновременного размещения в нем множества различных редакторов. Каждый редактор конфигурируют для использования с по меньшей мере одним из множества различных типов данных. Внутри общего рабочего пространства предоставляется подложка рабочего пространства. Подложка рабочего пространства визуально представляет множество документов и отношения между множеством документов.

Принимают первую команду на изменение для изменения первого документа в подложке рабочего пространства. Первый документ обладает первым типом данных. Идентифицируют сконфигурированный дополнительный модуль первого редактора для использования с документами первого типа данных. Первый редактор размещают на подложке рабочего пространства. Первый редактор используют для осуществления назначения первой команды на изменение для первого документа. Первый редактор включает в себя функциональность дополнительного модуля первого редактора.

Принимают вторую команду на изменение для изменения второго документа в подложке рабочего пространства. Второй документ обладает вторым, другим, типом данных. Второй документ обладает визуально представленным на подложке рабочего пространства отношением к первому документу. Идентифицируют сконфигурированный дополнительный модуль второго редактора для использования с документами второго, другого, типа данных. Одновременно с первым редактором на подложке рабочего пространства размещают второй редактор. Второй редактор используют для осуществления назначения второй команды на изменение для второго документа. Второй редактор включает в себя функциональность дополнительного модуля второго редактора.

Данное краткое описание предоставлено для знакомства в упрощенной форме с выборкой принципов, дополнительно описанных ниже в подробном описании. Данное краткое описание не предназначено для идентификации ключевых особенностей или существенных особенностей формулы изобретения и не предназначено для помощи в определении области формулы изобретения.

Дополнительные особенности и преимущества изобретения будут изложены в следующем далее описании и отчасти будут очевидны из описания или поняты при использовании изобретения. Особенности и преимущества можно реализовать и получить при помощи инструментов и комбинаций, особенно указанных в приложенной формуле изобретения. Эти и другие особенности представленного изобретения станут более очевидны из следующего далее описания и приложенной формулы изобретения либо поняты при использовании изобретения, как изложено ниже в настоящем документе.

Краткое описание чертежей

Для описания способа, которым вышеописанных и других преимуществ и особенностей изобретения можно достигнуть, более подробное описание изобретения, кратко описанное выше, будет передано в соответствии с конкретными вариантами осуществления изобретения, которые проиллюстрированы на приложенных чертежах. Понимая, что эти чертежи изображают только типичные варианты осуществления изобретения и, таким образом, не рассматриваются как ограничивающие его область, изобретение опишут и разъяснят более точно и детально с использованием приложенных чертежей.

На фиг.1 изображена примерная компьютерная архитектура, которая обеспечивает гибкое редактирование гетерогенных документов.

На фиг.2 проиллюстрирована блок-схема примерного способа гибкого редактирования гетерогенных документов.

На фиг.3 изображен расширенный вид примерного рабочего пространства для гибкого редактирования гетерогенных документов.

На фиг.4 изображена примерная доменная модель рабочих пространств.

На фиг.5 изображен пример доменной модели состояний просмотра.

Подробное описание

Представленное изобретение распространяется на способы, системы и компьютерные программные продукты для гибкого редактирования гетерогенных документов. Общее рабочее пространство конфигурируется для редактирования документов из множества различных типов данных. Общее рабочее пространство конфигурируют для одновременного размещения в нем множества различных редакторов. Каждый редактор конфигурируют для использования с по меньшей мере одним из множества различных типов данных. Внутри общего рабочего пространства предоставляется подложка рабочего пространства. Подложка рабочего пространства визуально представляет множество документов и отношения между множеством документов.

Принимают первую команду на изменение для изменения первого документа в подложке рабочего пространства. Первый документ обладает первым типом данных. Идентифицируют сконфигурированный дополнительный модуль первого редактора для использования с документами первого типа данных. Первый редактор размещают на подложке рабочего пространства. Первый редактор используют для осуществления назначения первой команды на изменение для первого документа. Первый редактор включает в себя функциональность дополнительного модуля первого редактора.

Принимают вторую команду на изменение для изменения второго документа в подложке рабочего пространства. Второй документ обладает вторым, другим, типом данных. Второй документ обладает визуально представленным на подложке рабочего пространства отношением к первому документу. Идентифицируют сконфигурированный дополнительный модуль второго редактора для использования с документами второго, другого, типа данных. Одновременно с первым редактором на подложке рабочего пространства размещают второй редактор. Второй редактор используют для осуществления назначения второй команды на изменение для второго документа. Второй редактор включает в себя функциональность дополнительного модуля второго редактора.

Варианты осуществления представленного изобретения могут включать в себя или использовать компьютер общего назначения или специализированного назначения, включая компьютерное аппаратное обеспечение, как описано ниже более детально. Варианты осуществления в области настоящего изобретения также включают в себя физические и другие считываемые компьютером носители для переноса или хранения исполняемых компьютером инструкций и/или структур данных. Таким считываемым компьютером носителем может являться любой доступный носитель, доступ к которому может осуществлять компьютерная система общего назначения или специализированного назначения. Считываемый компьютером носитель, хранящий исполняемые компьютером инструкции, является физическим носителем хранения. Считываемый компьютером носитель, который несет исполняемые компьютером инструкции, является средой передачи. Таким образом, как пример, а не как ограничение, варианты осуществления изобретения могут включать в себя два кардинально различных считываемых компьютером носителя: физический носитель хранения и среду передачи.

Физические носители хранения включают в себя RAM, ROM, EEPROM, CD-ROM или другой накопитель на оптических дисках, накопители на магнитных дисках или другие магнитные накопители, или любой другой носитель, который можно использовать для хранения желаемого программного кода в виде исполняемых компьютером инструкций или структур данных, к которым может осуществлять доступ компьютер общего назначения или специализированного назначения.

"Сеть" определяют как один или более каналов данных, позволяющих транспортировать электронные данные между компьютерными системами, и/или модулями, и/или другими электронными устройствами. Когда информация передается или предоставляется через сеть или другое коммуникационное соединение (проводное, беспроводное или сочетание проводного или беспроводного) с компьютером, где компьютер корректно воспринимает соединение как среду передачи. Среды передачи могут включать в себя сеть и/или каналы данных, которые можно использовать для переноса желаемого программного кода в виде исполняемых компьютером инструкций или структур данных, к которым может осуществлять доступ компьютер общего назначения или специализированного назначения. Сочетания вышеизложенного также включают в область считываемого компьютером носителя.

Далее, необходимо понимать, что по достижении различных компонентов компьютерной системы программный код в виде исполняемых компьютером инструкций или структур данных могут автоматически переносить между средой передачи на физический носитель хранения. Например, программный код в виде исполняемых компьютером инструкций или структур данных, принятый по сети или по каналу данных, можно разместить в буферной RAM платы адаптера сетевого интерфейса и затем перенести в RAM компьютерной системы и/или менее энергозависимый носитель хранения в компьютерной системе. Таким образом, необходимо понимать, что физический носитель хранения можно включать в компоненты компьютерной системы, которые также (или даже в основном) используют среду передачи.

Исполняемые компьютером инструкции включают в себя, например, инструкции и данные, обуславливающие выполнение компьютером общего назначения, специализированным компьютером или специализированным устройством обработки определенной группы функций. Исполняемые компьютером инструкции могут являться, например, двоичными, инструкциями промежуточного формата, такого как язык ассемблера, или даже исходным кодом. Несмотря на то, что суть изобретения изложена языком, характерным для структурных признаков и/или методологических правил, необходимо понимать, что суть изобретения, определенная в приложенной формуле изобретения, необязательно ограничена вышеописанными особенностями или правилами. Напротив, описанные особенности и правила раскрыты как примерные виды реализаций формулы изобретения.

Специалисты в данной области понимают, что изобретение можно использовать на практике в сетевых вычислительных окружениях с большим количеством типов конфигураций компьютерных систем, включая персональные компьютеры, настольные компьютеры, портативные компьютеры, обработчики сообщений, наладонные устройства, многопроцессорные системы, программируемую или микропроцессорную бытовую электронику, сетевые PCs, миникомпьютеры, центральные компьютеры, мобильные телефоны, PDAs, пейджеры, маршрутизаторы, коммутаторы, устройства с тактильным вводом, такие как, например, iPhone™, Microsoft® Surface, настенные проекторы, объемные дисплеи, большие настенные дисплеи и т.п. Изобретение также можно использовать на практике в окружениях распределенных систем, где задачи выполняют и локальные, и дистанционные компьютерные системы, связанные (проводными каналами данных, беспроводными каналами данных или сочетанием проводных и беспроводных каналов данных) через сеть. В окружении распределенной системы, программные модули могут располагаться и на локальных, и на дистанционных накопительных устройствах памяти.

На фиг.1 проиллюстрирована примерная компьютерная архитектура 100, обеспечивающая гибкое редактирование гетерогенных документов. В компьютерной архитектуре 100 изображен диспетчер окон 101, диспетчер документов 102, диспетчер дополнительных модулей 103. Диспетчер окон 101, диспетчер документов 102 и диспетчер дополнительных модулей 103 могут быть соединены между собой через системную шину или сеть, такую как, например, локальную вычислительную сеть ("LAN"), глобальную вычислительную сеть ("WAN") или даже Интернет. Соответственно, компоненты диспетчера окон 101, диспетчера документов 102 и диспетчера дополнительных модулей 103, так же как и любые другие напрямую подключенные компоненты, могут создавать связанные с сообщениями данные и обмениваться связанными с сообщениями данными (например, датаграммами протокола Интернет ("IP") и другими высокоуровневыми протоколами, использующими IP датаграммы, такими как протокол управления передачей ("TCP"), простой протокол передачи почты ("SMTP") и т.д.) через сеть.

Обычно диспетчер окон 101 сконфигурирован для обеспечения гибкого редактирования гетерогенных документов. Диспетчер окон 101 может конфигурировать подложки рабочих пространств для редактирования документов из множества различных типов данных. Диспетчер окон 101 может запрашивать документы, представляющие рабочие пространства, из диспетчера документов 102. Для обеспечения многодокументных подложек рабочих пространств рабочее пространство может одновременно размещать в себе множество различных редакторов. Каждый отдельный редактор можно сконфигурировать для использования с одним из множества различных типов данных.

Подложку рабочего пространства можно визуально представить как пользовательский интерфейс компьютерной системы. Таким образом, подложка рабочего пространства может принимать пользовательский ввод для загрузки, сохранения, изменения, осуществления доступа, удаления и т.д. документов, присутствующих в подложке рабочего пространства. В ответ на пользовательский ввод рабочее пространство может запрашивать дополнительные документы у диспетчера документов и ставить им в соответствие редакторы, выполняя запросы к диспетчеру дополнительных модулей 103. Таким образом, принятый пользовательский ввод можно перенаправить диспетчеру документов 102. На основании пользовательского ввода рабочее пространство может затем выполнить различные операции для реализации назначения, указанного пользовательским вводом (например, загрузить документ, редактировать документ, создать отношения между документами и т.д.).

Рабочее пространство может отправлять запросы на документы диспетчеру документов 102. Запрос на документ (например, запрос 182) может быть одним или несколькими запросами, именами файлов, URLs и т.п., где каждый представляет часть содержимого документа. В ответ на запрос на документ диспетчер документов 102 может идентифицировать одну или более частей содержимого таблицы хранения содержимого 104. Диспетчер документов 102 может вернуть любые идентификаторы частей содержимого (например, содержимое 391) запрашивающему рабочему пространству.

Приняв содержимое документа, рабочее пространство может разместить соответствующие документу редактор(ы). Например, рабочее пространство 107 может определить тип данных полученного документа и передать тип данных диспетчеру дополнительных модулей 103. Диспетчер дополнительных модулей 103 может обратиться к таблице соответствия 121 (в накопителе 106) для установления соответствия типа данных соответствующему редактору. Затем диспетчер дополнительных модулей 103 может осуществить доступ к соответствующему редактору и вернуть соответствующий редактор диспетчеру окон 101.

В некоторых вариантах осуществления рабочее пространство 107 включает в себя общую функциональность редактора, обладая интерфейсами для приема и взаимодействия с дополнительными модулями редакторов. В этих (равно как и в других) вариантах осуществления полученный дополнительный модуль редактора можно сконфигурировать для взаимодействия с общим функционалом редактора рабочего пространства 107. Например, полученный дополнительный модуль редактора может являться библиотекой динамической компоновки ("DLL"), сконфигурированной для взаимодействия с общим функционалом редактора для реализации операций редактирования указанного типа данных. Рабочее пространство 107 может загрузить DLL для получения доступа к операциям редактирования указанного типа данных. Затем рабочее пространство 107 может разместить редакторы внутри рабочего пространства для редактирования документов указанного типа данных.

Кратко обратимся к чертежу 3, на котором изображен расширенный вид рабочего пространства 107 для гибкого редактирования гетерогенных документов.

Расширенный вид рабочего пространства 107 визуально изображает расположение нескольких различных рабочих планшетов, включающих в себя планшеты 108А, 108B, 302, 312 и 361, содержащих различные документы. Рабочие планшеты также служат в качестве механизма группировки для совместной группировки содержащихся документов. На чертеже 2 проиллюстрирована блок-схема примерного способа 200 для гибкого редактирования гетерогенных документов. Способ 200 будет описан в соответствии с компонентами и данными, изображенными на компьютерной архитектуре 100, и документами, изображенными в расширенном виде рабочего пространства 107. В частях описания компоненты и данные из компьютерной архитектуры 100 и из расширенного вида рабочего пространства 107 используются взаимозаменяемо.

Способ 200 включает в себя действие по конфигурированию общего рабочего пространства для редактирования документов из множества различных типов данных, где общее рабочее пространство сконфигурировано для одновременного размещения множества разных редакторов, где каждый редактор сконфигурирован для использования по меньшей мере с одним из множества различных типов данных (действие 201). Например, диспетчер окон 101 может сконфигурировать рабочее пространство 107 для редактирования документов из множества разных типов данных. Диспетчер окон 101 может отправить запрос на документ 133 диспетчеру документов 102 для запроса документа рабочего пространства. В ответ диспетчер документов 102 может вернуть диспетчеру окон 101 документ рабочего пространства 109. Диспетчер окон 101 может использовать документ рабочего пространства 109 для конфигурирования рабочего пространства 107.

Рабочее пространство 107 можно сконфигурировать для размещения различных редакторов (например, 131AE и т.п.) на основании типов 131 дополнительных модулей редакторов. Каждый размещенный редактор можно сконфигурировать для использования с одним из множества различных типов данных (представленных в частях содержимого 181). Для примера различные размещенные редакторы можно сконфигурировать для использования с различными типами данных (например, типом данных 111, типом данных 112 и т.д.), хранимых в документах 109.

Способ 200 включает в себя действие по представлению подложки рабочего пространства, визуально представляющей множество документов и взаимоотношения между множеством документов (действие 202). Подложка рабочего пространства может являться типом документа, хранимого в документах 109. Таким образом, рабочее пространство 107 может осуществлять доступ к документу подложки рабочего пространства из документов 109 и представлять соответствующую подложку рабочего пространства в рабочем пространстве 107. Например, рабочее пространство 107 может представить рабочий планшет 108A на основании документа 109 подложки рабочего пространства. Подложка рабочего пространства может включать в себя ссылки, указывающие на взаимоотношения между другими документами из документов 109. Рабочее пространство 107 может следовать по ссылке для осуществления доступа к другим документам из документов 109.

Таким образом, рабочее пространство 107 может осуществлять доступ к содержимому документа 301 (например, содержимому 391, т.е. некоторому содержимому из частей содержимого 181) и представлять его в рабочем планшете 108А. Документ 301 визуально представляет множество частей содержимого (некоторые из которых могут являться другими документами) и взаимоотношения между частями содержимого, включая содержимое 391 и 392.

Способ 200 включает в себя действие по приему первой команды на изменение для изменения первого документа на подложке рабочего пространства, где первый документ обладает первым типом данных (действие 203). Например, рабочее пространство 107 может принимать пользовательский ввод 141. Пользовательский ввод 141 может являться командой на редактирование документа 301. Например, пользователь может выбрать содержимое 391 (или какую-либо другую часть содержимого) из документа 301. Как вариант, пользователь может ввести команду для изменения части содержимого.

Способ 200 включает в себя действие по идентификации первого дополнительного модуля редактора, сконфигурированного для использования с документами, обладающими первым типом данных (действие 204). Например, в ответ на пользовательский ввод 141 рабочее пространство 107 может отправить запрос на документ 182 (на содержимое 391, которое может являться данными или другим документом), такой как, например, имя файла, запрос, URL и т.п., к диспетчеру документов 102. На основании запроса на документ 182 диспетчер документов 102 может извлечь содержимое документа 391 из накопителя 104 и направить содержимое 391 рабочему пространству 107.

Рабочее пространство может принять содержимое 391 и осуществить доступ к типу данных 111. Рабочее пространство 107 может направить тип данных 111 диспетчеру дополнительных модулей 103. Диспетчер дополнительных модулей 103 может обратиться к таблице соответствия 121. Обычно таблица соответствия ставит в соответствие типам данных (например, типам данных 111 и 112) соответствующие дополнительные модули редакторов (например, дополнительные модули редакторов 131A и 131B, соответственно). Соответственно, диспетчер дополнительных модулей 103 обращается к таблице соответствия 121 для определения соответствия дополнительного модуля редактора 131A в качестве соответствующего редактора для содержимого 391. Затем диспетчер дополнительных модулей 131 может вернуть дополнительный модуль редактора 131A (например, DLL) диспетчеру окон 101.

Способ 200 включает в себя действие по размещению первого редактора на общей подложке рабочего пространства (действие 205). Например, в ответ на прием дополнительного модуля редактора 131A рабочее пространство 107 может разместить редактор 131AE для редактирования содержимого 391. Редактор 131AE может включать в себя и быть основан на функциональности, включенной в дополнительный модуль редактора 131A. Способ 200 включает в себя действие по использованию первого редактора для выполнения назначения первой команды на изменение первого документа (действие 206). Например, рабочее пространство 107 может использовать редактор 131AE для внесения операции редактирования в содержимое 391.

Способ 200 включает в себя действие по приему второй команды на изменение второго документа на подложке рабочего пространства, где второй документ обладает вторым, другим, типом данных и где второй документ обладает визуально представленным отношением к первому документу на подложке рабочего пространства (действие 207). Например, рабочий планшет 108A может принять дополнительный пользовательский ввод, включающий в себя команды на редактирование содержимого 392. Например, пользователь может выбрать ссылку на содержимое 392 из документа 301. Как вариант, пользователь может ввести команду на изменение содержимого 392. Как показано на расширенном виде рабочего пространства 107, документ 301 визуально представляет связь между содержимым 391 и 392. Таким образом, содержимое 391 связано с содержимым 392 посредством ряда ссылок между другим содержимым и/или документами.

Способ 200 включает в себя действие по идентификации второго редактора, сконфигурированного для использования с документами, обладающими вторым, другим, типом данных (действие 208). Например, в ответ на дальнейший пользовательский ввод рабочее пространство 107 может отправить дополнительный запрос на документ для содержимого 392, такой как, например, имя файла, запрос, URL и т.п., к диспетчеру документов 102. На основании дополнительного запроса на документ диспетчер документов 102 может сформировать содержимое 392 из частей содержимого 181 с носителя 104 и вернуть содержимое 392 рабочему пространству 107.

Рабочее пространство 107 может принять содержимое 392 и осуществить доступ к типу данных 112. Рабочее пространство 107 может направить тип данных 112 диспетчеру дополнительных модулей 103. Диспетчер дополнительных модулей 103 может обратиться к таблице соответствия 121 для определения соответствия дополнительного модуля редактора 131B в качестве соответствующего редактора для содержимого 391. Затем диспетчер дополнительных модулей 131 может вернуть дополнительный модуль редактора 131B (например, DLL) рабочему пространству 107.

Способ 200 включает в себя действие по размещению второго редактора одновременно с первым редактором на подложке рабочего пространства (действие 209). Например, в ответ на прием дополнительного модуля редактора 131B менеджер окон 101 может разместить редактор 131BE для редактирования содержимого 392. Редактор 131BE может включать в себя и быть основан на функциональности, включенной в дополнительный модуль редактора 131B. Как изображено на вычислительной архитектуре 100, редакторы 131AE и 131BE можно размещать внутри рабочего пространства 107 одновременно (и внутри рабочего планшета 108A). Способ 200 включает в себя действие по использованию второго редактора для выполнения назначения второй команды на изменение второго документа (действие 210). Например, рабочее пространство 107 может использовать редактор 131BE для внесения операции редактирования в содержимое 392.

В некоторых вариантах осуществления документы вкладываются один в другой. Например, первый документ первого типа данных может быть вложен (встроен или указан как вложенный) во второй документ второго, другого, типа данных. Таким образом, внутри редактора для редактирования второго документа можно выбрать первый документ для запуска редактора для редактирования первого документа. Это обеспечивает объединение и редактирование содержимого (и других документов) вместо редактирования документов отдельно одного от другого (внутри одного рабочего пространства). Также это обеспечивает просмотр документов способом, сохраняющим контекст между документами.

В некоторых вариантах осуществления изобретения по мере добавления новых и/или удаления объектов из рабочего пространства, таких как, например, содержимое и документы (например, 306 и 307), рабочие планшеты (302 (которые также служат группирующими механизмами), 108B, 304), редакторы и т.п., размер рабочего пространства можно динамически увеличивать и уменьшать по мере изменений потребностей в пространстве. Рабочие планшеты можно расширять бесконечно для размещения документа практически любого размера и/или любого количества документов. Там, где это удобно, для перемещения по рабочему планшету можно использовать полосы прокрутки. Пользователь также может манипулировать другими элементами управления для перемещения по рабочему планшету. Таким образом, пользователю создают впечатление безграничного (или бесконечного) рабочего пространства.

Рабочие планшеты обеспечивают открытие связанного документа в контексте другого документа. Рабочие планшеты можно использовать для представления различных документов, относящихся друг к другу, и в различных местах рабочего пространства. В некоторых вариантах осуществления для открытия связанного документа без прямого использования области рабочего пространства можно использовать плавающие рабочие планшеты. В таком случае рабочий планшет "плавает" над рабочим пространством. Например, плавающий рабочий планшет 361 плавает над рабочим пространством 107 (над частью документа 301). Документы в плавающих рабочих планшетах можно отключать до закрытия плавающего документа или до того момента, когда документ добавляется в рабочее пространство. Таким образом, плавающие рабочие планшеты обеспечивают временные и сфокусированные состояния без необходимости нарушения расположения в рабочем пространстве.

Также документы можно включать в нескольких местах рабочего пространства. Например, документ 311 включен и в выделенную визуальную закладку 304, и в рабочий планшет 108B.

Рабочие планшеты можно конфигурировать в разных форматах, включающих любое количество документов. Рабочие планшеты можно также вкладывать один в другой. Например, как показано, рабочий планшет 312 (включающий в себя документ 316) вложен в рабочий планшет 302 (включающий в себя документ 314). Рабочие планшеты 302 и 108B также включены в рабочий планшет 108A.

В рабочем пространстве область подложки можно приоритезировать для документов, к которым в настоящий момент осуществляется доступ. Например, документ 301 можно увеличить в размере в ответ на выбор содержимого 391 или 392. С другой стороны, другие объекты в рабочем пространстве 107 можно уменьшить в размере в ответ на выбор содержимого 391 или 392. Приоритезация документов позволяет пользователю легче фокусироваться на актуальных в настоящий момент документах, при этом сохраняя другие документы контекста на периферии.

Также, рабочее пространство 107 включает в себя визуальные закладки 371, расположенные в строковом формате. Визуальные закладки 371 обеспечивают предварительный просмотр для закладок/предпочтений для документов. Выделенную визуальную закладку 304 можно выделять (например, увеличивать в размере) в ответ на перевод курсора мыши на визуальную закладку из числа визуальных закладок 371.

Соответственно, варианты осуществления представленного изобретения обеспечивают редактирование документов различных типов в едином контексте и способом, сохраняющим взаимоотношения между документами. Дополнительно, в некоторых вариантах осуществления диспетчер окон 101 управляет множеством рабочих пространств-вкладок через пользовательский интерфейс, обращаясь к чертежу 2, где выбрана вкладка 391 для представления диспетчером окон 101 рабочего пространства 107. Однако выбор вкладки 392 может вынудить диспетчер окон 101 представить другое, иное рабочее пространство. Пользователи могут по желанию добавлять и удалять рабочие пространства-вкладки, используя пользовательский интерфейс.

На чертеже 4 изображен пример доменной модели рабочих пространств 400. Рабочие пространства, использованные в вариантах осуществления представленного изобретения, можно определять в соответствии с доменной моделью рабочих пространств 500. На чертеже 5 изображен пример доменной модели состояний просмотра 500. Состояние просмотра для объектов, изображенных в рабочем пространстве, можно определять в соответствии с доменной моделью состояний просмотра 500.

Также варианты осуществления изобретения можно использовать для сокращения дистанции между функциями оболочки и функциями документа. Например, документ может представлять собой набор запросов и поисков, подобных оболочечным. Это обеспечивает прозрачное взаимодействие, которое позволяет пользователю по желанию осуществлять доступ к чему угодно и размещать это в любом месте. Например, в ответ на запрос для рабочих пространств можно создать список содержимого. Для представления списка содержимого можно использовать плавающий рабочий планш