Lösung für Problem: “FileNotFoundException” Mit meinem Featureempfänger.

Ich arbeitete an einem Feature letzte Woche, die einige Ereignisempfänger eine bestimmte Listeninstanz hinzufügen würde. (Ich ein bisschen gebloggt die Liste Empfänger hier).

Mithilfe der Befehlszeile, Ich konnte die Funktion ohne Fehler installieren. (siehe unten für den versteckten Fehler). Als ich versuchte, die Funktion auf der Website bereitstellen, MOSS klagte über eine "FileNotFoundException" Fehler. Dieser Blog-Eintrag beschreibt, wie ich es gelöst.

Das ist der Fehler, den MOSS mir im Web-Browser zeigte:

Funktion "b2cb42e3-4f0a-4380-Aaba-1ef9cd526f20’ konnte nicht installiert werden, da das Laden von Ereignisempfängerassembly "xyzzyFeatureReceiver_0" Fehler: System.IO.FileNotFoundException: Konnte nicht geladen werden Datei oder Assembly ' xyzzyFeatureReceiver_0’ oder eine ihrer Abhängigkeiten. Das System kann die angegebene Datei nicht finden.
Dateiname: ' xyzzyFeatureReceiver_0’
bei System.Reflection.Assembly.nLoad(AssemblyName fileName, Zeichenfolge Codebasis, Beweise assemblySecurity, Montage locationHint, StackCrawlMark& stackMark, Boolesche throwOnFileNotFound, Boolean forIntrospection)
bei System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Beweise assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
bei System.Reflection.Assembly.InternalLoad(String assemblyString, Beweise assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
bei System.Reflection.Assembly.Load(String assemblyString)
bei Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()
WRN: Assembly Bindung Protokollierung aktiviert ist OFF.
Montage-Bind Fehler Protokollierung, Legen Sie den Registrierungswert [HKLMSoftwareMicrosoftFusion!EnableLog] (DWORD) An 1.
Hinweis: Es gibt einige Leistungseinbußen verbunden mit Montage Bind Fehler Protokollierung.
Um dieses Feature zu deaktivieren, Entfernen Sie den Registrierungswert [HKLMSoftwareMicrosoftFusion!EnableLog].

Behandeln von Problemen mit Windows SharePoint Services.

Ich weiß wie man bewusst, dass Fehler verursachen: nicht die Assembly im GAC zu installieren. Aber, Es war im GAC. Ich installiere normal Assemblys im GAC durch Ziehen in die c:\Windowsassembly Ordner mithilfe von Windows_explorer. Ich habe nie das Gefühl 100% komfortable tun, denn ich immer, dass Sie Gacutil dachte bestand aus einem Grund … Also versuchte ich, die. Es machte keinen Unterschied.

Ich suchte den Internets und fanden diesen Beitrag: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2243677&SiteID=1

Das Plakat geschah das gleiche Wurzel Bit des Codes zu verwenden (aus dem Buch Inside WSS aus dieser Liste) also das war ein Zeichen der Hoffnung. Jedoch, die Anregung der Dekoration der Assembly mit einem [Versammlung: ] Richtlinie machen nicht für mich Sinn.. Ich versuchte es trotzdem und ich hatte Recht. Es machte keinen Unterschied.

Dann bemerkte ich, dass meine Klassendefinition nicht öffentlichen war. Ich es öffentlich gemacht und das machte keinen Unterschied.

Nächste, Ich ging auf die Mühe, das "Versammlung Bind Fehler-Log aktivieren" (Das hilfreiche und genaue Anweisungen zur Verfügung gestellt) und das ist, wo Dinge begonnen, interessant zu werden. Das Protokoll zeigt mir, dass die Common Language Runtime überall auf diesem Server für meine Montage sucht. Es scheint sogar, es in meiner Hausapotheke auf der Suche nach. Aber … Es wird nicht im GAC suchen.

Ich habe auf meine Winterjacke und gehen wieder die Internets suchen und finden, dass jemand dieses Problem auch gehabt hat. Die endlosen Diskussionen in diesem Beitrag peters aus ins nichts und ich kann keine Lösung finden.

Ich bewege meine Montage zu einem der Orte, die das Protokoll behauptet, es ist auf der Suche und ich ein wenig mehr Fortschritte machen. Ich werde belohnt mit einem neuen Fehler im Browser beim Versuch, das Feature aktivieren:

Fehler beim Erstellen der Funktion Empfängerobjekt aus Assembly "xyzzyFeatureReceiver_0", Geben Sie "Conchango.xyzzyFeatureReceiver" für die Funktion b2cb42e3-4f0a-4380-aaba-1ef9cd526f20: System.ArgumentNullException: Wert darf nicht null sein..
Parameternamen: Typ
bei System.Activator.CreateInstance(Typ, Boolean nonPublic)
bei System.Activator.CreateInstance(Typ)
bei Microsoft.SharePoint.Administration.SPFeatureDefinition.get_ReceiverObject()

Behandeln von Problemen mit Windows SharePoint Services.

Zeit für eine letzte Reise zu den Internets!

Diesmal ich herausfinden, vorhersehbar genug, dass MOSS dieser Fehler ausgibt, da die Assembly im GAC nicht ist.

Ich möchte etwas Positives aus dieser erhalten und versuchen, ein wenig stolz, dass ich erstellt habe die Auf der Flucht von MSIL-Assemblys, aber es funktioniert nicht. Ich bin einfach nur genervt. Ich finde mich murmelte "Huhn oder das Ei" unter meinen Atem.

Ich entscheide mich schließlich, punt. Ich ein völlig neues Projekt erstellen und kopieren den Code aus dem incredible-cloaked-from-the-GAC-assembly der arbeitsfreien Projekt über dieses neue Projekt. (Ich Suche ein Build-Flag aufgerufen, so etwas wie "Hide aus Assemblybindung im GAC installiert" aber man kann nicht).

Ich das Feature installieren und aktivieren Sie es und … Es funktioniert! Also, nach all dem, Ich musste im Grunde ' neu starten’ mein Projekt. Dies ist ein weiterer Grund, warum ich Computer hasse.

Ich habe etwas nützliches daraus lernen. Ich hatte die Installation Features mithilfe der Befehlszeile Stsadm ganztägig und benutze den "-zwingen" Möglichkeit aus Gewohnheit. Aus irgendeinem Grund, Ich habe nicht verwenden die - Force-Option aus, wenn ich das neue Projekt angelegt. Dieses Mal, Ich habe, wirklich vergessen Sie, dieses neue Projekt Assembly im GAC kopieren. Als Folge, Ich erhielt die FielNotFoundException"" Fehler. Dieses Mal, Ich habe es von stsadm, nicht, als ich versuchte, das Feature über den Webbrowser aktivieren. Also, -Kraft spielt eigentlich zwei Rollen. Es erlaubt Ihnen, ein vorhandenes KE neu installieren. Darüber hinaus können Sie eine fehlerhafte Funktion zu installieren, die nicht arbeiten durch die Unterdrückung des Fehlers zur Laufzeit. Es sagt wohl so viel in der Hilfe irgendwo aber ich nie bemerkt, dass es.

</Ende>

Sonntag Funny: Nach oben 10 Möglichkeiten, um Ihre Frau zu ärgern

  1. Brokkoli zu kaufen, wenn Sie wissen, gibt es bereits mehr als genug im Kühlschrank.
  2. Gehen für einen Lauf. Kühlen Sie sich ab. Sauberen Kissenbezug ausziehen und ersetzen mit T-shirt. Bedecken Sie mit sauberen Kissenbezug.
  3. Beim Autofahren, Fragen Sie, ob wir die falsche Richtung nach unten eine Einbahnstraße gehen sollte.
  4. Für 15 Jahre, jeden Sonntag deutet darauf hin, dass Ihre Frau wird ein museum, schnelles Überraschung, dass die Museen am Sonntag geöffnet sind.
  5. Für 15 Jahre, schlagen Sie gelegentlich zu der lokalen Buchhandlung am Sonntag. Schnelles Überraschung, dass sie am Sonntag nicht geöffnet sind (Vielen Dank Blau-Gesetze!).
  6. Verwendung 20 Punkte zu tun ein 3 Punkt-Zuges.
  7. Auf einem kühlen Herbst am frühen Nachmittag, in den Raum gehen und biegen auf die a/c. Beklagen Sie, dass es kalt ist. Wenn Frau sagt, "dann warum Sie das Einschalten, dumm" und erhebt sich ausschalten, warmen Ort hatte sie auf der Couch zu greifen. Bonuspunkte, wenn sie Sie nicht erkennen, habe es erst viel später.
  8. Öffnen Sie eine Dose mit köstlichen weißen Weißer Thun und essen es direkt aus der Dose, im Bett, Bei Nacht.
  9. Gehen Sie in die Küche, während Frau Abendessen Essen ist, die Besteck-Schublade öffnen Sie und herumschubsen Sie Utensilien, bis Frau schreit, "Was suchst du!"
  10. Nach Erhalt der neuen Visitenkarten, Legen Sie sie heimlich alles rund um das Haus: Unter dem Bett, in Kissenbezüge, in Kaffeetassen, in ihrer Handtasche, in Mantel-Taschen, Auto-Handschuhfächer, die Speisekammer — überall können Sie sich vorstellen.
  11. Schreiben Sie Blogeinträge, von deiner Frau.
  12. Wach auf.
  13. Wenn die Straßen von New York City, werden Sie auf der Hut vor "crusty" Objekte auf dem Boden. Halten im Verstand deiner Frau besondere Ängste, greifen Sie nach unten, als ob Sie einen aussuchen und Fragen, "hmm, Ich frage mich, was das heißt?" (Bereit sein für Frau Körper slam Sie, als ob sie ist, dass ein Geheimdienst-Agent zum Schutz des Präsidenten von einem Scharfschützen, oder man selbst mit auf Ihrem Rücken auf dem Bürgersteig finden).
  14. Ein Parkplatz, auf der Suche nach Raum zweimal umfahren. Sie wissen, Sie haben wirklich hit Pay Dirt, wenn dein Sohn auf dem Rücksitz schreit, "Oh keinen! Er macht es wieder!"
  15. "Top 10 schreiben" Listen, die nicht 10 Elemente.

===

Bonus Frau Witz:

Zwei männliche Mitarbeiter gehen zum Mittagessen. Eine von ihnen erzählt, der andere, "Ich losgelassen eine peinliche Fehlleistung neulich."

"Ein Freudscher Versprecher? Was ist das?"

"Gut, Wenn wir Essen fertig, die Kellnerin kam und fragte, wie wir unsere Mahlzeiten gerne. Ich wollte sagen, "Ich liebte die Hühnerbrust’ aber stattdessen sagte ich, 'Ich liebte Ihre Brüste'. Ich war so peinlich."

"Ah," sein Kollege antwortete.. "Ich hatte das gleiche passiert mir dieses Wochenende mit meiner Frau. Wir aßen Frühstück, was ich wollte sie bitten, zu übergeben, die butter, aber stattdessen schrie ich sie an, ' Sie ruiniert mein Leben!’"

</Ende>

Technorati Tags:

Ereignis-ID 1023: “Windows kann nicht geladen werden MSSCNTRS der DLL für erweiterbare Leistungsindikatoren”

UPDATE (04/08/08): Ich scheine zu diesem Problem gelöst zu haben. Von der Befehlszeile aus, Ich lief "c:\windowssystem32lodctr/r" als pro Eintrag reden InstallShield scheint Probleme und dass es für mich gelöst haben.

Ich habe bemerkt, dass in letzter Zeit, mein Desktop/Server-Lüfter schaltet sich niemals aus. Ich weiß, dass es verwendet, um deaktivieren. Ich brauchte einen Moment überprüfen es bemerkt, dass das ein VMware-Prozess lief eine konsequente 20% auf einer CPU Auslastung. Ich überprüfte das Ereignisprotokoll und sah diese Fehler im Anwendungsprotokoll passiert Dutzende Male pro minute:

Windows kann nicht geladen werden UGatherer der DLL für erweiterbare Leistungsindikatoren, Das erste DWORD im Datenabschnitt ist die Windows-Fehlercode.

Windows kann nicht geladen werden UGTHRSVC der DLL für erweiterbare Leistungsindikatoren, Das erste DWORD im Datenabschnitt ist die Windows-Fehlercode.

Windows kann nicht geladen werden MSSCNTRS der DLL für erweiterbare Leistungsindikatoren, Das erste DWORD im Datenabschnitt ist die Windows-Fehlercode.

Wenn ich in die Details eines dieser Nachrichten Bohren, Ich bekomme diese:

Quellcode: Perflib

Typ: Fehler

Kategorie: Keine

Ereignis-ID 1023

Ich habe einige Nachforschungen und es gab einige Anzeichen dafür, dass es ein Berechtigungen-Problem hinsichtlich des Zugangs zu den fraglichen DLLs sein könnte. Ich spielte mit dem Zeug, aber konnte keinen Einfluss auf Dinge in einer positiven Weise, also gab ich auf, dass.

VMware hatte mich herumzunörgeln wurde eine Aktualisierung seit geraumer Zeit, so dass ich die Version getuscht hatte ich installiert (offenbar bauen"1.0.1 29996") und Tat das update. Dies beförderte mich zu v1. 04. Leider, es das Problem nicht behoben..

Ich kann aufhören, die verrückte Anzahl von Nachrichten, an meine Anwendungsprotokoll, wenn ich einen Dienst namens "VMware Authorization Service" Herunterfahren. Dies verhindert, dass mich mit VMware-software, damit … nicht solch eine gute option.

Das Host-Betriebssystem ist Windows XP 64 Bit.

Ich glaube nicht, dass dies geschehen ist, immer, aber ich erinnere mich nicht, jedes besonderes Ereignis, das dazu geführt haben könnte.

Dies ist, warum ich Computer hasse.

</Ende>

Technorati Tags:

Schnell & Einfach: Benennen Sie hochgeladene Datei mit SharePoint-Objektmodell über einen Ereignisempfänger

UPDATE: Dies funktioniert aber es gibt erhebliche Einschränkungen, die in den Kommentaren beschrieben werden. Dies kann noch in einigen Umständen nützlich sein.

UPDATE 2: In meinem aktuellen Projekt, Benutzer hochladen immer Dokumente. Als Folge, Ich stoßen nicht auf ein Problem, wo MS Word ausgeführt wird und meint, dass die Datei, darauf umbenannt wurde. Ich auf ein Problem stoßen., "die Datei wurde von einem anderen Benutzer geändert" und dies über einen einfachen Semaphore-Typ-Flag gelöst. Benutzer müssen ein Meta-Datenfeld vom Standardwert auf etwas anderes ändern. Das ItemUpdated-Ereignis() Receiver sucht es einen gültigen Wert vor dem Ausführen der Umbenennung und seitdem, Ich habe keine Probleme gehabt.. Ihre Erfahrungen können variieren.

Ich habe eine Client-Anforderung, die in einer bestimmten Dokumentbibliothek mit einer bestimmten Namenskonvention entspricht hochgeladenen Dateien umbenennen. Die API bietet keine "umbenennen()" Methode. Stattdessen, Wir verwenden "MoveTo(…)". Hier ist ein minimaler Code dazu:

 öffentliche Überschreiben privatevoid ItemAdded(SPItemEventProperties Eigenschaften)
        {
            SPFile f = Properties.ListItem.File;

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

        }

Das nur schwierige Bit ist die "Eigenschaften. ListItem.ParentList.RootFolder.Url". Die MoveTo() Methode erfordert eine URL. Das Püree Zeichenfolge Punkte mich ins Stammverzeichnis des aktuellen Dokument Bibliothek. Dies ermöglicht es mir, zu vermeiden, keine harte Codierung in meinem Ereignisempfänger.

Dies ist ein nützlicher Version, die die gleiche Sache tut, aber weist den Namen der Datei auf "Titel":

 öffentliche Überschreiben privatevoid ItemAdded(SPItemEventProperties Eigenschaften)
        {
            DisableEventFiring();

            // Der Name der Datei selbst den Titel dieses Elements zuweisen.
 // HINWEIS: Diese Zuordnung muss stattfinden bevor wir die Datei selbst ändern.
 // Aufruf von update() auf die SPFile scheint ungültig, die Eigenschaften in
 // gewissermaßen.  Aktuelles zu "Titel" konnte bis zu ändern (und update() Aufruf)
 // wurden vor der Änderung in den Dateinamen verschoben.
            Eigenschaften.ListItem["Titel"] = Properties.ListItem.File.Name;

            Eigenschaften.ListItem.Update();

            SPFile f = Properties.ListItem.File;

            // Die Erweiterung der Datei zu erhalten.  Wir brauchen, die später.
 Zeichenfolge SpfileExt = Neu FileInfo(f.Name).Erweiterung;

            // Benennen Sie die Datei in der Listenelement-ID und verwenden die Datei-Endung zu
 // der Teil der es intakt.
            f.MoveTo(Eigenschaften.ListItem.ParentList.RootFolder.Url +
                "/" + Eigenschaften.ListItem["ID"] + spfileExt);

            // Begehen Sie den Umzug.
            f.Update();

            EnableEventFiring();
        }

Diskussionsforum: Best Practices-Durchsetzung in nicht-triviale MOSS-Umgebung

Fellow, "Mark", hat eine potenziell interessante Newsgroup-Diskussion "zur Gründung ausgezeichnete SharePoint Governance von Anfang an im Mittelpunkt gestartet" für eine 35,000 Benutzerumgebung.

Die Diskussion ist hier: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Auf über Pop und beitragen!

</Ende>

Benutzerdefinierte Aktions-URL wird nicht für neues Feature anzuzeigen.

Ich bin immer noch in die Gewohnheit der Gestaltung mein Feature-XML-Dateien von hand, denn es ist alles ziemlich neu für mich. Ich möchte nicht auf einem Front-End-Tool verlassen das Zeug hat, die, das ich nicht verstehen (Er sagte, als er schrieb einen Blog-Eintrag mit einem Tool, das er nicht versteht).

Heute, Ich habe versucht, die Websiteeinstellungen eine benutzerdefinierte Aktion hinzufügen, aber es würde nicht bloßstellen. Ich konnte das Feature installieren und sehen es in die Websitefeatures, aber wenn ich es aktiviert (ohne Fehler) Es würde nicht einfach über die Drop-Down-Menü angezeigt.

Ich erkannte schließlich, dass ich "SharePoint falsch geschrieben" in der Location-Attribut des der <CustomAction> Knoten. Dies ist die schlechte elements.xml-Datei:

<?XML Version="1.0" Codierung="UTF-8" ?>
<Elemente xmlns="http://Schemas.Microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolbar"
 GroupId="SiteActions"
 Lage="Microsoft.SharePoint.StandardMenu"
 Sequenz="100"
 Titel="Hallo!"
 Beschreibung="Benutzerdefiniertes Menüaktion über ein Feature hinzugefügt."
 ImageUrl="_layouts/images/menuprofile.gif">

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

  </CustomAction>
</Elemente>

Gut:

<?XML Version="1.0" Codierung="UTF-8" ?>
<Elemente xmlns="http://Schemas.Microsoft.com/SharePoint/">
  <CustomAction
 ID="SiteActionsToolBar"
 GroupId="SiteActions"
 Lage="Microsoft.SharePoint.StandardMenu"
 Sequenz="100"
 Titel="Hallo!"
 Beschreibung="Benutzerdefiniertes Menüaktion über ein Feature hinzugefügt."
    >
    <UrlAction URL="http://www.Xyzzy.com"/>
  </CustomAction>
</Elemente>

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

Ich nehmen Trost in der Tatsache, dass irgendwann in der Zukunft, Ich werde mit Überzeugung sagen können, "back in the day, Ich hatte drei Meilen bergauf im Schnee zu gehen (barfuß!) um eine benutzerdefinierte Funktion auf MOSS bereitstellen. Sie Kinder, Sie wissen nicht, wie einfach Sie es haben! Steigen Sie meinen Rasen!"

Kann nicht warten.

</Ende>

Technorati Tags: ,

Blog Statistik

Ich dachte, dass einige Leute in meinem Blog Statistiken interessiert sein könnten. Mir können als Benchmark Sie Ihre eigenen vergleichen.

Ich lasse mein Blog auf Windows live Spaces laufen. Sammeln sie Statistiken für mich und ich kenne keinen Weg, die Steuern. Es ist gut, so weit wie es geht, aber es ist ziemlich begrenzt, dass ich nicht viel ist-Analyse mit ihm tun kann. Ich würde gerne, zum Beispiel, um eine Liste von meinen die meisten häufig generieren können machen nicht hit Posts, aber ich ohne einen prohibitiv manuellen Prozess. Wenn jemand besser weiß, Bitte sagen Sie mir.

Räume Status Sag mir zu leben: Total Hits für den Tag, Total Hits für die Woche und Total Hits seit dem Tag NULL. Es sagt mir auch was Menschen getan habe, um an meinem Blog zu gelangen (zB. Google, MSDN Forum-link, usw.).

In gewisser Weise, ein "hit" liegt auf der Hand. Wenn Sie diesen Satz jetzt lesen, Sie haben sicherlich als einzigen Hit registriert..

RSS ist ein wenig verwirrend. Auf der einen Seite, Ich sehe den ganzen Tag einzelne RSS Treffer. Aber, Ich sehe auch RSS "ausgebremst". Eine Schwung ist, wenn ich sehe 20 oder 30 RSS Treffer in einem zweiten Fenster für ein oder zwei. Ich nehme an, dies sind automatisierte Dinge wie Google auf meiner Seite Einchecken, vielleicht andere Menschen Browsern … Weiß nicht. Sie sind auf jeden Fall eine Art automatisierter. Ich kann nicht sagen, jedoch, wie viele meiner total Hits automatisiert werden und wie viele ein tatsächlicher Mensch auf der anderen Seite haben. Ich vermute mindestens 100 Hits pro Tag werden automatisiert.

Auf die Zahlen!

Ich schrieb meinen ersten Blogeintrag am 27 Juli, 2007.

Ich habe ungefähr geschrieben 60 Blog-Einträge seitdem, mehr als 50 davon beziehen sich direkt auf SharePoint.

Ich begann zu behalten meine Hits in einer Kalkulationstabelle auf einer täglichen Basis Ende September.

Monatliche beginnt:

Erste Woche des: Total Hits
Oktober 1,234
November 2,162
Dezember 3,071
Januar 2008 4,253

Gesamt pro Monat

Monat Total Hits
Oktober 6,620
November 11,110
Dezember 13,138

Hochwassermarken

Typ Total Hits
Beste Tag 958
Beste Woche 4,253
Total Hits seit Tag Null 42,438

Ich interessiere mich für andere’ Statistiken. Falls du dich zu ihr in den Kommentaren zu teilen, Bitte tun Sie!

</Ende>

Technorati Tags:

Sonntag Morgen lustig: “Ja, Ja, Ja. Blah blah, blah blah, Blabla.”

Vor etwa sechs Jahren, mein 4 jähriger Sohn und ich waren gerade nach oben ein Discovery channel "Hai-Attacken" Spezial (Vielleicht diesmal). Er war an der Stelle sehr jung und ich hatte immer Angst, was er auf einer Show wie diese sehen könnte und wie er sie treffen könnte. Ich wollte nicht, ihn zu entwickeln, zum Beispiel, Alle spezielle Ängste des Wassers oder Blab etwas unangemessen zu seinen Freunden und möglicherweise dazu führen, dass sein Baby-Freund-Netzwerk zu Abstürzen kommen.

Entdeckung behandelt solche Themen sehr gut. Es geht nicht um die Schaffung einer Angst vor etwas, sondern vielmehr zu zeigen, wie ungewöhnlich für Haie um Menschen anzugreifen ist.

Also, Wir sehen es gerade und es gibt diesen einen besonders beängstigend Angriff mit einem kleinen Mädchen. Als Entdeckung das Drama des Angriffs baut, Mein Sohn (Wer war sowieso immer sehr nervös), ist immer sehr aufgeregt. Ich mache einige Geräusche über, wie ungewöhnlich es für Haie Menschen angreifen, und wie schlimm das arme Mädchen fühlen muss. Ich versuche zu erklären, dass Menschen von diesen Ereignissen erholen und dafür stärker werden. Jedoch, Ich hatte seine Aufregung missdeutet.. Er war nicht besorgt über das Mädchen überhaupt. Stattdessen, während klatschte in die Hände, Er sagt mir, "Das Sharks love it! Es ist großartig. Es ist wunderbar. Seinen Traum wahr werden!"

Ich dachte, dies war urkomisch, aber auch sehr störend. Auf der einen Seite, Ich war froh — sogar ein wenig stolz — dass er starke empathische Gefühle haben könnte, Kreuz-Arten können obwohl sie sein. Als Menschen, Wir müssen unsere "empathischen Muskeln entwickeln" so sprechen oder Sie werden am Ende bis gefallen dieser Kerl 🙂 On the other hand, Er fühlte Kreuz-Arten Empathie gegenüber einer Spezies, die feindselig zu seinem eigenen Verhalten ausstellen war. Ich war wirklich mit diesem kämpfen, wenn der Erzähler das Wort "Paradigma verwendet". Mein Sohn aufgegriffen, die und fragte mich, was das bedeutet.

Das ist nicht so ein leicht Wort zu beschreiben, zu einem vier Jahre alten, aber ich habe es ausprobiert. Wenn ich daran denke, das Wort "Paradigma", Thomas Kuhn ist nie weit von meine Gedanken. Ich lese Die Struktur wissenschaftlicher Revolutionen zurück auf Lafayette und zum guten oder zum schlechten, das Wort "Paradigma" ist schwanger mit zusätzlicher Bedeutung für mich. (So ähnlich wie das Wort "Kontakt" nach Anhörung einer Film Telefon-Stimme, die mir sagen, wo ich sehen könnte diesen Film [Ich dachte, das Buch war besser]; Ich sage mir immer, "KONTAKT!" Wenn ich sehe oder höre jemanden sagen "Kontakt").

Auf jeden Fall, Ich versuche ihm eine Kuhnian Definition erklären, Das ist "eine historische Bewegung des Denkens" und es ist eine "Art des Denkens mit einer Reihe von integrierten Annahmen, die schwer für die damals lebenden Menschen zu entkommen." Natürlich, Sie reden nicht wie mit einem vierjährigen, So versuche ich nacheinander in kleinere Stücke und Gefühl ziemlich stolz auf mich definieren, wie ich das tun. (Ich habe gerade wusste dass jemand außerhalb der Hochschule würdest, dass ich, Kuhn gelesen hatte!).

Ich bin gerade auf die Aufgabe Erwärmung, wenn er mich unterbricht. Seine Hand winken in meine Richtung und nie seine Augen von einem anderen brutalen Haiangriff, Er sagt nur, "Ja, Ja, Ja. Blah blah, blah blah, bla.".

So much for that 🙂

Zu diesem Zeitpunkt, Ich beschloss, weglaufen, rhetorisch sprechen, lehnen Sie sich zurück, und genießen, Haie, die Menschen mit meinem Sohn angreifen.

</Ende>

Technorati Tags:

Switch-Ansicht basierend auf Benutzer-ID In einem InfoPath-Formular

Wir hatten eine entwickelte ein InfoPath-Formular mit mehreren Ansichten zu unterstützen, eine neue Mitarbeiter / auf-Boarding-Prozess. Wenn das Unternehmen eine neue Person beauftragt, die IT-Abteilung und andere Gruppen müssen handeln (Einrichten von Lohn-und Gehaltsabrechnung, ermöglichen Sie den Zugriff auf entsprechende Anwendungen, Suchen Sie einen Schreibtisch, usw.). Wir verwenden auf Form, sondern eine andere Ansicht des Formulars für jede dieser Funktionen.

Bei dieser Firma, die meisten der betroffenen Menschen im Geschäftsprozess sind IT-versierte, Also, wenn sie auf das Formular zugreifen, die Standardansicht ist ein "Menü" mit Schaltflächen, die sie an ihre spezifische Funktion direkt anzeigen. Jedoch, Wir brauchten, um Dinge für die neue Miete direkten Vorgesetzten zu vereinfachen. Diese Person sollte nicht sehen, jeder der IT Zeug verbunden ist. Tatsächlich, Sie sollten nur eine Ansicht des Formulars zu sehen und nicht einmal haben die Möglichkeit, die anderen Ansichten finden Sie unter.

In unserem Fall, die direkten Vorgesetzten Konto direkt an das Formular mit freundlicher Genehmigung von gebunden ist ein Kontakt-Selektor (Das bin ich immer wollen, rufen Sie eine Personenauswahl"" aus irgendeinem Grund).

Die Schritte sind wie folgt:

1. Im Entwurfsmodus, gehen Sie zu Extras-> Formularoptionen-> Öffnen und speichern.

2. Wählen Sie "Regeln".

3. Erstellen Sie eine neue Regel, deren Aktion ist "wechseln Sie zum Anzeigen" und deren Zustand nutzt der Benutzername() Funktion.

Benutzername() Gibt die "einfache" Benutzername ohne Domäne. Wenn ich in SharePoint melden Sie sich mit Anmeldeinformationen "Domainpagalvin", Benutzername() gibt "Pagalvin".

Die Kontakte-Auswahl bietet drei Bits von Informationen für einen Kontakt. Die AccountID"" Teil eignet sich am besten für dieses Szenario. Das einzige, das macht auch ein bisschen, was von Herausforderung ist, dass der Kontakt-Auswahl (in meinem Umfeld sowieso) Gibt die Domäne und Benutzer-ID, wie in "Domainpagalvin". Dies verhindert, dass uns dabei ein geradlinig Gleichheitsbedingung seit AccountID ("Domainpagalvin") UserName wird nie gleich.() ("Pagalvin").

Wir bekommen können, um diese mit der "enthält" Operator: AccountID enthält Benutzername().

Wir können es weiter und Pre-Pend eine hartcodierte Domäne vor dem Benutzernamen nutzen() Funktion um unsere Überprüfung auf Gleichheit und beseitigen das Risiko der falsch-positiven auf die enthält Operator.

WIRKLICH müssten wie wir Ansicht für andere Benutzer auf ihre AD Sicherheitsgruppen-Mitgliedschaft automatisch wechseln. Zum Beispiel, Wenn ein Mitglied des "es Analytics" Gruppe greift auf das Formular, automatisch auf die IT-Analytics-Ansicht wechseln. Wir hatten keine Zeit, sie umzusetzen, aber mein erste Gedanke ist einen Webdienst erstellen, der eine Methode wie "IsMemberOfActiveDirectorySecurityGroup" hätte, übergeben sie den Benutzernamen() und wieder zurück true oder false. Jemand hat anderen?, weitere clevere Idee? Gibt es SharePoint-Funktion, die wir, von InfoPath nutzen können zu machen, dass die Bestimmung?

</Ende>

Technorati Tags:

Ein InfoPath-Formular versehentlich Code hinzufügen; Absichtlich entfernen

Beim Arbeiten mit Schaltflächen in einem Formular, Wir fügen oft Regeln. Sie zugreifen die Eigenschaften der Schaltfläche den Regel-editor.

Wenn Sie klicken um schnell, Es ist leicht versehentlich auf "Formularcode bearbeiten klicken" anstelle von "Regeln …".

Das erste Mal tat ich dies, Ich abgebrochen aus der Code-editor. Jedoch, als ich versuchte, das Formular etwas später veröffentlichen, es erforderlich, dass ich als ein "vom Administrator genehmigte Formularvorlagen veröffentlichen (Erweiterte)". Ich habe tatsächlich eine Programmierung nicht und ich wollte absolut nicht durch unnötige Genehmigungsprozess gehen. Ich war ein bisschen Panik damals aus zeitlichen Gründen. In der Vergangenheit es, Ich einfach eine vorherige Sicherung wiederhergestellt und setzte. Ich hatte vor kurzem gesehen, einige Blogbeiträge über Menschen gehen in der Form von XML in Dinge optimieren und ich hatte Angst, dass ich etwas ähnliches tun müssten.

Heute, Ich habe es wieder. Dieses Mal, Ich hatte ein wenig mehr Zeit auf meinen Händen und festgestellt, dass Sie dies leicht rückgängig machen können.

Gehe zu:

Werkzeuge-> Formularoptionen-> Programmierung: "Entfernen Sie Code"

Es bekommt keinen wesentlich einfacher als das.

</Ende>

Technorati Tags: ,