maandelijkse archieven: Oktober 2007

SharePoint Designer — Aangepaste activiteit uit te voeren user-defined C# functies

UPDATE: Dit is vrijgegeven aan CodePlex hier: http://www.codeplex.com/spdwfextensions

UPDATE: Zie hier voor laatste release notes: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Zie hier voor mijn gedachten over dit project commercialiseren: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dit project biedt een aangepaste activiteit in SharePoint Designer. Gebruik deze aangepaste activiteit om te roepen (verzending) een C#-functie die u in de gekoppelde vergadering opgenomen.

Vanaf eind oktober, 2007, Dit is gewoon een eerste versie van het project. Ik ben van plan uit te breiden met een aantal extra functies, met inbegrip van subtekenreeks, index, vervangen, aanroepen van webservices en iets dat nuttig of interessant lijkt. Ik ben ook van plan om dit bericht te codeplex, zodra ik heb mijn handelen samen op dat front. Dit zal ook inzetbaar als een oplossing op een bepaald punt.

Als u opmerkingen hebt, vragen of suggesties, Laat hen in commentaren of e-mail me.

Disclaimer:

Ik maken absoluut geen aanspraken zijn van de geschiktheid van dit voor elk doel. Gebruik op uw eigen risico.

Installatiestappen (moeten worden gevolgd voor elke WFE in de farm):

1. Download het .zip en haal.

2. Het dll-bestand in de GAC te installeren. Ik open meestal c:\windowsassembly met behulp van windows verkenner en kopie it er.

3. Web.config de vergadering toevoegen aan de veilige besturingselementen wijzigen:

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

<authorizedType vergadering = "SpdGenericInterface, Versie = 1.0.0.0, Cultuur = neutraal, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Gemachtigd = "True" />

4. Kopieer "SpdGenericInterface.actions" tot c:\Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Merk op dat de bovenstaande locatie specifiek voor Engels-installaties is.

5. SharePoint Designer sluiten (Als het al geopend is).

6. iisreset

7. SPD openen en een nieuwe werkstroom maken.

Als alles goed gaat, u moet worden beloond met een nieuwe categorie van de actie:

afbeelding

Notities:

Zie Hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) voor een geweldig overzicht van het proces voor het maken van, installeren en configureren van een oplossing als deze.

De .zip is ontworpen om te pakken direct in je c:\ station. Als u dit doet, u kunt het project openen en alle paden in overeenstemming zal zijn.

Om dit te gebruiken in visual studio, u moet waarschijnlijk installeren "Extensies voor Windows WF".

De eerste upload bevat slechts één "dispatcher functie", "ToLower()". Om meer functionaliteit te voegen, Voeg het toe aan de methode Execute zoals:

 beschermd overschrijven ActivityExecutionStatus
          Uitvoeren(ActivityExecutionContext executionContext)
        {

            tekenreeks functionToDispatch;
            functionToDispatch = Dit.DispatchFunction.ToLower();

            schakelaar (functionToDispatch)
            {
                geval "tolower()":
                    {
                        Dit.OutResult1 = Dit.InParam1.ToLower();
                        pauze;
                    }

                standaard:
                    {
                        Dit.OutResult1 = "Onbekende functie: [" + Dit.DispatchFunction + "].";
                        pauze;
                    }
            }

            terugkeer ActivityExecutionStatus.Gesloten;
        } // ActivityExecutionStatus

    }

Vervolgens, het project weer op te bouwen en de vergadering aan de GAC te kopiëren. Ik verwacht dat een iisreset zouden moeten.

SPD aangepaste werkstroomactie – krijgen de <WorkflowInfo> Label recht om frustratie

Onderdeel van het proces voor het maken van een aangepaste actie voor SharePoint Designer omvat maken een ".actions" bestand.

Ik heb gevonden en probeerde te gebruiken van een voorbeeldsjabloon die als begint:

<?XML Versie="1.0" codering="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Acties Sequentiële="vervolgens" Parallel="en">

Echter, dat kenmerk xmlns voorkomt dat mijn omgeving werken. Mijn acties niet worden weergegeven in de SPD.

De oplossing is te strippen uit het kenmerk xmlns, doen een iisreset en sluiten/heropenen EPD.

Snelle en eenvoudige: Configureren van MOSS als u wilt zoeken naar een specifiek document library

Zie UPDATE (IK) Hieronder (11/24/07) op Het configureren van Microsoft Office SharePoint Server 2007 te indexeren en Crawl netwerkmappen voor zoeken

Doelstelling: Ik wil het uitvoeren van een zoekopdracht beperkt tot een specifieke documentbibliotheek. In dit geval, de documentbibliotheek bevat Trainingsdocumenten.

Stappen:

1. De URL van de documentbibliotheek opnemen.

2. Een scope maken:

Ga naar Centraal beheer.

Toegang tot de SSP.

Ga naar 'Zoekinstellingen '.

Scroll naar beneden naar de sectie toepassingsgebied en selecteer "Bereiken weergeven".

Een nieuwe scope maken. Geef het een naam en beschrijving van het nuttig.

3. Crawl bereikregels definiëren:

Een regel die de documentbibliotheek voor deze scope definieert toevoegen.

Selecteer "webadres" voor "Type bereikregel".

Typ de naam van de map (Zie #1 boven).

Accepteer de standaardwaarde "Opnemen".

Wachten voor de scope om bij te werken (of het handmatig starten).

4. De werkingssfeer in een siteverzameling inschakelen.

Ga naar de siteverzameling waar u wilt deze scope gebruiken.

Uw nieuwe scope toevoegen aan de juiste weergavegroep of groepen.

5. Zoek!

Op dit punt, je bent klaar. Ervan uitgaande dat het toepassingsgebied is goed gedefinieerd, het zal beschikbaar zijn in de scopes drop-downs voor eenvoudige en geavanceerde zoekopdrachten en wanneer u zoekt met behulp van dat bereik, u krijgt uitsluitend resultaten die u verwacht.

Notities:

Ik schreef deze blog entry omdat mijn zoekopdrachten voor eenvoudig bereik setup draaide drogen met behulp van zinnen als:

  • scopes configureren in MOSS
  • Zoek toepassingsgebied moss configureren
  • scopes in sharepoint 2007
  • scopes in sharepoint
  • Zoek een document bibliotheek moss
  • scopes primer moss

U kunt een zoekbereik maken voor een map, niet alleen de hele documentbibliotheek.

Een scope kan worden gedeeld met meerdere siteverzamelingen (Vandaar, een 'shared service").

Kunt u het bereik op het niveau van de siteverzameling zelf. Echter, Ik geef de voorkeur om naar centrale admin omdat ik de verkenning vanaf daar beginnen kan. U kunt de verkenning van de siteverzameling niet starten.

UPDATE (IK) als van 11/24/07:

Kai Shang zetten samen dat een grote post getiteld Het configureren van Microsoft Office SharePoint Server 2007 te indexeren en Crawl netwerkmappen voor zoeken @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Tags: , ,

Geen soep voor u! Is Cisco de Soup Nazi van NLB-producten?

Vandaag, Ik heb geprobeerd om toegang tot een documentbibliotheek via windows verkenner. Deze doc lib leeft binnen een systeem dat uit twee WFE taakverdeling door een soort van Cisco NLB oplossing bestaat. (Als/wanneer vertellen de wizards netwerk me wat het is, Ik zal deze post bijwerken).

Kon geen verbinding met Windows Verkenner. Ik deed wat onderzoek en uiteindelijk, de wizards netwerk zei dat WebDAV wordt onbruikbaar gemaakt door / niet ondersteund door / onder de waardigheid van de NLB.

Dus, ervan uitgaande dat de wizards netwerk niet gewoon vertellen me de netwerk wizard equivalent van "Neem een lange wandeling van een korte brug", Ik heb af te — doet NLB, door de natuur, WebDAV uitschakelen? Wij verliezen onze windows bestand explorer interface naar SharePoint? Cisco is de Soep Nazi?

MOSS beheren / WSS omgevingen — Keeping up met de Microsoft knowledge base

Microsoft maakt kennisbank artikelen dag in en dag uit en een aantal die zijn verdomde belangrijk om te weten over als u in de SharePoint-wereld woont.

Ik houd sneller werken met hen via een service bieden door de goede mensen van www.kbalertz.com. KBAlertz kunt u zich aanmelden voor uw favoriete MS technologie en ze sturen dat u verteren versies van Microsoft KB artikelen via e-mail.

Web Application beleid, Veiligheid Sites en Security Trimming — Weten uw configuratie

(BIJGEWERKT 11/29 om uit te leggen hoe toegang krijgen tot web toepassing beleidsinstellingen via de Gebruikersinterface)

Ik had een van die "waarom MOSS doet dit voor mij????" momenten vandaag. In het einde, het is allemaal mijn schuld.

We hebben een ondernemingsproject MOSS gaande is en we willen "place holder" sites zodat geen enkele gebruiker kan toegang krijgen het tot of Zie het. Dat is gemakkelijk:

  1. Ga naar de site.
  2. Het overnemen van de veiligheid.
  3. Elke gebruiker/groep verwijderen uit sitemachtigingen.

Het bovenstaande moet verlaten alleen een beheerder van de siteverzameling met machtigingen om de site.

Als iemand anders logt in, moeten ze niet langer de site zien en het zou zijn veiligheid-bijgesneden van de gebruikelijke plaatsen.

Maar … het was niet. Op hetzelfde moment, Plotseling realiseer ik me dat mijn "Joe verbruiker" test standaardgebruikersaccount met geen priv dan beperkte leestoegang heeft een "Siteacties" keuze overal waar die hij gaat. Ik dubbele controleren één ding en dubbel te controleren iets anders. Ik pak de telefoon om te bellen van een collega, maar het neer zetten en controleren iets anders. Ik ga voor een wandeling en alles overal opnieuw proberen. Ik bel een collega en laat een bericht achter. En vervolgens, tot slot, Ik vind dat op Ethan van blog, zijn opening grafiek maakt het heel simpel:

MOSS 2007 heeft een nieuwe functie genaamd Web toepassingenbeleid. Dit zijn de beveiligingsmachtigingen dat gekoppeld is aan een Web-applicatie. Deze beveiligingsinstellingen overschrijven elke beveiligingsinstelling die is ingesteld op de Site of siteverzameling (Web) niveau voor die gebruiker.

Een snel bezoek aan web toepassing beleid toont dat NT AuthorityGeverifieerde gebruikers"" Volledige lees had verleend. Ik heb hen uit de lijst verwijderd en alles ten slotte begon te werken zoals verwacht. Ik denk dat ze zijn toegevoegd in de eerste plaats door iemand met de verkeerde indruk dat dat de beste methode om leestoegang te verlenen aan iedereen in de onderneming is. Het doet, maar, om een offerte stam, "Het betekent niet wat u denkt dat het betekent."

Web toepassing toegangsbeleid deze manier:

  1. Ga naar Centraal beheer
  2. Selecteer toepassingen beheren
  3. Selecteer "beleid voor webtoepassing"
  4. Op dat scherm, Zorg ervoor dat u kies de juiste web-applicatie. Voor mij, het in gebreke blijft bij de webtoepassing voor centrale admin die wellicht niet degene die u wilt.

Wanneer mij had zulks werkstuk, Ik zocht naar de volgende zinnen en kreeg verrassend weinig in termen van directe hulp op dit probleem:

Siteacties zichtbaar voor alle gebruikers

Siteacties zichtbaar voor alle gebruikers

Siteacties zijn niet beveiligingsbeperking

beveiligde een MOS-site

moss beveiliging-Inleiding

Technorati Tags:

Snelle en eenvoudige: Gebruik vaste trefwoord Query in Core zoekresultaten

Snelle en eenvoudige instructies:

Een pagina bewerken en toevoegen van een webonderdeel Zoekresultaten Core.

Dat webonderdeel bewerken en uit te breiden "Vaste trefwoord Query".

De fixed keyword query toevoegen (bijvoorbeeld. ContentType:"Training factuur" TrainingInvoiceNumber:1111)

Vouw resultaten Queryopties en "Cross-Web query ID wijzigen" op een andere waarde dan 'gebruiker Query" (bijvoorbeeld. "Query 2").

Notities:

Met behulp van core zoekresultaten op deze manier kon ik een pagina waarin gegevens uit een andere siteverzameling maken. De client heeft twee grote siteverzamelingen: Diensten en producten.

De siteverzameling product bevat, natuurlijk genoeg, productinformatie. Elk product in de siteverzameling aggregaten gegevens uit meerdere bronnen.

Een van de departementen, codes en testen, is op deze bron. Wanneer gebruikers toegang krijgen tot product XYZ, ze moeten zien codes en testgegevens rechtstreeks op de XYZ-Hoofdpagina. Sinds codes en testen wordt gehost in een andere siteverzameling, het is een beetje onhandig. We besloten om te gebruiken het webonderdeel kern zoeken resultaten aangezien Zoek siteverzamelingen omspant. Productgegevens via een aangepaste lijst die is beperkt door een specifiek inhoudstype worden beheerd door codes en testen. AA trefwoord query die gebruikmaakt van eerst het type inhoud en vervolgens het productnummer engte onderaan om te zoeken naar een enkele rij in de aangepaste lijst.

De bovenstaande trefwoord-query is een en. Documenten van inhoud Typ "opleiding factuur is het resultaat" en waar de factuur aantal is gelijk aan "1111".

Een mooi voordeel uit deze aanpak: We kunnen bewerken de XSL vanuit het webonderdeel voor core zoek resultaten en een formaat dat wij willen genereren.

Zie hier (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) voor een andere blogger's discussie over dit onderwerp.

</einde>Abonneren op mijn blog.

Vertel me over uw blog!

Als u een blog dat ten minste minimaal met SharePoint verbonden is, laat het me weten in commentaren. Ik zou graag toevoegen u mijn bloglijst.

Als u een blog die niet is verbonden met SharePoint maar me toch toevoegen wilt handhaven, laat het me weten. Ik zal kunnen maken een aparte bloglijst.

Gelieve te geven:

  • Uw blog URL (Uiteraard)
  • Een korte beschrijving van uw blog.

Ik wil de koppeling behouden om "actieve" Blogs, die ik ben ongeveer definiëren als een post per week en ten minste drie maanden oud. Als u niet voldoet aan deze eis"" Hoe dan ook uw naam toevoegen aan opmerkingen. Er * mijn * lijst, zodat ik mijn eigen regel breken kan als ik wil.

Bedankt!

Werknemer trainingsschema en materialen sjabloon — Decrement bug in het sjabloon

De client merkte een bug vandaag met de hierboven genoemde sjabloon.

Cursus managers maken cursussen. Bij het maken van een cursus, de manager geeft u maximum aantal beschikbare plaatsen.

De sjabloon biedt voor selfservice inschrijving. Ik inschrijven en een werkstroom gekoppeld aan de registratie lijst verlaagt de "beschikbare zitplaatsen" die cursus is gekoppeld.

Individuen kunnen ook uitschrijven uit een cursus. Het insect ligt hier. Unregistering uit een cursus doet niet increment de beschikbare zitplaatsen teller. Als een resultaat, beschikbare zitplaatsen is niet juist. Deze bug is verergerd door het feit dat wanneer beschikbare zitplaatsen verlaagd tot nul, niet meer zelf-registratie is toegestaan.

Gelukkig, Microsoft biedt de werkstroom voor dit proces. Nog beter, het is een straight-forward werkstroom die is gemaakt via SharePoint Designer.

Deze hoog niveau stappen om het te bevestigen:

  1. Vuur opwaarts SDP.
  2. Toegang tot de site op basis van de sjabloon opleiding.
  3. Toegang "deelnemer verwijdering" werkstroom.
  4. Deze stappen invoegen (Ik maakte ze de eerste twee stappen):
    1. Berekenen Cursussen:Gevulde zetels min 1 (Uitvoer naar Variabele:calc)
    2. (vervolgens) Update item in Cursussen

Klik op Voltooien en je bent klaar.

Schermafbeeldingen:


SharePoint Designer:

afbeelding

Afgewerkte werkstroom:

afbeelding

Drill-down berekenen:

afbeelding

Update item in cursussen:

afbeelding

Goed nieuws geven vaak; slecht nieuws vroeg geven

Ik heb een consultant voor een heleboel jaar nu en weet als een ervaren consultant, goede communicatie is een van de belangrijkste pijlers voor de succesvolle levering van een project. Het is zo duidelijk, het is echt bijna saai om te praten over. Dit is een post over generieke communicatie. In plaats daarvan, Ik schrijf over de donkere kant van communicatie — slecht nieuws communiceren.

Het spreekt vanzelf dat het goed nieuws geven naar de client altijd wordt gedaan, zo vaak mogelijk. Wie niet wil geven goed nieuws? Wie niet graag horen goede nieuws?

Aan de andere kant, slecht nieuws is helemaal niet leuk. Ik heb altijd moeite met dit. In de vroegere dagen van mijn carrière, Ik zou weten dat iets mis was met een project en in plaats van het vertellen van de client, Ik zou werken meer uren om te proberen op te lossen het probleem. Ik zou mijn team om harder te werken gelast. Het is een natuurlijke genoeg impuls om te denken dat een super menselijke inspanning kan het opslaan van de dag. Soms werkt dit, soms doet het niet. Zelfs wanneer het "werkt" het is vaak een allegaartje. Is de kwaliteit van het product echt aan spec wanneer belangrijke onderdelen hebben ontwikkeld over meerdere 60 Aan 80 uur weken?

Wat is de beste manier om slechte nieuws? Het antwoord is: het vroeg vertellen. Wacht niet tot een week voordat de projectbegroting zal worden verbruikt. Als u zes weken erop dat weet er gewoon niet genoeg tijd om te leveren sommige bits van beloofde functionaliteit, vertellen de klant recht toen en daar. De client kan boos (waarschijnlijk zal), kan er strafbaarstellingen en beschuldigingen en gevoelens kwetsen. Maar, Wanneer emoties afkoelen, er nog maximaalzesweken links op het project. Zes weken is een goed stuk van de tijd. Er is tijd om plannen, schema's wijzigen, krijgt de bal aan het rollen op begroting extensies (Succes!) en net in het algemeen komen te pakken met de feiten"op de grond" en opstellen van een nieuw plan, dat nog steeds in een succesvol project resulteert.

Zaak in punt: Ik ben bezig met een project gekenmerkt door:

  • T&E begroting met een afgetopte "niet overschrijden" dollarbedrag.
  • Een "beste worden geleverd" belofte te leveren x, Y en z door einde van het project.
  • Gebrek aan beloofde belangrijke bronnen op de clientzijde. Deze middelen werden met opzet niet onthouden, noch voor eventuele slechte"" reden, maar zij werden ingehouden.
  • Een dagende realisatie als het project voorbij het halverwege punt dat we niet zouden gaan om leveren "Z te kunnen" (vooral omdat de toegezegde middelen niet daadwerkelijk beschikbaar waren).
  • Regelmatige statusrapporten en "CYA" documentatie die ons gesteund (het consulting team) omhoog.
  • Strak breien implementatieteam met leden uit de consulting organisatie (mijn bedrijf) en de client.
  • Verre managementteam, in beide een metaforische en fysieke zin. Het managementteam was gericht op een ander grote ondernemingsproject en vanwege ruimtebeperkingen, het implementatieteam werd ondergebracht in een apart gebouw op de campus, een heuvel en relatief ver weg van de "beschaving".

Met ongeveer zes weken verlaten op de projectbegroting van het, Wij (het implementatieteam) wist dat we problemen waren. Het contract zei dat we moesten leveren "Z". Hoewel het project tijd is & materialen en hoewel we beloofd alleen "beste inspanningen" leveren van z en zelfs al hadden we grote rechtvaardiging voor het ontbrekende de levering … de bottom line is dat het was niet op zoek goed — We waren niet leveren z in een shape een kwaliteit die iedereen trots zou maken.

Herkennen van dit, We gingen naar beheer en vertelde hen dat de projectbegroting van het zou worden geconsumeerd door een bepaalde datum en dat we in de problemen met z.

Een mini firestorm uitbrak in de komende paar dagen.

Dag 1: Managementteam roept in haar personeel voor een speciale bijeenkomst (Wij, de consultants zijn niet uitgenodigd). Contracten worden gedrukt en uitgedeeld aan iedereen en een herziening van de lijn door lijn ensues. Beheer zet de medewerkers op het defensief. Ik denk niet dat de zin "Stockholm Syndrome" is * daadwerkelijk * gebruikt, maar je krijgt het beeld. We zijn een hechte groep, Eindelijk, en het personeel heeft met ons samengewerkt consultants dag in en uit voor verscheidene maanden nu.

Dag 2: Beheer roept een andere personeelsvergadering. Ze voelen zich een beetje beter. Ze willen opties en ideeën voor zich vooruit het bewegen. Ze beseffen dat er nog steeds zes weken nog in het huidige projectbudget, die is nog steeds een behoorlijk wat tijd. Een van de actie-items: een vergadering plannen met volledige implementatieteam (inclusief consultants).

Dag 5: Volledig team voldoet aan, constructieve vergadering ontstaat en een nieuwe haalbaar plan ingevoerd. Nog beter, Wij hebben reeds is gaan beraden over fase twee en de client verzoekt ons voorstellen voor die fase onmiddellijk voor te bereiden.

Als we hadden gewacht tot bleef slechts drie weken, of erger nog, een of twee weken, het zou zijn geweest veel verschillende. In plaats van een constructieve vergadering om het project opnieuw uitlijnen, We zouden hebben zijn trekken uit statusrapporten, parseren van het contract en herziening van oude e-mails om te rechtvaardigen dit of dat besluit. We zouden hebben "gewonnen" maar is het echt "winnen" in dit geval?

Dus, Als u wilt geven slecht nieuws, Geef het begin. Slecht nieuws gegeven laat is niet alleen slecht, het is verschrikkelijk.