Dkms's Blog on WordPress

Групповой сюрприз

Posted in Глюкалово, Sharepoint by DkmS on 16.05.2012

Потребовалось ограничить доступ к списку. Всё, вроде бы, просто – разрешения списка –> прекратить наследование –> удалить разрешения для ненужных групп и пользователей. Но это же Шарепойнт – пропадает ссылка на список в левой панели быстрого запуска. Будь ты хоть кто, с какими угодно разрешениями – хоть бы админ сайта и изготовитель этого списка… Тошнит

Исследования показывают, что такой эффект даёт изменение разрешений для встроенной группы “участники узла” – их нельзя удалять, можно уменьшить до “Только просмотр”. 

Ну, спасибо… Схожу с ума от злости

 

Technorati Теги:
Tagged with:

Сюрприз от DocumentSet – 3

Posted in Глюкалово, OSS 2010, Sharepoint by DkmS on 27.03.2012

Вполне возможно, что этот сюрприз и не только к набору документов относится, но нашёл я его именно здесь. Проявляется сюрприз в виде разных наборов “заметок” в веб-части “Доска заметок”, установленной на странице набора документов, в зависимости от активности на сайте фичи “Инфраструктура публикации SharePoint Server”.

Если посмотреть на “своём сайте” список заметок, то там они имеются все, при рассматривании ссылок на объекты комментирования видно, что в УРЛ при неактивной фиче вставлен лишний слеш после имени сервера. Вот и вся причина сюрприза…

Если эксперименты продолжить и формировать заметки не через веб-часть, а через кнопку вверху справа, то сюрприз не наблюдается… Получается, это веб-часть так шутит… Ура индийским братьям!

Technorati Теги:
Tagged with:

Хе!

Posted in Развлечения, Sharepoint by DkmS on 22.03.2012

Юбилейный пост на форуме

 

image

Не всё так просто…

Posted in Глюкалово, OSS 2010, Sharepoint by DkmS on 18.03.2012

Потребовалось сделать переустановку Sharepoint Server 2010 – требовалось заменить дистрибутив на Server 2010 for Internet Sites и поменять язык с английского на русский. Казалось бы, пустяковая операция – один дистрибутив снести, другой поставить. Ага, так бы, может, и было два года назад, когда система только вышла, но сейчас навыпущено много изменений и согласовать их между собой – та ещё задача.

На заменяемой системе был установлен sp1 и декабрьский (2011 г.) CU, к моменту переустановки уже был выпущен февральский (2012 г.) CU, и было бы глупым возвращаться к декабрьскому пакету. После установки дистрибутива “Server 2010 for Internet Sites”, сервиспака (вместе с английским языковым пакетом), февральского пакета обновлений и подключения к существующей Sharepoint-ферме оказалось, что “Центр администрирования” формируется с английским интерфейсом, а базы данных не обновляются “Мастером настройки”. С обновлением баз с данными (WSS_Content…) справиться удалось при помощи PowerShell, а вот базы разных служб (особенно упорствовали базы службы поиска) поддались не все. И оставить их в состоянии “как есть” было нельзя – из-за них не выполняется бекап фермы. Вопрос с этими базами “решился” просто – пересозданием служб вместе с базами. А у кого там какие-то данные есть, им как быть?

В итоге в системном логе остались два сообщения об ошибках (одно из них даже Critical):

  1. Исключение при обновлении адресов для подключенного приложения {e65aeea2-865c-49d8-a394-2ecdeb613811_4c8b4429-9205-4f6f-b3fb-0b4cd99de394}.
  2. Сбой при попытке синхронизировать веб-приложение 55e17656-0ee7-45ba-87ab-e971ab00ed24; база данных содержимого 23812d7b-3a7c-476c-bf6a-07c1bfec026f
  3. Сообщения эти представлялись совершенно загадочными и никаких сбоев в работе фермы при этом не наблюдалось, а английский интерфейс не менялся при пересоздании “Центра управления” при помощи “Мастера”. Осталось последнее средство – пересоздание фермы. В новой ферме добавил веб-приложение, к которому присоединил базу данных контента – всё стало с нужным интерфейсом, все узлы/подузлы/списки/библиотеки оказались на месте.

    Нда… Тошнит

    Technorati Теги:

Tagged with:

Сюрпризик от локализации.

Posted in OSS 2010, Sharepoint, SPF 2010 by DkmS on 22.02.2012

Делал программку генерации списков на узле Sharepoint 2010. В предыдущем проекте такие же действия (создание списка, добавление нужных полей, присвоение русских значений title’ов и т.п.) делал при активации features на узле. Теперь же удобнее было выполнять подобные действия в консольной утилите. Собственно, всё и выполняется без всяких изменений в коде, однако результат получается совсем неожиданным: при просмотре перечня списков в браузере (“весь контент сайта”) видны английские названия, с которыми они создавались методом web.Lists.Add(<EngName>,…), а при просмотре через объектную модель, напр., при помощи PowerShell, видны русские названия, которые присваивались через свойство newList.Title = <RuTitle>; Такая же ситуация с полями списков.

