понедельник, ноября 12, 2007

Портальный поиск 2007

Поэкспериментировал с "портальным" (в составе OSS 2007) поиском. Афигеть, дайте две smile_omg

Во-первых, пользоваться шаблоном поискового узла "со страницами" там, где предполагается доступ анонимным пользователям, нельзя. При попытке такого пользователя выполнить запрос на странице поиска людей выскакивает диалог проверки документов (предлагают залогиниться). Если воспользоваться вторым шаблоном узла, то аноним нормально может запросить и индех по людям. Классные манагеры проектов сидят в команде...clap

Во-вторых, даже в хелпе сказано, что "Использование подстановочных знаков, например звездочек (*) не допускается" - и, вправду, ничего такого не находится. Однако в "расширенном поиске" можно составить запрос по части слова и получить вполне внятный результат.

В общем, надо идти проторённым путём - писать своё и/или искать написанное другими...smile_sniff

суббота, ноября 10, 2007

Личные сайты (My Site)

В двуязычной (подозреваю, что и в многоязычных тоже) системе (OSS 2007) происходит путаница языка на вкладке "Мой профиль" личного сайта.
Путаница происходит в случае, когда язык личного сайта не совпадает с языком системы: если установлена английская система, а затем установлен русский языковый пакет, то на русских личных сайтах происходит помянутая путаница. Точно то же, "с обратным знаком" происходит, если установить русскую систему с английским языковым пакетом и выбрать английский язык для личного сайта.
Этот же "Мой профиль" с неправильным языком отдаётся другим пользователям. Однако, подсайты личного сайта отдаются с нужным языком.
Вариант личного сайта, язык которого совпадает с языком системы, работает правильно.
 
Ждём сервиспака...

понедельник, октября 01, 2007

WorkFlow на WSS 2007

Произвёл НИР по переносу алгоритма поиска страниц с заданными типами веб-частей, имеющих заданную информацию в параметрах. Для WSS 2003 алгоритм был реализован в виде консольной утилиты hseDigger, запускаемой системным планировщиком. С появлением WorkFlow такая реализация прямо таки просится в переделку.

В итоге (при использовании Visual Studio 2005/2008, после тщательного изучения достаточно хорошего руководства), в общем-то, реализовать алгоритм в технике WorkFlow получилось. Получилось даже соорудить установщик в виде .wsp-файла. Но эмоции-то никуда не денешь smile_embaressed

Что получилось не так (или вовсе не получилось):

  • Конфигурирование параметров работы процесса (WF) (для утилиты делалось через файл конфигурации) делать неизвестно как. Точнее, известно - через ASP.NET association-форму, вызываемую при редактировании параметров WF и указанную в атрибуте AssociationUrl="_layouts/formName.aspx". Но как эту форму делать и как эти параметры сохранить в WF - неведомо, найти полезной информации по этому поводу не удалось, а имеющаяся информация по изготовлению похожих initialization-страниц оказывается малополезной). В итоге получилась "некрашенная" страница (ХЗ, как в Студии подцепить и попользоваться Шарепойнтовскими стилями), содержащая код прямо в теле (указания типа CodeBehind и Inherits как-то вовсе не воспринимаются smile_sad)  и сохраняющая данные в Properies узла, на котором размещён список, обслуживаемый РП. Соответственно, в WF в процедуре onActivated_Invoked производится считывание данных из этих "свойств".
  • "Отложенное" выполнение тяжёлой процедуры обшаривания деревьев Шарепойнта реализовать не удалось. Ввёл параметры начала и окончания рабочего дня и пытался использовать DelayActivity, но в итоге выяснилось, что больше нескольких минут задержки никому получить не удалось (такая уж вот конструкция у этой activity smile_baringteeth). В итоге при попадании на "рабочее время" сделал запуск рабочей actyvity с пониженным приоритетом:
    Thread.CurrentThread.Priority = ThreadPriority.Lowest;
  • Удалённая отладка (когда Студия с отладчиком на одном компьютере, а Шарепойнт с WF - на другом, физическом или виртуальном) не работает совсем - кто-то (что-то?) перекрывает доступ (access denied). Хотя все прочие типы объектов (утилиты, веб-части, веб-сервисы) отлажиаются нормально.
  • Отладка получившейся association-страницы с кодом в теле страницы - вообще тёмный лес. Хорошо хоть, что отлаживать там особо нечего.
  • Так и не нашёл, как в установщик запихнуть процедуру генерации нужного списка (может, искал не сильно упорно...).

