Щомісячні архіви: Лютий 2008

Незначні публічних заяв: Настройки Windows Live безпеки і контактування простір власників

Я отримав кілька повідомлень від фізичних осіб за допомогою вбудованої "Надіслати повідомлення" функція Microsoft надає live spaces (які організовують мій блог) кожен місяць.

Близько однієї третини випадків, цих користувачів були забезпечені свого облікового запису live spaces, така, що я не можу відповісти. Це не якийсь анти-спам функцію я припускаю.

</кінець>

Просте пояснення: “Значення не потрапляють в межах очікуваного діапазону.”

ОНОВЛЕННЯ: Анонімні плакати, що залишив великий коментар про внутрішні імена. Не забудьте прочитати його.

Під час роботи з подією приймачів і інший код, який посилається елементи списку SharePoint за допомогою об'єктної моделі, Я часто роблять помилки, які генерують ця помилка під час виконання:

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

Я думаю, що це досить загальних помилок, що потенційно викликала багато різних способів. Однак, один просте пояснення в тому, що я перебуваю посилань поле неправильно. Якщо ім'я поля «Due Date», Я повинна посилатися на нього як це у випадку ресивер:

властивості.Елемент списку["Термін"]

Коли я друкарські помилки або використовувати випадок неправий, коли посилання на поле, SharePoint генерує вище згаданих помилка виконання. Наприклад, це неправильно:

властивості.Елемент списку["термін"]

</кінець>

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

Бірки Technorati:

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

Ми можемо, слід і створити багато подання у списках SharePoint (бібліотеки документів, Настроювані списки, д). Завжди списки SharePoint доступних виглядів в алфавітному порядку. Ми не можемо змінити це використання поза коробки функціональність. Якщо це може бути зроблено через налаштування (і я не впевнений, він може), це далеко до технічної за ваш типовий кінцевий користувач.

Якщо ви хочете контролювати порядок в якому SharePoint містить список доступних виглядів, просто prepend номер або літера, щоб ім'я подання, як і в:

1 – За типом матеріал
2 – Всі документи
3 – Термін дії

-або-

A – За типом матеріал
B – Всі документи
C – Термін дії

Я також створив переглядів, метою яких є строго годувати KPI. Я був після цього іменуванні:

Z_KPI_[Опис]

Що викликає мою "КПІ" вид з'являтися в нижній частині списку.

</кінець>

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

Неділя Funny: “Коли я був маленьким хлопчиком”

Як батько, Где-то вздовж лінії, я виявив, що "коли я був маленьким хлопчиком" трюк.

Мій син, ймовірно, чотири або п'ять в той час, грав повітряна куля і, як самих маленьких хлопчиків, які грають з повітряними кульками, він вискочив його. Він був дуже засмучений. Світ прийшов до кінця. Я сказав йому:, "коли я був маленьким хлопчиком, Я був на повітряній кулі, і він вискочив і врешті-решт, Я отримав новий повітряна куля." Він, здавалося, щоб допомогти йому справитися з його втрати і призвело до весело говорити про те, що це було, як коли я був маленьким хлопчиком.

Яка працювала Ну як розраду техніку і я використав його кілька разів протягом наступного періоду часу. Я потрапити в біду, одного разу коли його ранчо монстр 3 істота помер. Я говорив про те, як моя собака, Принц, померла в автомобільній аварії. Цього разу, його відповідь була, "Зараз я відчуваю себе погано про дві речі!" Я ухилявся від використання на ", коли я був маленьким хлопчиком" Техніка для розраду після цього.

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

Це теж був дуже успішним на деякий час, але він почав все частіше повстати проти тиранії мого дитинства. Одна подія, зокрема, ознаменував кінець. Я сказав йому, щоб повернути сміттєві баки від бордюр до гаража. Він стверджував, і я відповів, "Коли я був маленьким хлопчиком, Мені довелося забрати сміття в гаражі." Він відповів, "Ах так! Ну, коли ви були маленьким хлопчиком, Це було настільки ДУРНИЙ!".

</кінець>

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

Бірки Technorati:

Погляди і стовпців у списках і бібліотеках документів не можуть бути забезпечені

ОНОВЛЕННЯ (02/29/08): Цей новий проект codeplex забезпечує здається способом кріплення окремих стовпчиків: http://www.codeplex.com/SPListDisplaySetting. Якщо у вас є будь-який досвід роботи з ним, будь ласка, залиште коментар.

Форум плакати часто Задавайте питання, як цей: "У мене є подання керівника та і персонал подання списку. Як убезпечити подання керівника, щоб співробітники не можете використовувати його?"

Вони також часто задавайте пов'язане з цим питання: Я хочу, щоб забезпечити конкретні метаданих стовпця, щоб лише керівники можуть редагувати цього стовпця, у той час як інші можуть навіть не бачили його."

Ці відповіді застосувати до обох WSS 3.0 та ЛИШАЙНИК:

  • SharePoint не надають поза коробки для забезпечення переглядів.
  • SharePoint не надають поза коробки для безпеки стовпців.

Є кілька методів один можна стежити, щоб задовольнити ці види вимоги безпеки. Ось те, що я можу думати про:

  • Використання поза коробки елемент рівня безпеки. Вид завжди честь елемент рівня безпеки конфігурації. Подія приймачів і/або робочого процесу можна автоматизувати безпекою завдання.
  • Використовувати особисті погляди, бо "привілейованих" переглядів. Це досить легко налаштувати. Однак, Завдяки своїм особистим"" Природа, вони повинні бути налаштована для кожного користувача. Використання стандарту безпеки конфігурації запобігти створенню особисте подання з.
  • Використання веб-частині подання даних та реалізації свого роду обрізки рішення AJAXy безпеки.
  • Рол свій власний список функцій дисплея і включити фільтрування за ролями безпеки на рівні стовпців.
  • Змінення форми для вводу даних і використовувати JavaScript в поєднанні з модель безпеки здійснити фільтрування за ролями безпеки рівня стовпця.
  • За допомогою форми InfoPath для введення даних. Здійснити фільтрування за ролями безпеки рівня стовпця через web викликів служби SharePoint і умовно приховати поля, якщо необхідно.
  • Рол свій ASP.NET даних запис функція, яка реалізує фільтрування за ролями безпеки рівня стовпця.

Жодне з цих варіантів не є дійсно такі великі, але є щонайменше шлях, щоб слідувати, якщо вам потрібно, навіть якщо це важко.

ПРИМІТКА: Якщо ви зійдіть на будь-який з цих шляхів, не забувайте про "дії-> Відкрити за допомогою провідника Windows". Ви хочете бути впевнені, що ви перевірити в цю функцію, щоб переконатися, що він не працює як "задні двері" і перемогти безпеки схема.

Якщо у вас є інші ідеї для або досвід роботи із забезпечення стовпців або переглядів, Будь ласка Напишіть мені або залишити свій коментар, і я буду оновлювати цей коментар відповідно.

</кінець>

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

Бірки Technorati:

Швидкий Підказка: Номери версій BDC ADF є вашим другом

Якщо ви маєте ручне кодування ADF файли і робити багато коду, імпорт, тестового циклу, використовувати номер версії, щоб зробити ваше життя простіше.

Терпіти не можу визнати це, але до цього тижня, Я завжди був видалення ADF і повторного імпортування цього. Це б порушити мій стовпцях бізнес-даних і зробити мене Re-wire їх. Все зайве.

Це файл під "це очевидно, як тільки ви його бачите".

Приклад:

<Бізнес-система
xmlns:XSi="http://www.w3.org/2001/XMLSchema-Instance" XSi:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Тип="Веб-служба" Версія="1.2.0.0" Ім’я="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Змінити цю версію та знову імпортувати і автоматично наявний стовпець бізнес-даних використовує оновлену версію з не додаткових налаштувань, необхідні.

</кінець>

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

Бірки Technorati:

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

У мої поточні спроби надання за більш корисним стовпця підстановки за допомогою каталогу бізнес-даних, Я вдарив стіна з палітрі ПБД.. Якщо ви ще не бачу, палітрі BDC схожий на засіб вибору користувачів за винятком того, що він працює з стовпців типу «бізнес-даних».

Доступ до палітрі, натиснувши на іконку відкриту книгу стовпець бізнес-даних як показано:

зображення

Зображення вище показує стовпець бізнес-даних під назвою "Майстер ідентифікаторів документів". Цей стовпець підключено, за допомогою служби ПБД, веб-служби. Веб-служба повертає двох стовпців із відомостями: Ідентифікаторів документів і заголовок. Бізнес-цілей тут полягає в наданні на "цей документ на основі" функція. Виберіть "Майстер" документ, і коли вони врятувати, подія приймач копіювання meta даних полів із посилаються майстер.

За промовчанням, палітрі BDC виглядає так під час пошуку документа ID = "38":

clip_image002

Ця функція корисна, але не досить добре,. Люди не думаю, що з точки зору ідентифікатори, вони думають, що з точки зору назв та/або інших мета-дані. Палітрі дозволяє здійснювати пошук за іншими стовпцями (Наприклад. Назва) але не буде показувати фактичні Список титулів він знайшов, просто їх ідентифікатор, як показано тут:

clip_image002[1]

(Знімок екрана не настільки велика, тому що я не беру пошуку, яка повертає будь-які діє результати, але ви можете бачити, що, якщо він знайшов деякі результати, Він лише буде показаний на ідентифікатор, не титули).

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

Налаштувати палітру показати кілька стовпців за допомогою "ShowInPicker" Нерухомість в ADF:

<Майно Ім’я="ShowInPicker" Тип="System.Boolean">Істина</Майно>

Детальніше:

  <!-- Назва -->
  <Дескриптор типу Параметр TypeName="Належить" Ім’я="Назва" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName КОД МОВИ="1033">Назва</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Властивості>
      <Майно Ім’я="DisplayByDefault" Тип="System.Boolean">Істина</Майно>
      <Майно Ім’я="ShowInPicker" Тип="System.Boolean">Істина</Майно>
    </Властивості>
  </Дескриптор типу>

Цю властивість ввести незначні проблеми. Як тільки ви встановите її один раз, Ви повинні встановити це для кожного стовпця, ви хочете, щоб показати. У моєму випадку, BDC палітра показав ідентифікатор за промовчанням. Однак, одного разу я додав "ShowInPicker" титул, Ідентифікатор більше не відображаються. Я вирішив, що, явно встановлюючи властивість ShowInPicker для Ідентифікатора Doc.

Ось результат:

зображення

(Я поясню дивним "168 – CamlSchema.xsd" Незавершене будівництво майбутнього блогу. Коротше кажучи, Це каскадними рядок, який дозволяє трохи кращого користувацького досвіду).

Звичайно, Написав цей запис у блозі, Я просто зробив пошук по "ShowInPicker" і знайшов численні хіти, включаючи і цю: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Це пояснює значення цього майна, а також деякі інші хороші речі каталогу бізнес-даних.

</кінець>

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

Бірки Technorati:

Швидкий & Легко: Створити папку і призначити тип вмісту (Або, Мати ваші показники KPI і з'їсти їх)

Для того, щоб вирішити проблему КПІ Я писав про тут, Я зробив деякі випробування і виявив робота цього KPI проти папки з мета-дані таким же чином, що вони працюють проти документи або елементи списку. Я довів, що його, створюючи новий тип вмісту на основі типу вмісту папки а потім додати кілька полів. Я створив кілька показників і довели собі, що KPI працює належним чином. Це був Вітаємо Новини. Це не ідеально, тому що в деталізації, ви отримуєте від КПІ проти папки не саме це те, що ви хочете. Це не занадто багато недоліків, в моєму випадку, тому що 1) кінцеві користувачі не знаю краще, і 2) буріння вниз йде до папки. Вони виберіть ім'я папки, і вони на елемент. Це два клацання замість одного, який це не кінець світу.

Це текла красиво з роботою я робив. Я створюю папку для кожного документа, який отримує завантажені. Це робиться за допомогою подія приймач. У результаті, Це шматок пирога, щоб тримати на батьківську папку мета-дані в синхронізації з КПІ driven meta дані з файлу, самого оскільки сантехніки ­ дування вже існує. This allows me to have my KPI’s and eat them too 🙂

Я змінив подію приймач до додати папку а потім настроїти тип вмісту цього нову папку Мої настроюваного типу КПІ дружні вмісту. Це трохи коду зробили свою справу:

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

Щоб знайти фактичне Ідентифікатор типу вмісту, Я отримати доступ до цього типу вмісту за допомогою параметрів сайту і копіювати/вставити його з URL, як показано:

зображення

</кінець>

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

Бірки Technorati: ,

Швидкий і простий: Отримати SPFolder на SPListItem в події-приймач

Терпіти не можу визнати це, але я боровся з цим всіх день. Моя приймач подію необхідно оновити поле його батьківську папку. Це трохи показує, як це зробити:

приватні недійсними 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)].

Це дало мені всі подробиці, що мені потрібно, щоб вистежити вирішенні цієї проблеми і я очікую, використовувати його багато йти вперед.

</кінець>

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