Загадка разрешилась просто – ОС, в которой запускалась утилита – английская, а локализация сайта, на котором генерились списки – русская. Для согласования локалей достаточно в начале программки выполнить присваивание Thread.CurrentThread.CurrentUICulture = web.UICulture;

Собственно, к вопросу о пользе чтения документации. Школа

Technorati Теги:
Tagged with:

Оказывается – 9

Posted in Глюкалово, Sharepoint, SPF 2010, WSS 2007 by DkmS on 08.09.2011

Выяснилось, к удивлению и сожалению, что методы класса SPWeb

public override SPBasePermissions GetUserEffectivePermissions(
string userName
)

и

public bool DoesUserHavePermissions(
string login,
SPBasePermissions permissionMask
)

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

Функция “Проверить разрешения” на странице /_layouts/user.aspx таких разрешений не учитывает тоже. Тошнит

 
Technorati Tags:
Tagged with:

SPQuery и ContentType

Posted in Sharepoint, Tips & tricks by DkmS on 27.08.2011

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

Проблемы могут возникнуть при попытке использовать характеристики типов содержимого (ContenttType) в списках с поддержкой разных типов. При “чрезмерном” ограничении перечня полей списка можно получить в свойстве SPListitem.ContentType значение null, а в свойстве SPListitem.ContentTypeId совершенно “левое” значение… Для предотвращения подобных проблем следует к списку запрашиваемых полей добавить поле с внутренним именем “ContentTypeId”. При обработке результатов запроса тип содержимого элемента item можно определить кодом наподобие item.ParentList.ContentTypes[item.ContentTypeId].

Лампочка

Technorati Tags:

Tagged with:

Оказывается – 8

Posted in Глюкалово, Sharepoint by DkmS on 17.08.2011

Нечаянно выяснилось, что определения свойства веб-части в виде

image

отличаются радикально: первый определяет свойство только для чтения, второй вызывает вывод сообщения о неправильном формате свойства и невозможности десериализации свойств веб-части. Удар

И никакой отладчик не позволяет найти причину сообщения Схожу с ума от злости

 

XSLT-сюрприз

 

Описание – здесь.

В связи с участившимися покушениями на ГДН перенесу текст сюда:

Непонятное наблюдается при отображении дат через настроенную XsltListViewWebPart
Дата 01.02.2010 16:26, т.е. 1-е февраля 2010г., отображается почему-то как 2 января 2010 г.
при этом дата 24.11.2009 10:24 – отображается правильно 24 ноября 2009 г.

вот код:
<xsl:value-of select="ddwrt:FormatDate(string($created) ,1049 ,1)" /> |
<xsl:value-of select="$created" /> |
<xsl:value-of select="ddwrt:FormatDate(string($created) ,1049 , 3)" />
вот, что на выходе:
02.01.2010 | 01.02.2010 16:26 | 2 января 2010 г.
24.11.2009 | 24.11.2009 10:24 | 24 ноября 2009 г.

Портал русский, поле – системное Created, в БД хранится в поле tp_Created:
2010-02-01 13:26:24.000
2009-11-24 07:24:12.000

ошибка связана с реализацией XSLT DateFormat функции в Sharepoint 2010. Чтобы исправить данный bug придется написать свой xsl template, см. ниже:

Bug With SharePoint 2010 XSLT DateFormat Function

XsltListViewWebPart Date Format using DDWRT

Tagged with:

Снова сюрприз. Многострочный.

Posted in Глюкалово, Sharepoint by DkmS on 23.06.2011

При наличии в списке многострочных полей их отображение в стандартных веб-частях зависит от установленного вида этого поля в момент образования элемента списка. В поля списка (“Название” – однострочное текстовое поле, “mlfield” – многострочное) введены одинаковые строковые значения), первые два элемента списка формировались, когда тип поля “mlfield” был установлен в “Обычный текст” и “Форматированный текст” соответственно, третий – “Расширенный форматированный текст”.

image

Видно, что содержимое “многострочного” поля отображается с вертикальным смещением. (На стандартных списках “Извещения” эффект наблюдается “от рождения”, необходимо только настроить представление на вывод поля “Основной текст”)

В то же время подобного фокуса не наблюдается в “старом” интерфейсе, остающемся после конвертации узлов из версии 2007:

image

Палец вверхПалец внизУлитка

Technorati Tags:
Tagged with:
Follow

Get every new post delivered to your Inbox.

Join 76 other followers