17 октября 2010 г.

Хостинг для домена - идеал, которого нет.

В нескольких предыдущих заметках я рассказал о том, какие сервисы предлагают различные фирмы для размещения своего домена и групповой работы. К сожалению все они... не идеальны. В этой заметке я хочу обобщить полученный опыт и попытаться сформировать свои требования к идеальному на мой взгляд сервису для предоставления подобных услуг.
  1. Почта - наверное самый важный сервис. Должна обеспечивать поддержку smtp/imap4 с возможностью работы по SSL. Я не просто так не упомянул pop3 - как это не покажется странным, но он вообщем-то не нужен. Администратор домена должен иметь возможность настраивать такие параметры как для каждого юзера, так и для всего домена в целом как использование SSL (только SSL или SSL и не шифрованное соединение), использование pop3 (разрешено или запрещено). Веб-интерфейс почты должен поддерживать предпросмотр выбранного письма (как в обычном почтовом клиенте, для примера так сделано в экспериментальном интерфейсе @mail.ru и в веб-интерфейсе почты Hotmail). Неплохо так же иметь возможность обращаться к почте по DAV (см. Hotmail). Списки рассылки - см. Рабочие группы.
  2. Система обмена мгновенными сообщениями - jabber/xmpp, все остальное собственно не нужно. Интеграция с почтой на уровне "вам пришло письмо". Интеграция с календарем на уровне возможности выводить оповещения о событиях из ваших календарей. Конференции - см. Группы.
  3. Календарь - обычный календарь с доступом по CalDAV и поддержкой iCalendar. Поддержка интеграции с задачами. Возможность посылать оповещения о событиях по e-mailjabber/xmpp и sms.
  4. Задачи - обычный модуль управления задачами с возможностями построения диаграмм Ганта, то есть фактически - с элементами управления проектами. Именно с элементами, а не полноценный модуль управления проектами - полноценный большинству не нужен раз, два - большинство с ним просто не разберется из-за его сложности. Интеграция с почтой и календарем.
  5. Диск - "интернет-флешка" для хранения файлов и документов. Возможность монтирования к локальному компу по WebDAV.
  6. Поддержка OpenID - очень важный сервис, особенно для реализации Групп. Должен предоставлять как предоставлять OpenID для своих пользователей, так и уметь авторизовать пользователей по OpenID и управлять их правами.
  7. Очень хочется нормальной поддержки VoIP (я понимаю что ОпСоС-ы и прочие операторы телефонной связи удавятся чтоб только этого не было, по крайней мере - в нашей стране). Под ней я понимаю нормальный SIP-сервер с функциями виртуальной PABX (УАТС) и возможность получить (хотя и за деньги, разумные разумеется) нормальный выход в PSTN (ТфОП) с нормальным телефонным номером. Хочется также интеграцию c Jingle (VoIP-расширение для jabber/xmpp) на уровне что я могу выбирать куда мне приходит звонок на sip, jingle или на оба и у кого приоритет. Также необходима поддержка ENUM. Видеосвязь - на мой взгляд просто не нужна.
  8. Рабочие руппы - основное средство для групповой работы, создание списков рассылки и т.д. Существует два вида членства в рабочей группе - полное и ограниченное. Полное членство позволяет иметь доступ ко всем ресурсам рабочей группы, но требует для вступление в нее либо членства в домене, либо наличие стороннего OpenID. Подтверждение вступление в ответ на приглашение осуществляется посредством авторизации на вебе. Ограниченное членство позволяет только участвовать в списке рассылки (в соответствии с правами, назначенными списку) и/или джаббер-конференции. Подтверждение вступление осуществляется стандартными методами для списков рассылки (получения письма с ссылкой вида, ну например http://<имя группы>groups.domain.tld?subscribe=<случайно сгенерированная строка>) и для jabber/xmpp соответственно. Вид членства в группе выбирают приглашающий  - владелец рабочей группы или администратор домена.
  9. Администраторы домена могут управлять любой рабочей группой в домене и добавлять в них пользователей без запроса подтверждения у оных.
    Рабочая группа обладет следующими атрибутами, для простоты предположим что для груп у нас выделен домен groups.domain.tld:
    1. Списком почтовой рассылки с адресом <имя рабочей группы>@groups.domain.tld. Правами доступа к списку рассылки можно и нужно управлять, есть три вида пользователей - владелец, член группы (человек подписаный на список рассылки), член домена (пользователь домена, @domain.tld) и пользователь интернета. Для каждой из этой группы пользователей как минимум должно определяться - имеет он право посылать письма в список рассылки или нет. Идеальной была бы возможность подключить к списку рассылки систему управления тикетами.
    2. Джаббер-конференция с адресом  <имя рабочей группы>@groups.domain.tld, набор прав - стандартный для джаббер-конференций - надо иметь возможность задавать его для каждого члена группы.
    3. Группа дозвона для VoIP - голосовой вызов, пришедший на адрес группы поступает либо всем пользователям группы одновременно, либо на первый свободный номер.
    4. Календарь - обычный групповой календарь, calendar.groups.domain.tld на который автоматически подписываются все члены домена, вступившие в рабочую группу. Требования аналогичные требованиям к персональному календарю.
    5. Задачи - tasks.groups.domain.tld, модуль управления задачами с поддержкой диаграмм Ганта. Тут возможно потребуется управление правами, надо подумать как это организовать, с одной стороны просто, а с другой - гибко.
    6. Диск - опять же на каждую рабочую группу выделяется свое дисковое пространство в котором нужно управление правами. Не мудрствуя лукаво можно взять за основу систему управления прав из unix-like os.
    7. Веб-сайт группы - http://<имя рабочей группы>.groups.domain.tld, после захода на него и авторизации (как член домена или по OpenID) человек получает доступ к ресурсам рабочей группы через веб, в соответствии с его правами.
  10. Записная книжка - обычная записная книжка с поддержкой групп. Видимо - слитая в единое целое с контакт-листом jabber/xmpp, в том смысле что группы в контакт-листе соответствуют группам в записной книжке.  Внимание! Группы в записной книжке и рабочие группы это разные вещи! Хотя разумеется рабочие группы присутствуют в записной книжке, но только в режиме read only - управлять членством в них можно только через интерфейс отправки приглашения рабочих групп. Администратор домена может определить какие рабочие группы всегда добавляются в записную книжку пользователей домена. Владелец рабочей группы может указать добавляется ли или нет рабочая группа в записные книжки всех пользователей домена и членов этой группы. Вообще требуется принципиально новый подход к записной книжке, а именно - она едина, но в каждом приложении отображаются только те контакты, которые имеют соответствующее не пустое поле контакта.
  11. Веб-сайт, точнее конструктор веб-сайтов. Честно говоря я затрудняюсь сказать чего хочется. Он должен быть, а вот в каком виде - полноценная CMS или нечто в стиле Google Sites - я не знаю, но знаю только одно - он не должен требовать знания htlm или каких-либо других специализированных языков разметки, так что скорей всего орентироваться надо на что-то аналогичное Google Sites. Конструктор должен уметь использовать данные из различных источников, например с помощью механизма виджетов, таких как документы, электорнные таблицы, презентации, карты и т.д. В конструкторе должны быть предусмотрены наиболее распространенные шаблоны страниц:
    1. Простая веб-страница.
    2. Лента новостей с возможностью комментировать новости (она же - объявления, блог).
    3. Альбом фотографий.
    4. Менеджер файлов.
    5. Списки.
    6. Форумы.
  12. Веб-офис, или офисный пакет, работающий через веб-интерфейс (в браузере). С одной стороны - вещь вроде как полезная, особенно если учитывать интеграцию в стиле Google Sites + Google Docs, с другой стороны - они все убоги (ну по крайней мере из тех что мне  удалось увидеть) и посему практически бесполезны. Достаточно просто иметь возможность использовать на веб-сайте, документы хранящиеся на интернет-диске. Форматы хранения документов - ODF, OOXML, CSV, RTF, в том смысле что модули интеграции конструктора веб-сайтов должны понимать эти форматы. 
  13. Синхронизация с мобильными устройствами. Очень желательно использование SyncML с возможностью синхронизировать не только записную книжку, но и как минимум календарь с задачами и заметки.
  14. Синхронизация пользователей с внешним LDAP-сервером.
  15. Должны иметься средства для того что основные рабочие средства (почта, календарь, задачи и записная книжка как минимум) могли использоваться не только через веб-интерфейс, но и помощью наиболее распространенных PIM-ов, таких как MS Outlook и Mozilla Thunderbird+Lightning. Это означает что по максимуму должны использоваться стандартные протоколы, если их возможностей не хватает и требуется расширение существующего протокола или создание нового - требуется чтоб минимум для двух вышеназванных PIM-ов имелись плагины для реализации этого протокола или расширений.
  16. Хостинг DNS-серверов с удобным веб-редактором зон. Я понимаю что можно воспользоваться сторонними бесплатными сервисами типа EditDNS или DNSPark, но все же гораздо приятней производить все операции по управлению доменом из единой точки управления.
  17. Разумеется хочет чтоб компания, предоставляющая вышеописанный комплекс услуг и сервисов еще бы занималась регистрацией доменных имен. Соображения те же самые -  хочется производить все управление доменом (и оплату платных услуг) в одном месте, для простоты.
  18. И напоследок мне хочется иметь возможность устанавливать весь этот набор сервисов локально и при этом не заниматься игрой в кубики, как это приходится делать на так называемом СПО - мне хочется иметь готовое решение, а не набор компонентов, которые надо долго и упорно настраивать с целью обеспечения их взаимодействия друг с другом.
Как это не смешно, но подобного сервиса нет. Ближе всего к идеалу подошли Google и Яндекс, но до идеала им обоим далеко и увы - Яндекс-у до него дальше чем Google. Может кто предложит альтернативы, хотя бы коммерческие, но за разумные деньги разумеется?

Комментариев нет:

Отправить комментарий