месечни архиви: Ноември 2007

Мос казва ми моята колона име е запазено или в употреба … Но това не е

АКТУАЛИЗИРАНЕ 12/04/07: Вижте този Microsoft KB (http://support.microsoft.com/kb/923589) за Сродна информация.

Всъщност, Оказва се, че е, Но капризен Мос е трябвало да направи трудно.

Моят клиент ли някои развитие работа на сайта му Мос през уикенда. Това е малко на неуредица относно това, което той всъщност е, но крайният резултат е това:

  • Той се опитва да добавите колона за сайт, наречен "количество" и Мос отговори: "Името на колоната, което въведохте вече се използва или запазени. Изберете друго име."
  • Той се опитва да го добавите към друга среда и че работи. Следователно, "Количество" не е запазено име.
  • Той се опитва да намери съществуваща колона на сайт, наречен "количество" в тази колекция от сайтове. Той не може да го намерите.

Направих някои научни изследвания, и дори някои кодиране, кола маска философски и накрая, че че колона, наименувана количество, Всъщност, съществуват. Тя е в "_Скрити" Група. Следователно, Ние не може да го намерите чрез потребителския интерфейс на SharePoint.

Как се там? Не знам, но имам една теория (или както жена ми ще го наричат, "бла бла бла"). Някъде по линията, а страхотна четиридесет шаблон беше добавена и вероятно активира в един сайт в колекцията от сайтове. Това тогава е била деактивирана (или в сайта отстранени). Колона на сайта, Въпреки това, остава но в "_Скрити" Група. Ако някой знае по-добре, Моля да ме уведомите чрез имейл или да публикувате в коментарите.

SharePoint е самата истина. Едва ли си струва да посочва, че това съобщение не е толкова полезно, тъй като тя може да бъде. Би било хубаво да видите това съобщение вилица в две различни съобщения в бъдеще: 1) Казват, че името на колоната е запазен или не е. 2) Ако не е запазен, Показване на сайта, или най-малкото групата, когато вече се използва името на колоната.

</край>

Настоящите OM данни чрез списък по избор (или, Още друг OM данни Displayor [подобно на YACC, но различни])

Днес, Прекарах една шепа часове се проследи основната причина зад съобщение "името на колоната, което въведохте вече се използва или запазени за. Изберете друго име."

Колоната на въпросните може да бъде създаден, изтрита и създадена отново в друга среда, така че аз знаех, че не е запазено име. Въпреки това, Аз просто не можах да намеря колоната навсякъде чрез стандартния потребителски интерфейс на SharePoint във всеки сайт в колекцията от сайтове.

Аз афиш на Тук във форумите на MSDN и несломимия Андрю Удуърд ми посочи в посоката на основните данни за модел на обект.

Отиде в CodePlex за да намерите някои инструменти, които ще ми помогнат връстници в основните OM данни и помощ ми Намерете неприятности.

Аз tried няколко оръдие и те са много готино и интересно, но в крайна сметка, UI не е достатъчно добра за моята цел. Аз не съм ги критикува с всякакви средства, но ясно инструмент-създателите не са ми проблем в ума, когато те създават своите потребителски интерфейс :). Повечето хора изглежда да се инвестира справедлива стойност на време и усилия в създаването на работна станция / клиентски приложения, които осигуряват дърво пъти видяна, Щракнете с десния бутон контекст menus и т.н.. Това са хубаво и всички, но това е много работа, за да създадете най на на ред потребителски опит, който е също много гъвкави.

Аз действително нужда отговор на този проблем. Това ми хрумна, че ако мога да получа всички от колоните на сайта в колекцията от сайтове в списък по избор, Мога да филтрира, сортирате и създавате изгледи, които ще помагам me намирам този предполага съществуваща колона (който го е направил, BTW). Отидох напред и да направи това и един час или два по-късно, имаше колони на моя сайт натоварени в списък по избор с групиране, сортиране и т.н.. Аз намерих отговор пет минути по-късно.

Ако успешно поеме света, Мисля, че ще указ, че всички SharePoint инструменти доставчици трябва сериозно да обмислят настилка им обект модел на данните в списък по избор. По този начин, Имам право за да търсите някоя другото искам (ограничени, Разбира се, от функциите на стандартния sharepoint).

SharePoint Designer поток потребителско действие — Наблюдение за <FieldBind Дизайнер тип =”StringBuilder” … />

Просто бързо наблюдение, че има много важна разлика между тези две дефиниции:

<FieldBind поле = "InParam1" DesignerType = "StringBuilder" ИД = "2" Текст = "Въвеждане параметър # 1" />

срещу:

<FieldBind поле = "InParam1" ИД = "2" Текст = "Въвеждане параметър # 1" />

Първият показва като този в ЕПД:

Изображение

докато последната показва този:

Изображение

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Това ли е наблюдението: StringBuilder ви позволява да създавате на низ (очевидно) чрез смесване низ числа, както и данни на работния поток (чрез "Добавяне търсене" бутона в долния ляв ъгъл). Когато използвате бутона за добавяне на търсене, Вмъква маркер във формуляра"[%маркер %]". Когато SharePoint извиква вашето потребителско действие, (C# код в моя случай), SharePoint минава маркер за самия, не стойността на маркера. Ако използвате дизайнер тип по подразбиране (Вторият тип), SharePoint се разширява маркера и действителната стойност на маркера, преминава към си действие.

StringBuilder = ЛОШО, по подразбиране дизайнер тип = добър.

Разбира се, Това е не това, което наистина искам. Само не се опитвайте и мине параметър към вашето потребителско действие, когато дизайнерът тип = StringBuilder. Използвайте дизайнер типът по подразбиране и верига StringBuilder да го отпред, ако имате нужда да изгради комплекс низове във вашия работен поток (която между другото е точно какво от един да се създаде динамична тема на имейл действие, но това не е предмет на друг блог запис, Хар Хар).

<край />

Активиране на преждевременно поток — Не-медицински разтвор

АКТУАЛИЗИРАНЕ: Виж този MSDN дискусия, особено последния запис: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Той описва състояние, което може да заобиколят цялото това нещо. В кратко, Тя може да бъде толкова просто като поне едно от полетата задължителен.

Имам библиотека с документи, която поддържа осем типове съдържание.

Имам SharePoint Designer поток, който иска да се изчисли и да зададете дата за напомняне "" чрез просто изваждане 30 дни от друга колона, "дата на падеж". Това трябва да се случи само за един от типовете съдържание, "Застраховка". Стопанска цел е да произвежда на KPI, който показва две категории на застрахователни документи: "предстои да изтече" и "изтекъл." (Можете да прочетете повече за този вид на KPI и повече съществена задълбочаване Тук).

Имам конфигуриран работният поток да огън, когато се създаде нов елемент и когато се модифицира елемент. Идеята е, че когато документ за застраховка е качен, Ние изчисляваме "предупреждение дата" въз основа на датата на изтичане. Двойка на мнения работи KPI списък, за да подчертае тези условия, когато потребителите хит си начална страница.

Тази стратегия не работи, когато качване на документ.

Качване на документа и съм представен с екрана за влизане на мета данни. В този момент, Вече съм в беда. SharePoint е вече, преждевременно от моя гледна точка, уволнен работния поток. Не съм имал възможност да изберете правилния тип съдържание, нито присвоите дата на падеж. В същото време, Работният поток не огън, когато се удари бутона Подай в този момент. Има някои вградени логика, че "вярва" Това първо подаване, е част от "създаване" събитие. Така … работата ми е уволнен и кога да се изпълни, Той е предаден мета данни стойности по подразбиране.

Най-добър работа-наоколо аз знам е да вмъкнете "пауза до" дейност в работния поток. Имам поток пауза за 1 минута. Докато тя е пауза, Изберете правилния тип на съдържание, Въведете мета данни и представя. Пауза приключва и работният поток продължава както нужда. (Имайте предвид, че в моята среда, таймер за работен поток дейности от ЕДП не работи от кутията. Може да имате един и същ проблем. Вижте Тук за повече информация).

Не ми харесва "магически закъснение" работа-наоколо. Какво става, ако потребител качени документ и телефонът звъни и последвалия разговор надживява пауза? Може да направите пауза по-дълго, но аз все още не ми харесва.

Аз написах за това в форумите на MSDN тук: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

SharePoint сигурност основи грунд / Се избегне обща клопки

АКТУАЛИЗИРАНЕ 12/18/07: Вижте статията на Пол Liebrand за някои технически последици на премахване или промяна на имена на групи по подразбиране (Виж си коментар по-долу, както и).

Общ преглед:

SharePoint сигурност е лесно да конфигурирате и управлявате. Въпреки това, тя доказа, че е трудно за някои първи път администраторите да наистина увийте ръцете си около нея. Не само, че, Аз съм виждал някои администратори идват до перфектно разбиране в понеделник само да са го загубили от петък, защото те не трябва да правя кой да е очертание в междинния време. (Признавам, да има този проблем себе си). Този блог влизане Надяваме се предоставя полезна SharePoint сигурност грунд и точки към някои конфигурация най-добрите практики за сигурност на.

Важна бележка:

Това описание се базира на кутията SharePoint сигурност. Моят личен опит е ориентирани около Мос, така може да има някои Мос специфични неща тук, но аз вярвам, че е точно за ВиК. Надявам се, че всеки, който вижда грешки или пропуски ще която посочи в коментарите или пишете ми. Ще направя корекции побърза пост.

Основи:

За целите на този преглед, има четири основни аспекти на сигурността: потребители/групи, защитими обекти, нива на разрешение и наследяване.

Потребители и групи прекъсване до:

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

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

  • Сайтове
  • Библиотеки с документи
  • Отделни елементи от списъци и библиотеки с документи
  • Папки
  • Различни BDC настройки.

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

Нива на разрешение: Пакет от гранулиран / ниско ниво на достъп права, които включват неща като създаване/четене/изтриване на записи в списъци.

Наследяване: По подразбиране лица наследяват настройките за защита от техните съдържащи обекти. Подсайтове наследяват разрешения от родителя. Наследяване на библиотеки с документи от сайта им. Така на и така напред.

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

Най-важните правила за сигурност да разберат, Ever 🙂 :

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

Администратори на защита, изгубени в морето от група и потребителски списъци винаги могат да разчитат на тези аксиоми да управляват и разбират тяхната сигурност конфигурация.

Общите клопки:

  • Имената на групите лъжливо предполага разрешение: На кутията, SharePoint дефинира набор от групи, чиито имена означава, присъщи ниво на сигурност. Помислете за групата "Сътрудник". Един непознат с SharePoint сигурност добре може да погледнете това име и предположи, че всеки член на тази група може да "допринесе" към всеки сайт/списък/библиотека в портала. Това може да е вярно, но не защото името на групата се случва да бъде "сътрудник". Това е вярно само на кутията, защото групата е била предоставена на ниво на разрешение, което им дава възможност за добавяне/редактиране/изтриване на съдържанието на главния сайт. Чрез наследяване, "сътрудници" група може също добавяне/редактиране/изтриване на съдържанието на всеки под-сайт. Една може да "счупи" по наследство верига и промените нивото на разрешение на един под-сайт такива че членовете на така наречените "сътрудник" групата не може да съдейства на всички, но само четат (за пример). Това не би било добра идея, очевидно, тъй като това би било много объркващо.
  • Групите не са определени на ниво сайт. Това е лесно да бъдат объркани от потребителския интерфейс. Microsoft снабдявам удобен звено към потребител/група за управление през всеки сайт "хора и групи" връзка. Това е лесно да вярват, че когато съм в сайта "xyzzy" създам група чрез xyzzy на хора и групи връзка, че току-що създадохте група, която съществува само в xyzzy. Това не е така. Всъщност аз създадох група за цялата колекция.
  • Членство в групи не се различава от сайт (т.е.. същото е навсякъде се използва група): Помислете за групата "собственик" и двата обекта, "HR" и "Логистика". Би било нормално да се мисли, че две отделни индивиди ще притежава тези сайтове — HR собственик и собственик на логистиката. Потребителски интерфейс го прави лесен за администратор по сигурността да mishandle този сценарий. Ако не знаете по-добре, Аз може да достъп на хора и групи връзки чрез сайта на HR, изберете "собственици" Група и да добавите ми ВП собственик към тази група. Един месец по-късно, Логистика идва на линия. Аз достъп хора и групи от сайта на логистиката, Добави издърпайте нагоре "собственици" Група. Вижте собственика на HR там и я премахнете, Мисля, че съм я премахване от собствениците на сайта на логистиката. Всъщност, Аз съм я премахване от групата на собствениците на глобалната. Веселие произтича.
  • При липса на име групи въз основа на специфична роля: "Одобряващите" Група е перфектен пример. Какво може членовете на тази група одобрение? Къде може да го одобри? Наистина искам хората Логистичен отдел, за да може да одобрява документи за HR? Не, разбира се. Винаги името групи въз основа на тяхната роля в рамките на организацията. Това ще намали риска, че групата е присвоен на неподходящо разрешение ниво за определен защитим обект. Името групи въз основа на ролята им предназначение. В предходния сценарий HR/логистика, Трябваше да се създаде две нови групи: "HR собственици" и "Логистика собственици" и да присвоите нива на разумното разрешение за всяка и минималната сума, необходима за тези потребители, за да вършат работата си.

Други полезни препратки:

Ако сте го направили това далеч:

Моля да ме мислите си чрез коментари или ми пишете. Ако знаете други добри препратки, Моля, направете същото!

Technorati тагове:

Бърз и лесен: Създаване на уеб компонента за изглед на данни (DVWP)

Има множество от голяма информация за ВиК 3.0 Уеб компонент за изглед на данни (DVWP) в интернет от няколко източника. Въпреки това, Намерих го да бъде изненадващо трудно да намерите информация за тази първа основна стъпка. Ето още една статия в "бързо и лесно" серия за справяне с него.

Следвайте тези стъпки, за да създадете уеб компонент за изглед на данни (DVWP). Те се основават на "съобщения" уеб част, но се отнася за повечето списъци.

  1. Създаване на уеб компонент за съобщения и да го добавите към сайт.
  2. Отворете сайта в SharePoint Designer.
  3. Отваряне на сайта default.aspx.
  4. Изберете уеб частта на съобщения и щракнете с десния бутон.
  5. От контекстното меню, изберете "Конвертиране на XSLТ изгледа с данни".

SharePoint Designer ви уведомява, че този сайт е сега персонализиран от нейната дефиниция на сайт. Това не е непременно лошо, но има важно значение (производителност, надстройка, други) които са извън обхвата на този малък "бърз и лесен" влизане. За да получите повече информация по този въпрос, Аз препоръчвам и двете книги Тук както и вашите любими интернет търсене.

Потвърдете, че сте го направих правилно:

  1. Затворете и отворете отново браузъра (за да се избегне случайно повторно публикуване първоначалното "Добави нов уеб компонент").
  2. Изберете уеб частта на стрелката падащото меню и изберете "промяна на споделен уеб компонент" от менюто.
  3. Инструмент панел се отваря надясно.
  4. Групата на съдебните заседатели е променено от обичайните си Задаване на опции на това:
Изображение

“Не може да получи свойството на схемата колона от списъка на SharePoint” — описание/решения

Тази седмица, ние накрая възпроизвеждат един проблем, който бяха съобщени от отдалечен потребител: Когато тя се опита да експортирате съдържанието на списък в excel, нещата изглежда да започне работа, но тогава Excel ще се появи грешка: "Не може да получи свойството на схемата колона от списъка на SharePoint". Тя тичаше офис 2003, Windows XP и свързване към Мос.

Аз търсили Internets и видях някои спекулации, но нищо 100% окончателни. Следователно, този пост.

Проблемът: Експортиране на изглед в excel, съдържа дата (дата = типа на данните на колоната).

Какво работи за нас: Преобразуване на дата за "един ред на текст". След това, да го конвертирате обратно към дата.

Това го решават. Това е хубаво да се види, че преобразуването работи, Всъщност. Беше доста нервна, че конвертиране нещата по този начин ще се провали, но това не.

Този бъг е хвърлил една огромна сянка върху типа дата данни в съзнанието на клиента, така че ние ще бъде търсенето на окончателен отговор от Microsoft и се надяваме, че ще пост и актуализация тук в следващия кратък период от време си Официален отговор и актуална корекция информация.

Други препратки:

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 включва следните нови функции:

Функция Описание (Ако не същата като .net функция)
NUM-записи() Връща "записите за номера" в низ по указания разделител.

За пример: NUM-записи в низ "_FITTED,б,c" с разделител"," = 3.

Влизане() Връща n-тия знак в низ по указания разделител.
Дължина String.Length
Замени() String.Replace()
Съдържа() String.Contains()
Думата "true се връща" или думата "false".
Подниз(Старт) String.Substring(Старт)
Подниз(Старт,дължина) String.Substring(Старт,дължина)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Думата "true се връща" или думата "false".
EndsWith() String.EndsWith()
Думата "true се връща" или думата "false".

BDC runtime грешка обяснено

Аз предизвиква грешка на BDC тази седмица, който се проявява в потребителския интерфейс и в 12 кошер регистър по време на изпълнение.

Първо, Това се появява в потребителския интерфейс:

Не можа да намери полета за вмъкване на всички стойности на идентификатора, за да се изпълни правилно MethodInstance на SpecificFinder с име … Осигуряване на входните параметри имат TypeDescriptor, асоциирани с всеки идентификатор, дефиниран за този обект.

Тук е параван сачми:

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 форум, но те не са достатъчно за мен да се разбере какво правя грешно. Гледах webcast от Тед Pattison че ми компанията има squirreled на сървър и дойде да осъзнават проблема ми.

В моя ADF, Аз съм свързване към SQL база данни, както е показано:

            <Имоти Име="RdbCommandText" Тип="System.String">
              <![НЕЗАТВОРЕН[
                ИЗБЕРЕТЕ 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, COUNTRY_CODE, ТЕЛЕФОН, РАЗШИРЕНИЕ, ФАКС, 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 на идентификатори набор и престо! Всичко работи.

I hope this saves someone some grief 🙂

Technorati тагове: , , ,