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

Удаление QuickLaunch

Для удаления со страницы меню быстрой навигации (левое вертикальное меню) необходимо добавить на эту страницу веб-часть "Редактор содержимого" и через кнопку "Редактор исходного текста" ввести следующее:

<style>
.ms-navframe {display:none;}
</style>




В группе параметров "Вид" установить "Тип хрома"="Нет". После нажатия на кнопку ОК меню станет невидимым.

среда, декабря 05, 2007

Веб-части на личных сайтах

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

Для расширения набора можно выполнить следующие действия:

Параметры узла > Возможности семейства узлов

В списке возможностей активировать

  • Инфраструктура публикации Office SharePoint Server
  • Компоненты семейства узлов корпоративного выпуска Office SharePoint Server
  • Компоненты семейства узлов стандартного выпуска Office SharePoint Server

Параметры узла > Возможности узла 

В списке возможностей активировать

  • Публикация Office SharePoint Server
  • Компоненты семейства узлов корпоративного выпуска Office SharePoint Server
  • Компоненты семейства узлов стандартного выпуска Office SharePoint Server
  • Списки для совместной работы группы пользователей

Появится много разных веб-частей, может, полезных, иногда работающих.

Обратные действия - сужение набора веб-частей при отключении "возможностей" не выполняются.  Можно, при наличии большого желания, поковырять библиотеку "Коллекция веб-частей"

понедельник, ноября 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.

Longhorn and Sharepoint

Входит в систему как роль (Role). Устанавливается с возможностью выбрать нужный язык (в т.ч. русский). При установке "на этом сервере" должна использоваться Windows Internal Database (пресловутая  ##SSEE), однако даже пробовать не стал - этой базой по-прежнему непонятно, как поруководить (правда, удалить можно).

  • Sharepoint Service (английский) установился в режиме "фермы" с использованием SQL Express sp2, всё гладко запустилось. Гладко установился русский language pack, создаются приложения и узлы на двух языках.
  • Office Sharepoint Server установился, однако настроить его не получилось:
  1. Excel-Service не запускается с маловразумительным сообщением про неизвестно какой индекс.
  2. Приложения не запускаются тоже с сообщением про индекс: 

Server Error in '/' Application.

Index was out of range. Must be non-negative and less than the size of the collection.

Parameter name: index

Не помогает ни смена порядка установки ланг-паков, ни их удаление вовсе. Про какие индексы речь - ХЗ.smile_baringteeth

Longhorn on Virtual PC

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

Установка на новую VPC (новый диск, дистрибутив подключил как CD ROM) - очень быстрая (минут 20), ещё полчаса на поднятие нужных сервисов и т.п. thumbs_up На этом, правда, радости и закончились.heart_broken

  • Расшаренные папки на основной системе доступны для изменений (копирование / удаление файлов, создание папок) только из проводника Windows (Explorer). Все остальные средства работы с файлами (cmd, Far Manager, 7-zip File Manager, PowerShell) обламываются - access denied.
  • Sharepoint устанавливается, но  работает никак - в админке нельзя поруководить сервисами - access, говорит, denied. Пункта создания приложений даже нет.

Не работает одинаково как в Virtual PC 2007 на Windows XP, так и в Virtual Server 2005 на Windows Server 2003.smile_angry

понедельник, апреля 30, 2007

Longhorn beta3

Выложили благодетели этую радость. smile_speedy Даже пообещали, что почти год работать будет.

Ура! Скачал почти 2 Гб, установил на старый компьютер (впрочем,  требованиям вполне удовлетворяет - P IV, 2.4 GHz, 1024 Mb memory).

Установка довольно быстрая (минут 30, наверное), однако дальнейшая настройка (File Server, Web Server и всякие фичи, нужные для жизни) - часа 4 с несчитанным количеством перезагрузок.

В итоге - вполне прилично бегающая система, можно использовать для работы вместо Windows XP и Windows Server 2003.

Правда, не положили в дистрибутив украшательств (темы, картинки, курсоры) и игрушек (хотя соответствующая feature устанавливается), да поначалу задолбали вопросами UAC и IE ESC (хорошо, что довольно быстро нашлись способы их отключить). smile_shades

четверг, апреля 19, 2007

Быстрая вставка записей в SPList

Коллективным разумом на форуме дошли до способа вставлять записи, не извлекая всех имеющихся.

Определил вот такой метод:

const string EmptyQuery = "<Where><Eq><FieldRef Name='ID'/><Value Type='Integer'>0</Value></Eq></Where>";
public static SPListItem AddItem(SPList list) {
SPQuery q = new SPQuery();
q.Query = EmptyQuery;
return list.GetItems(q).Add();
}
И вместо конструкции
SPListItem newItem = list.Items.Add();
стал использовать
SPListItem newItem = AddItem(list);

На похожую тему - здесь


Размер шаблона сайта

http://blogs.msdn.com/joelo/archive/2007/03/15/you-learn-something-new-every-day-site-template-limit.aspx

Maxthon 2.0

Почти уже довели до ума китайские братья свой продукт. Хорошо работает, с памятью обходится намного аккуратнее, чем ИЕ7. Но криво пока работает с Live.com. В частности, как-то неправильно рендерид веб-части, в итоге апплеты-гаджеты не помещаются где надо.
Вот так оно выглядит в ИЕ7:








А вот так - в Maxthon 2:








Непорядок...




Folder of Document Library

Набрёл (ещё для Sharepoint-2003) на довольно заковыристый, но работающий способ определения имени папки, в которой размещаются файлы документов библиотеки library:

library.DefaultView.Url.Split("/".ToCharArray())[0];
Ничего более простого и прямого не обнаруживается (и в Sharepoint-2007 тоже). smile_thinking

XmListViewer 2007

Веб-часть XmListViewer 2007 предназначена для установки на узлах (сайтах) в составе Microsoft Office SharePoint Server 2007 или Microsoft SharePoint Services v.3.

Web part XmListViewer 2007 is intended for the installation on sites of Microsoft Office SharePoint Server 2007 or Microsoft SharePoint Services v.3.


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

суббота, апреля 07, 2007

ToolStripMenuItem

Строятся на этих штуковинах-объектах разные менюшки в наследниках System.Windows.Forms.Form.

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

Собственно, Студия только так и позволяет делать. smile_sad

пятница, апреля 06, 2007

Тоже смешно

string Title = item["Title"] + "";

Без добавления пустой строки следует писать .ToString()

четверг, апреля 05, 2007

Смешное...

Выясняется, что конструкцию

if (list is SPDocumentLibrary)
    node.Tag = item.File;
else 
    node.Tag = item;

нельзя записать в виде

node.Tag = (list is SPDocumentLibrary) ? item.File : item;

 Компилятор орёт гнусными выражениями, что типы разные и привести их не может. Тупой компиляторsmile_omg.

понедельник, марта 26, 2007

Загадки WSS 2007

Одну портальную "область" при конвертации сохранили очень похожей на 2003-ю версию. Зачем, непонятно. При этом все прочие бывшие "области" выглядят по-новому.





Удалённая отладка консольных приложений

Забавное решение получилось для субжа:

1: class Program {
2: const string debugKey = "-debug";
3: static void Main(string[] args) {
4: //debug
5: if (new List<string>(args).Contains(debugKey))
6: Console.ReadLine();
7: }
8: }

При запуске программы с параметром -debug в ком. строке она останавливается на строке №6 в ожидании нажатия на Enter. В это время и можно подцепиться отладчиком (напр., в Visual Studio) к процессу на удалённом компьютере и поставить нужные прерывания. После нажатия на Enter (в консоли удалённой машины) всё идёт обычным порядком.

WSS 2007 - очередная засада

Неправильно работает атрибут свойств веб-части WebPartStorage(Storage.Personal) - при отсутствии значения для текущщего юзера используется неизвестно чьё !!!

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

private bool UserCanWriteParameters() {
bool prevSave = this.SaveProperties;
bool prevCatch=SPContext.Current.Site.CatchAccessDeniedException;
bool retval = false;
SPContext.Current.Site.CatchAccessDeniedException = false;
try {
this.SaveProperties = true;
retval = true;
this.SaveProperties = prevSave;
} catch { }
SPContext.Current.Site.CatchAccessDeniedException = prevCatch;
return retval;
}

воскресенье, марта 25, 2007

Sharepoint Portal upgrade


Очередная засада.

При конвертации портала к версии MOSS2007 происходит преобразование областей (Area) в сайты (SPWeb) с сохранением структуры, существующей на момент процесса. Для обеспечения возможности использовать "портальные" адреса вида "/Cx/Cxx/area" организован редирект на вновь сформированные узлы. Где-то там установлено время ожидания до редиректа 5 сек. - как регулировать, можно ли уменьшить до нуля - ХЗ. Вот решил кто-то...
Кроме того, такие ссылки в разных местах порассованы и как автоматизировать их замену - абсолютно пока нет мыслей.

Иногда smile_omg конвертер зачем-то организует на новом узле ещё один редирект (страницу /Pages/UpgLandingPgRedir.aspx) с совсем уж неправильным адресом, в котором перепутаны Title и Url области. Не для всех узлов он такое делает (специально городил разные комбинации, закономерности так и не понял), но всегда - неправильно smile_angry.
К счастью, оказалось, что на узле есть и нормальные страницы /Pages/default.aspx, на которую при известной сноровке можно переключиться в свойствах сайта. Для автоматизации этого дела надо бы утилитку какую сочинить...

Добавлено: сочинил утилитку...

среда, марта 21, 2007

Server 2003 sp2 continued

После установки обнаружились неприятные эффекты в работе Sharepoint Portal 2003 - ровно такие же, какие получились при установке .NET v.2.

Вот, блин. smile_angry

Добавил: Upgrade до версии 2007 проходит нормально. Хоть какая радость.

четверг, марта 15, 2007

Server 2003 sp2

Выпустили вчера этот сервиспак (как где-то выразились - втихаря).

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

Да и WMP11 могли бы приложить - многие сервером как десктопом пользуются, при разработке под ASP.NET 1.1 практически только так и можно жить.