В общем, работать, конечно, с WorkFlow можно, но сыровато... Становится уже фирменным стилем MS: первая версия - эксперимент на пользователях.

среда, сентября 05, 2007

Комбинированная авторизация в WSS v.3

Задача была - организовать авторизацию пользователей внутренней сети при помощи Windows-авторизации, а для пользователей внешней сети - авторизацию при помощи формы.

Исходная информация тут, тут, тут, тут и кино тут. Почитав всё это (и кое-что ещё), сумел сделать на своей системе (Vista x64, Virtual PC с Windows 2003 и Шарепойнтом) двойную авторизацию с анонимным доступом. Сайты с Windows- и Forms-авторизацией разведены по портам.

Выяснилось, что большинство авторов не обращает внимание на необходимость дать доступ на чтение к базе, в которой будут храниться данные по membership (пользователи, пароли и т.д.), пользователю, под которым функционирует пул приложений Шарепойнта (AppPool в IIS).

Кроме того, в том случае, если используются собственные названия для строки соединения (как в первом источнике) и не делается модификации machine.config, то соответствующий фрагмент web.config надо писать так:

<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer"
connectionString="server=xxxx;database=AcAspDB;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
<add name="AcSqlConnString"
connectionString="server=xxxx;database=AcAspDB;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>

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

  1. При помощи средств управления сайтом, встроенных в Visual Studio 2005+. Вроде, вполне можно пользоваться, но не ставить же на "боевой" сервер Студию!?smile_omg

  2. При помощи хранимых процедур, имеющихся в базе AcAspDB - aspnet_Membership_CreateUser и др.
  3. При помощи страницы, на которую при помощи Sharepoint Designer установлен стандартный Asp.NET-визард добавления пользователя. Страница может быть помещена, например, в библиотеку на сайте.
  4. При помощи разработки Manage Form Users от stacyDraper, устанавливающей в систему "возможность", которая позволяет редактировать список пользователей и ролей.
Последний способ представляется самым предпочтительным. Немного только изменил скрипт установки (убрал слово bin\ в командах и заменил url-адрес в двух командах на адрес своего сервера), да в файле UserDisp.aspx изменил значение параметра PageSize="5" на 50 - очень уж неудобно работать со списком в 5 позиций.

воскресенье, августа 12, 2007

В IE x64 нет форматирования на страницах WSS 3

При наличии на странице встроенного RTF-редактора (напр., в блоге) меню редактора отсутствует начисто, а текст в редакторе показывается без форматирования (совсем как в FireFox).

Хохма нашлась в скрипте Init.js - в нём формируется объект browseris со свойством .win32, определённым как ...navigator.platform=="Win32", и в других скриптах использующемся для включения форматирования и меню RTF-редактора. Исправляется хохма добавлением строчек

this.win64= (this.ie6up) && (navigator.platform=="Win64");
this.win32= this.win32 || this.win64;

пятница, августа 03, 2007

Конец вистовых упражнений.

И слава богу, только время отнимает, зараза.

А закончились приключения с Windows Vista x64 так:

  • Скачал июльский релиз SQL Server 2008 в виде iso-образа, начал устанавливать и обнаружил, что не работают CDROM'ы, как настоящий, так и виртуальный от Daemon Tools. В свойствах пишет, что, вероятно, другой драйвер берёт на себя функции. Сделал откат системы (в выходные CDROM работал, а три дня назад пытался установить Intel Desktop Utilities) - CDROM заработал.
  • При этом частично перестал работать Windows Media Player - DVD Love играет, радио по сети играет, а медиафайлы - не хочет, никакие - кодеков, дескать, нет - хотя другие плееры вполне себе играют, у них кодеки есть. Переустановка и удаление WMP не предусмотрены вовсе, гугление ничего другого не даёт - все сходятся на том, что нужно переустанавливать систему.
  • Переустановил в режиме upgrade - три часа что-то жевало и моргало (первоначальная установка была минут 40), WMP заработал. Начали тянуться все ранее установленные upgrades (в т.ч. MUI). Однако... Но Daemon Tools установить больше не удалось - не запускается его драйвер.

Добило то, что перестал работать RDP: The remote session was disconnected becase Terminal Server client access license stored on this computer has been modified. Гуглевание показывает, что такие проблемы у народа возникают, решение же нашлось одно - купить лицензию. Смешно...

Право слово, лучше уж в преферанс по копейке вист.

вторник, июля 31, 2007

Windows Vista x64

Скоро месяц упражнений с сабжем... smile_sarcastic

А всё как-то ничего хорошего, хотя постоянно сыплются какие-то заплатки от Microsoft, сам притаскиваю разные updates от Intel. То одно пропадает, то другое обламывается...

вторник, июля 17, 2007

Sharepoint on Windows 2008

Скачал июньский CTP Windows 2008, установил на Virtual PC - при запуске сервиса Excel cooбщение поменялось:

Failed to resolve the site ID for 'Office Server Web Services'

Нашёл на форуме рецепт запускать сервис командой

STSADM.EXE -o provisionservice -action start -servicetype "Microsoft.Office.Excel.Server.ExcelServerSharedWebService, Microsoft.Office.Excel.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"

Помогло. И на бета-3 тоже помогло.

вторник, июля 03, 2007

Плагины для программ Office

Возобновил проект .NET-плагины для MS Office   - собрал 2007-ю версию, коду задал рефакторинг и прочистку... 

Подробности здесь

четверг, июня 07, 2007

Time Tracker

Довольно давно соорудил для собственных нужд (и в порядке освоения технологии) программку ВреТра (TimTra), выполняющую трассировку времени выполнения разных задач. Даже MS программка понравилась smile_regular

По результатам собственных испытаний (постоянно пользуюсь, иногда полезноsmile_wink) поразмыслил и сделал вторую версию. Заодно (в порядке дальнейшего освоения технологии) скомпилировал вариант для Pocket PC (в эмуляторе вполне работает, с текстами программы ничего не делал - просто сформировал проект для PPC и включил в него ссылками тексты для смартфона).

Пользуюсь сам, может, ещё кому понадобится... Просмотры и закачки программы на SOFT@Mail.Ru

среда, июня 06, 2007

Windows XPенота

