Månadsarkiv: Februari 2008

Söndag Funny: “EJ FÖR EXPORT”

Tillbaka runt 1998, företaget jag arbetade på tiden fått viss finansiering för att skapa en ny e-handel produkt. Vi hade hela spektrat av affärsmässiga krav att uppfylla. Det skulle vara snabb, lätt för slutanvändare, flashiga, flera språk, m.m.. Sorgligt att säga, Jag haft förmodligen inte som en ambitiös uppsättning arbete att utföra sedan de berusande dagarna.

Denna ansträngning föregick Microsoft.net. Plain vanilla ASP var fortfarande något nytt (eller åtminstone mycket främmande för mitt företag). "Tegel och murbruk" företag var dömda. Dömd! Detta är att säga att det banbrytande arbete. Inte Hadron Collider pionjärarbete, men för oss i vår lilla värld, det banbrytande arbete.

Vi var galet upptagen. Vi gjorde mini POCs nästan varje dag, räkna ut hur du upprätthåller tillstånd i sin natur statslösa medium, räkna ut flera språkfrågor, rad-nivå säkerhet. Vi hade även skapa ett ordförråd att definiera grundläggande termer (Jag föredrog statliga-beständig men av någon anledning, Den obekväma "statefull" segrat).

Eftersom vi vanvettigt uppfinna denna produkt, marknadsföring och försäljning var ut att försöka sälja den. På något sätt, de lyckades sälja den till vår mardrömsscenario. Även om vi utforma och genomföra en företagslösning, vi verkligen inte förväntar sig den första kunden att använda varenda funktion vi inbyggda i produkten dag noll. Denna kund behövs flera språk, en radikalt annorlunda användargränssnittet från "standard" system men med samma affärslogik. Flera språk var särskilt svårt i detta fall, eftersom vi alltid fokuserat på spanska eller franska, men i detta fall, Det var kinesiska (som är en dubbel-byte-tecken anger och krävs särskild hantering med tanke på den teknik som vi använt).

Snabbspolning framåt är några månader och jag på ett Northwest airlines flyg till Peking. Jag har varit så upptagen med att förbereda för denna resa som jag har nästan ingen aning vad det är som för att åka dit. Jag hade läst en bok en gång om hur en Amerikan hade varit i Kina i flera år och hade lärt sig språket. En dag han gick staden och frågade några människor för vägbeskrivning. Konversationen gick något detta:

  • Amerikansk: "Kan du berätta hur man får till [XX] Street?"
  • Kinesiska: "Ledsen, Vi talar inte svenska".
  • Amerikansk: "Oh, Tja tala jag Mandarin." och han frågade dem igen på kinesiska, men tydligare (så gott han kunde).
  • Kinesiska: Mycket artigt, "Ledsen, Vi talar inte svenska".

Konversationen gick sådär för stycke och amerikanen gav upp i frustration. Som han skulle lämna dem att han hörde en man talar till andra, "Jag kunde ha svurit han frågade efter vägen till [XX] Street."

Jag hade plockat upp några bitar här och andra kvasi information om Kina och "goda råd":

  • En koreansk tillsammans arbetat sa att jag behövde vara försiktiga med kinesiska eftersom "de skulle försöka få mig berusad och dra nytta av du" i avkänningen av pressa mig in i dåliga affärsbeslut.
  • Vi fick inte köra bil (Det förekom viss förvirring om huruvida detta var en anpassad, ett rättsligt krav eller bara klientens regel).
  • Det fanns särskilda regler för att gå igenom tullen.
  • Vi var inte tillåtna att använda amerikanska pengar för något.
  • Du ska inte lämna tips. Det är en förolämpning om du gör.

Och slutligen, Jag hade relativt färska minnen av Tiananmen massakern. När jag var på college, Jag minns att se realtid Usenet inlägg som världen tittade på i skräck.

I korthet, Jag var väldigt nervös. Jag var inte bara normal-nervös i den bemärkelsen att jag leverera en lösning som var tiopotenser mer komplicerat än något jag någonsin har utfört. Jag var också orolig oavsiktligt bryter en regel som kunde få mig i trubbel.

Jag är på detta 14 timmars flygning och fast det var businessklass, 14 timmar är en förbannat lång tid. Det finns bara så många sätt att roa dig genom att läsa, titta på filmer eller spela med magnetiserade besticken. Ännu en riktigt bra bok är svårt att läsa flera timmar i sträck.

Så småningom, Jag började läsa förpackningsmaterialet på en bit av programvara jag hand-bar med mig till klienten, Netscapes webbserver. Jag läser de/programkrav, de marknadsföring blurbs, tittar på en vacker bild och plötsligt, Jag noll i på jätten "ej för EXPORT" Varning, något om 128 bitarskryptering. Jag stoppade rutan tillbaka i min väska, Varning nedåt (som om det skulle ha hjälpt) och försökte hålla visioner Midnight Express ur mitt huvud.

Ser tillbaka på det nu, Jag borde ha varit orolig, om det vid alla, När jag lämnade USA, not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</slutet>

Prenumerera på min blogg!

Technorati Tags: ,

Lösning: SPQuery söker inte mappar

Förra veckan var jag genomföra en "utvecklas" lösning för en klient som använder BDC- och SPQuery och sprang in vissa svårigheter med att använda SPQuery mot ett dokumentbibliotek som innehåller mapparna. Nedersta raden: tilldela "rekursiv" Visa attributet för frågan.

Mitt scenario:

  • På måndag, Jag ladda upp ett dokument och leverera några meta-data.
  • Följande vecka, Jag laddar upp ett nytt dokument. Mycket av detta nya dokument metadata bygger på det dokument som jag lagt upp på måndag (som vi kallar "samlingsdokumentet").
  • Vi har skapat en web service fasad som tillhandahåller en BDC-gränssnitt i listan så att användare enkelt kan hitta måndag dokumentet via en titel sökning.
  • BDC-datakolumnen ger ett användarvänligt gränssnitt. (Detta är en del av mitt försök att använda BDC för en mer vänlig uppslagskolumn).

Sista BDC-fasad tjänsten använder en fråga som denna för att göra sökningen:

 // Använde U2U verktyg för att hjälpa till att skapa denna CAML query.
      oQuery.Query =
        "<Där>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "  <Och>";

      oQuery.Query  =
        "    <Och>" +
        "      <GEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + minId + "</Värde>" +
        "      </GEQ>" +
        "      <LEQ>" +
        "        <FieldRef namn =  "DocumentId" />" +
        "        <Värde typ =  "Text">" + maxId + "</Värde>" +
        "      </LEQ>" +
        "    </Och>";

      om (titleFilter.Length > 0)
        oQuery.Query  =
          "    <Innehåller>" +
          "      <FieldRef namn =  "Title" />" +
          "      <Värde typ =  "Text">" + titleFilter + "</Värde>" +
          "    </Innehåller>" +
          "  </Och>";
      oQuery.Query  =
        "</Där>";

Under det inledande skedet av utveckling, Detta fungerade bra. Men, vi infört mappar i katalogen för att lösa vissa problem och plötsligt, min BDC-picker skulle inte återvända några resultat. Jag spårade det ner till det faktum att SPQuery skulle aldrig återvända några resultat. Vi använde mappar främst för att tillåta flera filer med samma namn till vara belastat upp men med olika meta-data. När filen är uppladdad, Vi skapar en mapp baserade på listan objektets ID och sedan flytta filen där (Jag skrev om att Här; Vi har haft blandade resultat med detta synsätt, men på hela, det fungerar bra). Användaren inte bryr sig om mappar och faktiskt, förstå inte riktigt att det finns några mappar. Vi har konfigurerat alla synpunkter på biblioteket för att visa objekt utan hänsyn till mappar.

Jag slog detta problem två gånger som det tekniska genomförandet utvecklats och löst det annorlunda varje gång. Första gången, Jag var inte med operatorn innehåller i frågan. Utan en innehåller operator, Jag kunde lösa problemet genom att ange vyn på den SPQuery student. Istället för att använda standard konstruktören:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery();

Jag använde istället en konstruktor som angav en vy:

SPList oList = web.Listor["Dokument"];

SPQuery oQuery = nya SPQuery(oList.Views["Alla dokument"]);

Som löste problemet och jag började få mina resultat.

Jag la sedan innehåller operatören i mixen och det bröt igen. Det visar sig att operatorn innehåller, så längt som jag kanna berätta, fungerar inte med om på samma sätt som i en enklare GEQ / LEQ operatörer. Jag auktoriserat inte något forskande och lärde sig att frågans ViewAttributes ska anges till "Recursive", som i:

oQuery.ViewAttributes = "Räckvidd = "Recursive"";

Som löste problemet för innehåller. I själva verket, Detta löste också min ursprungliga söka problem och om jag hade specificerat rekursivt attributet första gången, Jag skulle inte ha köra frågan igen.

Det faktum att en Visa-baserade SPQuery fungerar för vissa operatörer (GEQ/LEQ) och inte andra (INNEHÅLLER), tillsammans med det faktum att KPI inte verkar fungera alls med som innehåller mappen dokument bibliotek leder mig att tro att SPQuery har några ortogonalitet frågor.

Särskilt tack:

</slutet>

Prenumerera på min blogg!

MOSS KPI bugg? Listmarkör knuten till dokumentbibliotek med mappar

UPPDATERING 02/29/08: Jag löste problemet genom att skapa en mapp och sedan tilldela en innehållstyp till broschyren vilken de metadata som jag behöver för KPI: erna. Jag beskrivs som lite mer detaljerat här.

Vi har genomfört en teknisk lösning där användare ladda upp dokument i ett dokumentbibliotek. En händelsemottagare skapar en katalog och flyttas till den katalogen (med hjälp av en teknik som liknar vad jag skrev om Här). Vi har framgångsrikt navigerat runt de potentiella problem orsakade av händelsen mottagare som byta namn på uppladdade filer (främst på grund av att användare aldrig börja deras dokument genom att klicka på "ny" men i stället skapa docs lokalt och sedan ladda upp dem).

Metadata för dessa dokument innehåller ett ja/nej webbplatskolumn kallas "brådskande" och en annan webbplatskolumn kallas "Status". Vi måste uppfylla ett krav på företag som visar andelen "brådskande" dokument vars status är "Väntande".

Detta är oftast enkel att göra och jag beskrev något så mycket sånt här på SharePoint-Beagle med massor av skärm skott om du är intresserad.

I ett nötskal, Jag gjorde följande:

  • Skapa en vy på doc biblioteket kallas "Väntande".
  • Konfigurera vyn så att ignorera mappstruktur.
  • Skapa en KPI-lista.
  • Skapa en indikator i listan som pekar på doc lib och som "väntande" Visa.

Detta helt enkelt fungerar inte. KPI visar mitt mål (t.ex. fem brådskande dokument) men alltid visar det faktiska antalet brådskande dokument som noll. Paradoxalt nog, Om du borrar ner till Detaljer, Det visar de fem brådskande dokument i listan. Jag skapade en mycket enkel scenario med två dokument, en i en mapp och en inte. Här är skärmdump:

bild

Ovanstående skärmdump visar tydligt att det finns två dokument i vyn men "värde" är en. "CamlSchema" med tomt dokument-Id i rotmappen och den andra är i en mapp som heter "84".

Det förefaller mig att även om du anger en vy, KPI: N hedra inte "Visa alla objekt utan mappar" inställning och i stället, begränsar sig till rotmappen.

Om jag har fel, snälla släpp mig en linje eller lämna en kommentar.

</slutet>

Prenumerera på min blogg!

Technorati Tags:

SPD arbetsflöde “Samla in Data från en användare”: Ändra genererade Aktivitetsformulär

Jag arbetar på ett projekt som använder fem olika SharePoint Designer arbetsflöden för att hantera vissa dokumentgodkännanden. SPD ger den "samla in datan från en användare" åtgärd så att vi kan uppmana användaren för olika bitar av information, såsom huruvida de godkänner, några kommentarer och kanske fråga vad de hade för middag andra natten.

Formerna är perfekt fungerande. De är bundna till en uppgiftslista som en innehållstyp. De är 100% systemgenererade. Detta är deras styrka och svaghet. Om vi kan leva med standard form, då är vi bra att gå. Men, Vi har inte för mycket kontroll över hur SPD skapar form. Om vi inte gillar det standardbeteendet, Vi behöver tillgripa olika knep att komma runt det (till exempel, att ange prioriteten för en aktivitet).

Jag behövde lämna en länk om formulären uppgift att öppnas Visa egenskaper (DispForm.asxp) för den relaterade artikeln"" i ett nytt fönster. Detta ger ett klick tillgång till metadata för den relaterade artikeln. Detta är vad jag menar:

bild

Tack och lov, Vi kan göra det och det är inte mycket svårt. I stort sett, brand upp SPD, Navigera till den katalog som rymmer Arbetsflödesfiler och öppna ASPX-filen du vill ändra. Dessa är bara klassiska XSL-transformeringen instruktioner och om du har muckade med itemstyle.xsl, Sök eller andra XSL-scenarier, Detta kommer att bli lätt för dig. I själva verket, Jag hittade det är i allmänhet lättare eftersom formuläret genererade är lite lättare att följa jämfört med en webbdel för Sök kärna resultat (eller mardrömslika CWQP).

Självklart, Det finns en stor fallgrop. SPD: s arbetsflödesredigeraren förväntar sig full kontroll över filen. Om du ändrar det, SPD glatt över din ändringar ge rätt uppsättning omständigheter. Jag gjorde två snabba tester för att se hur illa detta skulle kunna få. De båda förutsätter att du har tagit fram ett giltigt SPD arbetsflöde som använder den "samla in datan från en användare" steg.

Testet 1:

  • Ändra aspx-filen för hand.
  • Testa den (Kontrollera att ändringar sparats korrekt och didn't break någonting).
  • Öppna arbetsflödet och lägga till en icke-närstående åtgärd (såsom "logga in historia").
  • Spara arbetsflödet.

Resultat: I detta fall, SPD inte återskapa form.

Testet 2:

  • Gör samma sak som #1 utom direkt ändra "samla in-data från en användare" åtgärd.

Resultat: Detta återskapar formuläret från början, onlineläge ändringarna.

Slutliga anteckningar:

  • Minst två SPD åtgärder skapa formulär här: "Samla in Data från en användare" och "Tilldela att göra objekt". Båda dessa åtgärder’ formulär kan ändras manuellt.
  • Jag har kunnat skapa min länk till dispform.aspx eftersom, i detta fall, relatera artikeln har alltid dess ID inbäddad i den relaterade artikeln URL. Jag fick möjlighet att extrahera den och sedan bygga en <en href> bygger på att tillhandahålla ett klick meta data funktionen. Det är osannolikt att din URL följer denna regel. Det kan finnas andra sätt att få ID för den relaterade artikeln men jag har inte haft att korsa det överbryggar, så jag inte vet om att den andra sidan av klyftan.
  • Jag undersöka inte, men jag skulle inte bli förvånad om det finns något slags mallfil i den 12 registreringsdatafilen som jag kunde ändra för att påverka hur SPD genererar formulären standard (ungefär som vi kan ändra varning mallar).

</slutet>

Prenumerera på min blogg!

Är “Okänt fel” Meddelanden verkligen bättre än en stackspårning?

Jag läste Dårhusens blogginlägg om hur man Aktivera stack trace visar och nu är jag undrar: Varför inte vi alltid Visa en stackspårning?

Som kom med denna regel och varför följer vi det?

Slutanvändarna kommer att veta något är fel i båda fallen. Åtminstone med en stackspårning, de kan trycka på kontroll-printscreen, kopiera/klistra in i ett mail och skicka det till det. Det skulle helt klart minska den tid och ansträngning som krävs för att lösa frågan.

</slutet>

Technorati Tags:

Söndag (Pinsamt) Rolig: “Mitt namn är Paul Galvin”

Ett gäng år sedan, min chef bad mig att träna vissa användare på en produkt som kallas resultat. Resultaten är en slutanvändare rapporteringsverktyg. Det är ungefär detsamma som SQL Server Reporting Service eller kristall. På gång, Det var avsedd att köras på gröna rör (t.ex. Wyse 50 Terminal) ansluten till en Unix i via telnet.

Min standard svar på någon fråga som börjar med "kan du … " är "Ja" och det är där alla problem började.

Klienten var ett kemiskt företag ute i södra Kalifornien och hade bara om insvept en större ERP-genomförande bygger på QADS MFG/PRO. Genomförandeplanen nu kallas för utbildning power slutanvändare på produktens resultat.

Jag var inte en stor användare av detta verktyg och hade aldrig tränat någon innan. Men, Jag hade gjort ett antal andra utbildning klasser och var snabb på mina fötter, så jag inte var alltför orolig. Dennis, den verkliga heltid resultat-instruktören, hade gett mig sitt utbildningsmaterial. Ser tillbaka på det nu, Det är egentligen ganska absurt. Jag visste inte produkten väl, aldrig hade utbildats formellt på den och hade aldrig lärt det. Vad jag har utbildning någon på det?

Att komplicera saker logistiskt, Jag blev ombedd att gå och träffa någon i Chicago som en del av en före försäljning engagemang längs vägen. Planen var att flyga ur New Jersey, gå till Chicago, träffa utsikterna för en timme och sedan fortsätta till California.

Brunn, Jag kom till Chicago och försäljning killen i mitt lag hade gjort några misstag och aldrig bekräftade mötet. Så, Jag visade upp och utsikten var inte där. Toppen. Jag packa ihop och lämna och fortsätta till CA. Någonstans under denna process, Jag reda på att klienten lär sig mindre än 24 timmar före min ankomst som "Paul Galvin" undervisar klassen, inte Dennis. Klienten älskar Dennis. De vill veta "Vem är denne Paul Galvin?" "Varför ska vi lita på honom?" "Varför ska vi betala för honom?" Dennis uppenbarligen inte prenumerera på min "ge dåliga nyheter tidigt" filosofi. Toppen.

Jag anländer på flygplatsen och några otroligt dum anledning, Jag hade kollat mitt bagage. Jag gjorde det till LAX men mitt bagage inte. För mig, förlorar bagage är mycket som går igenom den sju stadier av sorg. Så småningom göra jag det till hotellet, med inget bagage, trött, hungriga och bär min (nu, mycket skrynkliga) kostym. Det tar lång tid att resa från Newark — till O'Hare — till en klient — tillbaka till O'Hare — och slutligen till LAX.

Slutligen tycker jag själv sitter på hotellrummet, mumsa på en snickers bar, utmattad och försöker trumma upp energi att skanna igenom utbildningsmaterialet igen så att jag inte ser ut som en komplett röv framför klassen. Detta var lite av en låg punkt för mig då.

Jag vaknade upp nästa dag, gjorde mitt bästa för att släta ut min kostym så att jag inte ser ut som Willy Loman på en dålig dag och leds till klienten. Som så ofta är fallet, person var hon fin, artig och trevlig. Detta stod i skarp kontrast till hennes extremt arga e-post/voicemails från föregående dag. Hon leder mig om 3 mil genom byggnad efter byggnad till en sektioneras bort området i jättelika kemiska lager där vi kommer att genomföra klassen för de närmaste tre dagarna. Den 15 eller 20 studenter montera långsamt, de flesta dem fortfarande väntar Dennis.

Jag börja alltid min utbildning klasser genom att introducera mig själv, att ge lite bakgrund och skriva min kontaktinformation på Whiteboard. Som jag säger, "God morgon, mitt namn är Paul Galvin", Jag skriver mitt namn, e-post och telefon nummer upp på vita tavlan i stora bokstäver så att alla kan se det tydligt. Jag hantera det faktum att jag byter Dennis och jag försäkra dem om att jag är en lämplig ersättare, m.m.. Jag har alla kort berätta deras namn och vad de vill uppnå ur klassen så att jag kan skräddarsy saker till deras specifika krav när jag går längs. Sedvanliga.

Vi wrap som och skjuta upp projektorn. Jag går för att radera min kontakt information och … Jag hade skrivit det i permanenta märkpenna. Jag var så generad. I min inre syn, det såg ut så här: Det är detta "Paul Galvin" person, sista minuten ersättning för våra älskade Dennis. Han bär en skrynklade upp kostym och orakad. Han har bara skrivit sitt namn stora bokstäver på våra vita ombord i permanenta märkpenna. Vad en syn!

Det hela slutade lyckligt, men. Detta var ett kemiskt företag, Trots allt. A grånade veteran anställd drog något från hyllan och, förmodligen i strid med EPA förordningar, rensat i styrelsen. Jag lyckades bo 1/2 dagen före klassen i hela kursen och de gav mig en bra recension i slutet. Detta cementerade min "pinch torped" rykte på mitt företag. Mitt bagage kom den första dagen, så jag var mycket mer presentabel dagar två och tre.

Så jag tog den röda ögonen hemma, Jag överväger "lärdomar". Det fanns mycket att begrunda. Kommunikation är nyckeln. Berätta för klienter om förändringar i plan. Inte någonsin kontrollera ditt bagage på flygplatsen om du möjligen kan undvika det.. Ta med extra "saker" Om du kollar ditt bagage och det gör inte det. Jag tror att den viktigaste lärdom, men, var detta: testa alltid en markör i det nedre vänstra hörnet av en vit bräda innan du skriver, i stora bokstäver, "Paul Galvin".

</slutet>

Technorati Tags: ,

Perspektiv: SharePoint vs. den stora Hadron Collider

På grund av några oddball United Airlines flyg ägde jag i mitten av 90-talet, Jag på något sätt slutade med ett erbjudande om att omvandla "oanvända km" i ett tiotal gratis tidningsprenumerationer. Det är hur jag hamnade prenumerera på Scientific American magazine.

Som programvara / samråd med människor, Vi möter många svåra affärsmässiga krav i vår karriär. Mest tid, Vi älskar de kraven skall uppfyllas och i själva verket, Det är nog varför vi tror att denna karriär är bäst i världen. Ibland undrar jag bara vad i hela världen skulle jag har gjort med mig själv om jag hade fötts vid någon annan tidpunkt i historien. Hur hemskt det vore att gå miste om vilka typer av arbete som jag får göra nu, på denna tid och plats i världshistorien? Jag tror: ganska hemska.

Under åren, några av de krav som jag har haft har varit extremt utmanande att möta. Komplexa SharePoint grejer, bygga web bearbetning ramverk baserade på icke-web-vänlig teknik, komplexa BizTalk-orkestern och liknande. Vi kan alla (förhoppningsvis) se stolt tillbaka på vår karriär och säga, "Ja, Det var en hård en att lösa, men till slut jag pwned som sumbitch!" Ännu bättre, ännu mer intressanta och roliga utmaningar väntar.

Personligen tror jag att mitt CV, i detta avseende, är ganska djup och jag är ganska stolt över det. (fast jag vet att min fru kommer aldrig att förstå 1/20th av det). Men denna vecka, Jag läste en artikel om den Stora Hadron Collider i min Scientific American tidningen och hade en av dessa sällsynta ödmjuk stunder där insåg jag att trots min "jätte" status i vissa kretsar eller hur djupt jag tror min väl erfarenhet, Det finns riktiga jättar i helt olika världar.

Folket i LHC-laget har några riktigt svåra frågor att hantera. Överväga att månen. Jag tror faktiskt inte mycket om månen (men jag har varit mycket misstänksam om det sedan jag lärde mig det saktar jordens rotation, som inte kan vara en bra sak för oss människor på lång sikt). Men, LHC team har oroa dig. LHCS mätinstrument är så känsliga att de påverkas av månens (Earth-rotation-slowing-and-eventually-Killing-all-Life) gravitation. Det är en fan av ett krav på att uppfylla — producera korrekta mätningar trots månens störningar.

Jag tänkte att fråga när jag läste denna mening: Ta emot "den första nivån kommer att och analysera data från endast en delmängd av alla detektorns komponenter, från som man kan plocka ut lovande händelser utifrån isolerade faktorer såsom huruvida sågs en energisk myon flyger ut på en stor vinkel från beam axel." Verkligen … ? Jag kan inte spela i den typ av sandlåda och aldrig kommer att.

Nästa gång jag är ute med några vänner, Jag kommer att höja en skål för de goda människorna som arbetar på LHC, hoppas de inte framgångsrikt väga boson Higgspartikeln och förbanna månen. Jag föreslår att du gör samma. It will be quite the toast 🙂

</slutet>

Technorati Tags:

Snabbt intryck: System Center kapacitet Planner för SharePoint

Jag bara sköt upp kapaciteten planeringsverktyg som är i ropet dessa dagar.

Jag hittade den lätt att använda och modelleras snabbt en klientmiljö jag arbetat i somras.

Med viss bävan, Jag tryckte på sista OK och det rekommenderat något som är ganska lik vad vi gav vår klient (vi faktiskt kastade i en andra programserver för framtiden excel användning). Jag tar att det är ett gott tecken och ökar mitt förtroende i verktyget.

Det verkar ganska kraftfulla saker mycket bättre utgångspunkt än en tom sida.

Jag gillar de kan du få till några bra detalj om miljön. Hur många användare, hur du projektet kommer att de använda systemet (publicera, samarbete, m.m.), lokalkontor och anslutning / nätkapacitet mellan dem och mama-servern. Bra grejer.

Det ställer brett baserade frågor och sedan kan du justera Detaljer för en ganska detaljerad modell av din miljö.

Jag tvekade att ladda ner det eftersom jag har så många andra saker att titta på det, läsa och försöka smälta. Jag är glad att jag gjorde.

Det är en enkel tvåstegsprocess. Hämta system center kapacitet planner och sedan hämta SharePoint modeller. Det går fint på Windows XP.

Baserat på min snabba intryck, Jag förstår inte hur det kan redovisa:

  • Sök: Totala dokument, kanske typer av dokument, språk.
  • Excel-server: Hur mycket, om det vid alla?
  • Forms server: Hur mycket, om det vid alla?
  • BDC: Hur mycket, om det vid alla.

De kan modelleras och jag bara såg dem i den 10 minut recension.

Jag kommer definitivt att använda det på min nästa klient.

Om jag inte var en konsult och istället arbeta för ett riktigt företag :), Jag skulle min nuvarande miljö och se hur verktygets rekommenderade modell matchar upp mot verkligheten. Det skulle vara ganska snyggt. Det kan leda till några bra infrastruktur diskussion.

</slutet>

Lösning: System.io.FileNotFoundException på “SPSite = ny SPSite(URL)”

UPPDATERING: Jag postat denna fråga till MSDN här (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) och Michael Washam av Microsoft svarade med ett koncist svar.

Jag skapade en webbtjänst för att fungera som en BDC-vänlig fasad till en SharePoint-lista. När jag använde detta från min utvecklingsmiljö, det fungerade bra. När jag flyttade detta till en ny server, Jag stötte på detta fel:

System.IO.FileNotFoundException: Webbprogrammet på http://localhost/sandbox kunde inte hittas. Kontrollera att du har skrivit adressen korrekt. Om Webbadressen ska att servera befintligt innehåll, systemadministratören kan behöva lägga till en ny begäran URL-mappning för den avsedda appliceringen. på Microsoft.SharePoint.SPSite...ctor(SPFarm gård, URI requestUri, Boolean contextSite, SPUserToken userToken) på Microsoft.SharePoint.SPSite...ctor(Sträng requestUrl) på Conchango.xyzzy.GetExistingDocument(Sträng minId, Sträng maxId, Sträng titleFilter) i C:\Dokument och SettingsPaulMy DocumentsVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:linje 69

Här är linje 69:

med hjälp av (SPSite webbplats = nya SPSite("http://localhost/sandbox"))

Jag försökte olika varianter på Webbadressen, med hjälp av serverns riktiga namn, dess IP-adress, avslutande snedstreck på Webbadressen, m.m.. Jag fick alltid som fel.

Jag använde Google till forskning om det. Massor av människor står inför denna fråga, eller varianter av det, men verkade ingen ha det löst.

Tricksy MOSS som sådan en detaljerad fel att det inte uppstår för mig att kontrollera den 12 kupan loggar. Så småningom, om 24 timmar efter min kollega bör jag göra så, Jag kollade ut den 12 bikupa stock och hittade denna:

Ett undantag uppstod vid försök att förvärva den lokala servergruppen:
System.Security.SecurityException: Önskade registret åtkomst tillåts inte.
på System.ThrowHelper.ThrowSecurityException(ExceptionResource resurs) på Microsoft.Win32.RegistryKey.OpenSubKey(String namn, Boolean skrivbar) på Microsoft.Win32.RegistryKey.OpenSubKey(String namn) på Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() på Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() på Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& gård, Booleskt värde& isJoined)
Zonplanera av församlingen som inte var:  Här datorn

Detta öppnade upp nya vägar för forskning, så var det tillbaka till The Google. Som ledde mig till detta foruminlägg: http://forums.CodeCharge.com/posts.php?post_id = 67135. Det hjälpte verkligen mig men det börja göra jag tror det var en databas och/eller säkerhet fråga. Jag soldiered och Andrew Connell Bokför slutligen utlösta tanken att jag ska se till att programpoolens identitet konto hade tillgång till databasen. Jag trodde det gjorde redan. Men, min kollega och gav den app pool identitet konto full tillgången till SQL.

Så snart hon gjorde ändringen, allt började arbeta.

Vad hände nästa bästa uttrycks som en Haiku dikt:

Problem höja sina händer.
Du swing och miss. Försök igen.
Framgång! Men hur? Varför?

Hon ville inte lämna saker ensam sådär, föredrar att ge de minsta krävs tillstånd (och förmodligen tanke skriver en bloggpost; Jag slog henne till punsch, muhahahahaha!).

Hon bort successiva behörigheter från app pool identitetskontot tills … Det fanns inte längre någon uttrycklig tillåtelse för app pool identitetskontot alls. Webbtjänsten fortsatte att fungera bra.

Vi gick och rebooted servrar. Allt fortsatte att fungera bra.

Så, till resumé: Vi gav den full tillgången till app pool identitet och sedan tog det bort. Webbtjänsten började arbeta och aldrig slutat fungera. Bisarra.

Om någon vet varför det bör ha arbetat, lämna gärna en kommentar.

</slutet>

Technorati Tags: