Månedligt arkiv: Marts 2008

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

Hurtig og enkel: Klargøre et websted ved hjælp af SharePoint objektmodel I C#

Jeg prøvede at søge efter en lille stump kode, der ville vise, hvordan jeg kan oprette en ny SPWeb i en gruppe af websteder. Jeg fandt det som hurtigt eller nemt, som jeg havde forventet, så jeg tænkte jeg ville smække sammen en lille post om emnet.

Denne kode opretter et nye Wiki-websted:

 SPSite siteCollection;

    siteCollection = nye SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy titel",
        "xyzzy beskrivelse", 1033, SPWebTemplate.WebTemplateWIKI, falsk, falsk);

Mine indledende søgninger mislykkedes, fordi jeg var på udkig sætninger som "bestemmelse et websted ved hjælp af sharepoint-objektmodellen" og lignende.

Hvis du Søg til "Webs.Add()", Du kan finde en række meget nyttige blog-indtastninger, MSDN artikler og SDK-dokumentationen, at gå i dybden med dette emne. Jeg absolut anbefale dette websted.

</slutningen>

Abonner på min blog.

Technorati Tags:

Integrere SharePoint Designer arbejdsprocesser med webtjenester

Jeg har spillet med brugerdefinerede handlinger til SharePoint Designer for nogle gang (Se her for nogle detaljerede stuff, Hvis der interesserer dig).

I min aktuelle projekt, Vi skal gøre nogle temmelig tunge løft og vi vil bruge deklarativ SPD workflow til at styre den tilknyttede forretningsprocesser.

Lang historie kort, Det er helt muligt. Jeg udvidede min Codeplex projekt for at påberåbe sig en "helper service" og nu vi kan påberåbe sig en webservice direkte fra en SPD workflow.

Her er signaturen:

 offentlige streng Senderen(
        GUID WebID, // Forbi runtime environment
        GUID SiteID, // Forbi runtime environment
        streng ListID, // Forbi RTE (ikke kender grunden til, at dette er en streng, ikke en GUID)
        int ListItemID, // Forbi RTE.
        streng XmlMessage) // Bestået af brugeren som erklæret i SPD.

Dette udnytter det faktum, at vi kan få på oplysninger om vigtige arbejdsproces, ligesom webstedet, liste-ID, osv. Det er veldokumenteret i flere steder for dem af jer interesseret i at skabe din egen brugerdefinerede handlinger. Ideen er at udtrække XML-streng, som fastsat af brugeren til at afsende en passende procedure. Sjove ting!

Desværre, Dette er naturligvis en envejs billet ned til "Loosey Goosey" anti-pattern jord, but it’s better than hitting a brick wall 🙂

Er det en anti-pattern, hvis du gør det, selvom du ved, det er en anti-pattern?

Jeg håber, at wrap det inde Codeplex i den nærmeste fremtid. Hvis du er interesseret i mig gøre det., give mig sækken (e-mail eller efterlade en kommentar) and I’ll be that more enthusiastic about doing it 🙂

</slutningen>

Abonner på min blog.

Technorati Tags: ,

Søndag Funny: “Hvis din adgangskode er mon …”

Jeg har for nylig købt frokost til min bror (som sædvanlig) og vi endte med at tale om sjove ting, som vi gjorde på vores respektive kollegier. På mit alma mater, Lafayette College, den akademiske support IT-afdelingen havde en meget omfattende måde om det. Vi fik en masse af reb og jeg benyttede sig af, til tider.

To min foretrukne memories vedrører min gode ven, Gabe. Han havde gjort den frygtelige fejl at fortælle folk sit freshman år, at "Jeg er en freshman, Men jeg har andenpladsen stående" på grund af de forskellige avancerede placering klasser havde han taget, osv. Mange af os var ligeledes beliggende men vi taler ikke om det så meget. Hans senior år, Når vi introducerede ham til mennesker, Vi ville sige "Dette er Gabe. Han er en Senior, men han har andenpladsen stående ".

Kollegiet havde nogle solen/arbejdsstation servere, der kører X-vindue. De havde gigantiske skærme og ingeniører brugte dem til CAD og andre kedelige ting, ingeniør. Vi CS folk brugte dem til at lære programmering og, Selvfølgelig, at spille spil.

Vi didn't ligesom de computer-hjælpeløse ingeniører til meget så en af vores foretrukne ting at gøre ville være at telnet til boksen de var på og køre X-eye på dem. Dette vil poppe op et par øjne, der fulgte med musen rundt på skærmen. Du kan pop op endnu mere og har bogstaveligt talt et dusin eller flere af de X-eye applikationer kører. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Vi spillede også X-trek på disse kasser. At gøre det, skulle du hente kilden, få forskellige afhængigheder, hvor du kan finde dem og bygge det. Jeg var ikke en sofistikeret C programmør, men jeg kunne læse header-filer. Jeg var på udkig gennem disse og fundet direktiver som "#DEFINE MAX_TORPEDO_DISTANCE 10". Jeg spillede rundt med at øger rækkevidde og magt for faser og torpedoer, re-built det og derefter destrueres Gabe næste gang vi spillede.

Gabe var også en stor fan af et tv-show kaldet Blakes 7. Jeg havde aldrig set det, men der ikke hindre mig i at insistere på, at Dr. Hvem er den overlegen Vis. The arguments would get heated at times 🙂

Én dag, Det forekom mig, at jeg sandsynligvis kunne gætte hans UNIX password. Jeg satte mig ned ved siden af ham en dag og annonceret i en høj tone, "Jeg vil gætte din adgangskode lige nu, Gabe." "ja, højre" var hans svar. Jeg derefter logget ind, indtastet sit bruger-id, slået over ham, skrevet og sagde højlydt, "Hvis det er mon B-L-A-K-E-7" ? Blindskrift har aldrig betalt så smukt som den gjorde dag.

Næste uge (eller snart): Flere computer værelse fjollerier fra college.

Har du nogen at dele? Efterlade en kommentar eller email mig, og jeg vil offentliggøre dem her.

</slutningen>

Abonner på min blog.

Technorati Tags: