SPD workflow veprime doganore — enhancements manipulimi string

Rreth një javë më parë, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

Here are the current planned features for version 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

If anyone has any interest in this project, please leave a comment or start/add to a discussion here: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Here are the current set of functions that have been coded (though not fully tested as of 11/08/07):

Funksion Përshkrim (në qoftë se nuk e njëjtë si. funksion Net)
Num-entries() Kthehet "numri hyra" in a string as per a specified delimiter.

Për shembull: Num-entries in a string "a,b,c" with delimiter "," = 3.

Entry() Returns the nth token in a string as per a specified delimiter.
Length String.Length
Replace() String.Replace()
Përmban() String.Contains()
Returns the word "true" or the word "false".
Substring(start) String.Substring(start)
Substring(start,fund) String.Substring(start,fund)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

I shpejtë & lehtë Encoding url desktop utility

I’ve been needing to url-encode some strings this week and slapped together a a little utility that I thought I’d put up on SkyDrive for the community.

Get binar këtu: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Merr zgjidhje Visual Studio këtu: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Ja një e shtënë ekran:

imazh

Shpejtë dhe të lehtë: Embed një hyperlink në të dhëna të pjesshme XSLT Shiko Web-faqen

UPDATE (01/17/08): Kjo flet blog entry rreth hyperlink më shumë mirësi XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Përmbledhje dhe Objektiva: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, por unë nuk e shpiku atë teknikë (as pikëpyetje, për këtë çështje). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Për shembull, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".

Hapat:

  1. Përdorimi Visual Studio për SharePoint-i vetëdijshëm IntelliSense.
  2. Kopjoni XSLT e DVWP së në vizual studio (krijoni një projekt bosh, shtoni një skedar XSL për projektin).
  3. Kopjo linkun që dëshironi të përdorni në clipboard.
  4. Paste atë në vendin e duhur në XSL.
  5. Convert URL argument separators on the query string from "&" to "&"
  6. Url-shifroj argumente individuale.
  7. Përfundojë që brenda një <a href…> </një>

Shembull:

Unë kam një URL:

http://[server]/[faqe]/Listat / 20Positions/AllItems.aspx Open%?Shiko ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutuesi&= FilterValue1 Hold

I kthyer atë në:

     <një href="Listat / 20Positions/AllItems.aspx Open%?Shiko =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&AMP;FilterField1 = rekrutuesi&AMP;= FilterValue1 Hold"> Mbaj: </një>

Unë kam transformuar dorë nga argumenti i parë:

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

në:

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

(Në këtë, Braçe hapur transformon% deri në 7b dhe tiranta mbylljes transformon 7D%)

Argumentet e dytë dhe të tretë’ Parametrat ("FilterField1=Rekrutuesi" and "FilterValue1=Mbaj" përkatësisht) nuk duhet të jenë të url-koduar, sepse ata nuk përmbajnë asnjë karakteret pasigurta.

Shënimet:

Kjo teknikë në përgjithësi duhet të punojnë kudo që ju dëshironi për të mbjell një hyperlink në XSLT ku hyperlink përfshin parametrat në URL të tillë si:

http://[server]/[faqe]/Listat / 20Positions/AllItems.aspx Open%?Shiko ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutuesi&= FilterValue1 Hold

I kam URL vetë duke hyrë në listë me porosi dhe me dorë filtrim në kolonën e statusit (labeled "Recruiter" sipër).

Shpejtë dhe i thjeshtë: Aktivizo punës SharePoint Designer për të rinovuar një formë InfoPath

Skenar: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Që unë nuk mund të llogarisin në historinë workflow për të përmbushur kërkesat e mia auditimit, Unë të vendosë për të ruajtur vetë mesazhin tim auditimit direkt në formën e vetë.

Përmbledhje:

Përcakton formën dhe publikojë atë si një tipi i përmbajtjes and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" në një bibliotekë format (ose shumë, në qoftë se ju doni). Write a workflow that updates the field.

Hapat specifike:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. Publikimi formën si një lloj përmbajtje (NUK një dokument).
  5. Ndërsa plotësuar dialogun botuese:
    një) Save the file. Xsn në bibliotekë dokument (hap #1).
    b) Publish the "Audit Message" fushë dhe shenjë e vërtetë: "Allow users to edit data in this field by using a datasheet or properties page".
    c) Krijo një tip të ri përmbajtje dhe t'i jepte një emër të përshtatshëm.
  6. Qasja në bibliotekë format.
    një) Shko tek parametrat e saj të avancuara dhe të mundësojë për të menaxhuar bibliotekën format llojet e përmbajtjes.
    b) Zgjidhni llojin e sapo krijuar përmbajtje (5c më lartë). It will be grouped under "Microsoft InfoPath" (ose të ngjashme).
    c) Remove the default "Form" tipi i përmbajtjes nga biblioteka.
    d) Mark the library to "show as web page" kështu që forma do të nisë nga SharePoint dhe jo workstation InfoPath klienti.
  7. Go back to the forms library proper and click "New" thjesht për të verifikuar se forma është postuar korrekte dhe duke vepruar si ju dëshironi.
  8. Zjarr deri SharePoint Designer dhe lundruar në vend që pret bibliotekën tuaj formë (nga hapi 2).
  9. Krijo një rrjedhë të re bashkangjitur në bibliotekë format.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. Kliko Finish dhe shkoni përsëri në bibliotekë formë.
  12. Create a new form and put some test value into the "Audit Message" fushë.
  13. Ruaje atë dhe të kthehemi në bibliotekë formë.
  14. Djathtas-klikoni, select "Workflow" dhe të fillojnë deri rrjedhën tuaj të punës.
  15. It should run almost immediately. Pull up the form (nga hapi 12) dhe nëse gjithçka ka shkuar për të planifikuar, "Audit Message" çdo gjë që ka qenë e caktuar vlera që ju ofrohet në hap 10.

Shënimet:

Not all controls may configured for this bi-directional communication. Për shembull, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 Mjedisi dhe ndoshta madje edhe kërkon një mjedis ndërmarrje SharePoint.

Beagle ka ul (Tetor 2007 çështje)

(Kjo është në fakt një lajm i vjetër pak, por si my favorite stacion zjarri motoja shpall, "Better late than never").

Check it out këtu: http://www.sharepointbeagle.com/

Nëse ju nuk e keni tashmë, be sure to sign up.

Sigurisht, be sure to read Artikulli im about a real-world SharePoint project (përfshirë kërkesat përkufizimi, KPI, Llojet e përmbajtjes, dashboards and more) as well as my colleague’s article about the content query web part.

There’s lot of other good stuff too.

Si për të hequr “Shiko të gjithë përmbajtjen e faqes” lidhje

Unë jam pyetur këtë pyetje gati çdo javë, normalisht në kontekstin e një diskutimi të sigurisë. An administrator/site creator has provisioned a site, Siguria konfiguruar, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Por, nga kutia, you can’t remove the "view all site content" lidhje.

Mark Wagner jep përgjigje këtu (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Tij shkruaj-up është i frikshëm në dy nivele. Ajo ofron një përgjigje për pyetjen, "How do I remove the View All Site Content" lidhje? Pastaj, ajo përgjigjet menjëhershme follow-on pyetjen: Si mundem të lehtë të mundësuar lidhjen Shiko të gjithë përmbajtjen e site mbi një bazë Site-nga-faqes?

Si një bonus: Qasja e tij punon për WSS, jo vetëm MOSS.

</fund>

Abonohen në blogun tim!

Shumë vetë im CodePlex projekt: Extensions workflow për SharePoint Designer

UPDATE: Shiko këtu (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) për të fundit në këtë projekt.

Unë të krijova një projekt CodePlex sot për të strehuar kodin Generic SPD ndërfaqe që unë blogged rreth këtu (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Kanë një vështrim në këtu (http://www.codeplex.com/spdwfextensions) për të parë projektin CodePlex dhe goditje e gomave.

Nëse jeni të interesuar të punonte në këtë me mua, zjarr jashtë një email në mailto:galvin.paul@gmail.com

SharePoint Designer — Aktiviteti Custom për të ekzekutuar user-defined funksione C #

UPDATE: Kjo ka qenë të lëshuara në CodePlex këtu: http://www.codeplex.com/spdwfextensions

UPDATE: Shih këtu për shënimet e lëshimit të fundit: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Shiko këtu për mendimet e mia në komercializimin e këtij projekti: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (dërgim) any C# function that you incorporated into the linked assembly.

Që nga fundi i tetorit, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, përfshirë substring, indeks, zëvendësoj, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

Nëse keni ndonjë koment, pyetje apo sugjerime, ju lutem të lënë ato në komentet ose email mua.

Mohim:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Hapat e instalimit (për të ndjekur per secilin WFE ne fermë):

1. Shkarko dhe ekstrakt zip..

2. Install the .dll into the GAC. I usually open c:\windows kuvendi duke përdorur Windows Explorer dhe kopjoni atë atje.

3. Ndrysho web.config për të shtuar asamblenë për kontrolle të sigurta:

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

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

4. Copy "SpdGenericInterface.actions" për C:\Program Files Common Files Microsoft Shared extensions web server 12 MOSTRA 1033 Workflow

Vini re se lokacioni më sipër është specifik për instalimet e gjuhës angleze.

5. Mbylle SharePoint Designer (në qoftë se ajo është tashmë e hapur).

6. iisreset

7. Hapni SPD dhe të krijojë një workflow të re.

Nëse gjithçka shkon mirë, ju duhet të shpërblehet me një kategori të re të veprimit:

imazh

Shënimet:

Shoh këtu (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) për një vështrim të frikshëm të procesit për krijimin e, instalimi dhe konfigurimi i një zgjidhje si kjo.

. Zip është projektuar për nxjerrjen direkt për ju c:\ drive. If you do this, ju mund të hapur projektin dhe të gjitha rrugët do të jenë në përputhje.

Për të përdorur këtë në vizual studio, you probably need to install "Extensions for Windows WF".

The initial upload contains just one "dispatcher function", "ToLower()". To add more functionality, shtoni atë në Execute metodë siç tregohet:

 mbrojtur shkel ActivityExecutionStatus
          Kryej(ActivityExecutionContext executionContext)
        {

            varg functionToDispatch;
            functionToDispatch = kjo.DispatchFunction.ToLower();

            kaloni (functionToDispatch)
            {
                rast "tolower()":
                    {
                        kjo.OutResult1 = kjo.InParam1.ToLower();
                        pushim;
                    }

                parazgjedhur:
                    {
                        kjo.OutResult1 = "Unknown function: [" + kjo.DispatchFunction + "].";
                        pushim;
                    }
            }

            kthehem ActivityExecutionStatus.Mbyllur;
        } // ActivityExecutionStatus

    }

Pastaj, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD Workflow porosi veprim – merrni <WorkflowInfo> tag drejtën për të shmangur zhgënjimin

Part of the process for creating a custom action for SharePoint Designer involves create a ".actions" skedar.

Unë e kam gjetur dhe u përpoqën për të përdorur një template mostër e cila fillon si:

<?xml version="1.0" encoding="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Veprimet Vazhdues="pastaj" Paralele="dhe">

Megjithatë, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Zgjidhja është që të zhvesh nga The xmlns atribut, do an iisreset and close/re-open SPD.

Shpejtë dhe i thjeshtë: Konfiguro Moss për të kërkuar një bibliotekë dokument të veçantë

See UPDATE (Unë) below (11/24/07) në Si të Konfiguro Microsoft Office SharePoint Server 2007 të indeksit dhe Crawl dosje të rrjetit për kërkim

Objektiv: I want to execute a search restricted to a specific document library. Në këtë rast, Biblioteka dokument përmban dokumentet e trajnimit.

Hapat:

1. Regjistro URL e bibliotekës dokumentit.

2. Krijo një hapësirë:

Shko tek administrata qendrore.

Qasja SSP.

Go to "Search Settings".

Scroll down to the scope section and select "View Scopes".

Create a new scope. Give it a name and useful description.

3. Përcaktojnë rregulla servilosem fushëveprimi:

Shto një rregull që përcakton bibliotekë dokument për këtë qëllim.

Select "web address" for "Scope Rule Type".

Shkruani emrin e dosjes tuaj (shoh #1 sipër).

Accept the default value of "Include".

Prisni për qëllimin për të rinovuar (apo të fillojë atë me dorë).

4. Aktivizo objektin në një site collection.

Shkoni te koleksioni site ku ju doni të përdorni këtë fushë.

Shto qëllimin tuaj të re për grupin e duhur e ekranit ose të grupeve.

5. Kërko!

Në këtë pikë, you’re done. Assuming the scope is properly defined, ajo do të jetë në dispozicion në ngritje rënie SCOPE për kërkime të thjeshta dhe të avancuara dhe kur ju kërkoni duke përdorur se Fusha, ju vetëm do të merrni rezultatet që ju presin.

Shënimet:

I shkroi këtë blog entry, sepse kërkimet e mia për setup fushëveprimit të thjeshtë u kthye deri frazat thatë duke përdorur si:

  • konfiguroni qëllimeve në MOSS
  • konfiguroni fushëveprimi myshk kërkimit
  • Fushat në të SharePoint 2007
  • Fushat në të SharePoint
  • kërko një bibliotekë dokument myshk
  • Fushat abetare myshk

Ju mund të krijoni një fushë të kërkimit në një dosje, not just the entire document library.

Një Shtrirja mund të ndahet nëpër koleksione të shumta në terren (prandaj, a "shared service").

You can create the scope at the site collection level itself. Megjithatë, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

UPDATE (Unë) si i 11/24/07:

Kai Shang put together a great post entitled Si të Konfiguro Microsoft Office SharePoint Server 2007 të indeksit dhe Crawl dosje të rrjetit për kërkim @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry