Månadsarkiv: Mars 2008

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

Snabb och enkel: Etablera en webbplats med SharePoint-objektmodellen i C#

Jag försökte en liten snutt koden som skulle visa hur jag kan skapa en ny SPWeb i en webbplatssamling. Jag hittade inte det som snabbt och enkelt som jag trodde så jag trodde jag skulle smälla ihop lite inlägg i ämnet.

Denna kod skapas en ny Wiki-webbplats:

 SPSite siteCollection;

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

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy titel",
        "xyzzy Beskrivning", 1033, SPWebTemplate.WebTemplateWIKI, falskt, falskt);

Min första sökningar misslyckades eftersom jag letade efter fraser som "etablera en webbplats med sharepoint-objektmodellen" och liknande.

Om du Sök för "Webs.Add()", hittar du ett antal mycket användbara blogginlägg, MSDN artiklar och SDK-dokumentationen som går in i djupet i detta ämne. Jag rekommenderar definitivt denna webbplats.

</slutet>

Prenumerera på min blogg.

Technorati Tags:

Integrera SharePoint Designer arbetsflöden med Web Services

Jag har spelat med anpassade åtgärder för SharePoint Designer för en tid (se här för några detaljerade grejer, om som intresserar dig).

I mitt nuvarande projekt, Vi måste göra några ganska tunga lyft och vi vill använda declarative SPD arbetsflöde för att hantera tillhörande affärsprocessen.

Lång historia kort, Detta är fullt möjligt. Jag utökade min Codeplex projekt för att anropa en helper-tjänsten"" och nu kan vi anropa en webbtjänst direkt från ett SPD arbetsflöde.

Här är signaturen:

 offentliga sträng Dispatcher(
        GUID WebID, // Förbi runtime miljön
        GUID SiteID, // Förbi runtime miljön
        sträng ListID, // Förbi RTE (vet inte varför detta är en sträng, inte en GUID)
        int ListItemID, // Förbi RTE.
        sträng XmlMessage) // Passerade av användaren som deklarerats i SPD.

Detta utnyttjar det faktum att vi kan få på viktiga arbetsflödesinformation, som platsen, List-ID, m.m.. Detta är väl dokumenterat i flera förlägger för er intresserade av att skapa dina egna anpassade åtgärder. Tanken är att extrahera XML-strängen som anges av användaren att skicka ett lämpligt förfarande. Kul grejer!

Tyvärr, Detta är naturligtvis en enkelbiljett ner till "Loosey Goosey" anti mönster mark, but it’s better than hitting a brick wall 🙂

Är det en anti mönster om du gör det även om du vet att det är en anti mönster?

Jag hoppas att radbrytas inuti Codeplex detta inom en snar framtid. Om du är intresserad av mig så, ge mig säcken (e-post eller lämna en kommentar) and I’ll be that more enthusiastic about doing it 🙂

</slutet>

Prenumerera på min blogg.

Technorati Tags: ,

Söndag Funny: “Jag undrar om ditt lösenord är …”

Jag köpte nyligen lunch för min bror (som vanligt) och vi slutade prata om roliga saker som vi gjorde på våra respektive högskolor. På mitt alma mater, Lafayette College, den akademiska support IT-avdelningen hade ett mycket omfattande sätt om det. Vi fick en massa rep och jag utnyttjade som ibland.

Två mina favorit minnen relatera till min gode vän, Gabe. Han hade gjort hemska misstaget att tala om människor sitt första år som "Jag är en nybörjare, men jag har Sophomore stående" på grund av de olika avancerade placering klasserna hade han tagit, m.m.. Många av oss på samma sätt var belägna men vi prata inte om det så mycket. Hans sista år, När vi introducerade honom till människor, Vi skulle säga "här är Gabe. Han är Senior, men han har Sophomore stående ".

Kollegiet hade vissa Sun arbetsstationer/servrar kör X-Window. De hade gigantiska bildskärmar och ingenjörerna använde dem för CAD och andra tråkiga saker ingenjör. Vi CS människor använde dem för att lära sig att programmera och, Självklart, att spela spel.

Gjorde vi inte som dator-hjälplösa ingenjörerna för mycket så en av våra favorit saker att göra skulle vara att telnet till rutan de var på och kör X-eye på dem. Detta skulle dyka upp ett par ögon som följde med musen runt på skärmen. Du kan dyka upp ännu mer och har bokstavligen ett dussin eller mer för de X-eye program som körs. 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 spelade även X-trek på dessa lådor. Att göra det, du var tvungen att hämta källan, få olika beroenden var du kan hitta dem och bygga den. Jag var inte en sofistikerad C programmerare, men jag kunde läsa header-filer. Jag letade igenom dessa och hittade direktiven som "#DEFINE MAX_TORPEDO_DISTANCE 10". Jag spelade med att ökar utbud och makt för faser och torpeder, byggs det och sedan förstörde Gabe nästa gång vi spelade.

Gabe var också ett stort fan av en TV-show kallad Blakes 7. Jag hade aldrig sett det, men som inte hindrar mig från att insistera att Dr. Vem är den överlägsen Visa. The arguments would get heated at times 🙂

En dag, Det slog mig att jag förmodligen kunde gissa hans UNIX lösenord. Jag satte mig bredvid honom en dag och meddelade i en hög ton, "Jag ska gissa ditt lösenord just nu, Gabe." "Ja, rätt" var hans svar. Jag sedan loggade in, in sitt användar-id, vände för att möta honom, skrev och sade högt, "Jag undrar om det är B-L-A-K-E-7" ? Touch typing har aldrig betalat sig lika vackert som det gjorde den dagen.

Nästa vecka (eller snart): Mer dator rummet upptåg från college.

Har du någon att dela? Lämna en kommentar eller maila mig och jag ska publicera dem här.

</slutet>

Prenumerera på min blogg.

Technorati Tags: