Месечне архиве: Јануар 2008

Због тога ја не волим Коришћење алатке Даи Зеро

http://groups.google.com/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/41e8cbe4f15e8b4c/76506ea401403e35?#76506ea401403e35

Ако алатка ради ствари које не разумеју и онда не успе у кораку н од непознатог броја корака, ти си мртав у води…

</крај>

Тецхнорати Тагс:

Решење за БДД АДФ Увоз неуспех: “Следеће грешке:”

I was once again crafting BDC ADF files by hand (so that I can build up my "get off my lawn!" cred) and hit this lovely error:

слика

"Application definition import failed. Следеће грешке:"

Као што можете видети, there’s an error, али … it’s not going to tell me what it is.

У мом случају, the issue turned out that I had started off with a functional ADF for a different project that connected to a database and executed a SQL query against a view. In this new project, I am calling a method on a web service. I had stripped out the DB specific stuff and added my web service stuff, but failed to update the <ЛобСистем>’s Type attribute. I switched it to "WebService" and I happily moved on to newer and more exciting import errors, which were handled in due course.

Here is the wrong LobSystem:

<ЛобСистем
КСМЛнс:xsi=хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце
кси:schemaLocation=хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталогBDCMetadata.xsd
Type="Database"
Version="1.0.0.0" Name="xyzzy"
xmlns="
хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог">

This is correct:

<ЛобСистем
КСМЛнс:xsi=хттп://ввв.в3.орг/2001/КСМЛСцхема-инстанце
кси:schemaLocation=хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталогBDCMetadata.xsd
Type="WebService"
Version="1.0.0.0" Name="xyzzy"
xmlns="
хттп://сцхемас.мицрософт.цом/оффице/2006/03/БусинессДатаЦаталог">

</крај>

Тецхнорати Тагс:

БДЦ Изгледа одрживу замену за Лоокупс

УПДАТЕ: Ово постављање МСДН има неке занимљиве опсервације из јкј на основу његове, углавном негативан, Искуства иде овим путем: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

We have a business scenario where we need to link two documents libraries via a common "document ID" поље.

We often use a lookup column to implements links like this. There are several drawbacks to lookup columns, од којих су три:

  1. Only one column from the lookup lookup library can be linked.
  2. Перформансе: The source library could contain hundreds of entries. That’s too many entries in the lookup.
  3. Претражи: There is no integrated search. I don’t mean in the MOSS sense of search, али не постоји начин да се тражи / филтрирали по више колона библиотеке из изворног документа и пронађите линк који желите.

Подржан од стране БДД, we can use a "business data" column type and it provides a superior search and even allows multiple columns of data to appear in list views.

Имао сам неке прелиминарне успеха са овим приступом и планирају да пишу више о томе.

Ако сте радили овај угао и пре било каквих коментара, Молимо вас да поделите!

</крај>

Тецхнорати Тагс:

Решење за БДД Грешка Увоз: “Није могуће учитати Тип описао ТипеНаме ТипеДесцриптор је …”

Радио сам са БДД данас, coding ADF files by hand and generating myself some errors. One such error:

Примена дефиниција увоз није успео. Следеће грешке: Није могуће учитати Тип описао ТипеНаме ТипеДесцриптор је. Параметар име: ТипеНаме Дошло је до грешке у или непосредно пре Лине: '35’ и позиција: ’20’.

МОСС приказује ову грешку кад сам покушао да увезете АДФ КСМЛ датотеку.

Сам истраживао интернетс и открио да сам био референцирање Лоб инстанце име (из <ЛобСистемИнстанце>) у мом <ТипеДесцриптор> чвор, када је требало да упућује лобира само име (из <ЛобСистем>).

Погрешно:

<TypeDescriptor TypeName="Conchango.KeyValue, ЛОБ Инстанције Име" Name="KeyValue">

Исправите:

<TypeDescriptor TypeName="Conchango.KeyValue, ЛОБ Име" Name="KeyValue">

Надам се да ово неко штеди сат-два времена.

</крај>

Претплатите се на мој блог!

Тецхнорати Тагс:

Решење за проблем: “ФилеНотФоундЕкцептион” Витх Ми Феатуре Рецеивер.

I was working on a feature last week that would add some event receivers to a specific list instance. (Ја блог мало о том списку пријемник овде).

Коришћење командне линије, Могу да инсталирате функцију без грешке (али види доле за скривене грешке). When I tried to deploy the feature on the site, MOSS complained of a "FileNotFoundException" грешка. This blog entry describes how I solved it.

То је грешка која Мос ми је показао у веб претраживачу:

Feature ‘b2cb42e3-4f0a-4380-aaba-1ef9cd526f20’ could not be installed because the loading of event receiver assembly "xyzzyFeatureReceiver_0" није успело: Систем.ИО.ФилеНотФоундЕкцептион: Could not load file or assembly ‘xyzzyFeatureReceiver_0’ или један од његових зависности. Систем не може да пронађе наведену датотеку.
Филе наме: ‘xyzzyFeatureReceiver_0’
at System.Reflection.Assembly.nLoad(АссемблиНаме филеНаме, Стринг цодебасе, Докази ассемблиСецурити, Скупштина лоцатионХинт, СтацкЦравлМарк& стек земљишта, Булова тхровОнФилеНотФоунд, Булова форИнтроспецтион)
at System.Reflection.Assembly.InternalLoad(АссемблиНаме ассемблиРеф, Докази ассемблиСецурити, СтацкЦравлМарк& стек земљишта, Булова форИнтроспецтион)
at System.Reflection.Assembly.InternalLoad(Стринг ассемблиСтринг, Докази ассемблиСецурити, СтацкЦравлМарк& стек земљишта, Булова форИнтроспецтион)
at System.Reflection.Assembly.Load(Стринг ассемблиСтринг)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
ВРН: Скупштина обавезујућа је евидентирање искључен.
Да би омогућили склапање бинд евидентирање неуспех, подесите вредност регистратора [ХКЦУ Софтваре Мицрософт Фусион!ЕнаблеЛог] (ДВОРД) на 1.
Приметити: Постоје неки перформанс казна повезана са скупштине везују сече отказа.
Да бисте искључили ову функцију, уклоните вредност регистратора [ХКЦУ Софтваре Мицрософт Фусион!ЕнаблеЛог].

Решавање проблема са Виндовс СхареПоинт Сервицес.

Знам како да намерно изазове ту грешку: don’t install the assembly in the GAC. Али, it was in the GAC. I normally install assemblies into the GAC by dragging them into the c:\windows\assembly folder using windows explorer. I’ve never felt 100% удобно да ради, јер сам увек мислила да је постојао гацутил разлогом … so I tried that. It made no difference.

Претражио сам интернетс и нашао овај пост: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Постер десило да се користи исти корен део кода (Од унутра ВСС књиге са ове листе) so that was a hopeful sign. Међутим, Предлог украшавање скупштине са [монтажа: ] directive didn’t make sense to me. I tried it anyway and I was right. It made no difference.

Then I noticed that my class definition was not public. I made it public and that made no difference.

Следећи, I went to the trouble of enabling the "assembly bind failure log" (након корисне и тачне упутствима) and this is where things started to get interesting. That log shows me that the runtime is searching everywhere on that server for my assembly. It even appears to be searching for it in my medicine cabinet. Али … неће га потражите у ГАЦ.

I put on my winter jacket and go searching the Internets again and find that someone has had this problem too. The lengthy discussion in that posting peters off into nothing and I can’t find a solution.

I move my assembly into one of the places the log claims it’s searching and I make a little more progress. I’m rewarded with a new error in the browser when I try to activate the feature:

Failed to create feature receiver object from assembly "xyzzyFeatureReceiver_0", type "Conchango.xyzzyFeatureReceiver" за функцију б2цб42е3-4ф0а-4380-Ааба-1еф9цд526ф20: Систем.АргументНуллЕкцептион: Вредност не може бити нула.
Параметар име: тип
at System.Activator.CreateInstance(Тип, Булова нејавне)
at System.Activator.CreateInstance(Тип)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Решавање проблема са Виндовс СхареПоинт Сервицес.

Време је за последњи пут на интернетс!

Овај пут сам сазнао, предвидиво довољно, that MOSS issues this error because the assembly is not in GAC.

Ја желим да се нешто позитивно из ове и покушајте да осетите мало похвалити да сам направио Бегунац од МСИЛ склопова, but it’s not working. I’m just plain annoyed. I find myself muttering "chicken or the egg" под мој дах.

I finally decide to punt. I create an entirely new project and copy/paste the code from the incredible-cloaked-from-the-GAC-assembly non-working project over to this new project. (I look for a build flag called something like "hide from assembly binding if installed in the GAC" али не могу наћи).

Ја инсталирате функцију и активирати га и … ради! Тако, после свега што, I had to basically ‘reboot’ my project. То је још један разлог зашто мрзим рачунаре.

I did learn something useful from this. I had been installing features using the stsadm command line all day long and been using the "-force" option out of habit. For some reason, I did not use the -force option when I installed the new project. Овај пут, Ја сам заправо урадио, truly forget to copy this new project’s assembly into the GAC. Као резултат тога, I received that "FielNotFoundException" грешка. Овај пут, Добио сам је од стсадм, not when I tried to activate the feature via the web browser. Тако, -force actually plays two roles. It allows you to re-install an existing feature. It also allows you to install a buggy feature that cannot work at runtime by suppressing the error. It probably says as much in the help somewhere but I never noticed it.

</крај>

Недеља смешно: Топ 10 Начини да изнервира своју жену

  1. Купите броколи када знате већ има више него довољно у фрижидеру.
  2. Go for a run. Cool off. Take off clean pillow case and replace with T-shirt. Cover with clean pillow case.
  3. Када возите, питају да ли треба да идемо у погрешном правцу доле једносмерној улици.
  4. За 15 године, сваке недеље да жена сугерише иде у музеј, Екпресс изненађење да музеји су отворени на недељу.
  5. За 15 године, occasionally suggest going to the local book store on Sunday. Express surprise that they are not open on Sunday’s (хвала пуно Блуе Закони!).
  6. Коришћење 20 указује да се ураде 3 point turn.
  7. На хладном поподнева почетком јесени, walk into the room and turn on the A/C. Complain that it’s cold. When wife says, "then why did you turn that on, глуп" и устаје да га искључите, grab the warm spot she had on the couch. Bonus points if she does not realize you did it until much later.
  8. Отворите конзерву беле дугорепка укусног туна и једу га директно из конзерве, у кревету, ноћу.
  9. Иди у кухињу, а жена се једе вечеру, отвори фиоку есцајг и гурајте прибор док око супруге крике, "what are you looking for!"
  10. На пријему нових пословних картица, тајно ставите их све по кући: Испод кревета, у јастук случајевима, унутар шоље за кафу, у ташни, у џеповима капута, ауто глове коморе, шпајз — anywhere you can think of.
  11. Напиши Блог о својој жени.
  12. Пробудити.
  13. Када хода улицама Њујорка, be on the alert for "crusty" objects on the ground. Имајући у виду посебне ваше супруге страхове, до доле као да се један покупи се и питајте, "hmm, Питам се шта је то?" (Be prepared for wife to body slam you as if she’s a secret service agent protecting the President from a sniper or you’ll find yourself laying on your back on the sidewalk).
  14. Drive twice around a parking lot looking for space. You know you’ve really hit pay dirt when your son in the back seat yells, "Oh no! He’s doing it поново!"
  15. Write "top 10" lists that don’t have 10 ставке.

===

Bonus wife joke:

Two male co-workers go out to lunch. One of them tells the other, "I let loose an embarrassing Freudian slip the other night."

"A Freudian slip? What’s that?"

"Well, when we finished eating, the waitress came by and asked how we liked our meals. I meant say, ‘I loved the chicken breast’ but instead I said ‘I loved your breasts’. I was so embarrassed."

"Ah," his co-worker replied. "I had the same thing happen to me this weekend with my wife. We were eating breakfast I meant to ask her to pass the butter, but instead I screamed at her, ‘You ruined my life!’"

</крај>

Тецхнорати Тагс:

ИД догађаја 1023: “Виндовс не може да учита прошириви Бројач МССЦНТРС ДЛЛ”

УПДАТЕ (04/08/08): I seem to have solved this problem. From the command line, I ran "c:\виндовс систем32 лодцтр / Р" године по уласку говори о проблемима и ИнсталлСхиелд који изгледа да су решили да за мене.

Приметио сам да у последње време, my desktop/server fan never turns off. I know it used to turn off. I took a moment to check it out noticed that the a VMware process was running a consistent 20% utilization on one of the CPU’s. I checked the event log and saw these errors in the application log happening dozens of times per minute:

Виндовс не може да учита прошириви цоунтер УГатхерер ДЛЛ, Први ДВОРД података у одељку Виндовс је код грешке.

Виндовс не може да учита прошириви цоунтер УГТХРСВЦ ДЛЛ, Први ДВОРД података у одељку Виндовс је код грешке.

Виндовс не може да учита прошириви Бројач МССЦНТРС ДЛЛ, Први ДВОРД података у одељку Виндовс је код грешке.

Ако сам бушилица у детаље једне од тих порука, Ја ово:

Извор: Перфлиб

Тип: Грешка

Категорија: Ниједан

ИД догађаја 1023

I did some research and there was some indication it could be a permission problem in terms of access to the DLLs in question. I played around with that stuff but could not affect things in a positive way so I gave up on that.

ВМваре су ме закерање о вршењу исправку за дуже време, па сам записао верзију сам инсталирао (apparently "1.0.1 build 29996") and did the update. This upgraded me to v1.04. Нажалост, није решила проблем.

I can stop the insane number of messages going to my application log if I shut down a service named "VMware Authorization Service". This prevents me from using the VMware software, тако … not such a great option.

Домаћин оперативни систем Виндовс КСП 64 бит.

Ја не мислим да је то увек било, али ја се не сећам да је неки посебан догађај можда довело до тога.

Зато мрзим рачунаре.

</крај>

Тецхнорати Тагс:

Брз & Лако: Преименовање отпремљене датотеке Коришћење СхареПоинт Објецт Модел преко Евент Рецеивер

УПДАТЕ: This works but there are significant limitations which are described in the comments. This may still be useful in some cirumstances.

УПДАТЕ 2: У мом тренутном пројекту, users always upload documents. Као резултат тога, I don’t run into a problem where MS Word is running and thinks that the file was renamed on it. I did run into a problem, "the file was modified by someone else" and solved this via a simple semaphore type flag. Users need to change a meta data field from its default value to something else. The itemupdated() пријемник тражи важећу вредност пре него што се заправо обавља преименовати и од тада, I have not had any problems. Your mileage may vary.

I have a client requirement to change the name of files uploaded to a specific document library to conform with a particular naming convention. The API does not provide a "rename()" метод. Уместо тога, користимо "MoveTo(…)". Here is a minimal bit of code to accomplish this:

 јавност заменити воид ИтемАддед(СПИтемЕвентПропертиес Некретнине)
        {
            СПФиле ф = пропертиес.ЛистИтем.Филе;

            ф.МовеТо(пропертиес.ЛистИтем.ПарентЛист.РоотФолдер.Урл + "/xyzzy.doc");
            ф.Упдате();

        }

The only tricky bit is the "properties.ListItem.ParentList.RootFolder.Url". The MoveTo() method requires a URL. That mashed up string points me to the root folder of my current document library. This allows me to avoid any hard coding in my event receiver.

То је више користан верзија која ради исту ствар, but assigns the name of the file to "Title":

 јавност заменити воид ИтемАддед(СПИтемЕвентПропертиес Некретнине)
        {
            ДисаблеЕвентФиринг();

            // Додели наслов ове ставке на име фајла самог.
 // НАПОМЕНА: Овај задатак се мора одвијати пре него што измените саму датотеку.
 // Позивање упдате() на СПФиле изгледа да поништи својства у
 // неки смисао.  Updates to "Title" није до те промене (и ажурирање() позвати)
 // су се преселили испред промена имена датотеке.
            пропертиес.ЛистИтем["Title"] = Пропертиес.ЛистИтем.Филе.Наме;

            пропертиес.ЛистИтем.Упдате();

            СПФиле ф = пропертиес.ЛистИтем.Филе;

            // Набавите продужење датотеке.  Треба да се касније.
 ниска спфилеЕкт = нови Филе Инфо(ф.Наме).Продужетак;

            // Преименујте датотеку ИД ставке листе и употребите екстензију да
 // да део нетакнут.
            ф.МовеТо(пропертиес.ЛистИтем.ПарентЛист.РоотФолдер.Урл +
                "/" + пропертиес.ЛистИтем["ID"] + спфилеЕкт);

            // Цоммит тај потез.
            ф.Упдате();

            ЕнаблеЕвентФиринг();
        }

Форум Дискусија: Примена најбоље праксе у Поштовање нетривијално МОСС средине

Момак, "Mark", has started up a potentially interesting newsgroup discussion focusing on "establishing excellent SharePoint Governance from the start" за 35,000 корисничко окружење.

Дискусија је овде: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Поп овамо и доприносе!

</крај>

Прилагођена УРЛ адреса Акција неће приказивати на Нова функција

I’m still in the habit of crafting my feature XML files by hand since it’s all quite new to me. I don’t want to rely on a front-end tool that does stuff I don’t understand (Он је рекао како је написао један блог унос помоћу алатке које не разуме).

Данас, I was trying to add a custom action to the site settings but it just wouldn’t show up. I could install the feature and see it in the site features, али кад сам га активирао (без грешке) то једноставно не би појавила на падајућем менију.

I finally realized that I misspelled "SharePoint" Локација у атрибуту <ЦустомАцтион> чвор. This is the bad elements.xml file:

<?КСМЛ верзија="1.0" кодирање="УТФ-8" ?>
<Елементи КСМЛнс="хттп://сцхемас.мицрософт.цом / СхареПоинт /">
  <ЦустомАцтион
 Ид="СитеАцтионсТоолбар"
 ГроупИд="СитеАцтионс"
 Локација="Мицрософт.Схарепоинт.СтандардМену"
 Секвенца="100"
 Наслов="Здраво!"
 Опис="Прилагођено Мени Акција додао преко функције."
 УРЛ слике="_лаиоутс / имагес / менупрофиле.гиф">

    <УрлАцтион Сајт="хттп://ввв.киззи.цом"/>

  </ЦустомАцтион>
</Елементи>

Добар:

<?КСМЛ верзија="1.0" кодирање="УТФ-8" ?>
<Елементи КСМЛнс="хттп://сцхемас.мицрософт.цом / СхареПоинт /">
  <ЦустомАцтион
 Ид="СитеАцтионсТоолБар"
 ГроупИд="СитеАцтионс"
 Локација="Мицрософт.СхареПоинт.СтандардМену"
 Секвенца="100"
 Наслов="Здраво!"
 Опис="Прилагођено Мени Акција додао преко функције."
    >
    <УрлАцтион Сајт="хттп://ввв.киззи.цом"/>
  </ЦустомАцтион>
</Елементи>

That one took me a good two hours to figure out 🙂

Ја утеху у чињеници да ће једног дана у будућности, Ја ћу бити у стању да каже са уверењем, "back in the day, Морао сам да ходам три миље до брда у снегу (бос!) in order to deploy a custom feature to MOSS. You kids, Ви не знате како је лако да га! Get off my lawn!"

Не може да чека.

</крај>

Тецхнорати Тагс: ,