Несколько советов по работе с Windows Phone 7 и SharePoint 2010

Несколько советов по работе с Windows Phone 7 и SharePoint 2010

Теперь, когда у меня наконец есть Windows Phone 7, я смог немного поразвлекаться с интеграцией SharePoint и стал лучше понимать некоторые проблемы, о которых слышал раньше от других. Я попробую поделиться своими мыслями об этом, чтобы вам стало понятнее, что мы на сегодня имеем, что пока не работает и как можно поправить положение в некоторых ситуациях.

Сначала маленькое отступление: скажу честно, Windows Phone 7 (WP7) реально впечатляет. Как и многие парни с моей работы, я пользовался системой Windows Phone только на первых порах ее существования — до стадии Windows Mobile 6.5 включительно. Я полностью испил свою чашу разочарования и уже был готов плюнуть на это, когда вдруг услышал о дате выпуска WP7. До нее оставалось лишь несколько месяцев, и я решил еще немного потерпеть и дать им второй шанс. Как же я рад, что поступил так! Начну с того, что я купил телефон Samsung Focus. Дисплей у него, скажу я вам, — просто фантастика. Он выглядит как миниатюрный телевизор высокой четкости, такая у него яркая и четкая картинка. Мой респект Самсунгу! У самого телефона есть несколько минусов, как и у большинства аппаратов, но в целом рабочие характеристики и функциональные возможности потрясающие. Писать эсэмэски стало просто как никогда. Последние годы мне стало казаться, что мои пальцы на порядок толще, чем у остальных, — так много я делал ошибок в своих сообщениях; вводить текст для меня было настоящей мукой. Новая функция автозамены в WP7 — это просто чудо. Не знаю, кто ее разработал, но я бы не задумываясь рекомендовал авторов в штаб подготовки полета на Марс: ребята все сделали просто блестяще. Целиком сенсорный экран очень подвижный, им легко пользоваться — намного проще, чем в Mobile 6.5. Интеграция с Zune сделана классно — я уже перетащил кучу музыки с ПК на телефон, а интеграция с XBox Live еще круче. Шикарно смотрится на экране мой маленький аватар XBox Live, очень нравится возможность регистрировать последние достижения и т. д. Я уже не говорю об огромном количестве игр, которые я теперь могу держать на своем телефоне (пусть жена не удивляется, какой мне выставят счет за этот месяц). Наконец, быстродействие просто молниеносное! Оно неизмеримо выше, чем в Mobile 6.5. В общем, я мог бы продолжать еще долго, но лучше остановлюсь; все же я не профессиональный обозреватель продуктов, просто я под таким впечатлением от аппарата и ОС, что не мог им не поделиться. А теперь ближе к теме.

Первое, что я хочу отметить, — это разница между тем, что можно делать с SharePoint в WP7 в браузере, и тем, что предлагает Office Hub (он же SharePoint Mobile Workspace). Начнем с браузера.

В общем, большинство сайтов SharePoint отлично работают в WP7. Интересно, что даже если настроить браузер в WP7 как мобильную версию, а не настольную, при выборе сайта SharePoint всегда отображается полная версия браузера. Чтобы увидеть сайт SharePoint 2010 в мобильном варианте, нужно добавить в конец URL строку запроса "?mobile=1". Это одно из отличий от SharePoint 2007, где для получения мобильных представлений к URL просто добавлялось "/m"; если так же сделать в SharePoint 2010, выдается ошибка "Страница не найдена". По поводу самих представлений для мобильных устройств: они определенно стали выглядеть лучше по сравнению с версией 2007. Но есть одна странная вещь, о которой полезно знать; разумеется, речь о веб-сайтах утверждений SharePoint. У меня они настроены на проверку подлинности с помощью AD FS 2.0. На моем сервере ADFS включена проверка подлинности Windows. Так как я задаю полное имя сервера ADFS, браузер не пытается автоматически отправить мои учетные данные, а выдает стандартное приглашение средства проверки подлинности Windows. Так вот, в браузере WP7 это не проходит. Я могу войти на сайт, где выбирается тип проверки подлинности (Windows или SPTrustedIdentityTokenIssuer). Я выбираю поставщика проверки подлинности SAML, который переадресует меня в ADFS, и тут-то все и валится. Я имею в виду, что браузер не открывает диалоговое окно проверки подлинности Windows, так что мне не удается пройти сайт ADFS. Если вы взглянете на браузер WP7, он покажется вам каким-то замороженным, хотя на самом деле это не так. К счастью, мой приятель Джо Ф. подсказал, как это исправить: нужно отредактировать файл compat.browser. То есть вы должны войти в каждый WFE и найти файл compat.browser. По умолчанию он хранится в папке \inetpub\wwwroot\wss\VirtualDirectories\yourVirtualDirectory\App_Browsers. В нем надо найти запись, относящуюся к агенту браузера Windows Phone 7 (агент пользователя — Office Mobile Web Access). Найдите атрибут isMobileDevice элемента capabilities и измените его значение с "true" на "false". Это также вызовет сброс виртуального сервера IIS, но теперь вы сможете перейти на сайт в своем браузере WP7. И на этот раз при выборе сайта ADFS вы получите приглашение проверки подлинности в WP7, где сможете ввести свои учетные данные и продолжить работу. Впрочем, я говорю о "простейшей" реализации ADFS; если используются другие виды проверки подлинности, путь к цели может оказаться длиннее.