В общем, системка совсем для работы не предназначенная. smile_angry По крайней мере, не для интенсивной работы. Так же примерно у меня и раньше было на старой машине, в 2003 г. - через несколько месяцев работы начались разнообразные глюки, весьма мешающие жить. Тогда списал на "свежесть" системы (по-моему, ещё и sp1 не было или только что выпустили) и маломощность компьютера, загруженного под завязку (и даже выше завязки).
Пришлось перейти на Server 2003 (тем более, и задачи вскоре стали, в основном, серверными), а помянутую XP оставить на диске в качестве вспомогательной (запускал Acronis True Image для backup'а системного диска с Win 2003 и испытывал некоторые программки на работоспособность).

После покупки новой машины решил, всё же, работать "по науке": основная система - XP, на ней Студия, фсякие Офисы и т.д., а сервер - в Virtual PC. И полгода это удавалось - всё быстро, удобно. Хорошо. smile_nerd
Но счастье не бывает долгим - вот уже примерно с месяц то одно, то другое: то подвиснет без всяких видимых причин и без сообщений в логе, то не перезагружается полчаса, то ещё какая XPень. Последняя капля - в некоторых часто использующихся программках перестала писать меню русскими буквами, как если бы неправильно была локаль настроена.

При внимательном рассмотрении выяснилось, что у других юзеров (типа встроенного админа) такой фигни не наблюдается. Кроме того, переход на Win 2003 делать не очень хочется из-за предстоящей установки/настройки жуткой кучи разных программ, из которых не все на сервере желают работать (с халявным антивирусом хотя бы причины этого понятны, а вот с Интеловскими программами, приложенными к материнке [типа монитора состояния железа и драйверов аудио] - совсем непонятно thumbs_down).

В итоге кончилось сохранением данных и настроек, сносом имеющегося моего профиля и новой настройкой многого чего - почта в Outlook, инфа в OneNote, синхронизация с телефоном, музыка в WMP11 и др. по мелочи. Целый день и провозился. К тому же, не всё восстановилось до конца - к примеру, интернет-радио перестало через WMP играть, только через браузер.

Вот теперь придётся думать про Vista'у - должна бы поставиться поверх XPени. Не найдётся, поставлю Server 2008 - обещается на халяву до апреля 2008 г. работать: один фиг всё по-новой ставить, так хоть на новую ось...

воскресенье, мая 20, 2007

Windows 2008 (aka Longhorn) on PC

Очередной эксперимент по получению работоспособного экземпляра системы с учётом предыдущих экспериментов.

Исходные.

Компьютер - P IV 2.4 GHz, 1024 Mb памяти, диски IDE (да, старый, но по требованиям подходит smile_wink). Вначале был установлен Windows Server 2003 на чистый раздел размером 18 Гб (из дистрибутива с внедрённым sp1), затем установлен sp2, dotnet 3.0 и обновления с windowsupdate. Активации не делалось (60 дней имею право).

OSS 2007 установлен из английского дистрибутива без предварительной установки Sharepoint v.3, trial версия. Использован SQL Server Express sp2. Выполнена полная настройка OSS, сформировано приложение (web-application) на 80-м порту, сформированы узлы (sites).

Установка Windows 2008

Началась в режиме upgrade, программа скачала 800 кб updates.

Попытка установки по сети (дистрибутив на другом компьютере, подключён через Daemon Tools, полученный "CD ROM" расшарен) не удалась, пришлось скопировать файлы дистрибутива в папку на локальный диск. Процесс установки продолжался 1 час 20 мин, с четырьмя перезагрузками.

Результат.

Все настройки Windows 2003 сохранились, в том числе и настройки OSS 2007. Получилась вполне нормальная система - можно использовать для тестирования и отладки.

воскресенье, мая 13, 2007

Longhorn on Virtual PC - 2

В форуме навели на мысль поставить Longhorn поверх Windows 2003 с установленным Sharepoint 2007.

Нашлась такая виртуальная машинка (Win 2003 sp2), на которой Sharepoint 2007 был установлен поверх SPPS 2003 с сохранением работоспособности обеих версий. В процессе установки пришлось снести оба Sharepoint'а - проверка совместимости упрямилась до тех пор пока не потёр из реестра все упоминания слова "Sharepoint" (вплоть до вхождений в списки каких-то счётчиков и хелпов !? smile_baringteeth), остался только SQL Express 2005.

В итоге после установки системы и поднятия на ней Sharepoint 2007 и OSS 2007 получилась работоспособная система. Не удалось только запустить сервис Excel Calculation:

An attempt to start/stop instance of service Excel Calculation Services on server ... did not succeed.

Поиском обнаружился один рецепт - выполнить команды

sc sidtype SPTimerV3 unrestricted
cacls %SystemRoot%\System32\inetsrv\config /e /g "NT Service\SPTimerV3":R
net stop sptimerv3
net start sptimerv3

Но не помогло smile_sad. Так в админке и осталось висеть предупреждение о недонастроенности системы.

Самой же админкой полноценно пользоваться получается только в Longhorn-машине при запуске из меню "Администрирование": при запуске по сети недоступны некоторые функции (в частности, создание/удаление приложений). Похоже, из-за этой довольно дурацкой UAC.

Новый Firewall создаёт проблемы с Remote Debugging - при запуске монитора вывешивается панелька с предложением разблокировать msvsmon, однако фокус не удаётся - firewall рассказывает про неверную функцию. Если эту панельку так и оставить, то отладчик работает (после настройки firewall, как описано в инструкции).

В общем, для тестирования системку использовать можно, но пересесть на неё пока не решился бы. В своё время переходил на вторые беты windows 2000, 2003 без особых сомнений, а здесь, несмотря на заметно бОльший срок разработки - сомнения гложут. smile_sad Производителей, похоже, тоже - про лицезию GoLive говорится только относительно IIS 7.0 - но как его без самой системы использовать?

Кстати, IIS 7.0 вполне себе работает - поставил туда вот эту программку, а она фунциклирует.fingerscrossed

пятница, мая 11, 2007

WSSExplorer

Довёл до более-менее рабочего состояния. Добавил работу с некоторыми новыми объектами (все сразу не охватить), усовершенствовал немного интерфейс и кое-что по мелочи. Повесил тут, может, кто потестирует...

"Ломающие" действия (копирование и удаление) вынес в отдельные плагины.

Просмотры и закачки программы на SOFT@Mail.Ru

Для простоты жизни оператор примочки должен иметь админские права в приложениях, установленные через админку ("Политика для веб-приложения").

четверг, мая 10, 2007

Смешная поломка Remote Desktop

Во время работы через Remote Desktop с сервером Windows 2003, имеющим внешний IP-адрес (в консоли RDP этого сервера была запущена другая консоль RDP, через которую соединяюсь с серверами внутри сети) произошла авария и отключился сервер, обеспечивающий, в т.ч., работу по RDP.

После восстановления связи попытка входа на первый сервер приводила к созерцанию формы ShutDown Tracker!? После входа на этот RDP другого человека из локальной сети эта форма пропала.

Попытки входа на "внутренние" сервера натыкались на ту же форму.

Вылечилось выполнением из ком.строки "внешнего" сервера команды

psexec \\internalComp shutdown /a

Здесь psexec - утилита от Mark Russinovich.


четверг, мая 03, 2007

Longhorn and Sharepoint - харакири

Установил Sharepoint в режиме "на сервер" с использованием Windows Internal Database - очень симпатично всё установилось и заработало.
При установке на эту работающую конструкцию Office Sharepoint Server'а не обратил внимания, что он без вариантов собрался установить SQL Express. И, зараза, установил. Причём старую версию - наверное, какая была в ноябре 2006 г. Получившаяся суперконструкция не стала работать, как и в предыдущем варианте, но ещё хуже - не запускается даже админское приложение.
Чтоб совсем скучно не было: всё это дело не удаляется - получается бесконечный цикл удаления Office Sharepoint Server'а с перезагрузками, Sharepoint не удаляется по причине наличия зависящего от него приложения...
Ковыряние в реестре привело к тому, что стала падать консоль (mmc) при вызове Server Management.
В общем, харакири. Придётся делать переустановку - ключей нагенерил много (эта зараза вправду проверяет использование и не даёт активировать повторно с тем же ключом).

вторник, мая 01, 2007

Управление Microsoft##SSEE

Всё же, можно этой штуковиной управлять:
There is a free SQL management tool called Management Studio Express and using the magic connection string \\.\pipe\mssql$microsoft##ssee\sql\query you can connect to the Microsoft##SSEE instance.