Archivo de la categoría: Sin categoría

Conferencia de SharePoint de mejores prácticas, “Mejores prácticas,” y el elefante en la habitación

Tuve la suerte de asistir y presentar en la Conferencia de SharePoint las mejores prácticas de la semana pasada. Soy todavía nuevo a todo el que habla de "cosa" y, Francamente, Estaba un poco nervioso durante la primera mitad mientras yo sudaba fuera esperando para hablar de mí mismo. Esa sensación de nerviosa hace un poco difícil para mí a prestar atención a los presentadores (No es que los ignoré). En su lugar, Me he centrado un poco más en los asistentes.

Conferencias siempre mis carreras de mente y hubo una toma mucho en este. Esta conferencia fue excelente. Creo que era inusual en varios aspectos. No era una conferencia de desarrolladores pesado. Sin duda había partes de dev a él, Pero creo que fue por lo menos 60% se centró en temas no-dev, tal vez tan alto como 80%. Creo que habla de la naturaleza cambiante del mercado de SharePoint. Las empresas están implementando SharePoint en una variedad de formas y están buscando orientación sobre cómo hacer las cosas bien. Y orientación no sólo sobre cómo crear soluciones de características (que por ahora, se ha establecido muy bien).

Creo que fue tremendamente valiosa para casi cada persona que asistió a la Conferencia y sé que los organizadores planean hacer la Conferencia otra vez principios del próximo año.

Habiendo dicho eso, Creo que hubo una oportunidad perdida que espero las siguiente direcciones de conferencia. Digo que es una oportunidad perdida, pero eso no es malo. Descubrir una necesidad de la comunidad es en sí misma algo bueno. La Conferencia examinó una serie de mejores prácticas en una variedad de áreas como la gobernanza, entrenamiento, Relevamiento de requerimientos, búsqueda, desarrollo, arquitectura de la información, etc.. Creo que la oportunidad perdida tiene que ver con el campo verde"" supuestos subyacentes a muchas de las mejores prácticas.

Cuando hablamos de campo verde, queremos decir que SharePoint no ha entrado en producción y estamos empezando con una pizarra limpia. Esto es ideal porque puede empezar a usar enseguida las mejores prácticas para la definición y gestión de gobierno, arquitectura de la información, etc.. Sin embargo … ¿Qué sucede cuando usted ya está en producción con varios miles de usuarios (o 10 de miles) y no seguiste las mejores prácticas al principio? He visto empresas con … Ejem … una muy impar arquitectura de la información al horno en su entorno. No creo que esta Conferencia proporcionó mucha orientación para las organizaciones con este tipo de problema (y no sólo me refiero a IA, Pero el gobierno, búsqueda, muchas otras áreas). Claro, sabiendo que tienes un problema es una gran parte de la solución y eso es muy valioso.

Creo que la comunidad de SharePoint en línea no ha hecho mucho para abordar este bien. Sé que no tengo. Es un problema muy difícil de resolver en muchos niveles. Técnicamente es difícil. Económico-racional es difícil. Culturalmente, es difícil. Sin embargo, probablemente es un problema del mundo real más grande que la mayoría. Desde que terminó la Conferencia, He estado pensando este tipo de problemas y cómo uno resolverlos. Tiene que haber una respuesta mejor que, "desinstalar y reinstalar" y la comunidad tiene que afrontarlo cabeza en.

Creo que esto una gran oportunidad para la comunidad de blogs y experimentados líderes de opinión para exponer algunas orientaciones sobre cómo reparar sus entornos. Creo que hay un pequeño pero distinto de cero riesgo que SharePoint podría terminar con una reputación mala y duradera como consecuencia de mal diseñada implementaciones que no debido a la mala gestión de gobierno, IA, etc..

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

Seminario en línea de paneles de SharePoint

Mi amigo en línea, Mark Miller sobre y Usuario final SharePoint (www.endusersharepoint.com) se está ejecutando un seminario gratuito de una hora el objetivo, como siempre lo hace, en la comunidad de usuario SharePoint. Se lleva a cabo a las 1 pm EDT. Los detalles están aquí: http://www.endusersharepoint.com/?p=785

He estado sentada uno de su seminario en línea el mes pasado y lo hizo bastante bien y si usted está interesado en algo muy práctico de información sobre consolas en SharePoint, Seguro que vale la pena el 1 inversión de hora.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: ,

FBA y SQL Server: Una historia de amor

Mi colega ha estado trabajando en un elemento web en un entorno de FBA. Entre otras cosas, la parte web tira algunos datos de SQL server. El gran plan para este proyecto dicta que un DBA configura la seguridad a nivel de datos en SQL (en lugar de incrustar un ID de usuario en una consulta SQL o algún otro método).

El problema es que SQL server no sabe nada sobre nuestro entorno de FBA para que no puede confiar en nosotros. Solucionamos este problema por, falta de una palabra mejor, manualmente, haciéndose pasar por un usuario de AD que nos podríamos conectar a SQL que datos SQL nivel seguridad trabajos.

Aunque FBA es una característica ASP.NET, gente de SharePoint Nation hemos enseñado los diferentes buscadores si usted está consultando FBA, debe decir que usted quiere saber cómo configurar FBA en SharePoint. No se pudo encontrar encontrar cualquier información sobre cómo habilitar una FBA orientado a la aplicación ASP.NET para comunicarse con SQL de la manera que necesitábamos.

En el transcurso de esta investigación, podemos volver a leer este artículo: Suplantación de ASP.NET

Más investigación nos llevó a este artículo de codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Eso nos ayudó a escribir el código, que he incluido a continuación. No es lo más elegante, pero funcionó. Espero que encuentres útil.

Aquí está el código que trabajó para nosotros:

protegido void btnSearchCarrier_Click(remitente del objeto, EventArgs e)
 {
 Intente
 {
 ImpersonateUser iU = Nuevo ImpersonateUser();
 // TODO: Reemplazar las credenciales iU.Impersonate("NombreDeDominio", "UserName", "Contraseña");

//
 CÓDIGO
//

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

 }
 }

// Utilizar suplantación clase mencionadas anteriormente.

público clase ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = verdadero)]
 público estática extern bool LogonUser(
 Cadena lpszUsername,
 Cadena lpszDomain,
 Cadena lpszPassword,
 int dwLogonType,
 int dwLogonProvider,
 Ref PhToken IntPtr);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 privada extern estática bool CloseHandle(Manija de IntPtr);

 privada estática IntPtr tokenHandle = Nuevo IntPtr(0);
 privada estática WindowsImpersonationContext impersonatedUser;

 // Si incorporan este código en un archivo DLL, Asegúrese de es la demanda
 // funciona con FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Nombre = "FullTrust")]
 público Suplantar a vacío(cadena de nombre de dominio, String userName, contraseña de la cadena)
 {
 Intente
 {

 // Utilice la función LogonUser no administrada para conseguir token para el usuario
 // el usuario especificado, dominio, y la contraseña.
 Const int LOGON32_PROVIDER_DEFAULT = 0;

 // Este parámetro causa LogonUser crear un token primario.
 Const int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Paso -1 Llamar a LogonUser para obtener un identificador para un token de acceso.
 bool returnValue = LogonUser(
 nombre de usuario,
 nombreDeDominio,
 contraseña,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 Ref tokenHandle); // tokenHandle - nuevo token de seguridad

 Si (== false returnValue)
 {
 int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser llamada failed with error code : " +
 RET);
 tiro nuevo System.ComponentModel.Win32Exception(RET);
 }

 // Paso - 2
 WindowsIdentity nuevo ID = Nuevo WindowsIdentity(tokenHandle);
 // Paso -3
 impersonatedUser = newId.Impersonate();

 }
 capturas (Exception ex)
 {
 Console.WriteLine("Excepción. " + ex.Mensaje);
 }
 }


 /// <Resumen>
 /// Suplantación de paradas
 /// </Resumen>
 público Deshacer vacío()
 {
 impersonatedUser.Undo();
 // Los tokens gratis.
 Si (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

Agregar al Lore: Me dice SSRS “rsAccessDenied”, Pero … Realmente tengo acceso

Unas semanas atrás, Estaba trabajando con mi colega Desarrollador en un proyecto SQL Server Reporting Services complemento para musgo. Él estaba desarrollando un elemento web que proporciona un front-end para el informe adecuado de lujo (la principal característica de ser una búsqueda inteligente de un parámetro con varios valores de búsqueda mil detrás).

Esto estaba trabajando mucho en el entorno de desarrollo, pero en las pruebas de aceptación de usuario (UAT) medio ambiente, no funciona. Leña para el depurador, veríamos detalles de excepción como éste:

Los permisos conceden al usuario 'UAT_domainmosssvc' no son suficientes para realizar esta operación.(rsAccessDenied).

Si haces una búsqueda de vivir en el error anterior, encontrará que es muy común. Aterradoramente común. La peor clase de común ya que tiene muchas raíces posibles diferentes causas y Solución sugerida de todos "se siente" derecho. Probablemente todos ellos intentamos.

En nuestro caso, el problema era que habíamos hecho un backup y restore de DEV a la UAT. En algún lugar de los datos, algo todavía se refería a "DEV_domain" (en lugar de la "UAT_Domain" actualizada). Hemos creado un nuevo sitio, agregado que el elemento web y resolver nuestro problema.

Esperemos que esto ahorrará alguien una hora o dos en la línea.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

Anuncio público menor: Configuración de seguridad directo de Windows y contratantes propietarios de espacio

Recibir un puñado de mensajes de personas mediante el built-in "enviar un mensaje" función de Microsoft proporciona espacios vivos (que también alberga a mi blog) cada mes.

Alrededor de un tercio del tiempo, los usuarios han asegurado su cuenta espacios vivos que yo no puedo responder. Se trata de algún tipo de característica de anti-spam que supongo.

</final>

Son “Error desconocido” Mensajes realmente mejor que un seguimiento de la pila?

Yo estaba leyendo el post del blog de Madhur sobre cómo habilitar stack trace muestra y ahora me pregunto: ¿por qué no siempre mostramos stack trace?

Que vino para arriba con esa regla y por qué nos siga?

Los usuarios finales sabrá que algo está mal en ambos casos. Por lo menos con un seguimiento de la pila, puede presionar control-printscreen, copiar/pegar en un correo electrónico y enviarlo a él. Reduciría claramente el tiempo y el esfuerzo requerido para resolver el problema.

</final>

Etiquetas de Technorati:

Por eso yo no como utilizando herramientas de día cero

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

Si la herramienta está haciendo cosas no entiendo y, a continuación, vuelve a fallar en el paso n de un número desconocido de pasos, Estás muerto en el agua…

</final>

Etiquetas de Technorati:

ID de evento 1023: “Windows no puede cargar contador extensible DLL MSSCNTRS”

ACTUALIZACIÓN (04/08/08): Me parece que han solucionado este problema. La línea de comandos, Corrí "c:\windowssystem32lodctr /R" Según una entrada hablando de InstallShield problemas y parece que han resuelto para mí.

He notado últimamente, mi ventilador de escritorio/servidor nunca se apaga. Sé que se utiliza para apagar. Tomó un momento para comprobar lo notó que el un proceso VMware funcionaba un constante 20% utilización en una de las CPU. Revisé el registro de sucesos y vi estos errores en el registro de aplicación sucede decenas de veces por minuto:

Windows no puede cargar contador extensible DLL UGatherer, el primer DWORD de la sección de datos es el código de error de Windows.

Windows no puede cargar contador extensible DLL UGTHRSVC, el primer DWORD de la sección de datos es el código de error de Windows.

Windows no puede cargar contador extensible DLL MSSCNTRS, el primer DWORD de la sección de datos es el código de error de Windows.

Si profundizar en los detalles de uno de esos mensajes, Me sale esto:

Fuente: Perflib

Tipo: Error

Categoría: Ninguno

ID de evento 1023

Hice algunas investigaciones y había algunos indicios de que podría ser un problema de permiso en términos de acceso a la dll en cuestión. Jugaba con ese tipo de cosas, pero no podría afectar las cosas de una manera positiva por lo que desistí en eso.

VMware ha sido permanentemente me acerca de cómo realizar una actualización desde hace bastante tiempo, así apuntó la versión tenia instalado (al parecer "1.0.1 construir 29996") e hice la actualizacion. Esto me actualizó a la v1.04. Lamentablemente, no se arreglar el problema.

Puedo dejar el loco número de mensajes va a mi registro de aplicación si cierra un servicio denominado "Servicio de autorización de VMware". Esto me impide usar el software de VMware, por lo que … no esa una gran opción.

El sistema operativo es Windows XP 64 bit.

No creo que esto ha sucedido siempre, pero no recuerdo ningún evento concreto que podría haber conducido a ella.

Por eso odio equipos.

</final>

Etiquetas de Technorati:

Foro de discusión: Imponer el cumplimiento de las prácticas mejor en entorno de MOSS no Trivial

Becario, "Mark", ha puesto en marcha una discusión newsgroup potencialmente interesantes centrándose en el "establecimiento de excelente gestión de SharePoint desde el principio" para un 35,000 entorno de usuario.

La discusión está aquí: http://groups.google.com/group/microsoft.public.sharepoint.portalserver/browse_thread/thread/6d9a738d981af772/1c390b15c5407db6?#1c390b15c5407db6

Pop en sobre y contribuir!

</final>