Archive for the ‘SharePoint’ tag
Id стандартных content typ-в
Подобно SPBuiltInFieldId, хранящему идентификаторы полей, класс Microsoft.SharePoint.SPBuiltInContentTypeId содержит идентификаторы стандартных content typ-в
CAML query: фильтрация по пользователю
Для того чтобы сделать выборку по конкретному пользователю, отличному от текущего пользователя, необходимо делать query примерно следующего вида
<Where>
<Eq>
<FieldRef Name='Author' LookupId=""TRUE"" />
<Value Type=""Lookup"">3</Value>
</Eq>
<Where>
Где 3 — соотведсвенно id-к пользователя в web-е.
ID стандартных полей
Накопилось некое количество заметок о некоторых очевидных и не только моментах касательно SharePoint.
Например, для того получение id-ка стандарных field-в можно пойти поискать его определение в
%COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\fields\fieldswss.xml
А можно глянуть класс Microsoft.SharePoint.SPBuiltInFieldId, в котором определены id-ки стандартный полей.
Workflow Foundation & SharePoint
So…. WF without MOSS means we can use the correct pattern. WF with MOSS, we have to use a bad pattern.
Из-за того, что в SharePoint-е нет возможности зарегистрировать свой ExternalDataExchangeService, workflow-ы лишаются вкусностей в виде подписки на собственные custom-е события.
Является ли SPList Document Library?
Дабы проверить является ли SPList наследуемым от какого-либо из предопределённых листов, необходимы следующие манипуляции:
if ((spList.BaseType == SPBaseType.DocumentLibrary)
&& (spList.BaseTemplate == SPListTemplateType.DocumentLibrary))
{ ... }
Актуальность данных в объектной модели SharePoint
Эх не всё все так ладно порой как хотелось бы в объектной модели SharePoint-а с актуальностью данных.
Sharepoint: bug or feature?
А вот это довольно интересный каламбур в Sharepoint-e.
Свалился как-то exception вида:
An update conflict has occurred, and you must re-try this action. The object SPWebApplication Name=SharePoint - 80 Parent=SPWebService is being updated by SHAPEL_P\Pash, in the w3wp process, on machine SHAPEL_P. View the tracing log for more information about the conflict. at Microsoft.SharePoint.Administration.SPConfigurationDatabase.StoreObject(SPPersistedObject obj, Boolean storeClassIfNecessary, Boolean ensure)
Как выяснилось проблема в данном куске кода
using (SPSite site = spWebApp.Sites.Add(serverRelativeUrl, title, description, LCID, null, spOwner.LoginName, spOwner.Name, spOwner.Email))
А фокус в том, что object.ReferenceEquals(spWebApp, site.WebApplication) — возвращает false!