SCHNELLE Integration in SharePoint: Beispiel-Code, alle verfügbare Ansichten schnelle anzeigen

Hier ist ein Code, der zeigt alle verfügbare Sichten aus einer SCHNELL Server basierend auf der benannten QRServer (der Server-Prozess, mit dem wir kommunizieren). Ich biete dies für euch alle einen Vorgeschmack wie es ist, die bereitgestellten schnell-API verwenden.

Verwendung System;
Verwendung System.Collections.Generic;
Verwendung System.Linq;
Verwendung System.Text;
Verwendung Com.FastSearch.ESP.search;
Verwendung Com.FastSearch.ESP.search.http;
Verwendung Com.FastSearch.ESP.search.Navigation;
Verwendung Mit. FastSearch. BES. Suchanfrage;
Verwendung Mit. FastSearch. BES. Suchergebnis;
Verwendung Mit. FastSearch. BES. Suchansicht;
Verwendung System.Collections.Specialized;
Verwendung System.Collections;


Namespace Conchango
{
    Klasse EnumerateFASTViews
    {
        statische privatevoid Main(Zeichenfolge[] args)
        {

            ISearchFactory searchFactory;

            NameValueCollection NameValueCollection = Neu NameValueCollection();

            nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15100");
            nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");

            SearchFactory = SearchFactory.NewInstance(nameValueCollection);

            Konsole.WriteLine("Total Views: [" + searchFactory.GetSearchViewList().Anzahl + "].");

            int Ich = 0;

            foreach (Objekt o im searchFactory.GetSearchViewList())
            {
                Konsole.WriteLine("View [" + i    + "]: [" + o.ToString() + "].");

            }

            Konsole.ReadLine();

        }
    }
}

Beachten Sie, dass ich halte mich für einen kaum zuständigen C#-Programmierer, und ich dünne Haut habe, also keine Himbeeren meinen Weg schicken, vor allem Rück: der "foreach (Objekt o in …)" construct 🙂

</Ende>

Technorati Tags: ,

Onnieren Sie meinen Blog ab.

SCHNELL und SharePoint Integration erster Blick

Ich habe Glück, haben die Möglichkeit, auf eine schnelle Arbeit <–> SharePoint Integrationsprojekt und dachte, ich würde weiterhin austauschen Meine begrenzten Erfahrungen mit der Gemeinschaft.

Microsoft ist in der Prozess der Kauf SCHNELL. Ich weiß nichts über den Zeitplan nicht, außer dass es im 2. Quartal"fertig sein sollte" Ich nehme an, d.h. von 06/30/08.

Mein Projekt-design, auf einem sehr hohen Niveau, fordert ein paar Webparts erstellen, haben ungefähr das gleiche Aussehen, Haptik und Funktionalität wie die standard MOSS Suchfeld und Kernergebnisse web Teil, aber ziehen von FAST. Ich habe einige kleine Schritte in diese Richtung gemacht..

SCHNELL ist eine spezielle Suchmaschine. Es basiert nicht auf Microsoft-Technologie, Obwohl es für mich klar ist, dass einige der schnell-Ingenieure klar verstehen MS-tech (oder sie haben gemacht der Auftragnehmer verwenden).

SCHNELL:

SCHNELL ist ein Serverprodukt große monster (und ich meine das nicht im schlechten Sinne; MOSS ist eine große Monster Produkt mir auch). Es scheint auf Java basieren und ich bemerkte ein Apache-Zeug und vielleicht einige PHP. Ich wäre nicht überrascht, wenn es andere Bits hier und dort hineingemischt Tech gab. Es auf jeden Fall läuft auf Windows-Server und in der virtuellen Umgebung, die ich verwendet habe gut funktioniert.

Es nutzt einen Webdienst Fassade, dass SharePoint-Inhalte crawlen zum Indizieren in seinen speziellen schnell Weg.

Ein SharePoint-Endbenutzer wäre ziemlich zu Hause mit FASTETEN Benutzeroberfläche. Es hat einfache/Erweiterte Suche, zeigt Ergebnisse, ist groß auf Relevanz (aber ich sehe nicht, wie es soziale Relevanz verarbeitet). Jedoch, Es geht weiter. Die Wortstammerkennung scheint besser. Ich kann nicht es gut artikulieren, aber ich will nur sagen, "Es ist besser." Sie können mein Wort zu nehmen., or not 🙂 I may elaborate on this point in the future, als ich mehr.

MOOS:

SCHNELLEN bietet ein. NET-freundlich-DLL, die eine Schnittstelle für die schnelle Engine bietet. Dies macht es uns möglich, Erstellen von Webparts oder Anwendungsseiten oder was auch immer wir wollen schnell Abfragen und die Ergebnisse zu präsentieren.

Es scheint eine Webservice-Schnittstelle sowie.

Ich habe auch Zugriff auf ein FAST bereitgestelltes Webpart, der Moos und schnell integriert ist. Ich weiß nicht, ob dies ein POC, etwas, das als Demo oder was, bis geschlagen wurde. Es ist definitiv ein gutes Lerntool, nicht so sicher, ob es produktionsreif ist.

Das war's fürs erste. Wenn ich das Projekt weiterkommen, Ich werde mehr.

</Ende>

Technorati Tags: , ,

Onnieren Sie meinen Blog ab.

FAST QRServer Port bestimmen

Um mit FAST Search über seine API zu kommunizieren, Wir benötigen den Port auf dem der QRServer ausgeführt wird.

Diese Schritte zu suchen:

  1. Loggen Sie sich in die schnellen Admin-Website (http://server:port/admin).
  2. Navigieren Sie zu Systemübersicht.
  3. Suchen Sie "Suche Dispatcher" und klicken Sie auf das Symbol spyglass:

    Bild

  4. Ich habe erfolgreich den Wert, 15100 für Info Name"" = "http":

    Bild

Hinweise:

1. Hafen 15100 scheint die Standardportnummer von Out-of-Box für die QRServer.

2. Verwenden Sie diesen Code ähnlich dem folgenden zum Instanziieren einer Verbindungs zu FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection NameValueCollection = Neu NameValueCollection();
    
        nameValueCollection.Add("fastsearchengine", "Com.FastSearch.Esp.Search.Http.HttpSearchFactory");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.QRServers", "fastdemoback:15102");
        nameValueCollection.Add("Com.FastSearch.Esp.Search.Http.RequestMethod", "GET");
    
        SearchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Wenn Sie einen Wild falschen Port wählen, erhalten Sie eine hilfreiche Fehlermeldung:

Bild

4. Jedoch, Wenn Sie die Port-Nummer, aufgeführt in der Übersicht wählen (15102) Sie erhalten nicht die hilfreiche Fehlermeldung. Stattdessen, später, wenn Sie versuchen, Zugriff auf alle Daten über eine Suche oder eine schnelle Ansicht verweisen, Sie erhalten eine Fehlermeldung. Debuggen zeigt, dass die SearchFactory Ansicht Count NULL ist. Sie werden die Meldung "Failed to View Suchliste zu holen" gegeben.

</Ende>

Technorati Tags:

Onnieren Sie meinen Blog ab.

In Richtung SharePoint technische Design-Patterns: SharePoint Designer-Workflows + Ereignisempfänger = hohe Potenz-Cocktail

Eines der neuen Muster finde ich in handwerklichen SharePoint-Lösungen nutzt SharePoint Designer-Workflow und einen Ereignisempfänger.

Hier ist ein Business-Szenario um es im Kontext:

  • Ich Hochladen eines Dokuments in ein Doc-lib.
  • Ich kick-off mehrstufigen Workflows mit SharePoint Designer erstellt.
  • An einem gewissen Punkt während dieses Vorgangs, Workflow eine Aufgabe zugewiesen jemand (über Daten von Benutzer sammeln oder eine Aufgabe zuweisen).
  • Wir wollen einen KPI nutzen um zu verfolgen, wie lange diese Aufgabe Vollendung wartet. Der KPI zeigt grün für Vorgänge, die abgeschlossen sind oder wegen mehr als 3 nach diesen Tagen. Es zeigt gelb, wenn die Aufgabe Morgen oder heute fällig ist. Es zeigt rot, wenn die Aufgabe bereits überfällig ist..
  • Hier ist die kicker: Ich will das Datum, an dem die KPI Urlaub-bewusst sein-Laufwerke.

Ich kann kein Urlaub bewusst aufgrund berechnen Datum in SharePoint Designer-Workflows sehr einfach. Hätte ich eine benutzerdefinierte Aktion erstellen oder verwenden Sie eine 3rd-Party-tool. Jedoch, Es ist leicht genug, um solch ein Datum in einen Ereignisempfänger berechnen. Diese beiden zusammengeführt und wir bekommen ein Muster wie folgt:

  • Definieren Sie einen versteckten ja/keine Websitespalte auf die Dokumentbibliothek mit der Bezeichnung "DoCalcualteDueDate".
  • Initialisieren Sie es auf false.
  • Zu gegebener Zeit in den workflow (zB. kurz vor der "Erhebung von Daten" Aktion), Weisen Sie diesen Wert auf True.
  • Ein ItemUpdate() Ereignis-Empfänger sieht zu um sehen, ob "DoCalculateDueDate" stimmt. Da der Ereignisempfänger auf jedes Update ausgeführt wird, "DoCalculateDueDate" normalerweise stimmt.
  • Wenn der Workflow weist DoCalculateDueDate auf true, der Ereignisempfänger berechnet der Urlaub bewusst wegen Datum.
  • Wenn der Ereignisempfänger wird diese Berechnung, Es wird das DoCalculateDueDate-Flag auf false festgelegt.

Am Ende, SPD-Workflow wird mit einen Ereignisempfänger über das Semaphor DoCalculateDueDate kommuniziert und wir haben Urlaub-bewusst aufgrund Termine die im genau richtigen Moment in den Workflow Leben zugewiesen sind. SharePoint Designer-steuert, wann das Fälligkeitsdatum wird zugewiesen, sondern der Ereignisempfänger die eigentliche Berechnung und Zuweisung führt.

</Ende>

Onnieren Sie meinen Blog ab.

Beobachtete Verhalten: SPD-Workflows innerhalb einer Websitesammlung verschieben

UPDATE: Ich habe einen SPD-Workflow in einer Websitedefinition einbetten untersucht. In diesem MSDN-Forum-Kette hat einige interessante Informationen. Es ist nicht schlüssig, aber Punkte Pfad durch den Dschungel.

Ich gebe diesem Beitrag ein wenig Spinner "beobachtete Verhalten" Führen Sie, da bin ich ein wenig misstrauisch gegenüber Schlüsse daraus. SPD-Workflows sind … temperamentvoll.

Menschen sind oft Fragen / Fragen / Fretting über SPD-Arbeitsabläufe von einem Ort zum anderen verschieben. Heute, Ich folgte die Trittbretter und machte diese Beobachtungen:

  • Ich habe ein Workflows mithilfe von SharePoint Designer auf einer Website an eine Dokumentbibliothek angehängt.
  • Der zugeordnete Dokument-Bibliothek befinden sich bereits mehrere Dokumente.
  • Ich die Website als eine Vorlage gespeichert.
  • Wenn ich die Seite als Vorlage gespeichert, Ich speicherte die Inhalte als auch.
  • Ich habe eine neue Seite in der gleichen Websitesammlung mithilfe der Vorlage.

An diesem Punkt, Ich habe versucht, den Workflow ausführen. Er beendet sich umgehend mit der Logmeldung, "Fehler beim Start".

Ich erwartete, dass dies. Ich habe niedrige Erwartungen, wenn es darum geht, die SPD Arbeitsabläufe bewegen.

Ich setzte fort:

  • Öffnen die Website in SharePoint Designer.
  • Hatten Sie einen Blick in den workflow. Es schien in Ordnung.
  • Ich klickte auf "Fertig stellen".
  • Ich lief den workflow.

Dieses Mal, Es wirkten Bußgeld.

Ich will hinzufügen, dass dieser Workflow die "Sammeln von Daten vom Benutzer verwendet" Maßnahmen, die eine relativ komplexe unter der Haube Aktion.

Abschließend unter Vorbehalt, dass der Prozess der "beenden" den Workflow, der verursacht SPD richtig zuordnen von der SPD Workflow mit der neuen Dokumentbibliothek. Abschließend möchte ich auch, dass die XOML und andere XML-Artefakte sind einigermaßen "lose". Sie sind nicht in der Dokumentbibliothek super eng gekoppelt.

Was bedeuten? Vorausgesetzt, es ist eine zuverlässige und reproduzierbare Prozess, Es gibt mindestens eine grobe Methode, mit denen wir sie bewegen. Ich weiß nicht, ob dies funktionieren, wenn wir Website Auflistung Grenzen überschritten oder sogar mehr drastisch, gesamte neue Bauernhöfe (zB. Dev auf Bühne zu prod).

Wenn Sie dies lesen und geneigt, Bitte post a Comment oder mailen Sie mir Ihre SharePoint Designer-Migration-Geschichte. Ich werde diesen Beitrag gerne mit keine Erkenntnisse so angeboten.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

Schnell und einfach: Workflow-Update-Feld

Es ist oft hilfreich, um Statusinformationen in einer benutzerdefinierten Liste z. B. eine Genehmigung-Code zu speichern, die vom Endbenutzer nie direkt manipuliert werden sollten. Dies ist eine gemeinsame Business-Szenario. Ich habe ein Projekt in diesem Jahr gearbeitet, die verschiedenen Status und Erinnerung Datumsangaben mithilfe von SharePoint Designer-Workflows erzeugt, die dann fahren KPIs und zeitkritischen Geschäftsprozessen im allgemeinen unterstützen.

Verwenden Sie einen Websiteinhaltstyp / Spalte, um diesen Effekt zu erzielen.

Erstellen eines Websiteinhaltstyps mit der Statusspalte wie gezeigt:

Bild

Beachten Sie den Status" (für Demo)" Feld unten.

Nächste, Klicken Sie auf den Spaltennamen der Spalteneigenschaften Zugriff auf. Wählen Sie "versteckt (Erscheint nicht in Formularen)" im Abschnitt Spalteneinstellungen wie gezeigt:

Bild

Dies entfernt das Feld von den standard-bearbeiten/Update-Formen. Jedoch, Es ist immer noch in Ansichten, KPIs, das Objektmodell und anderswo Sie wollt zu Verwendung es, einschließlich der SPD workflow.

</Ende>

Onnieren Sie meinen Blog ab.

Sonntag Funny: “Ich dachte, dies sollte eine reiche Stadt”

Vor etwas mehr als drei Jahren, meine Frau und ich unterschrieb meinen Sohn für eine Sommer-Aktivität, Die Midland Park-Spieler. Dies ist eine Theatergruppe, die etwa drei oder vier Wochen für ein Spiel vorbereiten und dann zeigt es den Eltern verbringt, Freunde und Verwandte. Es ist immer sehr gut gemacht worden.

Ich weiß nicht, ob jeder Kind so ist, aber mein Sohn ist sehr zurückhaltend, neue Dinge auszuprobieren. Mit diesem Wissen, Wir nahmen ihn für das Programm. Wir haben festgestellt, dass es am besten, um ihn auf diese Art von Dingen zu warnen, früh und häufig ist. Also, um seine natürliche Abneigung zu überwinden, Wir sagten ihm früh und haben unser Bestes, um es klingen mag Spaß, usw.. Sogar mit einer mehrmonatigen Werbekampagne, Er war immer noch nicht überzeugt. Wir zwangen ihn zu tun, Obwohl, und wie oft der Fall ist, Er hatte eine tolle Zeit.

Zu der Zeit rollte im zweite Jahr um, Er hatte wieder einmal selbst davon überzeugt, dass er nicht teilnehmen möchten.. Aber, Wir hatten ihn und auf 0 (null)-Tag unterzeichnet:, Ich fiel ihm eines morgens an der High School, wo sie der Praxis. Als ich ging, um ihn abzuholen, nach dem Mittagessen, Er war sehr aufgeregt, Alle Lächeln und kündigte, "Das Spiel ist die Velveteen Rabbit und ich möchte das Kaninchen sein". Er hatte buchstäblich Monate kulturtragende verbrachte. (manchmal hysterisch) über wie er nichts mehr mit Park-Spieler und nach dem ersten Tag zu tun haben wollte, Er will die Hauptrolle in dem Stück. Wir haben gesehen, dass dieses Muster vor.

(Zu unserer Überraschung, Er bekam die Rolle der Kaninchen und er war erstaunliche.)

Schneller Vorlauf ein paar Jahre. Im Park Spieler ist dreimal jetzt er, Er ist also so etwas wie ein veteran. In diesem Sommer (2008), Spieler startet wieder. In der Zwischenzeit, Er hat uns schließlich überzeugt er wirklich spielen Fußball und er will nie gern basketball. Das ließ ihm keine außerschulischen Aktivitäten für Spätwinter / zeitigen Frühjahr. Ein Client, mit dem ich gearbeitet habe, erwähnt, dass seine Tochter in ein Programm namens Bühne rechts war. Stufe rechts ist eine etwas teurere Version des Park-Spieler und es ist nicht in meiner Stadt, aber daneben. Perfekte.

Die Sache über diese Stadt wissen ist, dass es praktisch ein weiteres Land in Bezug auf Reichtum. Es hat im Allgemeinen einen hochfrequenten Zug Recht auf Wall Street und New York. Es ist nur ein wohlhabender Ort. Eines der Themen laufender Familie Diskussion ist, ob wir zogen haben sollte, in dieser Stadt statt, wo wir jetzt Leben. Es ist eine größere Stadt, die Schulen bieten weitere Programme für die Kinder, usw.. Meine Frau in dieser Stadt aufgewachsen und ihre Eltern dort zu leben., Also sind wir "in süchtig" Trotz nicht dort leben. Ich bin persönlich aufgewachsen unter verschiedenen Umständen in Massachusetts, So habe ich nicht viel zu sagen über dieses beim Familienessen Gespräch. Dies soll nicht heißen, dass wir sehr glücklich sind, wo wir leben. Wir wissen nur, dass diese Stadt eine Ebene über unsere Stadt wirtschaftlich ist.

Bühne rechts nächsten Programmstart zu früh für uns, unsere normale Werbekampagne um mein Sohn Zurückhaltung zu überwinden zu starten. Dies ist, wenn er mit einer meiner persönlichen Lieblings-Argumente kam gegen etwas zu tun: "Freitag Nächte sind Prime Nächte für Schlaf-Overs!" Stufe rechts wollte mit seinem Wochenende Socials stören.

Der Tag kommt, Wir bringen ihn dort und lass ihn weg und als alles andere, seine natürliche Liebe nur Lebensgefühls übernahm und er hat Zeit, eine gute Zeit mit ihm.

Am vergangenen Wochenende sprach meine Frau zu ihm und zum ersten Mal, Ich denke, dass er seinen Gesprächen sehr genau für sein Publikum Schneiderei ist. Sie hatte ihn fragte, wie Bühne rechts Midland Park Spieler vergleicht. Er sagt ihr, dass "im Park-Spieler, Wir haben Jugendliche, die uns zu helfen. Es gibt keine in Bühne rechts. Im Park-Spieler, Teenager machen alle Requisiten. Bühne rechts, Wir müssen unsere eigenen Requisiten mitbringen. Wir müssen alles tun. Und dann dreht er das Messer: "Ich dachte, dies soll war eine reiche Stadt."

All die Jahre, Ich dachte nie wirklich, dass er hören oder etwas zu verstehen, wie es im Zusammenhang mit der "reichen Stadt". Jedoch, Es stellt sich heraus, dass er war.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

SharePoint bietet keine Kalender-Rollups; Mögliche Lösungen

UPDATE: Eine anonyme Person in den Kommentaren Posten dieser link: http://www.atidan.com/atidan-collaboration-kit.php

Forum-Benutzer Frage häufig eine wie diese:

"Ich würde gerne einen Kalender auf Site-Ebene, die durch Ereignisse aus Unterwebsite Kalendern aufgefüllt wird. Im Idealfall, Benutzer in Unterwebsites werden Kalenderereignisse erstellen, und haben die Möglichkeit der Kennzeichnung als "öffentliche.’ Ereignisse als öffentliche erscheint dynamisch in die gemeinsame Website-Kalender. Somit ist der gemeinsame Website-Kalender ein Rollup aller öffentlichen Veranstaltungen aus allen Unterwebsite Kalendern."

WSS ist 3.0 oder MOSS 2007, Es ist nicht möglich, eine "Roll-Up direkt konfigurieren" Kalender. Kalender gibt es auf eigene Faust, unabhängig von anderen Kalender.

Erstellen Sie einen Roll-Up-Kalender, Führen Sie einen dieser Pfade:

  1. Verwenden Sie ein Webpart für Inhaltsabfragen. Dies ist die einfachste Lösung für MOSS-Anwender (WSS bietet keine CQWP). CQWP, Leider, bietet keine Kalenderansicht der Daten aus der box. Es bietet enorme Renderingflexibilität (Hier finden Sie ein Beispiel) aber standardmäßig, zeigt seine Ergebnisse in Form von einfachen Liste. In vielen Fällen, CQWP wahrscheinlich eine gute Wahl.
  2. Eine Programmierung-orientierte Lösung wäre Ereignisempfänger verwenden. Implementieren Sie Ereignisempfänger für die Unterwebsite-Kalender, die ihre öffentlichen Veranstaltungen mit dem Meister Kalender synchron halten. Ein bestimmten Unterwebsite Kalender geändert wird, erreichen Sie der Masterkalender und aktualisieren sie bei Bedarf. Diese Option steht in beiden WSS 3.0 und Moos.

Es gibt wahrscheinlich andere cleveren Lösungen für dieses problem. Wenn Sie haben oder eines kennen, Bitte hinterlassen Sie einen Kommentar oder mailen Sie mir und ich werde diesen Beitrag aktualisieren.

</Ende>

Technorati Tags: ,

Onnieren Sie meinen Blog ab.

Erstellen von Websites (SPWeb) über SharePoint Designer-Workflows

Dieser Blog-Eintrag ist eher ein "im Bereich des möglichen" Eintrag vs. konkrete info.

Wir haben ein technisches Design, das fordert uns zum Erstellen einer Website in einer Websitesammlung über eine manuell gestartete Workflow-Prozess. Im Grunde, Benutzer geben Sie Daten in einen "neuen Kunden" benutzerdefinierte Liste und dann, wenn sie beendet haben, und überprüft die Dateneingabe, Wir müssen zum Erstellen einer Website für diesen Kunden.

Ich bin ein großer Fan von deklarativen Workflows sowie eine schwache visual Studio-Workflow-Programmierer, also ich die Anforderungen mithilfe von SharePoint Designer wollte.

Ich plane, ausführlicher darüber zu schreiben (und hoffentlich eine Benutzergruppe oder zwei im kommenden Jahr vorlegen), aber hier ist die Gesamtlösung:

  • Erstellen einer benutzerdefinierten Aktion, die mit SPD integriert.
  • Die benutzerdefinierte Aktion ermöglicht die SPD auf einen Webdienst aufrufen, und übergeben sie einen XML-string.
  • Webdienst sucht die Zeile in der benutzerdefinierten Liste und erstellt eine neue Site wie pro die Daten für den neuen Client mithilfe einer benutzerdefinierten Websitedefinition.
  • Web-Service aktualisiert dann die benutzerdefinierte Liste mit einigen Informationen wie z. B. einen Link zur neuen Website.

Wir als andere Ansätze, wie Event-Handler und visual Studio basierend workflow. Der SPD-Ansatz ermöglicht unseren Endkunden ein wenig mehr Kontrolle über den Prozess. Erteilt, Es gibt eine Menge von C#-Code in dieser Lösung, aber es ist verpackt in einem deklarativen workflow, So bekommen wir einige der Vorteile der deklarativen Workflows beim Einhängen in die Site-Erstellung Dienst.

Alles, was wir jetzt brauchen, ist ein einfaches Tool, um SPD-Workflows so einfach wie möglich für Visual Studio-Workflows automatisch zu migrieren, und wir werden wirklich mit Gas kochen 🙂 Ich verstehe, dass einige Leute da draußen an diesem Problem arbeiten und ich hoffe, sie haben es getan bald viel erfolg damit.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags: ,