RÁPIDA integración de SharePoint: Código de ejemplo para mostrar todas las vistas rápidas disponibles

Aquí hay un código que muestra todas las vistas disponibles desde un RÁPIDO servidor basado en el nombre QRServer (el proceso del servidor con el cual nos comunicamos). Te ofrezco esta para darle todo el sabor de lo que es para usar la API proporcionado rápido.

utilizando Sistema;
utilizando System.Collections.Generic;
utilizando System.Linq;
utilizando System.Text;
utilizando Com.FastSearch.ESP.Search;
utilizando Com.FastSearch.ESP.Search.http;
utilizando Com.FastSearch.ESP.Search.Navigation;
utilizando Com.FastSearch.ESP.Search.Query;
utilizando Com.FastSearch.ESP.Search.Result;
utilizando Com.FastSearch.ESP.Search.View;
utilizando System.Collections.Specialized;
utilizando System.Collections;


espacio de nombres Conchango
{
    clase EnumerateFASTViews
    {
        estática void Principal(cadena[] args)
        {

            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:15100");
            nameValueCollection. Add("Con. FastSearch. ESP búsqueda. Http. RequestMethod", "CONSEGUIR");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            Consola.WriteLine("Totales Views: [" + searchFactory.GetSearchViewList().Conde + "].");

            int Yo = 0;

            foreach (objeto o en searchFactory.GetSearchViewList())
            {
                Consola.WriteLine("Vista [" + i    + "]: [" + o.ToString() + "].");

            }

            Consola.ReadLine();

        }
    }
}

Tenga en cuenta que me considero un programador C# apenas competente y tengo la piel fina, Así que no envíe ningún camino de frambuesas, especialmente re: el "foreach (objeto o en …)" construct 🙂

</final>

Etiquetas de Technorati: ,

Suscribirse a mi blog.

RÁPIDO y SharePoint integración primer vistazo

He sido afortunado de tener la oportunidad de trabajar en una forma rápida <–> Proyecto de integración de SharePoint y pensé que lo haría seguir compartiendo mi limitada experiencia con la comunidad.

Microsoft está en el proceso de compra RÁPIDO. No saben nada sobre el horario que debería estar terminado en el "2 º trimestre" Supongo que lo que significa que por 06/30/08.

Diseño de mi proyecto, en un nivel muy alto, llamadas para crear unos elementos web que tienen aproximadamente la misma mirada, sensación y funcionalidad como el musgo estándar caja de búsqueda y resultados básicos web parte, pero tirando de FAST. He hecho algunos pasos de bebé en esa dirección.

RÁPIDA es un motor de búsqueda dedicado. No se basa en tecnología Microsoft, Aunque es obvio que algunos de los ingenieros rápidos comprender claramente MS tech (o que han hecho uso de contratistas).

RÁPIDO:

RÁPIDO es un producto de servidor de gran monstruo (y no me refiero a en un sentido malo; MOSS es un producto de gran monstruo a mí así como). Parece estar basado en Java y me di cuenta de algunas cosas de apache y tal vez algunos PHP. No me sorprendería si hubiera otros pedazos de tecnología mezclada aquí y de allá. Definitivamente funciona en windows server y está trabajando bien en el entorno virtual que he estado usando.

Hace uso de un servicio web de fachada que arrastra el contenido SharePoint para la indexación de su especial forma rápida.

Un usuario SharePoint sería bastante en casa con la interfaz de usuario de FAST. Tiene búsqueda simple/avanzada, muestra resultados, es de gran relevancia (Aunque no veo cómo se maneja la relevancia social). Sin embargo, ir más allá. Su raíz parece mejor. Yo realmente no puedo expresarlo bien pero yo solo voy a decir "es mejor." Usted puede tomar mi palabra para ella, or not 🙂 I may elaborate on this point in the future, como obtener más.

MOSS:

Proporciona rápidamente una. DLL de red amigable que proporciona una interfaz para el motor rápido. Lo que nos permite crear elementos web o páginas de aplicación o lo que queramos consultar rápidamente y presentar los resultados.

Parece que hay una interfaz de servicios web como.

También tengo acceso a una parte de la web siempre rápido que integran musgo y rápido. No sé si esto es un POC, algo que fue azotado para arriba como un demo o lo que. Definitivamente es una buena herramienta, No estoy tan seguro si está listo para la producción.

Eso es todo por ahora. A medida que progresas a través del proyecto, Posteare mas.

</final>

Etiquetas de Technorati: , ,

Suscribirse a mi blog.

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