Lösning på Problem: “FileNotFoundException” Med min funktionsmottagaren.

Jag arbetade på en funktion förra veckan som skulle lägga till vissa evenemang mottagare till en specifik lista förekomst. (Jag bloggade lite om att listan mottagare här).

Med hjälp av kommandoraden, Jag kunde installera funktionen utan fel (men se nedan för dolda fel). När jag försökte använda funktionen på webbplatsen, MOSS klagade över en "FileNotFoundException" fel. Denna bloggpost beskriver hur jag löste det.

Detta är felet som MOSS visade mig i webbläsaren:

Funktionen ' b2cb42e3-4f0a-4380-Maria-1ef9cd526f20’ kunde inte installeras eftersom inläsningen av sammansättningen "xyzzyFeatureReceiver_0" misslyckades: System.IO.FileNotFoundException: Kunde inte läsa in filen eller sammansättningen ' xyzzyFeatureReceiver_0’ eller en av dess beroenden. Systemet kan inte hitta filen.
Filnamn: "xyzzyFeatureReceiver_0’
på System.Reflection.Assembly.nLoad(AssemblyName filnamn, Sträng kodbasen, Bevis assemblySecurity, Församlingen locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.InternalLoad(Sträng assemblyString, Bevis assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
på System.Reflection.Assembly.Load(Sträng assemblyString)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
VARN: Församlingen bindande loggningen är aktiverad OFF.
Du aktiverar montering bind fel loggning, Ange registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog] (DWORD) till 1.
Anmärkning: Det finns vissa prestanda straff är associerad med församlingen bind fel loggning.
Inaktivera den här funktionen, ta bort registervärdet [HKLMSoftwareMicrosoftFusion]!EnableLog].

Felsöka problem med Windows SharePoint Services.

Jag vet hur man medvetet orsaka detta fel: Installera inte sammansättningen i GAC. Men, Det var i den globala Sammansättningscachen. Jag installera normalt sammansättningar i den globala Sammansättningscachen genom att dra dem till c:\windowsassembly-mappen med Utforskaren. Jag har aldrig känt 100% bekväm att göra det eftersom jag alltid trott att gacutil fanns en anledning … så jag försökte att. Det gjorde ingen skillnad.

Jag sökte på Internet och hittade detta inlägg: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Affischen råkade använda den samma rot bit kod (från inuti WSS bok från denna lista) så det var ett hoppfullt tecken. Men, förslaget att dekorera församlingen med en [församling: ] direktivet vettigt inte för mig. Jag försökte det ändå och jag hade rätt. Det gjorde ingen skillnad.

Sedan märkte jag att min klassdefinition inte var offentlig. Jag gjorde det offentliga och det gjorde ingen skillnad.

Nästa, Jag gick till problem med att aktivera "församlingen bind misslyckande loggen" (efter användbara och korrekta instruktioner) och det är där saker och ting började bli intressant. Loggen visar mig att körningsmiljön söker överallt på servern för min församling. Det verkar även vara söka efter det i min medicinskåpet. Men … Det kommer inte att söka efter den i den globala Sammansättningscachen.

Jag satte på min vinterjacka och gå söka Internetsen igen och hitta att någon har haft detta problem också. Den långa diskussionen i denna bokföring Petrus bort till ingenting och jag kan inte hitta en lösning.

Jag flyttar min församling till en av de platser loggen hävdar det söker och jag göra lite mer framsteg. Jag är belönade med en nya fel i webbläsaren när jag försöker aktivera funktionen:

Det gick inte att skapa funktionen mottagare objekt från församlingen "xyzzyFeatureReceiver_0", typ "Conchango.xyzzyFeatureReceiver" för funktionen b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Värdet får inte vara null.
Parameternamnet: typ
på System.Activator.CreateInstance(Typ typ, Booleska nonPublic)
på System.Activator.CreateInstance(Typ typ)
på Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Felsöka problem med Windows SharePoint Services.

Dags för en sista resa till Internets!

Denna gång jag reda, förutsägbart nog, att mossa frågor detta fel eftersom församlingen inte i GAC.

Jag vill få något positivt ur detta och försök att känna sig lite stolt att jag har skapat den Flyktiga MSIL församlingar, men det fungerar inte. Jag är helt enkelt irriterad. Jag finner mig själv muttrade "hönan eller ägget" under min andedräkt.

Jag slutligen besluta att punt. Jag skapar ett helt nytt projekt och klistra in koden från incredible-cloaked-from-the-GAC-assembly icke-arbetande projektet över till detta nya projekt. (Jag söker efter en bygga flagga kallas något i stil med "Dölj från församlingen bindande om installerat i GAC" men kan inte hitta en).

Jag installera funktionen och aktivera den och … det fungerar! Så, efter allt som, Jag var tvungen att i princip "pånyttfödd’ mitt projekt. Det är en anledning varför jag hatar datorer.

Jag lärde mig något nyttigt från detta. Jag hade installerat funktioner använder stsadm befalla lina hela dagen lång och använt den "-kraft" alternativet av gammal vana. Av någon anledning, Jag inte använder alternativet - force när jag installerade det nya projektet. Den här gången, Jag gjorde faktiskt, verkligen glömma att kopiera detta nya projekt sammansättningen i GAC. Som en följd, Jag fick det "FielNotFoundException" fel. Den här gången, Jag fick den från stsadm, inte när jag försökte aktivera funktionen via webbläsaren. Så, -Force faktiskt spelar två roller. Du kan installera en befintlig funktion. Du installerar en buggy funktion som inte kan arbeta vid körning genom att undertrycka felet kan också. Står förmodligen det lika mycket som hjälp någonstans men jag märkt aldrig det.

</slutet>

Söndag Funny: Topp 10 Sätt att irritera dina hustru

  1. Köpa broccoli när du vet att det finns redan mer än tillräckligt i kylen.
  2. Gå för en körning. Svalka dig. Ta av ren örngott och ersätta med T-shirt. Täck med ren örngott.
  3. När du kör, fråga om vi ska gå åt fel håll på en enkelriktad gata.
  4. För 15 år, varje söndag att du hustru tyder på att ett museum, uttrycka förvåning att museer är öppna på söndag.
  5. För 15 år, ibland föreslå kommer att lokala bokhandeln på söndag. Uttrycka förvåning att de inte är öppen på söndag (Tack så mycket Blå lagar!).
  6. Användning 20 poäng att göra en 3 Peka tur.
  7. På en cool tidig höst eftermiddag, gå in i rummet och slå på a/c. Klaga att det är kallt. När fru säger, "varför du slå sedan som på, dumt" och får upp att stänga av, ta den varm plats hon hade på soffan. Bonuspoäng om hon inte inser du gjorde det förrän långt senare.
  8. Öppna en burk läckra vita långfenad tonfisk och äta den direkt från kan, i sängen, På natten.
  9. Gå in i köket medan hustru äter middag, öppna upp bestick lådan och tryck redskap tills fru skriker, "vad är du ute efter!"
  10. Vid mottagandet av nya visitkort, i hemlighet placera dem runt huset: Under sängen, i örngott, inuti kaffekoppar, i hennes handväska, i pälsen fickor, bil handske fack, skafferiet — var som helst kan du tänka dig.
  11. Skriva blogginlägg om din fru.
  12. Vakna.
  13. När man går på gatorna i New York City, vara på alerten för "knaprig" objekt på marken. Med tanke på din frus särskilda farhågor, nå som om att plocka en upp upp och be, "hmm, Jag undrar vad det är?" (Vara förberedda för hustru att kroppen slam du som om hon är en secret service agent skydda presidenten från en krypskytt eller du befinner dig på rygg på trottoaren).
  14. Kör två gånger runt en parkeringsplats söker utrymme. Du vet att du har verkligen slå betala smuts när din son i baksätet skriker, "Åh nej! Han gör det igen!"
  15. Skriva "topp 10" listor som inte har 10 objekt.

===

Bonus hustru skämt:

Två manliga medarbetare gå på lunch. En av dem berättar andra, Jag låt lös en pinsamt freudiansk felsägning härom kvällen."

"En freudiansk felsägning? Vad är det?"

"Väl, När vi ätit, Servitrisen kom och frågade hur vi gillade våra måltider. Jag menade säga, "Jag älskade kycklingbröstet’ men istället sa jag "Jag älskade dina bröst". Jag var så generad."

"Ah," hans medarbetare svarade. "Jag hade samma sak hända mig i helgen med min fru. Vi äter frukost jag menade att be henne att passera smöret, men i stället jag skrek på henne, "Du förstört mitt liv!’"

</slutet>

Technorati Tags:

Händelse-ID 1023: “Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS”

UPPDATERING (04/08/08): Jag verkar ha löst problemet. Från kommandoraden, Jag körde "c:\windowssystem32lodctr/r" per en post som talar om InstallShield verkar problem och som ha löst det för mig.

Jag har märkt som på sistone, min desktop/server fan stänger aldrig av. Jag vet att det används för att stänga av. Jag tog en stund för att kolla ut märkte att den en VMware process var igång en konsekvent 20% användningen i en av Processorns. Jag kollade loggen och såg dessa fel i programloggen händer dussintals gånger per minut:

Windows kan inte läsa in utökningsbar räknare-DLL för UGatherer, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för UGTHRSVC, första DWORD i datasektionen finns felkoden i Windows.

Windows kan inte läsa in utökningsbar räknare-DLL för MSSCNTRS, första DWORD i datasektionen finns felkoden i Windows.

Om jag gå in i detalj på något av dessa meddelanden, Jag får detta:

Källa: Perflib

Typ: Fel

Kategori: Ingen

Händelse-ID 1023

Jag gjorde en del efterforskningar och fanns vissa tecken som det kan vara ett tillstånd problem vad gäller tillgång till dll i fråga. Jag spelade runt med det där men kan inte påverka saker på ett positivt sätt så jag gav upp på det.

VMware hade tjatat mig om hur du utför en uppdatering för ganska länge, så jag skrev ner den version som jag hade installerats (uppenbarligen build"1.0.1 29996") och gjorde uppdateringen. Detta uppgraderade mig till v1.04. Tyvärr, det inte åtgärda problemet.

Jag kan stoppa vansinniga antalet meddelanden ska min programloggen om jag stänga ned en tjänst benämn "VMware tillstånd Service". Detta hindrar mig från att använda programvaran VMware, så … inte sådana ett bra alternativ.

Värd operativsystemet är Windows XP 64 lite.

Jag tror inte att detta alltid har hänt, men minns jag inte någon särskild händelse som har lett till det.

Det är därför jag hatar datorer.

</slutet>

Technorati Tags:

Snabb & Lätt: Byt namn på överförda filen med hjälp av SharePoint-objektmodellen Via ett händelse-mottagare

UPPDATERING: Detta fungerar men det finns betydande begränsningar som beskrivs i kommentarerna. Detta kan fortfarande vara användbart i vissa fall.

UPPDATERING 2: I mitt nuvarande projekt, användare alltid ladda upp dokument. Som en följd, Jag kör inte in i ett problem där MS Word körs och tycker att filen byttes namn på den. Jag stött på ett problem, "filen ändrades av någon annan" och löste detta via en enkel semafor typ flagga. Förbrukaren behov till ändra en meta datafält från standardvärdet till något annat. Itemupdated() mottagaren ser ut för ett giltigt värde det innan du faktiskt utför nytt namn och sedan dess, Jag har inte haft några problem. Användbarheten kan variera.

Jag har ett krav på klienten att ändra namn på filer som laddas upp till ett visst dokumentbibliotek att överensstämma med en viss namnkonvention. API tillhandahåller inte en "Byt namn()" metoden. I stället, Vi använder "MoveTo(…)". Här är lite minimal kod för att åstadkomma detta:

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            SPFile f = egenskaper.ListItem.File;

            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url + "/xyzzy.doc");
            f.Update();

        }

Den bara knepiga biten är "egenskaper. ListItem.ParentList.RootFolder.Url". MoveTo() metoden kräver en URL. Som mosade upp strängen poäng mig till rotmappen på min nuvarande dokumentbibliotek. Detta gör att jag slipper någon hård kodning i min händelsemottagare.

Detta är en mer användbar version som gör samma sak, men tilldelas namnet på filen "Titel":

 offentliga åsidosätta void ItemAdded(SPItemEventProperties egenskaper)
        {
            DisableEventFiring();

            // Tilldela namnet på själva titeln på denna punkt.
 // ANMÄRKNING: Den här tilldelningen måste äga rum innan vi ändrar själva filen.
 // Kräver uppdatering() på SPFile verkar ogiltigförklara egenskaperna i
 // någon mening.  Uppdateringar till "titel" Det gick inte att förändras (och uppdatera() Ring)
 // flyttades framför ändringen till i filnamnet.
            egenskaper.ListItem["Rubrik"] = egenskaper.ListItem.File.Name;

            egenskaper.ListItem.Update();

            SPFile f = egenskaper.ListItem.File;

            // Få förlängning av filen.  Vi behöver som senare.
 sträng spfileExt = nya FileInfo(f.Name).Förlängning;

            // Byt namn på filen till listan Objektets ID och använder filnamnstillägget att hålla
 // den del av det intakt.
            f.moveTo(egenskaper.ListItem.ParentList.RootFolder.Url +
                "/" + egenskaper.ListItem["ID"] + spfileExt);

            // Begå flytten.
            f.Update();

            EnableEventFiring();
        }

Forumet diskussion: Att upprätthålla bästa praxis överensstämmelse i icke-trivialt MOSS miljö

En Karl, "Mark", har startat upp en potentiellt intressant diskussionsgrupp diskussion fokuserar på "etablera utmärkt SharePoint styrning från början" för en 35,000 användarmiljö.

Diskussionen är här: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop på över och bidra!

</slutet>

Anpassad åtgärd URL visas inte för ny funktion

Jag är fortfarande i vanan att mejsla fram min funktionen XML-filer för hand eftersom det är alla helt nytt för mig. Jag vill inte lita på en front-end verktyg att gör saker jag inte förstår (Han sa som han skrev ett blogginlägg med ett verktyg som han inte förstår).

Idag, Jag försökte lägga till en anpassad åtgärd i Webbplatsinställningar men det bara inte skulle dyka upp. Jag kunde installera funktionen och se den i webbplatsen har, men när jag aktiverat den (utan fel) det inte skulle helt enkelt dyka upp på den nedrullningsbara menyn.

Jag insåg till slut att jag felstavat "SharePoint" i attributet plats i den <CustomAction> nod. Detta är den dåliga elements.xml fil:

<?XML version="1.0" kodning="UTF-8" ?>
<Element xmlns="http://schemas.microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolbar"
 GroupId="SiteActions"
 Plats="Microsoft.Sharepoint.StandardMenu"
 Sekvens="100"
 Avdelning="Hej!"
 Beskrivning="Anpassade menyn åtgärder läggas till via en funktion."
 ImageUrl="_layouts/images/menuprofile.gif">

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

  </CustomAction>
</Element>

Bra:

<?XML version="1.0" kodning="UTF-8" ?>
<Element xmlns="http://schemas.microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolBar"
 GroupId="SiteActions"
 Plats="Microsoft.SharePoint.StandardMenu"
 Sekvens="100"
 Avdelning="Hej!"
 Beskrivning="Anpassade menyn åtgärder läggas till via en funktion."
    >
    <UrlAction URL="http://www.xyzzy.com"/>
  </CustomAction>
</Element>

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

Jag finna tröst i faktumet att någon dag i framtiden, Jag kommer att kunna säga med övertygelse, "tillbaka i dag, Jag hade gå tre miles upp backen i snön (barfota!) för att distribuera en anpassad funktion till MOSS. Du barn, du vet inte hur lätt du har det! Få bort min gräsmatta!"

Kan inte vänta.

</slutet>

Technorati Tags: ,

Blog Stats

Jag trodde att vissa människor kan vara intresserade av min blogg statistik. Du kan använda mig som riktmärke för att jämföra dina egna.

Jag kör min blogg på windows live spaces. De samlar in statistik för mig och jag vet inte något sätt att kontrollera att. Det är bra så långt som det går, men det är ganska begränsad eftersom jag inte kan göra mycket själva analysen med det. Jag skulle älska, till exempel, för att kunna generera en lista av mina mest ofta kan inte hit inlägg men jag göra det utan en oöverkomlig manuell process. Om någon vet bättre, snälla berätta.

Live spaces status berätta: Totalt antal träffar för dagen, Totalt antal träffar för vecka och totalt träffar sedan dag noll. Det säger mig också vad människor gjorde för att komma till min blogg (t.ex. Google, MSDN forum länk, m.m.).

På vissa sätt, en "hit" är uppenbart. Om du läser denna mening just nu, du nästan säkert är registrerad som en enda träff.

RSS är lite förvirrande. Å ena sidan, Jag ser enskilda RSS träffar hela dagen lång. Men, Jag också se RSS "sveper". Ett svep är när jag ser 20 eller 30 RSS träffar alla inom ett en eller två andra fönster. Jag antar att dessa är automatiserade saker som google incheckning på min webbplats, kanske andra människors webbläsare … Inte säker. De är definitivt någon form av automatiserad process. Jag kan inte säga, men, Hur många av min totala träffar är automatiserade och hur många har en verklig människa på andra sidan. Jag skulle gissa på minst 100 träffar per dag är automatiserade.

På siffrorna!

Jag skrev min första bloggpost den 27 juli, 2007.

Jag har skrivit ungefär 60 blogginlägg sedan dess, mer än 50 som direkt relatera till SharePoint.

Jag började att hålla reda på av min träffar i ett kalkylblad på en daglig basis i slutet av September.

Månatliga startar:

Första veckan i: Totalt antal träffar
Oktober 1,234
November 2,162
December 3,071
Januari 2008 4,253

Totalt per månad

Månad Totalt antal träffar
Oktober 6,620
November 11,110
December 13,138

Hög vatten märken

Typ Totalt antal träffar
Bästa dag 958
Bästa vecka 4,253
Totalt antal träffar sedan dag noll 42,438

Jag är intresserad av andra’ statistik. Om du bryr dig att dela din i kommentarerna, gör!

</slutet>

Technorati Tags:

Söndag morgon Funny: “Ja, Ja, Ja. Bla, bla, bla.”

Ungefär sex år sedan, min fyra år gamla son och jag var på övervåningen tittar på en Discovery channel "hajattacker" särskilda (möjligen en). Han var mycket ung vid punkten och jag var alltid orolig vad han kan se på en show som detta och hur han kan ta det. Jag ville inte honom att utveckla, till exempel, någon särskilda farhågor av vatten eller skvallra något olämpligt till sina vänner och eventuellt orsaka hans baby vänskapsnätverk att komma omkull.

Discovery hanterar dessa typer av ämnen mycket bra. Det handlar inte om att skapa en rädsla för något, utan att visa hur ovanligt det är för hajar att attackera människor.

Så, Vi tittar på det och det är detta en särskilt skrämmande angrepp som innebär en liten flicka. Som upptäckt bygger drama av attacken, min son (som alltid varit extremt nervös ändå), blir mycket glada. Jag göra några ljud om hur ovanligt det är för hajar att attackera människor, och hur illa den stackars flickan måste känna. Jag försöker förklara att människor återhämta sig från dessa händelser och bli starkare för det.. Men, Jag hade misstolkat hans upphetsning. Han var inte orolig för flickan på alla. I stället, samtidigt klappa händerna, Han berättar för mig, "Hajarna älskar det! Det är fantastiskt. Det är underbart. Dess en dröm!"

Jag trodde det var lustiga, men också mycket störande. Å ena sidan, Jag var glad — även lite stolt — att han kunde ha stark empatisk känslor, Cross-arter men de kan vara. Som människor, Vi behöver utveckla våra "empatisk muskler" så tala eller du slutar upp som den här killen 🙂 On the other hand, han mådde cross-arter empati mot en art som uppvisar beteende skadligt för sin egen. Jag kämpade verkligen med detta när berättaren använde ordet "paradigm". Min son plockas upp på det och frågade mig vad som betytt.

Det är inte en sådan lätt ord att beskriva för en fyra år gammal, men jag gav det ett försök. När jag tänker på ordet "paradigm", Thomas Kuhn är aldrig långt från mina tankar. Jag läste Strukturera av vetenskapliga rotationer tillbaka på Lafayette och för bättre eller sämre, ordet "paradigm" är gravid med extra innebörd för mig. (Ungefär som ordet "kontakt" efter att ha hört en film telefon röst berätta för mig där jag kunde se den filmen [Jag tyckte boken var bättre]; Jag säger alltid till mig själv, "KONTAKT!" varje gång jag ser eller hör någon säga "kontakta").

Hur som helst, Jag försöker förklara för honom en Kuhnian definition, att det är "en historisk rörelse av tanke" och att det är ett "sätt att tänka med ett antal inbyggda antaganden som är svåra att fly för människor som lever på den tiden." Självklart, Du kan inte prata som med en fyra - åring, så jag försöker successivt definiera det till mindre bitar och känsla ganska stolt över mig själv som jag gör det.. (Jag bara visste att någon utanför college skulle bry sig att jag hade läst Kuhn!).

Jag bara uppvärmningen till uppgiften när han avbryter mig. Vifta med handen i min riktning och aldrig ta hans ögon mot en annan brutala shark attack, han säger bara, "Ja, Ja, Ja. Bla, bla, bla.".

So much for that 🙂

På den punkten, Jag bestämde mig att springa iväg, retoriskt tal, luta dig tillbaka, och titta på hajar attackerar människor med min son.

</slutet>

Technorati Tags:

Växla vy baserat på användar-ID i ett InfoPath-formulär

Vi hade ett utvecklat ett InfoPath-formulär med flera vyer att stödja en ny hyra / på ombordstigning process. När företaget anställer en ny person, IT-avdelningen och andra grupper måste vidta åtgärder (Ställ in löne, Aktivera åtkomst till lämpliga program, Leta upp ett skrivbord, m.m.). Vi använder på form men en annan vy av formuläret för var och en av dessa funktioner.

På detta företag, de flesta av inblandade i affärsprocessen är IT-kunniga, så när de öppnar formuläret, deras standardvyn är en "meny" Visa med knappar som hänvisa dem till sin specifika funktion. Men, Vi behövde för att förenkla saker och ting för den nya hyra direkt manager. Denna person bör inte se någon av IT relaterade saker. I själva verket, hon bör se en vy av formuläret och inte ens har en möjlighet att se andra vyer.

I vårt fall, som rikta chefens konto är direkt kopplad till formuläret artighet av en Kontakta selector (som jag alltid vill kalla en "människor picker" av någon anledning).

Stegen är följande:

1. I designläge, gå till verktyg-> Formuläralternativ-> Öppna och spara.

2. Välj "regler".

3. Skapa en ny regel vars verkan är "växla för att Visa" och vars villkor utnyttjar användarnamn() funktionen.

Användarnamn() Returnerar det "enkelt" Användarnamnet utan domän. Om jag loggar in på SharePoint med autentiseringsuppgifter "domainpagalvin", Användarnamn() Returnerar "pagalvin".

Kontakt väljaren ger tre bitar av information för en kontakt. "AccountID" del är mest användbar för detta scenario. Det enda som gör detta ännu lite utmaning är att kontakta väljaren (i min omgivning ändå) Returnerar domän och användar-ID, som i "domainpagalvin". Det hindrar oss från att göra en enkel jämlikhet förutsättning sedan AccountID ("domainpagalvin") kommer aldrig vara lika användarnamn() ("pagalvin").

Vi kan komma runt detta med den "innehåller" operatör: AccountID innehåller användarnamn().

Vi kan ta det vidare och pre-pend en hårdkodad domän framför användarnamnet() funktion för att få vår jämställdhet check och eliminera risken för ett falskt positivt på den innehåller.

Skulle vi verkligen gillar att automatiskt växla vy för andra användare baserat på deras annons säkerhetsgrupptillhörighet. Till exempel, När en medlem av "det Analytics" gruppen har åtkomst till formuläret, automatiskt växla till vyn IT Analytics. Vi hade inte tid att genomföra det., men min första tanke är att skapa en webbtjänst som skulle ha en metod som "IsMemberOfActiveDirectorySecurityGroup", passera det användarnamn() och återvända tillbaka sant eller falskt. Har någon någon annan, mer smart idé? Finns det någon SharePoint-funktion som vi kan utnyttja från InfoPath att göra detta konstaterande?

</slutet>

Technorati Tags:

Av misstag att lägga till kod i ett InfoPath-formulär; Medvetet att ta bort den

När du arbetar med knappar i ett formulär, vi ofta lägga till regler. Du åt Regelredigeraren i knappen egenskaper.

När du klickar runt snabbt, Det är lätt att av misstag klicka på "Redigera formulärkod" i stället för "regler …".

Första gången jag gjorde detta, Jag avbröt ur kodredigeraren. Men, När jag försökte publicera formuläret lite medan senare, Det krävs att jag publicera som en "administratörsgodkänd formulärmall (Avancerad)". Jag gjorde faktiskt inte någon programmering och jag ville absolut inte gå igenom en onödig godkännandeprocess. Jag var i lite panik för tillfället på grund av tidsbrist. Att komma förbi det, Jag helt enkelt återställa en tidigare säkerhetskopia och fortsatte. Jag hade nyligen sett några blogginlägg om folk kommer till formulärets XML att justera saker och jag var rädd jag skulle behöva göra något liknande.

Idag, Jag gjorde det igen. Den här gången, Jag hade lite mer tid på mina händer och fann att du enkelt kan ångra detta.

Gå till:

Verktyg-> Formuläralternativ-> Programmering: "Ta bort koden"

Det blir inte mycket lättare än att.

</slutet>

Technorati Tags: ,