Архивы по месяцам: Февраль 2008

Незначительные публичное объявление: Параметры Windows Live безопасности и обратиться владельцы пространства

Я получил несколько сообщений от лиц через встроенный «отправить сообщение" функция Microsoft обеспечивает живой пробелами (который также размещен мой блог) Каждый месяц.

Около одной трети времени, Эти пользователи обеспечили их учетной записи live пространства, таким образом, что я не могу ответить. Это своего рода функцию антиспама, я предполагаю.

</конец>

Простое объяснение: “Значение не попадает в ожидаемый диапазон.”

ОБНОВЛЕНИЕ: Оставил анонимный плакат большой комментарий о внутренних имен. Будьте уверены прочитать его.

При работе с приемниками событий и другой код, ссылающийся на элементы списка SharePoint через объектную модель, Я часто делают ошибки, которые создают эту ошибку во время выполнения:

Ошибка при загрузке и запуске приемника событий Conchango.xyzzyEventReceiver в xyzzy, Версия = 1.0.0.0, Культура = нейтральных, PublicKeyToken = 0dc50a750396c3ac. Дополнительная информация приведена ниже. : Значение не попадает в ожидаемый диапазон.

Я думаю, что это довольно общая ошибка, которая потенциально вызывается множество различных способов. Однако, один простое объяснение в том, что я неправильно ссылки поля. Если имя поля «Срок», Я должен ссылаться на него как это в приемник событий:

Свойства.ListItem[«Срок»]

Когда я неправильно или использовать неверный регистр при ссылке на поле, SharePoint генерирует выше упомянутые ошибки во время выполнения. Например, Это неправильно:

Свойства.ListItem[«Срок»]

</конец>

Подписаться на мой блог.

Бирки Technorati:

Быстрый отзыв конечного пользователя: Сортировка представления в библиотеке документов, Список, и т.д..

Мы можем, следует и создания многих представлений в списках SharePoint (библиотеки документов, Настраиваемые списки, и т.д.). Списки SharePoint всегда доступных представлений в алфавитном порядке. Мы не можем изменить это, используя из функциональность box. Если это может быть сделано через настройки (и я не уверен, что это может), Это далеко технический для типичных конечного пользователя.

Если вы хотите контролировать порядок, в котором SharePoint перечислены доступные представления, просто добавить число или буква в имени представления, как и в:

1 – По типу материала
2 – Все документы
3 – Дата

-или-

A – По типу материала
B – Все документы
C – Дата

Я также создал просмотров, целью которых является строго кормить ключевого индикатора производительности. Я был после этого именования:

Z_KPI_[Описание]

Что причины "ХПИ" взгляды появится в нижней части списка.

</конец>

Подписаться на мой блог.

Воскресенье смешно: “Когда я был маленький мальчик”

Как родитель, где-то вдоль линии я обнаружил «когда я был маленький мальчик" трюк.

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

Что работает хорошо, как утешение технику и я использовал его несколько раз за следующий период времени. Неприятности раз когда его Monster Ранчер 3 умерло существо. Я говорил о том, как моя собака, Принц, погиб в автомобильной аварии. На этот раз, его ответ был, «Теперь я чувствую себя плохо о двух вещах!" Я уклонялись от использования «когда я был маленьким мальчиком" техника для утешение после этого.

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

Это тоже был очень успешным для какое-то время, но он начал все более восставать против тирании моего детства. Одно событие, в частности, ознаменовал конец. Я сказал ему, чтобы вернуть мусорные баки от снаряженном состоянии в гараже. Он утверждал, и я ответил, «Когда я был маленький мальчик, Мне пришлось взять мусор обратно в гараж." Он ответил, «Ах да! Хорошо, когда вы были маленьким мальчиком, Это было ГЛУПО!".

</конец>

Подписаться на мой блог.

Бирки Technorati:

Представления и столбцы списков и библиотек документов не может быть защищен

ОБНОВЛЕНИЕ (02/29/08): Этот новый проект codeplex, как представляется, предоставляют метод для обеспечения отдельных столбцов: http://www.codeplex.com/SPListDisplaySetting. Если у вас есть опыт работы с ним, Пожалуйста, оставьте комментарий.

Форум плакаты часто задать вопрос, как это: «У меня есть мнение менеджер и и сотрудников представление списка. Как обеспечить представление менеджер, таким образом, что сотрудники не могут использовать его?"

Они также часто спрашивают вопрос: «Я хочу обеспечить определенные метаданные столбца, так что только менеджеры могут редактировать этот столбец, в то время как другие не могут даже увидеть его."

Эти ответы применяются к обоим WSS 3.0 и Мосс:

  • SharePoint не поддерживают out-of-box для обеспечения просмотров.
  • SharePoint не поддерживают out-of-box для безопасности столбцов.

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

  • Использовать уровень безопасности пункт out-of--box. Просмотров всегда честь конфигурация безопасности уровня элемента. Приемники событий и/или рабочий процесс можно автоматизировать безопасности назначение.
  • Использовать личные взгляды «привилегированные" Представления. Это достаточно легко настроить. Однако, из-за их «личные" Природа, они должны быть настроены для каждого пользователя. Использование стандартной конфигурации безопасности, чтобы запретить создание личного представления.
  • Использовать веб-часть представления данных и реализуют некоторый вид решения обрезки AJAXy безопасности.
  • Roll ваш собственный функциональность отображения списка и включить фильтрацию по ролям безопасности на уровне столбца.
  • Изменение формы для ввода данных и использование JavaScript в сочетании с моделью безопасности для реализации фильтрации по ролям безопасности уровня столбца.
  • Использовать форму InfoPath для ввода данных. Реализовать фильтрацию по ролям безопасности уровня столбца через вызовы веб-службы SharePoint и условно скрыть поля при необходимости.
  • Ролл собственную функцию запись данных ASP.NET, которая реализует фильтрации по ролям безопасности на уровне столбца.

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

ПРИМЕЧАНИЕ: Если вы идете вниз любой из этих путей, не забывайте о «действия-> Открыть с помощью проводника Windows». Вы хотите быть уверены, что вы проверить с этой функцией, чтобы убедиться, что она не работает как «задней двери" и победить схема безопасности.

Если у вас есть другие идеи для или опытом с обеспечением столбцов или представлений, Пожалуйста Напишите мне или оставьте комментарий, и я буду обновлять эту публикацию в соответствующих случаях.

</конец>

Подписаться на мой блог.

Быстрый Подсказка: Номера версий в BDC ADF являются вашего друга

Если вы ручного кодирования ADF файлов и делать много циклов кода/импорт/испытания, Используйте номер версии, чтобы сделать вашу жизнь проще.

Я ненавижу впустить его, но до этой недели, Я всегда был удаление ADF и повторного импорта. Это было бы разорвать мою столбцов бизнес-данных и сделать меня повторно привязать их. Все ненужные.

Файл этом под «это очевидно, как только вы видите его».

Пример:

<Недопустимый
xmlns:xsi="HTTP://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="HTTP://Schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Тип="WebService" Версия="1.2.0.0" Имя="xyzzyDocumentReview" xmlns="HTTP://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Изменить что версии и повторно импортировать и существующего столбца бизнес-данных автоматически использует обновленную версию с без дополнительных настроек.

</конец>

Подписаться на мой блог.

Бирки Technorati:

Решение: BDC выбора показывает только один столбец результаты

В мои попытки на идущий на предоставление более полезным столбец подстановок, с помощью BDC, Я попала в стену с выбора BDC. Если вы не видите его, BDC выбора похож на средства выбора людей, за исключением того, что он работает со столбцами типа «бизнес-данных».

Вы получить доступ к палитре, нажав на значок открытой книги столбца бизнес-данных как показано:

изображение

