RASK SharePoint-integrasjon: Eksempelkoden til å vise alle tilgjengelige rask visninger

Her er noen kode som viser alle tilgjengelige visninger fra en RASK server basert på den navngitte QRServer (serverprosessen som vi kommuniserer). Jeg tilbyr dette å gi dere en smak av hva det er for å bruke angitte rask API.

ved hjelp av Systemet;
ved hjelp av System.Collections.Generic;
ved hjelp av System.Linq;
ved hjelp av System.Text;
ved hjelp av Com.FastSearch.Esp.Search;
ved hjelp av Com.FastSearch.Esp.Search.Http;
ved hjelp av Com.FastSearch.Esp.Search.Navigation;
ved hjelp av Com.FastSearch.Esp.Search.Query;
ved hjelp av Com.FastSearch.Esp.Search.Result;
ved hjelp av Com.FastSearch.Esp.Search.View;
ved hjelp av System.Collections.Specialized;
ved hjelp av System.Collections;


navneområdet Conchango
{
    klassen EnumerateFASTViews
    {
        statisk ugyldige Main(streng[] argumenter)
        {

            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", "FÅ");

            searchFactory = SearchFactory.NewInstance(nameValueCollection);

            Konsollen.WriteLine til("Sum synspunkter: [" + searchFactory.GetSearchViewList().Antall + "].");

            Int Jeg = 0;

            foreach (objekt o i searchFactory.GetSearchViewList())
            {
                Konsollen.WriteLine til("Vis [" + i    + "]: [" + o.ToString() + "].");

            }

            Konsollen.ReadLine();

        }
    }
}

Merk at jeg anser meg selv en knapt kompetent C#-programmerer og jeg har tynn hud, så ikke send noen bringebær vei, spesielt re: foreach" (objektet o i …)" construct 🙂

</slutten>

Technorati Merkelapper: ,

Abonner på bloggen min.

RASK og SharePoint integrering første blikk

Jeg har vært heldig å ha en mulighet til å arbeide på en rask <–> SharePoint integrasjonsprosjekt og tenkte jeg ville fortsette å dele min begrensede erfaring med samfunnet.

Microsoft er i prosessen med å kjøpe RASK. Jeg vet ikke noe om planen bortsett fra at det skal være ferdig i "2 kvartal" som jeg antar betyr av 06/30/08.

Prosjektets design, på et svært høyt nivå, Etterlyser skape noen webdeler som har omtrent samme utseende, føler og funksjonalitet som standard MOSEN søkeboksen og kjernen resultater webdel, men trekke fra FAST. Jeg har gjort noen baby skritt i riktig retning.

RASK er en dedikert søkemotor. Det er ikke basert på Microsoft-teknologi, men det er åpenbart for meg at noen av rask ingeniører forstå MULTIPLE Sclerosis teknikken (eller de har gjort bruk av entreprenører).

RASK:

RASK er en stor monster server-produktet (og jeg mener ikke at på en dårlig måte; MOSS er en stor monster produkt for meg også). Det synes å være basert på Java og jeg la merke til noen apache ting og kanskje noen PHP. Jeg ville ikke bli overrasket hvis det var andre biter av tech blandet her og der. Det definitivt kjører på windows server og fungerer fint i det virtuelle miljøet som jeg har brukt.

Det gjør bruk av en fasade webtjeneste som kravlesøk SharePoint-innhold for indeksering i spesiell rask vei.

En SharePoint-sluttbrukeren ville være ganske mye hjemme med FASTS brukergrensesnitt. Den har enkel/Avansert søk, viser resultater, er stor på relevans (Selv om jeg ikke ser hvordan den håndterer sosiale relevans). Men, det går videre. Dens stammer virker bedre. Jeg virkelig kan ikke formulere det godt, men jeg vil bare si "det er bedre." Du kan ta mitt ord for det., or not 🙂 I may elaborate on this point in the future, så jeg lærer mer.

MOSS:

RASK gir en. NET-vennlig DLL som gir et grensesnitt for rask motoren. Dette gjør det mulig for oss å lage webdeler eller programsider eller hva vi ønsker å søke raskt og presentere resultatene.

Det synes å være en tjeneste grensesnitt samt.

Jeg har også tilgang til en gitt av FAST webdel som integreres MOSS og rask. Jeg vet ikke om dette er en POC, noe som ble pisket opp som en demo eller hva. Det er definitivt et godt læremiddel, ikke så sikker på om det er produksjons-klare.

Det er det for nå. Som jeg fremgang gjennom prosjektet, Jeg post mer.

</slutten>

Technorati Merkelapper: , ,

Abonner på bloggen min.

Bestemme FAST QRServer Port

For å kommunisere med FAST Search via dens API, Vi trenger å vite porten som QRServer kjører.

Jeg fulgte fremgangsmåten for å finne den:

  1. Logge av rask admin nettstedet (http://server:port/admin).
  2. Naviger til systemoversikt.
  3. Finn "Søk sentralen" og spyglass-ikonet:

    bilde

  4. Jeg brukt verdien, 15100 «Info navn" = "http":

    bilde

Notater:

1. Port 15100 synes å være standard out-of-the-box portnummeret for QRServer.

2. Bruk denne koden følgende for å starte en tilkobling 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", "FÅ");
    
        searchFactory = SearchFactory.NewInstance(nameValueCollection);

3. Hvis du velger en vill feil port, du får en nyttig feilmelding:

bilde

4. Men, Hvis du velger portnummeret oppført på oversikten (15102) du får ikke det nyttige feilmeldingen. I stedet, senere når du prøver å få tilgang til data via et søk eller refererer til en rask visning, du får en feilmelding. Feilsøking viser at den searchFactory Vis antall er null. Du får meldingen "Kunne ikke hente søk se liste".

</slutten>

Technorati Merkelapper:

Abonner på bloggen min.

Mot SharePoint teknisk designmønstre: SharePoint Designer arbeidsflyten + Hendelsen mottaker = høy styrke Cocktail

En av de nye mønstrene som jeg finner i laging SharePoint-løsninger som utnytter SharePoint Designer arbeidsflyten og en hendelse-mottaker.

Her er et scenario for å sette det i sammenheng:

  • Jeg laste opp et dokument til en doc-lib.
  • Jeg kick off flere trinn arbeidsflyt som er opprettet ved hjelp av SharePoint Designer.
  • På et tidspunkt i løpet av denne prosessen, Arbeidsflyten tilordner en oppgave til noen (via samle inn data fra bruker, eller tilordne en oppgave).
  • Vi ønsker å bruke en Ytelsesindikator til å spore hvor lenge aktiviteten venter på ferdigstillelse. KPIen viser grønt for oppgaver som er fullført eller forfallsdato mer enn 3 dager. Det viser gule Hvis oppgaven forfaller i morgen eller i dag. Den viser rødt Hvis oppgaven er forfalt.
  • Her er kicker: Jeg vil at datoen som driver at KPI være ferie-klar.

Jeg kan ikke beregne en ferie-aware forfallsdato dato i SharePoint Designer arbeidsflyt veldig lett. Jeg må lage en egendefinert handling eller bruke et 3rd party verktøy. Men, Det er lett nok å beregne slik dato på en hendelsesmottaker. Flette de to sammen og får vi et mønster som dette:

  • Definere en skjult Ja/Nei områdekolonne i dokumentbiblioteket merket "DoCalcualteDueDate".
  • Starte den USANN.
  • På riktig tidspunkt i arbeidsflyten (f.eks. like før "innsamling av data" handling), tilordne denne verdien til True.
  • En ItemUpdate() hendelsen mottakeren ser ut til å se om "DoCalculateDueDate" gjelder. Siden hendelsesmottaker kjører på hver oppdatering, "DoCalculateDueDate" er vanligvis USANN.
  • Når arbeidsflyten tilordner DoCalculateDueDate til true, hendelse-mottaker beregner forfallsdatoen ferie-aware dato.
  • Når hendelsen mottakeren gjør denne beregningen, Det setter DoCalculateDueDate-flagget til false.

Til slutt, SPD arbeidsflyt er kommunisert med en hendelsesmottaker via DoCalculateDueDate semaforen og vi har ferie-klar grunn datoene som er tildelt i akkurat riktig øyeblikk i arbeidsflyten livet. SharePoint Designer kontroller når forfallsdatoen er tilordnet, men hendelsesmottaker utfører den faktiske beregningen og tildeling.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,

Observerte virkemåte: Flytte SPD arbeidsflyter i en områdesamling

OPPDATERINGEN: Jeg har vært forsker hvordan legge inn en SPD arbeidsflyt i en områdedefinisjon. Denne MSDN forum kjeden har noen interessante opplysninger. Det er ikke avgjørende, men poeng til banen gjennom jungelen.

Jeg gir dette innlegget en litt underlig "observert atferd" ledelsen siden jeg er litt leery å trekke konklusjoner fra det. SPD arbeidsflyter er … temperamentsfull.

Folk spør ofte / lurer / fretting over flytte SPD arbeidsflyter fra ett sted til et annet. I dag, Jeg fulgte fremgangsmåten og gjort disse observasjonene:

  • Jeg opprettet en arbeidsflyt ved hjelp av SharePoint Designer i et område som er knyttet til et dokumentbibliotek.
  • Tilknyttet dokumentbiblioteket ligger allerede flere dokumenter.
  • Jeg lagret på området som en mal.
  • Jeg lagret området som en mal, Jeg lagret innholdet også.
  • Jeg opprettet et nytt område i samme områdesamling ved hjelp av denne malen.

På dette punktet, Jeg prøvde å kjøre arbeidsflyten. Den avsluttet raskt selv med Loggmeldingen, "Ikke Start".

Jeg forventet dette. Jeg har lave forventninger når det gjelder bevegelse SPD arbeidsflyter.

Jeg fortsatte:

  • Åpne webområdet i SharePoint Designer.
  • Hadde en titt på arbeidsflyten. Det virket fin.
  • Jeg klikket "Finish".
  • Jeg løp arbeidsflyten.

denne gangen, den arbeidet fin.

Jeg vil legge til at denne arbeidsflyten brukes "samle data fra brukeren" som er en relativt komplisert handling under panseret.

Jeg forsøksvis konkludere med at prosessen med "etterbehandling" arbeidsflyten forårsaket SPD knytte SPD arbeidsflyten med det nye dokumentbiblioteket. Jeg også konkludere på XOML og andre XML-gjenstander er rimelig "løs". De er ikke super tett koblet til dokumentbiblioteket.

Hva det betyr? Antar det er en pålitelig og reproduserbar prosess, Det er minst en grov metoden kan vi bruke til å flytte dem. Jeg vet ikke om dette ville fungere hvis vi krysset nettstedet samling grenser eller enda mer drastisk, hele nye gårder (f.eks. Dev scenen å prod).

Hvis du leser dette og tilbøyelig, behage stolpe en bemerkning eller email meg historien din SharePoint Designer-overføring. Jeg vil gjerne oppdatere dette oppslaget med noe innsikt dermed tilbys.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper:

Rask og enkel: Arbeidsflyt-bare Oppdater felt

Det er ofte nyttig å lagre informasjon i en egendefinert liste som en godkjenning koden som bør aldri være direkte manipulert av sluttbrukere. Dette er et vanlig scenario som business. Jeg har jobbet med et prosjekt i år som genererer ulike status og påminnelse datoene via SharePoint Designer arbeidsflyter som deretter kjøre KPIer og generelt støtter viktige forretningsprosesser.

Bruke en områdeinnholdstype / kolonne for å oppnå denne effekten.

Opprette en områdeinnholdstype med statuskolonnen som vist:

bilde

Merk "Status (demo)" feltet nederst.

Neste, Klikk kolonnenavnet til kolonnen egenskaper. Velg "skjult (Vises ikke i skjemaer)" kolonneinnstillinger som vist:

bilde

Dette fjerner feltet fra skjemaene standard Rediger/Oppdater. Men, Det er fortsatt tilgjengelig i, KPIer, objektmodellen og andre steder du vil bruke det, inkludert SPD arbeidsflyt.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,

Søndag Funny: “Jeg trodde dette skulle være en rik by”

Litt over tre år siden, min kone og jeg signerte min sønn for en sommeraktivitet, Midland Park spillerne. Dette er en drama gruppe som tilbringer omtrent tre eller fire uker forbereder for en spiller og deretter vise det til foreldrene, venner og slektninger. Det er alltid gjort godt.

Jeg vet ikke om alle barn er som dette, men min sønn er svært motvillig til å prøve nye ting. Å vite dette, Vi fikk ham programmet. Vi har funnet at det er best å varsle ham til slike ting tidlig og ofte. Så, for å overvinne sin naturlige motvilje, Vi fortalte ham tidlig og gjorde vårt beste for å gjøre det høres ut som moro, osv.. Selv med en reklamekampanje for flere måneder, Han var fortsatt ikke overbevist. Vi tvunget ham til å gjøre, skjønt, og som ofte er tilfellet, Han hadde en flott tid.

Da rullet andre året rundt, Han hadde igjen overbevist seg selv at han ikke vil delta. men, Vi hadde signert ham opp og null-dag, Jeg droppet ham en morgen på high school hvor de praksis. Da jeg gikk for å plukke ham opp etter lunsj, Han var veldig spent, alle smiler og annonsert, "Stykket er den Fløyel kanin og jeg vil være kaninen". Han hadde tilbrakt bokstavelig måneder bærer på (noen ganger hysterisk) om hvordan han ikke ønsket å ha noe å gjøre med Park spillere og etter første dag, Han vil være hovedrollen i skuespillet. Vi har sett dette mønsteret før.

(Mye til vår overraskelse, Han fikk rollen som kanin og han var fantastisk.)

Spol frem et par år. Han har vært i Park spillere tre ganger nå, så han er noe av en veteran. Denne sommeren (2008), Spillere starter opp igjen. I mellomtiden, Han er endelig overbevist oss han virkelig ikke ønsker å spille fotball og han aldri likte basketball. Som forlot ham uten utenomfaglige aktiviteter for senvinteren / Våren. En klient som jobbet jeg nevnte at hans datter var i et program kalt scenen akkurat. Scenen er en litt dyrere versjon av Park spillere og det er ikke i min by, men tilstøtende. Perfekt.

Ting å vite om byen er at det er praktisk talt et annet land i form av rikdom. Det har en høy frekvens toget rett til Wall Street og NYC generelt. Det er bare en velstående sted. En av de pågående familie diskusjon temaene er om vi skal ha flyttet til byen i stedet for der vi bor nå. Det er en større by, dens skoler tilbyr flere programmer for barn, osv.. Min kone vokste opp i byen og hennes foreldre bor der, så vi er "hektet i" til tross for ikke bor der. Jeg personlig vokste opp i forskjellige situasjoner i Massachusetts, så jeg har ikke mye å si om dette under familie middag samtale. Dette er ikke å si at vi ikke veldig glad der vi bor. Vi vet at byen er et nivå over byen vår økonomisk.

Scenen akkurat neste programmet startet for tidlig for oss å lansere vår normale reklamekampanje for å overvinne min sønns motvilje. Dette er når han kom opp med en min personlige favoritt argumenter mot gjør noe: "Fredag kveld er Prime netter for søvn-overs!" Scenen akkurat skulle påvirke sin helg socials.

Dagen kommer, vi bringe ham det og slippe ham av og som med alt annet, sin naturlige kjærlighet til bare å være levende tok over og han har hatt en god tid med det.

Denne siste helgen min kone snakket til ham og for første gang, Jeg tror han er skreddersy hans diskusjoner meget presist for sitt publikum. Hun spurte ham hvordan scenen akkurat sammenlignet Midland Park spillere. Han forteller henne at "i Park spillere, Vi har tenåringer som hjelper oss. Det finnes ikke noe i scenen til høyre. I Park spillere, tenåringer gjør alle rekvisitter. I scenen, Vi må bringe våre egne rekvisitter. Vi har å gjøre alt. Og så han vendinger kniven: "Jeg trodde dette skulle være en rik by."

Alle disse årene, Jeg aldri virkelig trodde at han var høre eller forstå noe som det knyttet til "rike byen". Men, Det viser seg han var.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper:

SharePoint gir ikke kalenderen samleoppdateringer; Potensielle løsninger

OPPDATERINGEN: En anonym person i kommentarer innlegg lenken: http://www.atidan.com/atidan-collaboration-kit.php

Forum brukere spør ofte et spørsmål som dette:

"Jeg ønsker å ha en kalender på områdenivå som er befolket av hendelser fra sekundære kalendere. Ideelt, brukere i underområder vil opprette kalenderhendelser, og vil ha mulighet til å merke dem som "offentlig.’ Hendelser som er merket som offentlig vises dynamisk i delt område kalenderen. Dermed er delt område kalenderen opprulling av alle offentlige hendelser fra alle sekundære kalendere."

Er WSS 3.0 eller MOSS 2007, Det er ikke mulig å direkte konfigurere en "roll-up" Kalender. Kalendere finnes på egenhånd, uavhengig av alle andre kalenderen.

Opprette en opprulling kalender, følge en av disse banene:

  1. Bruke en webdel for innholdsspørring. Dette er den enkleste løsningen for MOSS brukere (WSS gir ikke CQWP). CQWP, Dessverre, gir ikke en kalendervisning data ut av boksen. Det gir enorme gjengivelse fleksibilitet (se her for ett eksempel) men som standard, viser resultatene i enkel liste-format. I mange tilfeller, CQWP trolig et godt valg.
  2. En mer programmering-orientert løsning ville være å bruke hendelsesmottakere. Implementere hendelsesmottakere på sekundære kalendere som holder sine offentlige arrangementer synkronisert med hovedkalenderen. Som et bestemt underområde er kalenderen endret, nå ut til hovedkalenderen og oppdatere den etter behov. Dette alternativet er tilgjengelig i både WSS 3.0 og MOSS.

Det finnes sannsynligvis andre smarte løsninger på dette problemet. Hvis du har en eller vet av en, Legg igjen en kommentar eller email meg og jeg vil oppdatere dette innlegget.

</slutten>

Technorati Merkelapper: ,

Abonner på bloggen min.

Opprette områder (SPWeb) via SharePoint Designer arbeidsflyt

Dette blogginnlegget er mer av en "i riket av mulige" oppføringen vs. konkret informasjon.

Vi har en teknisk design som krever oss å lage et område i en områdesamling via et manuelt lanserte arbeidsflytprosessen. I utgangspunktet, brukere registrerer data i en "ny kunde" egendefinert liste og deretter når de har ferdig og validert data oppføring prosessen, Vi må lage et nettsted for kunden.

Jeg er både en stor fan av deklarativ arbeidsflyt samt en svak visual studio arbeidsflyt programmerer, så jeg ønsket å møte kravet bruke SharePoint Designer.

Jeg planlegger å skrive om dette nærmere (og forhåpentligvis presentere for en gruppe eller to i de kommende år), men her er den samlede løsningen:

  • Opprette en egendefinert handling som integrerer med SPD.
  • Den egendefinerte handlingen lar SPD å påkalle en tjeneste og gi det en streng med XML.
  • Webtjenesten finner raden i den egendefinerte listen og oppretter et nytt område i dataene for nye klienten bruker en egendefinert områdedefinisjon.
  • Webtjenesten oppdaterer deretter den egendefinerte listen med noe informasjon som en kobling til det nye området.

Vi vurderte andre tilnærminger, for eksempel hendelsesbehandlinger og visual studio basert. SPD tilnærmingen gir våre sluttbrukere litt mer kontroll over prosessen. Gitt, Det er mye av C#-kode i denne løsningen, men det er pakket innenfor en deklarativ arbeidsflyt, så vi får noen av fordelene med deklarativ arbeidsflyten mens henge i tjenesten områdeoppretting.

Alt vi trenger nå er et enkelt verktøy for å automatisk migrere SPD-arbeidsflyter så lett vi kan for visualstudio-arbeidsflyter, og vi vil virkelig lage mat med gass 🙂 Jeg forstår at noen folk er der ute som jobber med dette problemet, og jeg håper de har litt god suksess med det snart.

</slutten>

Abonner på bloggen min.

Technorati Merkelapper: ,