| Версия 5.2
Введение
Установка
Администрирование
Сеть
Объекты
Почта
Сигналы
Доступ
Услуги
Справочник
Кластеры
Программы
Разное
Лицензирование
Веб Почта
Pronto!
PBX
Объекты | Домены | Пользователи | Группы | Переадресаторы | Папки | Файлы | Данные
# Хранилище Файлов Доступ к Хранилищу Файлов по HTTP Личная Папка Управление через HTML Управление через HTTP Управление через FTP Специальные Файлы и Папки Виртуальные Файлы и Папки Совместный доступ к Личным Файлам Пользователи CommuniGate Pro могут иметь Хранилище Файлов - набор HTML, JGEG и других файлов. Эти файлы также имеют название персональный Веб сайт. Для получения доступа к этим файлам может использоваться HTTP модуль CommuniGate Pro. FTP модуль CommuniGate Pro также может использоваться для получения доступа и обновления файлов в Хранилище Файлов; TFTP модуль может использоваться для скачивания с Сервера файлов из Хранилища Файлов. Для управления файлами пользователя в Хранилище Файлов может использоваться Интерфейс Командной Строки CLI. Только Администратор или сам Пользователь - владелец файлов могут изменять настройки Хранилища Файлов Пользователя. Хранилище Файлов может содержать вложенные папки (файловые директории). Если у Пользователя и в его Домене включена услуга `WebSite` в разделе Услуги, то любой может получать файлы из Хранилища Файлов Пользователя через HTTP браузер, FTP или TFTP клиент. Если файл из Хранилища Файлов находится внутри `личной` "папки" (директории), то HTTP браузер, FTP или TFTP клиент для получения доступа к такому файлу должны будут сначала аутентифицироваться как Пользователь - владелец или Администратор. Общее число файлов и папок и общий размер всего Хранилища Файлов может быть ограничен в Установках Пользователя. Хранилище Файлов может использоваться также для: хранения приложений к сообщениям. хранения аудио приветствий или хранения других файлов, используемых Приложениями Реального Времени.

## Доступ к Хранилищу Файлов по HTTP

CommuniGate Pro позволяет каждому пользователю создать свой персональный Веб сайт. URL на Хранилище Файлов Пользователя accountname@domainname имеет вид:
`<http://domainname:port/~accountname>` где port это номер порта, через который работает модуль WebUser.
Например, персональный Веб сайт пользователя `jsmith@client1.com` находится по адресу:
`<http://client1.com:8100/~jsmith>`

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

Наряду с префиксом `~` в Установках Домена могут быть заданы альтернативные префиксы. Альтернативный префикс так же может являться пустой строкой.

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

Доступ к Персональным Веб сайтам может осуществляться и без префикса, используя только серверную часть URL-строки. Когда Сервер CommuniGate Pro получает входящее HTTP соединение на порт модуля WebUser, то он использует специальную процедуру для Маршрутизации Домена.

Если имя домена `user.domain.com` имеет A-запись в DNS, указывающую на IP адрес сервера CommuniGate Pro, а в Маршрутизаторе CommuniGate Pro имеются следующая запись:
`<LoginPage@user.domain.com> = userA@domainB.com`
и Пользователь userA существует в Домене CommuniGate Pro domainB, то для доступа к персональному Веб сайту (Хранилищу Файлов) пользователя userA@domainB.com может использоваться URL `http://user.domain.com/`.

В Хранилище Файлов должен отсутствовать файл `index.wssp`. Это имя зарезервировано для форм Управления Хранилищем Файлов.

Домашняя (используемая по умолчанию) страница персонального Веб сайта должна иметь имя `default.html`. Это означает, что если имя файла явно не указано, то подразумевается имя `default.html`. Если в Хранилище Файлов есть папки (поддиректории), то запрос вида `http://server:port/prefix user/folder/` приведет к выдаче файла `default.html`, находящегося в этой поддиректории.

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

### Личная Папка

Хранилище Файлов Пользователя может содержать папку с именем `private`.
Файлы, находящиеся в этой папке, доступны только для Пользователя-владельца и Администраторов, обладающих правом доступа `Полный доступ ко всем Файлам`.

Папка `private` может использоваться как хранилище документов любого типа - и пользователь может получать к ним доступ из любого места через любой браузер, FTP или TFTP клиент.

## Управление через HTML

Пользователи могут управлять настройками Хранилища Файлов Пользователя через любой браузер. Есть два метода доступа к страницам управления Хранилищем Файлов:

- Открыв сессию WebUser, использовать ссылку Файлы в панели навигации Веб Интерфейса Пользователя.
- Открыв файл `Index.wssp`, находящийся на своём персональном Веб сайте:
  `http://domain.dom:8100/~username/Index.wssp`
  Браузер откроет диалоговое окно Входа (аутентификации), и пользователь должен будет ввести своё имя Пользователя и пароль для того, что бы открыть страницу управления.

