28.03.2008Back to the future

Из микрософтовского KB949468:

Это ревизия 1.0 от 10-го марта 2008г. Наверное, скоро исправят.

В VS2008 есть проблема, за которую издателю должно быть стыдно, потому что баг в общем-то «детский».

На сервере установлен MOSS 2007, там же VS 2008. Работа ведется локально (или через терминал, значения это не имеет).

Создаём новый проект SharePoint Workflow (любого типа), запускается мастер создания. В нем надо указать адрес узла, на котором будет отлаживаться этот рабочий процесс.
Например, у нас есть site collection по адресу http://portal/helpdesk/, в нем есть сайт с адресом requests. Таким образом, полный путь к сайту выглядит как http://portal/helpdesk/requests/. Сайт без проблем открывается в браузере и в SharePoint Designer’е.

Если ввести адрес такого сайта в качестве отладочного, то VS 2008 станет ругаться, что сайта с указанным адресом не существует:

SharePoint site location entered is not valid. The SharePoint site at http://portal/helpdesk/requests/ could not be found. Verify that you have typed the URL correctly…

Путём ковыряния в логах удалось выяснить, что студия по одним ей ведомым причинам пытается найти сайт по адресу http://portal/helpdesk/helpdesk/requests, т.е. вставляет путь «/helpdesk» два раза:

03/25/2008 14:28:13.44 devenv.exe (0×1380) 0×1068 Windows SharePoint Services General 8e2r Medium Possible mismatch between the reported error with code = 0×81070504 and message: “There is no Web named “/helpdesk/helpdesk/requests”.” and the returned error with code 0×80070002.

Ошибки можно избежать, если указывать в качестве отладочного сайта корень коллекции узлов (в нашем примере http://portal/helpdesk). Или не пользоваться VS2008, а работать на 2005-й :).

Я прекрасно представляю тот кусок кода, который приводит к этой ошибке (сам пару раз по началу на таком накалывался), но очень неприятно видеть подобные баги в RTM-версиях продуктов Микрософта.

Как говорится, «a picture is worth a thousand words». Одна простенькая схема может быть гораздо более выразительной и понятной, чем подробное описание на десяток страниц. Есть масса программ, облегчающих задачу построения схем и диаграмм, но в повседневной жизни я обычно пользуюсь только двумя: Mindjet
MindManager и Microsoft Visio. При этом первая практически идеальна для построения всевозможных иерархий, таксономий, тематических карт (mind maps) и т.п. конструкций. Ну а вторая, я думаю, в представлении не нуждается.

Недавно благодаря одному своему коллеге я узнал, что есть набор шаблонов (stencils) для Visio, облегчающих задачу проектирования интерфейсов для SharePoint 2003. Коллега прислал этот шаблон в архиве, но я решил найти его первоисточник и, заодно, проверить, не появилось ли что-нибудь подобное для WSS 3.0/MOSS 2007. В процессе поисков обнаружилось еще несколько интересных шаблонов для Visio, ссылками на которые я с радостью готов поделиться с вами. Итак:

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

Если где-то на просторах интернета вам попадется хороший набор шаблонов для Visio, так или иначе связанный с SharePoint’ом или любым другим продуктом из Microsoft Office Family, оставляйте ссылку в комментариях к этой записи. Будем пополнять список совместными усилиями.

17.03.2008KB946517

Наконец-то появился хотфикс для проблемы, на которую я в своё время потратил уйму времени и нервов, да так и не решил. Симптомы этого «заболевания» выглядят так:

  • Ошибка №6482 в журнале событий: «Application Server Administration job failed for service instance Microsoft.Office.Excel.Server.ExcelServerSharedWebServiceInstance (fdcef81f-582b-4af1-a5ef-ab74fe9f623a). Reason: The path specified cannot be used at this time. (Exception from HRESULT: 0×80070094)» (и то же самое для Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance)
  • Ошибка №7076 вида «Attempted to read or write protected memory. This is
    often an indication that other memory is corrupt, System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.»
  • Ошибка №6398 вида «Windows SharePoint Services 3 …
    Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob. Exception from HRESULT: 0×80005006»
  • При попытке обратиться к IIS’у через его MMC, вываливается сообщение «the path specified cannot be used at this time».

При этом сам IIS и SharePoint работают нормально, никаких проблем не наблюдается.

Указанные выше симптомы устранялись перезапуском IIS’а (иногда – несколько раз подряд!), либо перезагрузкой сервера. Как вы понимаете, для production-среды это неприемлемо.

В официальном описании этого хотфикса на сайте Microsoft KB сказано, что для его получения необходимо обратиться в службу поддержки. К счастью, у нас есть замечательный сайт The Hotfix Share, где его можно скачать (x86, x64).

Трудности перевода слова Pattern в русской версии MOSS 2007.

Намедни обновился «убийца Google Docs» в исполнении компании Microsoft – Office Live Workspace, о котором я писал пару месяцев назад.

Чем же нас может порадовать новая версия?

  • Новая панель Activity. Представляет собой список событий, произошедших в данном рабочем пространстве (обновления документов и списков, комментарии, отправка уведомлений почты и т.п.). По сути это что-то типа журнала изменений, весьма полезная и удобная вещь.
  • Загрузка нескольких документов в рабочее пространство одним махом.
  • Постоянные ссылка (permalinks) на документы и рабочие пространства. Требуется, например, если вы хотите отправить прямую ссылку на документ по электронной почте или через IM. Это так же означает, что теперь можно добавлять в закладки ссылки непосредственно на рабочие пространства.
  • Улучшенный пользовательский интерфейс, через который рассылаются приглашения. Теперь в нем можно быстро выбрать коллегу/товарища из адресной книги Live Mail и списка контактов Live Messenger’а (который, к слову, тоже недавно обновился). Интеграция налицо.

Так же обновился модуль для MS Office, обеспечивающий прямое сохранение и загрузку документов в рабочее пространство. Предыдущая версия у меня работать не захотела, а вот с новой все ОК!

Может ли Office Live Workspace претендовать на лавры Google Docs? И да и нет. На стороне GD – полноценный доступ к документам (просмотр и редактирование) из веб-интерфейса, версии для полноценных браузеров и для мобильных устройств, включая яблочный телефон. OLW выигрывает за счет интеграции с наиболее популярным на данный момент офисным пакетом, который дает существенно более широкие возможности при создании документов (особенно таблиц и презентаций), чем веб-клиент Google Docs. На сегодняшний день это решения для разных групп пользователей. Google Docs подойдет людям, которым не требуется 90% возможностей MS Office и достаточно базовой фукнциональности редактирования документов. Office Live Workspace – это рабочий инструмент для людей, которые не расстаются с ноутбуком (с установленным MS Office, разумеется).

Не думаю, что сейчас стоит делать какие-либо окончательные выводы по поводу дальнейшей судьбы OLW. Пусть в текущем варианте оно вряд ли станет крайне популярным, но у Microsoft наверняка припасено еще несколько козырей в рукаве, и часть из них наверняка будет пущена в ход до окончания бета-тестирования.

Под катом - пара скриншотов из новой версии.
Читать полностью »

Об этом объявил в своем блоге объявил Дин Хачамович, отвечающий за IE в Microsoft.
На Channel9 появилось видео, подтверждающее его слова. Напомню, что Acid2 - это тестовая страница, проверяющая веб-браузер на совместимость с различными стандартами и рекомендациями W3C.
Отмечается, что основное внимание при разработке IE8 уделено, с одной стороны, поддержке веб-стандартов, а с другой - обеспечению обратной совместимости с веб-страницами, сверстанными в расчете на IE6 и более ранние версии.
Дин обещает, что IE8 покажут на конференции MIX08 (5-8 марта 2008 г.), а бета-версия появится в первой половине 2008 года.

Наконец-то пришло приглашение на Office Live Workspace. Пока несколько скриншотов, а впечатления, может быть, потом.

Интерфейс, как видно из скриншота, аналогичен Live Mail и в целом новому семейству Live-сервисов.

Щелкаем на «Install Office Add-In», устанавливаем расширение для MS Office XP/2003/2007 (для Windows Vista необходимо перед этим поставить еще и специфическое обновление). В интерфейсе первых двух после этого появляется дополнительная панель инструментов, в Office 2007 – дополнительная кнопка «Save to Office Live» в основном меню. Система предлагает аутентифицироваться с помощью Live ID, на которое зарегистрировано рабочее пространство. Лучше сразу занести http://*.workspace.office.live.com в список доверенных узлов, иначе замучаетесь аутентифицироваться. Обращение к серверу, на сколько я понял, происходит по протоколу WebDAV.

На время беты предоставляется 500МБ дискового пространства и ограничение в 25МБ на объем отдельного документа. Сотрудничать в пределах одного рабочего пространства могут до 100 человек.

По функциональным возможностям получается эдакий мини-SharePoint. Основной структурной единицей является рабочее пространство (Workspace). В нем могут храниться документы трех основных типов: doc(x), xls(x), ppt(x). Примечательна возможность просмотра документов в окне браузера без дополнительных ActiveX-компонент (чистый DHTML). Для редактирования же потребуется соответствующий продукт из офисного семейства.

Помимо собственно документов, рабочая область может хранить:

  • календари;
  • списоки задач;
  • заметки;
  • списки контактов;
  • настраиваемые списки.

Первые четыре элемента полностью аналогичны своим собратьям в Outlook (и могут с ним синхронизироваться), а последний, по сути, представляет собой настраиваемую таблицу с данными. Списки можно выгружать в Excel.

Очевидно, что в первую очередь все это хозяйство затевалось для организации совместной работы. Пространство можно «расшарить» с коллегами и друзьями. При этом есть 2 уровня доступа: на просмотр и на редактирование. Для большинства случае этого должно хватить. Так же к пространству можно добавлять комментарии - организуется что-то вроде форума/чата для участников.

К сожалению, упомянутый выше компонент для офиса в 2007 версии работает довольно-таки нестабильно (или это мне так «повезло»?). Сохранить или открыть документ получалось не с первого раза (ну а чего ждать от беты?).

Остается надеяться, что Microsoft ничего не напутает с лицензионной политикой (т.е., что клиентом для этого сервиса сможет быть даже самая дешевая версия MS Office). В этом и только в этом случае у сервиса есть будущее.

Есть вопросы? Задавайте в комментариях, буду отвечать по мере возможности.

Вышла финальная версия Office SharePoint Server 2007 Training (к сожалению, пока только на английском).
Доступно в двух вариантах установки:

  • Портальная версия (устанавливается как solution на портал, обучение в режиме on-line с отслеживанием выполнения заданий и пр. На основе SharePoint Learning Kit).
  • Отдельная версия (устанавливается на ПК пользователя).

В публичную бету Microsoft выпустил утилиту под названием SharePoint Capacity Planning Tool. По идее эта утилита позволит вам рассчитать, какое количество серверов и лицензий понадобится приобрести для вашего портала. Звучит заманчиво, не так ли?

Все бы было совсем замечательно, если бы в придачу к этой утилите не пришлось бы ставить System Center Capacity Planner 2007 (который сейчас тоже в публичной бете). По сути SharePoint Capacity Planning Tool представляет собой одну из моделей для этой инструментальный среды. И даже если вам не нужны другие модели, без SCCP 2007 не обойтись.

Стоит отметить, что несколько раньше Hewlett Packard выпустил аналогичную утилиту (и это помимо оценки производительности SharePoint’а на серверах HP). Она умеет рассчитывать количество и спецификации серверов для портала, ориентируясь при этом (сюрприз!) на серверы HP.

Свершилось! В Service Pack 1 для WSS и MOSS заявлена поддержка AJAX Control Toolkit:

ASP.NET for AJAX Compatibility and Support Including Support for Web Parts Built with AJAX Control Toolkit for ASP.NET and AJAX 1.0 Extensions (941955).
You can now use the Microsoft AJAX 1.0 Control toolkit for Microsoft ASP.NET or the AJAX 1.0 Extensions for ASP.NET to create Web Parts for asynchronous post pack. Beginning with WSS 3.0 SP1 and MOSS 2007 SP1, developers can create custom Web Parts using AJAX.

Ключевой технологический момент конструкта под названием «Web 2.0» теперь и на корпоративном портале.

Сюрприз от Visual Studio 2008: ATL Server больше не поддерживается. К счастью, исходники доступны на Codeplex’е. Скачиваем, распаковываем и наслаждаемся (?) жизнью.

20.11.2007Microsoft Math

Вышло интересное дополнение к Microsoft Office Word 2007: Microsoft Math. По сути оно превращает Word в эдакий простенький MathCAD: позволяет решать уравнения и строить график, упрощать математические выражения и т.п.

Хороший инструмент для студента-первокурсника или школьника старших классов (впрочем, в школе, насколько я знаю, не требуют готовить отчеты по лабораторным работам и курсовым проектам в печатном виде).

P.S. Не стоит путать MS Math с MS Equation, который поставляется вместе с Word’ом. Последний позволяет только верстать формулы и сложные математические выражения, но не содержит вычислительных функций.

Проблема. Информация в профилях пользователей в коллекции узлов не соответствует информации на личном узле пользователя (и, соответственно, в хранилище профилей поставщика общих услуг (Shared Services Provider)). Например, пользователь загрузил новую фотографию, но в доске обсуждений (и в других частях портала, где должна отображаться фотография) она до сих пор старая.

Сначала немного теории. Известно, что в Windows SharePoint Services 3.0 (WSS) профили пользователей локальны для каждой коллекции узлов. Т.е. в рамках коллекции заводится учетная запись пользователя, после чего у него появляется возможность редактировать свой профиль, загружать фотографии и т.п. Если создается еще одна коллекция узлов, то для нее пользователя надо заводить отдельно (и, соответственно, отдельно заполнять профиль). Так же известно, что в Microsoft Office SharePoint Server 2007 источником данных о пользователях является поставщик общих услуг. Он производит загрузку данных в профили из внешних источников (службы каталогов, бизнес-приложений через BDC и т.п.) Казалось бы, что в MOSS все коллекции узлов должны обращаться к SSP для получения данных о пользователях. На самом деле, это не совсем так.

Для каждой коллекции узлов, как и в WSS, профили пользователей хранятся отдельно. При этом периодически происходит загрузка данных из хранилища профилей SSP в профили пользователей коллекций узлов. За этот процесс отвечает задача Profile Synchronization (внутреннее имя profsynch), которая с некоторой периодичностью (примерно раз в 1 час) запускается внутри портальной фермы. Запуском этой задачи занимается служба Windows SharePoint Services Timer (owstimer.exe).

Решение. Итак, что же делать, если профили в коллекции узлов не обновляются?

  1. Подождать. Если пользователь загрузил новую фотографию несколько минут назад, то это изменение вступит в силу в течение часа.
  2. Запустить индексирование контента портала (а точнее, профилей пользователей). В документации я не нашел упоминания об этом, но, судя по всему, профиль должен быть проиндексирован перед тем, как он будет синхронизирован с коллекцией узлов.
  3. Проверить, работает ли служба таймера. Если служба не запущена, синхронизация профилей не проводится.

Если ждать не хочется, можно просто перезапустить службу таймера. В этом случае, задачи, за которые он отвечает, будут выполнены в течение нескольких следующих минут после запуска.

По умолчанию в верхнем меню узла есть два уровня: тот, который отображается всегда и плоский выпадающий список. Если портал имеет достаточно много уровней иерархии узлов, то навигация становится затруднительной – приходится переходить по ссылкам, постепенно опускаясь ниже по дереву узлов. Есть простой прием, позволяющий облегчить пользователям процесс навигации. Для этого надо в исходном коде мастер-страницы (по умолчанию это default.master) найти элемент <SharePoint:AspMenu> и в нем установить значение атрибута MaximumDynamicDisplayLevels равным, например, 4. При этом выпадающее меню будет раскрываться еще на два уровня вправо (на три – если MaximumDynamicDisplayLevels=”5″, на четыре – если MaximumDynamicDisplayLevels=”6″ и т.д.) Это позволит снизить количество переходов по ссылкам при доступе к узлам нижних уровней портала. [Доберусь до виртуалки - сделаю скриншоты, если надо. За напоминание об этом хаке спасибо венгерскому товарищу.]

Update. Речь идет о именно о верхнем меню. На мастер-странице default.master элемент управления <SharePoint:AspMenu> встречается дважды. Один отвечает за верхнее меню (его id=”TopNavigationMenu”), а второй – за область быстрого запуска (id=”QuickLaunchMenu”). Нас интересует именно первый (он в исходном коде страницы расположен выше).


© 2007 All about IT | iKon Wordpress Theme создана TextNData | Разработано на Wordpress | Локализация: Blogstyle.ru