понедельник, 30 мая 2011 г.

Sharepoint: Ошибка мастер-страницы

После редактирования мастер-страницы (как вариант, после миграции) при просмотре страницы, которая основывается на этой мастер страницы, я ловлю ошибку (на желтом экране "смерти"):
Error: The base type 'System.Web.UI.MasterPage' is not allowed for this page

Решение: глянуть web.config и проверить наличие
Если этой строчки нет, то нужно добавить.
Источник

среда, 25 мая 2011 г.

Sharepoint: Модификация мастер-страниц.

Описание проблемы.
Есть решение, содержащее шаблон узла и фичу, публикующую мастер-страницы. Определение фичи:
<Module Name="MasterPages" Url="_catalogs/masterpage" Path="MasterPages" RootWebOnly="TRUE">
  <File...

Для каких-то потребностей создается веб-приложение. В этом веб-приложении создается семейство сайтов с использование разработанного шаблона узла. На созданном сайте активируется наша фича, которая успешно размещает мастер-страницы в библиотеке мастер-страниц.
Допустим создали два веб-приложения. Мастер-страницы в библиотеке не меняем. Обновляем наше решение (в мастер-странице добавили некий элемент, фичу не переактивируем), используя stsadm -o upgradesolution. Что мы увидим?

Sharepoint 2010: Работа с офисными документами в вебе.

Буквально вчера столкнулся со странной проблемой. На самом деле это не проблема, а странность её заключается в том, что я запутался на ровном месте. :)
Смысл в том, что очень часто встречал упоминание работы (просмотр/редактирование) с офисными документами в вебе: при беглом чтении статей, при просмотре презентаций и т.д. И почему-то у меня сложилось впечатление, что этот функционал есть изначально при установки MOSS 2010. В голове кружилась фраза "Раньше для просмотра офисных документов в вебе надо было ставить WebApp, а сейчас он по-умолчанию интегрирован в Sharepoint" (такая же фигня про PerfomancePoint). Частично это фраза верна, а чистично вводит в заблуждение. В обще решил попробовать.
Может быть раньше интеграция WebApp с Sharepoint была не так проста (не знаю), но сейчас если установить Sharepoint, а после WebAp, то никаких дополнительных усилий не нужно. В большинстве случаев все работает сразу, необходимо только активировать соответствующую фичу. Вот что значит "по-умолчанию интегрирован". Но всё равно WebApp нужно скачивать и устанавливать отдельно. Я смог его скачать по подписке MSDN (искать в Servers пункт Office web apps).
К тому же, эта путаница (с работоспособностью по-умолчанию) возникла из-за Excel Services. Вообще там такая вещь: просматривать документы Excel в вебе можно и без WebAp, но чтобы их редактировать нужен WebAp. Так же меня запутали преобразователи документов (в html), это немного другое.
Вывод: хочешь работать с офисными документами в вебе, скачивай и устанавливай WebAp

Ссылки:
  1. Развертывание Office Web Apps (устанавливаемых с продуктами SharePoint 2010)
  2. Deploy Office Web Apps (Installed on SharePoint 2010 Products)
  3. "The workbook cannot be opened" Error with SharePoint Server 2010
  4. http://office.microsoft.com/ru-ru/web-apps-help/
  5. Installing Office Web Apps for SharePoint 2010
  6. Развертывание Office Web Apps (SharePoint Foundation 2010)
  7. Обзор Office Web Apps
Ссылки для отображения pdf в вебе:
  1. Open PDF File in Browser from SharePoint 2010
  2. Opening PDF Files in SharePoint 2010
  3. Adding PDF Icon or Creating a Site From Template triggers Prompt for Download In SharePoint 2010
  4. How to open PDF files in browser and set file type association icons in SharePoint 2010
  5. Sharepoint 2010 and pdf integration. Series part 1
  6. How to configure PDF iFilter for SharePoint Server 2010 or Search Server 2010

среда, 11 мая 2011 г.

Sharepoint: Валидация данных формы в режиме редактирования страницы

Ситуация:
Есть страница веб-частей. На странице расположена веб-часть с формой заполнения. На форме внедрена валидация полей (через контролы валидации). Страницу открываем в режиме редактирования, меняем её, после чего пытаемся опубликовать. Получаем ошибку:
"Эта страница содержит недопустимое содержимое или форматирование. Дополнительные 
сведения можно найти в затронутых разделах"
или
"This page contains content or formatting that is not valid. You can find more information in the affected sections."


Решение.
Скорее всего, если форма будет заполнена корректно, то такого сообщения не будет, но очень муторно каждый раз при редактировании страницы заполнять поля формы. Поэтому правильным решением будет отключать валидаторы на время редактирования страницы.
Чтобы проверить режим отображения страницы, можно воспользоваться следующими способами:
Способ 1 (найден здесь): WebPartManager wp = WebPartManager.GetCurrentWebPartManager(Page);
if(wp.DisplayMode == WebPartManager.BrowseDisplayMode){/*что-то делаем*/}
Способ 2 (найден здесь): 
if(SPContext.Current.FormContext.FormMode == SPControlMode.Display){/*что-то делаем*/}

Т.е. мы проверяем в каком режиме находится форма и прячем валидаторы на странице, если находимся в режиме редактирования (validator.Visible = false) или вообще не добавляем валидаторы на страницу (в методе protected override void CreateChildControls())

пятница, 25 марта 2011 г.

Обновление feature

Натолкнулся на статью, в которой есть ссылка на интересный цикл статей как работать с Upgrade Features.
Очень рекомендую!

понедельник, 21 марта 2011 г.

Протоколирование. Часть 4. Популярные платформы протоколирования.

1. TraceListener

Сайт разработчика: microsoft.com
Последняя дата обновления: Входит в состав .NET Framework
Функционал протоколирования, который поставляется совместно в .NET Framework (System.Diagnostics.TraceListener). Ранее я упоминал, что в составе .NET Framework есть функции Trace.Write и Debug.Write, которые являются одной из наиболее полезных особенностей отладки.NET Framework. Функционально Trace очень похож на Debug, но в отличие от своего Debug брата, который должен быть использован только во время отладки, Trace функция может быть внедрена в программу и поставлена заказчикам, в том случае, если пользователи сталкиваются с проблемой, они могут активировать Trace, просто редактируя файл конфигурации приложений.

1.1. Переключатели

Следующий элемент, с помощью которого можно управлять протоколированием – это переключатели. Грубо говоря – это флаги, которые можно использовать перед вызовов функции протоколирования.

пятница, 18 марта 2011 г.

Протоколирование. Часть 3. Критерии выбора логгеров


В данной статье рассматриваются критерии выбора профессиональных решений для протоколирования.

1.   Основные

1.1.     Протоколирование простых текстовых сообщений

Таких как отладочная информация или ошибки и связанная с ними информация, такая как время.

1.2.     Уровни логов для фильтрации сообщений

Большинство инструментов протоколирования позволяют разработчикам указывать уровень лога, такой как debug, info, warning и error для каждого сообщения и фильтровать сообщения по степени важности. В зависимости от пользователя ему могут быть интересны сообщения определенного уровня. Например, разработчикам необходима более детальная информация  в процессе отладки.

четверг, 17 марта 2011 г.

Создание управляемых свойств для поиска в Sharepoint 2010

В связи с миграцией решения с 2007 на 2010 версию Sharepoint, потребовалось переделать функционал регистрации управляемых свойство в службе поиска Sharepoint. Хотя старый функционал и работал, но функции, которые в нем применялись, были помечены как устаревшие.
Начал гуглить. Вначале нашел решение на PowerShell, а затем на C#.
Пользуйтесь!

пятница, 11 марта 2011 г.

Миграция с MOSS2007 на MOSS2010. Поехали!

Как я писал ранее, миграция Sharepoint с версии 2007 на 2010 не приносит особых сложностей, если используется только стандартный функционал. Но такое бывает крайне редко. Передо мной стала задача миграции портала вместе с существующими наработками.
Текущая версия портала развернута на MS  Windows Server 2003 SP2 (32-разрядная). В приведенной ссылке есть ссылка на документацию от MS по миграции. Существуют Требования к оборудованию и программному обеспечению (SharePoint Server 2010). Исходя из этой ситуации мне подходит только миграция БД с сервера c Sharepoint 2007 на сервер с Sharepoint 2010. Как всегда в интернете можно найти много информации, поэтому буду отталкиваться от статьи SharePoint 2010 Cookbook: How to Migrate a SharePoint 2007 Site to SharePoint 2010 Using Database Attach (некоторые картинки будут оттуда).
Опишу последовательность шагов:

суббота, 5 марта 2011 г.

Установка MOSS 2007 на Windows Server 2008 R2

В процессе миграции с MOSS 2007 на MOSS2010 решил попробовать In Place Upgrade. Для этого понадобилось установить имеющейся MOSS 2007 SP1 на Windows Server 2008 R2. Конечно же это не получилось сделать так просто, т.к. для того чтобы провести эту установку надо использовать MOSS 2007 SP2.

Решений много:
  • Скачать MOSS 2007 SP2
  • Скачать только  SP2 и провести обновление с MOSS 2007 SP1 на MOSS 2007 SP2 [1, 2]
Инструкция от Microsoft как проводить слияние.
Я решил пойти вторым путем, как наиболее интересным.

Во время установки и настройки Sharepoint может возникнуть проблема: When you launched “SharePoint Products and Technologies Configuration Wizard” and got into this error: Failed to start the database service MSSQL$OfficeServers.

Решение находится там же: Go to “regedit”, browse thru “HKLM_Local_Machine/Software/Microsoft/Shared Tools/Web Server Extensions/12.0/WSS/”. Then change the value of attribute named “ServerRole” from SINGLESERVER to APPLICATION. 

Еще статьи

2leep.com