А теперь перейдем к Office Hub. У Office Hub в WP7 великолепный внешний вид и удобный интерфейс пользователя. Правда, набор доступных вам сайтов SharePoint пока что сильно ограничен. Скажу прямо: насколько я понял (и это согласуется с отзывами, которые мне приходилось слышать), вы сможете использовать Office Hub только на сайтах SharePoint, в которых настроена проверка подлинности Windows и местонахождение которых эквивалентно зоне интрасети. Например, у меня есть сайт с именем http://farm2, где используется проверка подлинности утверждений Windows, и он прекрасно открывается в Office Hub, как и все содержащиеся на нем документы. Однако другой мой сайт http://wcftest.vbtoys.com, также использующий проверку подлинности Windows, недоступен из Office Hub. При попытке войти я получаю сообщение об ошибке типа "Не удается открыть... SharePoint не поддерживает эту схему проверки подлинности". Главная проблема здесь в том, что браузер, как IE в настольной системе, видит точку (".") в URL-адресе и потому относит его к зоне Интернета. А в зоне Интернета Office Hub не поддерживает проверку подлинности Windows. Поэтому я оказываюсь в WP7 фактически отрезанным от этого сайта.

И еще один пример: предположим, я пытаюсь попасть на сайт, который должен находиться в зоне интрасети — его URL-адрес https://fc1. Он настроен для использования обоих видов утверждений — Windows и SAML. К сожалению, утверждения SAML тоже не действуют в Office Hub. Выдается то же сообщение об ошибке, которое я приводил выше. Если попробовать открыть сайт, поддерживающий только проверку подлинности SAML, проблема повторится — входа нет. Я подумал, что было бы здорово, если бы оказалось, что Office Hub может использовать cookie-файлы FedAuth из браузера WP7, поэтому я изменил файл compat.browser, как написал выше, и вошел на свои сайты SAML в браузере. После этого я попытался снова открыть их в Office Hub, но увы — та же ошибка.

И наконец, для полного счастья я протестировал сайт SharePoint, защищенный с помощью утверждений FBA. Все закончилось ошибкой — немного другой, но суть та же: войти опять не удалось. На этот раз сообщение звучало так: "Не удается открыть... SharePoint поддерживает только серверы SharePoint и не может открыть запрошенный контент. Попробуйте открыть его в другом веб-браузере". Причем в этом сообщении была замечательная кнопка "Открыть", которая позволила действительно открыть сайт SharePoint в моем браузере, но не в Office Hub.

Итак, вот что я пока могу сказать. WP7 в целом выглядит великолепно, интеграция SharePoint с браузером выполнена достаточно прилично, однако с Office Hub у них явные проблемы. Надеюсь, вы по крайней мере поняли, с чем вам придется иметь дело, и сможете соответственно спланировать работу и при необходимости подключить другой механизм проверки подлинности между вами и сайтом (например, UAG), чтобы увеличить число сайтов, доступных для Office Hub.

Это локализованная запись блога. Оригинал статьи см. по ссылке Some Windows Phone 7 and SharePoint 2010 Tips