Является ли SPList Document Library?
понедельник, 11 августа 2008Дабы проверить является ли SPList наследуемым от какого-либо из предопределённых листов, необходимы следующие манипуляции:
if ((spList.BaseType == SPBaseType.DocumentLibrary)
&& (spList.BaseTemplate == SPListTemplateType.DocumentLibrary))
{ ... }
Актуальность данных в объектной модели SharePoint
вторник, 15 июля 2008Эх не всё все так ладно порой как хотелось бы в объектной модели SharePoint-а с актуальностью данных.
Sharepoint: bug or feature?
среда, 4 июня 2008А вот это довольно интересный каламбур в 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!
Sharepoint custom field
среда, 4 июня 2008Реально динамически-вычисляемого поля в Sharepoint-е создать нельзя! Ибо можно лишь задать некие условия для вычисления значений, но они вычисляются только раз.
И тому подтверждение множества линков под катом, с вариацией на тему создания custom field.
SharePoint 2007 and WSS 3.0 Dispose Patterns
среда, 4 июня 2008Наряду с msnd-ми примерами паттернов использования Dispose для объектов SPWeb и SPSite нашел довольно интересные изыскания от Roger Lamb’s.
Найти SPFeatureDefinition
вторник, 22 апреля 2008Коли есть на руках id-к SPFeature и надобно найти её зависимости, зрим в SPFarm.Local.FeatureDefinitions.
Custom SiteTemplate name
вторник, 1 апреля 2008Полчаса потерянного времени. Ибо совсем забыл, что имя файла с шаблоном должно начинаться с webtemp (кроме шуток, а то знаете ли день сегодня такой).
makecab limits
пятница, 25 января 2008Ситуация:
На post-build event-е повешен обработчик, который пересобирает solution для Sharepoint-а (ибо это простой cab).
Однако, как оказалось makecab-а, по умолчанию, есть ограничение на размеры файлов.
Т.е. скармливаешь ему ddf файл, со списком файлов, которые нужно упаковать. Он в ответ, что исходный размер файлов 12М, на выходе 4М. Смотришь а полученный архив 1,5М — не порядок.
Следующие директивы в ddf файлы изменят сложившуюся ситуацию:
.Set CabinetFileCountThreshold=0 .Set FolderFileCountThreshold=0 .Set FolderSizeThreshold=0 .Set MaxCabinetSize=0 .Set MaxDiskFileCount=0 .Set MaxDiskSize=0
SharePoint SPLinkButton
понедельник, 31 декабря 2007В SharePoint-й SPLinkButton есть такое свойство как QueryStringParametersToInclude, из названия понято, что в данном свойстве прописываются параметры, которые нужно добавить к линке из текущей строки запроса.
Мелочь а приятно и главное крайне функционально.
Security validation in Sharepoint
понедельник, 31 декабря 2007Была у нас как-то надобность программно удалять web prefix-ы в Sharepoint-e, однако при всяких наших манипуляциях вылетал следующая ошибка:
"The security validation for this page is invalid. Click Back in your Webbrowser, refresh the page, and try your operation again."
Здесь spiderwool.blogspot.com было найдено решение, которое собственно сводилось к выставлению Enabled для FormDigestSettings в false.
Итого
SPWebApplication webApp = web.Site.WebApplication;
webApp.FormDigestSettings.Enabled = false;
…Run code…
webApp.FormDigestSettings.Enabled = true;
spWebApp.Prefixes.Delete(url.Substring(1));