Администраторы Сервера с правами доступа Может менять установки Всех Доменов и Пользователей и администраторы Домена с правами `Полный доступ ко всем Файлам` имеют доступ к Хранилищу Файлов других Пользователей.
Они могут использовать ту же ссылку и открыть файл Index.wssp, но они должны входить на сервер под своими собственными именами Пользователей и паролями.

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

При любых методах управления для администрирования Хранилища Файлов используются похожие HTML страницы:

Файлы
| Имя | Размер | Обновлено
--- | --- | --- | ---
| report.txt | 488 | 20:52:49
| myDocs | ==>
В этой Папке: | 2 | 488 |
Во всех Папках: | 5 | 976 |
Ограничения: | Неограничен | 30720 |

Нажмите на кнопку Browse и выберите файл, которые вы хотите загрузить в Хранилище Файлов. Для загрузки файла нажмите на кнопку Загрузить Файл. Его имя должно появится в списке.

Флажками отметьте файлы и/или папки, которые вы хотите удалить из Хранилища Файлов и нажмите на кнопку Удалить Помеченные. Выбранные файлы будут удалены.

Для создания в Хранилище Файлов папки (поддиректории) напечатайте её имя и нажмите на кнопку Создать Папку.

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

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

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

## Управление через HTTP

Данные в Хранилище Файлов могут быть изменены через методы HTTP 1.1 `PUT`, `DELETE`, и `MOVE`. Некоторые средства для разработки HTML страниц могут использовать эти методы для загрузки файлов на сервер.

В таких HTTP запросах должна содержаться аутентифицирующая информация: имя Пользователя - владельца Хранилища Файлов (или имя Пользователя - Администратора Сервера/Домена) и пароль Пользователя.

## Управление через FTP

Данные в Хранилище Файлов могут быть изменены через FTP Модуль CommuniGate Pro. Когда Пользователь соединяется с FTP модулем, его "корневой" (а также текущей) директорий считается верхняя директория Хранилища Файлов Пользователя.

## Специальные Файлы и Папки

Некоторые имена файлов, находящихся в Хранилище Файлов, зарезервированы для специального использования.

`default.html`
  Когда не указано никакого имени файла, URL: `http://server:port/~username/` или `http://server:port/~username` эквивалентен `http://server:port/~username/default.html`.
  То же справедливо и для подпапок в Хранилище Файлов: `http://server:port/~username/subfolder/` обрабатывается как `http://server:port/~username/subfolder/default.html`
  Это имя файла, применяемое по умолчанию, задаётся в Установках Пользователя и может быть изменено индивидуально для каждого Пользователя.
`freebusy.vfb`
  Этот текстовый файл содержит Информацию о Занятости пользователя (информацию Свободен/Занят). При изменении Главного Календаря Пользователя через модуль MAPI, XIMSS интерфейс, модуль Веб Интерфейса Пользователя или модуль AirSync, файл удаляется.
  При запросе этого файла, если он не существует, Сервер открывает данные Пользователя, открывает папку с Главным Календарём, генерирует Информацию о Занятости и сохраняет её в файле `freebusy.vfb`.

  Если Информация о Занятости не может быть создана (например, если у Пользователя не существует Главного Календаря), HTTP модуль создаёт пустой набор данных Свободен/Занят и отправляет его клиенту.

`any_name.meta`
  В этих файлах содержится мета-информация о файлах any_name. Например, в файле `Betty.jpeg.meta` содержится мета-информация о файле с фото `Betty.jpeg`: место, где была снята фотография, комментарии к ней и т.д.
  Если файл в Хранилище Файлов переименовывается или удаляется, то мета-файл автоматически переименовывается или удаляется вместе с ним.
  Мета-файл должен быть текстовым файлом в формате XML. Элемент XML верхнего уровня должен быть `meta`-элементом в пространстве имён `http://www.stalker.com/cgp/filemeta/1.0`.
`private/logs/calls-yyyy-mmm`
  Эти текстовые файлы создаются и заполняются объектами Диалоги Сигналов. yyyy - это 4-х значный номер года, а mmm - это 3-х буквенное имя месяца.
  Каждая запись в файле содержит поля, разделённые символом табуляции с информацией обзвонке, выполненным или принятым Пользователем.

  Поддерживаются следующие форматы записи:

    `2_dd-mmm hh:mm:ss_direction_peer_callId_callTime_alertTime_errorCode[_programName]`
  где:
  `_`
    символ табуляции (символ с кодом 0x09)
  `2`
    версия формата записи
  `dd`
    2-значный номер дня месяца
  `mmm`
    3-х символьное имя месяца
  `hh`, `mm`, `ss`
    2-значные цифры с часом (00..23), минутой (00..59) и секундой (00..59) окончания звонка.
  `direction`
    1-символьное направление звонка: `I` - входящий, `O` - исходящий
  `peer`
    адрес электронной почты участника звонка, в
    `<username@domainName>`
    или
    `"real name" <username@domainName>`
    формате.
  `callId`
    строка с `Call-ID`.
  `callTime`
    продолжительность звонка (число секунд). Время между моментом соединения и моментом рассоединения. Если звонок не был выполнен успешно, то это поле будет пустым.
  `alertTime`
    время продолжительности вызова (числе секунд). Время между началом звонка и моментом соединения или (если звонок не был выполнен успешно) время между началом звонка и моментом неуспешного завершения звонка.
  `errorCode`
    строка с кодом ошибки для неудачного звонка или причина рассоединения звонка. Если звонок был завершён успешно, то это поля является пустым.
  `programName`
    это опциональное поле содержит имя Приложения Реального Времени, которое обрабатывало этот звонок.

## Виртуальные Файлы и Папки

Виртуальные имена не ссылаются на реальные файлы, находящиеся в Хранилище Файлов, но они могут использоваться для получения определённой информации.

`index.wssp`
  Это имя используется для Управления Хранилищем Файлов через HTML. Доступ к этим ресурсам требует проведения аутентификации.
`freebusy.wssp`
  Это имя используется для получения форматированной информации о Занятости (информации Свободен/Занят). Фактические данные берутся из файла `freebusy.vfb` (смотрите выше).
`$DomainSkins`, `$ServerSkins`, `$ClusterSkins`
  Эти виртуальные директории обеспечивают доступ к Общим для Домена или Общим для Сервера/Кластер Web-Интерфейсам. Каждый Web-Интерфейс представлен как поддиректория; имя `$unnamed$` используется для Безымянных Web-Интерфейсов.
  Пользователь должен иметь надлежащие Права Доступа для того, что бы просматривать и управлять этими директориями.
`$DomainPBXApp`, `$ServerPBXApp`, `$ClusterPBXApp`
  Эти виртуальные директории обеспечивают доступ к Общим для Домена или к Общим для Сервера/Кластера Приложениям Реального Времени. Варианты для разных языков представлены как поддиректории.
  Пользователь должен иметь надлежащие Права Доступа для того, что бы просматривать и управлять этими директориями.

## Совместный доступ к Личным Файлам

Доступ на чтения к файлам, находящимся внутри директории `private`, может быть предоставлен также другим пользователям CommuniGate Pro и внешним "гостям".

Создайте или измените .meta файл для директории `private` или для любой из её поддиректорий (`private.meta`, `private/dir1.meta`), или для любого файла в директории `private` или в любой из её поддиректорий (`private/dir1/file1.txt.meta`).
Вставьте элемент `<accessPwd/>` в .meta файл с элементом `<key/>`, в котором содержится случайная строка - пароль доступа. Рекомендуется также добавлять элемент(ы) `<EMail/>` для указания там адреса (адресов) электронной почты пользователей, которым был выслан этот пароль доступа.

Пример:
  <meta>
  <accessPwd>
  <key>dyf984897498ih12ui3u-3y887</key>
  <EMail realName="User Name">user1@domain1.dom</EMail>
  <EMail>user2@domain2.dom</EMail>
  </accessPwd>
  </meta>

Если такой .meta файл создаётся для директории `private` (файл `private.meta`), то с его помощью можно получить альтернативный путь доступа ко всем файлам и поддиректориям в этой директории:

  `pwd/access-password/`

Если такой .meta файл создаётся для директории `private/dir1/dir2` (файл `private/dir1/dir2.meta`), то с его помощью можно получить альтернативный путь доступа ко всем файлам и поддиректориям в этой директории:

  `protected/dir1/pwd/access-password/dir2/`

Если в файле private/dir1/dir2.meta содержаться XML данные из приведённого выше приемера, то пользователь может использовать альтернативную ссылку на личный сайт:

  `http://server:port/~username/protected/dir1/pwd/dyf984897498ih12ui3u-3y887/dir2/file.name`

Пользователь может отправить такой URL на адреса `user1@domain1.dom`, `user2@domain2.dom` и другие. Получатели будут иметь доступ к файлу `file.name` через эту ссылку.

Пользователь может отобрать это право доступа, удалив из .meta файла элемент `<accessPwd/>`.

Альтернативные пути к файлам могут использоваться при работе по FTP и TFTP протоколам, а также во всех других компонентах CommuniGate Pro, обращающихся к Хранилищу Файлов Пользователя.

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.