Быстрый и простой: Подготовка веб-узла с помощью объектной модели SharePoint В C#

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

Этот код создает новый сайт вики:

 SPSite семейства сайтов;

    siteCollection = Новые функции SPSite(«http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add(«xyzzy", «xyzzy название",
        «xyzzy описание", 1033, SPWebTemplate.WebTemplateWIKI, ложь, ложь);

Мой первоначальный поиск не удалось, потому что я искал для фразы, как «положения веб-сайта с помощью объектной модели sharepoint" и т.п..

Если вы Поиск для «Webs.Add()", Вы найдете ряд весьма полезных в дневнике, Статьи MSDN и документации по пакету SDK, что идти в глубину на эту тему. Я определенно рекомендую Этот сайт.

</конец>

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

Бирки Technorati:

Интеграция рабочих процессов SharePoint Designer с веб-службами

Я играл с пользовательских действий для SharePoint Designer для некоторое время (Смотрите здесь для некоторых подробный материал, Если это вас интересует).

В моем текущем проекте, нам необходимо сделать некоторые довольно тяжелую работу, и мы хотим использовать декларативный СПД рабочий процесс для управления связанного бизнес-процесса.

Длинная история короткой, Это вполне возможно. Я продлил мой проект Codeplex для вызова «вспомогательные службы" и теперь мы можем вызывать веб-службы непосредственно из рабочего процесса SPD.

Вот подпись:

 государственные Строка Диспетчер(
        GUID WebID, // Принят среды выполнения
        GUID SiteID, // Принят среды выполнения
        Строка ListID, // Принят RTE (не знаю, почему это строка, не GUID)
        int ListItemID, // Принят RTE.
        Строка XmlMessage) // Мимо пользователя, как было объявлено в СДПГ.

Это использует тот факт, что мы можем получить на важных рабочего процесса, как сайт, Идентификатор списка, и т.д.. Это хорошо документирована в нескольких местах для тех из вас заинтересованы в создании собственных пользовательских действий. Идея заключается в том, чтобы извлечь XML-строки, предоставленные пользователем направить соответствующую процедуру. Вещество потехи!

К сожалению, Это очевидно, что билет до «Loosey гуси" Anti-pattern земля, но это лучше, чем врезаться в кирпичную стену 🙂

Это антишаблоном, если вы делаете это, даже если вы знаете, что это антишаблоном?

Я надеюсь, что в ближайшем будущем обернуть это внутри Codeplex. Если вы заинтересованы во мне делать, Дайте мне тыкать (Отправить по электронной почте или оставить комментарий) и я буду с большим энтузиазмом заниматься этим 🙂

</конец>

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

Бирки Technorati: ,

Воскресенье смешно: “Интересно, если ваш пароль …”

Я недавно купил обед для моего брата (как обычно) и мы в конечном итоге говорить о забавных вещей, которые мы сделали в наших соответствующих колледжах. В моей альма-матер, Лафайет колледж, академической поддержки ИТ-отдел был очень включительно путь, о нем. Мы получили много веревки и я воспользовался, временами.

Два моих любимых воспоминаний связаны с моим хорошим другом, Гейб. Он сделал ужасную ошибку рассказывать людям его первый год, что «я первокурсник, но у меня есть студент-второкурсник стоя" из-за различных классов углубленным он принял, и т.д.. Многие из нас были аналогичном, но мы не говорим об этом так много. Его старший год, когда мы ввели его людей, Мы хотели бы сказать «это является Гейб. Он является старшим, но он студент-второкурсник стоя».

Колледж имел некоторые солнце рабочих станций/серверов X-Window. Они были гигантские мониторов и инженеры использовали их для CAD и другие скучные вещи инженер. Мы CS люди использовали их для изучения программирования и, Конечно, играть в игры.

Мы не как компьютер беспомощных инженеров много поэтому один из наших любимых вещей, чтобы сделать бы telnet в поле они были на и запустить X-глаз на них. Это будет поп-вверх пару глаз, которые последовали за мыши на экране. Можно появляются еще больше и буквально десяток или более приложений X-глаз, работающих. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Мы также играли X-трек на этих коробках. Для этого, Вам пришлось скачать исходный код, получите различные зависимости, где вы могли бы найти их и построить его. Я не сложные программист C, но я мог читать файлы заголовков. Я искал через эти и нашел директивы как «#DEFINE MAX_TORPEDO_DISTANCE 10". Я играл с, что увеличение дальности и мощности для фазы и торпеды, реконструирован его и затем уничтожили Гейб следующий раз, мы играли.

Гейб был также большой поклонник телешоу под названием Блейк 7. Я никогда не видел его, но это не помешало мне настаивая, что д-Р. Кто является улучшенный шоу. The arguments would get heated at times 🙂

Один день, Это произошло на меня, что я мог бы догадаться его пароль UNIX. Я сел рядом с ним один день и объявил в громкий звуковой сигнал, «Я собираюсь угадать пароль прямо сейчас, Гейб." «Да, право" был его ответ. Затем я вошел в, вступил его идентификатор пользователя, повернулся к нему лицом, типизированные и сказал вслух, «Я интересую если это B-L-A-K-E-7" ? Слепой печати никогда не окупилось сторицей, как он сделал в тот день.

На следующей неделе (или скоро): Больше компьютера номер выходки от колледжа.

У вас поделиться? Оставить комментарий или электронной почте мне и я буду публиковать их здесь.

</конец>

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

Бирки Technorati:

Незначительные публичное объявление: Параметры 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: