ПОДДЕРЖАНИЕ ВОЗМОЖНОСТИ ОТМЕНЫ И ВОЗВРАТА ПРИ ОБЪЕДИНЕНИЯХ МЕТАДАННЫХ

1. Способ (400) сохранения метаданных во время операции (300) отмены на клиентском компьютере (102), способ, содержащий:
модификацию, на клиентском компьютере (102), первого раздела документа в приложении обработки текста на клиентском компьютере (102), причем модификация первого раздела документа содержит выполнение одного или более действий пользователя в первом разделе документа;
при модификации первого раздела документа прием метаданных, на клиентском компьютере (102), для второго раздела документа, причем второй раздел документа отличается от первого раздела документа;
после приема метаданных для второго раздела документа вставку метаданных во второй раздел документа; и
после того как метаданные вставлены во второй раздел документа, выполнение операции (300) отмены в приложении обработки текста, где операция отмены содержит этапы, на которых:
удаляют метаданные, на клиентском компьютере (102), для второго раздела документа;
отменяют последнее действие пользователя из одного или более действий пользователя в первом разделе документа; и
восстанавливают метаданные для второго раздела документа.
2. Способ по п.1, в котором метаданные, принятые на клиентском компьютере (102) для второго раздела документа, являются блокировкой для второго раздела документа.
3. Способ по п.1, в котором первый раздел документа соответствует абзацу в документе.
4. Способ по п.1, дополнительно содержит хранение принятых метаданных для второго раздела документа в программном стеке.
5. Способ по п.4, в котором программный стек является стеком отмены/возврата.
6. Способ по п.4, в котором удаление метаданных на клиентском компьютере (102) для второго раздела документа содержит удаление метаданных из программного стека и сохранение метаданных в области памяти на клиентском компьютере (102), которая отличается от программного стека.
7. Способ по п.4, в котором отмена последнего действия пользователя содержит удаление последнего действия пользователя из программного стека.
8. Способ по п.1, в котором первый раздел документа соответствует первому абзацу в документе, который редактирует первый пользователь, и второй раздел документа соответствует второму абзацу, который редактирует второй пользователь.
9. Вычислительное устройство (102), содержащее:
блок (502) обработки, содержащий:
системную память (501), соединенную с блоком (502) обработки, системная память (501) содержит инструкции, которые при исполнении блоком (501) обработки заставляют блок обработки создать:
модуль (202) обработки документа, который позволяет пользователю создавать и редактировать документы на вычислительном устройстве (102);
модуль (204) объединения метаданных, который принимает метаданные от серверного компьютера (108) и вставляет метаданные в один или более разделов документа, открытого модулем (202) обработки документа;
модуль (208) отмены/возврата, который хранит одно или более действий пользователя и который хранит метаданные, принятые от серверного компьютера (108), причем модуль (208) отмены/возврата позволяет пользователю отменять одно или более действий пользователя посредством удаления метаданных из одного или более разделов документа до отмены действия пользователя и повторно вставлять удаленные метаданные в один или более разделов документа после отмены действия пользователя; и
модуль (206) пользовательского интерфейса, который отображает в документе метаданные, принятые от серверного компьютера (108).
10. Вычислительное устройство по п.9, в котором один или более разделов документа являются абзацами.
11. Вычислительное устройство по п.10, в котором метаданные являются блокировками, причем блокировки не позволяют пользователю записывать в один или более разделов документа, в которые вставлены блокировки.
12. Вычислительное устройство по п.9, в котором метаданные являются блокировками, причем блокировки не позволяют пользователю записывать в один или более разделов документа, в которые вставлены блокировки.
13. Вычислительное устройство по п.9, в котором модуль (208) отмены/возврата содержит программный стек, причем метаданные и действия пользователя хранятся в программном стеке.
14. Вычислительное устройство по п.9, в котором модуль (208) отмены/возврата дополнительно содержит программный стек возврата, причем программный стек возврата хранит одно или более действий пользователя и метаданные, при этом программный стек возврата позволяет отменить операцию отмены действия пользователя, при этом обеспечивая целостность метаданных в документе.
15. Считываемый компьютером носитель (508) содержит инструкции, которые при исполнении блоком обработки первого клиентского компьютера (102) заставляют блок (502) обработки первого клиентского компьютера (102):
редактировать первый абзац документа на первом клиентском компьютере (102), причем первый абзац редактируется пользователем на первом клиентском компьютере (102), редактирование первого абзаца документа содержит одно или более действий пользователя в первом абзаце документа, при этом одно или более действий пользователя, в том числе набор в первом абзаце, удаление текста в первом абзаце, внесение стилевых изменений в первый абзац и форматирование первого абзаца, причем одно или более действий пользователя в первом абзаце документа хранятся в стеке отмены/возврата на первом клиентском компьютере (102);
при редактировании первого абзаца документа принимать блокировку на первом клиентском компьютере (102) для второго абзаца документа, при этом блокировка принята от серверного компьютера (108), причем блокировка указывает то, что пользователь на втором клиентском компьютере (104) в данный момент редактирует второй абзац документа, и блокировка предотвращает редактирование пользователем второго абзаца;
после приема блокировка для второго абзаца документа заставляет блок (502) обработки первого клиентского компьютера (102):
вставить блокировку во второй абзац документа, причем блокировка предотвращает редактирование пользователем на первом клиентском компьютере (102) второго абзаца на первом клиентском компьютере (102);
сохранить блокировку в стеке отмены/возврата первого клиентского компьютера (102); и
после сохранения блокировки в стеке отмены/возврата первого клиентского компьютера (102) выполнить операцию отмены на первом клиентском компьютере (102), в котором операция отмены заставляет блок обработки на первом клиентском компьютере (102):
удалить блокировку для второго абзаца документа из стека отмены/возврата на первом клиентском компьютере (102);
когда блокировка удалена из стека отмены/возврата на первом клиентском компьютере (102), временно сохранить блокировку в памяти (501) на первом клиентском компьютере (102), причем блокировка сохранена в области памяти (501), не входящей в состав стека отмены/возврата;
когда блокировка удаляется из стека отмены/возврата на первом клиентском компьютере (102), отменить последнее из одного или более действий пользователя на первом клиентском компьютере (102), причем последнее из одного или более действий пользователя удаляется из стека отмены/возврата; и
после отмены последнего из одного или более действий пользователя на первом клиентском компьютере (102) удалить блокировку из области памяти (501) на первом клиентском компьютере (102), в которой блокировка временно хранилась, и вернуть блокировку в стек отмены/возврата.