HURTIG SharePoint-Integration: Eksempelkode for at få vist alle tilgængelige hurtige visninger

Her er nogle kode, der viser alle tilgængelige visninger fra et HURTIG Server baseret på den navngivne QRServer (server-processen som vi kommunikere). Jeg tilbyder dette til at give dig alle en forsmag på hvad det er for at bruge den medfølgende hurtig API.

ved hjælp af System;
ved hjælp af System.Collections.Generic;
ved hjælp af System.Linq;
ved hjælp af System.Text;
ved hjælp af Com.FastSearch.Esp.Search;
ved hjælp af Com.FastSearch.Esp.Search.Http;
ved hjælp af Com.FastSearch.Esp.Search.Navigation;
ved hjælp af Com.FastSearch.Esp.Search.Query;
ved hjælp af Com.FastSearch.Esp.Search.Result;
ved hjælp af Com.FastSearch.Esp.Search.View;
ved hjælp af System.Collections.Specialized;
ved hjælp af System.Collections;


navneområde Conchango
{
    klasse EnumerateFASTViews
    {
        statisk void Main(streng[] args)
        {

            ISearchFactory searchFactory;

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

            Konsol.WriteLine("Samlede visninger: [" + searchFactory.GetSearchViewList().Grev + "].");

            int Jeg = 0;

            foreach (objekt o i searchFactory.GetSearchViewList())
            {
                Konsol.WriteLine("Se [" + Jeg    + "]: [" + o.ToString() + "].");

            }

            Konsol.ReadLine();

        }
    }
}

Bemærk, at jeg betragter mig selv som en knap kompetente C# programmør og jeg har tynde hud, således ikke sende nogen hindbær min vej, især re: "foreach (objekt o i …)" construct 🙂

</slutningen>

Technorati Tags: ,

Abonner på min blog.

HURTIGT og SharePoint Integration første kig

Jeg har været heldig at have en mulighed for at arbejde på en hurtig <–> SharePoint integrationsprojekt og tænkte jeg ville fortsætte med at dele min begrænsede erfaring med Fællesskabet.

Microsoft er i processen med at købe HURTIG. Jeg ved ikke noget om tidsplanen, bortset fra at det skal være færdig i "2.-kvartal" som jeg formoder betyder af 06/30/08.

Mit projekt design, på et meget højt niveau, opfordrer til at skabe et par webdele, der har nogenlunde de samme look, føler og funktionalitet som standard mos søgefeltet og core resultater webdel, men trækker fra FAST. Jeg har lavet nogle baby skridt i retningen.

HURTIG er en dedikeret søgemaskine. Det er ikke baseret på Microsoft teknologi, Selvom det er tydeligt for mig, at nogle af de hurtige ingeniører klart forstå MS tech (eller de har gjort brug af entreprenører).

HURTIG:

HURTIG er et stort monster serverprodukt (og jeg mener ikke, i en dårlig fornemmelse; MOSS er et stort monster produkt til mig så godt). Det synes at være baseret på Java og jeg bemærket nogle apache ting og måske nogle PHP. Jeg ville ikke blive overrasket, hvis der var andre stumper af tech blandet her og der. Det absolut kører på windows server og fungerer fint i det virtuelle miljø, som jeg har brugt.

Det gør brug af en facade webservice at gennemsøgninger SharePoint-indhold til indeksering i sin særlige hurtig måde.

En SharePoint slutbrugeren ville være temmelig meget i hjemmet med FASTS brugergrænseflade. Det har enkle/advance søgning, viser resultater, er stor på relevans (Selvom jeg kan ikke se hvordan det håndterer sociale relevans). Dog, det går videre. Dens stammer synes bedre. Jeg virkelig ikke kan formulere det godt men jeg vil bare sige "det er bedre." Du kan tage mit ord for det, or not 🙂 I may elaborate on this point in the future, som jeg lære mere.

MOSS:

HURTIGT giver en. Netto-venlige DLL, der giver en brugergrænseflade til hurtig motor. Dette gør det muligt for os at oprette webdele eller programsider eller hvad vi ønsker at forespørge hurtigt og præsentere resultaterne.

Der synes at være en web service interface samt.

Jeg har også adgang til en hurtig-forudsat webdel, der kan integreres MOSS og hurtigt. Jeg ved ikke, om dette er en POC, noget, der var pisket som en demo, eller hvad. Det er absolut et godt læringsredskab, ikke så sikker på, hvis det er produktions-klar.

Thats det for nu. Som jeg fremskridt gennem projektet, Jeg vil sende flere.

</slutningen>

Technorati Tags: , ,

Abonner på min blog.

Bestemme FAST QRServer Port

For at kunne kommunikere med hurtig søgning via sin API, Vi har brug at kende den port, som QRServer kører.

Jeg har fulgt disse trin for at finde den:

  1. Logge ind på webstedet hurtig admin (http://server:port/admin).
  2. Naviger til Systemoversigt.
  3. Find "Søg Dispatcher" og klikke på ikonet spyglass:

    billede

  4. Jeg anvendes med held værdien, 15100 til "Info navn" = "http":

    billede

Noter:

1. Port 15100 synes at være out-of-the-box standardportnummeret for QRServer.

2. Brug denne ligner den følgende kode til at instantiere en forbindelse til FAST:

     ISearchFactory searchFactory;
    
        NameValueCollection nameValueCollection = nye 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. Hvis du vælger en vildt forkert port, Du får et nyttigt fejlmeddelelse:

billede

4. Dog, Hvis du vælger det portnummer, der er opført på oversigten (15102) du får ikke den hjælpsomme fejlmeddelelse. I stedet, senere, når du forsøger at få adgang til eventuelle data via en søgning eller referere til en hurtig visning, du får en fejl. Debugging viser, at den searchFactory mening tæller er nul. Du får beskeden "Kunne ikke hente Se søgelisten".

</slutningen>

Technorati Tags:

Abonner på min blog.

Mod SharePoint tekniske Design Patterns: SharePoint Designer Workflow + Hændelse Receiver = høj potens Cocktail

En af de nye mønstre jeg finde når du udformer SharePoint løsninger udnytter SharePoint Designer arbejdsprocessen og en hændelse receiver.

Her er en Forretningsscenario at sætte det i sammenhæng:

  • Jeg overfører et dokument til en doc lib.
  • Jeg sparke off flere trin arbejdsproces oprettet ved hjælp af SharePoint Designer.
  • På et tidspunkt under denne proces, arbejdsproces tildeler en opgave til en person (via indsamle data fra brugeren eller tildele en opgave).
  • Vi ønsker at bruge en KPI-indikator til at holde styr på hvor længe denne opgave er afventer afslutningen. Nøgletallet viser grøn til opgaver, der er afsluttet eller due mere end 3 dage fra nu. Det viser gul, hvis opgaven er forfalden i morgen eller i dag. Det viser rød, hvis opgaven er forfaldne.
  • Her er kickeren: Jeg ønsker den dato, der drev KPI skal være ferie-bevidste.

Jeg kan ikke beregne en ferie-aware due dato i SharePoint Designer arbejdsprocessen meget nemt. Jeg ville have til at oprette en brugerdefineret handling eller bruge en 3rd part værktøj. Dog, Det er let nok at beregne sådanne en dato i en event modtager. Flette disse to sammen og vi få et mønster som denne:

  • Definere en skjult Ja/ingen webstedskolonne på dokumentbiblioteket mærket "DoCalcualteDueDate".
  • Initialisere det til false.
  • På et passende tidspunkt i arbejdsprocessen (strømsparetilstand. lige før Indsaml data"" handling), tildele værdien til True.
  • En ItemUpdate() hændelse modtageren ser til at se, hvis "DoCalculateDueDate" er sandt. Siden begivenhed modtageren kører på hver opdatering, "DoCalculateDueDate" er normalt falsk.
  • Når arbejdsprocessen tildeler DoCalculateDueDate til true, hændelse modtageren beregner den ferie-aware behørig dato.
  • Når hændelsen modtageren gør denne beregning, det indstiller flaget DoCalculateDueDate til false.

I sidste ende, SPD workflow er kommunikeret med en event modtager via DoCalculateDueDate semaphore og vi har ferie-aware grund datoer, der er tildelt den helt korrekte øjeblikket i arbejdsprocessens liv. SharePoint Designer kontrol når forfaldsdatoen er tildelt men begivenhed modtageren udfører de faktiske beregning og tildeling.

</slutningen>

Abonner på min blog.

Observerede opførsel: Flytte SPD arbejdsprocesser inden for en gruppe af websteder

OPDATERING: Jeg har forsket i, hvordan man kan integrere en SPD workflow i en webstedsdefinition. Denne MSDN forum kæde har nogle interessante oplysninger. Det er ikke afgørende, men point til sti gennem junglen.

Jeg giver dette indlæg en anelse særling "observerede adfærd" da jeg er lidt forsigtig med at drage konklusioner fra det. SPD arbejdsprocesser er … temperamentsfuld.

Mennesker spørger ofte / gad vide / fretting over flytter SPD arbejdsprocesser fra ét sted til et andet. I dag, Jeg har fulgt disse trin, og disse bemærkninger:

  • Jeg oprettede en arbejdsproces ved hjælp af SharePoint Designer i et websted, der er knyttet til et dokumentbibliotek.
  • Tilknyttet dokumentbiblioteket husede allerede flere dokumenter.
  • Jeg gemte webstedet som en skabelon.
  • Når jeg gemt webstedet som en skabelon, Jeg gemte indholdet.
  • Jeg oprettede et nyt sted i den samme gruppe af websteder ved hjælp af denne skabelon.

På dette punkt, Jeg prøvede at køre arbejdsprocessen. Det ophævet straks selv log besked, "Mislykkedes på start".

Jeg havde forventet dette. Jeg har lave forventninger, når det kommer til at færdes SPD arbejdsprocesser.

Jeg fortsatte:

  • Åbnes webstedet i SharePoint Designer.
  • Havde et smugkig på arbejdsprocessen. Det virkede fint.
  • Jeg har klikket på "Udfør".
  • Jeg løb arbejdsprocessen.

Denne gang, Det fungerede fint.

Jeg vil tilføje, at denne arbejdsgang bruges den "indsamle data fra brugeren" handling, som er en relativt kompleks aktion under kølerhjelmen.

Jeg forsigtigt konkludere, at processen med "efterbehandling" arbejdsprocessen forårsaget SPD tilknyttes arbejdsprocessen SPD ordentligt med det nye dokumentbibliotek. Afslutningsvis også XOML og andre XML-artefakter er rimeligt "løs". De er ikke super tæt koblet til dokumentbiblioteket.

Hvad betyder dette betyde? Forudsat det er en pålidelig og reproducerbar proces, der er mindst en ru metode vi kan bruge til at flytte dem rundt. Jeg ved ikke, hvis dette vil arbejde, hvis vi krydsede site collection grænser eller endda mere drastisk, hele nye bedrifter (strømsparetilstand. dev til fase at prod).

Hvis du læser dette og tilbøjelig, kan du skrive en kommentar eller e-mail mig din SharePoint Designer migration historie. Jeg vil gerne opdatere denne postering med nogen indsigt, således tilbydes.

</slutningen>

Abonner på min blog.

Technorati Tags:

Hurtig og enkel: Arbejdsproces, der kun Opdater felt

Det er ofte nyttigt at gemme statusoplysninger på en brugerdefineret liste som en godkendelseskode, som aldrig skal manipuleres direkte af slutbrugeren. Dette er et almindeligt scenarie for virksomheder. Jeg har arbejdet på et projekt i år, der genererer forskellige status og påmindelse datoer via SharePoint Designer arbejdsgange, derefter køre KPI'er og generelt støtte tidskritiske forretningsprocesser.

Bruge en webstedsindholdstype / kolonne for at opnå denne effekt.

Oprette en webstedsindholdstype med statuskolonnen som vist:

billede

Bemærk "Status (for Demo)" felt nederst.

Næste, Klik på kolonnenavnet adgang til kolonnens egenskaber. Vælg "skjult (Vises ikke i formularer)" i sektionen Kolonneindstillinger som vist:

billede

Dette fjerner området fra standard Rediger/opdatering former. Dog, Det er stadig tilgængelig i visninger, KPI'er, objektmodellen og andre steder du ønsker at bruge det, herunder SPD workflow.

</slutningen>

Abonner på min blog.

Søndag Funny: “Jeg troede, at dette skulle være en rig by”

Lidt over tre år siden, min kone og jeg underskrevet min søn op for en aktivitet, sommer, Midland Park spillere. Dette er en drama-gruppen, der tilbringer omkring tre eller fire uger at forberede en spiller og derefter viser det til forældrene, venner og familie. Det er altid blevet gjort meget godt.

Jeg ved ikke, hvis alles barn er ligesom dette, men min søn er ekstremt tilbageholdende med at prøve nye ting. At vide dette, Vi underskrevet ham op for programmet. Vi har fundet, at det er bedst at advare ham til disse typer af ting tidligt og ofte. Så, for at overvinde sin naturlige tilbageholdenhed, Vi fortalte ham tidligt og gjorde vores bedste for at gøre det godt lide sjov, osv. Selv med en multi-måneders reklamekampagne, Han var stadig ikke overbevist om. Vi tvang ham til at gøre, Selvom, og som det ofte er tilfældet, han havde en fantastisk tid.

På tidspunktet, rullet det andet år rundt, han havde igen overbevist sig selv om at han ikke ønskede at deltage. Men, Vi havde underskrevet ham op og nul-dagen, Jeg faldt ham ned en formiddag på gymnasiet hvor de praksis. Da jeg gik til afhente ham efter frokost, Han var meget begejstret, alle smil og annonceret, "Afspil er den Æske kanin og jeg ønsker at være kaninen". Han havde tilbragt bogstaveligt måneder udøver (undertiden hysterisk) om hvordan han ikke ønskede at have noget at gøre med Park aktørerne og efter den første dag, han ønsker at være den ledende rolle i stykket. Vi har set dette mønster før.

(Meget til vores overraskelse, Han fik rollen kanin og han var fantastiske.)

Hurtigt frem et par år. Han har været i parken spillere tre gange nu, så han er noget af en veteran. Denne sommer (2008), Spillere starter igen. I mellemtiden, Han har endelig overbevist os han Virkelig ikke ønsker at spille fodbold og han aldrig lide basketball. Der efterlod ham med ingen ekstra læseplansaktiviteter til slutningen af vinteren / tidlige forår. En klient, med hvem jeg arbejdede nævnte, at hans datter var i et program kaldet fase højre. Scenen er en lidt dyrere version af Park spillere og det er ikke i min by, men støder op til det. Perfekt.

Ting at vide om denne by er, at det er praktisk taget et andet land med hensyn til rigdom. Det har en høj frekvens tog ret til Wall Street og NYC generelt. Det er bare en velhavende sted. Et af temaerne, igangværende familie diskussion er, om vi skal have flyttet til byen i stedet for hvor vi bor nu. Det er en større by, dets skoler tilbyder flere programmer til børnene, osv. Min kone voksede op i byen og hendes forældre bor der, så vi er "tilsluttet i" trods ikke bor der. Jeg personligt voksede op i forskellige situationer i Massachusetts, så jeg har ikke meget at sige om dette under familiemiddagen samtale. Dette er ikke til at sige, at vi ikke er meget glad for hvor vi bor. Vi ved bare, at byen er et niveau over vores by økonomisk.

Scenen ret næste program startede for tidligt for os at lancere vores normale reklamekampagne for at overvinde min søns modvilje mod. Dette er, når han kom op med en min personlige favorit argumenter imod at gøre noget: "Fredag nætter er premierminister nætter til søvn overs!" Scenen ret skulle forstyrre hans weekend socials.

Dag kommer, vi bringe ham der og slip ham off og som med alt andet, hans naturlige kærlighed til blot er Live overtog og han har haft en god tid med det..

Denne sidste weekend min kone talte til ham og for første gang, Jeg tror, han skræddersy sin diskussioner meget præcist for sit publikum. Hun havde bedt ham om, hvordan scenen ret sammenlignes med Midland Park spillere. Han fortæller hende, at "i parken spillere, Vi har teenagere, der hjælper os ud. Der ikke er nogen i fase til højre. I Park spillere, teenagere gør alle rekvisitter. I scenen ret, Vi er nødt til at bringe vores egen rekvisitter. Vi skal gøre alt, hvad. Og derefter han snoninger kniven: "Jeg tænkte dette skulle være en rig by."

Alle disse år, Jeg aldrig rigtig troede, han var høre eller forstå noget, som det vedrører de "rige by". Dog, det viser sig, han var.

</slutningen>

Abonner på min blog.

Technorati Tags:

SharePoint giver ikke kalender Roll-ups; Mulige løsninger

OPDATERING: En anonym person i kommentarerne stillinger dette link: http://www.atidan.com/atidan-collaboration-kit.php

Forum brugere stille ofte et spørgsmål som dette:

"Jeg vil gerne have en kalender på webstedsniveau, der er befolket af begivenheder fra underordnet websted kalendere. Ideelt, brugere i underordnede websteder vil oprette kalender begivenheder, og vil have mulighed for at markere dem som» offentlige.’ Begivenheder markeret som offentlige vises dynamisk i den delte site kalender. Således er delt websted kalender en roll-up af alle offentlige arrangementer fra alle underordnede websted kalendere."

Er WSS 3.0 eller MOSS 2007, Det er ikke muligt at konfigurere direkte en "sikkerhedspakke" kalender. Kalendere findes på deres egen, uafhængigt af eventuelle andre kalender.

Oprette en sikkerhedspakke kalender, Følg en af disse stier:

  1. Bruge webdelen indholdsforespørgsel. Dette er den nemmeste løsning for MOSS brugere (WSS indeholder ikke CQWP). CQWP, Desværre, giver ikke en kalendervisning data op fra boksen. Det giver enorme rendering fleksibilitet (Se her for et eksempel) men som standard, viser sine resultater i simpel listeformat. I mange tilfælde, CQWP sandsynligvis et godt valg.
  2. En mere programmering-orienterede løsning ville være at bruge hændelsesmodtagere. Gennemføre hændelsesmodtagere på underordnet websted kalenderne, der holder deres offentlige arrangementer i sync med master-kalender. Som et bestemt underordnet websted er kalender ændret, nå ud til de master kalender og opdatere det efter behov. Denne indstilling er tilgængelig i både WSS 3.0 og MOSS.

Der er sandsynligvis andre smarte løsninger på dette problem. Hvis du har en eller ved en, venligst efterlade en kommentar eller e-mail mig og jeg vil opdatere dette indlæg.

</slutningen>

Technorati Tags: ,

Abonner på min blog.

Oprette websteder (SPWeb) via SharePoint Designer Workflow

Denne blog-indtastning er mere en "inden for mulige" posten vs. konkrete info.

Vi har et teknisk design, der opfordrer til at oprette et websted i en gruppe af websteder via en manuelt lancerede arbejdsproces. Dybest set, brugerne indtaster data i en ny kunde"" brugerdefineret liste og derefter når de færdig og valideret posten dataproces, Vi har brug at oprette et websted for den pågældende kunde.

Jeg er både en stor fan af deklarativ arbejdsproces samt en svag visual studio arbejdsproces programmør, så jeg ønskede at opfylde kravet om brug af SharePoint Designer.

Jeg planlægger at skrive om dette mere detaljeret (og forhåbentlig forelægge en brugergruppe eller to i det kommende år), Men her er den samlede løsning:

  • Oprette en brugerdefineret handling, der integrerer med SPD.
  • Den brugerdefinerede handling tillader SPD til at påberåbe sig en webtjeneste og videregive det en streng af XML.
  • Webtjenesten lokaliserer rækken i den brugerdefinerede liste og opretter et nyt websted som dataene for den nye klient ved hjælp af en brugerdefineret webstedsdefinition.
  • Webtjenesten opdaterer derefter den brugerdefinerede liste med nogle oplysninger som et hyperlink til det nye websted.

Vi overvejet andre tilgange, som event handlere og visual studio baseret workflow. SPD tilgang giver vores slutbrugere lidt mere kontrol over processen. Ydes, der er en masse C#-kode i denne løsning, men det er indpakket inde i en deklarativ arbejdsproces, så vi får nogle af fordelene ved deklarativ arbejdsproces mens tilslutte ibrugtagning oprettelse af websted.

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.

</slutningen>

Abonner på min blog.

Technorati Tags: ,