archivos mensuales: Febrero 2008

Domingo divertido: “NO PARA LA EXPORTACIÓN”

Atrás alrededor 1998, la empresa que trabajé en el tiempo recibido algunos fondos para crear un nuevo producto de e-commerce. Tuvimos el gama completa de requerimientos del negocio para cumplir con. Tenía que ser rápido, fácil para los usuarios finales, llamativos, Multi-idioma, etc.. Triste de decir, Probablemente no tuve como un ambicioso conjunto de trabajo para llevar a cabo desde aquellos días embriagadores.

Este esfuerzo fecha previamente Microsoft.NET. Plain vanilla ASP todavía era algo nuevo (o menos muy desconocido para mi empresa). "Ladrillo y mortero" las empresas fueron condenadas. Condenado! Es decir que fue un trabajo pionero. No trabajo pionero del colisionador de Hadrones, Pero para nosotros, en nuestro pequeño mundo, fue un trabajo pionero.

Estábamos locos ocupados. Estábamos haciendo mini de POC casi cada día, ingeniárselas mantener el estado en un medio inherentemente apátrido, averiguar cuestiones multi-idioma, seguridad de nivel de fila. Incluso habíamos creamos un vocabulario para definir términos básicos (Preferí estado persistentes pero por alguna razón, el incómodo "statefull" ganó el día).

Mientras nosotros estábamos locamente inventar este producto, la gente de marketing y venta estaba allí tratando de venderlo. De alguna manera, lograron vender a nuestra pesadilla. A pesar de estábamos diseñando e implementando una solución empresarial, realmente no esperaba el primer cliente en utilizar hasta la última función que construimos en el día cero del producto. Este cliente necesitaba varios idiomas, una interfaz de usuario radicalmente diferente de la norma"" sistema, pero con la misma lógica de negocio. Multi-language fue especialmente difícil en este caso, Porque siempre nos hemos centrado en español o en francés, Pero en este caso, era chino (que es un carácter de doble byte establece y requieren un manejo especial dado la tecnología que utilizamos).

Adelantar unos meses y estoy en un vuelo de Northwest airlines a Beijing. He estado tan ocupado preparando este viaje que casi no tengo idea lo que es para ir allí. Había leído un libro de una vez acerca de cómo un americano había estado en China durante varios años y había aprendido el idioma. Un día él estaba caminando la ciudad y algunas personas pidieron direcciones. La conversación fue algo esto:

  • Americana: "Podría decirme cómo llegar a [XX] calle?"
  • Chino: "Lo siento, nosotros no hablamos a Inglés".
  • Americana: "¡ Oh!, bueno hablar a mandarín." y les preguntó otra vez en chino, Pero más claramente (lo mejor que pudiera).
  • Chino: Muy amablemente, "Lo siento, nosotros no hablamos a Inglés".

La conversación fue que por poco y el americano dio para arriba en la frustración. Cuando les salía escuchó a un hombre habla a otro, "Podría haber jurado que estaba pidiendo indicaciones a [XX] calle."

Recogí unos pedazos y piezas de otras relacionadas con China cuasi-información y "consejos útiles":

  • Un coreano trabajado conjuntamente me dijo que la tenía que tener cuidado de los chinos porque "tratarían de emborracharme y tomar ventaja de" en el sentido de presionarme a las decisiones mal negocio.
  • No nos permitían conducir automóviles (Hubo alguna confusión respecto a si esto era una costumbre, un requisito legal o simplemente regla del cliente).
  • Reglas especiales para ir por la aduana.
  • No nos permitían usar dinero estadounidense para nada.
  • No se supone que para dejar consejos. Es insultante si.

Y por último, Tengo recuerdos relativamente frescos el Masacre de Tiananmen. Cuando estaba en el Colegio, Recuerdo haber visto anuncios de Usenet en tiempo real como el mundo mirado con horror.

En pocas palabras, Yo estaba muy nervioso. No era solo nervioso normal en el sentido de que estaba entregando una solución que es órdenes de magnitud más complicadas que cualquier cosa que nunca había hecho antes. También me preocupaba accidentalmente rompe una regla que podría meterme en problemas.

Estoy en esto 14 horas de vuelo y aunque era clase business, 14 horas es un tiempo muy largo. Hay solamente tantas maneras de entretenerte leyendo, ver películas o jugar con los cubiertos magnetizados. Incluso un muy buen libro es difícil de leer por varias horas seguidas.

Con el tiempo, Empecé a leer el material de embalaje en una pieza de mano-llevaba conmigo al cliente de software, Servidor web de Netscape. Estoy leyendo los requisitos de hardware y software, los marketing's blurbs, mirando la foto bonita y de repente, Concentraré en el gigante "no para la exportación" ADVERTENCIA, algo sobre 128 cifrado del pedacito. Relleno de la caja en mi bolsa, ADVERTENCIA boca abajo (como si eso hubiera ayudado) y trató de mantener visiones de Expreso de medianoche fuera de mi cabeza.

Mirando hacia atrás en él ahora, Debería haber estado preocupado, Si a todo, Cuando salí de los Estados Unidos, not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</final>

Suscribirse a mi blog!

Etiquetas de Technorati: ,

Solución: SPQuery no buscar carpetas

Esta última semana estaba implementando una "evolución" solución para un cliente que utiliza el BDC y SPQuery y tuvo alguna dificultad usando SPQuery contra una biblioteca de documentos que contiene carpetas. Línea inferior: asignar "recursiva" para el atributo de vista de la consulta.

Mi escenario:

  • El lunes, I subir un documento y suministrar algunos metadatos.
  • La semana siguiente, Subir un nuevo documento. Mucho de este nuevo documento metadatos se basa en el documento que subí el lunes (que llamamos el "documento maestro").
  • Hemos creado una fachada de servicio web que proporciona una interfaz de BDC respetuoso a la lista para que los usuarios pueden localizar fácilmente ese documento lunes mediante una búsqueda de título.
  • Una columna de datos BDC proporciona una interfaz de usuario amigable. (Esto es parte de mi intento de usar BDC para una columna de búsqueda más amigable).

El servicio final de fachada BDC usa una consulta como ésta para hacer la búsqueda:

 // Utiliza U2U herramienta para asistir en la generación de esta consulta CAML.
      oQuery.Query =
        "<Donde>";

      Si (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Y>";

      oQuery.Query  =
        "    <Y>" +
        "      <GEQ>" +
        "        <FieldRef nombre =  "DocumentId" />" +
        "        <Tipo de valor =  "Text">" + minId + "</Valor>" +
        "      </GEQ>" +
        "      <Leq>" +
        "        <FieldRef nombre =  "DocumentId" />" +
        "        <Tipo de valor =  "Text">" + maxId + "</Valor>" +
        "      </Leq>" +
        "    </Y>";

      Si (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Contiene>" +
          "      <FieldRef nombre =  "Title" />" +
          "      <Tipo de valor =  "Text">" + titleFilter + "</Valor>" +
          "    </Contiene>" +
          "  </Y>";
      oQuery.Query  =
        "</Donde>";

Durante la etapa inicial de desarrollo, Esto funcionó muy bien. Sin embargo, Hemos introducido las carpetas en el directorio para resolver algunos problemas y de repente, mi selector de BDC no devolver ningún resultado. Un seguimiento hasta el hecho de que el SPQuery nunca devuelve ningún resultado. Utilizamos carpetas principalmente para permitir que varios archivos con el mismo nombre para subir pero con datos diferentes de la meta. Cuando el archivo es cargado, creamos una carpeta basada en ID del elemento de la lista y luego mover el archivo allí (Escribí acerca de eso aquí; Hemos tenido resultados mixtos con este enfoque, pero sobre todo el, está trabajando bien). El usuario no le importa acerca de carpetas y de hecho, realmente no entiendo que hay las carpetas. Hemos configurado todas las vistas de la biblioteca para mostrar los elementos sin carpetas.

Llegué a este problema dos veces como la aplicación técnica evolucionó y solucionado diferente cada vez. La primera vez, Que no estaba usando el operador CONTAINS en la consulta. Sin un operador contiene, Era capaz de resolver el problema especificando la vista en contructor de SPQuery. En lugar de utilizar el constructor predeterminado:

SPList Doc_olist = web.Listas["Documentos"];

SPQuery oQuery = Nuevo SPQuery();

En lugar de ello usé un constructor que especifica una vista:

SPList Doc_olist = web.Listas["Documentos"];

SPQuery oQuery = Nuevo SPQuery(oList.Views["Todos los documentos"]);

Eso resolvió el problema y empezamos a tener mis resultados.

Luego añadí el operador contiene en la mezcla y se rompió otra vez. Resulta que el operador CONTAINS, la medida en que te puedo decir, No funciona con la opinión de la misma manera que la una simple GEQ / Operadores LEQ. Hice algunas búsquedas y aprendió que ViewAttributes de la consulta debe establecerse en "Recursivo", como en:

oQuery.ViewAttributes = "Alcance = "Recursive"";

Resolvió el problema de contiene. En realidad, Esto también solucionar mi problema de búsqueda original y si había especificado la recursiva atribuyen la primera vez, No hubiera huido en el tema nuevo.

El hecho de que un SPQuery basado en vista funciona para algunos operadores (GEQ/LEQ) y no a otros (CONTIENE), junto con el hecho de que no parecen KPI ' s trabajar en todo documento que contiene la carpeta bibliotecas pistas para creer que SPQuery tiene algunos problemas de ortogonalidad.

Agradecimiento especial:

  • La buena gente de U2U y su herramienta de consulta.
  • Michael Hoffer es genial "aprender haciendo" entrada de blog, Comentarios y respuestas.

</final>

Suscribirse a mi blog!

Fallo de MOSS KPI? Indicador de lista ligada a la biblioteca de documentos con carpetas

ACTUALIZACIÓN 02/29/08: He resuelto este problema creando una carpeta y luego asignar a un tipo de contenido a la carpeta que tiene los meta datos para los KPI ' s. Describí un poco más detalladamente aquí.

Hemos implementado una solución técnica, donde los usuarios cargar documentos en una biblioteca de documentos. Un receptor de eventos crea un directorio y mueve el archivo a ese directorio (utilizando una técnica similar a lo que escribí sobre aquí). Que hemos atravesado con éxito alrededor de los posibles problemas causados por los receptores de eventos que renombrar archivos subidos (principalmente porque los usuarios nunca inician su documento haciendo clic en "nuevo" pero en su lugar crear a los documentos localmente y luego cargarlos).

Los metadatos de estos documentos incluyen un sí/No columna de sitio llamado "urgentes" y otra columna de sitio llamado "Status". Tenemos que cumplir con un requisito de negocio que muestra el porcentaje de "urgente" documentos cuyo estado es "Pendiente".

Esto es normalmente sencillo hacer y describió algo muy parecido a esto en el SharePoint Beagle con un montón de capturas de pantalla si te interesa.

En pocas palabras, Hice lo siguiente:

  • Crear una vista en la biblioteca de COD llamada "Pendiente".
  • Configurar la vista para ignorar la estructura de carpetas.
  • Crear una lista KPI.
  • Crear un indicador en la lista que apunta a la lib doc y "pendiente" vista.

Esto simplemente no funciona. El KPI muestra mi destino (por ejemplo:. cinco documentos urgentes) pero siempre muestra el número actual de documentos urgentes como cero. Paradójicamente, Si profundizar en los detalles, muestra los cinco documentos urgentes de la lista. He creado un escenario muy simple con dos documentos, uno en una carpeta y no. Aquí está la captura de pantalla:

imagen

La captura de pantalla anterior muestra claramente hay dos documentos en la vista, pero el valor"" es una. "CamlSchema" con documento en blanco Id está en la carpeta raíz y la otra está en una carpeta denominada "84".

Me parece a pesar de que usted especifique una vista, el KPI no honra la "Mostrar todos los elementos sin carpetas" configuración y en su lugar, se limita a la carpeta raíz.

Si estoy equivocado, por favor enviarme una línea o dejar un comentario.

</final>

Suscribirse a mi blog!

Etiquetas de Technorati:

Flujo de trabajo SPD “Recopilar datos de un usuario”: Modificar el formulario de tareas generado

Estoy trabajando en un proyecto que utiliza cinco diferentes flujos de trabajo de SharePoint Designer para manejar algunas aprobaciones de documentos. SPD proporciona los "recogemos datos de un usuario" acción por lo que nos podemos preguntar al usuario para diferentes bits de información, como si apruebe, algunos comentarios y quizá preguntar lo que tenían para cenar la otra noche.

Las formas son perfectamente funcionales. Ellos están vinculados a una lista de tareas como un tipo de contenido. Son 100% generados por el sistema. Esta es su fuerza y debilidad. Si podemos vivir con el formulario predeterminado, luego somos buenos ir. Sin embargo, no tenemos demasiado control sobre cómo SPD crea la forma. Si no nos gusta ese comportamiento predeterminado, necesitamos recurrir a varios trucos para obtener alrededor de ella (por ejemplo, configurar la prioridad de una tarea).

Necesitaba proporcionar un vínculo de estas formas de tarea que abren las propiedades de la vista (DispForm.asxp) el tema relacionado"" en una nueva ventana. Esto proporciona acceso con un clic a los metadatos del elemento relacionado. Esto es lo que quiero decir:

imagen

Afortunadamente, podemos hacer eso y no es muy difícil. En términos generales, fuego de SPD, Desplácese hasta el directorio que contiene los archivos de flujo de trabajo y abrir el archivo ASPX que desea modificar. Estos son sólo clásicas instrucciones de transformación XSL y si he mucked con itemstyle.xsl, búsqueda o otros escenarios XSL, Esto será fácil para usted. En realidad, Pareció ser generalmente más fácil ya que el formulario generado es algo más fácil seguir frente a un elemento de búsqueda principales resultados web (o la pesadilla CWQP).

Claro, hay un escollo importante. Editor de trabajo de SPD espera el control total sobre el archivo. Si lo modificas, SPD felizmente sobrescribirá su elasticidad cambios el derecho conjunto de circunstancias. Hice dos pruebas rápidas para ver lo mal que esta podría conseguir. Ambos presuponen que has elaborado un flujo de trabajo SPD válida que utiliza los "recogemos datos de un usuario" paso.

Prueba 1:

  • Modificar manualmente el archivo ASPX.
  • Prueba (Compruebe que los cambios se han guardado correctamente y no rompen nada).
  • Abrir el flujo de trabajo y agregar una acción relacionada (como "registro de historia").
  • Guardar el flujo de trabajo.

Resultado: En este caso, SPD no volver a crear el formulario.

Prueba 2:

  • Lo mismo que #1 excepto directamente modificar el "recopilar datos de un usuario" acción.

Resultado: Esto vuelve a crear el formulario desde cero, sobrescribe los cambios.

Notas finales:

  • Al menos dos acciones de SPD creación formas como este: "Recoger datos de un usuario" y "a punto". Ambas de estas acciones’ las formas pueden modificarse manualmente.
  • Fui capaz de generar mi enlace a dispform.aspx porque, en este caso, relacionar siempre tiene su identificador incrustado en la URL del elemento relacionado. Era capaz de extraer y construir un <a href> basada en ofrecer la función de acceso de un solo clic meta datos. Es poco probable que su dirección URL sigue esta regla. Puede haber otras maneras de obtener el ID del elemento relacionado pero no he tenido que cruzar ese puente, así que no sé si obtiene al otro lado de la Sima.
  • No encargado de investigar, pero yo no estaría sorprendido si hay algún tipo de archivo de plantilla en el 12 sección que podría modificar la afectan a cómo SPD genera los formularios predeterminados (al igual que podemos modificar plantillas de alertas).

</final>

Suscribirse a mi blog!

Etiquetas de Technorati: ,

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:

Domingo (Embarazoso) Gracioso: “Mi nombre es Paul Galvin”

Un montón de años, mi jefe me pidió que algunos usuarios de un producto llamado resultados de tren. Resultados es un usuario herramienta de informes. Es áspero análogo a SQL Server Reporting Service o cristal. En el momento, fue diseñado para ejecutarse en los tubos verdes (por ejemplo:. Wyse 50 terminal) conectado a una máquina Unix mediante telnet.

Mi defecto contestar a cualquier pregunta que comience con "puedes … " "Sí" y ahí es donde comenzó todo el problema..

El cliente era una compañía química hacia fuera en el sur de California y había envuelto por una mayor implantación de ERP basado en De QAD MFG/PRO. El plan de aplicación ahora se llama capacitación los usuarios finales de energía en el producto de resultados.

Yo no era un gran usuario de esta herramienta y ciertamente nunca había entrenado a nadie antes de. Sin embargo, Había llevado a cabo un número de otras clases de entrenamiento y fue rápido en mis pies, por lo que no estaba demasiado preocupado. Dennis, el instructor de resultados reales a tiempo completo, me había dado su material de formación. Mirando hacia atrás en él ahora, es bastante absurdo. No conocen el producto, nunca habían sido entrenados formalmente en él y ciertamente nunca había enseñado. ¿Qué negocio tenía entrenamiento alguien en él?

Para complicar las cosas logísticamente, Me pidieron ir a conocer a alguien en Chicago como parte de una contratación de pre-venta en el camino. El plan consistía en volar fuera de New Jersey, ir a Chicago, reunirse por una hora con perspectiva y luego continuar en California.

Bien, Llegué a Chicago y el tipo de venta en mi equipo había cometido algún error y nunca confirmó la reunión. Por lo tanto, Demostró para arriba y la perspectiva no estaba allí. Impresionante. Empacar y dejo y continuar por la CA. En algún lugar durante este proceso, Descubro que el cliente está aprendiendo menos 24 horas antes de mi llegada que "Paul Galvin" es la clase de enseñanza, Dennis no. El cliente le encanta Dennis. Ellos quieren saber "quién es esta persona de Paul Galvin?" "¿Por qué debemos confiar en lo?" "¿Por qué deberíamos nosotros pagamos para él?" Dennis obviamente no suscribirse a mi "dar malas noticias pronto" filosofía. Impresionante.

Llego al aeropuerto y por alguna razón increíblemente estúpido, Yo había comprobado mi equipaje. Dejé a LAX pero mi equipaje no. Para mí, perder equipaje es mucho como va a través de la siete etapas de la pena. Eventualmente hacen al hotel, con ningún equipaje, cansado, hambre y usar mi (por ahora, muy arrugada) traje de negocios. Tarda mucho tiempo para viajar desde Newark — a o ' Hare — a un cliente — vuelta a o ' Hare — y por último a LAX.

Finalmente me encuentro sentado en la habitación del hotel, comiendo en una barra de chocolate, agotado y tratando de encontrar la energía para la exploración a través del material de entrenamiento otra vez para que no se verá como un culo completo frente a la clase. Esto fue un poco de un punto bajo para mí en el momento.

Me desperté al día siguiente, hice mi mejor esfuerzo para suavizar mi traje para que no se veía como Willy Loman en un mal día y en sobre dirigido al cliente. Como sucede tan a menudo, en persona era buena, educado y muy agradable. Esto estaba parado en contraste a sus correos electrónicos/mensajes muy enojado del día anterior. Ella me lleva sobre 3 millas a través del edificio tras edificio a una sección fuera de área en un almacén químico gigante donde realizaremos la clase para los próximos tres días. El 15 o 20 los estudiantes lentamente montar, la mayoría de ellos aún esperando Dennis.

Siempre empiezo mis clases de entrenamiento por presentarme, dando algunos antecedentes y escribir mi información de contacto en el tablero blanco. Como estoy diciendo, "Buenos días, mi nombre es Paul Galvin", Yo escribo mi nombre, correo electrónico y número de teléfono para arriba en el tablero blanco en letras grandes para que todos puedan ver claramente. Me dirijo al hecho de que sustituyo a Dennis y les aseguro que soy un reemplazo adecuado, etc.. Tengo todos me dicen brevemente su nombre y lo que quieren lograr en la clase para que puedo adaptar cosas a sus necesidades específicas como ir a lo largo de. Las cosas generalmente.

Nos envuelva y encienda el proyector. Voy a borrar mi información de contacto y … Lo había escrito en marcador permanente. Estaba tan avergonzado. En mi mente, esto parecía: Esto es "Paul Galvin" persona, reemplazo de última hora para nuestro querido Dennis. Lleva un arrugado traje y sin afeitar. Él acaba de escribir sus letras del gran nombre en nuestro tablero blanco marcador permanente. Qué vista!

Todo terminó felizmente, Sin embargo. Se trataba de una compañía química, Después de todo. A canoso veterano empleado tirado algo del estante y, Probablemente en violación de las regulaciones de EPA, despejó la Junta. Me las arreglé para alojarte 1/2 día por delante de la clase durante todo el curso y me dieron un buen repaso en el final. Esto consolidó mi "pinch hitter" reputación de mi empresa. Mi equipaje llegó el primer día, Así que estaba mucho más presentables días dos y tres.

Como estaba tomando el ojo rojo a casa, Yo estaba contemplando "lecciones aprendidas". Había mucho para contemplar. La comunicación es clave. Dile a clientes sobre cambios en el plan. No comprobar nunca su equipaje en el aeropuerto si usted posiblemente puede evitarlo. Trae repuesto "cosas" en caso de que compruebe su equipaje y no hacer. Creo que la lección más importante que aprendí, Sin embargo, Esto fue: Siempre pruebe un marcador en la esquina inferior izquierda de un tablero blanco antes de la escritura, en enormes Letras, "Paul Galvin".

</final>

Etiquetas de Technorati: ,

Perspectivas: SharePoint vs. el Gran Colisionador de hadrones

Debido a algún chiflado que vuelos de United Airlines que tomé a mediados de los 90, De alguna manera terminé con una oferta para transformar "sin usar millas" en suscripciones a revistas gratis sobre una docena. Es cómo terminé suscribirse a americano científico compartimiento.

Como software / Consultoría de personas, nos encontramos con muchos requisitos de negocios difíciles en nuestra carrera. Más el tiempo, queremos cumplir esos requisitos y, de hecho, es probablemente por qué creemos que esta carrera es la mejor del mundo. De vez en cuando a lo que en el mundo pregunto, habría hecho conmigo si yo hubiera nacido en cualquier otro momento en la historia. Lo terrible sería que se pierda en las clases de trabajo que puedo hacer ahora, en este momento y lugar en la historia del mundo? Creo: terrible.

En los años, algunos de los requisitos que he enfrentado han sido extremadamente difíciles para cumplir con. Cosa compleja de SharePoint, edificio web procesamiento marcos basados en tecnología web-favorable, complejas orquestaciones de BizTalk y similares. Todos podemos (con suerte) mirar atrás con orgullo en nuestra carrera y decir, "Sí, fue una difícil resolver, Pero al final me pwned ese hijo de puta!" Mejor aún, le esperan retos aún más interesantes y divertidos.

Personalmente, creo que mi curriculum vitae, en este sentido, es muy profundo y estoy muy orgulloso de ello (Aunque sé que mi esposa nunca comprenderá 1/20.). Pero esta semana, Estaba leyendo un artículo sobre el Gran Colisionador de Hadrones en mi Scientific American magazine y tenía uno de esos raros momentos humillante donde me di cuenta que a pesar de mi gigante"" estado en ciertos círculos o cómo creo mi pozo de experiencia, hay gigantes reales en mundos totalmente diferentes.

La gente del equipo del LHC tiene algunos temas realmente espinosos para administrar. Considerar la luna. Realmente no creo mucho sobre la luna (Aunque he estado muy desconfiado respecto puesto que he aprendido que se está ralentizando la rotación de la tierra, que no puede ser una buena cosa para nosotros los seres humanos a largo plazo). Pero, el equipo LHC tiene que preocuparse. Los aparatos de medición del LHC son tan sensibles que se ven afectados por la luna (Earth-rotation-slowing-and-eventually-Killing-all-Life) gravedad. Es un heck de un requisito para cumplir con — producir mediciones correctas a pesar de la interferencia de la luna.

Estuve reflexionando sobre este tema cuando leí esta frase: "El primer nivel será recibir y analizar los datos de sólo un subconjunto de componentes del detector, de acontecimientos prometedores basadas en factores aislados como si puede escoger un muon energético fue visto volando en un gran ángulo desde el eje del haz." Realmente … ? No juego en ese tipo de sandbox y nunca será.

La próxima vez que salgo con unos amigos, Voy a hacer un brindis a la buena gente trabajando en el LHC, Espero que con éxito no pesan la partícula de bosón de Higgs y maldición de la luna. Te sugiero que hagas lo mismo. It will be quite the toast 🙂

</final>

Etiquetas de Technorati:

Impresión rápida: System Center Capacity Planner para SharePoint

Yo simplemente dispararon hacia arriba de la herramienta de planificación de la capacidad que toda la rabia de estos días.

Pareció fácil de usar y modelado rápidamente un entorno de cliente que trabajé en este verano pasado.

Con alguna inquietud, He pulsado el botón de OK final y algo que es bastante similar a lo que nos dio a nuestro cliente recomendado (realmente tiramos en un segundo servidor de aplicaciones para futuro uso de excel). Que para ser una buena señal y me aumenta mi confianza en la herramienta.

Parece bastante potente cosas un mucho mejor punto de partida de una página en blanco.

Me gusta que permite obtener en algunos buenos detalles sobre el medio ambiente. Cuántos usuarios, Cómo proyectas utilizarán el sistema (publicación, colaboración, etc.), conectividad y sucursal / capacidad de la red entre ellos y el servidor de mama. Muy bueno.

Se pregunta de base amplia y, a continuación, le permite ajustar los detalles de un modelo bastante detallado de su entorno.

Dudé descargarlo porque tengo muchas otras cosas a mirarlo, leer y tratar de digerir. Me alegro que hice.

Es un proceso fácil de dos pasos. Descargar planificador de capacidad sistema centro y luego descargar los modelos de SharePoint. Corre bien en Windows XP.

Basado en mi impresión rápida, No veo cómo podría cuenta para:

  • Búsqueda: Número total de documentos, tal vez los tipos de documentos, Idiomas.
  • Servidor de Excel: Cuánto, Si a todo?
  • Forms server: Cuánto, Si a todo?
  • BDC: Cuánto, Si a todo.

Quienes pueden ser modelados y simplemente no ver en el 10 revisión minuto.

Definitivamente voy a utilizar en mi próximo cliente.

Si no fuera un Consultor y en su lugar de trabajo para una empresa real :), Yo modelo mi entorno actual y ver cómo el modelo recomendado de la herramienta partidos contra realidad. Sería muy prolijo. Podría dar lugar a algunos debates de buena infraestructura.

</final>

Etiquetas de Technorati:

Solución: System.IO.FileNotFoundException en “SPSite = new SPSite(URL)”

ACTUALIZACIÓN: He publicado esta pregunta a MSDN aquí (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) y Michael Washam de Microsoft respondió con una respuesta concisa.

He creado un servicio web para actuar como un Fachada BDC-amistoso para una lista de SharePoint. Cuando utilicé esto desde mi entorno de desarrollo, funcionó bien. Cuando migrado a un nuevo servidor, Me encontré con este error:

System.IO.FileNotFoundException: La aplicación Web en http://localhost/sandbox No se pudo encontrar. Verificar que usted ha escrito correctamente la URL. Si la dirección URL debe servir contenido existente, el administrador del sistema puede necesitar agregar una nueva asignación de URL de solicitud para la aplicación deseada. en Microsoft.SharePoint.SPSite...ctor(Granja SPFarm, URI requestUri, ContextSite Boolean, SPUserToken userToken) en Microsoft.SharePoint.SPSite...ctor(Cadena requestUrl) en Conchango.xyzzy.GetExistingDocument(Cadena minId, Cadena maxId, Cadena titleFilter) b Io:\Documents and SettingsPaulMy documentosVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:línea 69

Aquí está la línea 69:

utilizando (Sitio SPSite = new SPSite("http://localhost/sandbox"))

Traté de diversas variaciones en la URL, inclusive usando el nombre del servidor real, su dirección IP, barras que se arrastra en la dirección URL, etc.. Siempre tengo ese error.

He usado El Google a la investigación lo. Muchas personas enfrentan este problema, o variaciones de él, pero nadie parece tenerlo solucionado.

Tricksy MOSS proporcionó un detallado error que no se le ocurrió a mí para comprobar la 12 registros de colmena. Con el tiempo, acerca de 24 horas después de mi colega se recomienda que hacerlo, Comprobado la 12 sección registro y encontre esto:

Se produjo una excepción al intentar adquirir la granja local:
System.Security.SecurityException: No se permite el acceso de registro solicitado.
en System.ThrowHelper.ThrowSecurityException(Recursos ExceptionResource) en Microsoft.Win32.RegistryKey.OpenSubKey(Nombre de cadena, Boolean escritura) en Microsoft.Win32.RegistryKey.OpenSubKey(Nombre de cadena) en Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() en Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() atMicrosoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& granja, Boolean& isJoined)
La zona de la Asamblea que no era:  MiPC

Esto abrió nuevas vías de investigación, Así que fue a la Google. Eso me llevó a esto Foro: http://forums.CodeCharge.com/posts.php?post_id = 67135. Que realmente no ayudarme pero al inicio lo hizo me hace pensar que hubo un problema de base de datos y seguridad. Siguió y De Andrew Connell publicar finalmente activa el pensamiento que debo estar seguro de que la cuenta de identidad de grupo de aplicaciones tenía un acceso adecuado a la base de datos. Pensé que ya lo. Sin embargo, mi colega fue y le dio la aplicación identidad cuenta completo acceso a la piscina a SQL.

Tan pronto como ella hizo ese cambio, todo comenzó a trabajar.

Lo que pasó después es mejor expresado como un Haiku poema:

Problemas que levanten la mano.
Swing y miss. Vuelve a intentarlo.
Éxito! Pero cómo? ¿Por qué?

No quería dejar las cosas solo así, prefiriendo darle los permisos mínimos necesarios (y probablemente con miras a escribir una entrada de blog; La golpeé con el punzón, muhahahahaha!).

Sustrajo sucesivos permisos de la cuenta de identidad app piscina hasta … ya no había ningún permiso explícito para la cuenta de identidad del grupo de aplicación en todo. El servicio web continuó trabajando muy bien.

Fuimos y reiniciar los servidores. Todo continuó trabajando bien.

Por lo tanto, en Resumen: nos dio el acceso a la identidad de la aplicación piscina completo y luego lo llevó. El servicio web comenzó a trabajar y nunca dejó de funcionar. Extraño.

Si alguien sabe por qué eso debería haber funcionado, por favor dejar un comentario.

</final>

Etiquetas de Technorati: