Řešení problému: “FileNotFoundException” S mou funkci přijímače.

Pracoval jsem na funkci minulý týden, který by přidat některé přijímače události k určitému seznamu instance. (Jsem blogged trochu o tento seznam přijímač).

Pomocí příkazového řádku, Mohl nainstalovat funkci se k žádné chybě. (Ale viz níže pro skryté chyby). Když jsem se snažil zavést funkci na webu, MOSS stěžovali na "FileNotFoundException" Chyba. Tato položka blogu popisuje, jak jsem to vyřešil.

To je chyba, že MOSS mi ukázal ve webovém prohlížeči:

Funkce ' b2cb42e3-4f0a-4380m 1ef9cd526f20’ nelze nainstalovat, protože načtení sestavení příjemce události "xyzzyFeatureReceiver_0" se nezdařilo.: System.IO.FileNotFoundException: Nelze načíst soubor nebo sestavení ' xyzzyFeatureReceiver_0’ nebo některý z jeho závislostí. Systém nemůže najít zadaný soubor.
Název souboru: ' xyzzyFeatureReceiver_0’
na System.Reflection.Assembly.nLoad(AssemblyName název_souboru, Řetězec codeBase, Důkaz assemblySecurity, Sestavení locationHint, StackCrawlMark& stackMark, Logické throwOnFileNotFound, Boolean forIntrospection)
na System.Reflection.Assembly.InternalLoad(Odkaz assemblyRef AssemblyName, Důkaz assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
na System.Reflection.Assembly.InternalLoad(AssemblyStringje řetězec, Důkaz assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
na System.Reflection.Assembly.Load(AssemblyStringje řetězec)
na Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Montáž vázání protokolování zapnuto vypnuto.
Chcete-li povolit sestavení vazby selhání protokolování, Nastavte hodnotu registru [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) do 1.
Poznámka:: Existuje nějaké penalizace spojené s shromáždění vazba selhání protokolování.
Chcete-li tuto funkci vypnout, odstranit hodnotu registru [HKLMSoftwareMicrosoftFusion!EnableLog].

Poradce při potížích se službou Windows SharePoint Services.

Já vím, jak se záměrně způsobit tuto chybu: neprovádějte instalaci sestavení v GAC. Ale, bylo to v GAC. Normálně instalovat sestavení do GAC jejich přetažením do c:\windowsassembly složku v Průzkumníku windows. Nikdy jsem se necítil 100% pohodlné, dělají to, protože jsem si vždycky myslel, že gacutil existoval důvod … tak jsem to zkusil. Nic se tím nezměnilo.

Jsem prohledal Internet a našel tento post: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Plakát se stalo používat stejný kořen kousek kódu (z knihy uvnitř WSS z tohoto seznamu) tak to bylo znamením naděje. Avšak, návrh zdobení shromáždění s [montáž: ] směrnice nedávalo smysl ke mně. Já zkusil jsem to a měl jsem pravdu. Nic se tím nezměnilo.

Pak jsem si všiml, že moje definice třídy nebyla veřejné. Udělal jsem to veřejnosti a že nic neměnilo.

Další, Šel jsem na potíže povolení "shromáždění vazba selhání protokolu" (po užitečné a přesné instrukce) a to je, kde to začalo být zajímavé. Tento protokol mi ukazuje, že modul runtime hledá všude na tomto serveru pro mé shromáždění. Dokonce se zdá být hledat v mé lékárničce. Ale … to nebude hledat to v GAC.

Dal jsem na zimní bundu a jít hledat internety znovu a zjistit, že má někdo tento problém příliš. Dlouhé diskuse v tomto zveřejnění peters mimo do nicoty a nemůžu najít řešení.

Přesunout své shromáždění do jednoho z míst, které protokolu tvrdí, je hledání a trochu více pokročit. Jsem odměněn novou chybu v prohlížeči, když se pokusím o aktivaci funkce:

Nepodařilo se vytvořit objekt funkce přijímače ze sestavení "xyzzyFeatureReceiver_0", Typ "Conchango.xyzzyFeatureReceiver" pro funkci b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Hodnota nemůže být null.
Název parametru: Typ
v System.Activator.CreateInstance(Typ, Booleovský nonPublic)
v System.Activator.CreateInstance(Typ)
na Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Poradce při potížích se službou Windows SharePoint Services.

Čas na jednu poslední výlet do internety!

Tentokrát jsem zjistit, natolik předvídatelně, MOSS vydává tuto chybu, protože sestavení není v GAC.

Chci si něco pozitivního z toho a snažte se cítit trochu hrdý, že jsem vytvořil Uprchlík sestavení jazyka MSIL, ale to nefunguje. Já jsem prostě naštvaný. Našel jsem mumlal "slepice nebo vejce" pod mým dechem.

Nakonec se rozhodli punt. Jsem vytvořit zcela nový projekt a kopírovat/vložit kód z incredible-cloaked-from-the-GAC-assembly projektu-pracující nad tento nový projekt. (Dívám se na sestavení vlajka s názvem něco jako "Skrýt od vazby, je-li nainstalován v GAC sestavení" ale nemůžu najít).

Funkci nainstalovat a aktivovat a … to funguje! Tak, po tom všem, Musel jsem v podstatě ' znovuzrození’ Můj projekt. To je další důvod, proč nenávidím počítače.

Zjistil jsem něco užitečného z toho. Už byla instalace funkcí pomocí příkazového řádku stsadm celý den a používali "-síla" možnost ze zvyku. Z nějakého důvodu, Nechtěl jsem použít možnost - force když jsem nainstaloval nový projekt. Tentokrát, Vlastně ano, skutečně zapomněl zkopírovat tento nový projekt sestavení v GAC. Jako výsledek, Dostal jsem ten FielNotFoundException"" Chyba. Tentokrát, Mám to od stsadm, Ne, když jsem se snažil aktivovat funkci přes webový prohlížeč. Tak, -síla skutečně hraje dvě role. Umožňuje znovu nainstalovat existující funkce. To také umožňuje nainstalovat buggy funkci, která nemůže fungovat v době běhu potlačením chybu. Asi tolik v nápovědě někde říká, ale nikdy jsem si nevšiml, že.

</Konec>

Doplněk Technorati značky: ,

Neděle legrační: Nahoru 10 Způsoby, jak obtěžuje vaše žena

  1. Koupit brokolice, když víte, že již existuje více než dost v lednici.
  2. Jít si zaběhat. Osvěžte se. Sundej si čistý polštář a nahradit tričko. Přikryjeme čistou polštář.
  3. Při řízení, Zeptejte se, jestli bychom měli jít špatným směrem dolů v jednosměrné ulici.
  4. Pro 15 roky, každou neděli vás žena navrhuje jít do muzea, Expresní překvapení, že muzea jsou otevřena v neděli.
  5. Pro 15 roky, příležitostně navrhnout jít do místní knihkupectví v neděli. Replikách pozastavují nad tím, že nejsou otevřené na nedělní (Díky Modrá zákony!).
  6. Použití 20 body udělat 3 obrat.
  7. Na chladný podzim poledni, vejít do místnosti a zapnout/c. Si stěžují, že je zima. Když žena říká, "tak proč ho zapnout, hloupé" a dostane jej vypnout, drapák na teplé místo, co měla na gauči. Bonusové body, pokud si ani neuvědomuje, jste to udělal až mnohem později.
  8. Otevřít plechovku tuňáka křídlatého lahodné bílé a jíst přímo z lochu, v posteli, V noci.
  9. Jít do kuchyně, zatímco žena je jíst večeři, otevřít zásuvky s příbory a sekýrovat nádobí až žena křik, "co hledáte!"
  10. Po obdržení nové vizitky, tajně místo kolem domu: Pod postelí, v případech, polštář, uvnitř šálků kávy, v kabelce, v kapsách kabátu, auto rukavic, spíž — kdekoli si lze představit.
  11. Psaní blogu o vaší ženě.
  12. Probuď se.
  13. Při chůzi v ulicích New Yorku, být na stráži "křupavým" objekty na zemi. BEROUCE v úvahu zvláštní obavy vaše žena, dolu jako by se vybrat jednu nahoru a požádat, "hmm, Zajímalo by mě co to je?" (Buďte připraveni na ženu k tělu si bouchnout, jako by je že agent tajné služby, ochranu prezidenta od sniper, nebo si najdete sami sebe, položila na záda na chodníku).
  14. Jednotka dvakrát kolem parkoviště hledá prostor. Víte, že jste opravdu povede když řve, váš syn na zadním sedadle, "Oh ne! On to dělá znovu!"
  15. Napsat "nejlepších 10" seznamy, které nemají 10 položky.

===

Bonusové žena vtip:

Dva mužské spolupracovníky jde na oběd. Jeden z nich říká, ostatní, "Jsem uvolnit trapné freudovské přeřeknutí v noci."

"Freudovské přeřeknutí? Co to je?"

"Dobře, Když jsme dojedli, servírka přišel a zeptal se, jak jsme rádi naše jídla. Chtěl jsem říct, "Milovala jsem kuřecí prsa’ ale místo toho jsem řekl, 'Já jsem miloval vaše prsa'. Byl jsem tak v rozpacích."

"Ah," jeho spolupracovník odpověděl. "Měl jsem to samé se mi stalo tento víkend se svou ženou. Jsme jedli snídani, kterou jsem chtěl požádat ji předat máslo, ale místo toho jsem křičel na ni, ' Jsi mi zničila život!’"

</Konec>

Doplněk Technorati značky:

ID události 1023: “Systém Windows nemůže načíst DLL MSSCNTRS rozšiřitelných čítačů”

AKTUALIZOVAT (04/08/08): Zdá se, že jsem vyřešil tento problém. Z příkazového řádku, Běžel jsem "c:\windowssystem32lodctr /R" podle na položku mluví o InstallShield problémy a že se zdá vyřešil to pro mne.

Všiml jsem si že v poslední době, můj desktop/server ventilátor nikdy nevypíná. Já vím, že to lze vypnout. Vzal jsem si chvilku kontrolovat, to si všiml, že VMware proces byl spuštěn konzistentní 20% využití na jednom z CPU. Zkontrolovat protokol událostí a viděl tyto chyby v protokolu aplikace děje mnohokrát za minutu:

Systém Windows nemůže načíst rozšiřitelného čítače DLL UGatherer, kód chyby systému Windows je v první hodnotě DWORD v datové oblasti.

Systém Windows nemůže načíst rozšiřitelného čítače DLL UGTHRSVC, kód chyby systému Windows je v první hodnotě DWORD v datové oblasti.

Systém Windows nemůže načíst DLL MSSCNTRS rozšiřitelných čítačů, kód chyby systému Windows je v první hodnotě DWORD v datové oblasti.

Pokud jsem k podrobnostem podrobnosti o jeden z těch zpráv, Já si to:

Zdroj: Oddílu Perflib

Typ: Chyba

Kategorie: Žádný

ID události 1023

Udělal jsem nějaký výzkum a tam byl nějaký údaj, že by mohl být problém oprávnění pro přístup do knihovny DLL. Hrál si s tím ale nemohl ovlivnit věci v pozitivním způsobem, tak jsem to vzdala.

VMware se neodbytná o provedení aktualizace pro docela nějaký čas, tak jsem si zapsal na verzi nainstaloval (zřejmě "1.0.1 build 29996") a aktualizaci. To mě Upgradoval na v1.04. Bohužel, nevyřešila problém.

Můžete zastavit šílený počet zpráv bude mé žádosti protokolu, pokud jsem vypnul službu s názvem "VMware Authorization Service". To mi brání používat VMware software, Takže … není tak skvělá volba.

Hostitelský operační systém je Windows XP 64 bit.

Nemyslím si, že to se vždycky stalo, ale nepamatuju si žádné konkrétní událost, která by mohly vést k němu.

Proto nesnáším počítače.

</Konec>

Doplněk Technorati značky:

Rychlé & Snadné: Přejmenovat uploadovaný soubor pomocí SharePoint objektový Model prostřednictvím přijímače události

AKTUALIZOVAT: To funguje, ale existují značné omezení, které jsou popsány v komentářích. Ještě to může být užitečné v některých okolností.

AKTUALIZOVAT 2: V aktuálním projektu, uživatelé vždy uložit dokumenty. Jako výsledek, Nechci běžet na problém kde MS Word je spuštěn a si myslí, že soubor byl přejmenován na něm. Já jsem běžet do problému, "byl soubor změněn jiným uživatelem" a to prostřednictvím jednoduchého semaforu typ příznaku. Uživatelé musí změnit meta datové pole výchozí hodnotu na něco jiného. Itemupdated() přijímač vyhledá platnou hodnotu před jeho skutečným provedením přejmenování a od té doby, Jsem neměl žádné problémy. Váš se může lišit.

Mám požadavek klienta ke změně názvu souborů ukládaných do určité knihovny dokumentů v souladu s konkrétní konvence pojmenování. API neposkytuje přejmenovat"()" Metoda. Místo toho, používáme "MoveTo(…)". Tady je trochu minimální kódu ke splnění tohoto úkolu:

 veřejné přepsat void ItemAdded(SPItemEventProperties vlastnosti)
        {
            Soubor SPFile f = vlastnosti.ListItem.File;

            f.MoveTo(vlastnosti.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Jediná choulostivá je "vlastnosti. ListItem.ParentList.RootFolder.Url". MoveTo() metoda vyžaduje URL. Kaše se řetězec bodů mě kořenové složce mé aktuální knihovny dokumentů. To mi umožňuje vyhnout jakékoliv pevné kódování v mém přijímač událostí.

To je mnohem užitečnější verzi, která dělá totéž, ale přiřadí název souboru "Title":

 veřejné přepsat void ItemAdded(SPItemEventProperties vlastnosti)
        {
            DisableEventFiring();

            // Název této položky přiřadit název souboru.
 // POZNÁMKA:: Toto přiřazení musí proběhnout dříve než budeme měnit samotný soubor.
 // Volání aktualizace() na soubor SPFile zdá znehodnotit vlastnosti v
 // nějaký smysl.  Aktualizace názvu"" selhala, dokud se to změnit (a aktualizovat() volání)
 // byly přesunuty před změnou názvu souboru.
            vlastnosti.ListItem["Titul"] = vlastnosti.ListItem.File.Name;

            vlastnosti.ListItem.Update();

            Soubor SPFile f = vlastnosti.ListItem.File;

            // Získejte příponu souboru.  Potřebujeme to později.
 řetězec spfileExt = nové FileInfo(f.Name).Prodloužení;

            // Soubor přejmenujte na ID položky seznamu a použijte příponu souboru, aby
 // Tahle část je neporušená.
            f.MoveTo(vlastnosti.ListItem.ParentList.RootFolder.Url +
                "/" + vlastnosti.ListItem["ID"] + spfileExt);

            // Potvrdit přesunutí.
            f.Update();

            EnableEventFiring();
        }

Diskusní fórum: Prosazování nejlepších postupů dodržování v triviální MOSS prostředí

Chlapík, "Mark", spustil se potenciálně zajímavé diskuse diskusní skupiny zaměřené na "o vynikající správa SharePoint od počátku" pro 35,000 Uživatelské prostředí.

Diskuse je zde: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Obyvatel na konec a přispět!

</Konec>

Vlastní adresa URL akce nebude zobrazovat pro novou funkci

Já jsem stále ve zvyku tvorbě mé funkce XML soubory ručně, protože je to pro mě úplně nové. Já nechci spoléhat na front-end nástroje že dělá věci, kterým nerozumím (řekl a napsal položku blogu pomocí nástroje, který nechápe).

Dnes, Snažil jsem se přidat vlastní akci do nastavení webu, ale to prostě nepřijeli. Jsem mohl nainstalovat funkci a vidět v funkce webu, Ale když jsem aktivoval (bez chyby) to prostě ukáže na drop-down menu.

Nakonec jsem si uvědomil, že jsem chybně "SharePoint" v atributu umístění <CustomAction> uzel. To je špatné elements.xml soubor:

<?XML verze="1.0" kódování="UTF-8" ?>
<Prvky xmlns.="http://schemas.Microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolbar"
 ID skupiny="SiteActions"
 Umístění="Microsoft.Sharepoint.StandardMenu"
 Sekvence="100"
 Titul="Dobrý den!"
 Popis="Akce vlastní nabídky přidávány pomocí funkce."
 ImageUrl="_layouts/images/menuprofile.gif">

    <UrlAction Adresa URL="http://www.xyzzy.com"/>

  </CustomAction>
</Prvky>

Dobré:

<?XML verze="1.0" kódování="UTF-8" ?>
<Prvky xmlns.="http://schemas.Microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolBar"
 ID skupiny="SiteActions"
 Umístění="Microsoft.SharePoint.StandardMenu"
 Sekvence="100"
 Titul="Dobrý den!"
 Popis="Akce vlastní nabídky přidávány pomocí funkce."
    >
    <UrlAction Adresa URL="http://www.xyzzy.com"/>
  </CustomAction>
</Prvky>

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

Beru útěchu v tom, že jednoho dne v budoucnosti, Já budu schopen říci s jistotou, "zpět v den, Šel jsem pěšky tři kilometry do kopce ve sněhu (naboso!) aby bylo možné implementovat vlastní funkce do MECHU. Děti, nevíte, jak snadné to máte! Zmiz z mého trávníku!"

Nemůžu se dočkat.

</Konec>

Doplněk Technorati značky: ,

Blog statistiky

Myslel jsem, že někteří lidé mohou být v mém blogu statistiky. Můžete použít moje orientačně porovnat vlastní.

Jsem běží můj blog na windows live prostory. Vybírají statistiky pro mě a já nevím, jak kontrolovat. Je to dobré, jak to jde, ale je to docela omezené v tom, že nemohu udělat mnoho skutečné analýzy s ním. Já bych rád, například, Chcete-li být schopen generovat výpis z mých nejvíce často přístupů příspěvky, ale nemohu to udělat bez prohibitivní ruční proces. Pokud někdo zná lépe, Prosím, řekněte mi.

Live prostory stav mi: Celkový počet přístupů za den, Celkový počet přístupů za týden a celkem hity od den nula. To také říká mi co lidé udělali se dostat do mého blogu (např.. Google, MSDN fóra odkaz, atd).

V některých ohledech, "hit" je zřejmé. Pokud čtete tuto větu právě teď, jste téměř jistě zaregistrovali jako jediný hit.

RSS je trochu matoucí. Na jedné straně, Vidím, že jednotlivé RSS hity po celý den. Ale, Viz také RSS "prožene". Rozmáchl se, když vidím 20 nebo 30 RSS hity vše v rámci jednoho nebo dvou druhé okno. Předpokládám, že to jsou automatizované věci, jako je google, dohlížel na mých stránkách, Možná jiných lidí prohlížeče … Těžko říct. Jsou určitě nějaký automatizovaný proces. Nemůžu říct, Avšak, Kolik z mých celkových hity jsou automatizovaná a kolik mají skutečný člověk na druhé straně. Řekl bych, alespoň 100 automatizovaný přístupů za den.

Do čísla!

Jsem napsal můj první blog vstupu na 27 července, 2007.

Napsal jsem přibližně 60 položky blogu, od té doby, více než 50 z nichž přímo týkají SharePoint.

Začal jsem udržet přehled o mých přístupů v tabulce na denní bázi, na konci září.

Měsíční začíná:

První týden: Celkový počet přístupů
Říjen 1,234
Listopad 2,162
Prosinec 3,071
Leden 2008 4,253

Celkem podle měsíce

Měsíc Celkový počet přístupů
Říjen 6,620
Listopad 11,110
Prosinec 13,138

Horní limity

Typ Celkový počet přístupů
Nejlepší den 958
Nejlepší týden 4,253
Celkový počet přístupů od den nula 42,438

Mám zájem v jiných’ statistiky. Pokud vám záleží na vás podělit v komentářích, Prosím!

</Konec>

Doplněk Technorati značky:

Sunday Morning legrační: “Ano, Ano, Ano. Bla, bla, bla.”

Asi před šesti lety, můj 4 letý syn a já jsme byli nahoře sledovat Discovery channel "útoky žraloků" speciální (Možná tenhle). Byl velmi mladý na místě a vždy jsem bál, co mohli vidět na show jako je tento, a jak by mohl mít to. Nechtěl, aby ho rozvíjet, například, jakýkoli zvláštní obavy vody nebo tlachat něco nepatřičného k jeho přátelům a případně způsobit jeho síti přítel dítě se zhroutilo.

Objev zpracovává tyto druhy subjektů velmi dobře. Nejde o vytvoření strach z něčeho, ale spíše Ukázat, jak je to žraloků k útoku na člověka.

Tak, My to sledujeme a existuje jeden obzvlášť děsivý útok zahrnující malou holčičku. Jako objev je stavba dramatu útoku, můj syn (Kdo byl vždy velmi nervózní stejně), je stále velmi vzrušený. Udělám nějaké zvuky o tom, jak neobvyklé žraloků k útoku na lidi, a jak špatné chudinka musí cítit. Já se snažím vysvětlit, že lidé zotavit se z těchto událostí a stát se silnější pro to. Avšak, Jsem si špatně vyložila své vzrušení. On nebyl strach o dívce, vůbec. Místo toho, Zatímco tleská rukama, řekl mi, "Žraloci líbí! Je to úžasný. To je úžasné. Jeho sen!"

Myslel jsem, že to byl povedený, ale také velmi znepokojující. Na jedné straně, Byl jsem rád — dokonce i trochu hrdý — že by mohl mít silné pocity empatické, Cross druhů však mohou být. Jako lidé, Musíme rozvíjet naše "empatické svaly" tak mluvit, nebo skončíš jako Ten chlap 🙂 On the other hand, Cítil se cross druh empatie k druhu, který byl vykazuje chování nepřátelský k jeho vlastní. Jsem byl skutečně potýká s tím, když se vypravěč použil slovo "paradigma". Můj syn si všimnul a zeptal se mě, co to znamená.

To není tak snadné slovo popsat čtyři roky starý, Ale já to zkusila. Když přemýšlím o slovo "paradigma", Thomas Kuhn není nikdy daleko od mé myšlenky. Četl jsem Struktura vědeckých revolucí zpět na Lafayette a pro lepší nebo horší, slovo "paradigma" je těhotná s pro mě zvláštní význam. (Něco jako slovo "kontakt" po vyslechnutí film telefon hlas mi říct, kde jsem mohl vidět ten film [Myslel jsem, že kniha byla lepší]; Vždycky říkám si, "KONTAKT!" kdykoliv vidět nebo slyšet někoho říkat: "kontakt").

Každopádně, Snažím se mu vysvětlit kuhnovský definice, že to je "historické pohyb myšlení" a že je to "způsob myšlení s řadou vestavěných předpokladů, které jsou těžko uniknout pro lidi žijící v té době." Samozřejmě, nemůžete mluvit jako 4 - letý, tak jsem se snaží postupně definovat na menší kousky a pocit spíše hrdý na sebe, jako já, tak. (Já jen věděl že někdo mimo vysoké školy by o to, že jsem četl Kuhn!).

Já jsem jen oteplování úkolu, když přeruší mě. Mávl rukou v mém směrem a nespouštěl oči z další brutální žraločí útok, říká jen, "Ano, Ano, Ano. Bla, bla, bla.".

So much for that 🙂

V daném okamžiku, Rozhodl jsem se utéci, rétoricky mluvení, sedět, a pozorovat žraloky útočit na lidi s mým synem.

</Konec>

Doplněk Technorati značky:

Přepnout zobrazení na základě ID uživatele ve formuláři aplikace InfoPath

Měli jsme rozvinutých formulář aplikace InfoPath s více pohledů na podporu nového pronájmu / proces zadávání. Když společnost najímá nové osoby, oddělení IT a další skupiny je třeba podniknout kroky (Nastavit výplatní listinu, Povolit přístup k vhodných aplikací, Najděte stůl, atd). Používáme na formě, ale jiné zobrazení formuláře pro každou z těchto funkcí.

V této společnosti, Většina lidí zapojených do obchodního procesu je IT-důvtipný, Takže když budou přistupovat k formuláři, jejich puvodni je "menu" Zobrazit tlačítka, která přímo jim na jejich specifické funkce. Avšak, Potřebovali jsme zjednodušit věci pro nové pronájem přímého nadřízeného. Tato osoba by neměl vidět, že IT související věci. Vlastně, měla jen jedno zobrazení formuláře a dokonce mají možnost vidět jiné názory.

V našem případě, přímé správce účtu je přímo vázána k formuláři zdvořilost Výběr kontaktů (což jsem vždycky chtěla volat "výběr osob" z nějakého důvodu).

Kroky jsou následující:

1. V návrhovém režimu, Přejděte na nástroje-> Možnosti formuláře-> Otevřít a uložit.

2. Zvolte "pravidla".

3. Vytvořit nové pravidlo, jejíž činnost je "přepnout zobrazení" a jehož stav využívá uživatelské jméno() funkce.

uživatelské jméno() Vrátí "jednoduché" uživatelské jméno bez domény. Když jsem se přihlásit do služby SharePoint s pověřením "domainpagalvin", uživatelské jméno() Vrátí "pagalvin".

Výběr kontaktů poskytuje tři bitů informací o kontaktu. "AccountID" část je nejužitečnější pro tento scénář. Jediná věc, která dělá to i tak trochu problém je, že výběr kontaktů (v mém prostředí stejně) Vrátí domény a ID uživatele, stejně jako v "domainpagalvin". To nám brání dělat podmínku rovnosti rovný dopředu od AccountID ("domainpagalvin") nikdy stejné uživatelské jméno() ("pagalvin").

Můžeme dostat kolem tohoto použití "obsahuje" operátor: AccountID obsahuje uživatelské jméno().

Můžeme vzít to dále a pre-pend pevně domény před uživatelské jméno() dostat naše kontrola rovnosti a eliminovat riziko falešně pozitivní na funkci obsahuje operátor.

Budeme muset opravdu jako automaticky přepínat zobrazení pro ostatní uživatele, založené na jejich členství ve skupinách zabezpečení AD. Například, Když člen "to Analytics" Skupina má přístup k formuláři, automaticky přepne do pohledu IT Analytics. Neměli jsme čas k provedení, ale moje první myšlenka je vytvořit webovou službu, která by měla metodu jako "IsMemberOfActiveDirectorySecurityGroup", předat uživatelské jméno() a vrátit zpět true nebo false. Má někdo jiný, Další chytrý nápad? Je tam nějaké funkce SharePoint, kterou můžeme využít z aplikace InfoPath učinit toto rozhodnutí?

</Konec>

Doplněk Technorati značky:

Omylem přidání kódu do formuláře aplikace InfoPath; Záměrně jeho odstranění

Při práci s tlačítky na formuláři, jsme často přidávat pravidla. Přístup k editoru pravidla z vlastností na tlačítko.

Při klepnutí na kolem rychle, je to snadné náhodně klikněte na "upravit kód formuláře" místo "pravidla …".

Poprvé jsem to udělal, Zrušil jsem editor kódu. Avšak, Když jsem se snažil trochu publikovat formulář zatímco později, vyžadovalo to, že jsem publikovat jako šablonu formuláře schválenou správcem" (Pokročilé)". Já jsem ve skutečnosti neudělala žádné programování a rozhodně nechtěl projít zbytečné schvalovací proces. Byl jsem v trochu panika v době z důvodu časového omezení. Chcete-li se přes to dostat, Jsem prostě obnovení předchozí zálohy a pokračoval. Nedávno jsem viděl některé příspěvky blogu o lidech do formuláře XML vyladit věci a bál jsem se, že budu muset udělat něco podobného.

Dnes, Udělal jsem to znovu. Tentokrát, Jsem měl trochu víc času na mých rukou a zjistil, že lze se snadno vrátit.

Přejít na:

Nástroje-> Možnosti formuláře-> Programování: "Odebrat kód"

Nesmí být mnohem snazší než.

</Konec>

Doplněk Technorati značky: ,