SPD aangepaste workflow-acties — string manipulatie verbeteringen

Ongeveer een week geleden, Ik begon een codeplex project dat een eenvoudige en redelijk algemene methode biedt voor het toevoegen van aangepaste actie functies aan SharePoit Designer workflow. Hier wordt beschreven: http://www.codeplex.com/spdwfextensions. Dan gewoon die een kader bieden:, het beoogt eveneens te voorzien in een reeks van nuttige functies die zal EPD nuttig/flexibele/krachtiger.

Hier zijn de huidige geplande functies voor versie 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Als iemand belang bij dit project heeft, laat een reactie of start/toevoegen aan een discussie hier: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hier zijn de huidige set van functies die hebben gecodeerd (Hoewel niet volledig getest als van 11/08/07):

Functie Beschrijving (Als niet hetzelfde als.Netto functie)
Num-entries() Deze eigenschap retourneert het nummer "entries" in een string volgens een opgegeven scheidingsteken.

Bijvoorbeeld: Num-posten in een tekenreeks "een,b,c" met scheidingsteken"," = 3.

Post() Het nde token terugstuurt in een tekenreeks volgens een opgegeven scheidingsteken.
Lengte String.length
Vervangen() String.Replace()
Bevat() String.contains()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
Subtekenreeks(Start) String.substring(Start)
Subtekenreeks(Start,einde) String.substring(Start,einde)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".
EndsWith() String.EndsWith()
Deze eigenschap retourneert het woord "waar" of het woord "onwaar".

Snelle & eenvoudig url codering desktop utility

Ik heb gewenst naar url-coderen sommige tekenreeksen deze week en sloeg samen een een klein nut dat ik dacht ik zou opgemaakt dat op SkyDrive voor de Gemeenschap.

De binaire hier krijgen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

De visual studio-oplossing hier krijgen: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hier is een screenshot:

afbeelding

Snel en eenvoudig: Een hyperlink in een webonderdeel voor gegevensweergave XSLT-insluiten

UPDATE (01/17/08): Deze blog entry praat over meer hyperlink XSL-goedheid: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Overzicht en doelstelling: Ik had gemaakt een eenvoudig staafdiagram om te dienen als onderdeel op een dashboard. Ik zal de details opslaan op het opbouwen van grafieken voor een andere post, maar ik heb niet bedacht die techniek (noch het vraagteken, voor die kwestie). Het bleek er was een bug in de grafiek en terwijl ik dat vast, Ik nam de gelegenheid om te zetten sommige etiketten in hyperlinks die wees op de onderliggende lijst achter de grafiek. Bijvoorbeeld, Er is een label met de waarde "Hold". Ik wilde het label omzetten in een hyperlink zodat de gebruiker kan daarop tikken en boor neer aan de specifieke vermeldingen in de lijst waarvan de statuswaarde is "Hold".

Stappen:

  1. Gebruik visuele studio voor SharePoint-bewust intellisense.
  2. Kopieer de DVWP XSLT in visuele studio (Maak een leeg project, een XSL-bestand toevoegen aan het project).
  3. Kopieer de link die u wilt gebruiken naar het Klembord.
  4. Plak deze in de juiste locatie in de XSL.
  5. Convert URL argument scheidingstekens in de querytekenreeks van"&" tot"&"
  6. URL coderen afzonderlijke argumenten.
  7. Terugloop voorzien dat een <een href…> </een>

Voorbeeld:

Ik heb een URL:

http://[Server]/[site]/Lists/Open Positions/AllItems.aspx?Weergave ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Ik converteren naar:

     <een href="Lists/Open Positions/AllItems.aspx?Weergave = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = Recruiter&amp;FilterValue1 = Hold"> Houd: </een>

Ik heb het eerste argument van handmatig getransformeerd:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

Aan:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(In dit, de open brace transformaties naar % 7b en de afronding brace transformaties naar de %7 d)

De tweede en derde argumenten’ parameters ("FilterField1 =Recruiter" en "FilterValue1 =Houd" respectievelijk) hoeft niet te worden url-gecodeerde omdat ze niet alle onveilige tekens bevatten.

Notities:

Deze techniek moet over het algemeen werken overal die u wilt insluiten van een hyperlink in XSLT waar de hyperlink parameters op de URL zoals bevat:

http://[Server]/[site]/Lists/Open Positions/AllItems.aspx?Weergave ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Ik heb de URL zelf door toegang tot de aangepaste lijst en handmatig filteren op de statuskolom (met het label "Recruiter" boven).

Snelle en eenvoudige: SharePoint Designer workflow een InfoPath-formulier bijwerken inschakelen

Scenario: Ik heb een InfoPath-formulier dat front-ends een workflowproces geïmplementeerd met behulp van SharePoint Designer. Op een gegeven moment, een manager moet het formulier goedkeuren. Aangezien ik niet kan rekenen op de werkstroomgeschiedenis om te voldoen aan mijn controlevereisten, Ik besluit om op te slaan mijn eigen controle boodschap rechtstreeks op het formulier zelf.

Overzicht:

Het formulier ontwerpen en publiceren als een type inhoud en het formulier zelf voor een documentbibliotheek. Mark gewenst formuliervelden als die kan worden bijgewerkt van MOSS. Het formulier is gekoppeld aan het inhoudstype en het type inhoud is "aangesloten" in een formulierenbibliotheek (of een groot aantal, Als je wilt). Schrijven van een werkstroom die wordt het veld bijgewerkt.

Specifieke stappen:

  1. Een documentbibliotheek maken. Dit zal houden uw InfoPath-sjabloon.
  2. Een formulierenbibliotheek maken.
  3. Het InfoPath-formulier maken. Een tekstveld opnemen, "Controlebericht".
  4. Publiceer het formulier als een inhoudstype (NIET een document).
  5. Bij het invullen van de uitgeverij dialogen:
    een) Het XSN-bestand opslaan in de documentbibliotheek (stap #1).
    b) Het "Audit bericht publiceren" veld en mark ware: 'Sta toe gebruikers kunnen gegevens in dit veld te bewerken via een gegevensblad of eigenschappenvenster pagina'.
    c) Een nieuw inhoudstype maakt en geef het een passende naam.
  6. Toegang tot de formulierenbibliotheek.
    een) Ga naar de geavanceerde instellingen en de formulierenbibliotheek voor het beheer van inhoudstypen inschakelen.
    b) Selecteer het zojuist gemaakte inhoudstype (5c hierboven). Het zal worden gegroepeerd onder "Microsoft InfoPath" (of gelijkaardig).
    c) De standaard "formulier verwijderen" type van de inhoud van de bibliotheek.
    d) Mark de bibliotheek "weergeven als webpagina" zodat het formulier van SharePoint en niet de InfoPath workstation-client lanceren zal.
  7. Ga terug naar de juiste formulierenbibliotheek en klik "nieuw" gewoon controleren dat het formulier is geplaatst correct en waarnemend zoals u wilt.
  8. Fire up SharePoint Designer en ga naar de site die als host uw formulierbibliotheek fungeert (vanaf stap 2).
  9. Als u een nieuwe workflow gekoppeld aan de formulierenbibliotheek maken.
  10. Een interne actie "Veld instellen in de huidige Item" toevoegen. U moet SharePoint Designer verwachten aan lijst je uw vakgebied, "Controlebericht". Een waarde toewijst.
  11. Klik op Finish en ga terug naar de formulierbibliotheek.
  12. Maak een nieuw formulier en zet sommige testwaarde in het controlebericht"" veld.
  13. Sla het en ga terug naar de formulierbibliotheek.
  14. Klik met de rechtermuisknop, Selecteer "Workflow" en voorsprong opwaarts uw workflow.
  15. Het zou bijna onmiddellijk uitvoeren. Trek opwaarts naar de vorm (vanaf stap 12) en als alles is gegaan om te plannen, "Controlebericht" welke waarde u hebt opgegeven in stap is toegewezen 10.

Notities:

Niet alle besturingselementen kunnen geconfigureerd voor deze bidirectionele communicatie. Bijvoorbeeld, het lijkt niet om een EPD workflow die tekstvelden verpakt wijzigt in een herhalende secties.

Een van de belangrijkste nemen-weg van hier is dat we echt een inhoudstype hebt gemaakt met een bijbehorende sjabloon. Dit stelt ons voor het opslaan van meerdere InfoPath-formuliersjablonen in dezelfde vorm bibliotheek ook in staat.

Hiervoor vormen server. Het gaat zeker niet om te werken in een WSS 3.0 milieu en waarschijnlijk zelfs vereist een onderneming SharePoint-omgeving.

De Beagle is geland (Oktober 2007 probleem)

(Dit is eigenlijk een beetje oud nieuws, maar zoals mijn favoriete brandweerkazerne motto verkondigt, "Beter laat dan nooit").

Check it out here: http://www.sharepointbeagle.com/

Als u niet reeds hebt, Zorg ervoor dat u Aanmelden.

Natuurlijk, Zorg ervoor dat u lezen mijn artikel over een levensechte SharePoint project (met inbegrip van eisen definitie, KPI's, inhoudstypen, dashboards en meer) evenals mijn collega 's artikel over het webonderdeel Inhoudsquery.

Er is ook veel andere goede dingen.

Hoe te verwijderen “Alle site-inhoud weergeven” koppeling

Ik ben gevraagd deze vraag bijna elke week, normaal gesproken in het kader van een beveiliging-discussie. De maker van een beheerder/site heeft een site ingericht, geconfigureerde veiligheid, ingerichte web delen en aanpassen van de werkbalk Snel starten zodat deze oh-zo-perfect reeks van opties aan de eindgebruiker. Maar, out of the box, u kunt de "Bekijk alle site-inhoud niet verwijderen" koppeling.

Mark Wagner biedt het antwoord Hier (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Zijn verslag is geweldig op twee niveaus. Het geeft een antwoord op de vraag, "Hoe verwijder ik de alle Site-inhoud weergeven" koppeling? Vervolgens, het antwoord op de onmiddellijke opvolgzuigelingenvoeding vraag: Hoe kan ik de weergave Alle site-inhoud koppelen op basis van de door de site gemakkelijk inschakelen?

Als een bonus: Zijn aanpak werkt voor WSS, niet alleen MOSS.

</einde>

Abonneren op mijn blog!

Mijn zeer eigen CodePlex project: Werkstroom extensies voor SharePoint Designer

UPDATE: Zie hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) voor het laatste nieuws over dit project.

Ik heb gemaakt een CodePlex project vandaag naar huis de generieke EPD interface code dat ik geblogd over Hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Neem een kijkje op Hier (http://www.codeplex.com/spdwfextensions) om te zien de CodePlex project en kick van de banden.

Als u geïnteresseerd bent in het werken aan dit met mij, vuur af een e-mail op mailto:galvin.paul@gmail.com

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