Månedligt arkiv: Oktober 2007

SharePoint Designer — Brugerdefineret aktivitet at udføre brugerdefinerede C# funktioner

OPDATERING: Dette er blevet udleveret til CodePlex her: http://www.codeplex.com/spdwfextensions

OPDATERING: Se her for seneste produktbemærkninger: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

OPDATERING: Se her for mine tanker om kommercialisering dette projekt: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dette projekt indeholder en brugerdefineret aktivitet i SharePoint Designer. Brug denne brugerdefinerede aktivitet til at påberåbe sig (forsendelse) enhver C#-funktion, du er indarbejdet i den sammenkædede forsamling.

I slutningen af oktober, 2007, Dette er blot en indledende version af projektet. Jeg planlægger at udvide det med en række ekstra funktioner, herunder understreng, indeks, Erstat, påberåbe sig webtjenester og noget, der ser ud til nyttige eller interessante. Jeg planlægger også at skrive dette til codeplex, når jeg har min handle sammen på fronten. Dette vil også være deployerbare som en løsning på et tidspunkt.

Hvis du har kommentarer, spørgsmål eller forslag, venligst forlade dem i kommentarer eller e-mail mig.

Ansvarsfraskrivelse:

Jeg gør absolut ingen krav vedrørende dette egnethed til ethvert formål. Bruge på egen risiko.

Installationstrin (der skal følges ved hver WFE i farmen):

1. Hente .zip og pakke.

2. Installere .dll i GAC. Jeg åbne normalt c:\windowsassembly ved hjælp af windows Stifinder og kopi it der.

3. Ændre web.config for at føje samlingen til de sikre objekter:

<System.workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Assembly = "SpdGenericInterface, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autoriseret = "True" />

4. Kopiere "SpdGenericInterface.actions" til c:\Programmet c:ProgrammerFælles filerMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Bemærk, at denne placering er specifikke for engelsk sprog installationer.

5. Lukke SharePoint Designer (Hvis det er allerede åben).

6. iisreset

7. Åbn SPD, og Opret en ny arbejdsgang.

Hvis alt går vel, du vil blive belønnet med en ny kategori af action:

billede

Noter:

Se Her (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) for en fantastisk overblik over processen til oprettelse af, installation og konfiguration af en løsning på denne.

.zip er designet til at udtrække direkte til dig c:\ kørsel. Hvis du gør dette, Du kan åbne projektet og alle stier vil være i overensstemmelse.

At bruge det i visual studio, du nødt sandsynligvis til at installere "Extensions for Windows WF".

Den oprindelige upload indeholder bare en "togleder funktion", "ToLower()". At tilføje mere funktionalitet, føje det til metoden Execute som vist:

 beskyttet tilsidesætte ActivityExecutionStatus
          Udføre(ActivityExecutionContext executionContext)
        {

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

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

                standard:
                    {
                        Dette.OutResult1 = "Ukendt funktion: [" + Dette.DispatchFunction + "].";
                        pause;
                    }
            }

            tilbagevenden ActivityExecutionStatus.Lukket;
        } // ActivityExecutionStatus

    }

Derefter, genopbygge projektet og kopiere assemblyen til GAC. Jeg forventer en iisreset ville være påkrævet.

SPD Workflow brugerdefineret handling – få den <WorkflowInfo> Tag lige at undgå frustration

En del af processen for at oprette en brugerdefineret handling for SharePoint Designer omfatter opretter et ".actions" fil.

Jeg har fundet og forsøgte at bruge en eksempelskabelon, som starter som:

<?XML version="1.0" kodning="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Handlinger Sekventielle="derefter" Parallel="og">

Dog, attributten xmlns forhindrer mine omgivelser fra arbejde. Mine handlinger dukke ikke op i SPD.

Løsningen er at fratage ud xmlns-attribut, gøre en iisreset og luk/re-åbne SPD.

Hurtig og enkel: Konfigurere mos for at søge et specifikt dokumentbibliotek

Se opdatering (JEG) nedenfor (11/24/07) på Sådan konfigureres Microsoft Office SharePoint Server 2007 til indeks og kravle netværksmapper for søgning

Mål: Jeg ønsker at udføre en søgning begrænset til et bestemt dokumentbibliotek. I dette tilfælde, dokumentbiblioteket indeholder dokumenter, uddannelse.

Trin:

1. Registrere Webadressen til dokumentbiblioteket.

2. Oprette et omfang:

Gå til central administration.

Adgang til skibets sikringsplan.

Gå til "søgeindstillinger".

Rul ned til afsnittet anvendelsesområde og vælge "Vis områder".

Opret et nyt område. Give det et navn og en nyttig beskrivelse.

3. Definere anvendelsesområdet gennemsøgningsreglerne:

Tilføje en regel, der definerer dokumentbibliotek for dette område.

Vælg "web-adresse" for "Rækkevidde regeltype".

Angiv navnet på din mappe (Se #1 ovenfor).

Acceptere standardværdien i "Medtag".

Afvente mulighed for at opdatere (eller starte det manuelt).

4. Aktivere anvendelsesområde i en gruppe af websteder.

Gå til websteder, hvor du vil bruge dette område.

Tilføj din nye rækkevidde til passende visningsgruppe eller grupper.

5. Søg!

På dette punkt, du er færdig. Forudsat at anvendelsesområdet er ordentligt defineret, det vil være tilgængelig i scopes rullemenuer til enkle og avancerede søgninger, og når du søger hjælp af dette omfang, du får lige forventede resultater.

Noter:

Jeg skrev dette blogindlæg, fordi mine søgninger for simple anvendelsesområde setup dukkede op tør bruge udtryk som:

  • konfigurere scopes i MOSS
  • konfigurere søgning anvendelsesområde moss
  • områder i sharepoint 2007
  • områder i sharepoint
  • Søg et dokument bibliotek moss
  • Scopes primer moss

Du kan oprette et søgeområde på en mappe, ikke bare hele dokumentbiblioteket.

Et område kan deles på tværs af flere grupper af websteder (dermed, "shared service").

Du kan oprette omfang på webstedsgruppeniveau, selv. Dog, Jeg foretrækker at gå til central administration, fordi jeg kan starte gennemsøgningen derfra. Du kan ikke starte gennemsøgningen fra gruppen af websteder.

OPDATERING (JEG) som af 11/24/07:

Kai Shang sat sammen en stor post med titlen Sådan konfigureres Microsoft Office SharePoint Server 2007 til indeks og kravle netværksmapper for søgning @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Ingen suppe for dig! Er Cisco suppe nazist af NLB produkter?

I dag, Jeg forsøgte at få adgang til et dokumentbibliotek via windows explorer. Denne doc lib bor inde i et system, der består af to hele Fiskeækvivalenter belastning balanceret af en slags Cisco NLB løsning. (Hvis/når fortælle netværk guider mig hvad det er, Jeg opdaterer denne post).

Windows explorer kunne ikke oprette forbindelse. Jeg gjorde nogle forskning og til sidst, netværk guiderne sagde WebDAV er deaktiveret af / ikke understøttes af / under NLB værdighed.

Så, forudsat at guiderne i netværk er ikke bare fortæller mig, netværk wizard svarende til "tage en lang gåtur ud fra et kort bro", Jeg nødt til at spørge — gør NLB, af natur, deaktivere WebDAV? Mister vi vores windows fil explorer interface til SharePoint? Er Cisco den Suppe nazist?

Administration af MOSS / WSS miljøer — at holde op med Microsofts knowledge base

Microsoft opretter vidensbase artikler dag i og dag ud, og nogle af dem er darned vigtigt at vide om, hvis du bor i verdens SharePoint.

Jeg holder op i fart med dem via en service levere ved de gode folk på www.kbalertz.com. KBAlertz gør det muligt for dig at tilmelde dig til din favorit MS teknologi og de sende dig fordøje versioner af Microsoft KB artikler via e-mail.

Web Application politik, Sikkerhed websteder og sikkerhed afpudsning — Ved din konfiguration

(OPDATERET 11/29 at forklare hvor hen til adgang web application politikindstillinger via UI)

Jeg havde en af dem, "Hvorfor er MOSS gør dette for mig????" øjeblikke i dag. I sidste ende, Det er min skyld.

Vi har en enterprise MOSS projekt foregår og vi ønsker at sikre "sted indehaveren" anlægsområder, så ingen bruger kan få adgang til det eller se det. Det er let:

  1. Gå til webstedet.
  2. Bryde arven fra sikkerhed.
  3. Fjern hver brugergruppe fra webstedstilladelser.

Ovenstående bør forlade bare site collection administrator med tilladelse til at se webstedet.

Hvis nogen anden logger, de bør ikke længere på webstedet og det bør være sikkerhed-trimmet fra alle de sædvanlige steder.

Men … Det var ikke. På samme tid, Jeg pludselig indser, at min "Joe bruger" standardbrugerkonto til test med ingen priv end begrænset læseadgang har en "Webstedshandlinger" valg overalt han går. Jeg dobbelt tjekke én ting og dobbelt tjek noget andet. Jeg tage telefonen at ringe til en kollega, men sætte det ned og find noget andet. Jeg går en tur og prøve alt over det hele igen. Jeg kalder en kollega og efterlade en besked. Og derefter, Endelig, Jeg finder det på Ethan's blog, hans åbning graf gør det ganske simpelt:

MOSS 2007 har en ny funktion kaldet Web Application politikker. Disse er de sikkerhedstilladelser, der er knyttet til et webprogram. Disse indstillinger tilsidesætter eventuelle sikkerhedsindstilling, der er angivet på den gruppe af websteder eller et websted (Web) plan for at bruger.

Et hurtigt besøg web application politikker viser at "NT Authorityauthenticated users" havde fået fuld læse. Jeg fjernede dem fra listen og alt endelig begyndte at arbejde som forventet. Jeg tror, de blev tilføjet i første omgang af en person med det fejlagtige indtryk, at det er bedste metode til at give læseadgang til alle i virksomheden. Det gør, Men, at belaste et tilbud, "Det betyder ikke, hvad du tror, det betyder."

Adgang web application politikker på denne måde:

  1. Gå til Central Administration
  2. Vælg programadministration
  3. Vælg "politik for webprogram"
  4. På, at skærmen, Sørg for at du vælge det rigtige webprogram. For mig, det som standard web-applikation i central administration, som ikke kan det, du vil.

Da jeg havde dette problem, Jeg søgte efter følgende påtegninger og fik overraskende lidt med hensyn til direkte hjælp på dette spørgsmål:

Webstedshandlinger synlige for alle brugere

Webstedshandlinger synlige for alle brugere

Webstedshandlinger er ikke sikkerhed trimmet

sikkert en Mos websted

Introduktion til moss sikkerhed

Technorati Tags:

Hurtig og enkel: Brug fast nøgleordet forespørgsel i Core søgeresultater

Hurtig og enkel instruktioner:

Redigere en side og føje webdelen Core søgeresultater.

Redigere denne webdel og udvid "Fast nøgleordet forespørgsel".

Tilføje forespørgslen fast nøgleord (strømsparetilstand. ContentType:"Uddannelse faktura" TrainingInvoiceNumber:1111)

Udvid resultater forespørgselsindstillinger og ændre "Cross-Web del forespørgsels-ID" til en anden værdi end "brugerforespørgsel" (strømsparetilstand. "Forespørgsel 2").

Noter:

Ved hjælp af core søgeresultater på denne måde tillod mig for at oprette en side, der viser oplysninger fra en anden gruppe af websteder. Klienten har to store grupper af websteder: Afdelinger og produkter.

Samlingen produkt websted indeholder, naturligt nok, produktinformation. Hvert produkt i webstedsgruppen aggregater data fra flere kilder.

En af afdelingerne, koder og prøvning, er på sådan kilde. Når brugere får adgang til produktet XYZ, de bør se koder og testdata direkte på XYZ-forsiden. Siden koder og test er hostet i en anden gruppe af websteder, Det er lidt akavet. Vi besluttede at bruge webdelen core Søg Resultater siden Søg spænder over websteder. Koder og test administrerer produktdata via en brugerdefineret liste, der er begrænset af en bestemt indholdstype. AA søgeord forespørgsel, der anvender først den indholdstype og så indsnævre søgningen til en enkelt række produktnummer på listen Brugerdefineret.

Nøgleordet forespørgslen ovenstående er en AND. Det returnerer dokumenter af indhold type "uddannelse faktura" og hvor fakturanummeret lig med "1111".

En nice fordel fra denne tilgang: Vi kan redigere XSL-koden fra søgning webdelen Kerneresultater og generere alle-format, vi vil.

Se her (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) for en anden blogger diskussion om dette emne.

</slutningen>Abonner på min blog.

Fortæl mig om din blog!

Hvis du vedligeholder en blog, der er i det mindste minimalt forbundet til SharePoint, Lad mig vide i kommentarerne. Jeg ville elske at tilføje dig til min blogliste.

Hvis du vedligeholder en blog, der ikke har forbindelse til SharePoint, men jeg ønsker at tilføje det alligevel, Lad mig det vide. Jeg kan oprette en separat blogliste.

Giv:

  • Din blog URL (naturligvis)
  • En kort beskrivelse af din blog.

Jeg ønsker at beholde forbindelsen til "aktiv" Blogs, der groft definerer som én post pr. uge og minimum tre måneder gammel. Hvis du ikke opfylder dette "krav" tilføje dit navn til kommentarer alligevel. Det er * min * liste så jeg kan bryde min egen regel, hvis jeg ønsker at.

Tak!

Medarbejder træningsskema og materialer skabelon — Sænk bug i skabelonen

Klienten bemærket en bug i dag med den ovenfor nævnte skabelon.

Kursus ledere Opret kurser. Når du opretter et kursus, manager angiver maksimumantallet af tilgængelige pladser.

Skabelonen indeholder for selvbetjening tilmelding. Jeg har tilmeldt og en arbejdsproces knyttet til registrering liste formindsker pladser"" knyttet til kurset.

Enkeltpersoner kan også afmelde dig et kursus. Fejlen ligger her. Fjernelse af registreringen af et kursus forøge ikke tælleren ledige pladser. Som et resultat, ledige pladser er ikke nøjagtig. Denne fejl er forværret af faktum at når ledige pladser formindsker til nul, ikke mere selvbetjening registrering er tilladt.

Heldigvis, Microsoft giver arbejdsprocessen for denne proces. Endnu bedre, Det er en straight-forward arbejdsproces skabt via SharePoint Designer.

Følg disse højt trin for at ordne det:

  1. Fyre op SDP.
  2. Adgang til webstedet baseret off skabelonen uddannelse.
  3. Få adgang til "deltager framelding" arbejdsproces.
  4. Indsæt disse trin (Jeg lavede dem de første to trin):
    1. Beregne Kurser:Fyldte sæder minus 1 (Output til Variabel:Calc)
    2. (derefter) Opdatering element i Kurser

Klik på Udfør, og du er færdig.

Skærmbilleder:


SharePoint Designer:

billede

Færdige arbejdsproces:

billede

Beregne drill-down:

billede

Opdatering element i kurser:

billede

Give gode nyheder ofte; give dårlige nyheder tidligt

Jeg har været konsulent for mange år nu, og som enhver erfaren konsulent ved, god kommunikation er en af de centrale søjler til vellykket levering af et projekt. Det er så indlysende, Det er virkelig næsten kedeligt at tale om. Dette er ikke et indlæg om generisk kommunikation. I stedet, Jeg skriver om den mørkere side af kommunikation — kommunikere dårlige nyheder.

Det er en selvfølge at give gode nyheder til klienten er gjort hele tiden, så ofte som muligt. Hvem ønsker ikke at give gode nyheder? Hvem kan ikke lide at høre gode nyheder?

På bagsiden, dårlige nyheder er ikke sjovt på alle. Jeg har altid kæmpet med dette. I de tidligere dage af min karriere, Jeg ville vide var noget galt med et projekt og i stedet for fortælle kunden, Jeg vil arbejde overtid for at forsøge at løse problemet. Jeg ville holde i skak mit hold til at arbejde hårdere. Det er en naturlig nok impuls til at tænke, at en super-menneskelige indsats kan redde dagen. Nogle gange virker det, nogle gange det ikke. Selv når det "virker" Det er ofte en blandet landhandel. Er kvaliteten af leverancen virkelig op til spec når centrale dele er blevet udviklet over flere 60 til 80 time uger?

Hvad er den bedste måde at håndtere dårlige nyheder? Svaret er: fortælle det tidligt. Må ikke vente indtil en uge før projektets budget vil blive forbrugt. Hvis du kender seks uger, at der simpelthen ikke tid nok til at levere nogle bit lovede funktionalitet, fortælle kunden lige der. Klienten kan blive ked af det (sandsynligvis vil), der kan være strafbart og beskyldninger og såre følelser. Men, Når følelser køle af, der er stadig seks uger tilbage på projektet. Seks uger er en god luns af tid. Der er tid til at justere planer, ændre tidsplaner, få bolden op på budgettet udvidelser (Held og lykke!) og bare generelt tage livtag med "fakta om jorden" og udarbejde en ny plan, der stadig resulterer i et vellykket projekt.

Sag i punkt: Jeg arbejder på et projekt, der er karakteriseret ved:

  • T&E budget med et loft "ikke at overstige" dollar beløb.
  • En "bedste bestræbelser vil blive gjort" love at levere X, Y og Z ved projektets afslutning.
  • Manglende lovede nøgleressourcer på klientsiden. Disse midler blev ikke tilbageholdt med vilje, heller ikke for nogen "dårlige" grund, men de blev tilbageholdt.
  • En gryende erkendelse som projektet bestået den halvvejs, at vi ikke ville være i stand til at levere "Z" (hovedsageligt fordi de lovede midler ikke var faktisk tilgængelige).
  • Regelmæssige statusrapporter og "CYA" dokumentation, der støttede os (den konsulterende team) op.
  • Stramt strikke implementering team med medlemmer fra den konsulterende organisation (min virksomhed) og klienten.
  • Fjern ledelsesteam, i en fysisk forstand, metaforisk. Ledelsen fokuserede på en anden stor virksomhedsprojekt og på grund af pladsproblemer, implementeringsgruppen havde til huse i en separat bygning på campus, ned en hill og relativt langt fra "civilisation".

Med omkring seks uger tilbage på projektbudgettet, Vi (implementeringsgruppen) vidste, at vi var problemer med. Kontrakten sagde at vi skulle levere "Z". Selvom projektet er tid & materialer og selvom vi kun lovet "bedste bestræbelser" at levere Z og selv om vi havde stor begrundelse for manglende levering … den nederste linje er, at det ikke var ser godt ud — Vi var ikke til at levere Z i en figur en kvalitet, der ville gøre nogen stolt.

Anerkendelse af dette, Vi gik til forvaltning og fortalte dem, at projektets budget ville blive indtaget af en bestemt dato, og at vi var i problemer med Z.

En mini firestorm brød ud over de næste par dage.

Dag 1: Ledelsesteam kræver i sit personale for et særligt møde (Vi, Konsulenterne er ikke inviteret). Kontrakter er trykt og udleveres til alle og en linje for linje anmeldelse ensues. Ledelsen sætter medarbejderne i defensiven. Jeg tror ikke udtrykket "Stockholm-syndrom" er * faktisk * bruges, men du får billedet. Vi er en stram-strikke gruppe, Efter alt, og personalet har arbejdet med os konsulenter dag ind og ud i flere måneder nu.

Dag 2: Ledelse kræver et andet personalemøde. De føler sig lidt bedre. De ønsker muligheder og ideer til den videre. De er klar over der er stadig seks uger tilbage i det aktuelle projektbudget, der er stadig en anstændig lidt tid. En af action-genstande: planlægge et møde med fuld implementering team (herunder konsulenter).

Dag 5: Hele holdet mødes, konstruktivt møde ensues og en ny opnåelige plan indført. Endnu bedre, Vi har allerede begyndt at diskutere fase to og klienten opfordrer os til at forberede forslag til denne fase umiddelbart.

Hvis vi havde ventet indtil forblev bare tre uger, eller endnu værre, en eller to uger, Det ville have været meget anderledes. I stedet for et konstruktivt møde til at tilpasse projektet, Vi ville have været at trække ud statusrapporter, parsing kontrakten og gennemgang af gamle emails for at retfærdiggøre dette og afgørelsen. Vi ønsker ved at have "vundet" men er det virkelig "at vinde" i dette tilfælde?

Så, Hvis du er nødt til at give dårlige nyheder, give det tidligt. Dårlige nyheder sent i betragtning ikke bare dårligt, Det er forfærdeligt.