Archiv der Kategorie: Allgemein

SharePoint Best Practices Konferenz, “Empfehlungen,” und der Elefant im Raum

Ich hatte das Glück zu besuchen und auf SharePoint Best Practices Konferenz letzte Woche präsentieren. Ich bin noch neu in der ganzen "Sache sprechen" und, offen, Ich war im ersten Halbjahr ein bisschen nervös, während ich geschwitzt, warten auf mich zu sprechen. Dieses Art von nervösen Gefühl machte es ein wenig schwer für mich zu den Moderatoren beachten (nicht, dass ich sie schlichtweg ignoriert). Stattdessen, Ich konzentrierte mich ein bisschen mehr auf die Teilnehmer.

Konferenzen immer gesetzt mein Geist-Rennen und gab es eine Menge nehmen in an diesein. Diese Konferenz war ausgezeichnet. Ich denke, dass es in mehrfacher Hinsicht ungewöhnlich war. Es war keine schwere Entwicklerkonferenz. Es gab sicherlich Dev Teile darauf, aber ich denke, es war zumindest 60% sich mit nicht-Dev Themen, vielleicht so hoch wie 80%. Ich denke, dass das auf den sich entwickelnden Charakter des Marktes SharePoint spricht. Unternehmen implementieren SharePoint in einer Vielzahl von Möglichkeiten und sie sind auf der Suche nach Anleitungen wie man es richtig machen. Und nicht nur Anleitungen zum Erstellen von Funktionen/Lösungen (die nun, hat sich sehr gut etabliert).

Ich glaube die Konferenz war enorm wertvoll für alle, die teilgenommen und ich weiß, dass die Organisatoren die Konferenz wieder Anfang nächsten Jahres tun möchten.

Dies vorausgeschickt, Ich glaube, es war eine verpasste Chance, die hoffentlich die nächsten Konferenz-Adressen. Ich sagen, es ist eine verpasste Chance, aber das ist nicht schlecht. Entdecken Sie Gemeinschaft Bedarf an und für sich ist eine gute Sache. Die Konferenz diskutiert eine Reihe von best Practices in einer Vielzahl von Bereichen wie regieren, Ausbildung, Anforderungen sammeln, Suche, Entwicklung, Informations-Architektur, usw.. Ich denke, dass die verpasste Chance hat zu tun mit der "grünen Wiese" Annahmen, die viele der best practices.

Wann sprechen wir über die grüne Wiese, meinen wir, dass SharePoint nicht in Produktion gegangen und wir mit einer sauberen Weste beginnen. Dies ist ideal, da können Sie beginnen sofort mit bewährten Methoden zum Definieren und Verwalten von Regierungsführung, Informations-Architektur, usw.. Jedoch … Was passiert, wenn Sie bereits in der Produktion mit mehreren tausend Benutzern (oder 10 Tausenden) und nicht empfohlenen Vorgehensweisen zu Beginn? Ich habe gesehen, dass Unternehmen mit … ähem … ein sehr ungerade Informationsarchitektur, gebacken in ihrer Umgebung. Ich glaube nicht, dass diese Konferenz viel für Organisationen mit dieser Art von Problem bereitgestellt (und ich meine nicht nur IA, aber regieren, Suche, vielen anderen Bereichen). Natürlich, zu wissen, dass Sie ein Problem haben, ist ein großer Teil der Lösung und das ist sehr wertvoll.

Ich denke, dass die online SharePoint-Community viel um dies entweder nicht getan. Ich weiß, dass ich nicht. Es ist ein sehr schwieriges Problem auf vielen Ebenen zu lösen. Technisch ist es schwer. Es ist schwer Budget-Wise. Kulturell, Es ist schwer. Jedoch, Es ist wohl ein größeres Problem der realen Welt als die meisten. Da die Konferenz endete, Ich habe nachgedacht über solche Probleme und wie man sie lösen würde. Es muss eine bessere Antwort als, "deinstallieren und neu installieren" muss die Gemeinschaft, sich der Kopf auf.

Ich denke, dass dies eine große Chance für die Blogging-Community und erfahrenen Führern zu legen, einige Hinweise zur Reparatur ihrer Umgebungen gedacht. Ich denke, es ist ein kleines aber Null-Risiko, die SharePoint mit einem schlechten und anhaltenden Ruf aufgrund des schlecht landen konnte konzipiert-Implementierungen, die aufgrund von schlechter Regierungsführung fehl, IA, usw..

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

SharePoint-Dashboards-Online-Seminar

Mein online-Freund, Mark Miller über und Endbenutzer SharePoint (www.endusersharepoint.com) läuft ein kostenloses einstündiges Seminar gezielt, wie er es immer tut, der Endbenutzer SharePoint-Community. Sie findet statt bei 1 p.m. EDT. Details finden Sie hier: http://www.endusersharepoint.com/?p=785

Ich habe saß auf einer der seine online-Seminar letzten Monat und es geschah ganz gut und wenn Sie einige sehr praktische Informationen über Dashboards in SharePoint interessiert sind, Ich bin mir sicher, es lohnt sich die 1 Stunde Investitionen.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags: ,

FBA und SqlServer: Eine Liebesgeschichte

Mein Kollege hat ein Webpart in einer FBA-Umgebung arbeiten. Unter anderem, das Webpart zieht einige Daten aus SQLServer. Der großen Plan für dieses Projekt vorschreibt, dass ein DBA in SQL Daten Sicherheitsstufe konfiguriert (im Gegensatz zum Einbetten einer Benutzer-ID in einer SQL-Abfrage oder einige andere Ansatz).

Das Problem ist, dass SQLServer nicht weiß nichts über unsere FBA-Umgebung so dass es uns nicht vertrauen können. Wir lösen dieses Problem durch, in Ermangelung eines besseren Wortes, manuell imitieren einen AD-Benutzer, so dass wir eine Verbindung zu SQL, konnte so dass SQL-Daten-Sicherheit-Stufe.

Obwohl FBA ein ASP.NET-Feature ist, Wir SharePoint Nation Menschen gelehrt haben, die verschiedenen Suchmaschinen Wenn Sie FBA Abfragen sind, Sie müssen bedeuten, dass Sie wollen wissen, wie man FBA in SharePoint konfigurieren. Ich konnte nicht finden, finden Sie alle Informationen zum Aktivieren eines FBA orientierte ASP.NET Anwendung mit SQL in der Weise kommunizieren wir brauchten.

Im Zuge der Erforschung dieses, Wir haben wieder diese Artikel lesen: ASP.NET Identitätswechsel

Mehr Forschung führte uns zu diesem Artikel codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Das half uns unser Code schreiben, die ich unten aufgeführt habe. Es ist nicht das eleganteste Zeug, aber es hat funktioniert. Ich hoffe, dass Sie es hilfreich.

Hier ist der Code, der für uns gearbeitet:

geschützt void btnSearchCarrier_Click(Objekt-Absender, EventArgse)
 {
 versuchen
 {
 ImpersonateUser iU = Neu ImpersonateUser();
 // TODO: Ersetzen Sie Anmeldeinformationen iU.Impersonate("DomainName", "UserName", "Passwort");

//
 CODE
//

 iU.Undo();
 }
 fangen (Exception ex)
 {

 }
 }

// Verwendung von Identitätswechsel-Klasse, wie unten erwähnt.

öffentliche Klasse ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = wahr)]
 öffentliche statische Ext. Bool LogonUser(
 Zeichenfolge lpszUsername,
 Zeichenfolge lpszDomain,
 Zeichenfolge lpszPassword,
 Int dwLogonType,
 Int dwLogonProvider,
 Ref IntPtr-phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 Privat Ext. statische Bool CloseHandle(IntPtr handle);

 Privat statische IntPtr-TokenHandle = Neu IntPtr(0);
 Privat statische WindowsImpersonationContext impersonatedUser;

 // Wenn Sie diesen Code in eine DLL einbinden, Achten Sie darauf, daß es verlangen
 // läuft mit FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
 öffentliche privatevoid Impersonate(Zeichenfolge-domainName, Zeichenfolge Benutzernamen, Zeichenfolge-Passwort)
 {
 versuchen
 {

 // Verwenden Sie die nicht verwaltete Funktion LogonUser, um Benutzer für token erhalten
 // der angegebene Benutzer, Domäne, und Passwort.
 const Int LOGON32_PROVIDER_DEFAULT = 0;

 // Übergabe dieser Parameter bewirkt, dass LogonUser ein primäres Token erstellen.
 const Int LOGON32_LOGON_INTERACTIVE = 2;
 TokenHandle = IntPtr.Zero;

 // Schritt -1 Rufen Sie LogonUser erhalten Sie einen Handle für ein Zugriffstoken auf.
 Bool ReturnValue = LogonUser(
 Benutzername,
 domainName,
 Passwort,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Ref tokenHandle); // tokenHandle - neue Sicherheits-token

 If (false == ReturnValue)
 {
 Int ret = GetLastWin32Error();
 Console.WriteLine("LogonUser-Aufruf ist fehlgeschlagen mit Fehlercode : " +
 Ret);
 werfen neue System.ComponentModel.Win32Exception(Ret);
 }

 // Schritt - 2
 WindowsIdentity NewId = Neu WindowsIdentity(tokenHandle);
 // Schritt -3
 ImpersonatedUser = newId.Impersonate();

 }
 fangen (Exception ex)
 {
 Console.WriteLine("Ausnahme ist aufgetreten. " + Ex.Nachricht);
 }
 }


 /// <Zusammenfassung>
 /// Haltestellen Identitätswechsel
 /// </Zusammenfassung>
 öffentliche void rückgängig()
 {
 impersonatedUser.Undo();
 // Die Token gratis.
 If (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

Hinzufügen der Lore: SSRS sagt mir “rsAccessDenied”, Aber … Ich habe wirklich Zugriff

Ein paar Wochen zurück, Ich arbeitete mit meinem Kollegen Entwickler an einem Projekt mit SQL Server Reporting Services-Plug-in für MOSS. Er entwickelte einen Webpart, der Front-End für den richtigen Bericht Lust bereitstellt (Das wichtigste Merkmal wird ein clever-Lookup auf einen Parameter mit mehreren tausend durchsuchbare Werte dahinter).

Dies war groß in der Entwicklungsumgebung, sondern in der Benutzerakzeptanztest tätig. (UAT) Umgebung, Es würde nicht funktionieren. Feuern Sie den debugger, Wir würden Ausnahmedetails wie diese sehen.:

Die Berechtigungen an Benutzer, dass 'UAT_domainmosssvc' zum Ausführen des Vorgangs nicht ausreichen.(rsAccessDenied).

Wenn Sie eine live-Suche auf die obige Fehlermeldung tun, Sie finden, dass es durchaus üblich ist. Erschreckend häufig. Die schlimmste Art von gemeinsamen, da es viele verschiedene mögliche Wurzel hat verursacht und jedermanns Lösungsvorschlag "fühlt" rechts. Wahrscheinlich haben wir versucht sie alle.

In unserem Fall, das Problem war, dass wir ein Backup/Restore der DEV UAT getan hatte. Irgendwo in den Daten, etwas bezog sich noch auf "DEV_domain" (statt die aktualisierte "UAT_Domain"). Wir haben eine neue Website, hinzugefügt, dass das Webpart, und dass unser Problem gelöst.

Hoffentlich wird dies jemand ein oder zwei Stunden auf der ganzen Linie sparen.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

Kleinere öffentliche Bekanntmachung: Windows Live Sicherheitseinstellungen und Kontaktaufnahme mit Raum-Eigentümer

Ich erhalte einer Handvoll Nachrichten von Personen über den integrierten "eine Nachricht senden" Funktion Microsoft bietet mit live spaces (die Gastgeber auch mein blog) jeden Monat.

Etwa ein Drittel der Zeit, Diese Benutzer haben ihre live Spaces Konto gesichert, so dass ich kann nicht Antworten. Dies ist eine Art von Anti-Spam-Funktion, die ich übernehmen.

</Ende>

Sind “Unbekannter Fehler” Nachrichten wirklich besser als einen Stack-Trace?

Ich las von Madhur Blog-Post zum Aktivieren Sie Stapel Ablaufverfolgung zeigt und nun frage ich mich: Warum wir nicht immer zeigen einen Stack-trace?

Wer kam mit dieser Regel und warum wir es folgen?

Endanwender werden wissen, dass etwas nicht stimmt in jedem Fall. Mindestens mit einen Stack-Trace, Sie können die Steuerelement-Printscreen drücken., Kopieren/Einfügen in eine e-Mail und senden sie es an. Dass würde deutlich verringern, Zeit und Aufwand benötigt, um das Problem zu lösen.

</Ende>

Technorati Tags:

Böse Microsoft URL

Doch eine Google-Suche:

Bild

Ich klicke auf den Link oben hervorgehoben ("Downloaddetails: Windows SharePoint…").

Ich bekomme diese:

Bild

Beachten Sie die URL.

Ziemlich verdächtig für mich. Ich weiß nicht, ob ich lachen sollte, kichern oder Aufruf zum Priester.

</Ende>

Technorati Tags:

Dies ist, warum ich nicht wie mithilfe von Tools Tag Null

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

Wenn das Tool Zeug geht nicht verstanden und dann scheitert es in Schritt n von einer unbekannten Anzahl von Schritten, Du bist tot im Wasser…

</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:

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>