archivos mensuales: Marzo 2008

Determinar el puerto de QRServer rápido

Para comunicarse con una búsqueda rápida mediante su API, Necesitamos saber el puerto en que se ejecuta el QRServer.

Seguí estos pasos para localizar:

  1. Ingresar al sitio FAST admin (http://server:port/admin).
  2. Desplácese al sistema Resumen.
  3. Localizar "operador de búsqueda" y haga clic en el icono del catalejo:

    imagen

  4. Utilicé con éxito el valor, 15100 "Info nombre" = "http":

    imagen

Notas:

1. Puerto 15100 parece ser el número de puerto de fuera de la caja de predeterminado para la QRServer.

2. Utilice este código similar al siguiente para crear una instancia de una conexión rápida:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = Nuevo NameValueCollection();
    
        nameValueCollection. Add("fastsearchengine", "Con. FastSearch. ESP búsqueda. Http. HttpSearchFactory");
        nameValueCollection. Add("Con. FastSearch. ESP búsqueda. Http. QRServers", "fastdemoback:15102");
        nameValueCollection. Add("Con. FastSearch. ESP búsqueda. Http. RequestMethod", "CONSEGUIR");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Si eliges un puerto salvajemente incorrecto, recibe un mensaje de error ayuda:

imagen

4. Sin embargo, Si eliges el número de puerto que aparece en el Resumen (15102) no recibe ese mensaje de error ayuda. En su lugar, más tarde, cuando se intenta acceder a los datos mediante una búsqueda o una vista rápida de referencia, se produce un error. De depuración muestra que de searchFactory vista es cero. Se le dará el mensaje "Error al obtener lista de búsqueda de vista".

</final>

Etiquetas de Technorati:

Suscribirse a mi blog.

Hacia patrones de diseño técnico de SharePoint: Flujo de trabajo de SharePoint Designer + Receptor de eventos = cóctel de alta potencia

Uno de los patrones emergentes de que encontrar en la elaboración de soluciones SharePoint aprovecha el flujo de trabajo de SharePoint Designer y un receptor de eventos.

Aquí se presenta un escenario de negocio para poner en contexto:

  • Cargar un documento en un lib doc.
  • Inaugurar varios pasos flujo de trabajo creado mediante SharePoint Designer.
  • En algún momento durante ese proceso, flujo de trabajo asigna una tarea a alguien (a través de recopilar datos de usuario o asignar una tarea).
  • Queremos usar un KPI para realizar un seguimiento de cuánto tiempo esa tarea espera de completar. El KPI muestra verde para tareas que se completan o debido más 3 días a partir de ahora. Muestra amarillo si la tarea es debida mañana u hoy. Aparece en rojo si la tarea está vencida.
  • Aquí está el kicker: Quiero la fecha que impulsa ese KPI para tener conciencia de vacaciones.

No puedo calcular una debida conciencia de vacaciones fecha muy fácilmente en el flujo de trabajo de SharePoint Designer. Tengo que crear una acción personalizada o utilizar una herramienta de parte 3. Sin embargo, es bastante fácil de calcular una fecha en un receptor de eventos. Fusionar los dos y obtenemos un patrón como este:

  • Definir un oculto sí/no hay columnas de sitio en la biblioteca de documentos con la etiqueta "DoCalcualteDueDate".
  • Inicializar en false.
  • En el momento adecuado del flujo de trabajo (por ejemplo:. justo antes de "recopilar datos" acción), asignar ese valor a True.
  • Un ItemUpdate() receptor de eventos mira para ver si "DoCalculateDueDate" es cierto. Puesto que el receptor de eventos ejecuta en cada actualización, "DoCalculateDueDate" es normalmente falso.
  • Cuando el flujo de trabajo asigna DoCalculateDueDate true, el receptor de eventos calcula la debida vacaciones consciente fecha.
  • Cuando el receptor de eventos hace este cálculo, la bandera de DoCalculateDueDate establece en false.

En el final, Flujo de trabajo SPD se comunica con un receptor de eventos mediante el semáforo DoCalculateDueDate y tenemos vacaciones conscientes por las fechas que se asignan en el momento exactamente correcto en la vida del flujo de trabajo. Controles de SharePoint Designer cuando se asigna la fecha de vencimiento, pero el receptor de eventos realiza el cálculo real y asignación.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: ,

Comportamiento observado: Movimiento de los flujos de trabajo SPD dentro de una colección de sitios

ACTUALIZACIÓN: Yo he estado investigando cómo incrustar un flujo de trabajo SPD en una definición de sitio. Esta cadena de foro MSDN tiene alguna información interesante. No es concluyente, pero puntos path a través de la selva.

Doy este post un poco chiflado "observó comportamiento" plomo ya que soy un poco receloso de conclusiones de lo. Flujos de trabajo de SPD son … temperamental.

A menudo se preguntan / preguntando / desgaste sobre flujos de trabajo de SPD en movimiento de un lugar a otro. Hoy en día, Seguí estos pasos e hizo estas observaciones:

  • He creado un flujo de trabajo usando SharePoint Designer en un sitio conectado a una biblioteca de documentos.
  • La biblioteca de documentos asociados ya alojados varios documentos.
  • Salvé el sitio como plantilla.
  • Cuando te salvé el sitio como plantilla, Salvé el contenido así como.
  • He creado un nuevo sitio en la misma colección de sitios usando esa plantilla.

En este punto, He intentado ejecutar el flujo de trabajo. Puntualmente se terminó con el mensaje, "Error en el arranque".

Esperaba esto. Tengo bajas expectativas a la hora de desplazarse flujos de trabajo de SPD.

Continué:

  • Abierto el sitio de SharePoint Designer.
  • Tenía una ojeada en el flujo de trabajo. Le pareció fino.
  • Hice clic en "Finish".
  • Corrí el flujo de trabajo.

A esta hora, funcionó bien.

Agregaré que este flujo de trabajo utiliza los "recogemos datos del usuario" acción que es una acción relativamente compleja bajo el capó.

Tentativamente concluyo que el proceso de "acabamiento" el flujo de trabajo causado los SPD asociar correctamente el flujo de trabajo SPD con la nueva biblioteca de documentos. También termino que la XOML y otros artefactos XML son razonablemente "sueltos". No son super bien junto a la biblioteca de documentos.

¿Qué significa esto significa? Asumiendo que es un proceso confiable y reproducible, hay al menos un método áspero que podemos utilizar para desplazarse por. No sé si esto sería si cruzamos fronteras de colección de sitio de trabajo o incluso más drástico, toda granjas nuevas (por ejemplo:. dev escenario para prod).

Si estás leyendo esto e inclinado, por favor enviar un comentario o Enviarme un correo electrónico su historia de migración de SharePoint Designer. Con mucho gusto actualizaré esta publicación con cualquier conocimientos así ofrecidas.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

Rápida y sencilla: Campo de actualización sólo flujos de trabajo

A menudo es útil almacenar información de estado en una lista personalizada como un código de aprobación que nunca debe ser manipulado directamente por usuarios finales. Este es un escenario común de negocios. He estado trabajando en un proyecto de este año que genera varias fechas estado y recordatorio a través de flujos de trabajo de SharePoint Designer que luego conducen KPI y generalmente soportan procesos de negocio críticos.

Utilice un tipo de contenido del sitio / columna para conseguir este efecto.

Crear un tipo de contenido de sitio con la columna de estado como se muestra:

imagen

Nota el estado" (para Demo)" campo en la parte inferior.

Siguiente, Haga clic en el nombre de columna para obtener acceso a propiedades de la columna. Seleccione "ocultada (No aparecerá en las formas)" en la sección de configuración de columnas como se muestra:

imagen

Esto quita el campo de las formas de actualización de edición estándar. Sin embargo, está todavía disponible en las vistas, KPI, el modelo de objetos y en cualquier otro lugar que desee utilizarlo, incluyendo el flujo de trabajo SPD.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: ,

Domingo divertido: “Pensé que esto iba a ser un pueblo rico”

Hace un poco más de tres años, mi esposa y yo firmado a mi hijo durante una actividad de verano, Los jugadores de Midland Park. Este es un grupo que pasa unos tres o cuatro semanas se prepara para un juego y luego lo muestra a los padres, amigos y familiares. Siempre se ha hecho muy bien.

No sé si el niño de todos es como esta, pero mi hijo es extremadamente reacio a probar cosas nuevas. Sabiendo esto, nos lo firmó para arriba para el programa. Hemos encontrado que es mejor alertar que estas clases de cosas temprano y a menudo. Por lo tanto, con el fin de superar su reticencia natural, le dijimos temprano y nuestro mejor esfuerzo para hacer que suene como diversión, etc.. Incluso con una campaña publicitaria de varios meses, todavía no estaba convencido. Le obligó a hacer, Aunque, y como suele ser el caso, tenía un gran tiempo.

Por el momento el segundo año enrollarse alrededor de, había una vez más convenció a sí mismo que no quería participar. Pero, habíamos firmó arriba y día cero, Lo dejó una mañana en la escuela secundaria donde practicar. Cuando fui a tomarlo después del almuerzo, estaba muy excitado, todas las sonrisas y anunció, "La obra es el Pana conejo y quiero ser el conejo". Literalmente había pasado meses en (a veces histéricamente) acerca de cómo él no quería tener nada que ver con los jugadores del parque y después del primer día, él quiere ser protagonista en el juego. Hemos visto este patrón antes de.

(Para nuestra sorpresa, él consiguió el papel de conejo y fue increíble.)

Adelantándonos unos años. Ha sido de los jugadores del parque tres veces ahora, por lo que es algo de un veterano. Este verano (2008), Los jugadores se inicia otra vez. En la media de tiempo, Finalmente nos ha convencido realmente no quiere jugar fútbol y baloncesto nunca me gustaron. Que lo dejó con ninguna actividades extracurriculares para el final del invierno / principios de la primavera. Un cliente con quien yo trabajaba mencionó que su hija estaba en un programa llamado escenario justo. Etapa es una versión un poco más cara de los jugadores del parque y no está en mi ciudad, pero junto a él. Perfecto.

Lo que sabe sobre ese pueblo es que es prácticamente otro país en términos de riqueza. Tiene un tren de alta frecuencia a Wall Street y NYC en general. Es un lugar rico. Uno de los temas de discusión familiar en curso es si nosotros debemos han trasladado a esa ciudad en el lugar de donde vivimos ahora. Es una ciudad más grande, las escuelas ofrecen programas más para los niños, etc.. Mi esposa creció para arriba en esa ciudad y sus padres viven allí, así que nos estamos "enganchados en" a pesar de no vivir allí. Personalmente crecí en diferentes circunstancias en Massachusetts, así que no tiene mucho que decir acerca de esto durante la cena familiar. Esto no quiere decir que no estamos muy contentos en que vivimos. Sabemos que ese pueblo es económicamente un nivel por encima de nuestra ciudad.

Programa siguiente de la derecha del escenario comenzó demasiado pronto para que podamos lanzar nuestra campaña de publicidad normal para superar la reticencia de mi hijo. Esto es cuando él vino para arriba con uno mis argumentos favoritos personales contra algo: "Noches de los viernes son primer noches para los excedentes de sueño!" Escenario justo iba a interferir con sus sociales de fin de semana.

Llega el día, le traemos allí y drop off y como con todo lo demás, asumió su amor natural de sólo estar vivo y él ha estado teniendo un buen rato con ella.

Este fin de semana pasado mi esposa estaba hablando con él y por primera vez, Creo que él está adaptando sus conversaciones muy exacto para su audiencia. Ella le había pedido que compara a los jugadores de Parque Midland escenario justo. Él le dice "en Parque de los jugadores, tenemos adolescentes que nos ayude. No hay codigo postal cualquiera en etapa. En Parque de los jugadores, adolescentes hacen de los apoyos. En etapa de, tenemos que traer nuestros propios apoyos. Tenemos que todo lo hacer. Y entonces él tuerce el cuchillo: "Pensé que esto iba a ser un pueblo Rico."

Todos estos años, Nunca realmente pensé que estaba escuchando o entendiendo todo lo relativo a la "ciudad rica". Sin embargo, resulta que fue.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

SharePoint no proporciona resúmenes de calendario; Posibles soluciones

ACTUALIZACIÓN: Este enlace los mensajes de una persona anónima en los comentarios: http://www.atidan.com/atidan-collaboration-kit.php

Los usuarios del Foro a menudo una preguntan como esta:

"Me gustaría tener un calendario a nivel de sitio que está poblado por eventos de calendarios de subsitio. Lo ideal sería, los usuarios de subsitios creará eventos de calendario, y tendrá la opción de marcar como ' público.’ Eventos marcados como públicos dinámicamente aparecerá en el calendario del sitio compartido. Así el calendario del sitio compartido es un acumulados de todos los actos públicos de todos los calendarios de subsitio."

Es WSS 3.0 o MOSS 2007, no es posible configurar directamente un "roll-up" calendario. Calendarios que existen en su propio, independiente de cualquier otro calendario.

Para crear un calendario de roll-up, Siga uno de estos caminos:

  1. Usar un elemento Web de consulta de contenido. Esta es la solución más fácil para los usuarios de musgo (WSS no proporciona CQWP). CQWP, Lamentablemente, proporciona una vista de calendario de datos fuera de la caja. Proporciona flexibilidad enorme representación (Vea aquí un ejemplo) pero por defecto, muestra los resultados en formato de lista simple. En muchos casos, CQWP probablemente una buena elección.
  2. Una solución más orientado a la programación sería utilizar receptores de eventos. Implementación de receptores de evento en los calendarios de subsitio que mantienen sus eventos públicos en sincronización con el calendario principal. Como un subsitio determinado se modifica el calendario, llegar al calendario maestro y actualizar según sea necesario. Esta opción está disponible en ambos WSS 3.0 y MOSS.

Hay probablemente otras soluciones inteligentes a este problema. Si usted tiene uno o sabe de uno, por favor deje un comentario o Enviarme un correo electrónico y voy a actualizar este post.

</final>

Etiquetas de Technorati: ,

Suscribirse a mi blog.

Crear sitios (SPWeb) a través de flujo de trabajo de SharePoint Designer

Esta entrada de blog es más un "en el ámbito de lo posible" entrada vs. información concreta.

Tenemos un diseño técnico que requiere para que poder crear un sitio en una colección de sitios mediante un proceso de trabajo manual lanzó. Básicamente, los usuarios introducen datos en un "nuevo cliente" lista personalizada y, a continuación, cuando han terminado y validado el proceso de entrada de datos, Tenemos que crear un sitio para que el cliente.

Soy un gran fan de flujo de trabajo declarativo, así como un programador de flujo de trabajo débil visual studio, así que quería cumplir el requisito de uso de SharePoint Designer.

Tengo pensado escribir sobre esto en mayor detalle (y esperemos que presentar a un grupo de usuarios o dos en el año que viene), pero aquí está la solución general:

  • Crear una acción personalizada que se integra con el SPD.
  • La acción personalizada permite SPD invocar un servicio web y se pasa una cadena de XML.
  • Servicio Web localiza la fila en la lista personalizada y crea un nuevo sitio como por los datos de ese nuevo cliente utilizando una definición de sitio personalizado.
  • Servicio Web, a continuación, actualiza la lista personalizada con alguna información como un enlace al nuevo sitio.

Hemos considerado otros enfoques, como controladores de eventos y flujo de trabajo de visual estudio. El enfoque SPD da a nuestros usuarios finales un poco más control sobre el proceso de. Otorgado, hay un montón de código de C# en esta solución, pero está envuelto dentro de un flujo de trabajo declarativa, por lo que obtener algunos de los beneficios del flujo de trabajo declarativa mientras se enganchen al servicio de creación de sitios.

Todo lo que necesitamos ahora es una herramienta fácil de migrar de forma automática SPD flujos de trabajo en torno a la misma facilidad que lo que podamos para flujos de trabajo de Visual Studio y que realmente va a ser cocinar con gas 🙂 entiendo que alguna gente por ahí están trabajando en este problema y espero que tengan un buen éxito con él pronto.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: ,

Rápida y sencilla: Provisión de un sitio Web mediante el modelo de objetos de SharePoint en C#

He intentado buscar un pequeño código de fragmento de código que mostraría Cómo puedo crear un SPWeb nuevo en una colección de sitios. No encuentro como fácilmente o rápidamente como esperaba así que pensé que sería bofetada juntos una pequeña entrada sobre el tema.

Este código crea un nuevo sitio Wiki:

 SPSite siteCollection;

    siteCollection = Nuevo SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy título",
        "xyzzy Descripción", 1033, SPWebTemplate.WebTemplateWIKI, falso, falso);

Mis búsquedas iniciales fallaron porque estaba buscando frases como "disposición un sitio web utilizando el modelo de objetos de sharepoint" y similares.

Si usted búsqueda para "Webs.Add()", Usted encontrará un número de entradas en el blog muy útil, Artículos MSDN y la documentación de SDK que entrar en profundidad sobre este tema. Definitivamente te recomiendo Este sitio.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati:

Integrar los flujos de trabajo SharePoint Designer con servicios Web

He estado jugando con acciones personalizadas de SharePoint Designer para algún tiempo (ver aquí para algunas cosas detalladas, Si le interesa).

En mi proyecto actual, tenemos que hacer un trabajo bastante pesado y queremos usar flujo de trabajo declarativo de la SPD para gestionar el proceso de negocio asociado.

Larga historia corta, Esto es totalmente posible. Amplié mi proyecto de Codeplex para invocar un "servicio de ayudante" y ahora podemos invocar un servicio web directamente en un flujo de trabajo SPD.

Aquí está la firma:

 público cadena Dispatcher(
        GUID WebID, // Pasó por el entorno de ejecución
        GUID SiteID, // Pasó por el entorno de ejecución
        cadena ListID, // Pasó por el editor de texto enriquecido (no sé por qué esto es una cadena, no un GUID)
        int ListItemID, // Pasó por el editor de texto enriquecido.
        cadena XmlMessage) // Aprobada por el usuario, como declaró en SPD.

Esto aprovecha el hecho de que podemos obtener información importante de flujo de trabajo, como el sitio, ID de la lista, etc.. Esto está bien documentado en varios lugares para los interesados en la creación de tus propias acciones personalizadas. La idea es extraer la cadena XML proporcionado por el usuario para enviar un procedimiento adecuado. Cosas divertidas!

Lamentablemente, Esto es obviamente un boleto de ida a "Antipatrón vacacional" anti-patrón tierra, pero es mejor que golpear una pared de ladrillo 🙂

Es un antipatrón si lo haces a pesar de que sabe que es un antipatrón?

Espero que esto Envuelva dentro de Codeplex en el futuro cercano. Si usted está interesado en mí hacerlo, Dame poke (Correo electrónico o deja un comentario) y voy a ser más entusiasta que en hacerlo 🙂

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: ,

Domingo divertido: “Me pregunto si la contraseña es …”

Hace poco compré comida para mi hermano (como de costumbre) y terminamos hablando acerca de cosas divertidas que hicimos en nuestros respectivos colegios. En mi alma mater, Lafayette College, el apoyo académico Departamento tenía una manera muy incluyente respecto. Nos dieron un montón de cuerda y aproveché a veces.

Dos mis recuerdos favoritos se refieren a mi buen amigo, Gabe. Él hizo el terrible error de decirle a la gente su año del estudiante de primer año que "yo soy un estudiante de primer año, pero el segundo pie" debido a las diversas clases de colocación avanzada que había tomado, etc.. Muchos de nosotros estaban situadas de manera similar, pero no hablamos de lo mucho. Su último año, Cuando le presentamos a las personas, decir "este es Gabe. Él es un Senior, pero él tiene segundo pie ".

El Colegio tenía algunos sol estación de trabajo/servidores de X-Window. Tenían monitores gigantescos y los ingenieros utilizaron para CAD y otras cosas aburridas de Ingeniero. Que CS personas utilizaban para aprender programación y, Claro, jugar a juegos.

No como los ingenieros ordenador indefensos a mucho por lo que una de nuestras cosas favoritas para hacer sería a telnet al cuadro estaban y ejecutar X-eye en ellos. Esto sería pop un par de ojos que siguieron el ratón de la pantalla. Podría incluso más el pop y tiene literalmente una docena o más de las aplicaciones de X-eye funcionando. Intenta no reírte a carcajadas cuando un desafortunado ingeniero intenta cerrar X-eye tras X-eye y murmura entre dientes al respecto 🙂

También jugó X-trek en esas cajas. Para hacer eso, tienes que descargar la fuente, Haz varias dependencias donde podría encontrarlos y construirlo. No era un sofisticado programador C, pero yo podía leer los archivos de encabezado. Yo miraba a través de estos y encontrar directivas como "#DEFINE MAX_TORPEDO_DISTANCE 10". Yo jugaba con que aumentar la gama y energía para las fases y torpedos, lo reconstruido y luego destruido Gabe la próxima vez que tocamos.

Gabe fue también un gran fan de un programa de televisión llamado Blake 7. No había visto nunca, pero que no me impide insistir que el Dr.. Que es el superior. Las discusiones se calentaban a veces 🙂

Un día, se me ocurrió que podría probablemente supongo que su contraseña de UNIX. Me senté junto a él un día y anunció en un tono alto, "Voy a adivinar tu contraseña ahora, Gabe." "Sí, derecho" fue su respuesta. Luego logueado, introducir su id de usuario, volvió a enfrentarse a él, ha escrito y dicho en voz alta, "Me pregunto si es B-L-A-K-E-7" ? Mecanografía no ha nunca sido recompensada generosamente como lo hizo ese día.

La próxima semana (o pronto): Más travesuras de habitación de ordenador de la Universidad.

¿Tienes alguna para compartir? Deja un comentario o correo y te lo publicaremos aquí.

</final>

Suscribirse a mi blog.

Etiquetas de Technorati: