Архивы по месяцам: Ноябрь 2007

Мосс говорит мне мое имя столбца является защищены или использования … Но это не

ОБНОВЛЕНИЕ 12/04/07: См. Это Microsoft KB (http://support.microsoft.com/kb/923589) для получения информации.

На самом деле, оказывается, это является, но шалунов МОХ должен был сделать это трудно.

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

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

Я сделал некоторые исследования, и даже некоторые кодирования, вощеная философские и наконец обнаружили, что столбец с именем количество сделал, На самом деле, Существует. Он был в "_Hidden" Группа. Поэтому, Мы не смогли найти его через пользовательский интерфейс SharePoint.

Как она туда добраться? Я не знаю, но у меня есть теория (или, как назвали бы это моя жена, «blah blah blah»). Где-то вдоль линии, в Потрясающе сорок шаблон был добавлен и вероятно активированы на сайт в семействе сайтов. Он тогда был выключен (или сайт удален). Столбец сайта, Однако, остались но в _Hidden"" Группа. Если кто-то знает лучше, Пожалуйста, дайте мне знать через Отправить по электронной почте или пост в комментариях.

SharePoint говорит правду. Вряд ли стоит отметить, что это сообщение является не так полезно, как это может быть. Было бы приятно видеть сообщение ветвления в два различных сообщения в будущем: 1) Говорят, что имя столбца защищены или нет. 2) Если это не зарезервировано, Показать сайт, или по крайней мере группа, где имя столбца уже используется.

</конец>

Представление данных ом через настраиваемый список (или, Еще еще один Displayor OM данных [как YACC, но разные])

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

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

Я написал для Форумы MSDN и неукротимый Эндрю Вудворд указал мне в направлении базовых объектов модели данных.

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

Я попытался несколько инструментов, и они были очень круто и интересно, но в конце концов, Пользовательский интерфейс не был достаточно хорош для моей цели. Я не критикую их любыми средствами, но очевидно инструмент мейкеров не моя проблема в виду, когда они создали их пользовательского Интерфейса :). Большинство людей, как представляется, инвестирование изрядное количество времени и усилий в создании станции / клиентские приложения, которые предоставляют дерево Просмотров, Щелкните правой кнопкой мыши контекстное меню и так далее. Они славны и все, но это много работы для создания топ лайн пользовательский опыт, который также является весьма гибкой.

Я действительно необходимо ответ на эту проблему. Это произошло на меня, если я мог бы получить все столбцы узлов в семействе узлов в пользовательский список, Я мог бы фильтр, сортировать и создавать представления, которые помогли бы мне найти этот якобы существующего столбца (что он сделал, BTW). Я пошел дальше и сделал и через час или два позже, все мои столбцы сайта загружается в пользовательский список с группировкой, Сортировка и т.д.. Я нашел мой ответ через пять минут.

Если и когда я успешно захватить мир, Я думаю, что будет указ, что все поставщики средств SharePoint должны серьезно рассмотреть вопрос покрытия их объектов модели данных в пользовательский список. Таким образом, Я имею право для поиска какой-либо образом я хочу (ограничены, Конечно, от функций стандартного sharepoint).

Рабочий процесс SharePoint Designer настраиваемого действия — Наблюдения О <FieldBind Конструктор Type =”Класс StringBuilder” … />

Просто быстро наблюдения, что существует весьма важное различие между этими двумя определениями:

<Поле FieldBind = "InParam1" DesignerType = "StringBuilder" ID = "2" Текст = «Параметр Input # 1» />

сравнению с:

<Поле FieldBind = "InParam1" ID = "2" Текст = «Параметр Input # 1» />

Первый показывает как это в СДПГ:

изображение

во время последнего шоу, как этот:

изображение

Я не уверен, насколько полезны эти экранные снимки, но я приложить усилия, чтобы сделать их, так что вы должны просматривать их 🙂

Это наблюдение: Класс StringBuilder позволяет создавать строки (Очевидно, что) смешивая воедино строковых литералов и данные рабочего процесса (через "добавить подстановку" кнопку в левом нижнем углу). Когда вы используете кнопку Добавить подстановку, Вставляет маркер в форме"[%маркер %]". Когда SharePoint вызывает настраиваемое действие, (Код C# в моем случае), SharePoint проходит сам маркер, не значение маркера. Если вы используете тип конструктора по умолчанию (второй тип), SharePoint расширяет маркер и передает фактическое значение маркера в ваши действия.

Класс StringBuilder = плохо, по умолчанию тип конструктора = хорошее.

Конечно, Это не то, что я имею в виду действительно. Только не пытайтесь и передать параметр для пользовательских действий, когда конструктор типа = StringBuilder. Используйте тип конструктора по умолчанию и цепь StringBuilder для него вверх-противостоьте если вам нужно построить сложные строки в рабочем (Кстати это именно то, что один делает для создания динамической теме для действия электронной почты, но это тема для другой записи блога, Хар Хар).

<конец />

Преждевременная активация рабочего процесса — -Медицинские решения

ОБНОВЛЕНИЕ: Смотрите этот MSDN обсуждение, особенно последняя запись: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Она описывает условие, которое может короткое замыкание все это. Короче, Она может быть как простой, по крайней мере одно из полей обязательное.

У меня есть библиотека документов поддерживает восемь типов содержимого.

У меня есть рабочий процесс SharePoint Designer, который хочет, чтобы вычислить и назначить Дата напоминания"" просто вычитая 30 дни от другого столбца, «срок». Это должно произойти только для одного из типов содержимого, «Страхование». Бизнес-цель-производить KPI, который показывает две категории страховых документов: «около терять" и «истек." (Вы можете прочитать больше о такого рода ключевого индикатора Производительности и более существенной drill-down Здесь).

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

Эта стратегия не работает, когда я загрузить документ.

Загрузить этот документ и я представил с экран ввода данных мета. В этой точке, Я уже в беде. SharePoint уже, преждевременно с моей точки зрения, произвели рабочего процесса. Бедный человек I имел шанс выбрать правильный тип содержимого, ни назначить дату. В то же время, Рабочий процесс не срабатывают, когда я ударил кнопку отправить на этот раз. Есть некоторые встроенной логики, что «считает" что сначала представить, является частью "создать" события. Таким образом … выпустил мой рабочий и когда он выполнен, Он был принят мета данных значения по умолчанию.

Лучшие работы вокруг я знаю, это чтобы вставить паузу"до" действия рабочего процесса. У меня есть пауза рабочего процесса для 1 минута. Хотя это приостановка, Я выбрать правильный тип содержимого, Введите мета-данных и представить. Завершения паузы и рабочий процесс переходит при необходимости. (Обратите внимание, что в моей среде, таймера рабочего процесса деятельности от SPD не работает из коробки. Вы можете иметь те же проблемы. См. Здесь для получения более подробной информации).

Я не люблю "Волшебный задержки" работа вокруг. Что произойдет, если пользователь загружает документ и телефон колец и последовавшего разговора выдержит паузу? Я могу делать паузы дольше, но я до сих пор не нравится.

Я написал об этом на форумах MSDN: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Грунт основные элементы безопасности SharePoint / Избежать распространенных ошибок

ОБНОВЛЕНИЕ 12/18/07: Пол Liebrand в статье некоторые технические последствия удаления или изменения параметров по умолчанию имена групп (а увидеть его комментарий ниже).

Обзор:

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

Важное примечание:

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

Основы:

Для целей настоящего обзора, Существует четыре основных аспекта безопасности: пользователи/группы, защищаемые объекты, уровни разрешений и наследование.

Пользователи и группы перерыв вплоть до:

  • Индивидуальные пользователи: Извлечено из активного каталога или созданные непосредственно в SharePoint.
  • Группы: Непосредственно подключенные из active directory или созданный в SharePoint. Группы представляют собой коллекцию пользователей. Группы являются глобальными в семействе сайтов. Они никогда не «привязаны" для конкретного защищаемого объекта.

Защищаемые объекты перерыв вплоть до по крайней мере:

  • Сайты
  • Библиотеки документов
  • Отдельные элементы в списках и библиотеках документов
  • Папки
  • Различные параметры резервного контроллера домена.

Там другие защищаемые объекты, но вы получаете изображение.

Уровни разрешений: Комплект гранулированном / низкий уровень доступа права, которые включают такие вещи, как создание, чтение и удаление записей в списках.

Наследование: По умолчанию сущности наследуют параметры безопасности от их содержащего объекта. Дочерние сайты наследуют разрешения от их родительского. Библиотеки документов наследуют от своего сайта. И так далее.

Пользователи и группы связаны с защищаемыми объектами через уровни разрешений и наследование.

Наиболее важные правила безопасности для понимания, Всегда 🙂 :

  1. Группы — это просто наборы пользователей.
  2. Группы являются глобальными семейства узлов (т.е.. нет такого понятия, как группы, определенные на уровне узла).
  3. Имя группы не выдержать, группы не, в и себе, у любой конкретный уровень безопасности.
  4. Группы имеют безопасности в контексте конкретного защищаемого объекта.
  5. Может назначить различные уровни разрешений для той же группы для каждого защищаемого объекта.
  6. Политики веб-приложений перекрывают все это (Смотрите ниже).

Потерян в море списки пользователей и групп администраторов безопасности могут всегда полагаться на эти аксиомы управлять и понять их конфигурации безопасности.

Наиболее распространенные ошибки:

  • Имена групп ошибочно подразумевают разрешение: Из коробки, SharePoint определяет набор групп, имена которых подразумевает присущие уровень безопасности. Рассмотрим группу «Участник». Знакомы с SharePoint безопасности можно также взглянуть на это имя и предположить, что любой член этой группы может «содействовать" для любого сайта/списка/библиотеки на портале. Это может быть правдой, но не потому, что имя группы бывает «участник». Это только справедливо из коробки, потому что группа предоставила уровень разрешений, который позволяет добавлять/редактировать/удалять содержимое на корневом сайте. Через наследование, Авторы"" Группа может также добавлять/редактировать/удалять содержимое в каждый раздел сайта. Один можно «перерыв" цепи наследования и изменить уровень разрешений разделом такие что члены так называемой "Contributor" Группа не может вносить на всех, но только читать (Например). Это не будет хорошей идеей, Очевидно, что, Поскольку было бы весьма запутанной.
  • Группы не определены на уровне узла. Это легко спутать с помощью пользовательского интерфейса. Корпорация Майкрософт предоставляет удобную ссылку на пользователя/группы управления через каждый сайт «люди и группы" ссылка. Это легко поверить, что когда я на сайте «xyzzy" и создать группу через xyzzy людей и групп связи, которые я только что создал группу, которая существует только в xyzzy. Это не так. Я на самом деле создал группу для всего семейства сайтов.
  • Членство в группах не отличалась сайт (т.е.. Это тот же везде, где используется группа): Учитывать группу "владелец" и два, "HR" и «Логистика». Было бы нормальным, чтобы думать, что два отдельных лиц будет собственный эти сайты — HR-владелец и логистика. Пользовательский интерфейс делает его легким для администратору безопасности ни этот сценарий. Если я не знаю лучше, Я могут получить доступ к людям и группам ссылки через сайт HR, Выберите владельцев"" группы и добавить мой HR владельца в этой группе. Спустя месяц, Логистика приходит на линии. Получить доступ к людям и группам с сайта логистики, Добавьте вырывать владельцев"" Группа. Я вижу владелец HR и удалите ее, думая, что я удалить ее от владельцев на сайте логистики. На самом деле, Я удаление ее из глобальной группы владельцев. Веселье вытекает.
  • Не имя группы на основе конкретной роли: «Утверждающих" Группа является прекрасным примером. Что можно членов этой группы утвердить? Где они могут утвердить его? Я действительно хочу отдел логистики людей, чтобы иметь возможность утверждать документы HR? Конечно, не. Всегда имя группы на основе их роли в рамках Организации. Это позволит снизить риск, что группе назначается уровень неуместным разрешений для определенного защищаемого объекта. Имя группы на основании их предполагаемой роли. В предыдущем сценарии HR/логистика, Я должен создал две новые группы: «HR владельцы" и "Логистика" и назначать уровни разумно разрешений для каждого и минимальная сумма, необходимая для тех пользователей, выполнять свою работу.

Другие полезные ссылки:

Если вы сделали это далеко:

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

Бирки Technorati:

Быстро и легко: Создайте веб-часть представления данных (DVWP)

Существует множество полезной информации о WSS 3.0 Веб-часть представления данных (DVWP) в Интернете от нескольких источников. Однако, Я нашел это будет удивительно трудно найти информацию на этот первый шаг очень основные. Вот еще одна статья в «быстро и легко" Серия для решения этой проблемы.

Выполните указанные ниже действия для создания веб-части представления данных (DVWP). Они основаны на «объявления" веб-часть, но применяются для большинства списков.

  1. Создание веб-части извещения и добавить его на сайт.
  2. Откройте сайт в SharePoint Designer.
  3. Откройте узел default.aspx.
  4. Выберите веб-части объявлений и щелкните правой кнопкой мыши.
  5. Из контекстного меню, Выберите "преобразовать в XSLT представление данных".

SharePoint Designer уведомляет вас, что этот сайт теперь настраивается от его определения сайта. Это не обязательно плохо, Однако есть важные последствия (производительность, Обновление, другие) которые являются выходит за рамки этого мало "быстро и легко" вход. Чтобы получить больше информации по этой теме, Я рекомендую обе книги Здесь как ваш любимый поиска в Интернете.

Подтвердите, что вы сделали это правильно:

  1. Закройте и снова откройте веб-браузер (чтобы избежать случайного повторного размещения оригинальные «добавить новую веб-часть»).
  2. Выберите веб-часть со стрелкой вниз и выберите команду "изменить общую веб-часть" из меню.
  3. Справа откроется панель инструментов.
  4. В это группа отличается от обычных параметров set:
изображение

“Не удается получить свойства столбца схемы списка из списка SharePoint” — Описание/work-arounds

На этой неделе, Мы наконец воспроизведены проблема, было зарегистрировано удаленным пользователем: Когда она попыталась экспортировать содержимое списка в excel, кажется, что вещи будут начать работать, но затем Excel будет всплывающее сообщение об ошибке: «Не удается получить свойство столбца схемы списка из списка SharePoint». Она работает отделение 2003, Windows XP и подключение к Мосс.

Я искал Интернет и увидел предположение, но ничего не 100% окончательное. Поэтому, Этот пост.

Проблема: Экспорт представления в excel, содержащая дату (Дата = тип данных столбца).

То, что работает для нас: Преобразование даты в «однострочный текст». Затем, преобразовать его обратно в дату.

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

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

Другие ссылки:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<конец>

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

Бирки Technorati: ,

Быстрый и простой: Отправить письмо с встроенных гиперссылок из рабочего процесса SharePoint Designer

Один или два раза в месяц, кто-то должности на форуме вопрос: «Как включить гиперссылки для URL-адреса, которые являются интерактивными с SharePoint Designer электронной почты?"

Представлен без дальнейших комментариев: (хорошо, на самом деле есть дальнейшие комментарии после изображения):

изображение

Бекки Isserman следит за полезные разъяснения о том, как вставлять ссылку на элемент в электронной почте: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Новый релиз: Расширения рабочих процессов SharePoint Designer (функции обработки строк)

ОБНОВЛЕНИЕ: Смотрите здесь для мои мысли о коммерциализации этого проекта: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Я был занят работает на моем проекте Codeplex, который в настоящее время сосредоточена на предоставлении строка манипуляции расширений для рабочих процессов, созданных через SharePoint Designer.

Смотрите здесь для деталей:

Главная страница проекта: http://www.codeplex.com/spdwfextensions

Релиз: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Версия 1.0 включает следующие новые возможности:

Функция Описание (Если это не то же, что.Чистая функция)
Num записей() Возвращает номер записи"" в строке в соответствии с заданным разделителем.

Например: Num записи в строке ",b,c" с разделителем"," = 3.

Вход() Возвращает токен n-в строке в соответствии с заданным разделителем.
Длина String.Length
Заменить() String.Replace()
Содержит() String.Contains()
Возвращает слово "истина" или слово «ЛОЖЬ».
Подстрока(начало) String.Substring(начало)
Подстрока(начало,Длина) String.Substring(начало,Длина)
ToUpper() String.ToUpper()
Метод ToLower() String.ToLower()
StartsWith() String.startsWith()
Возвращает слово "истина" или слово «ЛОЖЬ».
EndsWith() String.endsWith()
Возвращает слово "истина" или слово «ЛОЖЬ».

Ошибка выполнения BDC пояснил

Я вызвал BDC ошибку на этой неделе, которая проявилась на интерфейсе пользователя и в 12 Журнал куст во время выполнения.

Первый, Это появилась в пользовательском интерфейсе:

Не удалось найти поля для вставки всех значений идентификаторов, необходимых для правильного выполнения SpecificFinder MethodInstance с именем … Убедиться, что входные параметры у TypeDescriptors, связанный с каждой идентификатором, определенный для этой сущности.

Вот снимок экрана:

clip_image001

Я также могла бы вызвать появление этого сообщения в 12 Журнал куст у будет (используя мой запатентованной high-tech-don't-try-this-at-home "таинственный ошибки" метод):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C бизнес-данных SharePoint Portal Server 6q4x высокой исключение в BusinessDataWebPart.OnPreRender: System.InvalidOperationException: Значение идентификатора ”, типа ”, Недопустимый. Ожидаемое значение идентификатора типа «System.String». на Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Объект[] subIdentifierValues, LobSystemInstance lobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Сущность сущности, Объект[] userValues, LobSystemInstance lobSystemInstance) на Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Просмотр desiredView) на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() на Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Я искал вокруг и нашел несколько версий в Форум MSDN, но они не были достаточно для меня понять, что я делаю неправильно. Я смотрел трансляции Тед Пэттисон Это моя Компания от squirreled на сервере и пришел реализовать мою проблему.

В моем ADF, Я подключение к базе данных SQL, как показано:

            <Свойства Имя="RdbCommandText" Тип="System.String">
              <![CDATA[
                ВЫБОР МЕТОДА SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      СТРАНА, АДРЕС1, АДРЕС2, ADDRESS3, ADDRESS4, ГОРОД, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      УЕЗД, ГОСУДАРСТВО, ПОЧТОВЫЕ, GEO_CODE, IN_CITY_LIMIT, КАРТОЧКЕ, ТЕЛЕФОН, РАСШИРЕНИЕ, ФАКС, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG от dbo.PS_CARRIER_ID_VW с (NOLOCK)
                ГДЕ
                  (МЕТОДА SETID <> «ДОЛЯ») и
                  (Нижняя(CARRIER_ID) >= Нижняя(@MinId)) и
                  (Нижняя(CARRIER_ID) <= Нижняя(@ MaxId)) и
                  (Нижняя(DESCR) КАК ниже(@InputDescr))
                ]]>
            </Свойства>

Я была предоставлена что SQL DBA лица и я дал понять, что это специальные вид, что они созданы только для меня. Уникальный ключ есть — CARRIER_ID.

Вот ошибка, которую я представил:

      <Идентификаторы>
        <Идентификатор Имя="CARRIER_ID" TypeName="System.String" />
        <Идентификатор Имя="DESCR" TypeName="System.String" /> 
</Идентификаторы>

Где-то вдоль линии, Мне удалось запутать себя за смысл <Идентификаторы> и добавил DESCR, хотя это не на самом деле идентификатор. Я взял DESCR из набора идентификаторов и presto! Он работал.

Я надеюсь, что это спасает кого-то какое-то горе 🙂

Бирки Technorati: , , ,