W3C Amaya

previous top next

WebDAV-функции в Amaya

WebDAV

WebDAV (WWW Distributed Authoring and Versioning) это набор расширений протокола HTTP, который позволяет редактировать и обслуживать web-ресурсы на удалённых/remote серверах. Он расширяет HTTP-протокол, чтобы дать место для открытой архитектуры на уровне протокола, разработки новых распределённых утилит авторизации в web, делая особый упор на коллективную авторизацию web-страниц (см. RFC 2518). WebDAV определяет операции поверх свойств, коллекций, пространств имён и перезапись защиты (механизма блокировки), и для этих операций определяет новые методы, шапки/headers, и тела экземпляров запросов/request  и ответов/response. В то же время возможности отслеживания версии, имевшиеся в оригинале, были перемещены в рабочую группу Delta-V IETF, которая расширит WebDAV и HTTP/1.1 этими возможностями (см. документ E. J. Whitehead'а "The future of Distributed Software Development on the Internet").

Механизм блокировки, определённый в WebDAV, был разработан для предотвращения перезаписи ресурсов (т.е. для предотвращения проблем потерь при обновлении) с использованием блокирования и разблокирования операций. Блокировка контролирует доступ для записи к ресурсу путём ограничения HTTP-операций записи, вроде PUT, POST и DELETE. Это означает, что только тот, кто знает блокировку, будет иметь возможность выполнять эти операции. Протокол WebDAV также определяет две области видимости блокирования\lock scopes: исключительная\exclusive и совместно используемая\shared.

Исключительная блокировка гарантирует, что только один человек владеет блокировкой и что никто , кроме него, не может блокировать ресурс (это не влияет на чтение ресурса).

Совместно используемая блокировка даёт группе пользователей возможность создавать собственные блокировки ресурса, но они должны доверять друг другу, чтобы исключить проблемы с доступом к ресурсу. Кроме того, каждая блокировка имеет таймаут, но пользователь не должен забывать, что блокировки могут отключаться из-за исключений, возникающих на сервере.

Дополнительную информацию о WebDAV можно найти в документе RFC 2518, а также на сайте WebDAV.org.

Поддержка WebDAV в Amaya

В Amaya имеется опционная и неполная поддержка WebDAV. Это следующие операции: lock/unlock WebDAV-совместимого ресурса, просмотр WebDAV-свойств ресурса и блокирование возможности раскрытия. Помимо этого, имеется поддержка некоторых функций, которые могут автоматически информировать пользователя о блокированных ресурсах.

Как Её Использовать?

Поддержка WebDAV в Amaya должна помогать небольшим группам пользователей совместно редактировать Web-страницы. Вот пример работы: предположим, у вас имеется WebDAV-сервер (точнее говоря, вы обязаны иметь Web-сервер, поддерживающий WebDAV) по имени davserver.mycompany.com и Вы и ваши коллеги хотите совместно редактировать некоторые документы, находящиеся в WebDAV-папке /shared/ (WebDAV-папки называются коллекциями).

Итак, Вам необходимо изменить документ http://davserver.mycompany.com/shared/Doc1.html. Для этого Вы загружаете документ в Ваш редактор Amaya, а затем Вы можете блокировать этот документ (пункт Lock resource в меню Cooperation). После этого, если один из Ваших коллег попытается сохранить какие-либо изменения в этом документе, он/она будут предупреждены о Вашей блокировке, и обновления не будут автоматически утеряны. Таким образом, пока документ блокирован, Вы можете гарантированно изменять его, а когда закончите работу, можете разблокировать этот документ, дав возможность коллегам блокировать этот документ и выполнить свои изменения.

Следовательно, если Вы хотите уточнить, не блокирована ли Web-страница, Вы можете использовать пункт View resource properties в меню Cooperation и увидеть все свойства страницы, либо можете сконфигурировать Amaya так, чтобы он автоматически информировал Вас, если страница блокирована. Для этого Вам необходимо открыть диалог Cooperation->Preferences, отметить опцию General Awareness и поместить ссылку на Вашу совместно используемую папку в поле User's WedDAV Resource list (http://davserver.mycompany.com/shared/). После того как Вы это сделали, при открытии страницы, блокированной Вашими коллегами в папке http://davserver.mycompany.com/shared/, Вы будете уведомлены программой Amaya.

Опции WebDAV в реестре Amaya

Это опции Cooperation -> Preferences. Указаны значения по умолчанию:

DAV_DEPTH= [ infinity | 0 ]
Глубина блокирования. Если глубина равна infinity, блокировка коллекции (папки) будет действовать на все компоненты. Иначе блокировка будет действовать только на эту коллекцию, не давая пользователю, не знающему блокировки, создавать или удалять компоненты коллекции.
DAV_TIMEOUT= [ Infinite | Second-XXXX ]
Желаемый таймаут для блокировки. "Infinite" означает, что значение таймаута отсутствует, а "Second-XXXX" пытается задать значение таймаута в XXXX секунд.
DAV_LOCK_SCOPE= [ exclusive | shared ]
Область видимости блокировки.
DAV_USER_URL= [ URL ]
URL, идентифицирующий пользователя. Пример: mailto:myself@myhost.com или http://myhost.com/myhomepage.html
DAV_AWARENESS= [ yes |no]
Указывает, нужна ли пользователю базовая информация-уведомление об блокированных ресурсах.
DAV_AWARENESS_ONEXIT=[ yes |no]
Указывает, хочет ли пользователь получать информацию о его/её собственных блокировках, когда он/она освобождают ресурс.
DAV_URLS= [ URL URL URL ... ]
Список URL ресурса, которые используются как WebDAV-ресурсы.

Как Скомпилировать Amaya с WebDAV-функциями?

Поддержка WebDAV является необязательной в Amaya. Для её компиляции и использования Вам необходимы:

После того как Вы выполнили cvs check-out Libwww с поддержкой WebDAV и получили исходники Amaya, Вы должны последовательно выполнить нижеследующие инструкции (под Linux/Unix; для windows см. домашние страницы Amaya и Libwww):

Папка libwww:

Папка Amaya:


Создал Manuele Kirsch Pinheiro, 13 июня 2002.

Hosted by uCoz