Это изображение показывает столбец бизнес-данных, под названием «Мастер документа Id». Этот столбец подключен, через BDC, для веб-службы. Веб-служба возвращает две колонки информации: Документ ID и название. Бизнес здесь призван обеспечить «этот документ основан на" функция. Пользователи выберите «Мастер" документ и когда они сохранить, приемник событий копирует мета данных поля из ссылки мастер.

По умолчанию, BDC выбора выглядит так, когда я ищу для документа, чей ID = «38»:

clip_image002

Это полезно, но не достаточно хорошо. Люди не думать в терминах идентификаторов, они думают, с точки зрения названия и/или другие мета-данные. Средство выбора позволяет вам искать на другие столбцы (Например. Название) но не показывают фактический список названий, он нашел, просто их DocId, как показано здесь:

clip_image002[1]

(На снимке экрана не так велика, потому что я не выбирал, возвращающий любые допустимые результаты поиска, но вы можете видеть, если он обнаружил некоторые результаты, Он будет только показали DocId, не титулы).

Я искал высоких и низких для ответа на этот и не. Мой коллега, Почтенный Джонатан Брэдшоу, перед и решить эту проблему. Когда я потянулся к ним за помощью, Он указал мне в правильном направлении.

Настройка выбора, чтобы показать несколько столбцов через ShowInPicker»" Недвижимость в ADF:

<Свойства Имя="ShowInPicker" Тип="System.Boolean">Истина</Свойства>

Более подробно:

  <!-- Название -->
  <Дескриптор типа TypeName="System.String" Имя="Название" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName КОД ЯЗЫКА="1033">Название</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Свойства>
      <Свойства Имя="DisplayByDefault" Тип="System.Boolean">Истина</Свойства>
      <Свойства Имя="ShowInPicker" Тип="System.Boolean">Истина</Свойства>
    </Свойства>
  </Дескриптор типа>

Установка этого свойства ввести незначительной проблемой. Как только вы установите его один раз, Вам нужно установить его для каждого столбца, которые вы хотите показать. В моем случае, BDC выбора показали DocId по умолчанию. Однако, как только я добавил «ShowInPicker" Название, DocId больше не отображается. Я решил что, явно задав свойство ShowInPicker для идентификатора документа.

Вот результат:

изображение

(Я буду объяснять странный» 168 – CamlSchema.xsd" Строительство будущего блога. Короче, Это объединенная строка, которая позволяет немного лучший пользовательский опыт).

Конечно, написав эту запись в блоге, Я просто сделал поиск по "ShowInPicker" и нашли многочисленные хиты, включая этот один: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Это объясняет значение этого свойства, а также некоторые другие хорошие вещи BDC.

</конец>

Подписаться на мой блог!

Бирки Technorati:

Быстрый & Легко: Создайте папку и присвойте тип контента (Или, KPI и съесть их слишком)

Для того, чтобы обойти проблемы КПИ Я писал о здесь, Я сделал несколько испытаний и обнаружил что КПИ работа против папки с мета-данных таким же образом, что они работают против документы или элементы списка. Я доказал это путем создания нового типа контента на основе типа содержимого папки и затем добавлены несколько полей. Я создал некоторые показатели и доказал себе, что ключевые индикаторы производительности работают как ожидалось. Это была хорошая новость. Это не идеальный, потому что бур вниз вы получаете от ключевого показателя эффективности против папок это не совсем то, что вы хотите. Это не слишком много недостатков, в моем случае, потому что 1) конечные пользователи не знают ничего лучшего и 2) бур вниз идет в папку. Они щелкните имя папки, и они находятся на элементе. Это два клика вместо одного, который не конец света.

Это текли красиво с работой, которую я делал. Я создаю папку для каждого документа, который получает загружены. Это делается через приемник событий. В результате, Это кусок пирога, чтобы сохранить родительской папки мета-данные в синхронизации с данными KPI-управляемых метаданных из файла сам так как сантехника уже на месте. This allows me to have my KPI’s and eat them too 🙂

Я изменил приемник событий, чтобы добавить папку и затем задать тип контента этой новой папки мой пользовательский тип контента КПИ friendly. Этот бит кода сделал трюк:

 SPFolderCollection srcFolders = targetWeb.GetFolder(«Документы").Вложенные папки;
  SPFolder addedFolder = srcFolders.Add(Свойства.ListItem.ID.ToString());
  SPContentTypeId kpiCT = Новые функции SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item[«Идентификатор типа контента"] = kpiCT;
  addedFolder.Item.Update();

Чтобы найти фактический идентификатор типа контента, Я получить этот тип контента через настройки сайта и копировать/вставить его из URL-адреса, как показано:

изображение

</конец>

Подписаться на мой блог!

Быстро и легко: Получить SPFolder SPListItem в приемник событий

Я ненавижу впустить его, но я боролся с этим один день. Мой приемника событий необходимо обновить поля родительской папки. Это немного показывает как это сделать:

частные void UpdateParentFolder(SPItemEventProperties Свойства)
{

SPFolder thisItemFolder = свойства.ListItem.File.ParentFolder;
thisItemFolder.Item[«Состояние утверждения ZZ"] = «Хорошие новости, Каждый!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

В этом случае, Я работаю с библиотекой документов и свойства идут от событие ItemAdded.

Хитрость заключается в том, что вы не можете получить SPFolder элемент непосредственно из самого элемента (т.е.. Свойства.ListItem.Folder имеет значение null). Вместо этого, Перейдите к файлу связанного элемента списка и получить файл в папку.

</конец>

Подписаться на мой блог!

Бирки Technorati:

Еще еще один приемник событий отладки трюк

Я уверен, что я не первый человек, чтобы прийти с этим. Однако, Я не заметил кто-нибудь опубликовать трюк, как это, так как я начал, уделяя пристальное внимание к сообществу в июле. Таким образом, Я думал, что я бы разместить его эта подсказка быстро и легко отладки.

Я работаю на приемник событий, который начало для создания этой ошибки в 12 куст:

Ошибка при загрузке и запуске приемника событий Conchango.xyzzyEventReceiver в xyzzy, Версия = 1.0.0.0, Культура = нейтральных, PublicKeyToken = blahbalhbalh. Дополнительная информация приведена ниже. : Ссылка на объект не указывает на экземпляр объекта.

Я не знаю, где я ввел эту ошибку, потому что я сделал слишком много вещей в одном из моих циклов кода/развернуть/тест.

Я попробовал Это решение чтобы мои pdb туда с надеждой что SharePoint 12 куст будет показать трассировки стека, но не повезло. Я не знаю, если это возможно, и если кто-то делает, Пожалуйста, дайте мне знать 🙂

Я знаю, что это можно Напишите ваши собственные сообщения журнала 12 куст. Честно говоря, Я хотел что-то чуть менее страшно и быстрее осуществлять.

Это произошло на меня, что я мог по крайней мере получить некоторые сведения основные трассировки, ловя и снова бросали универсального исключения, как это:

  Попробуйте {
    UpdateEditionDate(Свойства);
  }
  улов (Исключение e)
  {
    бросать Новые функции Исключение(«Диспетчер, UpdateEditionDate(): Исключение: [" + e.ToString() + "].");
  }

Это показало вверх в 12 куст константы выглядит так:

Ошибка при загрузке и запуске приемника событий Conchango.xyzzyEventReceiver в xyzzy, Версия = 1.0.0.0, Культура = нейтральных, PublicKeyToken = blahblahblah. Дополнительная информация приведена ниже. : Диспетчер, UpdateEditionDate(): Исключение: [System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта. в Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties свойства) в Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties свойства, Строка eventDescription)].

Это дало мне все подробно, мне нужно было отслеживать вниз этой конкретной проблемы, и я надеюсь использовать это много идти вперед.

</конец>

Подписаться на мой блог!