Archives Catégorie: Uncategorized

Conférence de pratiques exemplaires de SharePoint, “Meilleures pratiques,” et l'éléphant dans la pièce

J'ai eu la chance d'assister et de présenter à la Conférence SharePoint meilleures pratiques de la semaine dernière. Je suis encore nouveau à l'ensemble, parlant de "chose" et, franchement, J'étais un peu nerveux pour le premier semestre, alors que j'ai sué attente de me parler. Ce sentiment peu nerveux rendu un peu difficile pour moi de faire attention aux présentateurs (non pas que j'ai ignoré leur). Au lieu de cela, Je me suis concentré un peu plus sur les participants.

Conférences toujours régler mes courses d'esprit et il y avait une prise beaucoup dans celui-ci. Cette conférence était excellente. Je pense qu'il était inhabituel de plusieurs façons. Ce n'est pas une conférence des développeurs lourd. Il y a certainement des parties dev lui, mais je pense que c'était au moins 60% axé sur les questions de non-dev, peut-être aussi haut que 80%. Je pense qui parle à la nature changeante du marché SharePoint. Entreprises mettent en œuvre SharePoint dans une variété de façons, et ils cherchent des conseils sur la façon de faire les choses. Et pas seulement sur la façon de créer des fonctionnalités/solutions (qui maintenant, a été très bien établi).

Je crois que la Conférence a été extrêmement utile pour presque tout le monde qui ont participé et je sais que les organisateurs prévoient de faire la Conférence à nouveau début d'année prochaine.

Cela dit, Selon moi, il y avait une occasion manquée, qui je l'espère les adresses suivante de la Conférence. Je dis que c'est une occasion manquée, mais ce n'est pas une mauvaise chose. Découvrir un besoin de communauté est en soi une bonne chose. La Conférence a examiné un certain nombre de meilleures pratiques dans divers domaines tels que la gouvernance, formation, exigences de collecte, recherche, développement, architecture de l'information, etc.. Je pense que l'occasion manquée a à voir avec le « green field" hypothèses sous-jacentes à bon nombre des meilleures pratiques.

Quand on parle de champ vert, Nous entendons que SharePoint n'a pas été mise en production et nous commençons avec une ardoise propre. C'est idéal parce que vous pouvez commencer tout de suite selon les meilleures pratiques permettant de définir et de gestion de, architecture de l'information, etc.. Cependant … que se passe-t-il lorsque vous êtes déjà en production avec plusieurs milliers d'utilisateurs (ou 10 de milliers) et vous n'a pas suivi les pratiques exemplaires au début? J'ai vu des entreprises avec … Hum … un très impair architecture de l'information intégrée dans leur environnement. Je ne pense pas que cette conférence donné beaucoup directives pour les organisations ayant ce genre de problème (et je ne parle pas seulement IA, mais la gouvernance, recherche, bien d'autres domaines). Bien sûr, sachant que vous avez un problème est une grande partie de la solution et c'est très précieux.

Je pense que la Communauté SharePoint en ligne n'a pas fait beaucoup pour remédier soit. Je sais que je n'ai pas. C'est un problème très difficile à résoudre à plusieurs niveaux. Techniquement, il est difficile. Économique, il est difficile. Sur le plan culturel, Il est difficile. Cependant, C'est probablement un plus grand problème du monde réel que la plupart. Depuis la fin de la Conférence, J'ai beaucoup pensé à ce genre de problèmes et comment on pourrait résoudre leur. Il doit y avoir une meilleure réponse que, « désinstaller et réinstaller" et la Communauté doit faire face à ce chef sur.

Je pense que c'une grande opportunité pour la communauté des blogueurs et expérimenté la pensée des dirigeants d'exposer quelques indications sur la façon de réparer leurs environnements. Je pense qu'il y a une petite mais risque non-nul que SharePoint pourrait se retrouver avec une réputation mauvaise et durable fait de mal architecturé implémentations qui échouent en raison de la mauvaise gouvernance, IA, etc..

</fin>

S'abonner à mon blog.

Tags Technorati:

Séminaire en ligne de tableaux de bord SharePoint

Mon ami en ligne, Mark Miller au-dessus et SharePoint de l'utilisateur final (www.endusersharepoint.com) exécute un séminaire gratuit 1 heure ciblé, comme il le fait toujours, à la communauté d'utilisateur SharePoint. Il se déroule à 1 pm EDT. Détails sont ici: http://www.endusersharepoint.com/?p=785

J'ai assisté à un de son séminaire en ligne le mois dernier et il a été fait très bien et si vous êtes intéressé par des infos très pratiques sur les tableaux de bord dans SharePoint, Je ne sais pas il est à la 1 investissement de l'heure.

</fin>

S'abonner à mon blog.

Tags Technorati: ,

FBA et SQL Server: Une histoire d'amour

Mon collègue a travaillé sur un composant WebPart dans un environnement de FBA. Entre autres choses, le composant WebPart tire des données de SQL server. Le grand plan de ce projet exige qu'un DBA configure la sécurité niveau de données dans SQL (par opposition à l'incorporation d'un ID utilisateur dans une requête SQL ou d'une autre approche).

Le problème est que SQL server ne sait rien notre environnement EEA, donc il ne peut pas nous faire confiance. Nous avons résolu ce problème en, faute d'un meilleur mot, passer manuellement pour un utilisateur AD afin que nous pourrions nous connecter à SQL telles que données SQL niveau sécurité travaux.

Bien qu'EEA est une fonctionnalité d'ASP.NET, nous, peuple de SharePoint Nation avons enseigné la recherche de divers moteurs que si vous vous interrogez pour FBA, vous voulez savoir comment configurer FBA dans SharePoint doit dire. Je n'ai pas trouver tout renseignement sur la façon d'activer un FBA orienté application ASP.NET pour communiquer avec SQL dans la façon dont nous avions besoin de trouver.

Dans le cadre des recherches sur ce, Nous re-lire cet article: Emprunt d'identité ASP.NET

Plus de recherche nous a conduit à cet article codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Qui nous a aidé à écrire notre code, qui j'ai inclus ci-dessous. Il n'est pas les trucs plus chics, mais cela a fonctionné. J'espère que vous trouverez utile.

Voici le code qui a fonctionné pour nous:

protégé Sub btnSearchCarrier_Click(ByVal sender, EventArgs e)
 {
 Essayez
 {
 ImpersonateUser UI = Nouveau ImpersonateUser();
 // TODO: Remplacer les informations d'identification iU.Impersonate(« DomainName », « Nom d'utilisateur », « Password »);

//
 CODE
//

 iU.Undo();
 }
 captures (System.Exception ex)
 {

 }
 }

// À l'aide de la classe de l'emprunt d'identité comme mentionné ci-dessous.

public classe ImpersonateUser
 {
 [DllImport(« advapi32.dll », SetLastError = True)]
 public statique extern bool LogonUser(
 Chaîne lpszUsername,
 Chaîne lpszDomain,
 Chaîne lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 Réf IntPtr phToken);

 [DllImport(« kernel32.dll », CharSet = CharSet.Auto)]
 privé extern statique bool CloseHandle(Handle IntPtr);

 privé statique IntPtr tokenHandle = Nouveau IntPtr(0);
 privé statique WindowsImpersonationContext impersonatedUser;

 // Si vous intégrer ce code dans une DLL, n'oubliez pas d'exiger qu'elle
 // fonctionne avec FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Nom = « FullTrust »)]
 public Impersonate Sub(chaîne NomDomaine, String userName, mot de passe de chaîne)
 {
 Essayez
 {

 // Utilisez la fonction non managée LogonUser pour obtenir l'utilisateur jeton
 // l'utilisateur spécifié, domaine, et le mot de passe.
 const int LOGON32_PROVIDER_DEFAULT = 0;

 // En passant ce paramètre provoque LogonUser créer un jeton principal.
 const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Étape -1 Appeler LogonUser pour obtenir un handle sur un jeton d'accès.
 bool returnValue = LogonUser(
 nom d'utilisateur,
 nom de domaine,
 mot de passe,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Réf tokenHandle); // tokenHandle - nouveau jeton de sécurité

 Si (== false returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine(« Appel de LogonUser a échoué avec le code d'erreur : " +
 RET);
 jeter nouveau System.ComponentModel.Win32Exception(RET);
 }

 // Étape - 2
 WindowsIdentity newId = Nouveau WindowsIdentity(tokenHandle);
 // Étape -3
 impersonatedUser = newId.Impersonate();

 }
 captures (System.Exception ex)
 {
 Console.WriteLine("Exception s'est produite. " + ex.Message);
 }
 }


 /// <Résumé>
 /// Emprunt d'identité s'arrête
 /// </Résumé>
 public Undo Sub()
 {
 impersonatedUser.Undo();
 // Libérer les jetons.
 Si (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</fin>

S'abonner à mon blog.

Tags Technorati:

Ajout de la tradition: SSRS Me dit “rsAccessDenied”, Mais … Je dois vraiment accès

A quelques semaines de retour, Je travaillais avec mon collègue développeur sur un projet SQL Server Reporting Services plug-in pour MOSS. Il a été l'élaboration d'un composant WebPart qui fournit une fantaisie frontale au bon rapport (la caractéristique principale étant une recherche intelligente sur un paramètre à plusieurs valeurs consultables mille derrière elle).

Il travaillait beaucoup dans l'environnement de développement, mais dans les tests d'acceptation utilisateur (UAT) environnement, il ne fonctionne pas. Tirant vers le haut le débogueur, Nous verrions des détails de l'exception comme ceci:

Les autorisations accordées à l'utilisateur « UAT_domainmosssvc » sont insuffisantes pour effectuer cette opération.(rsAccessDenied).

Si vous effectuez une recherche direct sur l'erreur ci-dessus, vous trouvez que c'est assez fréquent. Effroyablement commune. Les causes de la pire espèce de commune parce qu'il a beaucoup de racine potentiels différents et solution proposée de tout le monde "se sent" droit. Nous avons essayé probablement tous.

Dans notre cas, le problème était que nous avions fait une sauvegarde/restauration de DEV à UAT. Quelque part dans les données, quelque chose se référait toujours à "DEV_domain" (au lieu de la mise à jour « UAT_Domain »). Nous avons créé un nouveau site, ajouter que le composant WebPart et qui a résolu notre problème.

J'espère que cela permettra d'économiser quelqu'un une heure ou deux sur la ligne.

</fin>

S'abonner à mon blog.

Tags Technorati:

Annonce publique mineur: Contacter espace propriétaires et les paramètres de sécurité de Live de Windows

Je reçois quelques messages de particuliers via la fonction intégrée "Envoyer un message" fonction Microsoft fournit avec espaces vivants (qui héberge aussi mon blog) tous les mois.

Environ un tiers du temps, Ces utilisateurs ont trouvé leur compte live espaces tels que je ne peux pas répondre. Il s'agit d'une sorte de fonction anti-spam que je suppose.

</fin>

Sont “Erreur inconnue” Messages vraiment mieux qu'une Trace de la pile?

Je lisais le billet de blog de Madhur comment activez la stack trace affiche et maintenant je me demande: Pourquoi ne nous toujours afficher une trace de la pile?

Qui est venu à cette règle et pourquoi suivre ce?

Utilisateurs finaux saura que quelque chose ne va pas dans les deux cas. Au moins avec une trace de la pile, ils peuvent appuyer sur Impr-contrôle, Copiez/collez dans un e-mail et l'envoyer à elle. Qui réduirait nettement le temps et l'effort requis pour résoudre le problème.

</fin>

Tags Technorati:

C'est pourquoi je ne suis pas comme à l'aide des outils jour zéro

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

Si l'outil est faire des trucs vous ne comprenez pas, et puis il ne parvient pas à l'étape n d'un nombre indéterminé d'étapes, vous êtes morts dans l'eau…

</fin>

Tags Technorati:

ID de l'événement 1023: “Windows ne peut pas charger le compteur extensible MSSCNTRS DLL”

MISE À JOUR (04/08/08): Il me semble avoir résolu ce problème. La ligne de commande, J'ai couru « c:\windowssystem32lodctr/r" Selon une entrée parle de InstallShield problèmes et qui semble il ont résolu pour moi.

J'ai remarqué que dernièrement, mon ventilateur de bureau/serveur jamais s'éteint. Je sais qu'il utilisé pour éteindre. J'ai pris un moment pour vérifier dehors remarqué que l'un processus VMware s'exécutait un uniforme 20% utilisation sur l'un de la CPU. J'ai vérifié le journal des événements et a vu ces erreurs dans le journal des applications qui passe des dizaines de fois par minute:

Windows ne peut pas charger le compteur extensible DLL UGatherer, le premier DWORD dans la section données est le code d'erreur Windows.

Windows ne peut pas charger le compteur extensible DLL UGTHRSVC, le premier DWORD dans la section données est le code d'erreur Windows.

Windows ne peut pas charger le compteur extensible MSSCNTRS DLL, le premier DWORD dans la section données est le code d'erreur Windows.

Si je percer les détails d'un de ces messages, J'obtiens ceci:

Source: Perflib

Type: Erreur

Catégorie: Aucun

ID de l'événement 1023

J'ai fait quelques recherches et il y avait une idée, ça pourrait être un problème d'autorisation en matière d'accès aux dll en question. J'ai joué un peu avec ce genre de choses, mais ne pouvait affecter les choses de manière positive, alors j'ai laissé tomber là-dessus.

VMware avait été me harceler à effectuer une mise à jour depuis un certain temps, donc je note la version que j'avais installé (apparemment « 1.0.1 construire 29996 ») et fait la mise à jour. Cela m'a surclassé à v1.04. Malheureusement, Il n'a pas fixé la question.

Je ne peux arrêter le nombre fou de messages adressés à mon journal de l'application si j'arrête un service appelé « Service d'autorisation de VMware ». Cela m'empêche d'utiliser le logiciel VMware, donc … pas cette option grande.

Le système d'exploitation est Windows XP 64 bit.

Je ne pense pas que c'est toujours arrivé, mais je ne me rappelle aucun événement particulier qui aurait pu conduire à elle.

C'est pourquoi je déteste les ordinateurs.

</fin>

Tags Technorati:

Forum Discussion: Meilleures pratiques respecter dans l'environnement de mousse Non négligeable

Fellow, « Mark », a commencé une discussion de groupe de discussion potentiellement intéressants mettant l'accent sur le "établissement d'excellente gouvernance SharePoint depuis le début" pour un 35,000 environnement de l'utilisateur.

La discussion est ici: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Sur plus de pop et de contribuer!

</fin>