Månedlige Arkiver: Oktober 2007

SharePoint Designer — Egendefinerte aktiviteten utføres brukerdefinerte C# funksjoner

OPPDATERINGEN: Dette er blitt befridd å CodePlex her: http://www.codeplex.com/spdwfextensions

OPPDATERINGEN: Se her for seneste produktmerknadene: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

OPPDATERINGEN: Se her for mine tanker om å kommersialisere dette prosjektet: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dette prosjektet inneholder en egendefinert aktivitet i SharePoint Designer. Bruk denne egendefinerte aktiviteten starte (utsending) en C#-funksjon som du innlemmet i samlingen koblet.

Som i slutten av oktober, 2007, Dette er bare en første versjon av prosjektet. Jeg planlegger å utvide det med en rekke tilleggsfunksjoner, inkludert delstreng, index, Erstatt, bruke webtjenester, og alt som synes nyttig eller interessant. Jeg har også tenkt å legge dette til codeplex når jeg har min handle sammen på den fronten. Dette vil også være deployerbare som en løsning på et tidspunkt.

Hvis du har noen kommentarer, spørsmål eller forslag, Vennligst la dem i kommentarer eller email meg.

Ansvarsfraskrivelse:

Jeg gjør absolutt ikke krav om egnetheten av denne til formål. Bruk på eget ansvar.

Installasjonstrinnene (å bli fulgt for hver WFE i farmen):

1. Last ned zip og pakk.

2. Installere dll i GAC. Jeg åpne vanligvis c:\windowsassembly med windows Utforsker og kopiere det der.

3. Endre web.config for å legge til samlingen sikker kontrollene:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType montering = "SpdGenericInterface, Versjon = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorisert = "True" />

4. Kopiere "SpdGenericInterface.actions" c:\Programmet FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Merk at plasseringen ovenfor gjelder engelsk installasjoner.

5. Lukk SharePoint Designer (Hvis det er åpent).

6. iisreset

7. Åpne SPD og opprette en ny arbeidsflyt.

Hvis alt går bra, du burde bli belønnet med en ny kategori av handlingen:

bilde

Notater:

Se her (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) for en fantastisk oversikt over prosessen for oppretting, installere og konfigurere en løsning som dette.

Zip er utformet for å trekke ut direkte til deg c:\ stasjon. Hvis du gjør dette, Du kan åpne prosjektet og alle banene blir konsekvent.

Bruke dette i visual studio, du nød sannsynligvis å installere "Utvidelser for Windows WF".

Første opplasting inneholder bare én "dispatcher funksjon", "ToLower()". Legge til mer funksjonalitet, legge det til Execute-metoden som vist:

 beskyttet overstyre ActivityExecutionStatus
          Kjøre(ActivityExecutionContext executionContext)
        {

            streng functionToDispatch;
            functionToDispatch = Dette.DispatchFunction.ToLower();

            bytte (functionToDispatch)
            {
                saken "tolower()":
                    {
                        Dette.OutResult1 = Dette.InParam1.ToLower();
                        pause;
                    }

                standard:
                    {
                        Dette.OutResult1 = "Ukjent funksjon: [" + Dette.DispatchFunction + "].";
                        pause;
                    }
            }

            avkastning ActivityExecutionStatus.Stengt;
        } // ActivityExecutionStatus

    }

Deretter, bygge prosjektet på nytt og kopiere samlingen til GAC. Jeg forventer en iisreset ville være nødvendig.

Egendefinert handling for SPD-arbeidsflyt – få den <WorkflowInfo> koden rett til å unngå frustrasjon

En del av prosessen for å opprette en egendefinert handling for SharePoint Designer involverer lage en ".actions" fil.

Jeg har funnet og prøvde å bruke en eksempelmal som starter av som:

<?XML versjon="1.0" koding="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Handlinger Sekvensiell="deretter" Parallell="og">

Men, attributtet xmlns hindrer miljøet mitt fungerer. Mine handlinger vises ikke i SPD.

Løsningen er å fjerne attributtet xmlns, gjøre en iisreset og Lukk/re-open SPD.

Rask og enkel: Konfigurere MOSS å søke et bestemt dokumentbibliotek

Se oppdatere (JEG) under (11/24/07) på Hvordan du konfigurerer Microsoft Office SharePoint Server 2007 til indekserings- og nettverksmapper for kravlesøk for søk

Målsetting: Jeg vil utføre et søk som er begrenset til et bestemt dokumentbibliotek. I dette tilfellet, dokumentbiblioteket inneholder opplæringsdokumenter.

Trinn:

1. Spille inn URL-Adressen til dokumentbiblioteket.

2. Opprette et område:

Gå til Sentraladministrasjon.

Tilgang SSPEN.

Gå til "Søke innfatningene".

Bla til definisjonsområde og velg "Vis omfang".

Opprette et nytt omfang. Gi det et navn og nyttig beskrivelse.

3. Definere omfanget kravlesøkregler:

Legge til en regel som definerer dokumentbiblioteket for dette området.

Velg "web-adresse" for "Type omfangsregel".

Angi navnet på mappen (se #1 ovenfor).

Godta standardverdien for "Inkluder".

Vente på omfanget oppdatere (eller starte det manuelt).

4. Aktiver området i en områdesamling.

Gå til området der du vil bruke dette omfanget.

Legge til nye omfanget egnede vise gruppen eller gruppene.

5. Søk!

På dette punktet, du er ferdig. Forutsatt at omfanget er riktig definert, det vil være tilgjengelig i rullegardinlistene områder for enkel og avansert søk, og når du søker med at omfanget, du får resultatene du forventer.

Notater:

Jeg skrev dette blogginnlegget fordi etter enkle omfang installasjonsprogrammet dukket opp tørke med setninger som:

  • konfigurere omfang i MOSS
  • konfigurere søk omfang moss
  • områder i sharepoint 2007
  • områder i sharepoint
  • søke en dokumentet bibliotek moss
  • omfang primer moss

Du kan opprette et søkeomfang for en mappe, ikke bare for hele dokumentbiblioteket.

Et område kan deles over flere områdesamlinger (dermed, en "delt tjeneste").

Du kan opprette området på områdesamlingsnivå selv. Men, Jeg foretrekker å gå til Sentraladministrasjon fordi jeg kan starte kravlesøket fra der. Du kan ikke starte kravlesøket fra områdesamlingen.

OPPDATERINGEN (JEG) som 11/24/07:

Kai Shang satt sammen en stor post rett Hvordan du konfigurerer Microsoft Office SharePoint Server 2007 til indekserings- og nettverksmapper for kravlesøk for søk @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Merkelapper: , ,

Ingen suppe for deg! Er Cisco suppe Nazi NLB-produkter?

I dag, Jeg prøvde å få tilgang til et dokumentbibliotek via windows Utforsker. Dette doc lib bor innenfor et system som består av to WFE belastningsfordeles av en slags Cisco NLB løsning. (Hvis/når fortelle de er network wizards meg hva det er, Jeg vil oppdatere dette innlegget).

Windows Utforsker kan ikke koble. Jeg gjorde noen undersøkelser og til slutt, veiviseren nettverk sa at WebDAV er deaktivert av / ikke støttes av / under verdighet NLB.

Så, antar nettverket veiviserne ikke bare forteller meg nettverk veiviseren tilsvarende "ta en lang tur på en kort bro", Jeg må undres — gjør NLB, av natur, deaktivere WebDAV? Vi miste vår windows fil Utforsker grensesnitt til SharePoint? Er Cisco det Soup Nazi?

Administrere MOSS / WSS-miljøer — holde opp med Microsofts knowledge base

Microsoft oppretter kunnskapsbase artikler dag og dag og noen av dem er darned viktig å vite om hvis du bor i SharePoint verden.

Jeg oppbevare oppdatert med dem via en tjeneste ved gode folk på www.kbalertz.com. KBAlertz kan du registrere dine favoritt MS-teknologi og de sender du fordøye versjoner av Microsoft KB-artikler via e-post.

Web Application-Policy, Sikkerhet nettsteder og sikkerhet beskjæring — Vet konfigurasjonen

(OPPDATERT 11/29 å forklare hvordan du får tilgang til innstillinger for web-policyen via Grensesnittet)

Jeg hadde en av de "Hvorfor MOSS gjør dette til meg????" øyeblikk i dag. Til slutt, Det er bare min feil.

Vi har et virksomhetsprosjekt-MOSE skjer, og vi ønsker å sikre en "plass-holder" nettsteder slik at ingen kan få tilgang til den eller se det.. Det er enkelt:

  1. Gå til webområdet.
  2. Bryte sikkerhet arven.
  3. Fjerne alle bruker/gruppe fra områdetillatelser.

Ovenfor bør forlate bare administratoren for områdesamlingen med tillatelse til å se området.

Hvis noen andre logger på, de bør ikke lenger se området og det bør være sikkerhet-trimmet fra alle de vanlige stedene.

men … Det var ikke. På samme tid, Jeg plutselig innser at min "Joe bruker" standard brukerkonto test med ingen priv's enn begrenset lesetilgang har en "Områdehandlinger" valg overalt han drar. Jeg dobbelt sjekke en ting og dobbeltsjekke noe annet. Jeg plukker opp telefonen å ringe en kollega, men sette det ned og sjekk noe annet. Jeg gå en tur og prøve alt over atter. Jeg kaller en kollega og legge igjen en beskjed. Og deretter, Endelig, Jeg finner at Ethans blogg, hans åpning graf gjør det ganske enkelt:

MOSS 2007 har en ny funksjon kalt Web programpolicyer. Dette er tillatelser som er knyttet til et webprogram. Disse sikkerhetsinnstillingene overstyre alle innstillingen som er angitt på områdesamlingen eller område (Web) nivå for brukeren.

Et raskt besøk på web søknad politikk viser at "NT Authorityauthenticated brukere" hadde fått Full lesing. Jeg fjernet dem fra listen og alt til slutt begynte å jobbe som forventet. Jeg tror de ble lagt i utgangspunktet av noen med feilaktig inntrykk av at det er beste måten å gi lesetilgang til alle i bedriften. Det gjør, men, å stamme et tilbud, "Det betyr ikke det du tror det betyr."

Tilgang web programpolicyer denne måten:

  1. Gå til Sentraladministrasjon
  2. Velg webprogram
  3. Velg "Policy for webprogram"
  4. På skjermen, Kontroller at du velger riktig webprogrammet. For meg, det standard webprogrammet for sentraladministrasjon som ikke nødvendigvis du.

Når jeg hadde dette problemet, Jeg søkte på følgende setninger og fikk overraskende lite i form av direkte hjelp i denne saken:

Områdehandlinger synlig for alle brukere

Områdehandlinger synlige for alle brukere

Områdehandlinger er ikke optimal sikkerhet

sikre et MOSS nettsted

innføring i moss sikkerhet

Technorati Merkelapper:

Rask og enkel: Bruk fast søkeordet i søkeresultatene Core

Raske og enkle instruksjonene:

Redigere en side og legger til en webdel for Core søkeresultater.

Redigere denne webdelen og utvide "Fast søkeordet".

Legge til fast søkeordet (f.eks. ContentType:"Trening faktura" TrainingInvoiceNumber:1111)

Utvid Spørringsalternativer for resultater og endre "på alle webområder del forespørsels-ID" til en annen verdi enn "brukeren søker" (f.eks. "Query 2").

Notater:

Bruker kjernen søkeresultater på denne måten tillatt meg for å opprette en side som viser informasjon fra en annen områdesamling. Klienten har to store områdesamlinger: Avdelinger og produkter.

Områdesamlingen produktet inneholder, naturlig nok, produktinformasjon. Hvert produkt i områdesamlingen samler data fra flere kilder.

En av avdelingene, koder og testing, er slikt kilde. Når brukere åpner produktet XYZ, de bør se koder og tester data direkte på XYZ hovedsiden. Siden koder og testing er lagret i en annen områdesamling, Det er litt vanskelig. Vi besluttet å bruke webdelen for kjernen søke resultater siden søket strekker seg over områdesamlinger. Koder og Testing klarer produktdata via en egendefinert liste som er begrenset av en bestemt innholdstype. AA søkeordet som bruker første innholdstypen og produktnummeret begrense søket til en enkelt rad i den egendefinerte listen.

Søkeordet ovenfor er en og. Den returnerer dokumenter innhold type "trening faktura" og der fakturanummeret er lik "1111".

En fin nytte fra denne tilnærmingen: Vi kan redigere XSL-koden fra den kjernen søkeresultater-webdelen og generere alle formater som vi ønsker.

Se her (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) for en annen blogger diskusjon om dette emnet.

</slutten>Abonner på bloggen min.

Fortell meg om din blogg!

Hvis du vedlikeholder en blogg som er minst minimal koblet til SharePoint, behage utleie meg vite i kommentarer. Jeg vil gjerne legge deg til min bloggliste.

Hvis du vedlikeholder en blogg som ikke er koblet til SharePoint, men vil at jeg skal legge det til likevel, gi meg beskjed. Jeg vil kanskje lage en egen bloggliste.

Vennligst gi:

  • Bloggen din URL (åpenbart)
  • En kort beskrivelse av bloggen din.

Jeg vil beholde koblingen til "aktiv" Blogger, som jeg er omtrent definere som ett innlegg per uke og minimum tre måneder gammel. Hvis du ikke oppfyller dette "behovet" legge til kommentarer uansett. Har * min * så jeg kan bryte min egen regel hvis jeg vil.

takk!

Kurskalender for ansatte og materialer-mal — Senk feil i malen

Klienten oppdaget en feil i dag med ovennevnte malen.

Kurset ledere lage kurs. Når du oppretter et kurs, angir maksimalt antall tilgjengelige plasser lederen.

Malen gir selvbetjent brukerregistrering. Jeg registrerer og en arbeidsflyt som er knyttet til registrering listen reduserer "tilgjengelig sitteplasser" forbundet med det selvfølgelig.

Enkeltpersoner kan også avregistrere deg fra et kurs. Feilen ligger her. Avregistrere fra et kurs øker ikke ledige plasser telleren. Som et resultat, ledige plasser er ikke nøyaktig. Denne feilen er forsterket av faktum at når ledige plasser reduserer til null, Ingen flere selvbetjent registrering er tillatt.

Heldigvis, Microsoft tilbyr arbeidsflyten for denne prosessen. Enda bedre, Det er en rett frem arbeidsflyt som er opprettet via SharePoint Designer.

Gjør følgende høyt nivå for å fikse det:

  1. Brann opp SDP.
  2. Tilgang til webområde basert på malen trening.
  3. Tilgang "Avregistrering av-deltaker" arbeidsflyt.
  4. Sett inn denne fremgangsmåten (Jeg gjort dem de to første trinnene):
    1. Beregne Kurs:Fylt seter minus 1 (Utdata til Variabel:calc)
    2. (deretter) Oppdateringen element i Kurs

Klikk Fullfør og du er ferdig.

Skjermbilder:


SharePoint Designer:

bilde

Ferdig med arbeidsflyt:

bilde

Beregne drill-down:

bilde

Oppdateringen element i kurs:

bilde

Gi gode nyheter ofte; gi dårlige nyheter tidlig

Jeg har vært konsulent for mange år nå, og som noen erfarne konsulent vet, god kommunikasjon er en av hovedpilarene til vellykket levering av et prosjekt. Det er så åpenbart, Det er virkelig nesten kjedelig å snakke om. Dette er ikke et innlegg om generisk kommunikasjon. I stedet, Jeg skriver om den mørkere siden av kommunikasjon — formidle dårlige nyheter.

Selvfølge at gir gode nyheter til klienten er gjort hele tiden, så ofte som mulig. Som ikke ønsker å gi gode nyheter? Hvem liker ikke å høre gode nyheter?

På baksiden, dårlige nyheter er ikke morsomt i det hele tatt. Jeg har alltid slitt med dette. I de tidligere dagene av min karriere, Jeg ville vite noe var forkjært et prosjekt og stedet for forteller klienten, Jeg ville jobbe lenger timer å prøve og løse problemet. Jeg ville pålegge mitt team jobbe hardere. Det er en naturlig nok impuls å tenke at en super menneskelig innsats kan redde dagen. Noen ganger fungerer dette, noen ganger det ikke. Selv når det "fungerer" Det er ofte en blandet bag. Er kvaliteten på leveringen virkelig opp til spec når viktige deler har blitt utviklet over flere 60 til 80 Time uker?

Hva er den beste måten å håndtere dårlige nyheter? Svaret er: fortelle det tidlig. Ikke vent til en uke før budsjettet brukes. Hvis du vet seks uker ut at det bare ikke nok tid til å levere noen litt lovet funksjonalitet, Be klienten der. Klienten kan bli opprørt (sannsynligvis), Det kan være incriminations og beskyldninger og såre følelser. men, Når følelser kjøle, Det er fortsatt seks uker igjen på prosjektet. Seks uker er en god del tid. Det er tid å justere planer, endre planene, få ballen rullende på budsjettet utvidelser (Lykke til!) og bare generelt komme til tak med "fakta på bakken" og en ny plan som fortsatt gir et vellykket prosjekt.

Case in point: Jeg arbeider på et prosjekt som er preget av:

  • T&E budsjett med en avkortet "ikke overstige" pengebeløp.
  • En "beste innsatsen vil bli gjort" Love å levere X, Y og Z prosjektets slutten.
  • Mangel på lovet nøkkelressursene på klientsiden. Disse ressursene ble ikke holdt tilbake med vilje, heller ikke for noen "dårlig" grunn, men de ble holdt tilbake.
  • En gryende realisering som prosjektet gikk det halvveis punktet at vi ikke skulle kunne levere "Z" (hovedsakelig fordi de lovede ressursene ikke var faktisk tilgjengelig).
  • Regelmessige statusrapporter og "CYA" dokumentasjonen som støttet oss (det konsulterende laget) opp.
  • Tett strikke gjennomføring lag med medlemmer fra rådgivning organisasjonen (Min selskapet) og klienten.
  • Fjern ledelse, i begge en metaforisk og fysisk følelse. Ledelsen var fokusert på en annen stor virksomhetsprosjekt og på grunn av plassbegrensninger, gjennomføring laget ble plassert i en separat bygning på campus, ned en bakke og relativt langt vei fra "sivilisasjonen".

Med omtrent seks uker igjen på budsjettet, Vi (gjennomføring laget) visste at vi var problemer. Kontrakten sa at vi måtte levere "Z". Selv om prosjektet er tid & materialer og selv om vi bare lovet "beste innsats" å levere Z og selv om vi hadde stor begrunnelse for manglende levering … Poenget er at det ikke ser bra — vi skulle ikke levere Z i form en kvalitet som gjør alle stolte.

Erkjenner dette, Vi gikk til ledelsen og fortalte dem at budsjettet ville bli fortært av en bestemt dato, og at vi var i trøbbel med Z.

En mini firestorm brøt ut over de neste dagene.

Dag 1: Ledelsen samtaler i sine ansatte for et ekstraordinært møte (Vi, konsulentene ikke er invitert). Kontrakter skrives ut og deles ut til alle og en line-by-line gjennomgang følger. Management setter personalet på defensiven. Jeg tror ikke uttrykket "Stockholm-syndrom" er * faktisk * brukes, men du får bildet. Vi er en tett sammensveiset gruppe, når alt kommer til alt, og ansatte har jobbet med oss konsulenter dag ut i flere måneder nå.

Dag 2: Ledelse kaller en annen stabsmøte. De føler litt bedre. De ønsker alternativer og ideer for fremover. De innser det er fortsatt seks uker igjen i det gjeldende prosjektbudsjettet, som er fortsatt en anstendig litt tid. En av gjøremål: planlegge et møte med full gjennomføring team (inkludert konsulenter).

Dag 5: Hele teamet møtes, følger konstruktiv møte og en ny oppnåelig plan satt på plass. Enda bedre, Vi har allerede begynt å diskutere fase to og klienten inviterer oss til å utarbeide forslag for den fasen umiddelbart.

Hvis vi hadde ventet til bare tre uker igjen, eller enda verre, én eller to uker, det ville ha vært mye annerledes. I stedet for en konstruktiv møte å re-align prosjektet, Vi ville ha blitt trekke ut statusrapporter, analyse av kontrakten og gjennom gamle e-poster for å rettferdiggjøre dette eller at beslutningen. Vi ville "vunnet" men det virkelig "vinner" i dette tilfellet?

Så, Hvis du har å gi dårlige nyheter, gi det tidlig. Dårlige nyheter gitt sent er ikke bare dårlig, Det er forferdelig.