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:

Solución (tipo de): Establecer la prioridad de una tarea utilizando SharePoint Designer

Tengo un escenario de negocio como este:

  • Un usuario carga un documento en una biblioteca de documentos.
  • Ella selecciona un tipo de contenido y entra metadatos según sea necesario. Uno de los campos de datos de metadatos es un indicador, "Urgente".
  • Esto desencadena un flujo de trabajo de SharePoint Designer que, entre otras cosas, utiliza el "recoger datos de un usuario" acción.

"Recoger datos de un usuario" crea un elemento en una lista de tareas, solicitando autorización para que el documento.

Necesitaba crear una vista de la lista de tareas que mostró las solicitudes urgentes de aprobación.

Solución: Poner la palabra "urgente:" en el título de estas tareas.

Hubiera preferido especificar el campo de prioridad directamente. Sin embargo, No he podido hacerlo por varias razones:

  1. La acción de recopilar datos no proporcionan un mecanismo para actualizar cualquier campo distinto título (y esos campos adicionales que desea recopilar datos).
  2. El "asignar un punto" acción tiene el mismo problema.
  3. Es posible insertar un elemento en una lista (i.e. Insertar un elemento en la lista de tareas directamente) pero esta no una acción de bloqueo. Eso significa que el flujo de trabajo no esperará por el usuario completar la tarea.

He considerado algunos enfoques antes (Afortunadamente) darse cuenta de que podríamos simplemente pone "urgente" en el título.

  1. Iniciar un flujo de trabajo en la propia lista de tareas, de modo que cuando se crea una nueva tarea, de alguna manera cruzar referencias hacia el documento que se inició el primer flujo de trabajo, Saque el valor urgente y actualizar prioridad según sea necesario.
  2. Hacer algo parecido con un receptor de eventos. Por crear de la tarea, Localice el documento asociado y la prioridad de actualización según sea necesario.
  3. Utilice el "crear elemento de lista" acción en conjunción con la espera"para el cambio de campo" acción y un receptor de eventos. Si creamos un elemento de lista, podemos especificar todos los campos que queremos. Utilizar un receptor de evento para actualizar el elemento original cuando el usuario finaliza la tarea y la "espera para el cambio de campo" se cumpliría la condición de la acción y el flujo de trabajo procedería. (Por alguna razón, Más o menos había asentado sobre este enfoque antes de decidir sabiamente a pie por un tiempo).

Hay un inconveniente para mi solución (Aparte del hecho evidente de que sólo el texto del título indica la urgencia). Desde "recoger feedback" sólo acepta nombres de título duro codificada, Necesito utilizar dos acciones de retroalimentación recoge diferentes cuya única diferencia es duro Título codificado.

Pero, al menos hay una solución que no requiere de receptores de eventos o acciones personalizadas de SPD.

Si alguien ha solucionado esto de una manera más inteligente, por favor, hágamelo saber.

</final>

Domingo divertido: Mantener a su hijo en sus dedos

Una de las muchas alegrías que tome en ser el padre de un muchacho de diez años es encontrar nuevas maneras de hacerle reír o pensar un poco diferente sobre preguntas y cosas en el mundo. He utilizado estas técnicas durante los años:

===

Erróneamente sus preguntas:

Hijo: ¿Qué día es?

Papá: Un día antes del miércoles.

S: No, ¿Qué día del mes es?

D: Oh, tiene 4 días después Jan 25.

===

Hacerle cosquillas y dígale que usted parará cuando deja de reír.

===

Baja las escaleras a la sala de TV y anunciar, "Es bueno ser el papá." A continuación, recogerlo hasta conseguir el cálido lugar en el sofá y cambiar de canal para algo bueno, como el canal Scifi.

===

Leer historias en voz alta. Insertar frases ridículas en el centro de la historia. Mi favorito es añadir "matándolo instantáneamente" Cuando los protagonistas se encuentra con algunos problemas menores. Por ejemplo, "el cuchillo resbaló de la mano, cortando su dedo índice, matándolo instantáneamente." Absolutamente nada consigue a su hijo fuera un modo de escucha pasivo y complaciente como protagonista mata al instante.

===

Leer historias mal. Leer las oraciones al revés. La mejor parte de esto es que el primer par de veces hice esto, mi hijo pensaba que me ayudaba señalando que no estaba leyendo las palabras en el orden correcto. El lado negativo es que realmente no quería que me leer más.

===

Ir a Burger King para el almuerzo. Mi hijo coma mañana BK, día y noche si lo dejamos. Cuando se va, Dile, "Sé que odias ir allí, pero simplemente no tenemos elección." Cuando trata de explicar que él ama BK, hablar sobre él y decir cosas como "no tenemos tiempo para discutir sobre ello! Vamos a ir y no quiero tener una discusión!"

(Esto me recuerda de mi chiste favorito de Borg: "El rey Borger: Lo hacemos a nuestra manera. Su forma es irrelevante." jajaja!)

===

Abrir un libro a la página 9 y digo, "hmm, es una página impar".

===

Llenar el mundo con los enemigos de arco. "Vamos a correr rápido sobre dedo del pie 7-11, archienemigo de 11-7".

"Tu tía vive en Ringwood, enemigo de la ciudad de Squarewood."

===

Nos dirigimos hasta Massachusetts de Nueva Jersey varias veces al año y a menudo toma sobre 5 horas puerta a puerta. Al llegar a casa y tirar en la entrada decir, "¡ Oh!, Se me olvidó, Tenemos que hacer una carrera rápida a Home Depot."

===

Al ver un episodio violento en un programa de TV (como héroes), Dile a tu hijo, "algunas veces, en el trabajo, Es necesario destruir a mis enemigos quemándose vivo usando los poderes de mi mente. No me gusta hacerlo, Pero haz lo que debas hacer."

===

Cuando viendo películas de terror mal (ver "es bueno ser el papá" por encima de), atribuyen motivos improbables para el mal carácter. Por ejemplo, Dile a tu hijo para que Jason es tan enojado son porque quiere pastel y no dejan lo tiene cualquiera.

===

Explicar los números de teléfono incorrecto. En vez de decirle a tu hijo para marcar "201-111-2222", Dile que es "2-011-1-12222".

===

¿Qué trucos utilizas?

</final>

Etiquetas de Technorati:

Blogs de invitado?

Parece bastante común en el mundo del blogging político de un determinado blog organizar un "blogger invitado". Cuando estoy en tierra del blog político yo debo llevar un par de gafas diferente porque nunca se me ocurrió "guest blogging" podría tener sentido para un blog técnico como el mío. Es decir, hasta que leí este post por Kanwal Khipple en Lo mejor de SharePoint Buzz- Enero 2008.

Pensando en ello, Creo que podría haber un montón de gente en tierra de SharePoint que tienen el gusanillo de armar un artículo, corto o largo, técnico o más negocio orientado, etc., pero no su propio blog por todas las razones habituales. Si eres una de esas personas, Estaría encantada de lo. Puede contactarme por correo electrónico o dejar un comentario. Yo no he pensado ningún tipo de directrices, Pero supongo que quiera para orientarse alrededor de SharePoint, Pero también me gusta tirar algunas observaciones personales sobre consulting Ahora y a continuación. También estoy tratando de publicar un "Domingo divertido" cada semana y yo estoy obligado a quedado sin ideas para eso.

Si ya eres un blogger regular pero quisiera experimentar con invitado blogging, Yo también estoy definitivamente abierto al, either as a host or a guest 🙂

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

Solución a error de importación BDC ADF: “Ocurrió el siguiente error:”

Una vez más me elaborar archivos de BDC ADF a mano (por lo que yo puedo construir mi "Get off my lawn!" cred) y golpeó este error encantadora:

imagen

"Error de importación de definición de aplicación. Ocurrió el siguiente error:"

Como se puede ver, hay un error, pero … no va a decirme lo que es.

En mi caso, el problema resultó que había comenzado con un ADF funcional para un proyecto diferente que conectado a una base de datos y ejecuta una consulta contra una vista SQL. En este nuevo proyecto, Estoy llamando a un método en un servicio web. Había despojado a la materia específica de DB y mis cosas de servicio web ha añadido, pero no se pudo actualizar la <LobSystem>de atributo type. Me cambié a "WebService" y pasó felizmente a errores de importación más reciente y más emocionante, que se manejaron en el momento oportuno.

Aquí está el mal LobSystem:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipo = "base de datos"
Versión = "1.0.0.0" Nombre = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Esto es correcto:

<LobSystem
xmlns:XSi =http://www.w3.org/2001/XMLSchema-instance
XSi:schemaLocation =http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalogBDCMetadata.xsd
Tipo = "WebService"
Versión = "1.0.0.0" Nombre = "xyzzy"
xmlns ="
http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

</final>

Etiquetas de Technorati:

BDC parece un sustituto Viable para búsquedas

ACTUALIZACIÓN: Este registro de MSDN tiene algunas observaciones interesantes de JXJ basado en su, principalmente negativo, experiencias bajando esta ruta: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2623565&SiteID=1

Tenemos un escenario de negocio donde necesitamos vincular dos bibliotecas de documentos a través de un común "ID de documento" campo.

A menudo se utiliza una columna de búsqueda que implementa enlaces como este. Hay varias desventajas a las columnas de búsqueda, tres de los cuales se:

  1. Solamente una columna de la biblioteca de consulta de búsqueda puede vincularse.
  2. Rendimiento: La biblioteca de origen puede contener cientos de entradas. Es demasiadas entradas en la búsqueda.
  3. Búsqueda: No hay ninguna búsqueda integrada. No me refiero en el sentido de musgo de la búsqueda, Pero no hay ninguna manera de búsqueda / Filtrar por varias columnas de la biblioteca de documentos fuente y localizar el enlace que quieras.

Respaldado por el BDC, podemos utilizar un "datos del negocio" tipo de columna y proporciona una búsqueda superior e incluso permite varias columnas de datos que aparecen en vistas de lista.

He tenido algunos éxitos preliminares con este enfoque y planea escribir más sobre esto.

Si has trabajado este ángulo antes y tiene algún comentario, por favor comparta!

</final>

Etiquetas de Technorati:

Solución al Error de importación BDC: “No se pudo cargar el tipo descrito por el TypeName del TypeDescriptor …”

He estado trabajando con BDC hoy, codificación de archivos ADF con la mano y me genera unos errores. Un tal error:

Error al importar de definición de aplicación. Ocurrió el siguiente error: No se pudo cargar el tipo descrito por el TypeName del TypeDescriptor. Nombre de parámetro: typeName Error se detectó en o justo antes de la línea: 35’ y la posición: '20'.

MOSS aparece este error cuando trató de importar el archivo XML de ADF.

Investigué los Internets y encontró que yo me haga referencia al nombre de instancia LOB (desde la <LobSystemInstance>) en mi <TypeDescriptor> nodo cuando debo haber hace referencia al nombre de línea de negocio propio (De <LobSystem>).

Mal:

<TypeDescriptor TypeName="Conchango.KeyValue, Nombre de la instancia LOB" Nombre = "KeyValue">

Corregir:

<TypeDescriptor TypeName="Conchango.KeyValue, Nombre de la unidad de negocio" Nombre = "KeyValue">

Espero que este alguien guarda una o dos horas de tiempo.

</final>

Suscribirse a mi blog!

Etiquetas de Technorati: