SNABB SharePoint-integrering: Exempelkod för att visa alla tillgängliga snabbt vyer

Här är några kod som visar alla tillgängliga vyer från en SNABB Server baserat på de namngivna QRServer (serverprocessen som vi kommunicerar). Jag erbjuder detta upp till ge er alla en smak av vad det är som för att använda medföljande snabbt API.

med hjälp av System;
med hjälp av System.Collections.Generic;
med hjälp av System.Linq;
med hjälp av System.Text;
med hjälp av Com.FastSearch.Esp.Search;
med hjälp av Com.FastSearch.Esp.Search.Http;
med hjälp av Com.FastSearch.Esp.Search.Navigation;
med hjälp av Com.FastSearch.Esp.Search.Query;
med hjälp av Com.FastSearch.Esp.Search.Result;
med hjälp av Com.FastSearch.Esp.Search.View;
med hjälp av System.Collections.Specialized;
med hjälp av System.Collections;


namnområdet Conchango
{
    klass EnumerateFASTViews
    {
        statisk void Main(sträng[] args)
        {

            ISearchFactory searchFactory;

            NameValueCollection nameValueCollection = nya 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);

            Konsolen.WriteLine("Totala visningar: [" + searchFactory.GetSearchViewList().Greve + "].");

            int Jag = 0;

            foreach (objekt o i searchFactory.GetSearchViewList())
            {
                Konsolen.WriteLine("Visa [" + i    + "]: [" + o.ToString() + "].");

            }

            Konsolen.ReadLine();

        }
    }
}

Observera att jag anser mig en knappt behöriga C#-programmerare och jag har tunn hud, så att inte skicka några hallon mitt sätt, särskilt re: den "foreach (objekt o i …)" construct 🙂

</slutet>

Technorati Tags: ,

Prenumerera på min blogg.

SNABBT och SharePoint Integration första titt

Jag har haft tur att få möjlighet att arbeta på ett snabbt <–> SharePoint integration project och tänkte jag skulle fortsätta att dela min begränsade erfarenhet med gemenskapen.

Microsoft är i processen för att köpa SNABB. Jag vet ingenting om schemat förutom att det bör vara klart under "2: a kvartalet" vilket jag antar betyder av 06/30/08.

Mitt projekt design, på en mycket hög nivå, samtal för att skapa några webbdelar som har ungefär samma utseende, känsla och funktionalitet som standard MOSSAN sökrutan och kärnresultat webbdel, men dra från FAST. Jag har gjort några baby steg i den riktningen.

SNABB är en dedikerad sökmotor. Det bygger inte på Microsoft-teknik, även om det är uppenbart för mig att några av de snabba ingenjörerna tydligt förstå MS tech (eller de har gjort användningen av entreprenörer).

SNABB:

SNABB är en stor monster-serverprodukt (och jag menar inte som i en dålig känsla; MOSS är en stor monster produkt för mig också). Det verkar vara baserad på Java och jag märkte några apache saker och kanske några PHP. Jag skulle inte bli förvånad om det fanns andra bitar av tech blandas i här och där. Definitivt körs på windows server och fungerar bra i den virtuella miljön som jag har använt.

Det använder sig av en fasad webbtjänst att crawlningarna SharePoint-innehåll för indexering i dess särskilda snabbt sätt.

En SharePoint slutanvändaren skulle vara ganska mycket hemma med FAST: s användargränssnitt. Det har enkel/avancerad sökning, visar resultat, är stor på relevans (men jag förstår inte hur man hanterar sociala relevans). Men, Det går vidare. Dess som verkar bättre. Jag verkligen inte kan artikulera det väl men jag säger bara "det är bättre." Du kan ta mitt ord för det, or not 🙂 I may elaborate on this point in the future, som jag Läs mer.

MOSS:

Ger snabbt en. NET-vänlig DLL som tillhandahåller ett gränssnitt för snabb motor. Detta gör det möjligt för oss att skapa webbdelar eller ansökan sidor eller vad vi vill fråga snabbt och presentera resultaten.

Det verkar vara en web service gränssnitt samt.

Jag har också tillgång till en snabb-som webbdel som kan integreras MOSS och snabbt. Jag vet inte om detta är en POC, något som var piskade upp som en demo eller vad. Det är definitivt en bra läromedel, inte så säker på om det är produktions-ready.

Det var allt för nu. Eftersom jag löper genom projektet, Jag kommer lägga upp mer.

</slutet>

Technorati Tags: , ,

Prenumerera på min blogg.

Bestämma snabb QRServer Port

För att kommunicera med Snabbsökning via dess API, Vi behöver veta den port som QRServer körs.

Jag har följt dessa steg för att leta upp den:

  1. Logga in på webbplatsen snabb admin (http://server:port/admin).
  2. Navigera till System Overview.
  3. Leta upp "Sök Dispatcher" och klicka på ikonen spyglass:

    bild

  4. Jag används framgångsrikt värdet, 15100 för Info namn"" = "http":

    bild

Anteckningar:

1. port 15100 verkar vara out-of-the-box standardportnumret för QRServer.

2. Använda detta liknar följande kod för att instansiera en anslutning till FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = nya 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. Om du väljer en vilt felaktigt port, Du får ett felmeddelande om hjälpsamma:

bild

4. Men, Om du väljer det portnummer som listas på översikten (15102) du får inte hjälp felmeddelandet. I stället, senare när du försöker komma åt data via en sökning eller referera en snabb vy, du får ett felmeddelande. Felsökning visar att den searchFactory Visa count zero. Du kommer att få meddelandet "Misslyckades att hämta Sök Visa lista".

</slutet>

Technorati Tags:

Prenumerera på min blogg.

Mot SharePoint tekniska Designmönster: SharePoint Designer arbetsflöde + Händelsen mottagaren = hög styrka Cocktail

En av de framväxande mönster som jag hitta i crafting SharePoint-lösningar utnyttjar SharePoint Designer arbetsflöde och en händelsemottagare.

Här är ett affärsscenario att sätta det i sammanhang:

  • Jag ladda upp ett dokument till en doc-lib.
  • Jag sparka igång flera steg arbetsflödet skapas med SharePoint Designer.
  • Någon gång under denna process, arbetsflöde tilldelar en uppgift till någon (via samla in data från användare eller tilldela en uppgift).
  • Vi vill använda en KPI för att spåra hur länge denna uppgift väntar på avslutningen. KPI visar grönt för aktiviteterna som är slutförda eller vederbörlig mer än 3 dagar från nu. Det visar gult om uppgiften beror i morgon eller idag. Det visar rött om uppgiften är förfallen.
  • Här är kickern: Jag vill att datumet som driver det KPI problemsituationer semester.

Jag kan inte beräkna en semester-medveten due date i SharePoint Designer arbetsflöde mycket lätt. Jag skulle behöva skapa en anpassad åtgärd eller använda en 3: e parts verktyg. Men, Det är lätt att beräkna ett datum i en händelsemottagare. Slå ihop dessa två tillsammans och vi får ett mönster som denna:

  • Definiera ett dolda ja/nej webbplatskolumn på dokumentbiblioteket märkt "DoCalcualteDueDate".
  • Initiera den till false.
  • Vid lämplig tidpunkt i arbetsflödet (t.ex. strax innan den "samla in datan" åtgärd), tilldela värdet true.
  • En ItemUpdate() händelsemottagare ser ut för att se om "DoCalculateDueDate" är sant. Eftersom händelsen mottagaren körs på varje uppdatering, "DoCalculateDueDate" är normalt falskt.
  • När arbetsflödet tilldelar DoCalculateDueDate True, händelsen mottagaren beräknar holiday-medveten due date.
  • När händelsen mottagaren gör denna beräkning, Det definierar flaggan DoCalculateDueDate till false.

I slutet, SPD arbetsflöde är kommunicerade med en händelsemottagare via DoCalculateDueDate semafor och vi har semester-medveten på grund av datum som tilldelas i exakt rätt ögonblick i arbetsflödets liv. SharePoint Designer kontroller när förfallodatumet tilldelas men händelsemottagare utför den faktiska beräkningen och tilldelning.

</slutet>

Prenumerera på min blogg.

Observerade beteende: Flytta SPD arbetsflöden inom en webbplatssamling

UPPDATERING: Jag har forskat hur till bädda in ett SPD arbetsflöde i en webbplatsdefinition. Denna MSDN forum kedja har några intressant information. Det är inte avgörande, men poäng till Stig genom djungeln.

Jag ger detta inlägg en något udda "observerade beteende" leda, eftersom jag är lite misstänksamma att dra slutsatser från det. SPD arbetsflöden är … temperamentsfull.

Folk frågar ofta / undrar / otålig över flytta SPD arbetsflöden från en plats till en annan. Idag, Jag följde stegen och gjort dessa iakttagelser:

  • Jag har skapat ett arbetsflöde med hjälp av SharePoint Designer i en webbplats kopplad till ett dokumentbibliotek.
  • Tillhörande dokumentbiblioteket inrymt redan flera dokument.
  • Jag sparade platsen som en mall.
  • När jag sparade platsen som en mall, Jag har sparat innehåll samt.
  • Jag skapade en ny plats i samma webbplatssamling med hjälp av mallen.

Vid denna punkt, Jag försökte köra arbetsflödet. Snabbt avslutade sig med loggmeddelandet, "Misslyckades på start".

Jag anade. Jag har låga förväntningar när det gäller att flytta SPD arbetsflöden runt.

Jag fortsatte:

  • Öppnas webbplatsen i SharePoint Designer.
  • Hade en titt på arbetsflödet. Det verkade bra.
  • Jag klickade på "Slutför".
  • Jag sprang arbetsflödet.

Den här gången, det fungerade bra.

Jag ska tillägga att det här arbetsflödet används den "samla in datan från användare" åtgärder som är en relativt komplex åtgärd under huven.

Jag preliminärt slutsatsen att processen för "efterbehandling" arbetsflödet orsakade SPD ordentligt associera det SPD arbetsflöden med det nya dokumentbiblioteket. Jag också avsluta XOML och andra XML-artefakter är rimligen "löst". De är inte super tätt kopplade till dokumentbiblioteket.

Vad har detta menar? Antar att det är en pålitlig och reproducerbara process, Det finns minst en grov metod kan användas för att flytta runt. Jag vet inte om detta skulle fungera om vi korsade webbplats samling gränserna eller ens mer drastiskt, hela nya gårdar (t.ex. dev till scenen för att prod).

Om du läser detta och lutande, posta en kommentar eller maila mig din SharePoint Designer migration historia. Jag ska gärna uppdatera detta inlägg med några insikter således erbjuds.

</slutet>

Prenumerera på min blogg.

Technorati Tags:

Snabb och enkel: Arbetsflöde-bara uppdatera fält

Det är ofta bra att lagra information om status i en anpassad lista som ett godkännandekod som aldrig bör manipuleras direkt slutanvändare. Detta är ett vanligt scenario för business. Jag har arbetat med ett projekt i år som genererar olika status och påminnelse datum via SharePoint Designer arbetsflöden som sedan köra KPI: er och allmänt stöd för tajma-kritiska affärsprocesser.

Använda en webbplatsinnehållstyp / kolumn att uppnå denna effekt.

Skapa en webbplatsinnehållstyp med statuskolumnen som visas:

bild

Observera "Status (för Demo)" fältet längst.

Nästa, Klicka på kolumnnamnet tillgång kolumnens egenskaper. Välj "dolda (Visas inte i formulär)" i avsnittet kolumninställningar som visas:

bild

Detta tar bort fältet från standard redigera/Uppdatera formulären. Men, Det är fortfarande tillgänglig i, KPI: er, objektmodellen och någon annanstans du vill använda det, inklusive SPD arbetsflöde.

</slutet>

Prenumerera på min blogg.

Söndag Funny: “Jag trodde detta var tänkt att vara en rik stad”

Drygt tre år sedan, min fru och jag signerade min son för en sommar aktivitet, Midland Park spelarna. Detta är en drama grupp som tillbringar tre eller fyra veckor förbereder för en pjäs och sedan visar det att föräldrarna, vänner och släktingar. Det är alltid utförts mycket bra.

Jag vet inte om allas barn är så här, men min son är ytterst ovilliga att prova nya saker. Att veta detta, Vi värvade honom upp för programmet. Vi har funnit att det är bäst att varna honom att sådana här saker tidigt och ofta. Så, för att övervinna sin naturliga motvilja, Vi berättade för honom tidigt och gjorde vårt bästa för att få det att låta som kul, m.m.. Även med en flermånadskalender reklamkampanj, Han var fortfarande inte övertygad om. Vi tvingade honom att göra, men, och som ofta är fallet, han hade en fantastisk tid.

Då rullade det andra året runt, han hade återigen övertyga sig själv att han inte ville delta. Men, Vi hade undertecknat honom upp och noll-dag, Jag tappade bort en morgon på gymnasiet där de träna honom. När jag gick för att plocka upp honom efter lunch, Han var mycket glada, alla leenden och meddelade, "Leken är den Velveteen kanin och jag vill vara kanin". Han hade tillbringat bokstavligen månader bedriver (ibland hysteriskt) om hur han ville ha något att göra med Park spelare och efter första dagen, han vill vara huvudrollen i pjäsen. Vi har sett detta mönster innan.

(Mycket till vår förvåning, Han fick rollen som kanin och han var fantastiska.)

Spola fram några år. Han har varit i parken spelare tre gånger nu, så han är något av en veteran. I sommar (2008), Spelare startar upp igen. Under tiden, Han har äntligen övertygat oss han Verkligen inte vill spela fotboll och han aldrig gillade basket. Som lämnade honom med några fritidsaktiviteter för vårvintern / tidigt på våren. En klient som jag arbetade nämnde att hans dotter var i ett program som heter scenen rätt. Scenen är en lite dyrare version av Park spelare och det är inte i min stad, men gränsar till det. Perfekta.

Den sak att veta om denna stad är att det är praktiskt taget ett annat land när det gäller rikedom. Den har en hög frekvens tåg rätt till Wall Street och NYC i allmänhet. Det är bara en förmögen plats. En av de pågående familj diskussion temana är huruvida vi borde ha flyttat till denna stad i stället för där vi bor nu. Det är en större stad, dess skolor erbjuder fler program för barnen, m.m.. Min fru växte upp i det townen och hennes föräldrar bor där, så vi är "fast i" Trots att vi inte lever det. Jag växte själv upp under olika omständigheter i Massachusetts, så jag har inte mycket att säga om detta under familj middagskonversation. Detta är inte att säga att vi inte mycket glad där vi bor. Vi vet bara att det townen är en nivå över vår stad ekonomiskt.

Scenen rätt nästa program igång för tidigt för oss att lansera vår normala reklamkampanj för att övervinna min sons ovilja. Detta är när han kom upp med en min personliga favorit argument mot gör något: "Fredagskvällarna är Prime nätter för sleep overs!" Scenen rätt skulle störa hans helgen socials.

Dagen kommer, vi få honom och släppa honom bort och som med allt annat, hans naturliga kärlek till bara vara levande tog över och han har haft en bra tid med det.

Den gångna helgen min fru talade till honom och för första gången, Jag tror han skräddarsy sina diskussioner mycket just av sin publik. Hon hade frågat honom hur scenen rätt kan jämföras med Midland Park spelare. Han berättar för henne att "i Park spelare, Vi har tonåringar att hjälper oss. Det inte finns några i scenen till höger. I Park spelare, tonåringar gör alla rekvisita. I scenen rätt, Vi måste få vår egen rekvisita. Vi måste göra allt. Och sedan han vrider kniven: "Jag trodde att detta var tänkt för att vara en rik stad."

Alla dessa år, Jag har aldrig riktigt tänkt att han var höra eller förstå något som det relaterat till den "rika staden". Men, Det visar sig att han var.

</slutet>

Prenumerera på min blogg.

Technorati Tags:

SharePoint ger inte kalendern Roll-ups; Möjliga lösningar

UPPDATERING: En anonym person i kommentarerna inlägg denna länk: http://www.atidan.com/atidan-collaboration-kit.php

Forumanvändare fråga ofta en som denna:

"Jag skulle vilja ha en kalender på webbplatsnivå som är befolkad av händelser från underwebbplats kalendrar. Ett idealiskt, användare i underwebbplatser kommer att skapa kalenderhändelser, och kommer att ha möjlighet att markera dem som "offentliga.’ Händelser som markerats som offentliga visas dynamiskt i den delade plats kalendern. Således är den delade plats kalendern summerar alla offentliga händelser från alla underwebbplats kalendrar."

Är WSS 3.0 eller MOSS 2007, Det är inte möjligt att direkt konfigurera en "roll-up" kalender. Kalendrarna finns på egen hand, oberoende av alla andra kalendrar.

Att skapa en roll-up kalender, följa en av dessa vägar:

  1. Använda en webbdel för innehållsfråga. Detta är den enklaste lösningen för MOSS användare (WSS ger inte CQWP). CQWP, Tyvärr, ger inte en kalendervy för data ur lådan. Det ger enorma rendering flexibilitet (se här för ett exempel) men som standard, visar resultaten i enkel lista format. I många fall, CQWP förmodligen ett bra val.
  2. En mer programmering-orienterade lösning vore att använda händelsen mottagare. Genomföra event mottagare på underwebbplats kalendrarna som håller sina offentliga evenemang i synk med den mästare kalendern. Som en viss underwebbplats ändras kalender, nå ut till den mästare kalendern och uppdatera det som behövs. Det här alternativet finns i båda WSS 3.0 och MOSS.

Det finns förmodligen andra smarta lösningar på problemet. Om du har en eller vet om en, lämna gärna en kommentar eller maila mig och jag kommer att uppdatera detta inlägg.

</slutet>

Prenumerera på min blogg.

Skapa webbplatser (SPWeb) via SharePoint Designer arbetsflöde

Denna bloggpost är mer av en "i sfären av möjliga" posten vs. konkret information.

Vi har en teknisk design som för oss att skapa en webbplats i en webbplatssamling via en manuellt lanserade arbetsflödesprocess kallar. I princip, användarna kan ange data i en "ny kund" anpassad lista och sedan när de har avslutat och validerade data entry processen, Vi behöver skapa en webbplats för kunden.

Jag är ett stort fan av deklarativa arbetsflöden såväl som en svag visuell studion arbetsflöde programmerare, så jag ville uppfylla kravet med SharePoint Designer.

Jag planerar att skriva om detta mer i detalj (och förhoppningsvis presentera för en grupp eller två under det kommande året), men här är den totala lösningen:

  • Skapa en anpassad åtgärd som integrerar med SPD.
  • Den anpassade åtgärden gör att SPD att anropa en webbtjänst och skicka den en sträng av XML.
  • Webbtjänsten lokaliserar raden i listan anpassad och skapar en ny webbplats enligt uppgifterna för den nya klienten använda en anpassad webbplatsdefinition.
  • Webbtjänsten uppdaterar sedan den anpassade listan med information som en länk till den nya webbplatsen.

Ansåg vi andra metoder, som händelsehanterare och visual studio bygger arbetsflöde. SPD tillvägagångssätt ger våra slutanvändare lite mer kontroll över processen. Beviljats, Det finns en hel del C#-kod i denna lösning, men det är insvept inuti en deklarativ arbetsflöde, så vi får några av fördelarna med deklarativa arbetsflöde när du ansluter till tjänsten för att skapa webbplatser.

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</slutet>

Prenumerera på min blogg.

Technorati Tags: ,